上一篇鏈接
http://www.cnblogs.com/yangfengwu/p/8743936.html
這一篇說一下自己板子的51單片機自動冷啟動下載原理,我揮舞著鍵盤和鼠標,發(fā)誓要把世界寫個明明白白,突然想起來第一行代碼的那句話了.
當接上usb線連接到電腦上的時候
看一下RTS引腳的變化,這個信號是連絡(luò)信號
所以很多用繼電器實現(xiàn)的自動下載在接上電的時候會先啪啪啪的動作一下繼電器
說一下當點擊下載的時候CH340G的RTS和DTR引腳的變化
先說一下平時RTS和DTR都是高電平,正常的串口通信也是高電平,
下載的時候會變化,這樣的時候也會變化
不過只有第一次打開使用的時候才會有信號,其余都是高電平
注意:如果用串口助手連接過,那么親們會發(fā)現(xiàn)自動下載不能用了,我用示波器測試了一下,發(fā)現(xiàn)RTS和DTR沒有信號了,一直是高電平
所以如果用串口助手連接過需要給板子重新斷電上電,不知道別人的自動冷啟動是不是這種情況,還是說我買的芯片的問題.....
?按照上面的接法當點擊
咱們就是利用這個信號,其實應(yīng)該利用兩個信號,我是為了簡單實用所以只用的RTS信號
我的最初的想法是在RTS來一個下降沿的時候觸發(fā)一個什么延時電路控制一個三極管或者場效應(yīng)管(管子為51提供電源),斷電,
?不知道親們看沒看過我這篇文章
http://www.cnblogs.com/yangfengwu/p/4933033.html
利用74hc123是最好的選擇
我把RTS的信號接到123的A引腳上來一個下降沿Q引腳就會輸出一個高脈沖,脈沖的時間利用電阻R和電容C控制,然后Q引腳接到PNP三極管
或者P溝道的場效應(yīng)管上就可以實現(xiàn),點擊一下下載單片機就會斷電上電,然后程序就下進去了,自己沒有用123是因為123的引腳太多...占空間................
? 看一下我的原理圖
補充:
注意:建議51單片機單獨供電,不要和其它設(shè)備一塊斷電上電(如果其它元器件一上電需要很大的電流),
因為如果其它元器件一起動就需要一定大的電流,那么一瞬間就會拉低電壓,造成CH340不穩(wěn)定,會有斷開重連的過程,
所以單片機下程序就有問題了....
如果接到了一塊
上面的儲能電容一定要用的大一些,建議470uf或更大,再者一定用好的USB轉(zhuǎn)micro的串口線
這個電阻最好是大于20K,我用的鉭電容,如果用電解電容大于10K應(yīng)該沒問題,鉭電容和電解電容充電速度和放電速度不一樣,鉭電容要快很多
還有這個電阻
最好用470K左右的,其實是受NE555的輸出能力決定的,制造NE555的很多,輸出能力小的如果電阻小就拉不高,無法斷電,所以下拉電阻要大一些,輸出能力大的還行
?先說NE555的電路
這種接法是NE555的2引腳來一個低電平3腳就會輸出一個高脈沖(脈沖時間由C25和R66決定),記住2引腳是來一個低脈沖信號
如果2引腳一直是低電平那么3腳就會一直輸出高....
這里就不說大約延時的時間了親們可以自己去查資料,或者直接示波器去量,因為我也不知道...................
所以我的做法
一開始穩(wěn)定的時候2腳是高電平,當RTS來一個低電平,由于是突然一下子,電容(可以用一個電容就可以)以為是交流電呢,所以低電平就過來了,2腳是低電平,3腳開始輸出高電平,如果RTS保持了低電平一會電容開始充電哈,然后2腳又變成了高電平,這樣的話2腳就相當于來了一個低脈沖.3腳會根據(jù)延時多少再變回低電平.
不過呢實際的信號
一通電的時候,2引腳是高電平而且電壓大于了A2比較器的反向輸入端 ?所以S輸出高 ?S=1;
常理來講
6引腳和7引腳突然的一上電由于有電容C25(先給電容充電)所以6引腳和7引腳應(yīng)該是低電平(不是真的低,是不太高的電平)
當然5腳也接了一個電容,但是呢,容值小一點,所以5腳是大于6腳的,所以R也是1......
都是1不定態(tài)..........現(xiàn)在就要看不定態(tài)輸出的數(shù)高還是低了
我用示波器看的,測量的3引腳和6引腳,發(fā)現(xiàn)都是低電平,當然一上電的時候稍微有一點高的波動(電壓不是很高大約0.5V的波動)
所以一上電的時候Q輸出的是1 ?
里面的三極管導(dǎo)通
所以6,7引腳輸出的都是低電平
現(xiàn)在呢讓2引腳來一個低脈沖信號(只要小于1/3的VCC)就會小于比較器的反向輸入端,記得哈是低脈沖信號,最后2是高電平,所以S輸出0
R咱知道是1,所以
然后
經(jīng)過了一個非門 所以3輸出高
當然因為Q是0所以三極管截止,,,開始給C25充電
假設(shè)2腳中途沒有信號過來了,當充電達到6腳電壓大于5腳電壓的時候經(jīng)過比較器,所以R==0
現(xiàn)在3腳就會輸出低電平,三極管也會導(dǎo)通,又開始給電容放電......................然后又變成了原來的樣子
假設(shè)2引腳中途又有低脈沖信號
2引腳先來下降沿的時候,按照上面說的3引腳確實輸出1;
現(xiàn)在呢又來了一個上升沿,來上升沿的時候6引腳的電壓還沒大于5引腳的電壓呢,,,因為我放的電容和電阻較大,充電慢些,所以R輸出1
R=1,S=1,不定態(tài),,,,,,一看3腳電壓輸出的是低................................不定態(tài)的時候Q輸出的是1
所以才會造成了
當然可以前級加一些電路讓它只有一個下降沿,我是為了用的芯片最少
注意哈
這個電容最好是用有極性的,我用10UF是因為自己板子上常用10UF的
這個充電的電阻最好大于20K,讓單片機有充足的斷電時間,單片機的電路可千萬別加儲能電容哈,,,,要是有的話還要考慮放電
親們可以根據(jù)自己的信號去分析別人的一鍵下載哈,
還有一個地方要說一下
4引腳接電容然后接5V和接GND,RTS,DTR產(chǎn)生的信號是不一樣的,后期用示波器測量后補上,
有時候參考資料只是參考資料,很多東西還是要靠自己動手去實踐,實踐才出真知.很多人都喜歡用懶來給自己找借口,你自己不做出改變,誰都救不了你,你也別指望誰會救你,你要靠自救.
為什么我接電容然后5V,因為自己測試發(fā)現(xiàn)如果接一個電容接地,有時候會出現(xiàn)無法識別設(shè)備....
下一篇連接