USB转串口芯片和串口负载(MCU、CPU、其他串口外设等)的供电方式可以分为2个大类:统一供电和独立供电。
一、供电说明
统一供电是指USB芯片和串口负载使用同一电源,上下电同步,此时不会存在彼此之间电流倒灌的问题。
独立供电是指USB芯片和串口负载使用不同的电源,对于包含VIO电源引脚的芯片,需要单独考虑VIO引脚电路接法,当VIO和串口负载使用同一电压源不会存在问题,当VDD5、VIO和串口负载未使用同一电压源时,此时需注意上电时序。
- 当USB芯片先上电,USB芯片可正常工作。
- 当USB芯片后上电,串口负载会先通过USB芯片的串口等引脚灌入一定电流,如果此电流在芯片电源端形成的倒灌电压正好处于芯片正常工作电压的临界值附近,那么会存在一定概率导致USB芯片无法正常工作,现象为:接入计算机无任何反应或出现无法识别的USB设备。
电流倒灌为非正常应用,在实际使用中应尽量避免。若确有非同时上电的工作需求,需注意电路设计。如下以CH343芯片为例(其他带VIO的USB转串口芯片与此同理),列举常见的几种连接方案,可以根据不同的需求灵活选用。
CH343芯片的电源说明
- 芯片有3个电源端,内置5V转3.3V的电源调节器。
- VDD5是内部电源调节器的输入端,支持5V或者3.3V电源电压.
- V3是电源调节器的输出端和USB收发器及内核电源输入端,VDD5电压小于3.6V时连接VDD5输入外部电源,当VDD5电压大于3.6V时外接退耦电容。
- VIO是I/O端口电源输入端。芯片的VIO引脚用于为串口I/O和其他引脚提供I/O电源,VIO应该与MCU等外设使用同一电源。
二、供电方案说明
方案一、统一供电
USB芯片与串口负载使用同一电源,USB芯片采用以下供电方式:
- VDD5=VBUS=VIO:使用板载电源/USB口的VBUS电源/VBUS经过LDO电压转换后的输出电源。
- V3:VDD5=5V下连接退耦电容,VDD5=3.3V下V3与VDD5短接。
如上电路设计,当芯片USB口接入计算机,但整板未上电时(VDD5、VBUS、V3与VIO均无电),此时USB芯片不会工作。当整板上电后USB芯片才开始工作。
方案二、独立供电
USB芯片与串口负载使用独立的电源,USB芯片采用以下供电方式:
- VDD5与VBUS短接:使用USB口的VBUS电源/VBUS经过LDO电压转换后的输出电源。
- V3:VDD5=5V下连接退耦电容,VDD5=3.3V下V3与VDD5短接。
- VIO:使用USB口的VBUS电源/VBUS经过LDO电压转换后的输出电源/VDD5=5V时V3引脚输出的3.3V电源。
如上电路设计,当芯片USB口接入计算机,但串口负载未上电时,即VDD5与VBUS有电但VIO无电,此时芯片不会工作。当串口负载上电后USB芯片才进行枚举。
方案一和方案二使用板载电源的情况下当板载电源未上电,USB芯片不会工作,计算机上无法使用串口。对于某些应用场景会有限制,如:需要冷启动串口下载的MCU/CPU,以及需要读取MCU/CPU/串口外设上电时的串口数据等应用场景。
方案二使用非板载电源时(直接/间接使用VBUS电源),芯片USB口接入计算机,会直接进行枚举生成串口,可解决如上使用场景限制,但此时会存在USB芯片和串口负载因上下电时序不一致产生的电流倒灌问题,电路设计上需要增加额外处理。有如下几种方案可供参考:
三、独立供电时的防倒灌处理
此供电方式下需要先确定导致器件无法正常工作的灌电流通过什么引脚产生,这里以串口的TXD和RXD为例列举常用的防止或减小倒灌电流的电路。
当RXD侧器件无电,采用二极管隔断TXD引脚的对外输出电流。
当RXD侧器件通电时,TXD默认输出高电平,RXD默认为上拉高电平,此时二极管不导通;当TXD输出低电平,低电平期间二极管导通,RXD接收到低电平。
注:若RXD的内部结构非上拉输入,则还需要在RXD端增加上拉电阻以保持默认的空闲高电平状态。
当TXD侧器件无电,二者之间串联电阻限流,可减小RXD引脚对外的上拉电流。(因RXD脚为输入脚,只能被动接收信号,因此不能采用二极管方案)
使用NMOS管可以完全隔离RXD对外的上拉电流,其工作原理为:RXD连接NMOS的D极,VCC连接NMOS的G极,TXD连接NMOS的S极。
当TXD侧器件无电,NMOS不导通,RXD和TXD之间未导通;
当TXD侧器件通电,驱动TXD为高电平时,NMOS不导通,RXD保持默认高电平;TXD为低电平时,NMOS导通,RXD和TXD直连被下拉为低电平;