符合安全標準的汽車器件冗余設計
此類冗余在位級實施,安全關鍵任務中所使用的寄存器位被復制兩次,根據多數投票邏輯生成輸出。這是2oo3多數投票系統的一個示例,如果這三個觸發器中的任何一個發生故障,那么其余的兩個觸發器將掩蓋故障。假設很難同時損壞這三個觸發器中的兩個,那么這種技術可保持系統運行。由于在這種情況下,面積補償是雙倍的,因此需要徹底檢驗設計配置位,確定安全關鍵的配置信息,避免任何不必要的面積開銷。
軟件多樣化冗余
在軟件冗余中,將在軟件中執行該任務多次。可使用不同的軟件執行該任務多次(不同的算法用于同一個任務),然后比較結果, 這將改善診斷覆蓋。
設計中使用兩種完全不同的軟件實現,即在一個處理單元中使用不同的算法來執行相同的任務。圖3說明了實現情況。主用通道負責計算,如果計算錯誤,可能導致危險。冗余通道負責檢驗主用通道的計算,如果發現故障則采取行動。冗余通道采用單獨的算法設計和代碼實現,以提供軟件多樣化。一旦兩條通道都完成后,則比較這兩種冗余軟件實現的輸出數據。如發現差異,則生成故障消息。

圖3:單一硬件通道軟件冗余工作原理
算法多樣化示例包括:A+B=C與C-B=A。一個通道使用正常的計算,另一個通道使用二進制補碼數學。
兩個處理單元相互交換數據(包括結果、中間結果和測試數據),在每個單元中使用軟件比較數據,如檢測到差異則生成故障消息。圖4說明了實現情況。在這種情況下,主用通道和冗余通道在不同的處理單元中使用不同的軟件算法來執行。如果使用不同的處理器類型以及單獨的算法設計、代碼和編譯器,那么這種方法允許硬件和軟件多樣性。另外,外設復制與內核復制不同。外設共享外部世界的相同輸入,外設的輸出在軟件中進行比較。例如,在SoC中使用多個ADC,輸入信道被復制到大多數ADC,它們的輸出可在軟件中進行比較。

圖4:多處理單元軟件冗余工作原理
信息冗余和時間冗余
信息冗余是指在通過嘈雜的信道傳輸信息時添加到實際數據中的冗余數據,目的是檢測故障或修復故障。 下面介紹了幾種信息冗余方案,如:奇偶校驗位、校驗和、糾錯碼。
奇偶校驗位是指被添加到二進制數據結尾的位,指示數據中“1”的數量是奇數還是偶數。偶校驗方案是指如果數據中“1”的數量為奇數,則向數據添加一個“1”。奇校驗方案是指,如果數據中“1”的數量為偶數,則向數據添加一個 “1”。例如,如果實際數據為 “11110000 0000”,并且在其后添加了一個偶校驗位,那么“111100000 0000 0”將通過通信信道傳輸。在接收器端,如果收到單個的位觸發數據,那么接收器將檢測到數據在傳輸過程中被破壞,可請求發射器重新發送數據。
校驗和是使用某些函數通過信息數據計算的數據。它與信息數據一起通過噪聲信道傳輸。在接收器端,使用收到的數據計算校驗和。計算的校驗和應匹配所收到的校驗和。錯誤檢測功能取決于冗余比特數量、數據大小,以及生成校驗和所用的多項式。 奇偶性、模塊化和和與位置相關的校驗和是幾種可用于錯誤檢測的校驗和示例。在檢測到錯誤的情況下,可通過信號通知發射器,重新傳輸數據。
某些校驗函數不僅能夠檢測錯誤,還能指出數據中可能引入的某些類型的錯誤,從而在不重新發送數據的情況下讓接收器能夠獲得正確的數據,這些函數被稱為糾錯碼。能夠被校正的錯誤也有限制。例如,漢明碼是糾錯碼。盡管漢明碼能夠檢測到雙位錯誤,但只能校正數據中的單位錯誤。格雷碼能夠檢測四位錯誤,但只能校正三位錯誤。BCH 碼、Goppa碼、Reed-Solomon 碼、Reed-Muller碼和Hadamard碼是以其發明人命名的其他代碼。此類編碼技術可作為信息和編碼理論的一部分進行研究,是應用數學、電子工程和計算機科學的一個有趣和廣泛的分支。
時間冗余是指以冗余的方式執行安全關鍵的任務,隨時間而變化。由于這些冗余任務隨時間而變化,因此有助于消除瞬時故障。其中,單個硬件信道上的時間冗余是使用同一款軟件在一個硬件上執行多次安全關鍵的任務,然后再比較多次運算的結果。如果發現差異,則執行相關的糾正操作。上述“軟件冗余”部分中描述的“軟件多樣化冗余”(一個硬件通道)是此類冗余的擴展版本。
并行硬件信道上的時間冗余是在并行信道上執行、但不同時執行所有安全關鍵的任務,它有助于隨著時間的推移創建冗余。 瞬時故障不會以相同的方式影響操作,即使并行信道是對稱的硬件。上述“硬件冗余”部分中描述的“延遲鎖步”是此類時間冗余的一個示例。
結語
汽車行業使用到多種設計技術,以實現安全性,各種冗余技術是實現安全性所必不可少的,目的是確保設備在發生故障時更加可靠和穩定。硬件冗余的優勢是能夠盡早檢測到故障,但代價是需要增加硬件數量。另一方面,如果系統成本有限,那么軟件冗余可能用處更大。總之,冗余是實現提高汽車安全性能的關鍵所在,可以利用硬件和軟件冗余,以及信息冗余、時間冗余等,使得系統更加穩定而可靠。
評論