news 2026/4/15 13:09:04

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/11 3:59:03

ComfyUI Manager终极配置指南:从零开始的完整安装与使用教程

ComfyUI Manager作为ComfyUI生态系统的核心管理工具&#xff0c;为用户提供了强大的插件管理、模型安装和环境配置功能。无论您是AI绘画新手还是资深用户&#xff0c;本指南都将帮助您快速掌握这一高效工具的使用方法。&#x1f680; 【免费下载链接】ComfyUI-Manager 项目地…

作者头像 李华
网站建设 2026/4/15 4:31:58

5分钟终极指南:ComfyUI依赖批量处理全攻略

5分钟终极指南&#xff1a;ComfyUI依赖批量处理全攻略 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 还在为ComfyUI插件安装时的依赖冲突而烦恼吗&#xff1f;手动一个个安装requirements.txt中的包不仅效率低下&…

作者头像 李华
网站建设 2026/4/4 16:34:58

OpenAMP远程处理器间通信机制设计与实现

OpenAMP&#xff1a;让异构多核“对话”更简单你有没有遇到过这样的场景&#xff1f;系统里明明有两个处理器&#xff0c;一个跑Linux做复杂计算&#xff0c;另一个是Cortex-M4实时处理传感器数据——但它们就像住在同一栋楼却从不串门的邻居&#xff0c;通信全靠“吼”&#x…

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

Git Commit规范建议:为你的PyTorch项目建立良好版本控制

Git Commit规范建议&#xff1a;为你的PyTorch项目建立良好版本控制 在现代深度学习开发中&#xff0c;一个常见的尴尬场景是&#xff1a;团队成员拉取最新代码后&#xff0c;在自己的机器上训练突然失败。排查数小时后发现&#xff0c;问题并非出在模型结构或数据本身&#xf…

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

XNB文件终极处理指南:xnbcli免费工具完整教程

XNB文件终极处理指南&#xff1a;xnbcli免费工具完整教程 【免费下载链接】xnbcli A CLI tool for XNB packing/unpacking purpose built for Stardew Valley. 项目地址: https://gitcode.com/gh_mirrors/xn/xnbcli 想要自定义《星露谷物语》的游戏体验&#xff1f;掌握…

作者头像 李华
网站建设 2026/4/14 5:08:43

5分钟快速掌握百度网盘提取码查询工具:新手高效使用指南

5分钟快速掌握百度网盘提取码查询工具&#xff1a;新手高效使用指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘分享链接缺少提取码而烦恼吗&#xff1f;每次遇到需要提取码的资源都要在各大平台反复搜索&a…

作者头像 李华