哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式系統(tǒng)掉電保護(hù)方案設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:工程師1 ? 2018-04-18 16:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

結(jié)語(yǔ)

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5209

    文章

    20629

    瀏覽量

    336796
  • ARM7
    +關(guān)注

    關(guān)注

    3

    文章

    207

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    知識(shí)分享-嵌入式系統(tǒng)可靠性模型

    嵌入式系統(tǒng)可靠性設(shè)計(jì)技術(shù)及案例解析1.3嵌入式系統(tǒng)可靠性模型嵌入式系統(tǒng)可靠性模型分為兩種:串聯(lián)結(jié)
    的頭像 發(fā)表于 03-11 16:43 ?377次閱讀
    知識(shí)分享-<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>可靠性模型

    嵌入式系統(tǒng)安全設(shè)計(jì)原則

    隨著物聯(lián)網(wǎng)、工業(yè)控制和智能設(shè)備的普及,嵌入式系統(tǒng)的安全問(wèn)題越來(lái)越突出。一個(gè)小小的漏洞,就可能導(dǎo)致設(shè)備被入侵、數(shù)據(jù)泄露,甚至對(duì)人身安全產(chǎn)生威脅。因此,從設(shè)計(jì)階段開(kāi)始就考慮安全,是每一個(gè)嵌入式開(kāi)發(fā)者必須
    的頭像 發(fā)表于 01-19 09:06 ?462次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>安全設(shè)計(jì)原則

    什么是嵌入式應(yīng)用開(kāi)發(fā)?

    概述 所謂的嵌入式應(yīng)用開(kāi)發(fā)就是在嵌入式操作系統(tǒng)下進(jìn)行開(kāi)發(fā)、軟硬件綜合開(kāi)發(fā) ?嵌入式應(yīng)用開(kāi)發(fā)?是指在嵌入式操作
    發(fā)表于 01-12 16:13

    系統(tǒng)嵌入式的學(xué)習(xí)路線

    嵌入式技術(shù)是各種電子產(chǎn)品的核心技術(shù),也是工業(yè)4.0、遠(yuǎn)程醫(yī)療、3D打印等新興產(chǎn)業(yè)的核心技術(shù),具有廣闊的發(fā)展前景。很多計(jì)算機(jī)、電子信息類專業(yè)的學(xué)生都想把嵌入式開(kāi)發(fā)作為自己的職業(yè)目標(biāo),但是因?yàn)?b class='flag-5'>嵌入式涉及
    發(fā)表于 12-16 07:49

    什么是嵌入式操作系統(tǒng)?

    要理解嵌入式操作系統(tǒng)(Embedded Operating System,簡(jiǎn)稱 RTOS/EOS),我們可以從本質(zhì)定義→核心區(qū)別→實(shí)際作用→典型特征→嵌入式開(kāi)發(fā)場(chǎng)景適配,五個(gè)維度來(lái)拆解, 一
    發(fā)表于 12-09 10:33

    分享一個(gè)嵌入式開(kāi)發(fā)學(xué)習(xí)路線

    如果你想要學(xué)習(xí)嵌入式開(kāi)發(fā),我建議按照這個(gè)學(xué)習(xí)路線準(zhǔn)備: 1. 基礎(chǔ)鋪墊期(1-2個(gè)月) 理解嵌入式系統(tǒng)的“硬件基礎(chǔ)”和“編程入門(mén)”,能看懂簡(jiǎn)單電路,寫(xiě)出基礎(chǔ)C語(yǔ)言代碼。這一階段的學(xué)習(xí)對(duì)學(xué)歷沒(méi)有
    發(fā)表于 12-04 11:01

    嵌入式系統(tǒng)的定義和應(yīng)用領(lǐng)域

    嵌入式系統(tǒng),簡(jiǎn)而言之,就是一種專為特定設(shè)備或裝置設(shè)計(jì)的計(jì)算機(jī)系統(tǒng)。它們通常配備一個(gè)嵌入式處理器,其控制程序被存儲(chǔ)在ROM中。這些系統(tǒng)在許多日
    發(fā)表于 11-17 06:49

    嵌入式實(shí)時(shí)操作系統(tǒng)的特點(diǎn)

    實(shí)時(shí)嵌入式操作系統(tǒng)(Real-Time Embedded Operating System)是專門(mén)設(shè)計(jì)用于嵌入式系統(tǒng)的實(shí)時(shí)操作系統(tǒng)
    發(fā)表于 11-13 06:30

    如何采用SAFERTOS和ESM保護(hù)嵌入式系統(tǒng)安全

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

    嵌入式達(dá)到什么水平才能就業(yè)?

    (三)實(shí)戰(zhàn)經(jīng)驗(yàn)擁有2-3 個(gè)完整嵌入式項(xiàng)目經(jīng)驗(yàn):項(xiàng)目需包含需求分析、方案設(shè)計(jì)、代碼開(kāi)發(fā)、測(cè)試優(yōu)化全流程,能清晰闡述項(xiàng)目難點(diǎn)與解決方案能獨(dú)立排查項(xiàng)目中的軟硬聯(lián)調(diào)問(wèn)題:比如通過(guò)示波器查看信號(hào)波形定位
    發(fā)表于 09-15 10:20

    【深度解析】硬件電路設(shè)計(jì):如何確保嵌入式數(shù)據(jù)可靠性?

    嵌入式系統(tǒng)開(kāi)發(fā)中,硬件電路設(shè)計(jì)是確保數(shù)據(jù)可靠性的關(guān)鍵環(huán)節(jié)。本期我們將重點(diǎn)探討硬件設(shè)計(jì)中的兩個(gè)重要方面:數(shù)據(jù)讀寫(xiě)保護(hù)掉電保護(hù)。硬件電路設(shè)計(jì)在
    的頭像 發(fā)表于 07-30 11:35 ?856次閱讀
    【深度解析】硬件電路設(shè)計(jì):如何確保<b class='flag-5'>嵌入式</b>數(shù)據(jù)可靠性?

    工業(yè)級(jí)SSD為什么需要掉電保護(hù)?天碩工業(yè)級(jí)SSD固態(tài)硬盤(pán)告訴你答案

    在工業(yè)控制和嵌入式系統(tǒng)中,電源波動(dòng)或突發(fā)斷電是常見(jiàn)問(wèn)題。這種情況下,如果SSD正在寫(xiě)入數(shù)據(jù),很可能導(dǎo)致數(shù)據(jù)丟失或文件系統(tǒng)損壞,甚至引發(fā)系統(tǒng)宕機(jī)。天碩(TOPSSD)G40工業(yè)級(jí)固態(tài)硬盤(pán)
    的頭像 發(fā)表于 07-09 17:05 ?978次閱讀

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    Linux嵌入式與單片機(jī)嵌入式在多個(gè)方面存在顯著的區(qū)別,以下是詳細(xì)的比較和歸納: 一、基本概念 1. Linux嵌入式: 定義:將Linux操作系統(tǒng)運(yùn)行在
    發(fā)表于 06-20 09:46

    運(yùn)行在嵌入式系統(tǒng)上的emApps

    在當(dāng)今快節(jié)奏的嵌入式系統(tǒng)世界中,靈活性和適應(yīng)性是嵌入式系統(tǒng)實(shí)現(xiàn)的關(guān)鍵。SEGGER推出了其最新創(chuàng)新:Embedded apps(emApps)應(yīng)用,類似于手機(jī)上的應(yīng)用程序,可以運(yùn)行在
    的頭像 發(fā)表于 06-18 09:53 ?1049次閱讀
    運(yùn)行在<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>上的emApps

    嵌入式開(kāi)發(fā)入門(mén)指南:從零開(kāi)始學(xué)習(xí)嵌入式

    隨著物聯(lián)網(wǎng)、智能硬件的發(fā)展,嵌入式開(kāi)發(fā)成為熱門(mén)技能之一。以下將為初學(xué)者提供一份詳細(xì)的嵌入式開(kāi)發(fā)入門(mén)指南,涵蓋學(xué)習(xí)路徑、必備工具、推薦資源等內(nèi)容。 1. 嵌入式系統(tǒng)的定義與應(yīng)用
    發(fā)表于 05-15 09:29
    澄江县| 新津县| 合川市| 临洮县| 龙里县| 五华县| 济源市| 胶州市| 辽中县| 紫阳县| 璧山县| 辽源市| 阿合奇县| 岳普湖县| 什邡市| 龙海市| 甘孜| 连平县| 木兰县| 华亭县| 古丈县| 乌拉特中旗| 安徽省| 区。| 华安县| 库尔勒市| 黄平县| 丰县| 澄城县| 广德县| 甘谷县| 桐城市| 阿图什市| 辰溪县| 综艺| 湖北省| 德惠市| 贵港市| 静海县| 昌乐县| 渝中区|