單片機(jī)應(yīng)用系統(tǒng)斷電時(shí)的數(shù)據(jù)保護(hù)方法
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在測(cè)量、控制等領(lǐng)域的應(yīng)用中,常要求單片機(jī)內(nèi)部和外部RAM中的數(shù)據(jù)在電源掉電時(shí)不丟失,重新加電時(shí),RAM中的數(shù)據(jù)能夠保存完好,這就要求對(duì)單片機(jī)系統(tǒng)加接掉電保護(hù)電路。掉電保護(hù)通??刹捎靡韵氯N方法:一是加接不間斷電源,讓整個(gè)系統(tǒng)在掉電時(shí)繼續(xù)工作,二是采用備份電源,掉電后保護(hù)系統(tǒng)中全部或部分?jǐn)?shù)據(jù)存儲(chǔ)單元的內(nèi)容;三是采用EEPROM來(lái)保存數(shù)據(jù)。由于第一種方法體積大、成本高,對(duì)單片機(jī)系統(tǒng)來(lái)說(shuō),不宜采用。第二種方法是根據(jù)實(shí)際需要,掉電時(shí)保存一些必要的數(shù)據(jù),使系統(tǒng)在電源恢復(fù)后,能夠繼續(xù)執(zhí)行程序,因而經(jīng)濟(jì)實(shí)用,故大量采用[1]。EEPROM既具有ROM掉電不丟失數(shù)據(jù)的特點(diǎn),又有RAM隨機(jī)讀寫(xiě)的特點(diǎn)。但由于其讀寫(xiě)速度與讀寫(xiě)次數(shù)的限制,使得EEPROM不能完全代替RAM。下面將介紹最常用的一些掉電保護(hù)的處理方法,希望能對(duì)相關(guān)設(shè)計(jì)人員在實(shí)際工作中有所幫助。
1簡(jiǎn)單的RAM數(shù)據(jù)掉電保護(hù)電路
在具有掉電保護(hù)功能的單片機(jī)系統(tǒng)中,一般采用CMOS單片機(jī)和CMOSRAM。CMOS型RAM存儲(chǔ)器靜態(tài)電源小,在正常工作狀態(tài)下一般由電源向片外RAM供電,而在斷電狀態(tài)下由小型蓄電池向片外RAM供電,以保存有用數(shù)據(jù),采用這種方法保存數(shù)據(jù),時(shí)間一般在3-5個(gè)月[2]。然而,系統(tǒng)在上電及斷電過(guò)程中,總線狀態(tài)的不確定性往往導(dǎo)致RAM內(nèi)某些數(shù)據(jù)的變化,即數(shù)據(jù)受到?jīng)_失。因此對(duì)于斷電保護(hù)數(shù)據(jù)用的RAM存儲(chǔ)器,除了配置供電切換電路外,還要采取數(shù)據(jù)防沖失措施,當(dāng)電源突然斷電時(shí),電壓下降有個(gè)過(guò)程,CPU在此過(guò)程中會(huì)失控,可能會(huì)誤發(fā)出寫(xiě)信而沖失RAM中的數(shù)據(jù),僅有電池是不能有效完成數(shù)據(jù)保護(hù)的,還需要對(duì)片選信號(hào)加以控制,保證整個(gè)切換過(guò)程中CS引腳的信號(hào)一直保持接近VCC。通常,采用在RAM的CS和VCC引腳之間接一個(gè)電阻來(lái)實(shí)現(xiàn)COMSRAM的電源切換,然而,如果在掉電時(shí),譯碼器的輸出出現(xiàn)低電平,就可能出現(xiàn)問(wèn)題,圖1給出一種簡(jiǎn)單的電路設(shè)計(jì),它能夠避免上述問(wèn)題的產(chǎn)生。
圖1中,4060開(kāi)關(guān)電路起到對(duì)CS控制的作用。當(dāng)電壓小于等于4.5V時(shí)就使開(kāi)關(guān)斷開(kāi),CS線上拉至"1",這樣,RAM中的數(shù)據(jù)就不會(huì)沖失;當(dāng)電壓大于4.5V時(shí),4060開(kāi)關(guān)接通,使RAM能正常進(jìn)行讀寫(xiě)。
2可靠的RAM掉電保護(hù)電路
上述的電路雖然簡(jiǎn)單,但有時(shí)可能起不到RAM掉電保護(hù)的作用,原因是在電源掉電和重新加電的過(guò)程中,電源電壓躍變的干擾可能使RAM瞬間處于讀寫(xiě)狀態(tài),使原來(lái)RAM中的數(shù)據(jù)遭到破壞,因此,在掉電剛剛開(kāi)始以及重新加電直到電源電壓保持穩(wěn)定下來(lái)之前,RAM應(yīng)處于數(shù)據(jù)保持狀態(tài),6264RAM、5101RAM等RAM芯片上都有一個(gè)CE2引腳,在一般情況下需將此引腳拉高,當(dāng)把該引腳拉至小于或等于0.2V時(shí),RAM就進(jìn)入數(shù)據(jù)保持狀態(tài)。
實(shí)用的靜態(tài)RAM掉電保護(hù)電路如圖2所示,圖2中U1、U2為電壓比較器,穩(wěn)壓管D3提供一個(gè)基準(zhǔn)電壓Vr(Vr=3.5V)。當(dāng)Vcc為5V時(shí),在R4上得到的分壓大于Vr,U2輸出高電平,又因?yàn)閁4輸出也為高電平,故CE2輸出為高電位,單片機(jī)此時(shí)可對(duì)RAM進(jìn)行存取,當(dāng)電源掉電時(shí),Vcc開(kāi)始下降,當(dāng)滿足如下條件時(shí):
R4×Vcc/[(R4+R3)/(R5+R6)]≥Vr
U2輸出低電平,通過(guò)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),再通過(guò)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為一塊四施秘特與非門(mén)(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利用TL7705對(duì)現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行保護(hù)
單片機(jī)構(gòu)成的應(yīng)用系統(tǒng)在突然斷電時(shí),往往使片內(nèi)RAM數(shù)據(jù)遭到破壞,下面介紹一種利用TL7705構(gòu)成的電源監(jiān)控電路,使單片機(jī)系統(tǒng)在掉電時(shí)自動(dòng)保護(hù)現(xiàn)場(chǎng)數(shù)據(jù)。
3.1TL7705的工作原理