2-51單片機ESP8266學習-AT指令(開發板51單片機自動冷啟動下載原理)


前言:了解就行,不必深究

 

上一篇鏈接

http://www.cnblogs.com/yangfengwu/p/8720148.html 

 

源碼鏈接:https://pan.baidu.com/s/1wT8KAOIzvkOXXNpkDI7E8g 
提取碼:1q9y 

 

這一篇說一下自己板子的51單片機自動冷啟動下載原理,我揮舞着鍵盤和鼠標,發誓要把世界寫個明明白白,突然想起來第一行代碼的那句話了.

當接上usb線連接到電腦上的時候

看一下RTS引腳的變化,這個信號是連絡信號

 

所以很多用繼電器實現的自動下載在接上電的時候會先啪啪啪的動作一下繼電器

 

說一下當點擊下載的時候CH340G的RTS和DTR引腳的變化

先說一下平時RTS和DTR都是高電平,正常的串口通信也是高電平,

下載的時候會變化,這樣的時候也會變化 不過只有第一次打開使用的時候才會有信號,其余都是高電平

注意:如果用串口助手連接過,那么親們會發現自動下載不能用了,我用示波器測試了一下,發現RTS和DTR沒有信號了,一直是高電平

所以如果用串口助手連接過需要給板子重新斷電上電,不知道別人的自動冷啟動是不是這種情況,還是說我買的芯片的問題.....

 

 按照上面的接法當點擊

 

 

 

 

 

   咱們就是利用這個信號,其實應該利用兩個信號,我是為了簡單實用所以只用的RTS信號

我的最初的想法是在RTS來一個下降沿的時候觸發一個什么延時電路控制一個三極管或者場效應管(管子為51提供電源),斷電,

 

 不知道親們看沒看過我這篇文章

http://www.cnblogs.com/yangfengwu/p/4933033.html

利用74hc123是最好的選擇

 

我把RTS的信號接到123的A引腳上來一個下降沿Q引腳就會輸出一個高脈沖,脈沖的時間利用電阻R和電容C控制,然后Q引腳接到PNP三極管

或者P溝道的場效應管上就可以實現,點擊一下下載單片機就會斷電上電,然后程序就下進去了,自己沒有用123是因為123的引腳太多...占空間................

 

  看一下我的原理圖

 

 

 補充:

 

注意:建議51單片機單獨供電,不要和其它設備一塊斷電上電(如果其它元器件一上電需要很大的電流),

因為如果其它元器件一起動就需要一定大的電流,那么一瞬間就會拉低電壓,造成CH340不穩定,會有斷開重連的過程,

所以單片機下程序就有問題了....

如果接到了一塊

上面的儲能電容一定要用的大一些,建議470uf或更大,再者一定用好的USB轉micro的串口線

這個電阻最好是大於20K,我用的鉭電容,如果用電解電容大於10K應該沒問題,鉭電容和電解電容充電速度和放電速度不一樣,鉭電容要快很多

還有這個電阻

 

最好用470K左右的,其實是受NE555的輸出能力決定的,制造NE555的很多,輸出能力小的如果電阻小就拉不高,無法斷電,所以下拉電阻要大一些,輸出能力大的還行

 

 先說NE555的電路

 

 這種接法是NE555的2引腳來一個低電平3腳就會輸出一個高脈沖(脈沖時間由C25和R66決定),記住2引腳是來一個低脈沖信號

 

如果2引腳一直是低電平那么3腳就會一直輸出高....

這里就不說大約延時的時間了親們可以自己去查資料,或者直接示波器去量,因為我也不知道...................

所以我的做法

一開始穩定的時候2腳是高電平,當RTS來一個低電平,由於是突然一下子,電容(可以用一個電容就可以)以為是交流電呢,所以低電平就過來了,2腳是低電平,3腳開始輸出高電平,如果RTS保持了低電平一會電容開始充電哈,然后2腳又變成了高電平,這樣的話2腳就相當於來了一個低脈沖.3腳會根據延時多少再變回低電平.

不過呢實際的信號

 

   

 

 

 一通電的時候,2引腳是高電平而且電壓大於了A2比較器的反向輸入端  所以S輸出高  S=1;

常理來講

 

6引腳和7引腳突然的一上電由於有電容C25(先給電容充電)所以6引腳和7引腳應該是低電平(不是真的低,是不太高的電平)

當然5腳也接了一個電容,但是呢,容值小一點,所以5腳是大於6腳的,所以R也是1......

都是1不定態..........現在就要看不定態輸出的數高還是低了

我用示波器看的,測量的3引腳和6引腳,發現都是低電平,當然一上電的時候稍微有一點高的波動(電壓不是很高大約0.5V的波動)

所以一上電的時候Q輸出的是1  

里面的三極管導通

所以6,7引腳輸出的都是低電平

 

現在呢讓2引腳來一個低脈沖信號(只要小於1/3的VCC)就會小於比較器的反向輸入端,記得哈是低脈沖信號,最后2是高電平,所以S輸出0

R咱知道是1,所以 

然后  

經過了一個非門 所以3輸出高

當然因為Q是0所以三極管截止,,,開始給C25充電

假設2腳中途沒有信號過來了,當充電達到6腳電壓大於5腳電壓的時候經過比較器,所以R==0

現在3腳就會輸出低電平,三極管也會導通,又開始給電容放電......................然后又變成了原來的樣子

假設2引腳中途又有低脈沖信號

 

2引腳先來下降沿的時候,按照上面說的3引腳確實輸出1;

現在呢又來了一個上升沿,來上升沿的時候6引腳的電壓還沒大於5引腳的電壓呢,,,因為我放的電容和電阻較大,充電慢些,所以R輸出1

R=1,S=1,不定態,,,,,,一看3腳電壓輸出的是低................................不定態的時候Q輸出的是1

所以才會造成了

 

當然可以前級加一些電路讓它只有一個下降沿,我是為了用的芯片最少

注意哈

  這個電容最好是用有極性的,我用10UF是因為自己板子上常用10UF的

這個充電的電阻最好大於20K,讓單片機有充足的斷電時間,單片機的電路可千萬別加儲能電容哈,,,,要是有的話還要考慮放電

親們可以根據自己的信號去分析別人的一鍵下載哈,

還有一個地方要說一下

 

4引腳接電容然后接5V和接GND,RTS,DTR產生的信號是不一樣的,后期用示波器測量后補上,

有時候參考資料只是參考資料,很多東西還是要靠自己動手去實踐,實踐才出真知.很多人都喜歡用懶來給自己找借口,你自己不做出改變,誰都救不了你,你也別指望誰會救你,你要靠自救.

為什么我接電容然后5V,因為自己測試發現如果接一個電容接地,有時候會出現無法識別設備....

下一篇連接

 http://www.cnblogs.com/yangfengwu/p/8757513.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM