新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式系統的掉電保護設計

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

        作者: 時間:2013-10-17 來源:網絡 收藏

        通過軟件測算,電容放電可供最小系統工作時間在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位嵌入式系統開學中具有典玨型代表意義。因此在嵌人式系統設計中具有推廣價值。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 偃师市| 本溪| 天峻县| 崇礼县| 肃南| 平邑县| 磴口县| 芜湖县| 莱芜市| 茶陵县| 乌鲁木齐县| 叙永县| 太白县| 九龙城区| 尚义县| 安新县| 北宁市| 万安县| 东港市| 嘉峪关市| 富顺县| 十堰市| 唐海县| 共和县| 长汀县| 阜康市| 宜黄县| 崇信县| 定远县| 会泽县| 延寿县| 同仁县| 汾阳市| 昭苏县| 绥棱县| 吉安市| 天水市| 乳源| 宿迁市| 黑河市| 凤台县|