ch343p串口小板制作记录及特定情况故障分析

ch343p串口小板制作记录及特定情况故障分析

我比较喜欢玩esp32开发板,也制作一些esp32的小产品,所以也做过一些esp32烧录器。以前制作的烧录器是使用cp2102芯片制作的,现在国产化趋势越来越多,我手上也有ch343p芯片没使用,所以就打算做一款基于ch343p的烧录器。

芯片介绍

CH343P是南京沁恒(WCH)推出的一款高性能​​USB转高速异步串口桥接芯片​​,采用QFN-16封装,兼具高集成度、低功耗和广泛兼容性,适用于工业自动化、物联网、嵌入式系统等领域。

以下是其核心特性和应用解析:

一、主要功能与参数

  1. ​通信性能​
  • ​高速传输​​:支持全速USB 2.0协议,串口波特率最高达​​6Mbps​​(是CH340系列的3倍),覆盖50bps~6Mbps范围,支持115200bps及以下波特率的动态自适应。
  • ​多协议兼容​​:支持UART异步串口协议,可配置5~8位数据位及奇/偶/无校验模式。
  • ​硬件流控​​:集成CTS/RTS硬件自动流控,支持半双工RS485通信(通过TNOW信号控制收发切换)。


  1. ​电源与功耗​
  • ​宽电压支持​​:USB端支持5V供电,串口I/O独立供电(1.8V~5V),兼容不同电平设备。
  • ​低功耗设计​​:待机模式下电流仅​​2μA​​,适合电池供电场景。


原理图介绍

由于烧录器只需要3.3V电平,也不需要对外供3.3V电压,所以直接使用芯片内部的LDO作为VIO电压源。所以我需要在V3引脚接一个1uf或者100nf的电容,由于我这边只需要3.3V接VIO,不需要接LED或者其他,就没必要接大电容了(而且芯片内部LDO最大电流似乎也只有15ma)。

下图是ch343p的外围电路,可以看到外围非常简单,VDD支持直接接5V,所以直接接USB的VBUS就可以了。




然后串口状态指示灯可以直接用5V接限流电阻即可(不需要接3.3V),这边实际使用的是2K或者4K的电阻,这样LED的亮度刚好合适,不至于闪瞎眼,也不至于太小不明显。




ESP32的自动下载电路,其实和非常多开源的方案一样,一开始我是使用了双NPN三极管的元件(内置基级电阻),后来出现点小问题,才换了MOS实现。

其实esp32的自动下载电路原理非常简单,就是使用了串口的DTR和RTS功能,去操作BOOT和EN信号。我们知道,ESP32的下载模式是,EN信号触发时(低电平变高电平的上升沿),BOOT信号为0。

实现步骤如下:

步骤1​​:设置DTR=1(高电平)、RTS=0(低电平)

  • EN被拉低(Q3.2导通),GPIO0保持高电平(内部弱上拉或者外部上拉电阻)

​步骤2​​:切换为DTR=0(低电平)、RTS=1(高电平)

  • GPIO0被拉低(Q3.1导通),EN因电容充电仍保持低电平

步骤3​​:等待电容充电完成(约100ms)

  • EN缓慢上升至高电平,形成上升沿,此时GPIO0已稳定为低电平,触发下载模式

完成后DTR和RTS引脚都恢复成高电平状态。

这样就实现了上位机控制串口芯片,实现一键下载的前提,也就是控制esp32进入下载模式。




板子的3D预览图如下图




焊接时出现的故障(插入USB无设备提醒,通电电流仅几百ua)

由于通电电流极低,不符合正常工作电流3ma的情况,可以判断就是ch343p芯片虚焊造成的,重新焊接ch343p芯片后就可以正常使用了。

使用时出现的特殊故障(ch343p比esp32先上电)

由于我有一些板子是比较特殊的,设计时加入了一键控制电源的电路,esp32在关机状态下是没有接电的。在使用这个烧录器的时候,遇到一些问题。

问题复现如下: 若一键下载电路是使用三极管实现,上电顺序为USB烧录器(ch343p)-> esp32模组(由于上电MOS导通有时间差,约几十ms内),会出现BOOT信号被一直拉低,芯片无法正常工作的情况(一直处在下载模式)。

后来经过排查,发现是ch343p的DTR引脚一直输出低电平,RTS一直是高电平,然后三极管拉低BOOT引脚,导致模组一直处于烧录下载状态。

查阅芯片规格书后发现,ch343p的DTR引脚其实是和TNOW功能复用的,然后在ch343p上电的过程中,会检测DTR引脚是否存在下拉电阻,在这个过程中,如果esp32未上电,会通过三极管漏电到boot或者en引脚,导致芯片误认为存在下拉电阻,从而切换到TNOW模式。

网上搜索到,可以将三极管换成MOS解决这个问题。更换了MOS方案后,我这边的esp32c2开发板就没有这个问题,然后我这边使用esp32、esp32c3,esp32s3开发板测试后,依然有部分开发板会引发这个故障(先插ch343p,再给开发板上电)。然后我又尝试在boot和en引脚加二极管防电流倒灌到开发板,依然存在这个故障。

最后还是建议以后在设计板子的时候,还是尽量保证ch343p和模组同时上电,或者ch343p上电前给模组上电,热插拔模式就不大建议了(先插ch343p再接烧录线)。又或者更换成ch340e芯片,可能会更稳妥一些,虽然速率没有ch343p这么高,也够用了。

当初选择ch343p这款芯片,也是觉得这块芯片体积非常小,速率又高,没想到会遇到这种问题。

最后是晒一下成品烧录器,还是很迷你的。


来源:电子工程世界(EEWorld)作者:walker2048

编辑于 2026-03-26 · 著作权归作者所有