CH34系列与CH91系列等USB转串口方案选型对比
作者:互联网
提供USB高速/全速转串口系列芯片,可实现USB转1/2/4/8路串口,支持串口I/O独立供电,支持VCP/HID/CDC/AOA转串口,VCP串口支持硬件流控和高波特率大数据连续传输,部分型号支持VID/PID/String等内容配置,支持Windows/Linux/Android/macOS等操作系统。
最新第3代USB转串口产品拥有如下优势:
- 内部采用DMA收发,可实现6Mbps波特率连续稳定通讯;
- 内部高度集成,晶振/USB终端电阻/EEPROM全内置;
- 双电源设计,支持串口IO独立供电,可支持5V/3.3V/2.5V/1.8V等串口通讯;
- 提供多种封装,小至3*3mm;
- 支持VID/PID/String等内容配置;
- 内置Unique ID,可实现系统串口号固定及产品加密等;
具体选型时建议根据串口数量、芯片驱动类型、串口波特率支持、封装类型、串口IO电压工作范围、MODEM信号支持、RS485控制信号支持、GPIO信号支持等条件灵活选用。
芯片提供的串口默认为TTL电平,通过电平转换芯片可以灵活转换为RS-232、RS-422、RS-485串口等。应用框图:
方案选型
本方案所描述内容均为单芯片方案,各型号及主要区别如下:
驱动类型:CDC/HID为系统类驱动;VCP为厂商提供串口驱动,功能多,效率高,建议优先选用。
USB配置:通过专用配置工具可以设置芯片的VID,PID,产品描述字符串等。
外置:通过外接串行EEPROM配置
内置:内置EEPROM
批量定制:支持批量化芯片与串口驱动定制
峰值最大波特率:芯片支持的最高波特率。
流控连续波特率:大数据量连续通讯支持的最高波特率。
MODEM信号:可兼做普通GPIO口使用,其中RTS/DTR用作普通输出,CTS/DSR/DCD/RI用作普通输入。如:MCU程序下载场景,可使用RTS/DTR其中一路信号控制复位,另一路信号用于控制MCU进入BOOT下载模式。
除MODEM信号,部分型号提供GPIO、I2C、BLE蓝牙等其他通讯接口。
CH9143实现USB转串口功能的同时增加了BLE无线传输通道,实现BLE/串口/USB三向透传。
全方位提供多种USB串口驱动程序供选择,支持Windows/Linux/Android/macOS等操作系统。各类型详细特点如下:
1、 VCP:使用厂商提供的USB虚拟串口驱动程序,工作时在Windows系统的“端口(COM和LPT)”一栏下会生成COM口,Linux/Android/macOS系统在/dev目录下会生成TTY设备节点。
方案应用特点:
- 支持高速率通讯及硬件流控。
- 功能齐全,支持GPIO等扩展功能。
- 仿真标准串口,用于升级原串口外围设备,或者通过USB增加额外串口。
- 计算机端串口应用程序完全兼容,无需修改。
- 驱动只需安装一次也可以联网自动安装。
2、CDC:Windows 10及以上的操作系统版本内置CDC串口驱动,以下的系统版本则需要安装驱动。因CDC类协议和类驱动的原因,CDC串口功能没有VCP完整,使用上也存在一些差异,具体见如下使用注意事项:
Windows系统CDC串口使用注意点
-> 在串口打开的情况下,不要插拔串口
在串口应用软件已打开串口状态下,拔插一次CDC串口设备的USB端,后续应用软件将无法再打开串口,此时必须重新插拔USB。(与系统自带CDC串口驱动PnP处理有关)
(注:在WIN 10之前系统版本中有此情况)
-> 串口RTS(Request To Send)信号不支持单独控制
因CDC-ACM协议的限制和系统集成的CDC类驱动的特性,RTS无法单独控制,只能在DTR有变化时,DTR和RTS状态才会更新至硬件。
-> 不支持串口CTS(Clear To Send)信号
CDC-ACM协议不支持CTS状态更新。
-> 不支持软件和硬件流控
CDC-ACM协议不支持串口硬件流控,系统CDC串口驱动不支持软件流控。
-> 使用串口高波特率时不建议持续传输数据,建议在发送间隔内增加延时
使用系统自带的CDC串口驱动,在串口高波特率(超过115200bps)连续通讯时,有可能会丢失数据。
-> 在系统睡眠休眠前建议关闭串口,否则有概率在唤醒后串口会停止接收
在串口应用软件已打开串口状态下,Windows主机进入睡眠或休眠状态,则有概率出现主机唤醒后串口无法再接收数据。此时必须重新开关串口或插拔USB。
(注:在WIN 10之前系统版本中有此情况)
Linux系统CDC串口使用注意点
-> 不支持串口CTS(Clear To Send)信号
CDC-ACM协议不支持CTS状态更新。
-> 不支持软件和硬件流控
CDC-ACM协议不支持串口硬件流控,系统CDC串口驱动不支持软件流控。
macOS系统CDC串口使用注意点
-> 不支持串口Modem输入信号
因CDC-ACM协议和系统自带驱动的原因,不支持CTS/DSR/RI/DCD状态更新。
->不支持软件和硬件流控
CDC-ACM协议不支持串口硬件流控,系统CDC串口驱动不支持软件流控。
方案应用特点:
- 支持多功能高速率的 VCP 厂商驱动程序或者部分操作系统内置的CDC类驱动程序。
- 计算机端串口应用程序大部分功能可兼容。
3、 HID:使用操作系统自带的USB HID设备驱动,USB HID串口在系统上识别为标准HID设备。
方案应用特点:
- 支持免安装的操作系统内置HID类驱动程序。
- 系统下不生成串口节点,无需手动选择,同时也实现了一定程度的信息隐藏。
- 数据收发使用USB中断传输,支持最高波特率为:115200bps。
- 需使用系统HID原生API或者WCH提供的动态库操作串口。
4、AOA:遵循安卓AOA协议,仅用于安卓系统,使用系统自带的AOA配件驱动,AOA串口在系统上识别为标准AOA配件。
方案应用特点:
- 使用安卓标准Accessory配件库,实现免驱应用。
- 实现安卓设备边充电边通讯。
- 对比安卓OTG扩展串口方式,通用性更强。
标签:CH34,系列,USB,流控,CDC,支持,串口,波特率 来源: https://www.cnblogs.com/guo13824368625/p/16692416.html