news 2026/5/1 3:49:58

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/5/1 3:44:41

Markdown TOC目录组织大型PyTorch项目文档

Markdown TOC 目录组织大型 PyTorch 项目文档 在现代深度学习工程实践中&#xff0c;一个训练脚本能跑通只是起点。真正决定项目能否长期演进、团队能否高效协作的&#xff0c;往往是那些“看不见”的基础设施——比如环境的一致性与文档的清晰度。 想象这样一个场景&#xf…

作者头像 李华
网站建设 2026/4/28 19:28:52

QQ音乐格式转换终极指南:qmcdump免费解密工具使用教程

QQ音乐格式转换终极指南&#xff1a;qmcdump免费解密工具使用教程 【免费下载链接】qmcdump 一个简单的QQ音乐解码&#xff08;qmcflac/qmc0/qmc3 转 flac/mp3&#xff09;&#xff0c;仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 你是否…

作者头像 李华
网站建设 2026/4/27 13:44:06

Markdown引用学术论文解释PyTorch算法设计依据

PyTorch-CUDA 镜像深度解析&#xff1a;构建现代 AI 开发的基石 在人工智能研发节奏日益加快的今天&#xff0c;一个常见的场景是&#xff1a;研究人员刚复现完一篇顶会论文的模型&#xff0c;却因环境配置问题无法在同事机器上运行&#xff1b;又或者工程师准备将训练好的模型…

作者头像 李华
网站建设 2026/4/28 20:48:55

Git Rebase整理PyTorch开发历史提交记录

Git Rebase 整理 PyTorch 开发历史提交记录 在深度学习项目的日常开发中&#xff0c;你是否曾面对过这样的场景&#xff1a;经过几天的模型调优&#xff0c;终于跑出一个理想的训练结果&#xff0c;回头一看 Git 提交历史却满是 fix bug, try again, debug print 这类琐碎记录&…

作者头像 李华
网站建设 2026/4/25 1:23:55

IwaraDownloadTool完全使用指南:从安装到高级配置

IwaraDownloadTool完全使用指南&#xff1a;从安装到高级配置 【免费下载链接】IwaraDownloadTool Iwara 下载工具 | Iwara Downloader 项目地址: https://gitcode.com/gh_mirrors/iw/IwaraDownloadTool IwaraDownloadTool是一款专为Iwara视频平台设计的浏览器扩展工具&…

作者头像 李华
网站建设 2026/4/27 11:44:40

PyTorch 2.9 + CUDA 12.x 完美兼容性配置指南

PyTorch 2.9 CUDA 12.x 完美兼容性配置指南 在深度学习项目中&#xff0c;最让人头疼的往往不是模型设计或训练调优&#xff0c;而是环境搭建——尤其是当你要在新显卡上跑最新的 PyTorch 版本时。你是否曾遇到过这样的场景&#xff1a;代码写好了&#xff0c;数据准备齐了&am…

作者头像 李华