本帖最后由 1055173307 于 2024-5-5 23:14 编辑
本帖最后由 1055173307 于 2024-5-5 23:11 编辑
本帖最后由 1055173307 于 2024-5-5 22:47 编辑
本帖最后由 1055173307 于 2024-5-5 21:57 编辑
本帖最后由 1055173307 于 2024-5-5 14:27 编辑
前几天有佬在群里问不焊接自动烧录电路的原因,今天论文压力小一点了来研究一下。把M61跟ESP32的自动下载做个对比
下面对自动烧录的各个关键部分做一下分析
【启动模式配置】
最关键的一点就是两个芯片的启动模式配置,ESP32是拉低进烧录,M61是拉高进烧录,并且EN使能引脚都是高电平有效
ESP32:
M61:
【自动烧录电路的真值表】
*自动烧录的电路真值表也取决于IO2和EN的上下拉设计,因为M61是拉高进烧录,所以为了正常运行IO2是下拉的
这个电路的话,如果DTR和RTS相同,IO2和EN跟上下拉相同,如果RTS DTR不同,则IO2=DTR,EN=RTS
这个时候差距就出现了,ESP32的IO0是上拉的 如下图的两个真值表就会不同
【分析】
首先分析一下为什么ESP32的自动下载能用
ESP32的自动下载程序驱动如下:(文件在Users\-\.platformio\packages\tool-esptoolpy\esptool的reset.py
很逆天的是里面的False代表高电平,True代表低电平
这个时候理论上,ESP32的自动下载的波形是这样的
这时候,有人就会说,那EN上升沿的时候IO0也刚下拉啊,有概率进不去怎么办
但是,重点是ESP32的EN有一个用于上电延迟使能的电容,所以实际就会变成这个样子
所以EN到达高电平的时候,IO0已经下拉完了,保证一定可以进烧录模式
下一步看看为什么七哥的能用!(没看出来)
首先没找到M61SDK里面在哪里有关于上电reset操作的代码,只在烧录过程中输出有这一句话
先盲猜一下如果M61对RTS、DTR的操作跟ESP32一样,就会出现:
EN上升沿的时候IO2也是在下降沿,不能保证能用
所以推测可能M61对RTS、DTR的操作跟ESP32是不一样的,就确定不了为什么这个是能用的
那为什么自动烧录没焊接(不知道焊上了能不能用)
首先,IO2和EN至少需要这样的一个波形:(装上EN的上电延迟电容甚至可以不管IO2前面高还是低,同时高就可以了
但是,复习一下M61自动烧录的真值表:
硬是没找到两个引脚同时为1的情况,这也跟IO2的下拉有点关系,所以可能大概率是没法用
【下一步干嘛】
1、可能焊上自动烧录电路测试一下能不能用
2、还用不了就用逻辑分析仪抓一下烧录的时候RTS、DTR的逻辑看看是怎么设置的
3、如果逻辑分析仪抓出来了波形,有没有大佬分析一下原因跟电路改进的方法,没办法模电没学好分析不懂电路是这样的