【转载】单片机应用系统断电时的数据保护方法
平原大學(xué) 蘇明強(qiáng) 鄺濤 | |||
在測(cè)量、控制等領(lǐng)域的應(yīng)用中,常要求單片機(jī)內(nèi)部和外部RAM中的數(shù)據(jù)在電源掉電時(shí)不丟失,重新加電時(shí),RAM中的數(shù)據(jù)能夠保存完好,這就要求對(duì)單片機(jī)系統(tǒng)加接掉電保護(hù)電路。掉電保護(hù)通常可采用以下三種方法:一是加接不間斷電源,讓整個(gè)系統(tǒng)在掉電時(shí)繼續(xù)工作,二是采用備份電源,掉電后保護(hù)系統(tǒng)中全部或部分?jǐn)?shù)據(jù)存儲(chǔ)單元的內(nèi)容;三是采用EEPROM來保存數(shù)據(jù)。由于第一種方法體積大、成本高,對(duì)單片機(jī)系統(tǒng)來說,不宜采用。第二種方法是根據(jù)實(shí)際需要,掉電時(shí)保存一些必要的數(shù)據(jù),使系統(tǒng)在電源恢復(fù)后,能夠繼續(xù)執(zhí)行程序,因而經(jīng)濟(jì)實(shí)用,故大量采用[1]。EEPROM既具有ROM掉電不丟失數(shù)據(jù)的特點(diǎn),又有RAM隨機(jī)讀寫的特點(diǎn)。但由于其讀寫速度與讀寫次數(shù)的限制,使得EEPROM不能完全代替RAM。下面將介紹最常用的一些掉電保護(hù)的處理方法,希望能對(duì)相關(guān)設(shè)計(jì)人員在實(shí)際工作中有所幫助。 2 可靠的RAM掉電保護(hù)電路 U2 輸出低電平,通過U5和U6使CE2輸出小于等于0.2V,RAM進(jìn)入數(shù)據(jù)保持狀態(tài)(按圖2中元件參數(shù)代入上式,當(dāng)Vcc降到4.7V時(shí),U2輸出為低電位)。若Vcc繼續(xù)下降使U3翻轉(zhuǎn),再通過D4、U4和U6進(jìn)一步保證CE2為低電平。此外,當(dāng)Vcc下降到小于E時(shí),D2截止,D1導(dǎo)通,這時(shí)E作為 RAM的備份電源,當(dāng)單片機(jī)重新加電時(shí),Vcc由0躍變到5V時(shí),U2的輸出端會(huì)出現(xiàn)瞬間的干擾脈沖,由于U3和U4間電路的積分延遲(約0.7RC), CE2并不立即升到高電平,因而阻止了U2的干擾脈沖,當(dāng)延時(shí)結(jié)束時(shí),電源電壓已穩(wěn)定在5V,此后CE2升高,單片機(jī)便可對(duì)RAM進(jìn)行存取。圖2中U3和 U6為一塊四施秘特與非門(CD4093),該電路直接由E供電,這樣才能保證掉電后使CE2≤0.2V,并在重新加電時(shí)CE2不受電源電壓躍變的干擾,比較器U1和U2為電源供電,Vcc為后備電源U1的電壓監(jiān)視電路,當(dāng)后備電池快用完時(shí)(小于3.5V),發(fā)光管會(huì)發(fā)出亮光,表明要換上新電池,備份電源可用3節(jié)5號(hào)干電池,也可以采用鋰電池或鎳電池。 3.2 TL7705與80C51單片機(jī)的接法 在某些單片機(jī)應(yīng)用系統(tǒng)中需要在系統(tǒng)掉電時(shí)記憶當(dāng)前現(xiàn)場(chǎng)狀態(tài),以使電源恢復(fù)后能繼續(xù)從斷電處運(yùn)行,圖4是以80C51單片機(jī)為例采用其空閑方式或掉電方式,在備用電池支持下實(shí)現(xiàn)掉電后的數(shù)據(jù)保護(hù)。 圖4 中,R1、C1和74LSO4構(gòu)成單片機(jī)的上電自動(dòng)復(fù)位和手動(dòng)按鈕復(fù)位電路,備用電池P1及D1、D2實(shí)現(xiàn)掉電時(shí)備用電池的切換。電源正常時(shí)D1不導(dǎo)通,+5V直接給單片機(jī)供電,并為電池P1充電,為了減小電池耗電,備用電池只給單片機(jī)供電,保護(hù)片內(nèi)RAM中的數(shù)據(jù),電源掉電后,其他外圍電路的工作電壓僅靠電源電容維持很短的時(shí)間,電位器RW用來調(diào)節(jié)檢測(cè)電壓,范圍為4.5-4.75V,當(dāng)?shù)綦姇r(shí),外圍電路的電壓下降到門限設(shè)定電壓時(shí),可將片外RAM中需要保護(hù)的數(shù)據(jù)寫入片內(nèi)RAM中,并使單片機(jī)進(jìn)入掉電工作方式以完成數(shù)據(jù)保護(hù),為了保證單片機(jī)有足夠的處理時(shí)間,取檢測(cè)電壓為4.75V,當(dāng)電源電壓降至 4.75V時(shí),TL7705由RESET反向單片機(jī)發(fā)出中斷請(qǐng)求信號(hào)(INTO反)。單片機(jī)運(yùn)行到一個(gè)可斷斷點(diǎn)后,相應(yīng)中斷,在中斷服務(wù)程序中保護(hù)現(xiàn)場(chǎng)數(shù)據(jù),使單片機(jī)進(jìn)入掉電工作狀態(tài)。 4 采用軟件冗余措施保證數(shù)據(jù)的準(zhǔn)確性。 最常用的一種方法是采用軟件冗余措施,即將欲保護(hù)的數(shù)據(jù)寫入RAM中的不同區(qū)域,如0000H-00FFH、0100H-01FFH和0200H- 02FFH這三個(gè)區(qū)域存儲(chǔ)同樣一組數(shù)據(jù),當(dāng)使用這些數(shù)據(jù)前,先對(duì)各組進(jìn)行檢查,對(duì)于正確的數(shù)據(jù)方可應(yīng)用,同時(shí)將錯(cuò)誤的數(shù)據(jù)進(jìn)行修正,在上電與斷電過程中,總線不確寫性是隨機(jī)的,不可將所有數(shù)據(jù)完全沖失。采用硬件對(duì)數(shù)據(jù)進(jìn)行斷電保護(hù),同時(shí)在軟件上采用冗余的措施是最常用的數(shù)據(jù)保護(hù)方法,在斷電突然發(fā)生時(shí)可保證數(shù)據(jù)的準(zhǔn)確無誤。 | |||
| | |||
本文摘自《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》 |
轉(zhuǎn)載于:https://www.cnblogs.com/harber/archive/2007/12/08/988002.html
總結(jié)
以上是生活随笔為你收集整理的【转载】单片机应用系统断电时的数据保护方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 再想想-----***
- 下一篇: Windows Server 2003