一、概述
CH343、CH9101、CH9102等系列芯片,是沁恒推出的第三代USB转单串口产品,基于经典版CH340系列芯片进行技术革新,实现USB转高速异步串口,波特率支持最高6Mbps。芯片内部高度集成,外围精简,均提供VIO电源引脚,串口I/O支持独立供电。
第三代USB转串口芯片支持使用系统集成的CDC串口驱动或VCP厂商驱动。VCP厂商驱动能更齐全,支持全功能串口、硬件流控、GPIO、USB参数配置等功能、支持高波特率下持续稳定传输。优先推荐使用VCP驱动程序,支持Windows、Linux、Android、macOS等操作系统。
本文所列常见问题同样适用于特性相近的USB转多串口芯片CH342、CH9103等。相较于USB转串口经典版CH340和CH341系列芯片,第三代USB转串口产品主要特点如下:
二、电源设计
USB转串口芯片有3个电源端分别是VDD5、V3和VIO,芯片内置3.3V的LDO电源调节器。
VDD5是内部LDO的输入端;
V3是内部LDO的输出端,USB收发器和内核电源均从该引脚输入;
VIO是单独的串口IO等引脚的电源输入。
常见问题1—VDD5和V3如何连接
VDD5支持5V或3.3V电源电压供电。
- 当VDD5引脚输入5V工作电压(实际上大于3.8V)时,内部LDO工作,V3引脚会输出3.3V电源供芯片内部USB收发器使用。
- 当VDD5引脚输入3.3V工作电压(实际上小于3.6V)时,V3引脚需要和VDD5连接,同时输入外部的3.3V工作电压。
VDD5和V3引脚需要外接电源退耦电容,默认104规格(即104规格),且PCB布局时靠近芯片引脚放置。V3引脚的电容用于电源退耦,来改善USB传输过程中的EMI。此外,VDD5供电电源上建议同时并联10~22uF大电容。
常见问题2—VIO如何连接
USB转串口芯片的VIO引脚用于为串口I/O和其他如RST引脚提供I/O电源,支持电压范围1.8V~5V。
默认情况下VIO引脚应该与芯片所连接的串口设备采用同一电压,此时双方串口电压匹配。VIO引脚支持的电压输入范围是线性的,在如上范围内可随意调节。例如,可直接使用芯片实现USB转1.8V串口,USB转2.5V串口,USB转3.3V串口,USB转5V串口等。
芯片V3引脚在芯片5V供电时可以输出3.3V电压,因此使用3.3V串口时,VIO也可以直连V3引脚节省一个外部LDO。
常见问题3—VBUS如何连接
芯片的VBUS引脚电源来自于V3,该引脚用于芯片USB电源检测。默认应该连接到USB总线的电源,当检测到失去USB电源,芯片将关闭USB并睡眠。当芯片的VDD5采用非USB 主机的电源而使用板载电源供电时,VBUS也可以和VDD5使用同一电源。
常见问题4—芯片与串口外设(如MCU)的电源连接方案
三、串口设计
芯片的串口引脚包含数据传输引脚和MODEM信号引脚。数据传输引脚包括:串口数据发送引脚TXD、串口数据接收引脚RXD。MODEM信号引脚包括:RTS、CTS、DTR、DSR、RI、DCD。
常见问题1-TTL串口设计
常规情况下使用TTL串口通讯,仅需要使用TXD和RXD信号即可,部分场合需要硬件流控功能时还需要使用RTS和CTS信号。其余MODEM信号引脚若使用不到可直接悬空处理。
常见问题2-RS232串口设计
USB转串口芯片配合RS232电平转换芯片组合使用可以实现全MODEM信号的RS232串口,也可以仅使用部分串口信号实现简版RS232串口,和TTL类似,不使用的信号悬空处理。
常见问题3-RS485串口设计
使用提供TNOW信号的芯片型号配合RS485电平转换芯片可以实现RS485串口通信,RS485收发转换芯片需要单独进行收发方向控制,TNOW用于该方向的控制,线路上TNOW直连RS485收发器的发送使能DE和接收使能RE即可。
注:部分芯片型号TNOW功能和其他功能复用,电路设计上需要在DTR引脚外接一个下拉电阻,默认推荐4.7K。
四、其他辅助引脚说明
ACT引脚说明
芯片的ACT引脚为USB设备配置完成状态输出(当芯片接收到主机的设置配置请求并操作完成时会输出低电平,默认该引脚上电为高电平),该引脚可用作芯片的USB工作状态指示,也可以用于通知MCU等串口设备USB转串口芯片的工作状态。也可以用于控制后级电路的电源通断,如USB转RS232串口应用,当计算机睡眠ACT输出无效电平可用于控制RS232电平转换芯片关断电源以节约功耗。
五、IO电流倒灌问题
USB转串口芯片和串口负载(MCU、CPU、其他串口外设等)的供电方式可以分为2个大类:统一供电和独立供电。
统一供电是指USB芯片和串口负载使用同一电源,上下电同步,此时不会存在彼此之间电流倒灌的问题。
独立供电是指USB芯片和串口负载使用不同的电源,对于包含VIO电源引脚的芯片,需要单独考虑VIO引脚电路接法,当VIO和串口负载使用同一电压源不会存在问题,当VIO和串口负载未使用同一电压源时,需注意上电时序。
电流倒灌为非正常应用,在实际使用中应尽量避免。若确有非同时上电的工作需求,需注意电路设计,如下为推荐使用的电路设计方案。
方案一、统一供电
USB芯片与串口负载使用同一电源,USB芯片采用以下供电方式:
VDD5=VBUS=VIO=VMCU:使用板载电源/USB口的VBUS或VBUS经过LDO降压后的电源。
V3:VDD5=5V下连接退耦电容,VDD5=3.3V下V3与VDD5短接。
如上电路设计,当芯片VDD5/VBUS/VIO均无电时USB连接计算机,芯片不会工作。
方案二、独立供电
USB芯片与串口负载使用独立的电源,USB芯片采用以下供电方式:
VDD5=VBUS:USB口的VBUS或VBUS经过LDO降压后的电源。
V3:VDD5=5V下连接退耦电容,VDD5=3.3V下V3与VDD5短接。
VIO=VMCU:使用板载电源同时给VIO和串口负载供电。
如上电路设计,当芯片USB口接入计算机,但串口负载未上电时,即VDD5与VBUS有电但VIO无电,此时芯片USB单元正常工作,会直接进行枚举生成串口。
该供电方式适用于以下应用场景:需要冷启动串口下载的MCU/CPU,监控MCU/CPU/串口外设上电时的串口日志,产品低功耗需求即USB芯片耗电越低越好。
六、如何提高USB通讯稳定性和抗干扰能力
USB信号属于模拟信号,所以在USB 芯片内部包含数字电路和一些模拟电路,另外,USB 芯片中还包含时钟震荡及PLL倍频电路,电路的公共地端在芯片内部已经连接在一起并连接到芯片的GND引脚。
如果GND芯片有时工作不正常、或者GND数据传输随机性失败、或者抗干扰能力差,那么就应该考虑GND芯片是否稳定工作。以下为常见的一些注意事项:
- USB 信号线 D+ 与 D- 尽量对称平行布线,保证两根差分线紧耦合,避免 90度走线,弧形或45度走线均可;
- 在元件布局时,尽量使USB差分线路最短,布线优先绘制差分线,一对差分线上尽量不要超过两对过孔,且过孔需对称放置;
- 最好在两侧布置GND铺铜,减少干扰,在空间允许情况下,其他信号网络及地离差分线的间距至少 20mil,距离过近会对差分线阻抗产生影响;
- 芯片的USB收发器已经按USB2.0全内置设计,D+和D-引脚不能串电阻。
- 可以在GND信号线 D+ 和 D- 上串接共模电感以抑制EMI;
- USB 外壳地串接一个 100K 到 1M 级的电阻到地,同时电阻上并联一个0.1uF电容;
- 使用符合GND规范的带屏蔽层的传输线,不能使用普通排线或者非GND线缆。
除以上几种原因与解决方法外,还可以通过使用屏蔽罩在复杂应用环境中减小EMI干扰,或者使用电气隔离方案提高设备工作稳定性。
七、使用常见问题梳理
设备接入主机无反应或者出现无法识别的USB设备
- 检查电路原理图设计是否正确无误且满足规范;
- 检查芯片供电是否正常,VDD5、V3、VIO、VBUS脚的供电注意事项可参考上面说明;
- 检查USB信号线D+、D-和主机之间是否直通,尤其是TypeC座,检查线序是否正确;
- 芯片内置USB终端匹配电阻,D+和D-可以直连主机,如果为了安全而串接保险电阻、电感、ESD等保护器件,那么交直流等效串联电阻应该在5Ω以内;
- 检查使用的线缆是否符合GND规范,线缆是否过长以及有无屏蔽层;
- 检查是否存在焊接或SMT加工问题,导致出现焊接短路或损坏芯片等情况;
Windows设备管理器出现感叹号设备
设备管理器出现感叹号设备时的情况分以下几种:
1、显示“未知设备”、“无法识别的USB设备”、“Unknown Device”表示芯片未正常工作,此时可参考上一小节内容做排查。
2、显示产品字符串信息,如下所示:
此时说明硬件已经被系统枚举到了,但是驱动未安装或者驱动不匹配,此时需要做以下操作:
- 从沁恒官网上下载最新的芯片驱动,链接地址为:CH343SER.EXE - 南京沁恒微电子股份有限公司USB转高速串口Windows厂商一键式安装驱动程序,支持CH342/CH343/CH344/CH346/CH347/CH9101/CH9102/CH9103/CH9104/CH9111/CH9114/CH9143,支持32/64位 Windows 11/10/8.1/8/7/VISTA/XP/2000,SERVER 2022/2019/2016/2012/2008/2003,通过微软数字签名认证,支持USB转UART/3线和9线SERIAL串口,VCP厂商驱动功能更齐全,支持全功能串口、硬件流控、GPIO、USB参数配置等功能、支持高波特率下持续稳定传输。用于随产品发行到最终用户。https://www.wch.cn/download/CH343SER_EXE.html
- 如失败,可先尝试安装时先点击卸载将可能存在的老版本驱动卸载删除,之后再点击安装新驱动;
- 如驱动仍安装失败,可通过系统驱动安装日志查看具体原因。Windows7及以上系统日志路径:C:\Windows\inf\setupapi.dev.log。打开日志,查找CH343SER关键字可看到失败原因,之后再进行对应问题的解决;
3、“端口(COM和LPT)”下的设备带感叹号,右击查看属性,提示:“驱动未经数字签名”、“串口对象名重复”等。
我司官网上发布驱动均经过微软WHQL数字签名,如仍遇到数字签名问题,原因和系统支持的数字签名算法有关,此时可安装微软官方补丁包,原文链接:2019 SHA-2 Code Signing Support requirement for Windows and WSUS - Microsoft Support
如遇“串口对象名重复”问题,此时可查看列表下冲突的设备,手动修改或使用ComPortManager工具自动修改COM口编号。
工具链接:ComPortManager.ZIP - 南京沁恒微电子股份有限公司
驱动模式说明
第三代USB转串口芯片支持使用系统集成的CDC串口驱动或VCP厂商驱动。VCP厂商驱动功能更齐全,支持全功能串口、硬件流控、GPIO、USB参数配置等功能、支持高波特率下持续稳定传输。优先推荐使用VCP驱动程序。关于CDC驱动程序的使用限制,可参考官网应用方案《USB转串口方案选型》。
如何确定当前使用的驱动模式
Windows:Windows 10及以上的操作系统版本内置CDC串口驱动,以下的系统版本则需要手动安装驱动。使用系统CDC-ACM串口驱动或手动安装官网的CH343CDC驱动时串口名称为:“USB串行端口”、“USB-SERIAL CH34*”。使用厂商VCP驱动程序,对应串口名称为:“USB-Enhanced-SERIAL CH34*”,即字符串中包含“Enhanced”关键词。
Linux:使用内置的CDC-ACM串口驱动,对应串口名称为:“/dev/ttyACM*”,使用厂商VCP串口驱动,对应串口名称为:“/dev/ttyCH343USB*”。
Android:安卓系统下支持2种方式访问串口,一种方式与Linux系统相同,即底层配合tty串口驱动使用。另一种为使用安卓原生USB SDK开发的免驱应用库,此方式无需移植底层Linux设备驱动,设备连接Android原生USB口时,需使用OTG线并确保Android系统的USB Host权限已经打开。
macOS:使用内置的CDC-ACM串口驱动,对应串口名称为:“/dev/usbmodem*”,使用厂商VCP串口驱动,对应串口名称为:“/dev/tty.wchusbserial*”。
USB串行序列号说明
第三代USB转串口芯片内置USB Serial Number(USB串行序列号),可在Windows等系统中根据不同序列号为每个设备分配固定的COM号,实现同一设备连接在不同USB口时COM号固定不变的效果,使用多个设备时因序列号不同会分别分配不同COM号。
在产测阶段,为了提高效率,可通过☑勾选“忽略USB设备序列号”来禁用此特性,不让同一计算机COM号不随设备更换而累加。此方法仅VCP厂商驱动模式下支持。
操作方法:设备管理器 -- 端口(COM和LPT) -- 右击USB-Enhanced-SERIAL COM口设备 -- 属性 -- 端口设置 -- 高级 :
八、资料下载链接
No. | 资料 | 文件名 | |
1 | 芯片手册 | CH343DS1.PDF CH9101DS1.PDF CH9102DS1.PDF CH342DS1.PDF CH9103DS1.PDF | |
2 | 驱动 | Windows厂商VCP驱动一键安装包 | CH343SER.EXE |
3 | Windows厂商VCP驱动 | CH343SER.ZIP | |
4 | Android免驱应用库和程序 | CH341SER_ANDROID.ZIP | |
5 | macOS厂商VCP驱动 | CH341SER_MAC.ZIP | |
6 | Linux驱动 | 请发邮件至tech@wch.cn 获取 | |
7 | 工具和软件 | 芯片配置工具 | CH34xSerCfg.ZIP |
8 | 串口调试工具 | COMTransmit.ZIP | |
9 | 串口号修改工具 | ComPortManager.ZIP |
更多USB转串口芯片选型请参考:USB转串口芯片选型 - 南京沁恒微电子股份有限公司
延展阅读:
《USB转串口通讯常见问题》
《USB转串口工作原理》
《已签名驱动程序安装后提示“Windows无法验证此设备所需驱动程序数字签名”的原因和解决方法》