在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ESP8266/ESP32自動(dòng)下載原理

大魚(yú)機(jī)器人 ? 來(lái)源:芯片之家 ? 作者:芯片之家 ? 2022-10-10 15:06 ? 次閱讀

01

背景 前一段時(shí)間需要自己制作一片ESP32單板,成本和封裝考慮,計(jì)劃選擇CH340E作為USB轉(zhuǎn)串口芯片,ESP8266/ESP32的單板一般都有自動(dòng)下載電路,用戶無(wú)需按鈕即可令單板自動(dòng)進(jìn)入下載模式實(shí)現(xiàn)固件燒錄。 然而自動(dòng)下載電路需要串口芯片支持DTR和RTS,CH340E卻只有RTS信號(hào),沒(méi)有DTR信號(hào),于是研究學(xué)習(xí)了一下自動(dòng)下載電路的原理,準(zhǔn)備用一些奇淫技巧解決CH340E的自動(dòng)下載問(wèn)題。 遺憾的是, 目前的中文互聯(lián)網(wǎng)上,關(guān)于ESP8266/ESP32自動(dòng)下載原理,所有能搜索到的解釋大部分都是錯(cuò)誤的,差之毫厘,謬以千里。 如果隨意的假設(shè),自以為是,最終得出的只能是一廂情愿的結(jié)論。

02

下載模式

ESP8266/ESP32進(jìn)入下載模式[1]的條件很簡(jiǎn)單: EN(也稱為RST)上升沿時(shí)候GPIO0保持為低電平,如下圖所示: aab2a102-4868-11ed-a3b6-dac502259ad0.png

03

分析1 下載電路如下所示,其結(jié)構(gòu)與RS觸發(fā)器比較類似,注意EN和IO0信號(hào)均連接在三極管集電極,通過(guò)控制三極管只能拉低此信號(hào)。 若三極管截止,則此信號(hào)的狀態(tài)由其他電路決定(一般來(lái)說(shuō),此類信號(hào)會(huì)默認(rèn)接電阻上拉到VCC) aac084ac-4868-11ed-a3b6-dac502259ad0.png邏輯關(guān)系如下:


DTR=0;RTS=0,此時(shí)Q1截止,Q2截止,EN=1;IO0=1 DTR=0;RTS=1,此時(shí)Q1截止,Q2導(dǎo)通,EN=1;IO0=0 DTR=1;RTS=0,此時(shí)Q1導(dǎo)通,Q2截止,EN=0;IO0=1 DTR=1;RTS=1,此時(shí)Q1截止,Q2截止,EN=1;IO0=1 真值表: DTR RST EN IO0

0 0 1 1
0 1 1 0
1 0 0 1
1 1 1 1

簡(jiǎn)單總結(jié):當(dāng)DTR和RTS同時(shí)為0或者同時(shí)為1時(shí),三極管Q1和Q2均為截止?fàn)顟B(tài),此時(shí)EN和IO0的狀態(tài)由其他電路決定(內(nèi)部/外部上拉電阻)。 當(dāng)不同時(shí)為0或者1時(shí):


EN=RTS IO0=DTR 注意這種邏輯下 EN和IO0是不可能同時(shí)為0的,然而進(jìn)入下載模式則需要如下的序列:

1.IO=0;EN=0 2.IO=0;EN0->1 從邏輯表上看是根本無(wú)法正常進(jìn)入下載模式的,此為疑惑1

04

分析2 再來(lái)繼續(xù)分析一下esptool.py[2]里下載相關(guān)的代碼


