家電設(shè)計(jì)——安全至關(guān)重要!
無(wú)比較的雙通道是一種比較昂貴的控制功能實(shí)施方法,特別對(duì)小家電而言更是如此。這種方法也會(huì)帶來(lái)額外的固件開(kāi)銷,如處理器間通信等。這種方法是B類控制功能最不傾向采用的方法。不過(guò),C類控制功能必須采用這種方法。
下面我們看看單通道階段性自檢的有關(guān)軟件要求。根據(jù)規(guī)范要求,許多電子控制組件必須經(jīng)過(guò)測(cè)試。以下給出了必須測(cè)試以滿足規(guī)范要求的組件列表:
· CPU· 中斷處理和執(zhí)行 · 時(shí)鐘 · 不變存儲(chǔ)器 · 可變存儲(chǔ)器 · 尋址 · 內(nèi)部數(shù)據(jù)路徑數(shù)據(jù) · 內(nèi)部數(shù)據(jù)路徑尋址 · 外部通信 · 數(shù)字I/O · 模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器 · 模擬MUX
尋址、內(nèi)部數(shù)據(jù)路徑數(shù)據(jù)和內(nèi)部數(shù)據(jù)路徑尋址在MCU使用外部存儲(chǔ)器時(shí)都應(yīng)進(jìn)行測(cè)試。本文后續(xù)部分不討論這三種組件。
CPU:這項(xiàng)測(cè)試明確CPU及其相關(guān)寄存器是否正確工作。舉例來(lái)說(shuō),應(yīng)對(duì)累加器、狀態(tài)寄存器等進(jìn)行測(cè)試以確保其不會(huì)在特定值鎖死。該測(cè)試也可直接進(jìn)行,即將已知值寫(xiě)入寄存器并回讀,隨后比較檢查寫(xiě)入和讀取值是否相同。對(duì)不支持直接寫(xiě)入的狀態(tài)寄存器來(lái)說(shuō),可執(zhí)行特定指令將寄存器帶入已知狀態(tài)。舉例來(lái)說(shuō),通過(guò)對(duì)兩個(gè)數(shù)字做加法并讓累加器溢出,可以設(shè)置carry標(biāo)記。程序計(jì)數(shù)器的損壞將改變程序執(zhí)行流程,這就必須終止器件。該寄存器的檢測(cè)不像上述其他寄存器那樣直接明了。如程序計(jì)數(shù)器鎖死在某個(gè)值上,可使用監(jiān)視計(jì)時(shí)器來(lái)重置器件。
中斷處理和執(zhí)行:這項(xiàng)測(cè)試檢查兩個(gè)因素:是不是沒(méi)有生成中斷,或中斷是不是生成得太頻繁了。中斷沒(méi)有固定的最小和最大數(shù)量,這很大程度上取決于系統(tǒng)實(shí)施。這項(xiàng)測(cè)試可用計(jì)數(shù)變量來(lái)檢查給定時(shí)間內(nèi)中斷生成的次數(shù)。時(shí)間戳可用計(jì)時(shí)器生成。此外,監(jiān)視計(jì)時(shí)器可用來(lái)檢查中斷是否生成太過(guò)頻繁并影響系統(tǒng)性能。如果監(jiān)視計(jì)時(shí)器無(wú)法在中斷觸發(fā)頻率下清空,就會(huì)導(dǎo)致系統(tǒng)重啟。
時(shí)鐘:這項(xiàng)測(cè)試檢查系統(tǒng)時(shí)鐘是否準(zhǔn)確。測(cè)試時(shí)需要利用參考時(shí)鐘源生成固定的頻率測(cè)量時(shí)間間隔。外部晶體振蕩器(ECO)是最佳實(shí)施方案。大多數(shù)MCU/混合信號(hào)器件都包含一個(gè)ECO,只需一個(gè)外部晶體與負(fù)載電容進(jìn)行連接就能生成準(zhǔn)確的低頻時(shí)鐘。如果器件不支持ECO功能,那就需要外部時(shí)鐘生成器。一旦獲得了準(zhǔn)確的參照時(shí)鐘,就能用來(lái)生成時(shí)間戳,并可利用計(jì)數(shù)器來(lái)檢測(cè)系統(tǒng)頻率。