利用微處理器監(jiān)控電路提高單片機系統(tǒng)與掉電保護電路的可靠性
編輯導讀:利用微處理器監(jiān)控電路提高單片機系統(tǒng)與掉電保護電路的可靠性|基于雙單片機通信的無刷直流電動機控制系統(tǒng)|基于MSC1211單片機的RFID 接收系統(tǒng)設計|基于87C196實現(xiàn)的快速無功電流檢測|ST9+系列單片機I2C總線驅動程序實現(xiàn)|單片機的Proteus虛擬仿真|一種智能型兆歐表的設計|利用16C554實現(xiàn)主從式單片機遠距離通信擴展|利用VB實現(xiàn)PC機與多單片機通訊|專用條形碼無線掃描器設計|
正文:
[摘 要] 本文提出了掉電保護與系統(tǒng)復位聯(lián)動,實現(xiàn)高度可靠的掉電保護并提高單片機系統(tǒng)可靠性的方法。給出了用MAX791微處理器監(jiān)控電路設計的帶掉電保護的單片機應用系統(tǒng)。
[關鍵詞] 微處理器;監(jiān)控電路;掉電保護;可靠性。
1 問題的提出
在以單片機為核心的智能儀表及過程控制系統(tǒng)中常常需要長時間保存實時參數(shù)。通??刹捎肊2PROM、FLASH MEMORY以及以隨機存貯器為基礎內置電池的非易失芯片來實現(xiàn)。E2PROM、 FLASHMEMORY屬于可在線修改的ROM器件,它解決了應用系統(tǒng)中實時參數(shù)掉電保存的難題,但這類芯片寫入速度慢(ms級),擦寫次數(shù)有限(萬次級),有些器件擦寫次數(shù)雖達百萬次,對某些應用系統(tǒng)而言,其寫入次數(shù)仍然是有限的。因此這類芯片只能用在需要保護的數(shù)據(jù)量小且寫入不頻繁的系統(tǒng)中。對那些需要大容量高速反復存取實時參數(shù)的系統(tǒng),只能用隨機存貯器RAM加掉電保護電路實現(xiàn)。掉電保護系統(tǒng)一般由低功耗的CMOS-RAM、供電電路及控制電路組成。供電電路保證系統(tǒng)正常時由電源給RAM供電,掉電時自動轉到備用電池給RAM供電;控制電路保證在電源供電時RAM正常讀寫,電池供電時RAM處于保護狀態(tài),特別要防止系統(tǒng)上電/掉電過程中的瞬間干擾對RAM芯片的寫入而改變RAM中的數(shù)據(jù)?;赗AM的掉電保護電路既具有RAM的高速寫入、寫入次數(shù)無限制的特點,又能象ROM那樣長時間保存數(shù)據(jù),因此得到了廣泛的應用。實現(xiàn)上述原理的掉電保護方法很多,某些廠商甚至以RAM為基礎內置電池開發(fā)出自掉電保護芯片,用這類獨立的掉電保護芯片或電路構成的單片機系統(tǒng),實際應用中有時會出現(xiàn)工作不穩(wěn)定現(xiàn)象。經(jīng)分析發(fā)現(xiàn):若系統(tǒng)電源的變化使RAM先處于保護狀態(tài),而系統(tǒng)尚未復位,單片機仍正常工作,這時就出現(xiàn)寫不進,讀不出的現(xiàn)象,引發(fā)系統(tǒng)故障。對于這種單片機復位電平與掉電保護電平不一致而影響系統(tǒng)可靠性的問題,本文提出用微處理器監(jiān)控電路使單片機復位與掉電保護聯(lián)動的解決方案。RAM在單片機復位時處于保護狀態(tài),工作時正常存取,從而有效地解決前述問題。
2 MAX791[1]芯片介紹
MAX791是MAXIM公司生產(chǎn)的高性能微處理器電源監(jiān)視電路,它與AMDA公司的AMD791性能相同可以互換。功能包括微處理器復位、備用電池切換、看門狗電路、CMOS-RAM寫入保護及電源故障告警等,邏輯框圖如圖2—1[1]。圖中VCC、VOUT分別為電源輸入、輸出,VBATT為電
池輸入,為電源低輸出,和為RAM芯片使能輸入與輸出,為復位輸出,為人工復位輸入,為低將強制RESET有效,SWT、WDI、、分別為看門狗定時設置、觸發(fā)輸入、超時輸出和超時脈沖。PFI和分別為電源故障輸入和輸出,PFI低于1.25 V時變低。
MAX791的復位時序如圖2—2[1]所示。
3 掉電保護電路設計
3.1 硬件設計
圖3—1給出了一種帶掉電保護的MCS-51[2]、[3]單片機應用系統(tǒng)的原理圖。
76C88是CMOS型的RAM芯片,其容量為8K×8,它有兩個片選端和CS2,只有為低電平同時CS2為高電平時芯片才被選中。因此將CS2接MAX791的輸出端,同時寫允許信號通過MAX791的使能控制輸入端和輸出端,間接從MCS-51的引入,保證在系統(tǒng)復位期間不能讀寫,有效地保護了76C88中的數(shù)據(jù)。結合圖2—2 MAX791的復位時序,圖3—1的電路工作原理分析如下。
上電過程:當VCC從OV上升到復位門限1.65V,
輸出仍將維持有效電平200ms的時間,保證電源電壓正常后系統(tǒng)的有效復位。
有效期間76C88的CS2處于低電平,即片選信號無效,保證上電過程中片內數(shù)據(jù)不被改寫。當VCC大于VBATT時,VOUT自動切換到與VCC相接,76C88轉由VCC供電。
正常工作:在此狀態(tài)下,CS2為高電平,通過MAX791的使能電路復制,單片機可對76C88進行讀寫操作。為防止程序跑飛,提高系統(tǒng)的可靠性,在程序中插入看門狗觸發(fā)指令,即P1.7的置位/復位指令,程序正常執(zhí)行時經(jīng)常觸發(fā)WDI。當程序跑飛超過1.6 s不能觸發(fā)看門狗時,輸出低電平,通過MR使系統(tǒng)復位。在此期間VCC通過二級管D1、電阻R1給后備電池充電。
掉電過程:當VCC從正常電壓下降到復位門限4.65V時,立即有效,CS2變成低電平,76C88進入保護狀態(tài),保證掉電過程中片內數(shù)據(jù)不被改寫。當VCC小于VBATT時,VOUT自動切換到與VBATT相接,76C88轉由后備電池供電。
對多數(shù)應用系統(tǒng),上電復位后程序從頭開始即能滿足要求,但對某些系統(tǒng)如由多道工序組成的流水線控制系統(tǒng),突然停電后再來電時應接著原來的工序往下執(zhí)行,這就要求計算機記錄停電瞬間的系統(tǒng)參數(shù),重新來電時根據(jù)記錄的參數(shù)繼續(xù)往下執(zhí)行。
利用MAX791的電源報警功能,能方便地達到這一目的:分析圖2-2,當VCC下降到4.65V+150mV時,產(chǎn)生負跳變,向單片機發(fā)中斷請求,因貯能效應,VCC從4.8 V降到4.65 V有幾個ms的時間,足夠單片機執(zhí)行幾百條甚至上千條指令,利用這段時間在中斷服務程序中保護斷點及實時參數(shù)。重新來電后轉入斷點繼續(xù)執(zhí)行。
3.2 軟件設計
圖3—1所示單片機系統(tǒng)的軟件可分成主程序和電源報警中斷服務程序兩部分。主程序中必須插入指令經(jīng)常觸發(fā)WDI,且間隔時間不能超過1.6s,報警中斷必須設置為非屏蔽中斷沒有可以將設置成唯一的一個高級中斷以替代。程序流程圖如圖3—2。
4 結束語
將復位與掉電保護聯(lián)動,能有效解決掉電保護與復位不協(xié)調引起的系統(tǒng)工作不穩(wěn)定現(xiàn)象,提高掉電保護電路及單片機應用系統(tǒng)的可靠性。以MAX791微處理器監(jiān)控電路構成的單片機掉電保護系統(tǒng),在電力、石化等工業(yè)現(xiàn)場應用效果十分理想。