ARM嵌入式系統集成的設計._第1頁
ARM嵌入式系統集成的設計._第2頁
ARM嵌入式系統集成的設計._第3頁
ARM嵌入式系統集成的設計._第4頁
ARM嵌入式系統集成的設計._第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、嵌入式系統掉電保護設計方案學生姓名學 系 專陳斌號 07B01010231別業計算機科學與技術信息系嵌入式系統掉電保護的一種設計方法設計方案一、背景介紹我們知道,在嵌入式系統設計與開發中越來越多地應用嵌入式操作系統。由于操作系統的引入,數據的讀寫往往是通過文件的方式完成,而不是直接對存儲單元地址操作。用文件讀寫方式操作數據,在程序的運行過程中往往將數據暫存在易失性的存儲空間,如SDRAM一旦系統意外失電,這些數據往往被丟失。因此,當系統意外失電時必須采取一定的措施進 行系統的掉電保護,以避免系統產生混亂。總的說來,防掉電程序的主要思路就是:產生掉電信號,捕捉掉電信號,處理掉電信號和數據以及現場

2、狀態的恢復。如果不引入操作系統, 直接對存儲單元進行數據操作,每次操作的數據量小, 可以利用中斷服務的方式進行掉電保護;而用文件的方式進行數據操作,數據量一般比較大,因此基 于中斷服務的方式進行掉電保護已經不再可靠。二、設計目標系統防掉電設計的目的是:采用一種機制,使得系統在意外失去供電的情況下,可以保證系統運行狀態的確定性以及記錄數據的完整性;當系統供電恢復后,現場數據可以及時恢復,避免應用系統產生混亂。三、系統原理及框圖1、掉電保護方案實現的系統基礎ARM7系列的微處理器支持八種類型的中斷處理。外部中斷請求會在外部中斷引腳有效 (一般是低電平),并且程序狀態寄存器相關位(即CPSR的 I控

3、制位)設置為允許時得到處理器響應。響應后處理器進入中斷工作模式,PC被裝人中斷向量 0x00000018。在這個地址單元存放中斷服務程序人口地址,中斷服務程序就可以被執行。在掉電保護方案中,中斷服務程序很簡單,就是將表示掉電的全局變量置位即可。這樣可以縮短程序執行時間。Flash存儲器是一種可在系統(in system)進行電擦寫,電后信息不丟失的存儲器。它 具有低功耗、大容量、可整片或分扇區在系統編程(燒寫)、擦除等特點,并且可由內部嵌入的算法完成對芯片的操作,因而在各種嵌入式系統中得到了廣泛的應用。作為一種非易失性3.3V。與 Flash 存儲存儲器。Flash在系統中通常用于存放程序代碼

4、、常量表以及一些在系統掉電后需要保存的 用戶數據等。常用的 Flash為8位或16位的數據寬度,編程電壓為單器相比較,SDRAM不具有掉電保持數據的特性,但其存取速度大大高于Flash存儲器,且具要采取一種有效的機制有讀/寫的屬性,因此,SDRAM在系統中主要用作程序的運行空間、數據及堆棧區。當系統 啟動時,CPU首先從復位地址0x0處讀取啟動代碼,在完成系統的初始化后,程序代碼一般 應調入SDRAM中運行,以提高系統的運行速度,同時,系統及用戶堆棧、運行數據也都放在 SDRAI中。SDRAM勺存儲單元可以理解為一個電容,總是傾向于放電,為避免數據丟失,必 須定時刷新(充電)。因此,要在系統中

5、使用 SDRAM就要求微處理器具有刷新控制邏輯,或 在系統中另外加入刷新控制邏輯電路,特別的情況是在系統失電后,確保將SDRAM中的數據寫入 F1ash中。2、基于掉電保護方案的硬件設計S3C4510B,是基于類似于PC機的內SDRAM中,圖1是一種典型的嵌入式系統硬件設計方案。系統的微處理器采用 ARM7體系結構的。SDRAM是 一種易失性存儲器作為程序的運行空間, 存;Flash作為程序存儲空間是非易失性的。程序運行過程中的數據往往緩存在 在系統失電時必須寫往 Flash 。I UARTZ控制會 | JTAG SDRAMNANDFUiht P .!1YS3C451GB電路BUFFER串口5

