<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式系統的掉電保護方案設計

嵌入式系統的掉電保護方案設計

作者: 時(shí)間:2012-10-31 來(lái)源:網(wǎng)絡(luò ) 收藏

設計過(guò)程中,的掉電越來(lái)越受到重視。本文介紹的方法是在用ARM7系列芯片S3C4510B和μClinux構建的平臺上實(shí)現的。整個(gè)掉電實(shí)現的基本思路是:產(chǎn)生掉電信號,捕捉掉電信號和處理掉電信號。重點(diǎn)介紹這個(gè)過(guò)程的具體實(shí)現。

本文引用地址:http://dyxdggzs.com/article/148288.htm

防掉電設計的目的是:采用一種機制,使得系統在意外失去供電的情況下,可以保證系統運行狀態(tài)的確定性以及記錄數據的完整性;當系統供電恢復后,現場(chǎng)數據可以及時(shí)恢復,避免應用系統產(chǎn)生混亂。我們知道,在系統設計與開(kāi)發(fā)中越來(lái)越多地應用嵌入式操作系統。由于操作系統的引入,數據的讀寫(xiě)往往是通過(guò)文件的方式完成,而不是直接對存儲單元地址操作。用文件讀寫(xiě)方式操作數據,在程序的運行過(guò)程中往往將數據暫存在易失性的存儲空間,如SDRAM,一旦系統意外失電,這些數據往往被丟失。因此,當系統意外失電時(shí)必須采取一定的措施進(jìn)行系統的掉電,以避免系統產(chǎn)生混亂??偟恼f(shuō)來(lái),防掉電程序的主要思路就是:產(chǎn)生掉電信號,捕捉掉電信號,處理掉電信號和數據以及現場(chǎng)狀態(tài)的恢復。

如果不引入操作系統,直接對存儲單元進(jìn)行數據操作,每次操作的數據量小,可以利用中斷服務(wù)的方式進(jìn)行掉電保護;而用文件的方式進(jìn)行數據操作,數據量一般比較大,因此基于中斷服務(wù)的方式進(jìn)行掉電保護已經(jīng)不再可靠。本文研究的對象是基于操作系統的較為復雜的嵌入式系統設計過(guò)程中的掉電保護。

1 掉電保護方案實(shí)現的系統基礎

掉電保護是在由ARM體系的硬件平臺和μClinux嵌入式操作系統的基礎上實(shí)現的。

ARM7系列的微處理器支持八種類(lèi)型的中斷處理。外部中斷請求會(huì )在外部中斷引腳有效(一般是低電平),并且程序狀態(tài)寄存器相關(guān)位(即CPSR的I控制位)設置為允許時(shí)得到處理器響應。響應后處理器進(jìn)入中斷工作模式,PC被裝人中斷向量0x00000018。在這個(gè)地址單元存放中斷服務(wù)程序人口地址,中斷服務(wù)程序就可以被執行。在掉電保護方案中,中斷服務(wù)程序很簡(jiǎn)單,就是將表示掉電的全局變量置位即可。這樣可以縮短程序執行時(shí)間。

Flash存儲器是一種可在系統(in system)進(jìn)行電擦寫(xiě),電后信息不丟失的存儲器。它具有低功耗、大容量、可整片或分扇區在系統編程(燒寫(xiě))、擦除等特點(diǎn),并且可由內部嵌入的算法完成對芯片的操作,因而在各種嵌入式系統中得到了廣泛的應用。作為一種非易失性存儲器。Flash在系統中通常用于存放程序代碼、常量表以及一些在系統掉電后需要保存的用戶(hù)數據等。常用的Flash為8位或16位的數據寬度,編程電壓為單3.3V。與Flash存儲器相比較,SDRAM不具有掉電保持數據的特性,但其存取速度大大高于Flash存儲器,且具有讀/寫(xiě)的屬性,因此,SDRAM在系統中主要用作程序的運行空間、數據及堆棧區。當系統啟動(dòng)時(shí),CPU首先從復位地址0x0處讀取啟動(dòng)代碼,在完成系統的初始化后,程序代碼一般應調入SDRAM中運行,以提高系統的運行速度,同時(shí),系統及用戶(hù)堆棧、運行數據也都放在SDRAM中。SDRAM的存儲單元可以理解為一個(gè)電容,總是傾向于放電,為避免數據丟失,必須定時(shí)刷新(充電)。因此,要在系統中使用SDRAM,就要求微處理器具有刷新控制邏輯,或在系統中另外加入刷新控制邏輯電路,特別的情況是在系統失電后,要采取一種有效的機制確保將sDRAM中的數據寫(xiě)入F1ash中。

2 基于掉電保護方案的硬件設計

圖1是一種典型的嵌入式系統硬件設計方案。系統的微處理器采用S3c4510B,是基于A(yíng)RM7體系結構的。SDRAM是一種易失性存儲器作為程序的運行空間,類(lèi)似于PC機的內存;Flash作為程序存儲空間是非易失性的。程序運行過(guò)程中的數據往往緩存在sDRAM中,在系統失電時(shí)必須寫(xiě)往Flash。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 方案設計 保護 系統 嵌入式

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>