news 2026/4/23 14:21:16

Linux USB HOST 外接USB转串口模块

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux USB HOST 外接USB转串口模块

目录

目录

前言

DTS配置的参考

内核配置的参考

USB Subsystem内核配置

USB Phy内核配置

USB Host Core驱动内核配置

USB EHCI驱动内核配置

芯片平台USB Host Controller驱动内核配置

USB转串口设备驱动内核配置

验证测试的参考

总结


前言

USB转串口模块的核心功能是作为硬件桥梁,将通用串行总线(USB)接口转换为通用异步收发传输器(UART)或RS-232/RS-485等串行接口,实现现代设备与传统串行设备之间的数据通信。‌12

‌协议转换与数据传输:‌ 该模块内部集成专用芯片(如CP2102N、FT232RL或CH340),负责处理USB与串行协议之间的转换,包括数据包的拆分、重组、波特率同步及错误检测,确保数据在高速USB与低速串行总线间稳定传输;例如,上位机通过USB发送数据包时,模块会将其解析并串行化输出至TXD引脚,接收方向则相反。‌

USB转TTL串口转换模块常用于USB接口转换为TTL(逻辑电平)串口,以便与其它串口设备进行通信。这里主要是指主控外接USB转TTL串口模块后再与UART接口的BLE、Wi-Fi、GSM/GPRS、315MHz/433MHz、GPS等模块通信。


DTS配置的参考

