系統防掉電設計的目的是:采用一種機制,使得系統在意外失去供電的情況下,可以保證系統運行狀態的確定性以及記錄數據的完整性;當系統供電恢復后,現場數據可以及時恢復,避免應用系統產生混亂。我們知道,在嵌入式系統設計與開發中越來越多地應用嵌入式操作系統。由于操作系統的引入,數據的讀寫往往是通過文件的方式完成,而不是直接對存儲單元地址操作。用文件讀寫方式操作數據,在程序的運行過程中往往將數據暫存在易失性的存儲空間,如SDRAM,一旦系統意外失電,這些數據往往被丟失。因此,當系統意外失電時必須采取一定的措施進行系統的掉電保護,以避免系統產生混亂。總的說來,防掉電程序的主要思路就是:產生掉電信號,捕捉掉電信號,處理掉電信號和數據以及現場狀態的恢復。
如果不引入操作系統,直接對存儲單元進行數據操作,每次操作的數據量小,可以利用中斷服務的方式進行掉電保護;而用文件的方式進行數據操作,數據量一般比較大,因此基于中斷服務的方式進行掉電保護已經不再可靠。本文研究的對象是基于操作系統的較為復雜的嵌入式系統設計過程中的掉電保護。
1 掉電保護方案實現的系統基礎
掉電保護是在由ARM體系的硬件平臺和μClinux嵌入式操作系統的基礎上實現的。
ARM7系列的微處理器支持八種類型的中斷處理。外部中斷請求會在外部中斷引腳有效(一般是低電平),并且程序狀態寄存器相關位(即CPSR的I控制位)設置為允許時得到處理器響應。響應后處理器進入中斷工作模式,PC被裝人中斷向量0x00000018.在這個地址單元存放中斷服務程序人口地址,中斷服務程序就可以被執行。在掉電保護方案中,中斷服務程序很簡單,就是將表示掉電的全局變量置位即可。這樣可以縮短程序執行時間。
Flash存儲器是一種可在系統(in system)進行電擦寫,電后信息不丟失的存儲器。它具有低功耗、大容量、可整片或分扇區在系統編程(燒寫)、擦除等特點,并且可由內部嵌入的算法完成對芯片的操作,因而在各種嵌入式系統中得到了廣泛的應用。作為一種非易失性存儲器。Flash在系統中通常用于存放程序代碼、常量表以及一些在系統掉電后需要保存的用戶數據等。常用的Flash為8位或16位的數據寬度,編程電壓為單3.3V.與Flash存儲器相比較,SDRAM不具有掉電保持數據的特性,但其存取速度大大高于Flash存儲器,且具有讀/寫的屬性,因此,SDRAM在系統中主要用作程序的運行空間、數據及堆棧區。當系統啟動時,CPU首先從復位地址0x0處讀取啟動代碼,在完成系統的初始化后,程序代碼一般應調入SDRAM中運行,以提高系統的運行速度,同時,系統及用戶堆棧、運行數據也都放在SDRAM中。SDRAM的存儲單元可以理解為一個電容,總是傾向于放電,為避免數據丟失,必須定時刷新(充電)。因此,要在系統中使用SDRAM,就要求微處理器具有刷新控制邏輯,或在系統中另外加入刷新控制邏輯電路,特別的情況是在系統失電后,要采取一種有效的機制確保將sDRAM中的數據寫入F1ash中。
2 基于掉電保護方案的硬件設計
圖1是一種典型的嵌入式系統硬件設計方案。系統的微處理器采用S3c4510B,是基于ARM7體系結構的。SDRAM是一種易失性存儲器作為程序的運行空間,類似于PC機的內存;Flash作為程序存儲空間是非易失性的。程序運行過程中的數據往往緩存在sDRAM中,在系統失電時必須寫往Flash.

在系統中,需要使用5V和3.3V的直流穩壓電源。其中,S3C4510B及部分外圍器件需3.3V電源,另外部分器件需5V電源。為簡化系統電源電路的設計,要求整個系統的輸入電壓為高質量的5V的直流穩壓電源。有別于一般的電源回路設計,本系統的電源回路設計過程中增加了有關掉電保護的設計。包含這個設計的系統電源電路如圖2所示。

