51單片機系統(tǒng)斷電時的數(shù)據(jù)保護方法
在測量、控制等領(lǐng)域的應(yīng)用中,常要求單片機內(nèi)部和外部RAM中的數(shù)據(jù)在電源掉電時不丟失,重新加電時,RAM中的數(shù)據(jù)能夠保存完好,這就要求對單片機系統(tǒng)加接掉電保護電路。掉電保護通??刹捎靡韵氯N方法:一是加接不間斷電源,讓整個系統(tǒng)在掉電時繼續(xù)工作,二是采用備份電源,掉電后保護系統(tǒng)中全部或部分數(shù)據(jù)存儲單元的內(nèi)容;三是采用EEPROM來保存數(shù)據(jù)。由于第一種方法體積大、成本高,對單片機系統(tǒng)來說,不宜采用。第二種方法是根據(jù)實際需要,掉電時保存一些必要的數(shù)據(jù),使系統(tǒng)在電源恢復(fù)后,能夠繼續(xù)執(zhí)行程序,因而經(jīng)濟實用,故大量采用[1]。EEPROM既具有ROM掉電不丟失數(shù)據(jù)的特點,又有RAM隨機讀寫的特點。但由于其讀寫速度與讀寫次數(shù)的限制,使得EEPROM不能完全代替RAM。下面將介紹最常用的一些掉電保護的處理方法,希望能對相關(guān)設(shè)計人員在實際工作中有所幫助。
1簡單的RAM數(shù)據(jù)掉電保護電路
在具有掉電保護功能的單片機系統(tǒng)中,一般采用CMOS單片機和CMOSRAM。CMOS型RAM存儲器靜態(tài)電源小,在正常工作狀態(tài)下一般由電源向片外RAM供電,而在斷電狀態(tài)下由小型蓄電池向片外RAM供電,以保存有用數(shù)據(jù),采用這種方法保存數(shù)據(jù),時間一般在3-5個月[2]。然而,系統(tǒng)在上電及斷電過程中,總線狀態(tài)的不確定性往往導(dǎo)致RAM內(nèi)某些數(shù)據(jù)的變化,即數(shù)據(jù)受到?jīng)_失。因此對于斷電保護數(shù)據(jù)用的RAM存儲器,除了配置供電切換電路外,還要采取數(shù)據(jù)防沖失措施,當電源突然斷電時,電壓下降有個過程,CPU在此過程中會失控,可能會誤發(fā)出寫信而沖失RAM中的數(shù)據(jù),僅有電池是不能有效完成數(shù)據(jù)保護的,還需要對片選信號加以控制,保證整個切換過程中CS引腳的信號一直保持接近VCC。通常,采用在RAM的CS和VCC引腳之間接一個電阻來實現(xiàn)COMSRAM的電源切換,然而,如果在掉電時,譯碼器的輸出出現(xiàn)低電平,就可能出現(xiàn)問題,圖1給出一種簡單的電路設(shè)計,它能夠避免上述問題的產(chǎn)生。
圖1中,4060開關(guān)電路起到對CS控制的作用。當電壓小于等于4.5V時就使開關(guān)斷開,CS線上拉至"1",這樣,RAM中的數(shù)據(jù)就不會沖失;當電壓大于4.5V時,4060開關(guān)接通,使RAM能正常進行讀寫。
2可靠的RAM掉電保護電路
上述的電路雖然簡單,但有時可能起不到RAM掉電保護的作用,原因是在電源掉電和重新加電的過程中,電源電壓躍變的干擾可能使RAM瞬間處于讀寫狀態(tài),使原來RAM中的數(shù)據(jù)遭到破壞,因此,在掉電剛剛開始以及重新加電直到電源電壓保持穩(wěn)定下來之前,RAM應(yīng)處于數(shù)據(jù)保持狀態(tài),6264RAM、5101RAM等RAM芯片上都有一個CE2引腳,在一般情況下需將此引腳拉高,當把該引腳拉至小于或等于0.2V時,RAM就進入數(shù)據(jù)保持狀態(tài)。
實用的靜態(tài)RAM掉電保護電路如圖2所示,圖2中U1、U2為電壓比較器,穩(wěn)壓管D3提供一個基準電壓Vr(Vr=3.5V)。當Vcc為5V時,在R4上得到的分壓大于Vr,U2輸出高電平,又因為U4輸出也為高電平,故CE2輸出為高電位,單片機此時可對RAM進行存取,當電源掉電時,Vcc開始下降,當滿足如下條件時:
R4×Vcc/[(R4+R3)/(R5+R6)]≥Vr
U2輸出低電平,通過U5和U6使CE2輸出小于等于0.2V,RAM進入數(shù)據(jù)保持狀態(tài)(按圖2中元件參數(shù)代入上式,當Vcc降到4.7V時,U2輸出為低電位)。若Vcc繼續(xù)下降使U3翻轉(zhuǎn),再通過D4、U4和U6進一步保證CE2為低電平。此外,當Vcc下降到小于E時,D2截止,D1導(dǎo)通,這時E作為RAM的備份電源,當單片機重新加電時,Vcc由0躍變到5V時,U2的輸出端會出現(xiàn)瞬間的干擾脈沖,由于U3和U4間電路的積分延遲(約0.7RC),CE2并不立即升到高電平,因而阻止了U2的干擾脈沖,當延時結(jié)束時,電源電壓已穩(wěn)定在5V,此后CE2升高,單片機便可對RAM進行存取。圖2中U3和U6為一塊四施秘特與非門(CD4093),該電路直接由E供電,這樣才能保證掉電后使CE2≤0.2V,并在重新加電時CE2不受電源電壓躍變的干擾,比較器U1和U2為電源供電,Vcc為后備電源U1的電壓監(jiān)視電路,當后備電池快用完時(小于3.5V),發(fā)光管會發(fā)出亮光,表明要換上新電池,備份電源可用3節(jié)5號干電池,也可以采用鋰電池或鎳電池。
3利用TL7705對現(xiàn)場數(shù)據(jù)進行保護
單片機構(gòu)成的應(yīng)用系統(tǒng)在突然斷電時,往往使片內(nèi)RAM數(shù)據(jù)遭到破壞,下面介紹一種利用TL7705構(gòu)成的電源監(jiān)控電路,使單片機系統(tǒng)在掉電時自動保護現(xiàn)場數(shù)據(jù)。
3.1TL7705的工作原理
TL7705是電源監(jiān)控用集成電路,采用8腳雙列直插式封裝,其內(nèi)部結(jié)構(gòu)圖3所示。圖3中,基準電壓發(fā)生器具有較高的穩(wěn)定性,可由1腳輸出2.5V基準電壓,為了吸收電源的同脈沖干擾,通常在1腳上接一個0.1μF的濾波電容來提高其抗干擾能力,被監(jiān)控的電源電壓由SENSE端7腳引入,經(jīng)過R1和R2分壓后送入比較器CMP1,與基準電壓進行比較,當其值小于基準電壓時,T1導(dǎo)通,定時電容CT通過T1放電,使CMP2比較器翻轉(zhuǎn),T2和T3導(dǎo)通,輸出腳RESET為高電平,SESET反為低電平,當送入CMP1比較器的電壓高于基準電壓時,T1截止100μA恒流源給CT充電,當CT上的電壓高于2.5V時,CMP2比較器翻轉(zhuǎn),T2和T3截止,RESET和RESET反輸出關(guān)斷。
3.2TL7705與80C51單片機的接法
在某些單片機應(yīng)用系統(tǒng)中需要在系統(tǒng)掉電時記憶當前現(xiàn)場狀態(tài),以使電源恢復(fù)后能繼續(xù)從斷電處運行,圖4是以80C51單片機為例采用其空閑方式或掉電方式,在備用電池支持下實現(xiàn)掉電后的數(shù)據(jù)保護。
圖4中,R1、C1和74LSO4構(gòu)成單片機的上電自動復(fù)位和手動按鈕復(fù)位電路,備用電池P1及D1、D2實現(xiàn)掉電時備用電池的切換。電源正常時D1不導(dǎo)通,+5V直接給單片機供電,并為電池P1充電,為了減小電池耗電,備用電池只給單片機供電,保護片內(nèi)RAM中的數(shù)據(jù),電源掉電后,其他外圍電路的工作電壓僅靠電源電容維持很短的時間,電位器RW用來調(diào)節(jié)檢測電壓,范圍為4.5-4.75V,當?shù)綦姇r,外圍電路的電壓下降到門限設(shè)定電壓時,可將片外RAM中需要保護的數(shù)據(jù)寫入片內(nèi)RAM中,并使單片機進入掉電工作方式以完成數(shù)據(jù)保護,為了保證單片機有足夠的處理時間,取檢測電壓為4.75V,當電源電壓降至4.75V時,TL7705由RESET反向單片機發(fā)出中斷請求信號(INTO反)。單片機運行到一個可斷斷點后,相應(yīng)中斷,在中斷服務(wù)程序中保護現(xiàn)場數(shù)據(jù),使單片機進入掉電工作狀態(tài)。
4采用軟件冗余措施保證數(shù)據(jù)的準確性
最常用的一種方法是采用軟件冗余措施,即將欲保護的數(shù)據(jù)寫入RAM中的不同區(qū)域,如0000H-00FFH、0100H-01FFH和0200H-02FFH這三個區(qū)域存儲同樣一組數(shù)據(jù),當使用這些數(shù)據(jù)前,先對各組進行檢查,對于正確的數(shù)據(jù)方可應(yīng)用,同時將錯誤的數(shù)據(jù)進行修正,在上電與斷電過程中,總線不確寫性是隨機的,不可將所有數(shù)據(jù)完全沖失。采用硬件對數(shù)據(jù)進行斷電保護,同時在軟件上采用冗余的措施是最常用的數(shù)據(jù)保護方法,在斷電突然發(fā)生時可保證數(shù)據(jù)的準確無誤。
4采用軟件冗余措施保證數(shù)據(jù)的準確性
最常用的一種方法是采用軟件冗余措施,即將欲保護的數(shù)據(jù)寫入RAM中的不同區(qū)域,如0000H-00FFH、0100H-01FFH和0200H-02FFH這三個區(qū)域存儲同樣一組數(shù)據(jù),當使用這些數(shù)據(jù)前,先對各組進行檢查,對于正確的數(shù)據(jù)方可應(yīng)用,同時將錯誤的數(shù)據(jù)進行修正,在上電與斷電過程中,總線不確寫性是隨機的,不可將所有數(shù)據(jù)完全沖失。采用硬件對數(shù)據(jù)進行斷電保護,同時在軟件上采用冗余的措施是最常用的數(shù)據(jù)保護方法,在斷電突然發(fā)生時可保證數(shù)據(jù)的準確無誤。
51單片機相關(guān)文章:51單片機教程
單片機相關(guān)文章:單片機教程
比較器相關(guān)文章:比較器工作原理
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
雙控開關(guān)相關(guān)文章:雙控開關(guān)原理
評論