[i=s] 本帖最后由 WildboarG 于 2025-11-14 10:23 编辑 [/i]
我用CH340N作为小安AI的下载串口转换口
阅读规格书得知,进入 下载模式需要两个条件
CH340N是一个标准的SOP-8封装,引脚定义如下:
| 编号 |
引脚 |
功能 |
|
编号 |
引脚 |
功能 |
| 1 |
UD+ |
USB差分正 |
|
5 |
VCC |
芯片供电 |
| 2 |
UD- |
USB差分负 |
|
6 |
TXD |
串口发送 |
| 3 |
GND |
|
|
7 |
RXD |
串口接收 |
| 4 |
RTS# |
流控数据发送请求 |
|
8 |
V3 |
输出3v |
RTS#:上电刚开始默认是高电平,准备就绪才拉低
DTR: 上电刚开始默认是高电平,准备就绪也拉低(DTR是数据发送就绪引脚)
工作时序是这样的:
{ signal: [{ name:"DTR", wave: "1.0........1..." },
{ name:"RTS#", wave: "1..0.......1..." }]}
一上电,DTR和RTS#两个引脚都是高电平,当上位机通知数据准备好了,DTR引脚拉低,数据准备就绪,然后RTS#拉低表示要发起数据发送请求。
根据小安AI的烧录指导:
烧录完可以拆掉,根据手册正常上电后EN要有效(高电平),IO8要低电平才可以进入工作模式,那就说明内部,IO8有一个弱下拉,EN有一个弱上拉。才可以保证芯片上电可以进入工作模式。
那小安进入烧录模式的逻辑就应该是:
IO8保证上电开始为高电平,然后等待EN(高电平)有效。
预想
CH340N有一个RTS#引脚,但是没有DTR引脚。这就没办法自动进入下载模式,
但是可以给IO8接一个按键上拉。做一个单按键下载电路。
在上电前先手动按压IO8的按键,然后插入电源,这样IO8上电瞬间是高电平,EN接在RTS# ,当点击下载后,RTS会拉低信号,然后再拉高。拉低EN就失能,相当于复位了,而再次拉高就使能,单片机工作。此时就进入了下载模式,松开IO8的按键。

测试
当焊接好元件在linux 中 make flash, 系统提示我要按下复位。
显然现在没法进入复位模式,只有一个按键且接在IO8上,但尝试按住IO8插拔电源来进入下载模式时候,系统没有按照我的预想进入下载模式。
当尝试用win中博流的烧录工具更新固件后,按照我预想的工作方式进行下载。
再次之后,又切回linux用 make flash烧录固件,
产生了神奇的事情,并不需要按IO8,直接下载了。
所以这是怎么回事????
演示