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