和CS2,只有
為低電平同時CS2為高電平時芯片才被選中。因此將CS2接MAX791的
輸出端,同時
寫允許信號通過MAX791的使能控制輸入端
和輸出端
,間接從MCS-51的
引入,保證在系統(tǒng)復(fù)位期間不能讀寫,有效地保護了76C88中的數(shù)據(jù)。結(jié)合圖2—2 MAX791的復(fù)位時序,圖3—1的電路工作原理分析如下! 上電過程:當(dāng)VCC從OV上升到復(fù)位門限1.65V,
輸出仍將維持有效電平200ms的時間,保證電源電壓正常后系統(tǒng)的有效復(fù)位。
有效期間76C88的CS2處于低電平,即片選信號無效,保證上電過程中片內(nèi)數(shù)據(jù)不被改寫。當(dāng)VCC大于VBATT時,VOUT自動切換到與VCC相接,76C88轉(zhuǎn)由VCC供電。正常工作:在此狀態(tài)下,CS2為高電平,
通過MAX791的使能電路復(fù)制
,單片機可對76C88進行讀寫操作。為防止程序跑飛,提高系統(tǒng)的可靠性,在程序中插入看門狗觸發(fā)指令,即P1.7的置位/復(fù)位指令,程序正常執(zhí)行時經(jīng)常觸發(fā)WDI。當(dāng)程序跑飛超過1.6 s不能觸發(fā)看門狗時,
輸出低電平,通過MR使系統(tǒng)復(fù)位。在此期間VCC通過二級管D1、電阻R1給后備電池充電。掉電過程:當(dāng)VCC從正常電壓下降到復(fù)位門限4.65V時,
立即有效,CS2變成低電平,76C88進入保護狀態(tài),保證掉電過程中片內(nèi)數(shù)據(jù)不被改寫。當(dāng)VCC小于VBATT時,VOUT自動切換到與VBATT相接,76C88轉(zhuǎn)由后備電池供電。對多數(shù)應(yīng)用系統(tǒng),上電復(fù)位后程序從頭開始即能滿足要求,但對某些系統(tǒng)如由多道工序組成的流水線控制系統(tǒng),突然停電后再來電時應(yīng)接著原來的工序往下執(zhí)行,這就要求計算機記錄停電瞬間的系統(tǒng)參數(shù),重新來電時根據(jù)記錄的參數(shù)繼續(xù)往下執(zhí)行。
利用MAX791的電源報警功能,能方便地達到這一目的:分析圖2-2,當(dāng)VCC下降到4.65V+150mV時,
產(chǎn)生負跳變,向單片機發(fā)中斷請求,因貯能效應(yīng),VCC從4.8 V降到4.65 V有幾個ms的時間,足夠單片機執(zhí)行幾百條甚至上千條指令,利用這段時間在中斷服務(wù)程序中保護斷點及實時參數(shù)。重新來電后轉(zhuǎn)入斷點繼續(xù)執(zhí)行。3.2 軟件設(shè)計
圖3—1所示單片機系統(tǒng)的軟件可分成主程序和電源報警中斷服務(wù)程序兩部分。主程序中必須插入指令經(jīng)常觸發(fā)WDI,且間隔時間不能超過1.6s,報警中斷必須設(shè)置為非屏蔽中斷
沒有
可以將
設(shè)置成唯一的一個高級中斷以替代
。程序流程圖如圖3—2。
4 結(jié)束語
將復(fù)位與掉電保護聯(lián)動,能有效解決掉電保護與復(fù)位不協(xié)調(diào)引起的系統(tǒng)工作不穩(wěn)定現(xiàn)象,提高掉電保護電路及單片機應(yīng)用系統(tǒng)的可靠性。以MAX791微處理器監(jiān)控電路構(gòu)成的單片機掉電保護系統(tǒng),在電力、石化等工業(yè)現(xiàn)場應(yīng)用效果十分理想。
[參考文獻]
[3] 張友德,趙志英,涂時亮.單片微型機原理、應(yīng)用與實驗[M].上海:復(fù)旦大學(xué)出版社,1998.





