符合安全標準的汽車器件冗余設(shè)計
此類冗余在位級實施,安全關(guān)鍵任務(wù)中所使用的寄存器位被復制兩次,根據(jù)多數(shù)投票邏輯生成輸出。這是2oo3多數(shù)投票系統(tǒng)的一個示例,如果這三個觸發(fā)器中的任何一個發(fā)生故障,那么其余的兩個觸發(fā)器將掩蓋故障。假設(shè)很難同時損壞這三個觸發(fā)器中的兩個,那么這種技術(shù)可保持系統(tǒng)運行。由于在這種情況下,面積補償是雙倍的,因此需要徹底檢驗設(shè)計配置位,確定安全關(guān)鍵的配置信息,避免任何不必要的面積開銷。
軟件多樣化冗余
在軟件冗余中,將在軟件中執(zhí)行該任務(wù)多次。可使用不同的軟件執(zhí)行該任務(wù)多次(不同的算法用于同一個任務(wù)),然后比較結(jié)果, 這將改善診斷覆蓋。
設(shè)計中使用兩種完全不同的軟件實現(xiàn),即在一個處理單元中使用不同的算法來執(zhí)行相同的任務(wù)。圖3說明了實現(xiàn)情況。主用通道負責計算,如果計算錯誤,可能導致危險。冗余通道負責檢驗主用通道的計算,如果發(fā)現(xiàn)故障則采取行動。冗余通道采用單獨的算法設(shè)計和代碼實現(xiàn),以提供軟件多樣化。一旦兩條通道都完成后,則比較這兩種冗余軟件實現(xiàn)的輸出數(shù)據(jù)。如發(fā)現(xiàn)差異,則生成故障消息。
圖3:單一硬件通道軟件冗余工作原理
算法多樣化示例包括:A+B=C與C-B=A。一個通道使用正常的計算,另一個通道使用二進制補碼數(shù)學。
兩個處理單元相互交換數(shù)據(jù)(包括結(jié)果、中間結(jié)果和測試數(shù)據(jù)),在每個單元中使用軟件比較數(shù)據(jù),如檢測到差異則生成故障消息。圖4說明了實現(xiàn)情況。在這種情況下,主用通道和冗余通道在不同的處理單元中使用不同的軟件算法來執(zhí)行。如果使用不同的處理器類型以及單獨的算法設(shè)計、代碼和編譯器,那么這種方法允許硬件和軟件多樣性。另外,外設(shè)復制與內(nèi)核復制不同。外設(shè)共享外部世界的相同輸入,外設(shè)的輸出在軟件中進行比較。例如,在SoC中使用多個ADC,輸入信道被復制到大多數(shù)ADC,它們的輸出可在軟件中進行比較。
圖4:多處理單元軟件冗余工作原理
信息冗余和時間冗余
信息冗余是指在通過嘈雜的信道傳輸信息時添加到實際數(shù)據(jù)中的冗余數(shù)據(jù),目的是檢測故障或修復故障。 下面介紹了幾種信息冗余方案,如:奇偶校驗位、校驗和、糾錯碼。
奇偶校驗位是指被添加到二進制數(shù)據(jù)結(jié)尾的位,指示數(shù)據(jù)中“1”的數(shù)量是奇數(shù)還是偶數(shù)。偶校驗方案是指如果數(shù)據(jù)中“1”的數(shù)量為奇數(shù),則向數(shù)據(jù)添加一個“1”。奇校驗方案是指,如果數(shù)據(jù)中“1”的數(shù)量為偶數(shù),則向數(shù)據(jù)添加一個 “1”。例如,如果實際數(shù)據(jù)為 “11110000 0000”,并且在其后添加了一個偶校驗位,那么“111100000 0000 0”將通過通信信道傳輸。在接收器端,如果收到單個的位觸發(fā)數(shù)據(jù),那么接收器將檢測到數(shù)據(jù)在傳輸過程中被破壞,可請求發(fā)射器重新發(fā)送數(shù)據(jù)。
校驗和是使用某些函數(shù)通過信息數(shù)據(jù)計算的數(shù)據(jù)。它與信息數(shù)據(jù)一起通過噪聲信道傳輸。在接收器端,使用收到的數(shù)據(jù)計算校驗和。計算的校驗和應(yīng)匹配所收到的校驗和。錯誤檢測功能取決于冗余比特數(shù)量、數(shù)據(jù)大小,以及生成校驗和所用的多項式。 奇偶性、模塊化和和與位置相關(guān)的校驗和是幾種可用于錯誤檢測的校驗和示例。在檢測到錯誤的情況下,可通過信號通知發(fā)射器,重新傳輸數(shù)據(jù)。
某些校驗函數(shù)不僅能夠檢測錯誤,還能指出數(shù)據(jù)中可能引入的某些類型的錯誤,從而在不重新發(fā)送數(shù)據(jù)的情況下讓接收器能夠獲得正確的數(shù)據(jù),這些函數(shù)被稱為糾錯碼。能夠被校正的錯誤也有限制。例如,漢明碼是糾錯碼。盡管漢明碼能夠檢測到雙位錯誤,但只能校正數(shù)據(jù)中的單位錯誤。格雷碼能夠檢測四位錯誤,但只能校正三位錯誤。BCH 碼、Goppa碼、Reed-Solomon 碼、Reed-Muller碼和Hadamard碼是以其發(fā)明人命名的其他代碼。此類編碼技術(shù)可作為信息和編碼理論的一部分進行研究,是應(yīng)用數(shù)學、電子工程和計算機科學的一個有趣和廣泛的分支。
時間冗余是指以冗余的方式執(zhí)行安全關(guān)鍵的任務(wù),隨時間而變化。由于這些冗余任務(wù)隨時間而變化,因此有助于消除瞬時故障。其中,單個硬件信道上的時間冗余是使用同一款軟件在一個硬件上執(zhí)行多次安全關(guān)鍵的任務(wù),然后再比較多次運算的結(jié)果。如果發(fā)現(xiàn)差異,則執(zhí)行相關(guān)的糾正操作。上述“軟件冗余”部分中描述的“軟件多樣化冗余”(一個硬件通道)是此類冗余的擴展版本。
并行硬件信道上的時間冗余是在并行信道上執(zhí)行、但不同時執(zhí)行所有安全關(guān)鍵的任務(wù),它有助于隨著時間的推移創(chuàng)建冗余。 瞬時故障不會以相同的方式影響操作,即使并行信道是對稱的硬件。上述“硬件冗余”部分中描述的“延遲鎖步”是此類時間冗余的一個示例。
結(jié)語
汽車行業(yè)使用到多種設(shè)計技術(shù),以實現(xiàn)安全性,各種冗余技術(shù)是實現(xiàn)安全性所必不可少的,目的是確保設(shè)備在發(fā)生故障時更加可靠和穩(wěn)定。硬件冗余的優(yōu)勢是能夠盡早檢測到故障,但代價是需要增加硬件數(shù)量。另一方面,如果系統(tǒng)成本有限,那么軟件冗余可能用處更大??傊哂嗍菍崿F(xiàn)提高汽車安全性能的關(guān)鍵所在,可以利用硬件和軟件冗余,以及信息冗余、時間冗余等,使得系統(tǒng)更加穩(wěn)定而可靠。
評論