Dual USB to Serial UART(USB转双串口)

常用的USB转串口, 国产的CH340(CH341)就能满足大部分需求, 但工作中需要一个USB拖2个串口, 找了半天, 找到了2种参考方案: CP2105和FT2232D. 两种都可以满足需求, CP2105不需要外部晶振, 似乎对成本和体积来说, 更有优势. 下面是一些参考:

芯片手册均给出了各种情境下的原理图参考, 截取如下:

  • FT2232块图:
    FT2232_REF2

  • FT2232参考:
    FT2232_REF

  • CP2105块图:
    CP2105_REF2

  • CP2105参考:
    CP2105 REF

可以看出, CP2105需要更少的外部元件(外部晶振没了). 那个USB TVS官方建议SP0503BAHT, 但使用更便宜的SRV05-4.TCT(丝印V05)或许可以. 刚看到还有USB转4串口的CP2108. 在某宝上也发现了CP2105成型的模块, 确实元器件较少:
CP2105模块1

CP2105模块2

03-13
### USB-TTL 换模块概述 USB-TTL 换模块是一种用于将计算机的 USB 信号换为 TTL 电平串口信号的设备,广泛应用于嵌入式开发和调试场景。常见的芯片方案包括 CH340、CP2102、PL2303 和 FT232 等[^2]。 --- ### 使用方法 #### 1. **硬件连接** USB-TTL 换模块通常具有以下几个主要引脚: - VCC:电源正极(通常是 5V 或 3.3V) - GND:电源负极 - TXD:传输数据(Transmit Data),从模块发送到目标设备 - RXD:接收数据(Receive Data),从目标设备发送到模块 对于大多数应用,接线方式如下: - 将模块的 `TXD` 连接到目标设备的 `RXD` - 将模块的 `RXD` 连接到目标设备的 `TXD` - 将模块的 `GND` 连接到目标设备的地线 - 如果目标设备需要供电,则可将模块的 `VCC` 连接到目标设备的电源输入端[^3] #### 2. **驱动安装** 不同的 USB-TTL 芯片可能需要特定的驱动程序才能正常工作。以下是常见芯片及其对应的驱动: - **CH340**:适用于基于 CH340 的模块,驱动可以从官方网站或其他可信资源下载并安装。 - **CP2102**:Silicon Labs 提供官方驱动程序,兼容 Windows、MacOS 和 Linux 平台。 - **PL2303**:Prolific 提供官方驱动程序,部分操作系统已内置支持。 - **FT232**:FTDI 官方提供驱动程序,同样兼容多平台。 完成驱动安装后,在操作系统的设备管理器中应能识别新的 COM 口。 #### 3. **软件配置** 使用串口助手类软件(如 SecureCRT、Putty、XCOM 等)可以通过设置波特率、校验位、停止位等参数来与目标设备通信。常用的默认波特率为 9600bps,但在实际项目中可能会有所不同,需根据具体需求调整。 --- ### 接线图示例 假设我们正在使用一个基于 CH340 的 USB-TTL 模块连接至 Arduino Uno 板子,其接线方式如下所示: | USB-TTL Module | Arduino Uno | |------------------|-------------| | VCC | 5V | | GND | GND | | TXD | RX (Pin 0) | | RXD | TX (Pin 1) | 如果目标设备的工作电压低于 USB-TTL 模块的标准输出电压(例如 ESP8266 工作于 3.3V),则建议加入逻辑电平换器以保护设备免受过高电压损害[^4]。 ```plaintext +---------------+ +--------------+ | | | | | USB-TTL |------>| Target | | Module | | Device | | | | | +-------+------+ +-----+--------+ | | | | +--- Logic Level ---->+ Converter ``` --- ### 驱动下载链接说明 针对不同品牌型号的具体驱动文件获取途径,请访问以下网站查询最新版本: - CH340: [WCH Official Website](http://www.wch.cn/) - CP2102: [Silicon Labs Drivers](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers) - PL2303: [Prolific Driver Page](https://prolificusa.com/pl-2303hx-dual-port-usb-to-serial-converter-interface-card/) - FT232: [FTDI Chip Drivers](https://ftdichip.com/drivers/vcp-drivers/) 注意确认所使用的操作系统类型以便选择合适的驱动包。 --- ### 示例代码片段 下面展示一段 Python 中利用 pySerial 库读取来自 USB-TTL 设备数据的例子: ```python import serial ser = serial.Serial('COM3', 9600, timeout=1) # 替换 'COM3' 为您自己的端口号 if ser.is_open: while True: data = ser.readline().decode('utf-8').strip() if data: print(f"Received from device: {data}") else: print("Failed to open the port.") ``` 此段代码会持续监听指定串口是否有新消息传回,并将其打印出来。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值