相信大家對複位電路都不陌生,知道它是和電源、晶振一起構成單片機最小系統的組成部分。由于結構功能過于簡單,以至于大部分人都不願花太多時間去研究,有時候恰恰是那些你忽視的微小事物對産品的成敗起到關鍵性的作用。
複位電路的作用是讓單片機處于初始化狀态,程序從頭開始執行。複位電路設計的好壞,直接影響整個系統是否穩定可靠。
複位電路作用的對象是單片機的RESET引腳,拿89C51系列單片機舉例,當系統正常工作時,如果RESET引腳有一個高電平并維持2個機器周期以上,則單片機響應複位動作。
單片機的複位可分為低電平複位和高電平複位,這是由廠家決定的,區分的方式可以看數據手冊如果複位腳RESET字母上方有上劃線,那就是低電平複位,反之是高電平複位。
單片機的複位可以分為三種情況:上電複位、手動複位、程序自動複位。
上電複位的意思是單片機每次上電都會給RESET腳一個複位信号,讓單片機從一個固定的相同狀态重新開始工作;手動複位可以通過一個複位按鍵讓死機或跑飛的程序重新運行;程序自動複位也是讓程序在一定時間失去響應的情況下通過自身看門狗模塊或者外部看門狗模塊給其下達複位指令及操作。
下面詳細闡述這三種複位電路。
圖1 上電複位
圖1是最常見的低電平上電複位原理圖,我們來分析這個過程,上電前C1兩端電壓為0。上電後,電流從5V流經R1、C1到地,由于電容C1兩端電壓不能突變,所以上電瞬間RESET腳上電壓也為零,并保持一小段時間低電平,這段時間觸發單片機複位;随着時間推移,C1兩端電壓擡升至5V高電平,複位完成。
那麼問題來了,這個電阻、電容是不是可以随便取值,答案是否定的,如果取值太小C1瞬間充滿電,低電平的保持時間不夠例如51單片機的2個機器周期時間長度,那麼複位是失效的。
我們給出個結論t≈R1*C1,這個時間要大于數據手冊給的持續時間就可以,經計算我們的例子中t=1ms,遠遠大于數據手冊給的持續時間。
圖2 手動按鍵複位原理圖
手動按鈕複位在GND和RESET之間接一個按鈕。當人為按下按鈕時, RESET腳就會被GND拉為低電平。由于人的動作再快也會使按鈕保持接通達數十毫秒,所以,完全能夠滿足複位的時間要求。
程序自動複位也分兩種,一種是單片機内置看門狗,對看門狗寄存器初始化,即啟動看門狗,在主循環程序中不停地刷新看門狗,俗稱喂狗。一般都有一個看門狗專用寄存器,因不同單片機,寄存器不同,啟動方法和刷新也稍有不同,内置看門狗又稱窗口看門狗,它的時鐘來源于系統時鐘,隻能解決軟件程序導緻的系統跑飛。一旦外部晶振停振,内置看門狗也無法計時,系統也将無法運行。
另一種是外部看門狗,他可以解決單片機内置看門狗無法解決的問題,因為它有自己獨立的時鐘源,一旦單片機因為各種原因停止喂狗,外部看門狗将複位單片機。
圖3 基于某型号看門狗芯片構成的複位電路
當然複位電路還可以衍生出很多千變萬化的類型比如低電壓複位電路(LVR),有些單片機自帶低電壓複位模塊,但當内建的低電壓複位電壓可能與應用不符時就可以采用外部低電壓複位電路如下圖,供電電壓正常時,RESET端口高電平,當供電電壓下降到低于穩壓二極管的穩壓電壓(Vz 0.7V)時,三級管導通,RESET腳拉低,單片機複位。
圖4 分立元件搭建的低電壓複位電路
低電壓複位電路還有如圖5的集成電路方案,供電電壓低于2.9V時複位
圖5
現在還有好多把外部看門狗電路和低電壓複位電路做在一起的集成方案如SP706等。最後強調一點,RESET的走線越短越好,複位電路一定要盡可能靠近MCU,不能因為MCU出線多或周邊器件太多把複位電路放在離MCU較遠的地方,這大大增加系統的不穩定因素。
該内容是小編轉載自電源網訂閱号,僅供學習交流使用,如有侵權,請聯系删除。如果你還想了解更多關于電子元器件的相關知識及電子元器件行業實時市場信息,敬請關注微信公衆号 【上海衡麗貿易有限公司】
,