這個電源回路除了可以提供5v和3.3v的電源以外,還為系統掉電保護提供了延時及預警功能,通過軟件的配合可以實現系統的掉電保護機制。正常情況下,由供電回路1給整個系統供電。當系統由于意外原因掉電時,由于輸入的比較電壓降低,這樣MAX809 模塊輸出電壓產生翻轉為系統提供掉電中斷預警信號,中斷請求通過外部中斷引腳XREQ0產生;同時供電回路2開始啟用。通過大電容C3、c4放電,繼續為系統提供一段供電電壓,支持掉電中斷服務程序完成。供電回路2只給最小系統供電,并不給耗電量大的外圍部件供電。這樣,給最小系統的供電時間足夠長,可以完成敏感數據的保護操作。
通過軟件測算,電容放電可供最小系統工作時間在0.5~4.5S之間。這種測算方法很簡單。編寫一個掉電中斷服務子程序,這個程序只是不斷進行時間刷新操作。同樣,可以通過軟件測定在這段時間里向Flash擦寫2~3MB.可見,在采用這種硬件體制的情況下,系統掉電保護能夠得到可靠的保證。
3 掉電信號處理軟件方法的實現
在μClinux系統下,掉電信號的捕捉有兩種方式可以進行。一種是運用系統調用,即采用void(*signal(intslg,void(*func)(int)))(int)。這個函數可以為特定的中斷信號安排制訂的執行函數,用參數func傳遞。在μCllnux中,共有31個系統中斷信號,其中掉電信號為SIGPWR.假設掉電中斷服務處理程序為void interrupt-servICe(int),則中斷服務與信號關聯的方式為:signal(SIGPWR,interrupt_service)。這種方式充分利用系統調用,實現簡單。在掉電保護方案設計初期也是采用這種機制。但事實證明這種機制并不可靠,其原因是Linux內核產生和管理信號的機制并不完善,有可能存在信號丟失。查閱有關Unix或L1nux的相關資料,可以發現這種狀況也普遍存在于某些其他版本的Linux和Unix中。
另一種方式是采用守候進程的方式,開通一個進程,此進程專門等待中斷信號。主程序根據數據操作對象的不同,將自己的流程方案劃分成若干原子操作,所謂原子操作即劃定的程序塊要么完全執行,要么不執行。每個操作對應惟一狀態標志。在每個原子操作前,主進程都將會通過管道通信的方式閱讀中斷信號。如果中斷信號產生,主進程首先保存狀態標志,然后將相關數據寫往Flash后退出,電源恢復后,主進程首先根據標志字確定系統恢復方案。圖3用流程圖的方式實現這一過程。

下面是實現這一過程的程序片斷:


