色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ESP8266/ESP32自動下載原理

大魚機器人 ? 來源:芯片之家 ? 作者:芯片之家 ? 2022-10-10 15:06 ? 次閱讀

01

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

02

下載模式

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

03

分析1 下載電路如下所示,其結構與RS觸發器比較類似,注意EN和IO0信號均連接在三極管集電極,通過控制三極管只能拉低此信號。 若三極管截止,則此信號的狀態由其他電路決定(一般來說,此類信號會默認接電阻上拉到VCC) aac084ac-4868-11ed-a3b6-dac502259ad0.png邏輯關系如下:


DTR=0;RTS=0,此時Q1截止,Q2截止,EN=1;IO0=1 DTR=0;RTS=1,此時Q1截止,Q2導通,EN=1;IO0=0 DTR=1;RTS=0,此時Q1導通,Q2截止,EN=0;IO0=1 DTR=1;RTS=1,此時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

簡單總結:當DTR和RTS同時為0或者同時為1時,三極管Q1和Q2均為截止狀態,此時EN和IO0的狀態由其他電路決定(內部/外部上拉電阻)。 當不同時為0或者1時:


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

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

04

分析2 再來繼續分析一下esptool.py[2]里下載相關的代碼


#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是低電平,False為高電平,另外代碼中的setDTR()和setRTS()兩條語句之間雖然看上去緊挨著沒有延時,然而由于這里是高級語言python,兩條語句之間的延時并不能忽略。 因此分析的時候必須依次的進行狀態分析,以下分為四個階段依次分析:

設置DTR = 1; RTS = 0, 此時Q1導通,Q2截止, EN = 0; IO0 = 1

設置DTR = 0; RTS = 0, 此時Q1截止,Q2截止, EN = 1; IO0 = 1

設置DTR = 0; RTS = 1, 此時Q1截止,Q2導通, EN = 1; IO0 = 0

設置DTR = 1; RTS = 1, 此時Q1截止,Q2截止, EN = 1; IO0 = 1

如果按照上面的代碼分析來做結論,不論如何系統也是不可能進入下載模式的: EN和IO0首先不可能同時為0,EN由0->1的上升沿IO0也并不為0,再次確認之前的疑惑,那么系統究竟是如何進入下載模式的呢?

05

答案 問題的答案實際在另外一部分電路,原理其實非常簡單:EN信號連接在一個電容充放電電路上 aae44f22-4868-11ed-a3b6-dac502259ad0.png CHIP_PU即EN,代碼中2-3階段之后會延時一段時間,而EN由于電容充電,電平并不會立馬變為高電平,而是緩慢上升,以如上參數為例計算,同時參考芯片電氣參數特性 ab0847ec-4868-11ed-a3b6-dac502259ad0.png 高電平為0.75VDD,則達到高電平按照如下公式計算: ac05c49e-4868-11ed-a3b6-dac502259ad0.png 解得t = 14ms,即EN經過14ms上升到電平1,在實際代碼中延時了50ms的等待時間,以確保延時后EN處于電平1的狀態。 另外需要提的是,階段1需要等待一段時間,讓電容放電,保證EN電平下降到電平0,才能保證系統正常復位,在代碼中預留了100ms的等待時間,同樣可以通過電容放電公式計算出放電到電平0需要的時間,感興趣的朋友可以自行根據公式計算確認。   

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 三極管
    +關注

    關注

    142

    文章

    3611

    瀏覽量

    121867
  • 串口芯片
    +關注

    關注

    0

    文章

    36

    瀏覽量

    10515
  • ESP32
    +關注

    關注

    18

    文章

    971

    瀏覽量

    17201

原文標題:經典深度分析!ESP8266/ESP32自動下載電路究竟是如何巧妙實現的

文章出處:【微信號:All_best_xiaolong,微信公眾號:大魚機器人】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ESP32ESP8266基于Arduino的MQTT收發資料說明

    本文檔的主要內容詳細介紹的是ESP32ESP8266基于Arduino的MQTT收發資料說明。
    發表于 01-24 08:00 ?107次下載
    <b class='flag-5'>ESP32</b>和<b class='flag-5'>ESP8266</b>基于Arduino的MQTT收發資料說明

    VScode嵌入式開發之ESP32以及ESP8266入門

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

    ESP32 開發之旅② Arduino For ESP32說明

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

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

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

    簡單的ESP32ESP8266編程器

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

    如何在ESP32/ESP8266上使用MicroPython

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

    使用ESP8266ESP32通過Alexa控制家用電器

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

    WIoT2氣象站之Nextion TFT with ESP8266/ESP32

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

    如何實現ESP8266/ESP32自動下載電路

    CHIP_PU即EN,代碼中2-3階段之后會延時一段時間,而EN由于電容充電,電平并不會立馬變為高電平,而是緩慢上升,以如上參數為例計算,同時參考芯片電氣參數特性
    發表于 06-03 11:11 ?3388次閱讀
    如何實現<b class='flag-5'>ESP8266</b>/<b class='flag-5'>ESP32</b><b class='flag-5'>自動</b><b class='flag-5'>下載</b>電路

    ESP8266ESP32上的WiFi Webradio

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

    靈活的ESP8266ESP32初始設備配置

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

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

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

    啟明云端分享|盤點Esp32-C3與Esp8266 的區別

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

    esp8266esp32區別是什么

    以下是關于ESP8266ESP32的主要區別: 處理器和架構 : ESP8266 :使用一個Tensilica L106 80MHz的處理器,屬于Xtensa架構。 ESP32 :使
    的頭像 發表于 08-19 18:16 ?5234次閱讀

    esp32esp8266代碼共用嗎

    本文將介紹ESP32ESP8266兩款流行的微控制器在代碼共用性方面的可能性與差異性。 一、引言 隨著物聯網技術的飛速發展,越來越多的智能設備開始進入我們的生活。其中,ESP32ESP82
    的頭像 發表于 08-19 18:23 ?1111次閱讀
    主站蜘蛛池模板: 亚洲AV福利天堂一区二区三 | 中文字幕在线观看亚洲| 蜜芽亚洲欧美一区二区电影| 姑娘日本大全免费观看版中文翻译| 亚洲 日本 欧美 中文字幕| 欧美日韩永久久一区二区三区| 黄色xxxxxx| 国产亚洲精品A久久777777 | 久久草香蕉频线观| 久久人人爽人人片AV人成| 久久看片网| 欧美v1deossexo高清| 日本另类z0zxhd| 午夜看片a福利在线观看| 亚洲国产综合人成综合网站00| 亚洲免费观看视频| 51国产偷自视频在线视频播放| 99热在线精品视频| 国产成人在线播放| 九九九色成人网| 欧美XXXX69学生HD| 亚洲 欧美 国产 综合不卡 | 久久九九亚洲精品| 青青伊人影院| 亚洲熟女片嫩草影院| 99在线观看精品| 花蝴蝶在线观看免费中文版高清| 乱子伦在线观看中文字幕| 色橹| 在线不卡日本v二区到六区| 超碰免费视频caoporn| 国产亚洲综合视频| 祺鑫WRITEAS流出来了| 亚洲精品无码午夜福利在线观看| xxxx俄罗斯1819| 久久久午夜精品福利内容| 少妇无码吹潮久久精品AV网站 | 性色香蕉AV久久久天天网| 99久久蜜臀AV免费看蛮| 护士们的母狗| 乌克兰肛交影视|