#issuereset-to-bootloader: #RTS=eitherCH_PD/ENornRESET(bothactivelow=chipinreset #DTR=GPIO0(activelow=boottoflasher) # #DTR&RTSareactivelowsignals, #ieTrue=pin@0V,False=pin@VCC. ifmode!='no_reset': self._setDTR(False)#IO0=HIGH 1)self._setRTS(True)#EN=LOW,chipinreset time.sleep(0.1) 2)self._setDTR(True)#IO0=LOW 3)self._setRTS(False)#EN=HIGH,chipoutofreset time.sleep(0.05) 4)self._setDTR(False)#IO0=HIGH,done 注意True是低電平,F(xiàn)alse為高電平,另外代碼中的setDTR()和setRTS()兩條語(yǔ)句之間雖然看上去緊挨著沒(méi)有延時(shí),然而由于這里是高級(jí)語(yǔ)言python,兩條語(yǔ)句之間的延時(shí)并不能忽略。 因此分析的時(shí)候必須依次的進(jìn)行狀態(tài)分析,以下分為四個(gè)階段依次分析:

設(shè)置DTR = 1; RTS = 0, 此時(shí)Q1導(dǎo)通,Q2截止, EN = 0; IO0 = 1

設(shè)置DTR = 0; RTS = 0, 此時(shí)Q1截止,Q2截止, EN = 1; IO0 = 1

設(shè)置DTR = 0; RTS = 1, 此時(shí)Q1截止,Q2導(dǎo)通, EN = 1; IO0 = 0

設(shè)置DTR = 1; RTS = 1, 此時(shí)Q1截止,Q2截止, EN = 1; IO0 = 1

如果按照上面的代碼分析來(lái)做結(jié)論,不論如何系統(tǒng)也是不可能進(jìn)入下載模式的: EN和IO0首先不可能同時(shí)為0,EN由0->1的上升沿IO0也并不為0,再次確認(rèn)之前的疑惑,那么系統(tǒng)究竟是如何進(jìn)入下載模式的呢?

05

答案 問(wèn)題的答案實(shí)際在另外一部分電路,原理其實(shí)非常簡(jiǎn)單:EN信號(hào)連接在一個(gè)電容充放電電路上 aae44f22-4868-11ed-a3b6-dac502259ad0.png CHIP_PU即EN,代碼中2-3階段之后會(huì)延時(shí)一段時(shí)間,而EN由于電容充電,電平并不會(huì)立馬變?yōu)楦唠娖剑蔷徛仙匀缟蠀?shù)為例計(jì)算,同時(shí)參考芯片電氣參數(shù)特性 ab0847ec-4868-11ed-a3b6-dac502259ad0.png 高電平為0.75VDD,則達(dá)到高電平按照如下公式計(jì)算: ac05c49e-4868-11ed-a3b6-dac502259ad0.png 解得t = 14ms,即EN經(jīng)過(guò)14ms上升到電平1,在實(shí)際代碼中延時(shí)了50ms的等待時(shí)間,以確保延時(shí)后EN處于電平1的狀態(tài)。 另外需要提的是,階段1需要等待一段時(shí)間,讓電容放電,保證EN電平下降到電平0,才能保證系統(tǒng)正常復(fù)位,在代碼中預(yù)留了100ms的等待時(shí)間,同樣可以通過(guò)電容放電公式計(jì)算出放電到電平0需要的時(shí)間,感興趣的朋友可以自行根據(jù)公式計(jì)算確認(rèn)。   

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 三極管
    +關(guān)注

    關(guān)注

    144

    文章

    3640

    瀏覽量

    123406
  • 串口芯片
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    10720
  • ESP32
    +關(guān)注

    關(guān)注

    20

    文章

    992

    瀏覽量

    18463

原文標(biāo)題:經(jīng)典深度分析!ESP8266/ESP32自動(dòng)下載電路究竟是如何巧妙實(shí)現(xiàn)的

