<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何用低成本ARM Cortex-M微控制器讓家電變得更安全

          如何用低成本ARM Cortex-M微控制器讓家電變得更安全

          作者: 時(shí)間:2013-06-05 來源:網(wǎng)絡(luò) 收藏

          如果將數(shù)據(jù)損壞的機(jī)率與讀寫次數(shù)聯(lián)系在一起,該解決方案的數(shù)據(jù)損壞風(fēng)險(xiǎn)是比較高的。雖然逆向冗余存儲(chǔ)關(guān)鍵變量可降低風(fēng)險(xiǎn),但同時(shí)也會(huì)擴(kuò)大存儲(chǔ)器B類測(cè)試的容量。

          從微資源角度看,測(cè)試代碼占用ROM和RAM空間,以及CPU帶寬:除正常處理任務(wù)外,如果內(nèi)核臨時(shí)無法吸納測(cè)試負(fù)荷,就必須在運(yùn)行關(guān)鍵階段終止測(cè)試。

          最后,運(yùn)行時(shí)RAM校驗(yàn)會(huì)影響實(shí)時(shí)響應(yīng)性(可能延遲甚至?xí)和F渌袛嗵幚沓绦?,并可能與低延時(shí)或緊急任務(wù)要求沖突。測(cè)試程序的代碼長(zhǎng)度無法最小化:耗合故障測(cè)試對(duì)被測(cè)連續(xù)存儲(chǔ)地址的數(shù)量有下限要求。如果軟件必須管理地址解擾,使其符合存儲(chǔ)器物理布局,則復(fù)雜度更高。圖1所示是軟件在運(yùn)行時(shí)處理部分RAM測(cè)試。

          IEC60730標(biāo)準(zhǔn)另提供一個(gè)由硬件校驗(yàn)位組成的解決方案。雖然這是一個(gè)標(biāo)準(zhǔn)的DRAM存儲(chǔ)器流程,但是很少用于通用微。不過,先進(jìn)的芯片制程節(jié)點(diǎn)使得該方法更具效益。

          硬件測(cè)試解決方案的本質(zhì)是在每個(gè)存儲(chǔ)地址增加一個(gè)校驗(yàn)位:存儲(chǔ)器每寫一次,計(jì)算一次校驗(yàn)位,并將校驗(yàn)位計(jì)算值與數(shù)據(jù)存儲(chǔ)在一起。當(dāng)讀取數(shù)據(jù)時(shí),同樣計(jì)算校驗(yàn)值,然后與參考值對(duì)比,如圖2所示。如果數(shù)值不同,無論是數(shù)據(jù)損壞還是校驗(yàn)位損壞,中斷或異常信號(hào)線都會(huì)置位。處理器內(nèi)核將使用一個(gè)專用中斷處理程序處理錯(cuò)誤,并關(guān)閉的電源。第二步,內(nèi)核可能重啟應(yīng)用(熱復(fù)位)或停止運(yùn)行,同時(shí)顯示檢修代碼。

          該解決方案的優(yōu)勢(shì)十分明顯。B類RAM校驗(yàn)完全透明:

          · 不影響軟件開發(fā)方法

          · 不必開發(fā)某一個(gè)微廠商專用的測(cè)試程序,只需開發(fā)一個(gè)在任何情況下都會(huì)出現(xiàn)的全局故障處理函數(shù)

          · 無需專用的RAM分區(qū)和鏈接腳本

          · 不占用CPU帶寬(校驗(yàn)不會(huì)增加存儲(chǔ)器讀操作延遲)

          · 最優(yōu)的實(shí)時(shí)性能

          最后一個(gè)優(yōu)勢(shì)是該解決方案在啟動(dòng)時(shí)無需進(jìn)行完整的RAM校驗(yàn),而且在上電復(fù)位后,寄偶校驗(yàn)立即激活,因此降低了引導(dǎo)時(shí)間。

          由于擁有高能效、靜音運(yùn)行、高可靠性的特點(diǎn),無刷電機(jī)被廣泛用于家電,但是需要復(fù)雜的控制算法和專用的PWM外設(shè),需要特別注意故障防護(hù)和關(guān)機(jī)。因此,RAM校驗(yàn)機(jī)制可提高可靠性和響應(yīng)性,不是用軟件管理安全關(guān)閉功能,而是直接向PWM外設(shè)發(fā)送校驗(yàn)錯(cuò)誤信號(hào),自動(dòng)觸發(fā)緊急停機(jī)功能,避免系統(tǒng)時(shí)鐘和軟件相關(guān)的延遲。圖3所示框圖描述了一個(gè)實(shí)用的解決方案。

          最后一個(gè)優(yōu)勢(shì)是該解決方案在啟動(dòng)時(shí)無需進(jìn)行完整的RAM校驗(yàn)

          還必須注意系統(tǒng)的其它關(guān)鍵參數(shù)。電源監(jiān)控系統(tǒng)可以設(shè)置電壓,如果Vdd 電壓降至預(yù)設(shè)電壓值,系統(tǒng)將發(fā)出一個(gè)中斷命令。同樣,時(shí)鐘安全系統(tǒng)檢查主時(shí)鐘運(yùn)行是否正常,如果出現(xiàn)異常,則發(fā)出一個(gè)中斷命令。此外,當(dāng)發(fā)生硬故障、在NMI處理程序內(nèi)部出現(xiàn)錯(cuò)誤或者在引導(dǎo)過程中發(fā)生總線故障時(shí),Cortex內(nèi)核進(jìn)入鎖保護(hù)時(shí)態(tài),在芯片級(jí)提供一個(gè)狀態(tài)顯示信號(hào)。這三個(gè)事件以及校驗(yàn)值合并,產(chǎn)生一個(gè)內(nèi)部緊急關(guān)斷信號(hào),信號(hào)本身與外部斷路(break)輸入進(jìn)行或運(yùn)算。

          該標(biāo)準(zhǔn)還需要一個(gè)防失效時(shí)鐘電路。當(dāng)晶振失效時(shí),時(shí)鐘安全系統(tǒng)外設(shè)(CSS)可自動(dòng)將主時(shí)鐘切換到內(nèi)部高速振蕩器,從而實(shí)現(xiàn)部分防失效功能。此外,還需要一個(gè)通過對(duì)比外部預(yù)計(jì)頻率與內(nèi)部頻率來監(jiān)視外部時(shí)鐘的方法。實(shí)時(shí)時(shí)鐘定時(shí)器可由LSI (內(nèi)部低速)阻容振蕩器驅(qū)動(dòng),以便精確地測(cè)量主系統(tǒng)時(shí)鐘,發(fā)現(xiàn)晶體副諧波引起的50%的變化。在系統(tǒng)級(jí),這可節(jié)省50/60Hz電網(wǎng)過零檢測(cè)電路的。

          該標(biāo)準(zhǔn)提出一個(gè)獨(dú)立的時(shí)隙監(jiān)視方案,防止CPU在程序計(jì)數(shù)器故障時(shí)失控,這是看門狗定時(shí)器的職責(zé),多數(shù)微控制器均內(nèi)置看門狗。但是,標(biāo)準(zhǔn)規(guī)定看門狗必須完全獨(dú)立。因此,意法半導(dǎo)體的32位 STM32系列微控制器有兩個(gè)看門狗:第一個(gè)窗口看門狗使用主時(shí)鐘;第二個(gè)看門狗使用獨(dú)立的內(nèi)部振蕩器,通過閃存內(nèi)的選項(xiàng)字節(jié)啟動(dòng)。這種設(shè)計(jì)可確保在晶體失效時(shí),無論時(shí)鐘電路配置,都能確保至少有一個(gè)看門狗在運(yùn)行。

          最后,微控制器還內(nèi)置一個(gè)32位硬件CRC計(jì)算器,可大幅加快閃存內(nèi)容完整性檢查,同時(shí)將相關(guān)CPU負(fù)荷(在運(yùn)行時(shí)占用的時(shí)間)降至可忽略不計(jì)的水平。該外設(shè)甚至可以用DMA控制器驅(qū)動(dòng)。在微控制器運(yùn)行期間,閃存數(shù)據(jù)完整性檢查可在后臺(tái)進(jìn)行。

          硬件校驗(yàn)長(zhǎng)期以來只用于計(jì)算機(jī)DRAM模塊和高可靠性系統(tǒng)。該方法被引進(jìn)嵌入式市場(chǎng)的通用微控制器,如基于0的STM32F0x產(chǎn)品,隨著系統(tǒng)監(jiān)控和安全功能數(shù)量日益增加,該方案可簡(jiǎn)化產(chǎn)品認(rèn)證、安全開發(fā)的執(zhí)行,最重要一點(diǎn)是使家電更安全。

          光電開關(guān)相關(guān)文章:光電開關(guān)原理

          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();