《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)系統(tǒng)與掉電保護(hù)電路的可靠性提高方案
單片機(jī)系統(tǒng)與掉電保護(hù)電路的可靠性提高方案
電子發(fā)燒友
摘要: 本文提出了掉電保護(hù)與系統(tǒng)復(fù)位聯(lián)動(dòng),,實(shí)現(xiàn)高度可靠的掉電保護(hù)并提高單片機(jī)系統(tǒng)可靠性的方法,。給出了用MAX791微處理器監(jiān)控電路設(shè)計(jì)的帶掉電保護(hù)的單片機(jī)應(yīng)用系統(tǒng),。1問(wèn)題的提出在以單片機(jī)為核心的智能儀表及過(guò)程控制系統(tǒng)中常常需要長(zhǎng)時(shí)間保存實(shí)時(shí)參數(shù)。通常可采用E2PROM,、FLASHMEMORY以及以隨機(jī)存貯器為基礎(chǔ)內(nèi)置電池的非易失芯片來(lái)實(shí)現(xiàn)。E2PROM,、FLASHMEMORY屬于可在線(xiàn)修改的ROM器件,,它解決了應(yīng)用系統(tǒng)中實(shí)時(shí)參數(shù)掉電保存的難題,但這類(lèi)芯片寫(xiě)入速度慢(ms級(jí)),,擦寫(xiě)次數(shù)有限(萬(wàn)次級(jí)),,有些器件擦寫(xiě)次數(shù)雖達(dá)百萬(wàn)次,對(duì)某些應(yīng)用系統(tǒng)而言,,其寫(xiě)入次數(shù)仍然是有限的,。因此這類(lèi)芯片只能用在需要保護(hù)的數(shù)據(jù)量小且寫(xiě)入不頻繁的系統(tǒng)中。對(duì)那些需要大容量高速反復(fù)存取實(shí)時(shí)參數(shù)的系統(tǒng),,只能用隨機(jī)存貯器RAM加掉電保護(hù)電路實(shí)現(xiàn),。掉電保護(hù)系統(tǒng)一般由低功耗的CMOS-RAM、供電電路及控制電路組成,。供電電路保證系統(tǒng)正常時(shí)由電源給RAM供電,,掉電時(shí)自動(dòng)轉(zhuǎn)到備用電池給RAM供電;控制電路保證在電源供電時(shí)RAM正常讀寫(xiě),,電池供電時(shí)RAM處于保護(hù)狀態(tài),,特別要防止系統(tǒng)上電/掉電過(guò)程中的瞬間干擾對(duì)RAM芯片的寫(xiě)入而改變RAM中的數(shù)據(jù)?;赗AM的掉
關(guān)鍵詞: 單片機(jī) 掉電保護(hù)
Abstract:
Key words :

本文提出了掉電保護(hù)與系統(tǒng)復(fù)位聯(lián)動(dòng),,實(shí)現(xiàn)高度可靠的掉電保護(hù)并提高單片機(jī)系統(tǒng)可靠性的方法。給出了用MAX791微處理器監(jiān)控電路設(shè)計(jì)的帶掉電保護(hù)的單片機(jī)應(yīng)用系統(tǒng),。
  

