使用USB转UART芯片对单片机下载固件时会遇到的问题
C51系列单片机在下载固件的时候需要断电重启。在使用RS232接口的时候不会遇到什么困难,因为RS232不需要进行识别。但是现在使用USB转UART的芯片时会遇到问题,因为USB设备在每次上电的时候会进行识别,这个需要一定的时间,因此就会错过单片机固件下载的时序。
解决方法
为了解决这个问题,就需要在断电的时候,只有单片机断电,而USB转UART芯片不断电。参考电路如下,本例使用的USB装UART芯片为CH340N 。
注意事项及原因
- USB的5V直接对CH340供电(如上图红框1中所示),然后将电源通过一个开关连接到单片机(如上图绿框2所示),这样在断电的时候只有单片机失电,CH340不受影响。
- 而且需要在CH340的电源脚的近处并联一个大一点的电容(见上图浅蓝色框),如10uF的电容。这是因为当单片机断电在上电的时候,需要的电流比较大,会将USB口的电压拉低,造成CH340重启,因此需要大点的电容进行稳压。
- 还有一点需要注意的是CH340会通过TX脚将电源串入单片机的RX脚(见上图深蓝色框),那么在开关断开的时候,单片机就不能彻底的断电,因此需要一个二极管接在CH340的TX与单片机的RX之间。
总结
使用USB转UART芯片下载固件时,电路设计需要注意以下几点:
- 使用USB电源直接对CH340供电,然后通过开关给单片机供电
- CH340的电源脚并联一个大一点的电容,如10uF
- 在CH340的TX与单片机的RX之间串联一个二极管,如1n4007