用于提高可靠性的關鍵電路的雙工,三重甚至四重冗余技術已經存在了很長時間。自然,如此設計的第一個系統是用于軍事航空航天應用的,因為冗余很昂貴。它使飛機可以通過計算機安全地飛行,這是一種稱為“ 電傳飛行”的技術,從而使飛機的性能超出了人類飛行員的能力范圍。 1960年代的Apollo Saturn V火箭制導計算機具有三重冗余,這可能是其在極端發射條件下令人難以置信的可靠性的原因。為了防止不安全操作而使用相同或重復的相同電路模塊稱為雙重模塊化冗余(DMR)或三次模塊化冗余(TMR)。
傳感器冗余
我們可以請參見圖1中的傳感器DMR和TMR操作的基礎知識。大多數現代芯片傳感器都具有串行數字輸出(例如UART,SPI或I2C總線),因此用于比較每個數據的表決邏輯設備可能是小型,低功耗的微控制器。模塊化冗余是一種傳感器融合技術,旨在提高系統的可靠性。以DMR形式,它可以檢測到嚴重故障并允許系統受控關閉。換句話說,它可以提高“故障保護” 方案的可能性。 TMR引入了單個“容錯” 的概念,直到第二個傳感器出現故障時才中斷服務。在每種情況下,都不會以任何方式合并或處理來自每個傳感器的數據,只是將它們進行身份比較,從而允許實際組件之間的輸出發生細微的變化。
傳感器重復(a)或重復三次(b),而投票籌碼則不是,現在變成'單點故障危險(SPF)。可以通過添加冗余的表決邏輯來解決此問題,但是在進行所有麻煩之前,有必要比較制造商提供的傳感器和表決芯片的故障率。例如,Microchip為大多數微控制器提供了平均故障時間(MTTF)統計信息。傳感器在正常操作中通常會承受很高的壓力,因此MTTF的值極有可能比投票芯片小得多。在計算系統故障率時,投票邏輯的貢獻可能經常被低估。
處理器冗余的發展
在嵌入式控制系統中,傳感器輸入數據將通過某種方式進行處理。在微控制器上運行的算法的流程圖,微控制器產生用于驅動致動器和顯示器的輸出數據。該微控制器(MCU)具有嚴重的SPF危害,并且在用于安全關鍵型應用中時,將需要合并冗余電路。
具有冗余功能的線控飛行系統自Saturn V出現以來就已經存在。從1988年的空客A320開始,是1960年代的火箭,以及最近在民用飛機上使用的火箭。冗余系統代表了非常重大的額外投資,不僅在物理硬件上,而且更重要的是,工程師在設計電路時必須投入大量時間,以使其有效運行。實現成功完成任務的目標。該目標適用于有人值守和無人值守任務,但包括在涉及人員的情況下對安全性的假設。數十年來,成功完成任務的要求沒有改變,冗余的概念也沒有。發生的變化是最可能的故障條件(硬性或瞬態)以及每種情況的可能故障率。現代芯片比以前更不容易發生硬故障,但其密度更高的技術更容易因雜散(宇宙)粒子而引起臨時故障。
TMR和容錯
經典TMR涉及運行相同代碼的相同處理器一式三份,將它們的輸出數據通過比較器邏輯傳遞,以確認這三個處理器均產生相同的結果。也就是說,可以正常運行而不會出錯(圖2)。如果一個處理器“犯了一個錯誤”,則可以忽略它的輸出,因為其他兩個處理器將達成一致,并且它們的輸出將通過“多數表決”正確地通過。之所以稱為 fault masking (故障屏蔽),是因為在其余處理器不同意之前,可以不間斷地繼續安全運行。據說該系統是 Fault Tolerant (容錯),因為單個瞬態或硬故障不會中斷輸出數據流。非常適合實時控制應用。但是,這樣的系統不一定能保護您免受相同處理器的設計缺陷或每個處理器上運行的相同程序代碼中的錯誤的影響。
每個處理器可以從單個非冗余傳感器接收相同的輸入數據,如圖所示,盡管更好的主意是也使用冗余傳感器,如圖1所示。這種形式的TMR的缺點是比較器邏輯和確保“正確”數據應用于最終輸出所需的電路的復雜性。檢查電路可能也必須一式三份,這并不容易。這是有關該主題的最新論文。
DMR和故障恢復
大多數實際的安全系統設計人員都會通過犧牲 Fault Recoverable來解決容錯TMR的復雜性。 DMR配置。用于控制空中客車A320客機上的飛行表面(電梯,方向舵等)的各種計算機均由兩個相互交叉檢查的獨立處理器組成。任何故障都會導致關機,并將功能轉移到另一臺計算機。這些計算機中有五臺巧妙地互連在一起,驅動冗余執行器。一種故障對飛機性能沒有影響。如果發生更多故障,性能將下降,直至一無所獲,保留了對電梯的控制,再加上冗余的舵系統,飛機就可以安全轉向和降落。有關A320冗余飛行控制系統的更多詳細信息,請閱讀此技術說明。
不相似
A320上解決了具有相同軟件且產生相同錯誤答案的相同計算機的問題。介紹不相似的概念。五臺計算機中的三臺均基于一對Intel 80186 16位微處理器。另外兩個包含Motorola 68010 16/32bit單元。單獨的承包商設計,構建和編程每種類型:唯一的共性是冗余的外部總線接口及其協議。安全并不便宜。
安全微控制器和“鎖步”
硅技術的進步導致具有多個“核心”的處理器芯片極大地提高了性能或吞吐量。多核設備不包含冗余,僅包含真正并行運行多個不同程序的能力。如今,無人駕駛機器的概念似乎已成為現實,例如無人駕駛汽車甚至整個制造工廠。自然,安全已成為一個非常大的問題。幸運的是,已經創建了管理自主產品的設計和安全認證的標準:用于一般工業控制的IEC 61508和用于汽車應用的ISO 26262。芯片制造商已經對新型設備做出了回應:安全微控制器。這些新設備大多數都基于DMR原理,但有一些額外的變化。兩個處理器內核運行相同的程序,但是一個或多個時鐘周期彼此不同步(圖3)。為了錯誤檢測的目的,重新調整了輸出。
兩個處理器之間的固定延遲確保了不會同時檢測到同時影響兩個內核的某些瞬態情況。據說這些內核在“ Lockstep ”中運行。包括更多的冗余以處理翻轉的存儲位(糾錯碼或ECC邏輯)和通信通道上的翻轉位(循環冗余碼或CRC檢查)。然后是內置自測(BIST)邏輯,只要檢測到核心數據不匹配,就會激活該邏輯。如果沒有發現硬故障,則可以通過完全重置來實現瞬態故障恢復。不僅如此:該芯片的布局可最大程度地減少兩個內核共有的錯誤。圖3顯示了德州儀器為其Hercules TMS570系列產品采取的一些措施。這些措施包括將兩個內核相互之間以90°的最小間距布置為100μm。
其他鎖步安全微控制器的示例包括Infineon的AURIX,STMicro的SPC5和NXP的S32S24。
人工智能和冗余系統
處理器冗余可能在克服安全關鍵系統中采用AI的主要障礙方面很有用。問題在于,除非非常仔細地選擇“教學”圖像,否則用于對象識別的深度學習會受到無意間的偏見。您可以想象這會導致無人駕駛汽車的視覺系統犯下災難性錯誤。一種可能的解決方案是使用三重系統,其中,汽車上運行的每個“推理引擎”都使用從不同圖像集創建的不同數據集來工作。很有可能至少有兩個處理器可以同時正確處理它!
滿圈
這些鎖步設備可以檢測到瞬時核心故障,進行測試并完全重置后,將處理器恢復到完全運行狀態。如果您需要像Saturn V火箭計算機這樣的完全容錯功能,那么多虧了歐洲航天局,您就可以擁有它。他們創立了LEON系列容錯內核,這些內核可以處理大多數單事件翻轉(由于宇宙粒子的撞擊而不會中斷服務)。
冗余(應)保存生活
最近發生的埃塞俄比亞航空公司EA302航班墜機事件涉及最新版本的波音737客機,突顯了設計上的微小變化會導致災難。所有現代客機均具有廣泛的冗余安全系統,通常以座艙中“重復的”飛行員為基礎。復制的飛行傳感器為復制的飛行控制計算機提供數據,并顯示在駕駛艙的每一側。計算機之間會進行交叉核對,以確認有效的傳感器數據,并作為最后的備份,飛行員可以俯身比較彼此的讀數。新型737 Max的問題在于,增加了一個稱為MCAS的附加系統,以在起飛過程中施加全部發動機功率時,對可能的失速情況提供附加警告。鼻子趨于“后仰”,就像摩托車表演“助步車”一樣。 737 Max需要此預警系統,因為其更大的發動機安裝在更高的位置并向前行駛會對原始設計的空氣動力學產生負面影響。
新的預警系統僅監視兩個攻擊角之一( AOA)傳感器–鑒于其古老的機械“風向標”格式,這種錯誤是不可靠的。在航班302上,被監視的AOA突然以新MCAS系統只能解釋為猛烈的鼻子俯仰的角度卡住。如果連接了另一個冗余AOA,將發出AOA異議警告,然后飛行員可以禁用MCAS。確實,一個經過適當設計的冗余系統也可以使用皮托管傳感器和加速度計中的信息作為健全性檢查。由于沒有冗余,故障傳感器使MCAS認為即將發生失速,并將飛行員的控制柱向右推。另一個致命的設計缺陷是假定任何失速情況都是由于飛行員錯誤造成的:MCAS迫使操縱桿向前,而飛行員沒有力量將其拉回。制造商可能已提出AOA異議警告-作為“可選附加項”。在這種情況下,更多的機器冗余可能節省了一天的時間。讓人類飛行員有效地“冗余”會導致災難。
-
冗余
+關注
關注
1文章
109瀏覽量
20184 -
三模冗余
+關注
關注
1文章
5瀏覽量
11233 -
華強PCB
+關注
關注
8文章
1831瀏覽量
27723
發布評論請先 登錄
相關推薦
評論