国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

嵌入式系統掉電保護方案設計

電子設計 ? 來源:網絡整理 ? 作者:工程師1 ? 2018-04-18 16:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

系統防掉電設計的目的是:采用一種機制,使得系統在意外失去供電的情況下,可以保證系統運行狀態的確定性以及記錄數據的完整性;當系統供電恢復后,現場數據可以及時恢復,避免應用系統產生混亂。我們知道,在嵌入式系統設計與開發中越來越多地應用嵌入式操作系統。由于操作系統的引入,數據的讀寫往往是通過文件的方式完成,而不是直接對存儲單元地址操作。用文件讀寫方式操作數據,在程序的運行過程中往往將數據暫存在易失性的存儲空間,如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位嵌入式系統開學中具有典玨型代表意義。因此在嵌人式系統設計中具有推廣價值。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5198

    文章

    20449

    瀏覽量

    334081
  • ARM7
    +關注

    關注

    3

    文章

    207

    瀏覽量

    51903
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式系統安全設計原則

    隨著物聯網、工業控制和智能設備的普及,嵌入式系統的安全問題越來越突出。一個小小的漏洞,就可能導致設備被入侵、數據泄露,甚至對人身安全產生威脅。因此,從設計階段開始就考慮安全,是每一個嵌入式開發者必須
    的頭像 發表于 01-19 09:06 ?334次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統</b>安全設計原則

    什么是嵌入式應用開發?

    概述 所謂的嵌入式應用開發就是在嵌入式操作系統下進行開發、軟硬件綜合開發 ?嵌入式應用開發?是指在嵌入式操作
    發表于 01-12 16:13

    系統嵌入式的學習路線

    嵌入式技術是各種電子產品的核心技術,也是工業4.0、遠程醫療、3D打印等新興產業的核心技術,具有廣闊的發展前景。很多計算機、電子信息類專業的學生都想把嵌入式開發作為自己的職業目標,但是因為嵌入式涉及
    發表于 12-16 07:49

    什么是嵌入式操作系統

    要理解嵌入式操作系統(Embedded Operating System,簡稱 RTOS/EOS),我們可以從本質定義→核心區別→實際作用→典型特征→嵌入式開發場景適配,五個維度來拆解, 一
    發表于 12-09 10:33

    嵌入式系統的定義和應用領域

    嵌入式系統,簡而言之,就是一種專為特定設備或裝置設計的計算機系統。它們通常配備一個嵌入式處理器,其控制程序被存儲在ROM中。這些系統在許多日
    發表于 11-17 06:49

    嵌入式實時操作系統的特點

    實時嵌入式操作系統(Real-Time Embedded Operating System)是專門設計用于嵌入式系統的實時操作系統
    發表于 11-13 06:30

    如何采用SAFERTOS和ESM保護嵌入式系統安全

    信任根的重要組成部分是實時操作系統(RTOS),它為應用程序的運行提供了一個安全的平臺。嵌入式系統的具體安全要求取決于其架構以及所面臨的威脅。在本博客中,我們將探討RTOS的安全性,以SAFERTOS及其增強安全模塊(ESM)作
    的頭像 發表于 10-24 15:51 ?1461次閱讀

    嵌入式達到什么水平才能就業?

    (三)實戰經驗擁有2-3 個完整嵌入式項目經驗:項目需包含需求分析、方案設計、代碼開發、測試優化全流程,能清晰闡述項目難點與解決方案能獨立排查項目中的軟硬聯調問題:比如通過示波器查看信號波形定位
    發表于 09-15 10:20

    【深度解析】硬件電路設計:如何確保嵌入式數據可靠性?

    嵌入式系統開發中,硬件電路設計是確保數據可靠性的關鍵環節。本期我們將重點探討硬件設計中的兩個重要方面:數據讀寫保護掉電保護。硬件電路設計在
    的頭像 發表于 07-30 11:35 ?725次閱讀
    【深度解析】硬件電路設計:如何確保<b class='flag-5'>嵌入式</b>數據可靠性?

    工業級SSD為什么需要掉電保護?天碩工業級SSD固態硬盤告訴你答案

    在工業控制和嵌入式系統中,電源波動或突發斷電是常見問題。這種情況下,如果SSD正在寫入數據,很可能導致數據丟失或文件系統損壞,甚至引發系統宕機。天碩(TOPSSD)G40工業級固態硬盤
    的頭像 發表于 07-09 17:05 ?830次閱讀

    Linux嵌入式和單片機嵌入式的區別?

    Linux嵌入式與單片機嵌入式在多個方面存在顯著的區別,以下是詳細的比較和歸納: 一、基本概念 1. Linux嵌入式: 定義:將Linux操作系統運行在
    發表于 06-20 09:46

    運行在嵌入式系統上的emApps

    在當今快節奏的嵌入式系統世界中,靈活性和適應性是嵌入式系統實現的關鍵。SEGGER推出了其最新創新:Embedded apps(emApps)應用,類似于手機上的應用程序,可以運行在
    的頭像 發表于 06-18 09:53 ?873次閱讀
    運行在<b class='flag-5'>嵌入式</b><b class='flag-5'>系統</b>上的emApps

    嵌入式主板開發詳細指南

    嵌入式主板開發涉及硬件設計、軟件集成、系統優化等多個環節,需要結合具體應用場景進行深度定制。以下是嵌入式主板開發的詳細指南,涵蓋關鍵步驟、工具、挑戰及實際案例:一、開發流程與關鍵步驟1.需求分析
    的頭像 發表于 04-02 11:35 ?1368次閱讀
    <b class='flag-5'>嵌入式</b>主板開發詳細指南

    Python在嵌入式系統中的應用場景

    你想把你的職業生涯提升到一個新的水平?Python在嵌入式系統中正在成為一股不可缺少的新力量。盡管傳統上嵌入式開發更多地依賴于C和C++語言,Python的優勢在于其簡潔的語法、豐富的庫和快速的開發周期,這使得它在某些
    的頭像 發表于 03-19 14:10 ?1499次閱讀

    嵌入式系統開發圣經【干貨】

    內容包括:嵌入式系統的介紹、嵌入式SoC硬件系統概論、嵌入式系統軟件開發。適用于產品主管、
    發表于 03-12 13:58