<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

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

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

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

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

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

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

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

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

· 無(wú)需專(zhuān)用的RAM分區和鏈接腳本

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

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

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

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

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

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

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

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

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

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

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

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>