| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 论ESP32自动下载电路 -> 正文阅读 |
|
[嵌入式]论ESP32自动下载电路 |
1、先来看看ESP32手册说明的启动运行方式 ? 由上图可知,ESP32有SPI启动模式(正常启动)与下载启动模式两种,要实现程序自动下载肯定是需要上电时自动进入下载启动模式,方法就是将GPIO0与GPIO2同时拉低,因GPIO2上电默认下拉(IO2可能会被用作SD卡或其它的作用,这样如果在有设备接入时,并且引脚呈现高电平,就会出现不能下载的现象),所以可以只考虑GPIO0,同时控制复位引脚(EN)就可以实现自动程序下载,如下: EN由低电平到高电平(上升沿)时CPU复位,复位后检测到GPIO0是低电平,CPU自动进入下载启动模式!2、电路实现分析? ? ? ? ??? CHIP_PU就是控制CPU重启的EN信号,GPIO0决定启动时的模式选择,对图中电路分析如下:
?逻辑中一旦CPU启动后EN就被拉高了,IO0默认上拉,所以上边电路精简后
简单总结:当DTR和RTS同时为0或者同时为1时,三极管Q1和Q2均为截止状态,此时EN和IO0的状态由其他电路决定(内部/外部上拉电阻)。 当不同时为0或者1时:
注意这种逻辑下 EN和IO0是不可能同时为0的,然而进入下载模式则需要如下的序列
?从逻辑表上看是根本无法正常进入下载模式的,此为疑惑1。 分析-2再来继续分析一下esptool.py里下载相关的代码
注意True是低电平,False为高电平,另外代码中的setDTR()和setRTS()两条语句之间虽然看上去紧挨着没有延时,然而由于这里是高级语言python,两条语句之间的延时并不能忽略,因此分析的时候必须依次的进行状态分析,以下分为四个阶段依次分析 1) 设置DTR = 1; RTS = 0, 此时Q1导通,Q2截止, EN = 0; IO0 = 1 如果按照上面的代码分析来做结论,不论如何系统也是不可能进入下载模式的:EN和IO0首先不可能同时为0,EN由0->1的上升沿IO0也并不为0,再次确认之前的疑惑,那么系统究竟是如何进入下载模式的呢? 答案问题的答案实际在另外一部分电路,原理其实非常简单:EN信号连接在一个电容充放电电路上 CHIP_PU即EN,代码中23阶段之后会延时一段时间,而EN由于电容充电,电平并不会立马变为高电平,而是缓慢上升,以如上参数为例计算,同时参考芯片电气参数特性 高电平为0.75VDD,则达到高电平按照如下公式计算:? 解得t = 14ms,即EN经过14ms上升到电平1,在实际代码中延时了50ms的等待时间,以确保延时后EN处于电平1的状态。 另外需要提的是,阶段1需要等待一段时间,让电容放电,保证EN电平下降到电平0,才能保证系统正常复位,在代码中预留了100ms的等待时间,同样可以通过电容放电公式计算出放电到电平0需要的时间,感兴趣的朋友可以自行根据公式计算确认。 参考 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:35:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |