《電子技術應用》
您所在的位置:首頁 > 電源技術 > 設計應用 > 嵌入式系統掉電保護的設計方案
嵌入式系統掉電保護的設計方案
摘要: 在嵌入式系統設計過程中,系統的掉電保護越來越受到重視。本文介紹的方法是在用ARM7系列芯片S3C4510B和μClinux構建的嵌入式平臺上實現的。整個掉電保護實現的基本思路是:產生掉電信號,捕捉掉電信號和處理掉電信號。重點介紹這個過程的具體實現。系統防掉電設計的目的是:采用一種機制,使得系統在意外失去供電的情況下,可以保證系統運行狀態的確定性以及記錄數據的完整性;當系統供電恢復后,現場數據可以及時恢復,避免應用系統產生混亂。我們知道,在嵌入式系統設計與開發中越來越多地應用嵌入式操作系統。由于操作系統的引入,數據的讀寫往往是通過文件的方式完成,而不是直接對存儲單元地址操作。用文件讀寫方式操作數據,在程序的運行過程中往往將數據暫存在易失性的存儲空間,如SDRAM,一旦系統意外失電,這些數據往往被丟失。因此,當系統意外失電時必須采取一定的措施進行系統的掉電保護,以避免系統產生混亂。總的說來,防掉電程序的主要思路就是:產生掉電信號,捕捉掉電信號,處理掉電信號和數據以及現場狀態的恢復。如果不引入操作系統,直接對存儲單元進行數據操作,每次操作的數據量小,可以利用中斷服務的方式進行掉電保護;而用文件的方式進行數據操作,數
Abstract:
Key words :

  在嵌入式系統設計過程中,系統的掉電保護越來越受到重視。本文介紹的方法是在用ARM7系列芯片S3C4510B和μClinux構建的嵌入式平臺上實現的。整個掉電保護實現的基本思路是:產生掉電信號,捕捉掉電信號和處理掉電信號。重點介紹這個過程的具體實現。

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

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

  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位嵌入式系統開學中具有典玨型代表意義。因此在嵌人式系統設計中具有推廣價值。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲丁香婷深爱综合| 欧美影院在线| 狠狠干成人综合网| 国产日韩欧美综合一区| 国产精品一区二区久久国产| 欧美视频在线不卡| 欧美三区视频| 国产精品v日韩精品| 国产精品ⅴa在线观看h| 欧美午夜片欧美片在线观看| 欧美午夜视频网站| 国产精品免费观看视频| 国产精品人人做人人爽| 国产日本欧美视频| 国内久久婷婷综合| 精品粉嫩aⅴ一区二区三区四区| 国内精品国产成人| 伊人久久婷婷| 亚洲人成在线影院| 一区二区国产精品| 亚洲一区免费在线观看| 午夜日韩av| 亚洲国产精品久久久久秋霞蜜臀 | 亚洲一区精品电影| 小黄鸭精品aⅴ导航网站入口| 欧美一区三区三区高中清蜜桃| 欧美在线一区二区| 久久嫩草精品久久久精品一| 欧美刺激午夜性久久久久久久| 欧美激情偷拍| 国产精品久久一卡二卡| 国产亚洲欧美另类中文| 亚洲国产aⅴ天堂久久| 亚洲精品影院在线观看| 一本久久a久久免费精品不卡| 亚洲影院免费观看| 亚洲国产二区| 亚洲天堂网在线观看| 久久成人免费网| 麻豆freexxxx性91精品| 欧美日韩国产不卡| 国产日韩欧美综合精品| 亚洲高清自拍| 亚洲午夜精品久久久久久浪潮| 篠田优中文在线播放第一区| 亚洲激情一区| 亚洲综合国产| 免费成人高清| 国产精品s色| 欲香欲色天天天综合和网| 99riav国产精品| 欧美一级理论片| 99v久久综合狠狠综合久久| 欧美中文在线视频| 欧美理论电影在线播放| 国产区精品视频| 91久久久久久| 亚洲欧美在线免费观看| 亚洲开发第一视频在线播放| 欧美亚洲一区二区三区| 米奇777在线欧美播放| 国产精品免费看片| 亚洲福利视频一区二区| 亚洲欧美另类综合偷拍| 日韩天堂在线视频| 欧美中文字幕久久| 欧美日韩免费看| 韩国av一区二区三区四区| 中文国产成人精品| 亚洲精品乱码久久久久久蜜桃麻豆| 午夜精品影院| 欧美美女喷水视频| 韩国三级在线一区| 亚洲一本大道在线| 亚洲激情网站免费观看| 欧美在线免费视屏| 欧美日韩国产在线| 亚洲电影一级黄| 欧美一级理论性理论a| 亚洲尤物影院| 欧美理论电影在线观看| 一区二区在线不卡| 午夜在线视频一区二区区别 | 亚洲欧美偷拍卡通变态| 欧美欧美天天天天操| 在线免费观看日本一区| 午夜伦欧美伦电影理论片| 亚洲一区二区三区涩| 欧美不卡三区| 海角社区69精品视频| 亚洲永久字幕| 亚洲一区高清| 欧美日韩在线直播| 亚洲激情国产精品| 亚洲欧洲综合另类| 久久婷婷av| 国产亚洲电影| 小辣椒精品导航| 西西人体一区二区| 国产精品地址| 亚洲免费精彩视频| 99pao成人国产永久免费视频| 男人天堂欧美日韩| 狠狠做深爱婷婷久久综合一区| 午夜亚洲视频| 欧美伊人久久久久久午夜久久久久| 欧美三级午夜理伦三级中文幕| 亚洲黄色在线看| 91久久国产精品91久久性色| 久久亚洲精品欧美| 国产在线精品一区二区中文| 欧美一区二区三区成人| 久久精品国产欧美亚洲人人爽| 国产精品一区二区视频| 亚洲一区黄色| 先锋影音久久| 国产喷白浆一区二区三区 | 欧美伊人久久大香线蕉综合69| 久久高清福利视频| 国产亚洲欧洲一区高清在线观看 | 亚洲欧美日韩国产成人精品影院| 国产精品igao视频网网址不卡日韩| 99精品视频一区二区三区| 一区二区三区日韩在线观看| 欧美日韩在线高清| 亚洲私人影院在线观看| 午夜精品久久久久久| 国产欧美日韩三区| 久久aⅴ国产紧身牛仔裤| 久久久精品999| 亚洲第一伊人| 99精品视频免费观看视频| 欧美精品在欧美一区二区少妇| 亚洲三级免费观看| 在线视频亚洲| 国产精品久久久久久av福利软件 | 久久久久久久精| 精品成人a区在线观看| 亚洲三级影片| 欧美日韩一卡| 亚洲欧美国产77777| 久久精品卡一| 精品动漫一区二区| 日韩亚洲精品在线| 国产精品免费电影| 久久精品国产清高在天天线| 欧美成人一二三| 9l国产精品久久久久麻豆| 午夜精品免费视频| 激情伊人五月天久久综合| 亚洲美女尤物影院| 国产精品久久国产三级国电话系列| 亚洲女与黑人做爰| 毛片基地黄久久久久久天堂| 亚洲理伦在线| 久久精品91久久久久久再现| 亚洲国产精品视频一区| 亚洲一区二区3| 国产性做久久久久久| 亚洲国产中文字幕在线观看| 欧美日韩国产专区| 性亚洲最疯狂xxxx高清| 欧美成人在线免费视频| 亚洲午夜高清视频| 久久综合成人精品亚洲另类欧美| 亚洲黄色尤物视频| 性欧美xxxx大乳国产app| 亚洲电影在线看| 午夜日韩电影| 亚洲第一伊人| 欧美一级午夜免费电影| 亚洲国产精品久久久久婷婷老年 | 亚洲一区二区精品在线观看| 国产日韩免费| av成人老司机| 国产视频一区免费看| 99精品99久久久久久宅男| 国产日韩成人精品| 99精品国产福利在线观看免费| 国产日韩欧美亚洲| 一区二区久久| 极品av少妇一区二区| 亚洲欧美日韩专区| 亚洲国产影院| 久久精品免费电影| 一区二区久久久久久| 久久亚洲国产精品一区二区| 亚洲视频一区二区| 欧美大片一区二区| 亚洲欧美日韩精品在线| 欧美精品福利视频| 亚洲国产精品传媒在线观看| 国产精品久久午夜| 亚洲作爱视频| 在线免费观看日本欧美| 欧美亚洲网站| 一区二区精品| 欧美理论在线| 亚洲经典一区| 国内伊人久久久久久网站视频|