6、:I/O以太網擴w部件按口圖1典型的嵌入式系統硬件設計方案在系統中,需要使用 5V和3.3V的直流穩壓電源。其中,S3C4510B及部分外圍器件需 3.3V電源,另外部分器件需5V電源。為簡化系統電源電路的設計,要求整個系統的輸入電壓為高質量的5V的直流穩壓電源。有別于一般的電源回路設計,本系統的電源回路設計過 程中增加了有關掉電保護的設計。包含這個設計的系統電源電路如圖2所示。R_RESET 丄I h<XlNTREQOP8)>VSSMAX8WC2 C3fD OjpF 4JF/2JVCI0.1 gF<SV>CON2I C4 JoT4.7F/2.7V|LTI085CT-3

7、3下w一筆I牛牛*2昭圖2電源電路原理這個電源回路除了可以提供由供電回路1給整個MAX809 模塊輸XREQ0產生;5v和3.3V的電源以外,還為系統掉電保護提供了延時及預 警功能,通過軟件的配合可以實現系統的掉電保護機制。正常情況下,系統供電。當系統由于意外原因掉電時,由于輸入的比較電壓降低,這樣 出電壓產生翻轉為系統提供掉電中斷預警信號,中斷請求通過外部中斷引腳同時供電回路2開始啟用。通過大電容 C3、c4放電,繼續為系統提供一段供電電壓,支持 掉電中斷服務程序完成。供電回路2只給最小系統供電,并不給耗電量大的外圍部件供電。這樣,給最小系統的供電時間足夠長,可以完成敏感數據的保護操作。 通

8、過軟件測算,電容放電可供最小系統工作時間在0.54.5S之間。這種測算方法很簡單編寫一個掉電中斷服務子程序,這個程序只是不斷進行時間刷新操作。同樣,可以通過軟件測定在這段時間里向 Flash擦寫23MB可見,在采用這種硬件體制的情況下,系統掉電 保護能夠得到可靠的保證。四、軟件流程在卩Clinux系統下,掉電信號的捕捉有兩種方式可以進行。一種是運用系統調用,即采用void(*signal(intsig , void(*func)(int)(int)。這個函數可以為特定的中斷信號安排制訂的執行函數,用參數func傳遞。在 卩Cllnux中,共有31個系統中斷信號,其中掉電信號為SIGPWR假設掉

9、電中斷服務處理程序為void interrupt-service(int),則中斷服務與信號關聯的方式為:signal(SIGPWR , interrupt_service)。這種方式充分利用系統調查閱有關Unix Linux 和 Unix 中。主程序用,實現簡單。在掉電保護方案設計初期也是采用這種機制。但事實證明這種機制并不可靠,其原因是Linux內核產生和管理信號的機制并不完善,有可能存在信號丟失。或L1nux的相關資料,可以發現這種狀況也普遍存在于某些其他版本的所謂原子操作即劃定的在每個原子操作前,主進主進程首先保存狀態標志,另一種方式是采用守候進程的方式,開通一個進程,此進程專門等待中

10、斷信號。根據數據操作對象的不同,將自己的流程方案劃分成若干原子操作,程序塊要么完全執行,要么不執行。每個操作對應惟一狀態標志。程都將會通過管道通信的方式閱讀中斷信號。如果中斷信號產生,然后將相關數據寫往Flash后退出,電源恢復后,主進程首先根據標志字確定系統恢復方案。圖3用流程圖的方式實現這一過程。( 開始初始化;讀取上次關機狀態字1初始化沒備* tt整用戶口令T安勒系班消息旬柄1開幻子進程子進胃讀NYYNiNY改寫狀態字保frftftSNY慷了噪前閱讀干進稈菩道俏息圖3利用守候進程方式捕捉掉電信號 下面是實現這一過程的程序片斷 :pid.t iHtLpwri / * 存放 f進程編號/ i

11、nt pipe_pwrlll» / tfifl 文件描迖數組 * / char buf仙BUFFERSIZE.char signaLf«il "power failed*J管誼創建if(pipc< pipe-Pwr)crr_exiT(*(>cat pipe failed . n*> i/ 創讀掉電信號f進稈*/ if( (pid_pwr= vforkO) <0) crr_cxit(*Fork failed. n*) i/ 這個訂分支ft讀ft電信號f進程else if(pid_pvvr = 0clo5e( pii>c_pwr0)whi

12、le( 1) / * gct_pwr_interrupt()判斷右無掉電佰號* / if (get 一p wr_interrupt< ) ! =0)(/*通過骨道向主進程寫信號-/writeC piiX'jJwrL I signALfaU»strIen< signaLfail)/ 這是父進程處理應用程序, else rl(M;e(pipp_pwrLl J) i/主程序4毎個原子檢作的讀掉電怙號*/ rcad( pipe.pwrO > buffer BUFFERSIZE) i J/i掉電倍號/if(slrcmp( buffer.siRnaLfail) = =0) /*

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論