家電設計——安全至關重要!
不變存儲器:不變存儲器是指用于存儲程序的非易失性存儲器。對大多數MCU來說,它就是閃存。具體需求下,要在不變存儲器中檢測出1位錯誤。在某些MCU中,這是內在就有的,如果閃存內容出錯就能生成中斷。要手動實施,也有很多方法。方法之一就是計算整個存儲器的校驗和并將其保存在閃存中。在運行時計算閃存校驗和并與閃存中存儲的值比較。另一種方法就是逐塊計算校驗和并存儲在閃存中。如果閃存塊未使用且塊中出錯,就不認為它是有效故障條件,因為它不會影響程序執(zhí)行。
本文引用地址:http://cafeforensic.com/article/147687.htm可變存儲器:可變存儲器是指數據存儲器(即RAM)。測試檢查存儲器位是否鎖死在1或0上,或者是否受到相鄰位的影響。March C算法是進行這種測試的首選方法。不過,March C算法測試會改變存儲器的內容。RAM被分為不同段,每段需單獨測試而且測試段內容需備份,否則就要用EEPROM存儲RAM數據。如果測試過于頻繁,EEPROM的使用會因閃存耐用性的問題而影響系統(tǒng)生命周期。此外,大多數MCU在耐用性為10-100K次寫入周期的閃存中仿真EEPROM。使用RAM本身來備份內容是進行這種測試的更好方法。
外部通信:通信接口是許多系統(tǒng)的重要組成部分。為了確保通信接口的可靠性,依據B類規(guī)范要求, Hamming distance 3規(guī)定必須得到滿足。實施的最佳方法就是采用CRC校驗。一些MCU采用片上硬件資源對數據進行CRC檢查。如果硬件資源不可用,CRC校驗可在固件中實施。測試的另一方面就是確保正確的通信時間。如果器件是主機,它就能監(jiān)控從機響應所花的時間。如果從機花的時間不合理,主機就會觸發(fā)故障條件。
數字I/O:這項測試旨在確保輸入/輸出引腳根據預期工作。引腳可短接到Vcc或GND,也可短接到其他I/O而導致系統(tǒng)故障。要測試輸入功能,應強制使輸入引腳進入已知狀態(tài)。賽普拉斯推出的PSoC 1等器件在大多數I/O上支持內部上拉和下拉。通常說來,外部短接能將引腳驅動到非常高(如果短接到Vcc)或非常低的水平(如果短接到GND)。現在,如果引腳短接到GND而內部上拉激活,引腳仍將讀取0,這不是正常工作引腳應有的行為。這就會導致故障情況。如果內部上拉不可用,就必須用外部資源驅動引腳。這就需要額外的硬件,也會增加成本。要測試輸出引腳,一旦引腳由器件驅動,其輸出狀態(tài)必須被監(jiān)控。為此它應通過外部方法連接到另一個引腳,或該引腳必須具備讀取功能(能讀取引腳狀態(tài),不是CPU寫入的值)。賽普拉斯推出的PSoC 1支持所有引腳讀取。舉例來說,如果引腳寫入電平為高,但由于外部短接的原因而連接到GND,那么該引腳的讀取顯示為0,進而顯示故障。
模數轉換器和數模轉換器:要檢測這些組件,需要一個已知值的來源。一般說來,SoC可提供電壓參照,并連接到模數轉換器輸入。檢查模數轉換器的輸出代碼,以核實轉換結果是否符合已知的參照值。數模轉換器需要模數轉換器檢查其輸出。所以,如果器件提供集成式模數轉換器,那將有助于以更低成本實施測試。在數模轉換器上進行測試時,首先應進行模數轉換器測試,以確保模數轉換正確工作。采用的SoC應允許電壓參照和數模轉換通過內部路由資源路由到模數轉換器,這就能大幅降低I/O和PCB路由的復雜性。
模擬MUX:模擬Mux的測試方法是,強制將引腳設定為已知值并用固件在通道間切換。模數轉換器必須連接到輸出上,以檢測通道的輸入電壓。如果該引腳支持輸入和輸出功能,數模轉換可用來提供所需輸入來源。
要設計安全的家用電器,就要提供自檢功能。為MCU開發(fā)這種功能會影響產品成本和開發(fā)時間,可能在今天高度競爭的市場上造成延誤。如果MCU包含廠商提供的自檢庫,那么就能加速實施。除了時鐘之外,針對具體MCU的組件測試無需其他外部硬件。這種測試不會給MCU的選擇增加壓力。不過,檢測I/O、模數轉換器和數模轉換器可能需要使用外部組件,會增加系統(tǒng)尺寸、成本和開發(fā)工作。SoC有助于減少開銷,同時能實施B類規(guī)范所需的有關測試。
電磁爐相關文章:電磁爐原理
評論