1 問(wèn)題的提出

     在以單片機(jī)為核心的智能儀表及過(guò)程控制系統(tǒng)中常常需要長(zhǎng)時(shí)間保存實(shí)時(shí)參數(shù),。通常可采用E2PROM,、FLASH MEMORY以及以隨機(jī)存貯器為基礎(chǔ)內(nèi)置電池的非易失芯片來(lái)實(shí)現(xiàn),。E2PROM、 FLASHMEMORY屬于可在線(xiàn)修改的ROM器件,,它解決了應(yīng)用系統(tǒng)中實(shí)時(shí)參數(shù)掉電保存的難題,,但這類(lèi)芯片寫(xiě)入速度慢(ms級(jí)),擦寫(xiě)次數(shù)有限(萬(wàn)次級(jí)),,有些器件擦寫(xiě)次數(shù)雖達(dá)百萬(wàn)次,,對(duì)某些應(yīng)用系統(tǒng)而言,其寫(xiě)入次數(shù)仍然是有限的,。因此這類(lèi)芯片只能用在需要保護(hù)的數(shù)據(jù)量小且寫(xiě)入不頻繁的系統(tǒng)中,。對(duì)那些需要大容量高速反復(fù)存取實(shí)時(shí)參數(shù)的系統(tǒng),只能用隨機(jī)存貯器RAM加掉電保護(hù)電路實(shí)現(xiàn),。掉電保護(hù)系統(tǒng)一般由低功耗的CMOS-RAM,、供電電路及控制電路組成,。供電電路保證系統(tǒng)正常時(shí)由電源給RAM供電,掉電時(shí)自動(dòng)轉(zhuǎn)到備用電池給RAM供電,;控制電路保證在電源供電時(shí)RAM正常讀寫(xiě),,電池供電時(shí)RAM處于保護(hù)狀態(tài),特別要防止系統(tǒng)上電/掉電過(guò)程中的瞬間干擾對(duì)RAM芯片的寫(xiě)入而改變RAM中的數(shù)據(jù),?;赗AM的掉電保護(hù)電路既具有RAM的高速寫(xiě)入、寫(xiě)入次數(shù)無(wú)限制的特點(diǎn),,又能象ROM那樣長(zhǎng)時(shí)間保存數(shù)據(jù),,因此得到了廣泛的應(yīng)用。實(shí)現(xiàn)上述原理的掉電保護(hù)方法很多,,某些廠(chǎng)商甚至以RAM為基礎(chǔ)內(nèi)置電池開(kāi)發(fā)出自掉電保護(hù)芯片,,用這類(lèi)獨(dú)立的掉電保護(hù)芯片或電路構(gòu)成的單片機(jī)系統(tǒng),實(shí)際應(yīng)用中有時(shí)會(huì)出現(xiàn)工作不穩(wěn)定現(xiàn)象,。經(jīng)分析發(fā)現(xiàn):若系統(tǒng)電源的變化使RAM先處于保護(hù)狀態(tài),,而系統(tǒng)尚未復(fù)位,單片機(jī)仍正常工作,,這時(shí)就出現(xiàn)寫(xiě)不進(jìn),,讀不出的現(xiàn)象,引發(fā)系統(tǒng)故障,。對(duì)于這種單片機(jī)復(fù)位電平與掉電保護(hù)電平不一致而影響系統(tǒng)可靠性的問(wèn)題,,本文提出用微處理器監(jiān)控電路使單片機(jī)復(fù)位與掉電保護(hù)聯(lián)動(dòng)的解決方案。RAM在單片機(jī)復(fù)位時(shí)處于保護(hù)狀態(tài),,工作時(shí)正常存取,,從而有效地解決前述問(wèn)題。

2 MAX791[1]芯片介紹
   MAX791是MAXIM公司生產(chǎn)的高性能微處理器電源監(jiān)視電路,,它與AMDA公司的AMD791性能
相同可以互換,。功能包括微處理器復(fù)位、備用電池切換,、看門(mén)狗電路,、CMOS-RAM寫(xiě)入保護(hù)及
電源故障告警等,邏輯框圖如圖2—1[1],。圖中VCC,、VOUT分別為電源輸入、輸出,,VBATT為
電池輸入,,

為電源低輸出,為RAM芯片使能輸入與輸出,

復(fù)位輸出,,

為人工復(fù)位輸入,,為低將強(qiáng)制RESET有效,SWT,、WDI,、分別

為看門(mén)狗定時(shí)設(shè)置,、觸發(fā)輸入、超時(shí)輸出和超時(shí)脈沖,。PFI和

分別為電源故障輸入和輸出,,

PFI低于1.25 V時(shí)

變低。

MAX791的復(fù)位時(shí)序如圖2—2[1]所示,。

 

 

3 掉電保護(hù)電路設(shè)計(jì) 3.1 硬件設(shè)計(jì) 圖3—1給出了一種帶掉電保護(hù)的MCS-51[2],、[3]單片機(jī)應(yīng)用系統(tǒng)的原理圖?! ?76C88是CMOS型的RAM芯片,,其容量為8K×8,它有兩個(gè)片選端和CS2,,只有為低電平同時(shí)CS2為高電平時(shí)芯片才被選中,。因此將CS2接MAX791的輸出端,同時(shí)寫(xiě)允許信號(hào)通過(guò)MAX791的使能控制輸入端和輸出端,,間接從MCS-51的引入,,保證在系統(tǒng)復(fù)位期間不能讀寫(xiě),有效地保護(hù)了76C88中的數(shù)據(jù),。結(jié)合圖2—2 MAX791的復(fù)位時(shí)序,,圖3—1的電路工作原理分析如下?! ?/p>

    上電過(guò)程:當(dāng)VCC從OV上升到復(fù)位門(mén)限1.65V,,

