在安全系統(tǒng)設(shè)計(jì)中,為防護(hù)硬件隨機(jī)性故障造成的功能失效,會(huì)用到不同于一般電子產(chǎn)品的設(shè)計(jì)方法,這些設(shè)計(jì)方法在功能安全標(biāo)準(zhǔn)如IEC61508、ISO26262有推薦的方法列表,根據(jù)電子系統(tǒng)的不同組成部分,可以應(yīng)用不同的設(shè)計(jì)方法。本文來談?wù)剳?yīng)用比較多的冗余技術(shù),具體有硬件冗余、信息冗余、軟件冗余。
硬件冗余:
硬件冗余是將多個(gè)硬件單元復(fù)制作為一個(gè)整體來提供功能。從組成部分來看,多個(gè)硬件單元可以是相同的,也可以是不同的,如使用相同的硬件,但是操作系統(tǒng)和應(yīng)用不同,或者只有應(yīng)用不同的。從最終輸出來看,可以沒有獨(dú)立的表決器,由其中一個(gè)處理單元準(zhǔn)備輸出,也可以有獨(dú)立的表決器。下面介紹幾種典型的冗余架構(gòu):
主/從控制架構(gòu):以一個(gè)計(jì)算單元作為主控制輸出,另一個(gè)計(jì)算單元作為從控制。在下面的架構(gòu)中,主控制單元和從控制單元都對(duì)輸入數(shù)據(jù)進(jìn)行處理,并進(jìn)行互相交互的校核,當(dāng)從控制單元檢查主控制單元的輸出存在故障時(shí),對(duì)主控制單元進(jìn)行復(fù)位。該架構(gòu)中當(dāng)從控制單元的檢查存在時(shí)間上的延遲,需要對(duì)故障輸出的延遲時(shí)間影響增加分析。
雙核鎖步架構(gòu):芯片內(nèi)的雙核鎖步架構(gòu)冗余技術(shù),每條CPU指令都由兩個(gè)處理器獨(dú)立地執(zhí)行,每個(gè)處理器讀取、寫入數(shù)據(jù)后執(zhí)行下一條指令,主處理器控制總線,從控制器控制一個(gè)監(jiān)控器,當(dāng)兩個(gè)處理器發(fā)生不一致時(shí),監(jiān)控器用來使芯片輸出導(dǎo)向安全,輸出報(bào)警給外部的監(jiān)控芯片。為了防止外部瞬態(tài)的電磁干擾,兩個(gè)處理器在執(zhí)行的時(shí)序上采用分時(shí)執(zhí)行的方法。
NooM架構(gòu):由兩個(gè)硬件計(jì)算單元構(gòu)成的2oo2架構(gòu),由2個(gè)以上的計(jì)算單元可以構(gòu)成2*2oo2或2oo3架構(gòu)。2oo2架構(gòu)能檢查單個(gè)單元的故障,但是無法容錯(cuò)。它的共因故障是需要避免的,軟件要具備硬件同樣等級(jí)的安全性水平,硬件設(shè)計(jì)避免有共用部分,對(duì)CPU、內(nèi)存應(yīng)引入自檢機(jī)制,以避免潛伏故障。
2oo2架構(gòu)的一種近似架構(gòu)是1oo2D架構(gòu),它也是由兩個(gè)處理單元組成,每個(gè)處理單元都有對(duì)應(yīng)的故障檢測(cè)模塊,比如說獨(dú)立的看門狗,看門狗的輸出用來控制選擇開關(guān),授權(quán)哪個(gè)處理單元對(duì)外輸出。
多個(gè)處理單元的NooM架構(gòu)有2oo3,兼顧了安全性和可用性。對(duì)于單個(gè)處理單元的故障,通常是將其導(dǎo)向安全側(cè)輸出,但也有設(shè)計(jì)為故障后進(jìn)行重置,分享其狀態(tài)給其它處理單元。舉Boeing 777中的飛控計(jì)算機(jī)為例,由三個(gè)處理單元PFC(Primary Flight Computer)組成,PFC之間通過獨(dú)立三個(gè)通信網(wǎng)絡(luò)進(jìn)行通信,每個(gè)PFC內(nèi)部有三個(gè)異構(gòu)的處理器Intel、Motorola和AMD,從而避免處理器的共因故障。每個(gè)處理單元在三種狀態(tài)之間轉(zhuǎn)換:控制、待機(jī)和監(jiān)視,執(zhí)行器對(duì)處理單元的輸出進(jìn)行選擇。
信息冗余:
信息冗余增加多余的信息碼,用于檢測(cè)傳輸數(shù)據(jù)的錯(cuò)誤,也可用于糾錯(cuò),應(yīng)用于內(nèi)存,數(shù)據(jù)總線和通信網(wǎng)絡(luò)的數(shù)據(jù)錯(cuò)誤。常用的有奇偶校驗(yàn),CRC校驗(yàn),海明碼和算術(shù)碼。奇偶校驗(yàn)只能檢測(cè)單bit錯(cuò)誤,無法檢測(cè)雙重bit錯(cuò)誤。CRC校驗(yàn)還可以應(yīng)用于校驗(yàn)存儲(chǔ)在內(nèi)存中的數(shù)據(jù)或程序是否被篡改。
海明碼用于存儲(chǔ)或傳輸數(shù)據(jù)時(shí)檢測(cè)和糾正錯(cuò)誤,通過增加額外的奇偶校驗(yàn)位實(shí)現(xiàn)。標(biāo)準(zhǔn)漢明碼只能檢測(cè)和糾正單bit錯(cuò)誤。對(duì)于雙重bit錯(cuò)誤,可以添加一個(gè)額外的總體奇偶校驗(yàn)位,以可靠地檢測(cè)兩位中的錯(cuò)誤。這稱為單糾錯(cuò)/雙糾錯(cuò)檢測(cè)(SECDED)。
算術(shù)編碼用包含兩個(gè)字段的編碼替代原來的數(shù)據(jù):數(shù)據(jù)部分和編碼部分。能夠檢測(cè)三種類型的錯(cuò)誤:
operation error(操作數(shù)錯(cuò)誤):計(jì)算機(jī)使用預(yù)期操作符處理操作數(shù)得到了錯(cuò)誤的結(jié)果。這種類型的錯(cuò)誤,非常類似于傳輸錯(cuò)誤,但不會(huì)給代碼設(shè)計(jì)帶來新的約束。
operator error(操作符錯(cuò)誤):計(jì)算機(jī)使用好的操作數(shù),但有一個(gè)非預(yù)期的運(yùn)算符。例如,如果一個(gè)加法運(yùn)算符被替換成乘法運(yùn)算符,結(jié)果是假的,即使乘法計(jì)算的結(jié)果是正確的。對(duì)這種類型的錯(cuò)誤的檢測(cè),不是數(shù)據(jù)傳輸通道存在的錯(cuò)誤,需要對(duì)運(yùn)算符增加編碼。
operand error(操作錯(cuò)誤):一種情況是地址錯(cuò)誤,相當(dāng)于用一個(gè)變量替換了另一個(gè)變量。這種類型的錯(cuò)誤發(fā)生在傳輸系統(tǒng)中,在不同的通道之間發(fā)生了串?dāng)_。類似于傳輸過程中收到了發(fā)送到另一個(gè)接收者的數(shù)據(jù)。另一種情況是存儲(chǔ)錯(cuò)誤,存儲(chǔ)的數(shù)據(jù)變化或者沒有被更新,是過時(shí)的數(shù)據(jù)。
軟件冗余:
軟件在同一個(gè)處理器執(zhí)行兩次,由外部設(shè)備進(jìn)行表決,可以用于檢測(cè)內(nèi)存錯(cuò)誤。需要將軟件分別加載到不同的內(nèi)存區(qū)域,因此,各種內(nèi)存的故障如RAM、ROM、EPROM,都可以在運(yùn)行過程中檢測(cè)出來。但軟件冗余屬于執(zhí)行程序的冗余,對(duì)于共享的硬件處理器故障無法檢測(cè)。
可以在執(zhí)行過程中加入指令的自測(cè)試,對(duì)不一致的數(shù)據(jù)進(jìn)行比較,對(duì)處理器進(jìn)行全面的功能測(cè)試。為了進(jìn)行有效的檢測(cè),測(cè)試覆蓋率必須足夠(覆蓋應(yīng)用指令等),并且必須在正確的時(shí)間執(zhí)行(初始化,在每個(gè)周期內(nèi),定期,在任務(wù)結(jié)束時(shí))。這種做的缺點(diǎn)是增加了處理器的性能開銷。
軟件冗余相比硬件冗余更簡(jiǎn)單,但檢測(cè)錯(cuò)誤的有效性需要應(yīng)用其它技術(shù)進(jìn)行彌補(bǔ),采用軟件的多樣化和自檢測(cè)技術(shù)可以作為很好的補(bǔ)充。另外,由于軟件的冗余執(zhí)行,執(zhí)行時(shí)間較長(zhǎng),適用于對(duì)時(shí)間性能要求不高的系統(tǒng)。
總結(jié)
以上是三種冗余技術(shù)的介紹,都是通過增加冗余的資源以實(shí)現(xiàn)故障的檢測(cè),有硬件資源的冗余,數(shù)據(jù)信息的冗余和軟件執(zhí)行層的冗余,通過一些簡(jiǎn)單的示例進(jìn)行了說明。在實(shí)際系統(tǒng)的設(shè)計(jì)中,往往不僅僅采用單一的技術(shù),而是多種冗余技術(shù)相結(jié)合。同時(shí),冗余技術(shù)在于它對(duì)隨機(jī)故障的檢測(cè)有效性,與異構(gòu)多樣化相結(jié)合,實(shí)際使用可以提高對(duì)系統(tǒng)性故障的檢測(cè)能力。
審核編輯:劉清
-
處理器
+關(guān)注
關(guān)注
68文章
19400瀏覽量
230742 -
控制器
+關(guān)注
關(guān)注
112文章
16442瀏覽量
179018 -
電磁干擾
+關(guān)注
關(guān)注
36文章
2329瀏覽量
105566 -
監(jiān)控芯片
+關(guān)注
關(guān)注
1文章
9瀏覽量
3704
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論