結語
基于該方案設計的稅控收款機在實際運行過程中,掉電保護功能完備。此掉電保護設計方法應用對象基于ARM和μClinux構建的嵌入式系統,在32位嵌入式系統開學中具有典玨型代表意義。因此在嵌人式系統設計中具有推廣價值。
上一篇:嵌入式系統中電源管理電路的設計與實現
下一篇:基于Cortex-A8嵌入式實驗平臺的設計與實現
推薦閱讀
史海拾趣
關于Condor公司在電子行業的發展,以下是五個相關故事:
- Condor的創始與早期發展
Condor公司成立于1893年,起初主要涉及離心機、擠奶機以及泵的生產。隨著技術的不斷進步和市場需求的變化,公司逐漸轉型,開始專注于壓力和液位控制組件及系統解決方案的研發與生產。這一轉變使得Condor在電子行業中嶄露頭角,為其后續的發展奠定了堅實的基礎。
- 專利技術的突破
1935年,Condor取得了世界上的泵壓力開關上的第一個專利,這一創新性的技術突破為公司的快速發展注入了新的動力。隨著這項專利技術的應用,Condor的產品開始在各種工業領域中得到廣泛應用,特別是在需要精確控制壓力和液位的場景中,如汽車、冶金、水火核風電等行業。
- 國際市場的拓展與合作
隨著全球化進程的加速,Condor開始積極拓展國際市場。公司與多個國家的合作伙伴建立了長期穩定的合作關系,共同開發新產品,拓展新的應用領域。這一戰略舉措不僅提升了Condor在全球電子行業中的影響力,也為其帶來了更多的商業機會。
- 產品質量的持續提升
Condor一直堅持以最高的質量要求來生產每一款產品。為了確保產品質量,公司在生產過程中嚴格把控每一個環節,從原材料采購到最終的產品測試,都遵循嚴格的標準和流程。這種對質量的執著追求,使得Condor的產品在市場上贏得了良好的口碑和客戶的信賴。
- 技術創新的持續推進
作為家族企業,Condor始終保持著對技術創新的熱情和投入。公司不斷引進新的技術和設備,優化生產流程,提高產品的性能和可靠性。同時,Condor還積極與科研機構和高校合作,共同研發新的技術和產品,以滿足市場不斷變化的需求。這種持續的技術創新為Condor在電子行業中保持領先地位提供了有力支持。
以上五個故事展示了Condor公司在電子行業中的發展歷程和關鍵轉折點,體現了其對技術、質量和市場的敏銳洞察力和持續創新精神。如需更多信息,建議查閱Condor公司官網或相關新聞報道。
永源微電子(APM)公司創立于2017年,前身可追溯到臺灣漢磊科技。作為漢磊科技的全資子公司,香港艾柏霖科技有限公司的功率器件事業部,永源微電子繼承了豐富的技術積累和市場資源。公司創立之初,便確立了專注于集成電路設計、制造與銷售的戰略方向。通過引進國際先進的生產工藝和研發團隊,永源微電子逐漸在電子行業中嶄露頭角,為后續的快速發展奠定了堅實基礎。
作為一家高新技術企業,長運通深知技術創新的重要性。公司投入大量資源用于研發,不斷推出具有競爭力的新產品。例如,在電源管理IC領域,長運通成功研發出多款高性能、低功耗的產品,滿足了客戶對于高效、穩定電源管理的需求。在LED光源方面,公司也取得了多項技術突破,推出了多款高效、環保的LED照明產品。這些技術突破和創新不僅提升了公司的市場競爭力,也為公司贏得了更多的客戶信任。
倍(DBIC)公司始終關注社會責任和可持續發展。公司積極參與環保活動,推動綠色生產。同時,倍(DBIC)公司還關注員工福利和社區發展,通過慈善捐贈和公益活動回饋社會。這些舉措不僅提升了倍(DBIC)公司的社會形象,也為公司的長期發展奠定了堅實基礎。
為了進一步拓展全球業務,Cooper Industries在2007年收購了韓國防爆電力設備制造商Hyundai Explosion-Proof Electric Co.。這一收購使公司能夠更好地進入韓國市場,并充分利用韓國在造船業以及國內能源與石化基礎設施方面的優勢。通過這次收購,Cooper Industries不僅提升了在韓國市場的競爭力,也為其在全球防爆電力設備市場的地位打下了堅實基礎。這一舉措再次展現了Cooper Industries在全球化戰略中的遠見卓識和果斷行動。
這五個故事只是Cooper Industries發展歷程中的一部分,但它們足以展現出公司在電子行業中的卓越地位和不斷創新的精神。通過全球擴張、收購整合、技術創新和市場拓展等方式,Cooper Industries不斷壯大自身實力,為行業的發展做出了積極貢獻。
在發展過程中,貝爾金也通過收購其他公司來增強自身實力。例如,2013年貝爾金正式完成對Linksys的收購,這一舉措進一步豐富了其產品線,并加強了在網絡設備領域的競爭力。此外,貝爾金還通過不斷整合內部資源,優化生產流程,提高產品質量和效率。
00-05年職業資格有關法規大全 來源: 全國勞動力市場 2005年11月20日10:22 編輯: 德州市青年人才中心 關于外國人在中國就業持職業資格證書有關問題的函(勞社廳函[2005]323號) ·關于我部職業技能鑒定中心 ...… 查看全部問答∨ |
|
我寫了一個從串口輸出字符的函數[sent_string()],但是如下面的函數調用時,能輸出字符“UVW”,不能輸出“AAA”;在ADS1.2里有都能輸出。 char b[]="UVW"; init_urat();   ...… 查看全部問答∨ |
|
感覺身邊使用MSP430的客戶特別多,網上資料多,參考書籍也很多,便開始評價MSP430系列MCU。 看到網上開發工具很多,也有免費申請的,便申請了一套學習板。開始學習使用,下載示例代碼,修改測試,享受開發的樂趣。 &nb ...… 查看全部問答∨ |
我這個是LED共陽的顯示,為什么是9999而不是9111呢?我哪里編程錯了嗎 ORG 00HLJMP MAINMAIN:MOV 91H,#00HMOV 92H,#0FFHMOV 0B1H,#00HMOV 0B2H,#0FFH MOV 70H,#00HMOV 71H,#00HMOV 72H,#00HMOV 73H,#00H L:LCALL XSLJMP LXS:MOV R0,#01HMOV R1,#70HXS1:MOV A,@R1MOV DPTR,#TABLEMOVC A,@A+DPTRMOV P1,AMOV P3,R0LCALL ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 高通攜手中國“汽車朋友圈”亮相2025上海車展: 加速駕駛輔助普惠,推動艙駕創新升級
- 工業市場正在快速回暖,德州儀器如何重塑電力電子市場?
- 特斯拉:美國交付的Model Y/3電池包已實現100%美國生產
- 地平線與博世深化合作,攜手為多家車企提供輔助駕駛產品
- 強化中國市場戰略布局,德州儀器正靈活應對全球關稅挑戰
- Molex莫仕通過本地合作和創新加強支持中國汽車行業
- 貿澤開售Texas Instruments適用于高分辨率AR HUD的 全新DLP4620S-Q1 0.46"汽車數字微鏡器件
- ROHM推出高功率密度的新型SiC模塊,將實現車載充電器小型化!
- 用上車規級UFS 4.0,讓出行變得高效且可靠
- 車載測試技術解析:聚焦高帶寬、多通道同步采集與協議分析