輸出仍將維持有效電平200ms的時(shí)間,保證電源電壓正常后系統(tǒng)的有效復(fù)位,。

有效期間76C88的CS2處于低電平,,即片選信號(hào)無(wú)效,保證上電過(guò)程中片內(nèi)數(shù)據(jù)不被改寫(xiě),。當(dāng)VCC大于VBATT時(shí),,VOUT自動(dòng)切換到與VCC相接,76C88轉(zhuǎn)由VCC供電,。

    正常工作:在此狀態(tài)下,,CS2為高電平,通過(guò)MAX791的使能電路復(fù)制,單片機(jī)可對(duì)76C88進(jìn)行讀寫(xiě)操作,。為防止程序跑飛,,提高系統(tǒng)的可靠性,在程序中插入看門(mén)狗觸發(fā)指令,,即P1.7的置位/復(fù)位指令,,程序正常執(zhí)行時(shí)經(jīng)常觸發(fā)WDI。當(dāng)程序跑飛超過(guò)1.6 s不能觸發(fā)看門(mén)狗時(shí),,輸出低電平,,通過(guò)MR使系統(tǒng)復(fù)位。在此期間VCC通過(guò)二級(jí)管D1,、電阻R1給后備電池充電,。

掉電過(guò)程:當(dāng)VCC從正常電壓下降到復(fù)位門(mén)限4.65V時(shí),立即有效,,CS2變成低電平,,76C88進(jìn)入保護(hù)狀態(tài),保證掉電過(guò)程中片內(nèi)數(shù)據(jù)不被改寫(xiě),。當(dāng)VCC小于VBATT時(shí),,VOUT自動(dòng)切換到與VBATT相接,76C88轉(zhuǎn)由后備電池供電,。 對(duì)多數(shù)應(yīng)用系統(tǒng),,上電復(fù)位后程序從頭開(kāi)始即能滿(mǎn)足要求,但對(duì)某些系統(tǒng)如由多道工序組成的流水線(xiàn)控制系統(tǒng),,突然停電后再來(lái)電時(shí)應(yīng)接著原來(lái)的工序往下執(zhí)行,,這就要求計(jì)算機(jī)記錄停電瞬間的系統(tǒng)參數(shù),重新來(lái)電時(shí)根據(jù)記錄的參數(shù)繼續(xù)往下執(zhí)行,。     利用MAX791的電源報(bào)警功能,,能方便地達(dá)到這一目的:分析圖2-2,當(dāng)VCC下降到4.65V+150mV時(shí),,產(chǎn)生負(fù)跳變,,向單片機(jī)發(fā)中斷請(qǐng)求,因貯能效應(yīng),,VCC從4.8 V降到4.65 V有幾個(gè)ms的時(shí)間,,足夠單片機(jī)執(zhí)行幾百條甚至上千條指令,利用這段時(shí)間在中斷服務(wù)程序中保護(hù)斷點(diǎn)及實(shí)時(shí)參數(shù),。重新來(lái)電后轉(zhuǎn)入斷點(diǎn)繼續(xù)執(zhí)行,。 3.2 軟件設(shè)計(jì)   圖3—1所示單片機(jī)系統(tǒng)的軟件可分成主程序和電源報(bào)警中斷服務(wù)程序兩部分。主程序中必須插入指令經(jīng)常觸發(fā)WDI,,且間隔時(shí)間不能超過(guò)1.6s,,報(bào)警中斷必須設(shè)置為非屏蔽中斷沒(méi)有可以將設(shè)置成唯一的一個(gè)高級(jí)中斷以替代,。程序流程圖如圖3—2。

 

4 結(jié)束語(yǔ)   將復(fù)位與掉電保護(hù)聯(lián)動(dòng),,能有效解決掉電保護(hù)與復(fù)位不協(xié)調(diào)引起的系統(tǒng)工作不穩(wěn)定現(xiàn)象,,提高掉電保護(hù)電路及單片機(jī)應(yīng)用系統(tǒng)的可靠性。以MAX791微處理器監(jiān)控電路構(gòu)成的單片機(jī)掉

電保護(hù)系統(tǒng),,在電力,、石化等工業(yè)現(xiàn)場(chǎng)應(yīng)用效果十分理想。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。