新聞中心

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

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

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

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

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

最后,運行時RAM校驗會影響實時響應(yīng)性(可能延遲甚至暫停其它中斷處理程序),并可能與低延時或緊急任務(wù)要求沖突。測試程序的代碼長度無法最小化:耗合故障測試對被測連續(xù)存儲地址的數(shù)量有下限要求。如果軟件必須管理地址解擾,使其符合存儲器物理布局,則復雜度更高。圖1所示是軟件在運行時處理部分RAM測試。

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

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

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

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

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

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

· 不占用CPU帶寬(校驗不會增加存儲器讀操作延遲)

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

最后一個優(yōu)勢是該解決方案在啟動時無需進行完整的RAM校驗,而且在上電復位后,寄偶校驗立即激活,因此降低了引導時間。

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

最后一個優(yōu)勢是該解決方案在啟動時無需進行完整的RAM校驗

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

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

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

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

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

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

上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