每位工程師皆努力想建構100%的失效安全(fail-safe)系統,但要以經濟的方式實現這個理想目標,卻是相當困難。因此,諸如ISO 26262和IEC 61508等標準在定義安全相關系統所需之功能安全等級時,一般多采用機率風險評估方法。這些標準定義(汽車)安全完整性等級(ASIL/SIL),以規定必須遵守的系統屬性,以及應采用的工程制程嚴格度,以符合相關的系統認證要求,其中包括定義系統安全目標及容忍錯誤率的安全概念,以及將機能配置到硬件和軟件功能的安全架構,以長期持續偵測系統是否正常運作。傳統上,安全軟件、硬件及工具屬于獨立的解決方案,能夠各自解決部分需求,卻無法加以整合。不過,目前有一種提供完整解決方案的整合式PRO-SIL?概念,能透過有效且整合的方式達成功能安全目標,以充分降低風險、節省成本及減少復雜性。
開發“安全”系統的基本動機,在于發現缺陷時,確保安全的操作和明確定義的行為。IEC 61508標準便是在此背景下,於1980年代中期發展而成,并且不斷修訂。此標準定義了電子和電動裝置安全系統的設計。另外,針對制程自動化(IEC 61511)、機械自動化(ISO 13849)、驅動裝置 (IEC 61800-5)、核能(IEC 61513)及汽車(ISO 26262 草案)等特定需求的標準,也由此一般標準衍生而成。確保符合 IEC 61508 標準的測量方法,取決於系統中每種危險所需的安全完整性等級(表1)(SIL 1至SIL 4適用于自動化應用,ASIL A至ASIL D適用于汽車應用)。
表1 安全完整性等級,其中依照IEC 61508或ISO 26262之系統安全認證,規定遵守項目
近兩年來,功能安全已從系統整合者作業轉移為元件/軟件等級。簡單的電子元件和復雜的微處理器皆必須支援IEC 61508。對系統設計師而言,最重要且經常最花時間的挑戰之一,就是確保系統的安全,而且不僅要在最高系統層級上獲得相關認證,機器的硬件和注冊資料也需有同樣水準。IEC 61508針對硬件規定了詳細的硬件管理和測試需求,因此,撰寫安全關鍵軟件來執行這些功能相當費時且昂貴,而且不易在裝置之間攜行使用。
多重CPU-成本與空間密集
在使用配備單一微處理器的單通道架構之下,最大安全完整性等級將限制為SIL 2。因此,SIL 3或ASIL C/D系統及安全產品采用多重CPU設計,以處理自我測試和確保備援。然而這種解決方案相當復雜且昂貴,因為會占用大量PCB空間,而且覆蓋范圍因兩個CPU之間的同步和傳遞問題而受限。新方法是增加特殊的外部硬件區塊,并使用在標準雙核心32位微處理器上執行的軟件程序庫,借此突破指定的媒體診斷范圍(DC) 限制。此解決方案透過使用單一微處理器來減輕開發負擔和原料成本,并運用智慧型安全概念搭配所有相關元件(包括依據IEC61508/ISO26262開發且方便的自我測試功能),快速可靠地將安全性納入相關系統。
TriCore不采用外部第二核心來評估微處理器的功能故障;TriCore已包含TriCore CPU本身(微處理器及DSP)及周邊控制處理器(PCP)雙核心(圖 1),因此不需要外部第二核心來進行安全性評估。
圖1 TriCore方塊圖 - PCP執行自我測試功能
完整的設計套件
在建置安全關鍵應用方面,市場上已經有不同的解決方案。盡管大多數領導供應商皆提供汽車應用的相關方法,但是包含工業在內之其他應用領域的相關方法卻仍然有限,而且可用的裝置發展經常受到限制。汽車系統講求嚴格的安全要求,英飛凌利用在此領域的豐富經驗,開發出PRO-SIL安全產品,以高度整合的安全解決方案來滿足持續增加的工業市場需求。經過認證的汽車解決方案可輕松供其他應用使用,同時提供各種裝置。PRO-SIL的建置是以其32位TriCore或16位XC2300微處理器為基礎,同時包含SafeTcore測試程序庫及CIC61508安全監控芯片(圖 2)。此建置經過完整驗證,完全符合IEC 61508的規定。
圖2 以TriCore作為主控制器,并采用安全監控芯片(看門狗)及 SafeTcore測試軟件程序庫的安全相關系統
創新的安全概念
單通道(1oo1或1 out of 1)或雙通道(1oo2或1 out of 2)結構是兩種最常見的安全控制架構,后者是以兩個獨立的處理單元為基礎。1oo1結構提供經濟的解決方案,其安全完整性等級僅限于SIL 2。雙通道架構(1oo2)支援SIL 3高安全完整性等級,但需要更高的成本及更多的電路板空間。PRO-SIL 概念采用的安全架構為1oo1結構,搭配智慧型診斷功能(1oo1D)。
創新的安全概念以挑戰/回應技術為基礎,TriCore芯片上的PCP扮演挑戰者,主TriCoreCPU則執行測試。 資訊經由共享記憶體結構傳送,資料將維持多樣并獲得備援。自我測試功能在PCP上執行,并由透過SPI連結TriCore芯片的外部智慧型看門狗(CIC61508)額外加以監控(圖 3)。看門狗裝置是盡可能減少共因失效的有效方法。看門狗使用特定的計時視窗與TriCore芯片傳遞訊息,以檢查TriCore芯片的時脈、電壓及正確運作是否符合標準定義。TriCore則負責監控CIC 61508的電源供應,并透過遠端診斷測量方法來監控其是否正確運作。主TriCore CPU和PCP之間會共享錯誤偵測(硬件故障和任務監控)。
圖3 創新的安全概念以挑戰/回應技術為基礎,TriCore芯片上的 PCP 扮演挑戰者,主TriCore CPU則執行測試。PCP由外部智慧型看門狗(CIC61508)額外加以監控,并透過SPI連結TriCore芯片。
PCP軟件內含PCP自我測試、C/R(Challenge/Response,挑戰/回應)通訊、看門狗通訊、測試執行監控及任務監控等功能。TriCore中所執行的SafeTcore程序庫為可組態的架構,可提供測試功能來驗證處理器和系統完整性(圖 4)。這些測試大部分會進行建置,因此能夠在起始時間執行,同時也可以在執行時間於背景執行。典型的診斷間隔時間為6.4ms。最復雜的測試為TriCore CPU自我測試。透過使用創新的安全概念,此項操作碼式自我測試的整體診斷覆蓋率可達96.5%,遠勝于其他指令集測試,且具有可中斷且低延遲的優點。
圖4 SafeTcore軟件分割
SafeTcore測試程序庫
SafeTcore套件提供工具,有助于同步完成兩項任務,亦即符合SIL1至SIL3(或 ASIL B-D)所需的認證,以及配合緊迫的上市日程表。最大的認證挑戰是達到芯片級 (silicon level) 所需的測試,并擁有可支持安全實例的說明文件。SafeTcore套件經由高度可組態性的驅動器程序庫,為TriCore系列裝置提供前述功能,并結合完整可用的安全手冊、安全實例及需求/追蹤資料庫。SafeTcore集具有強大的自我測試程序,運用在PCP上于起始時間開始并周期于應用程式內執行的SafeTcore集(圖 5),使用者軟件的正確運作及TriCore CPU本身將可獲得驗證和認證。
圖5 SafeTcore開啟和關閉測試
此核心測試功能結合了詳細的周邊測試及自動支援安全監控芯片。SafeTcore程序庫的軟件測試集亦提供作業系統監控功能,以執行復雜的任務及制造流程監控,可支援安全的程式碼執行,以及超過 99% 的診斷覆蓋率。SafeTcore套件亦包括將各種程序庫要素整合至使用者應用程式的安全手冊,以及安全整合性等級的核可。
看門狗
CIC61508 可整合至各種功能安全相關應用程式。看門狗可偵測可能造成微處理器運算錯誤之常見時脈、供電及溫度失效模式,藉此監控主微處理器(如TriCore芯片)。由于采用了 TSSOP-38 的小型封裝,CIC61508 具有節省空間和成本效益的特性,是支援安全防護應用的首選。
在使用TriCoreMCU 的安全相關系統中,TriCore 主核心執行 SafeTcore測試軟件以及核心和周邊測試,PCP 則監控TriCore主核心。CIC61508 外部看門狗監控兩個核心,以確定失效共因。由于 PCP 已建置各種自我測試功能,TriCore/CIC61508 組合僅需要由 CIC61508 提供的功能子集。
CIC61508 所支援的測試特性,存在儲存器中,包括內部操作碼測試日程表/定序器,可產生一連串附帶特定資料的測試需求,并依據使用者自定表格來檢查回應。其他監控功能包括可偵測多達 4 個電源域的欠壓及過壓、監控多達 8 項平行資料比對及確認,并包含作業系統的任務監控,可以檢查預先定義的派工順序,以及執行預定的所有安全重要任務。
作者:英飛凌科技 Manfred Choutka
本文轉摘自電子發燒友網《汽車電子特刊》5月刊
評論
查看更多