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

  在嵌入式系統(tǒng)設(shè)計過程中,系統(tǒng)的掉電保護(hù)越來越受到重視。本文介紹的方法是在用ARM7系列芯片S3C4510B和μClinux構(gòu)建的嵌入式平臺上實(shí)現(xiàn)的。整個掉電保護(hù)實(shí)現(xiàn)的基本思路是:產(chǎn)生掉電信號,捕捉掉電信號和處理掉電信號。重點(diǎn)介紹這個過程的具體實(shí)現(xiàn)。

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

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

  1 掉電保護(hù)方案實(shí)現(xiàn)的系統(tǒng)基礎(chǔ)

  掉電保護(hù)是在由ARM體系的硬件平臺和μClinux嵌入式操作系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)的。

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

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

  2 基于掉電保護(hù)方案的硬件設(shè)計

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

  

 

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

  

 

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

  通過軟件測算,電容放電可供最小系統(tǒng)工作時間在0.5~4.5S之間。這種測算方法很簡單.編寫一個掉電中斷服務(wù)子程序,這個程序只是不斷進(jìn)行時間刷新操作。同樣,可以通過軟件測定在這段時間里向Flash擦寫2~3MB。可見,在采用這種硬件體制的情況下,系統(tǒng)掉電保護(hù)能夠得到可靠的保證。

  3 掉電信號處理軟件方法的實(shí)現(xiàn)

  在μClinux系統(tǒng)下,掉電信號的捕捉有兩種方式可以進(jìn)行。一種是運(yùn)用系統(tǒng)調(diào)用,即采用void(*signal(intslg,void(*func)(int)))(int)。這個函數(shù)可以為特定的中斷信號安排制訂的執(zhí)行函數(shù),用參數(shù)func傳遞。在μCllnux中,共有31個系統(tǒng)中斷信號,其中掉電信號為SIGPWR。假設(shè)掉電中斷服務(wù)處理程序為void interrupt-service(int),則中斷服務(wù)與信號關(guān)聯(lián)的方式為:signal(SIGPWR,interrupt_service)。這種方式充分利用系統(tǒng)調(diào)用,實(shí)現(xiàn)簡單。在掉電保護(hù)方案設(shè)計初期也是采用這種機(jī)制。但事實(shí)證明這種機(jī)制并不可靠,其原因是Linux內(nèi)核產(chǎn)生和管理信號的機(jī)制并不完善,有可能存在信號丟失。查閱有關(guān)Unix或L1nux的相關(guān)資料,可以發(fā)現(xiàn)這種狀況也普遍存在于某些其他版本的Linux和Unix中。

  另一種方式是采用守候進(jìn)程的方式,開通一個進(jìn)程,此進(jìn)程專門等待中斷信號。主程序根據(jù)數(shù)據(jù)操作對象的不同,將自己的流程方案劃分成若干原子操作,所謂原子操作即劃定的程序塊要么完全執(zhí)行,要么不執(zhí)行。每個操作對應(yīng)惟一狀態(tài)標(biāo)志。在每個原子操作前,主進(jìn)程都將會通過管道通信的方式閱讀中斷信號。如果中斷信號產(chǎn)生,主進(jìn)程首先保存狀態(tài)標(biāo)志,然后將相關(guān)數(shù)據(jù)寫往Flash后退出,電源恢復(fù)后,主進(jìn)程首先根據(jù)標(biāo)志字確定系統(tǒng)恢復(fù)方案。圖3用流程圖的方式實(shí)現(xiàn)這一過程。

  

 

  下面是實(shí)現(xiàn)這一過程的程序片斷:

  

 

  

 

  結(jié)語

  基于該方案設(shè)計的稅控收款機(jī)在實(shí)際運(yùn)行過程中,掉電保護(hù)功能完備。此掉電保護(hù)設(shè)計方法應(yīng)用對象基于ARM和μClinux構(gòu)建的嵌入式系統(tǒng),在32位嵌入式系統(tǒng)開學(xué)中具有典玨型代表意義。因此在嵌人式系統(tǒng)設(shè)計中具有推廣價值。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
