單片機(jī)系統(tǒng)中法拉電容的數(shù)據(jù)保護(hù)研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
在測(cè)量、控制等領(lǐng)域的嵌入式系統(tǒng)應(yīng)用中,常要求系統(tǒng)內(nèi)部和外部數(shù)據(jù)存儲(chǔ)器(RAM)中的數(shù)據(jù)在電源掉電時(shí)不丟失,重新加電時(shí)RAM中的數(shù)據(jù)能夠保存完好,以保證系統(tǒng)穩(wěn)定、可靠地工作和數(shù)據(jù)信息處理的安全。這就要求對(duì)系統(tǒng)加接掉電保護(hù)措施。掉電保護(hù)可采用以下三種方法:
一是加接不問斷電源。由于這種方法體積大、成本高,對(duì)單片機(jī)系統(tǒng)來說,不宜采用。
二是采用EEPROM來保存數(shù)據(jù)。但由于其讀寫速度與讀寫次數(shù)的限制,使得EEPROM不能完全代替RAM。
三是采用備份電池,掉電后保護(hù)系統(tǒng)中全部或部分?jǐn)?shù)據(jù)存儲(chǔ)單元的內(nèi)容。
顯然,上述第三種方法是比較可行的。實(shí)際應(yīng)用中,往往采用內(nèi)置鋰電池的非易失性靜態(tài)隨機(jī)存取存儲(chǔ)器(nonvolatile SRAM)。例如Dallas半導(dǎo)體公司的DS1225,由于采用鋰電池作為存儲(chǔ)器備份電源,數(shù)據(jù)可以完好保存10年以上。但這種方案的缺點(diǎn)是成本高,且鋰電池會(huì)造成環(huán)境污染。
法拉電容也叫超級(jí)電容器,雙電層電容,其體積小、容量大、電壓記憶特性好、可靠性高。與充電電池相比,具有充電時(shí)間短、功率密度高、使用壽命長、低溫特性好及無環(huán)境污染等優(yōu)勢(shì)。在數(shù)據(jù)保護(hù)電路中采用法拉電容取代電池作后備電源,在提高系統(tǒng)可靠性、延長壽命、降低設(shè)備成本和維護(hù)成本等方面,有十分重要的意義。
本文將通過一個(gè)設(shè)計(jì)案例,具體介紹法拉電容在單片機(jī)系統(tǒng)的RAM數(shù)據(jù)保護(hù)中的應(yīng)用,為嵌入式系統(tǒng)中RAM數(shù)據(jù)保護(hù)提供一種可行的參考方法。
某一采用UT6264C-70LL作為RAM的單片機(jī)系統(tǒng),在系統(tǒng)掉電后,要求RAM的數(shù)據(jù)后備時(shí)間達(dá)到5天。
1 硬件設(shè)計(jì)
采用法拉電容作為RAM后備電源,法拉電容后備時(shí)間的典型計(jì)算公式為:
式中:C(F)為法拉電容的標(biāo)稱容量,Umin(V)為電路中的正常工作電壓,Umin(V)為電路能工作的最低電壓,t(s)為電路中后備時(shí)間,I(A)為電路的負(fù)載電流。
UT6264CSC-70LL的典型數(shù)據(jù)保持電流為1 μA,工作電壓為5 V,數(shù)據(jù)保持所需電壓最低為2 V。取O.1 F的法拉電容,計(jì)算得到RAM的數(shù)據(jù)后備時(shí)間為3.35天。而實(shí)際上,當(dāng)RAM的電源電壓降低時(shí),其數(shù)據(jù)保持電流將減小,因而后備時(shí)間可以延長。
另外,電源出現(xiàn)波動(dòng)時(shí),RAM的片選引腳、寫使能引腳及數(shù)據(jù)線端口也容易引入干擾或不正常的控制時(shí)序,從而破壞RAM中的數(shù)據(jù)。因此,需要通過電路設(shè)計(jì),確保電源不正常時(shí)讀寫控制端口時(shí)序可控,從而增強(qiáng)RAM數(shù)據(jù)的安全。
電路原理圖如圖1所示。
當(dāng)電源正常時(shí),5 V電源VCC通過快速整流二極管D1給RAM(U2:UT6264)供電,并通過R1給法拉電容(C1:FMOH104Z)充電。掉電時(shí),D1截止,法拉電容C1作為備份電源,通過R1為U2供電,保證RAM中數(shù)據(jù)不消失。
在掉電過程中或電源出現(xiàn)波動(dòng)時(shí),為了增強(qiáng)RAM數(shù)據(jù)的安全性,采用了專用電源監(jiān)控芯片(U3:IMP706),提供系統(tǒng)的監(jiān)控功能。上電、掉電和電網(wǎng)電壓過低時(shí)會(huì)輸出復(fù)位信號(hào),同時(shí)還能跟蹤1.6 s的定時(shí)信號(hào),為軟件運(yùn)行提供看門狗定時(shí)器(watchdog timer)防護(hù)。當(dāng)電源電壓掉至約4.74 V時(shí),U3向CPU(U1:AT89S52)輸出掉電信號(hào)(PW_DN),CPU進(jìn)行掉電應(yīng)急處理和保護(hù)現(xiàn)場,不向RAM芯片進(jìn)行任何讀寫操作。當(dāng)電源電壓進(jìn)一步掉至4.4 V時(shí),U3產(chǎn)生復(fù)位信號(hào),CPU被復(fù)位,同時(shí)RAM芯片U2的片選引腳CE2也被置為低電平,確保U2不被讀寫操作。
2 軟件設(shè)計(jì)
本案例電路的地址定義是:RAM地址范圍(8 KB)為0000H~1FFFH;看門狗定時(shí)器控制地址為E000H。
軟件包括主控制程序、掉電中斷處理程序、定時(shí)中斷處理程序等。
(1)主控制程序
上電進(jìn)行必要的CPU初始化后,檢查正常掉電標(biāo)志和RAM Check Sum計(jì)算檢查,以確認(rèn)RAM中數(shù)據(jù)是否正常。如果正常,就進(jìn)行掉電前的現(xiàn)場恢復(fù)。其主程序流程框圖如圖2所示。
(2)掉電中斷處理程序
CPU收到掉電信號(hào)(PW_DN)中斷時(shí),CPU進(jìn)行掉電應(yīng)急處理和保護(hù)現(xiàn)場,設(shè)置正常掉電標(biāo)志,保存RAMCheck Sum計(jì)算結(jié)果,以備上電時(shí)檢查RAM數(shù)據(jù)是否被破壞。其流程框圖如圖3所示。
(3)定時(shí)中斷處理程序
看門狗定時(shí)器電路需要在每1.6 s內(nèi)清零,在定時(shí)中斷處理程序中調(diào)用看門狗清零子程序。定時(shí)中斷時(shí)間要設(shè)在1.6 s以內(nèi),例如100ms。定時(shí)中斷處理流程框圖如圖4所示。
結(jié) 語
在本應(yīng)用實(shí)例中,經(jīng)測(cè)試,掉電后RAM數(shù)據(jù)后備時(shí)間是10~14天,且數(shù)據(jù)可靠,系統(tǒng)運(yùn)行穩(wěn)定。顯然,選擇更大容值的法拉電容將有更長的后備時(shí)間。在控制系統(tǒng)的產(chǎn)品設(shè)計(jì)中,為提高產(chǎn)品的可靠性、降低成本、增強(qiáng)產(chǎn)品在市場上的競爭力,本文提供的方案具有參考價(jià)值。