基于CH343的一种自动烧录模式电路设计分析

目录

前言

一、硬件基础

二、烧录模式时序

总结

前言

这段时间学习ESP32,手里有一块微雪的ESP-32P4的开发板,对其中的串口烧录电路产生了一些疑惑。经过多种分析,找到了一种自洽方案,记录一下,同时也有一定的参考意义。


一、硬件基础

USB串口信号主要是一对差分信号,想要实现和芯片之间的通信,需要转换成UART串口信号。而CH343是一款由沁恒微电子(WCH)推出的USB转串口芯片,主要用于实现USB接口与UART(通用异步收发传输器)之间的双向通信。该芯片内置USB控制器和UART控制器,支持多种波特率配置,适用于工业控制、嵌入式设备调试等场景。

CH343不仅可以用来实现芯片和计算机之间的双向通信,还可以复位芯片并选择使其进入下载模式,从而烧录新的固件。这 一功能可通过设置虚拟串口的 RTS 和 DTR 线来实现。下图是CH343的外围电路图。

第一张图很好理解,只要用过这类芯片的同学都看得懂。D+和D-接到USB的差分信号上;RXD和TXD接到芯片的UART串口IO上。所以这就能实现通信了,但第二张图是RTS 和 DTR外围设计图,来看一下如何实现的。

二、烧录模式时序

ESP_EN是芯片的复位引脚,GPIO35是芯片的BOOT引脚。ESP32-P4 进入下载模式的必要条件是:

  • 先拉低 BOOT (GPIO35=L)(让芯片复位时采样到下载模式)
  • 再拉低 EN (ESP_EN=L)(触发芯片复位)
  • 保持两者同时为低至少 10ms
  • 先释放 EN (ESP_EN=H)(芯片重启,采样 BOOT 电平)
  • 最后释放 BOOT (GPIO35=H)

其中最重要的是当ESP_EN 上升沿后检测BOOT的电平,如果是低电平则进入下载模式。

那对我们这个电路分析一下RTS 和 DTR电平对应ESP_EN和GPIO35的电平。如下图。

DTR RTS Q3 状态 ESP_EN Q4 状态 GPIO35
H H 截止 H 截止 H
H L 导通 L 截止 H
L H 截止 H 导通 L
L L 截止 H 截止 H

芯片的RTS 和 DTR时序如下

那么此时的BOOT和ESP_EN电平变化如下,怎么看都不符合进入下载模式的电平要求。

我们再回看第二张图,发现ESP_EN和GPIO35是通过RC电路实现电平变化的。时间常数如下。

引脚 电容 上拉电阻 时间常数 τ = R×C
ESP_EN 1uF 10kΩ 10k×1uF = 10ms
GPIO35 NC/100nF 4.7kΩ 4.7k×100nF = 0.47ms(甚至更小)

因为电容两端电压不能突变,电平变化时间为2.2RC,所以ESP_EN的一个跳变沿的时间是22ms,实际中GPIO35的电容没有接,可以看成瞬间变化。那么把这一部分时间加入到上图时序中如下:

再ESP_EN从低电平跳变到高电平需要花费至少22ms,按芯片高电平压阈值一般在2.3V左右,也就是需要上升到3.3V的70%,按公式,计算得 t = 1.2RC = 12ms。加上三极管还有结电容和开关速度,最后的值只会大于这个数。从而满足:保持两者同时为低至少 10ms,的要求。电路能够实现进入下载模式实现烧录。


总结

以上电路设计从理论上能实现烧录功能,实际上更是没问题。但电路设计的有些复杂和极限,不知道是不是还有其他角度的问题需要考虑。

本文我不确保我分析角度的一定准确,只是找到了我自己知识点的一种自洽,这种自洽足够说服我自己。但仅供大家参考

相关推荐
周周记笔记1 小时前
【元器件专题】用阻抗等效分析法来分析开关电路
单片机·嵌入式硬件
leoFY1232 小时前
STM32H750配置LAN PHY芯片LAN8742
网络·stm32·嵌入式硬件
iCxhust2 小时前
如何利用iret修改cs ip
汇编·单片机·嵌入式硬件·微机原理·8088单板机
m0_377108143 小时前
stm32平衡车
stm32·单片机·嵌入式硬件
小+不通文墨4 小时前
把树莓派外接的DHT11接收的温湿度发送到emqx上
经验分享·笔记·嵌入式硬件·学习·树莓派
Deitymoon4 小时前
FreeRTOS——列表与列表项
stm32·单片机·嵌入式硬件
总结所学4 小时前
电路定理 叠加定理 基尔霍夫定律
单片机·嵌入式硬件
雪度娃娃7 小时前
存储器层次结构——随机访问存储器
单片机·嵌入式硬件·计算机组成原理
少年潜行8 小时前
ESP01S使用笔记05--ESP01S 进行 MQTT 通信 发送 JSON 字符串遇到的问题
单片机
项目題供诗9 小时前
STM32-PWM驱动LED呼吸灯&PWM驱动直流电机(十三)
stm32·单片机·嵌入式硬件