/* usb20 host controller */ usb_1: usb1@YYYYYYYY { compatible = "xxx,xxx-usb"; reg = <0xYYYYYYYY 0xYYY>; interrupts = <GIC_SPI INT_USB20_HOST IRQ_TYPE_LEVEL_HIGH>; clocks = <&ahbX_gate 9>, <&ahbX_reset 9>; clock-names = "usb_gate", "usb_reset"; xxx,usbphy = <&usbphy_1>; dr_mode = "host"; /* 配置成了USB host模式 */ ...

内核配置的参考

USB Subsystem内核配置

CONFIG_USB_SUPPORT=y CONFIG_USB_ARCH_HAS_HCD=y

USB Phy内核配置

CONFIG_USB_PHY=y CONFIG_USB_NX_PHY=y

USB Host Core驱动内核配置

CONFIG_USB_COMMON=y CONFIG_USB=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_DEFAULT_PERSIST=y

USB EHCI驱动内核配置

CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_ROOT_HUB_TT=y CONFIG_USB_EHCI_TT_NEWSCHED=y CONFIG_USB_EHCI_HCD_PLATFORM=y

芯片平台USB Host Controller驱动内核配置

CONFIG_USB_XXX=y CONFIG_USB_XXX_HOST=y CONFIG_USB_XXX_DEBUG=y

USB转串口设备驱动内核配置

CONFIG_USB_SERIAL=y CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_SERIAL_CH341=y (用于CH34X芯片的USB转TTL串口模块) CONFIG_USB_SERIAL_PL2303=y(用于PL2303X芯片USB转TTL串口模块)

验证测试的参考

1. 烧录固件后,接入USB转TTL串口模块,正常开机,命令行终端可以输入:dmesg | grep "usb",探测到该USB转TTL串口模块的打印如下:

# dmesg | grep "usb" ... [ 0.071219] nx_usb xxxxxxxx.usb0: xxx_hdc_nx_probe done. [ 0.443378] usb 1-1: new full-speed USB device number 2 using xxx_hdc [ 0.649005] usb 1-1: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.63 [ 0.649014] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0 [ 0.649019] usb 1-1: Product: USB2.0-Serial [ 0.670264] usbcore: registered new interface driver usbserial_generic [ 0.670331] usbserial: USB Serial support registered for generic [ 0.670410] usbcore: registered new interface driver ch341 [ 0.670477] usbserial: USB Serial support registered for ch341-uart [ 0.675144] usb 1-1: ch341-uart converter now attached to ttyUSB0 (从这里可以知道USB转TTL串口模块的设备节点是/dev/ttyUSB0) [ 0.846868] usbcore: registered new interface driver usbhid [ 0.846872] usbhid: USB HID core driver ...

2. 列出USB设备列表,查看USB转TTL串口模块的USB设备信息是否存在。例如:

# lsusb Bus 001 Device 001: ID 1d6b:0002 Bus 001 Device 002: ID 1a86:7523(这里USB转TTL串口模块的VID是1a86,PID是7523。)

3. 查看USB设备信息存在后,进行收发数据测试。例如,主控<--->USB转TTL串口模块<--->SIM900A GSM/GPRS模块:

# microcom -s 9600 /dev/ttyUSB0 ATI SIM900A R11.0 OK AT OK AT+CSQ +CSQ: 10,0 OK

总结

USB转串口模块的核心功能是‌将主控的USB接口转换为串行通信接口‌,实现不同设备间的数据交互。它通过协议转换和电平兼容,支持多种串口标准(如TLL、RS232和RS485等)和高速数据传输,广泛应用于嵌入式开发、工业控制、物联网设备调试等领域。而Linux内核原生支持多种USB转串口芯片(如CH340、CP2102、FT232等),能够自动识别并加载驱动,生成如/dev/ttyUSBx的设备文件,实现即插即用,简化了连接过程。‌


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 13:01:27

vivado安装包防火墙设置:安全策略操作指南

Vivado安装包部署避坑指南&#xff1a;防火墙策略配置实战全解析在FPGA开发的世界里&#xff0c;环境搭建往往是第一步&#xff0c;却也可能是最让人“卡壳”的一步。你辛辛苦苦从Xilinx官网下载完vivado安装包&#xff0c;解压、安装、启动——一切看似顺利&#xff0c;结果一…

作者头像 李华
网站建设 2026/4/17 20:37:27

使用Git管理PyTorch代码变更:diff、branch与merge应用

使用Git管理PyTorch代码变更&#xff1a;diff、branch与merge应用 在深度学习项目中&#xff0c;一个常见的场景是&#xff1a;你昨天训练的模型准确率达到了83%&#xff0c;但今天用“相同的代码”跑出来的结果却只有76%。排查数小时后才发现&#xff0c;某次不经意的修改悄悄…

作者头像 李华
网站建设 2026/4/19 7:14:32

PyTorch模型评估指标实现(精确率、召回率GPU加速)

PyTorch模型评估指标实现&#xff08;精确率、召回率GPU加速&#xff09; 在深度学习项目中&#xff0c;模型训练完成之后的评估环节常常成为瓶颈——尤其是当测试集达到十万甚至百万级别时&#xff0c;原本几秒内能跑完的小数据集评估&#xff0c;突然变成了动辄数分钟的漫长等…

作者头像 李华
网站建设 2026/4/23 13:02:58

Keil编辑器字体设置不当导致中文乱码的修复实践

一次彻底解决 Keil 中文注释乱码的实战经验 你有没有遇到过这样的场景&#xff1a;在 .c 文件里写了一行清晰的中文注释&#xff0c;比如 // 初始化串口引脚 &#xff0c;结果打开 Keil 后变成一堆方块、问号&#xff0c;甚至像“锘挎敞”这种莫名其妙的字符&#xff1f; …

作者头像 李华
网站建设 2026/4/20 4:57:30

使用VS Code远程连接PyTorch SSH开发环境

使用VS Code远程连接PyTorch SSH开发环境 在深度学习项目中&#xff0c;一个常见的场景是&#xff1a;你手头有一台轻薄笔记本&#xff0c;却需要训练一个动辄几十GB显存占用的大模型。本地跑不动&#xff0c;远程服务器又像“黑盒子”一样难以调试——改代码靠 scp 传文件&…

作者头像 李华
网站建设 2026/4/23 13:04:37

热点资讯:国内标准化落地 国际技术布局提速

国内资讯 1&#xff1a;工信部成立具身智能标准化技术委员会12 月 27 日&#xff0c;工业和信息化部人形机器人与具身智能标准化技术委员会正式成立。标委会由谢少锋担任主任委员&#xff0c;涵盖政府、高校、企业等多方代表&#xff0c;将聚焦基础共性、关键技术、安全等领域的…

作者头像 李华