<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ò ) 收藏

自2007年起,廠(chǎng)商的所有新設計必須遵守IEC60335標準。為確保設備可靠,特別是設備故障不能威脅用戶(hù)的人身,這套新標準涉及十分廣泛的內容,從機械系統到嵌入電子元器件均有明確規定。

本文引用地址:http://dyxdggzs.com/article/170481.htm

電子部分參照另一個(gè)標準,即適用于各種應用領(lǐng)域的IEC60730自動(dòng)電子控制標準。對于嵌入式系統開(kāi)發(fā)人員,附件H對于嵌入式系統開(kāi)發(fā)人員尤為重要,因為該附件是關(guān)于可編程器件。白色通常使用多個(gè)微:一個(gè)微負責管理控制臺,另一個(gè)管理閥門(mén)和電機控制。

根據設備故障導致的危險程度,該標準將軟件分為A、B、C三類(lèi)。如果家電安全不依靠軟件,則該家電屬于A(yíng)類(lèi),如室內溫控器或照明。相反,如果軟件用于防止安全隱患,如電子點(diǎn)火燃氣灶歸為C類(lèi)。本文不探討C類(lèi)。電子控制系統防止不安全操作的家電多數屬于B類(lèi),如洗衣機,其安全隱患與電控門(mén)鎖或電機熱關(guān)斷有關(guān)。

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

IEC60730附件H的表格 H.11.12.7 列出了B類(lèi)和C類(lèi)軟件需測試的微控制器元器件、需檢測的故障和接受的安全措施,檢測內容包括監視CPU(寄存器和程序計數器)、中斷(處理和執行)和時(shí)鐘頻率,檢驗易失性存儲器(RAM) 、非易失性存儲器(閃存和 EEPROM)、外部通信以及外設。

這些檢測均在微控制器引導過(guò)程中甚至在系統執行代碼前完成,主要原因是RAM測試具有‘破壞性’,可導致初始化的變量損壞。

在RAM檢測中,標準要求B類(lèi)設備定期做單一位DC故障檢測(如嵌入存儲器固定故障或耦合故障)。因為多數入門(mén)級微控制器的SRAM無(wú)校驗位,所以該檢測必須由軟件來(lái)完成。March算法通過(guò)限定數量的測試來(lái)發(fā)現這些故障,March C測試最適合B類(lèi)(使用10N次測試,N為被測試存儲地址的數量),但是March X(6N次測試)在某些特定情況也被測試機構接受。測試完成后,RAM存儲器內容被清除(因此,又稱(chēng)為‘破壞性測試’)。

復位后執行March測試不會(huì )產(chǎn)生特別的問(wèn)題。除略微降低開(kāi)機速度外,沒(méi)有什么實(shí)際缺點(diǎn),因為嵌入式SRAM很小,開(kāi)機速度降低甚至都不會(huì )被注意到。

相反,如果在運行期間重復這個(gè)測試,可能會(huì )產(chǎn)生很大的問(wèn)題。首先,測試必須透明:應用無(wú)需特定的協(xié)議即可處理RAM,好像沒(méi)有測試一樣。實(shí)際而言,這增加了下列條件:

· 測試必須是一個(gè)中斷處理程序(ISR),且給予最高的處理優(yōu)先級,可禁止應用程序在測試過(guò)程中訪(fǎng)問(wèn)數據。

· 必須配備緩存,以便提前備份被檢驗的RAM內容,最后在應用任務(wù)重新運行前恢復RAM內容。顯然,也必須定檢驗證緩存。

其次,應用任務(wù)暫停時(shí)間不宜過(guò)長(cháng)。該測試通常分為若干個(gè)小測試,以限制占用頂層任務(wù)的時(shí)間。一次測試的地址不得少于3個(gè)連續地址(這是耦合故障測試覆蓋率的硬性要求),這表示不少于30次連續的March C算法讀寫(xiě)操作。

雖然實(shí)際應用證明該解決方案效果不錯,而且在業(yè)界十分流行,但還是存在不少的缺點(diǎn)。

我們先從軟件工程角度剖析這些問(wèn)題。結構化編程的優(yōu)點(diǎn)略過(guò),只分析相關(guān)的局限性問(wèn)題

我們先從軟件工程角度剖析這些問(wèn)題。結構化編程的優(yōu)點(diǎn)略過(guò),只分析相關(guān)的局限性問(wèn)題:

· 封裝問(wèn)題:C模塊必須將部分內部變量提高至全局變量,不再接受編譯器參照跨模塊訪(fǎng)問(wèn)進(jìn)行的完整校驗。

· 低任務(wù)隔離度和低模塊化:測試對每個(gè)安全關(guān)鍵的軟件模塊強制進(jìn)行訪(fǎng)問(wè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>