文章出處:【微信號(hào):All_best_xiaolong,微信公眾號(hào):大魚(yú)機(jī)器人】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    ESP32ESP8266基于Arduino的MQTT收發(fā)資料說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是ESP32ESP8266基于Arduino的MQTT收發(fā)資料說(shuō)明。
    發(fā)表于 01-24 08:00 ?109次下載
    <b class='flag-5'>ESP32</b>和<b class='flag-5'>ESP8266</b>基于Arduino的MQTT收發(fā)資料說(shuō)明

    VScode嵌入式開(kāi)發(fā)之ESP32以及ESP8266入門

    VScode嵌入式開(kāi)發(fā)之ESP32以及ESP8266入門1.適用與有部分C語(yǔ)言的開(kāi)發(fā)者或者學(xué)生學(xué)習(xí)ESP系列的開(kāi)發(fā)入門2.ESP多種框架在VScode、PlatfromIO下的開(kāi)發(fā)入門
    發(fā)表于 11-03 12:51 ?29次下載
    VScode嵌入式開(kāi)發(fā)之<b class='flag-5'>ESP32</b>以及<b class='flag-5'>ESP8266</b>入門

    ESP32 開(kāi)發(fā)之旅② Arduino For ESP32說(shuō)明

    文章目錄1. Arduino Core For ESP32是什么?2.Arduino core for ESP32庫(kù)3.與ESP8266庫(kù)類比3.1 WiFi —— ESP8266
    發(fā)表于 11-13 19:51 ?33次下載
    <b class='flag-5'>ESP32</b> 開(kāi)發(fā)之旅② Arduino For <b class='flag-5'>ESP32</b>說(shuō)明

    arduino / VScode+platformIO搭建esp32/esp8266編譯環(huán)境(一篇足矣)

    大大的贊吧!結(jié)尾還有micropython+esp32/esp8266環(huán)境搭建的入口,千萬(wàn)不要錯(cuò)過(guò)哦~文章目錄arduino/VScode+platformIO 搭建esp32/esp8266
    發(fā)表于 12-05 14:06 ?33次下載
    arduino / VScode+platformIO搭建<b class='flag-5'>esp32</b>/<b class='flag-5'>esp8266</b>編譯環(huán)境(一篇足矣)

    簡(jiǎn)單的ESP32ESP8266編程器

    電子發(fā)燒友網(wǎng)站提供《簡(jiǎn)單的ESP32ESP8266編程器.zip》資料免費(fèi)下載
    發(fā)表于 07-22 09:43 ?7次下載
    簡(jiǎn)單的<b class='flag-5'>ESP32</b>和<b class='flag-5'>ESP8266</b>編程器

    如何在ESP32/ESP8266上使用MicroPython

    在本教程中,我們將了解 MicroPython,它與 Python 有何不同,以及如何在 ESP32/ESP8266 上開(kāi)始使用 MicroPython。此外,我們將看到一個(gè) LED 閃爍的示例項(xiàng)目來(lái)演示 MicroPython 的使用。
    發(fā)表于 08-19 15:09 ?1.5w次閱讀
    如何在<b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP8266</b>上使用MicroPython

    使用ESP8266ESP32通過(guò)Alexa控制家用電器

    電子發(fā)燒友網(wǎng)站提供《使用ESP8266ESP32通過(guò)Alexa控制家用電器.zip》資料免費(fèi)下載
    發(fā)表于 12-15 07:52 ?2次下載
    使用<b class='flag-5'>ESP8266</b>或<b class='flag-5'>ESP32</b>通過(guò)Alexa控制家用電器

    WIoT2氣象站之Nextion TFT with ESP8266/ESP32

    電子發(fā)燒友網(wǎng)站提供《WIoT2氣象站之Nextion TFT with ESP8266/ESP32.zip》資料免費(fèi)下載
    發(fā)表于 01-30 11:58 ?1次下載
    WIoT2氣象站之Nextion TFT with <b class='flag-5'>ESP8266</b>/<b class='flag-5'>ESP32</b>

    如何實(shí)現(xiàn)ESP8266/ESP32自動(dòng)下載電路

    CHIP_PU即EN,代碼中2-3階段之后會(huì)延時(shí)一段時(shí)間,而EN由于電容充電,電平并不會(huì)立馬變?yōu)楦唠娖剑蔷徛仙匀缟蠀?shù)為例計(jì)算,同時(shí)參考芯片電氣參數(shù)特性
    發(fā)表于 06-03 11:11 ?3536次閱讀
    如何實(shí)現(xiàn)<b class='flag-5'>ESP8266</b>/<b class='flag-5'>ESP32</b><b class='flag-5'>自動(dòng)</b><b class='flag-5'>下載</b>電路

    ESP8266ESP32上的WiFi Webradio

    電子發(fā)燒友網(wǎng)站提供《ESP8266ESP32上的WiFi Webradio.zip》資料免費(fèi)下載
    發(fā)表于 06-13 11:38 ?2次下載
    <b class='flag-5'>ESP8266</b>或<b class='flag-5'>ESP32</b>上的WiFi Webradio

    靈活的ESP8266ESP32初始設(shè)備配置

    電子發(fā)燒友網(wǎng)站提供《靈活的ESP8266ESP32初始設(shè)備配置.zip》資料免費(fèi)下載
    發(fā)表于 06-19 16:15 ?2次下載
    靈活的<b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP32</b>初始設(shè)備配置

    智能家居:帶Alexa和Amazon Echo的ESP8266/ESP32

    電子發(fā)燒友網(wǎng)站提供《智能家居:帶Alexa和Amazon Echo的ESP8266/ESP32.zip》資料免費(fèi)下載
    發(fā)表于 06-19 10:46 ?0次下載
    智能家居:帶Alexa和Amazon Echo的<b class='flag-5'>ESP8266</b>/<b class='flag-5'>ESP32</b>

    啟明云端分享|盤點(diǎn)Esp32-C3與Esp8266 的區(qū)別

    ESP8266&ESP32-C3硬件區(qū)別從上表可以看出ESP32-C3和ESP8266在硬件上的區(qū)別:1.ESP32-C3搭載RISC-V3
    的頭像 發(fā)表于 10-12 18:31 ?5594次閱讀
    啟明云端分享|盤點(diǎn)<b class='flag-5'>Esp32</b>-C3與<b class='flag-5'>Esp8266</b> 的區(qū)別

    esp8266esp32區(qū)別是什么

    以下是關(guān)于ESP8266ESP32的主要區(qū)別: 處理器和架構(gòu) : ESP8266 :使用一個(gè)Tensilica L106 80MHz的處理器,屬于Xtensa架構(gòu)。 ESP32 :使
    的頭像 發(fā)表于 08-19 18:16 ?6623次閱讀

    esp32esp8266代碼共用嗎

    本文將介紹ESP32ESP8266兩款流行的微控制器在代碼共用性方面的可能性與差異性。 一、引言 隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來(lái)越多的智能設(shè)備開(kāi)始進(jìn)入我們的生活。其中,ESP32ESP82
    的頭像 發(fā)表于 08-19 18:23 ?1871次閱讀
    主站蜘蛛池模板: www成年人视频 | 韩国一级网站 | 天天干夜夜爱 | 毛片日韩 | 三级在线观看网站 | 欧美爽爽 | 涩涩涩丁香色婷五月网视色 | 亚色在线视频 | 中文字幕一区二区在线观看 | 波多野结衣在线视频免费观看 | 黄网在线观看 | 亚洲最新 | 午夜毛片视频 | 四虎必出精品亚洲高清 | 人人上人人干 | 欧美高清xx | 久久精品午夜视频 | 毛片爱做的片 | 午夜视频在线 | 一色屋免费视频 | 午夜伦理在线观看 | 亚洲免费观看视频 | 2021日本三级理论影院 | 四虎884tt紧急大通知 | 国产免费午夜 | 国产精品三级国语在线看 | 亚洲都市激情 | 天堂成人在线观看 | 天天干天天干天天天天天天爽 | 在线观看免费xx高清视频 | 亚洲区一二三四区2021 | 国产全部理论片线观看 | 91精品国产色综合久久不卡蜜 | 国产免费久久精品99久久 | 九九国产精品 | 色多多·com| 欧美67194| 四虎新地址 | 久久网站免费观看 | 成人久久久| 羞羞答答91麻豆网站入口 |