你懂的网址国产 欧美| 国产精品久久一区二区三区| 一本色道久久综合亚洲二区三区| 欧美怡红院视频| 亚洲欧美在线播放| 中文日韩在线| 一区二区三区你懂的| 999亚洲国产精| 亚洲精品欧美一区二区三区| 亚洲黄色精品| 亚洲全部视频| 亚洲精品一区二区网址| 亚洲精品一二| 99精品国产一区二区青青牛奶| 亚洲伦理在线观看| 亚洲伦伦在线| 亚洲视频精选| 亚洲欧美国产一区二区三区| 亚洲综合精品四区| 亚洲欧美日韩中文播放| 亚洲欧美日韩电影| 欧美在线观看天堂一区二区三区 | 99精品99久久久久久宅男| 亚洲免费成人av| 在线视频免费在线观看一区二区| 国产精品99久久久久久久女警 | 国产精品久久久久久久久久免费| 国产精品久久久久久久7电影| 国产精品亚洲综合| 国产私拍一区| ●精品国产综合乱码久久久久| 亚洲激情二区| 亚洲网站啪啪| 欧美中文字幕视频在线观看| 最新日韩欧美| 9色国产精品| 性刺激综合网| 久久综合九色九九| 欧美精品免费在线| 国产精品蜜臀在线观看| 国产午夜精品福利| 亚洲经典一区| 亚洲在线一区| 亚洲国产91精品在线观看| 日韩视频免费观看| 先锋影音网一区二区| 久久人人97超碰精品888| 欧美精品乱码久久久久久按摩| 欧美丝袜第一区| 国内在线观看一区二区三区| 91久久亚洲| 亚洲欧美日韩一区二区在线| 亚洲国产欧美在线人成| 亚洲夜间福利| 久久综合国产精品| 国产精品yjizz| 精品不卡视频| 亚洲午夜在线视频| 亚洲人成网在线播放| 亚洲欧美中文在线视频| 免费亚洲视频| 国产精品午夜在线观看| 亚洲国内在线| 欧美一区二区日韩| 亚洲视频专区在线| 久久久久久亚洲精品中文字幕| 欧美人与性禽动交情品| 国产亚洲视频在线| 一区二区三区欧美视频| 亚洲激情图片小说视频| 先锋影音久久| 欧美日韩伦理在线免费| 国产亚洲毛片| 一区二区91| 亚洲人成人一区二区在线观看| 欧美一区91| 欧美三级中文字幕在线观看| 黄色成人在线免费| 亚洲午夜精品国产| 99精品视频免费观看视频| 久久九九国产| 国产精品久久久一本精品| 亚洲国产免费看| 欧美一级免费视频| 亚洲性感美女99在线| 欧美高清在线观看| 激情五月***国产精品| 亚洲欧美中文字幕| 亚洲影视在线| 欧美日韩18| 亚洲成色www8888| 久久精品国产精品亚洲综合| 欧美一级理论性理论a| 欧美日韩国产一区二区三区| 在线看不卡av| 久久福利毛片| 欧美在线一区二区三区| 国产精品久久久久永久免费观看| 亚洲精品中文字| 亚洲日韩欧美视频一区| 久久嫩草精品久久久精品| 欧美无砖砖区免费| 99精品视频一区二区三区| 99re这里只有精品6| 欧美成人综合| 亚洲国产精品va在线看黑人动漫| 久久国产婷婷国产香蕉| 久久久噜噜噜久久人人看| 国产美女精品| 性欧美大战久久久久久久免费观看| 亚洲欧美一区二区视频| 国产精品久久久久久久久久久久久| 日韩视频中文字幕| 99精品视频网| 欧美日韩国产一区二区三区地区| 亚洲人www| av成人毛片| 欧美日韩国产在线播放网站| 亚洲国产精品一区二区第四页av| 久久激情五月婷婷| 久久综合国产精品台湾中文娱乐网| 国产综合久久久久影院| 欧美一区二区免费视频| 久久精品日韩欧美| 韩国福利一区| 91久久精品网| 欧美精品粉嫩高潮一区二区| 亚洲欧洲一区二区在线播放| 日韩午夜高潮| 国产精品啊v在线| 亚洲免费一在线| 久久精品国产精品亚洲精品| 国产综合第一页| 91久久久久久久久久久久久| 欧美精品久久一区| 一本色道久久| 久久aⅴ国产欧美74aaa| 国产亚洲福利一区| 亚洲国产精品久久人人爱蜜臀| 免费中文日韩| 亚洲精品视频一区| 亚洲永久网站| 国产视频精品va久久久久久| 久久精品亚洲一区| 欧美精品久久99| 一区二区日韩伦理片| 欧美一区二区在线看| 狠狠久久五月精品中文字幕| 亚洲精品国产视频| 欧美午夜精品伦理| 久久av一区二区| 欧美福利影院| 中文日韩在线| 久久人人97超碰精品888| 亚洲韩国日本中文字幕| 亚洲一区精品在线| 韩国一区二区三区在线观看| 亚洲精品日韩久久| 国产精品久久久久久久久动漫| 欧美在线三级| 欧美日韩一卡二卡| 午夜精品短视频| 欧美激情女人20p| 亚洲图片在线| 欧美freesex8一10精品| 亚洲视频观看| 美女视频一区免费观看| 亚洲少妇在线| 另类尿喷潮videofree| 夜夜嗨一区二区| 久久久亚洲精品一区二区三区| 亚洲人成欧美中文字幕| 性久久久久久久久久久久| 亚洲丰满少妇videoshd| 亚洲午夜视频在线观看| 国内激情久久| 亚洲一二三区精品| 精品成人一区二区三区四区| 国产精品99久久不卡二区| 国内成+人亚洲| 亚洲中字黄色| 亚洲国产日韩欧美| 久久精品二区亚洲w码| 日韩亚洲视频| 欧美91精品| 欧美在线国产| 欧美午夜精品久久久久久超碰| 久久国产日本精品| 国产精品久久久久婷婷| 亚洲另类在线一区| 国产一区二区三区四区三区四| 亚洲天堂男人| 在线观看亚洲专区| 久久精品国产99| 一本色道久久88综合亚洲精品ⅰ| 蜜月aⅴ免费一区二区三区| 亚洲一区免费视频| 欧美日韩精品综合| 亚洲精品乱码久久久久久黑人| 国产三级欧美三级|