單片機復位電路,隱藏著這么多門道
各位小伙伴們大家好,復位電路在單片機小系統(tǒng)中很常見。今天我們就探討下單片機阻容復位電路的構成、特點和改進方法。
本文內容選自龍順宇老師的新書《****STC8增強型51單片機進階攻略》。
我們現(xiàn)在講的“復位”,其作用就是通過相關電路產生“復位信號”, 讓單片機能在上電后或者運行中恢復到默認的起始狀態(tài)。
一般來說,單片機復位電路主要有四種類型:
- 微分型復位電路;
- 積分型復位電路;
- 比較器型復位電路;
- 看門狗型復位電路;
常見的阻容式微分復位電路如圖1(a)所示,電路中的“Reset”電氣網(wǎng)絡連接至單片機“RST”引腳。
圖1(a)
該電路上電后的波形如圖1(b),其波形在上電后先是高電平,經過100ms后跌落到了1V以下最終保持低電平狀態(tài),我們常將其稱為“高電平”復位電路。
圖1(b)
分析微分復位電路,該電路的組成十分簡單,其核心實現(xiàn)僅有1個電阻和1個電容組成,外加的S1按鍵主要實現(xiàn)手動復位功能,當S1按下時“Reset”電氣網(wǎng)絡被強制拉高實現(xiàn)復位。
在設計該電路時一定要先根據(jù)單片機工作的時鐘頻率去考慮阻容的取值,若系統(tǒng)選用12MHz石英晶振,則1個機器周期就是1us,復位信號的脈沖寬度最小也要2us以上,但是真正設計時最好不要貼近理論值去構造電路,復位信號脈沖寬度最好是20至200ms為宜。
當晶振頻率大于或等于12MHz時,常見取值C1為10uF,R1為10k。
當系統(tǒng)上電時C1相當于通路,“Reset”電氣網(wǎng)絡上電瞬間為高電平,隨著R1不斷泄放C1的電荷,“Reset”電氣網(wǎng)絡的電壓逐漸降低,最終降到低電平區(qū)間。
在放電的過程中“Reset”電氣網(wǎng)絡的高電平持續(xù)了100ms左右才跌落到1V以下,這遠大于2個機器周期的復位時間要求,即復位有效。
積分復位電路若將圖2中的電阻R1和電容C1互換位置就可以變成阻容式積分復位電路,電路原理圖如圖2(a)所示。
該電路上電后的波形如圖2(b)所示,其波形在上電后先是低電平,然后經過50ms左右就超過了1.6V并繼續(xù)上升,最終保持在高電平電壓區(qū)間,我們常將該電路稱為“低電平”復位電路。
當系統(tǒng)上電時C1相當于通路,故而“Reset”電氣網(wǎng)絡上電瞬間為低電平,隨著電源通過R1不斷的向C1充電,“Reset”電氣網(wǎng)絡的電位逐漸抬升并最終保持高電平。
外加的S1按鍵主要實現(xiàn)手動復位功能,當S1按下時“Reset”電氣網(wǎng)絡被強制拉低實現(xiàn)復位。
圖2(a)圖2(b)
阻容式復位電路非常簡單,成本也很低,但是可靠性如何呢?
- 首先來說,阻容器件本身存在器件誤差,誤差會直接導致RC時間常數(shù)和充放電時間的差異,批量制造時難以保證產品的一致性。
- 其次,阻容器件存在老化現(xiàn)象和溫漂問題,在長期使用或者嚴苛溫度環(huán)境中容易造成較大誤差導致失效。
- 最后,簡單的阻容復位電路會有電容的遲滯充放電問題,導致復位信號可能不滿足復位電平閾值要求,且面對來自電源的波動或者快速開關機情況會出現(xiàn)無法復位的問題。
朋友們可能會說,器件參數(shù)誤差、老化和溫漂在一般產品中都可以接受,一致性問題也沒有那么高要求,本著“能用就行”的原則,這個電路也湊合用吧!
也不是不行,但是可以稍微改進下。
以圖1(a)所示的阻容式微分復位電路為例,若將電源周期性通斷,其復位波形就不再完美了。
實際波形如圖3(a)所示,復位波形由于電容的緩慢放電,出現(xiàn)了下降遲緩,無法到達低電平閾值的問題。
這種復位信號就不能保證單片機系統(tǒng)的有效復位,無疑是危險的。
若將微分復位電路按圖3(b)改進,在電阻R1的兩端并聯(lián)個D1,再次將電源周期性通斷,復位波形就會變成如圖3(c)所示的波形。
從波形上看,電路改造后復位波形得到了明顯的改善,圖中波形下降迅速且可以下降到低電平閾值以下,不會出現(xiàn)頻繁上電時復位電壓“下不去”的情況。
圖3(a)圖3(b)圖3(c)
這個“不起眼”的D1為電容C1在掉電情況下提供了一條迅速泄放電荷的通道,這樣一來就可以保證在電源頻繁波動或者周期性上電情況下的正常復位。有的朋友可能要說了,這個復位波形看起來還是很“怪異”??!
雖說是高電平復位波形,但是看起來和“毛刺”一樣,那能不能通過什么電路把復位信號搞成類似于高低電平的波形樣式呢?
比較器型復位電路我們再把電路優(yōu)化一次。
添加三極管和二極管進去,最終搭建出一種閾值電壓比較型高電平復位電路如圖4(a)所示。
電路的目的就是構造一個“復位閾值電壓比較器”,電路中的穩(wěn)壓二極管D1(實際選用3.3V穩(wěn)壓管)和開關二極管D2(實際選用1N4148,導通壓降為0.6V左右)決定了復位信號的電平閾值,大致就是3.3V+0.6V=3.9V左右(朋友們也可以更替D1的穩(wěn)壓參數(shù)構成更多復位閾值)。
電路中的三極管Q1及外圍電路構成了一個簡單的比較器電路,當電源波動的時候也可以有效的根據(jù)閾值比較完成復位動作。
R2的大小可以改變輸出信號的驅動能力,R1和C2一起決定了復位延時的長度,C1是為了抑制和旁路電源中的高頻噪聲。
該電路上電后的復位波形如圖4(b)所示,這樣的波形總算是“漂亮”了。
圖4(a)圖4(b)
基于圖4(a)所示的高電平復位電路,我們也可以稍加變形做成如圖5(a)所示的“低電平復位電路”,該電路適用于低電平復位的單片機。該電路上電后的復位波形如圖5(b)所示,該波形相當于圖4(b)的取反波形。
圖5(a)圖5(b)
由此可見,小電路也有很多講究。此處的改進只是拋磚引玉,朋友們別被“拋出去的磚”砸暈了,復位電路還存在很多改進電路和一些實際問題,希望讀者朋友們可以自行延展,單片機復位端口處還可并聯(lián)0.01至0.1uF的瓷片電容,以抑制電源高頻噪聲干擾或配置施密特觸發(fā)器電路,進一步的提高單片機對串入噪聲的抑制。
看門狗型復位電路我們以美信公司生產的MAX810這款高電平復位電路專用芯片為例,搭建如圖6(a)所示電路,上電后測量“Reset”電氣網(wǎng)絡可以得到如圖6(b)所示波形,這個波形就堪稱“完美”了。
圖6(a)圖6(b)
常見的低電平復位電路有MAX705、MAX706、MAX809、MAX811等器件。高電平復位電路有MAX810、MAX812等器件。
而MAX707、MAX708、MAX813L等器件同時有高、低電平復位輸出信號和看門狗輸出,在實際產品中經常會看到它們,需要注意的是,不同芯片的復位脈沖時間不一樣,但是一般都可以達到100至200ms左右,完全滿足常見處理器對復位時間的需求。
*博客內容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。