嵌入式視覺 (EV) 系統的廣泛應用已經是無所不在,高級駕駛員輔助系統 (ADAS)、機器視覺、醫療成像、增強現實以及眾多其他應用等等, 都離不開一個搞笑的嵌入式系統平臺。
然而, 采用 EV 系統雖然能給最終應用帶來明顯優勢,但也要確保采用該系統后不會造成人身傷亡或財產損失,這對開發人員來說義不容辭。要做到這點,不僅要考慮設計的安全性,嚴格遵循工程壽命周期和公認標準,還需要考慮 EV 系統的保密性,防止被惡意或其它方式修改。
EV 系統的終端應用是安全性和保密性需求強弱的驅動因素。例如,消費類應用對于安全性和保密性的要求,就比 ADAS 或機器視覺系統的要求低得多。
為在這些設計考慮因素和安全性與保密性要求方面協助我們,行業制定了多個知名的國際標準(如 IEC61508),為眾多要求功能安全性的電子系統保駕護航。另外,還有更多專用標準,例如用于汽車應用的 ISO26262、用于機器設備的 IEC62061 和用于飛行應用的 DO178/DO254。此外,根據最終市場的情況,商業應用也要求 CE、UL 或 CSA 標識。這些標準中的每一項都有相應的開發和驗證要求,需要落實在機構的工程設計和交付生命周期中以確保合規性。
而EV 系統的核心是處理內核,該系統一般會采用一個 FPGA 或可編程的 SoC,以用于解決目前提出的一系列問題。
這些標準的實際意義是什么?
許多此類安全標準使用不同的名稱定義安全級別,比如 IEC61508 的“安全完整性級別”(SIL)、DO254 的“設計保障級別”(DAL)和 ISO26262 的“汽車 SIL”(ASIL)。在 SIL、DAL 和 ASIL 內包含一系列不同級別,可根據應用的危害程度采用不同的安全級別。一般來說,這些級別是按失效時間(小時數)定義的,正確的說法是“失效時間(小時數)”。雖然這些不同的標準總體上保持一致,但也存在如下差異。
安全標準和不同級別
在開展設計分析時,會演示如何達到認證要求的級別。工程師習慣使用時間失效(FIT)率,即失效時間(小時數)的倒數。在 SIL4 和 DAL A 安全級別下運行時,這要求采用正確架構的系統來實現這些要求。
系統考慮因素
安全系統的開發要求出色的系統工程設計,同時在每個開發層級上配合明確定義且可跟蹤的要求。
如上所述,工程生命周期由最終應用和所需的結果認證共同決定。該生命周期將決定從 EV 系統的概念、生產到處置所采取的總體工程方法。
在這個生命周期內,您可以定義工程評審門,以控制項目的進展。在這些評審中,由獨立技術專家審核需求、設計、技術報告和測試結果,以確保設計成熟度足以支撐進入到下一階段,或是需要進行進一步工作來達到所需的依據標準要求。
圖 1:交付與工程生命周期示例
工程計劃也要勾勒出每個層級的驗證和確認流程,通過履行這一流程獲得達到適用標準合規要求的證據。這可能要求在各種環境工作范圍、動態振動與沖擊下測試 EV 系統。您甚至可能必須讓 EV 系統接受加速壽命測試,以確保能夠達到系統的使用壽命。
當涉及到保密性時,您必須考慮一系列方面的因素,即工程師在試圖確保其設計安全性時面臨的高層次問題。這些方面包括如下:
競爭對手對設計進行逆向工程操作
未經授權對設計的改動
未經授權訪問設計中的數據
未經授權控制或操控最終應用
有多種方法可供您解決一部分此類難題。您可以使用加密比特流,從而控制對設計和制造文件的訪問。或是您可以通過限制對最終產品 JTAG 端口的訪問,同時根據選擇的器件的架構采取軟件保密性措施,可以保護物理設計。
高質量設計
顯然您需要根據終端應用應用考慮選擇什么樣的組件和制造標準,以確保您符合應用的質量要求。在處理內核方面,您可以使用賽靈思 FPGA 和 SoC 器件,此類器件既符合標準商用質量標準的等級,也符合工業、汽車、航空航天與軍用等更嚴苛標準的等級。這樣通過選擇正確的組件等級,工程師團隊從一開始就提高質量。
另外,還有一系列設計技術可供您用于幫助滿足這些標準的嚴格要求。為了力助確保您滿足可靠性要求(也即常稱的成功概率),在必要時,您可以使用可靠性工程技術為系統中的各項功能創建可靠性方框圖,并確保避免任何危險的失效模式和單點失效。在設計自身內,您可以進行失效模式影響與危害性分析 (FMECA)。開展這一分析的層級可視應用而定,可以從功能模塊級直至組件級。FMECA 將考慮潛在故障模式、后效和對系統的最終影響,它還將考慮故障是否能被內置的自檢和監控系統檢測到。如果您要開發組件級的 FMECA,您就需要考慮設計中每個組件的部件應力分析 (PSA),以確保組件在正確的降額條件下工作。您應用的降額水平將取決于選擇的常用標準。標準包括國防部 (Mil-STD 1547) 和歐洲太空總署(ESCC-Q-30-11A)。如果您不進行 PSA 分析,就可能在過應力情況下使用器件,造成這些器件成為設備使用壽命的限制因素。根據 FMECA 的預測,這些器件的失效可能導致也可能不會導致系統的損耗或性能衰減。
在分析可靠性的同時,您還能對系統進行威脅分析,根據使用案例確定系統威脅以及對識別出的威脅可能采取的緩解策略。
架構案例分析
在硬件層面,您需要考慮系統功能以及您如何實現功能安全性與保密性。雖然這可以從頭開始實現,但更好的方法是選擇已經支持這些功能的組件,例如賽靈思 Zynq All Programmable SoC。
任何 EV 系統的核心都是圖像處理流水線。這要求將高帶寬處理能力與監視及控制功能相結合。相對于傳統的處理器與 FPGA 組合,Zynq 全可編程 SoC 能讓我們擁有緊密集成的架構。
這種處理器和邏輯結構之間更緊密的集成不僅能帶來更出色的 SAWP-C 解決方案,由于處理器和邏輯結構之間的交互不對外暴露,不給惡意訪問或其他訪問可乘之機,從而提供更安全的系統。
在電子架構內部,您可使用 Zynq全可編程SoC 的嵌入式安全架構提供安全配置功能。在可編程系統 (PS) 和可編程邏輯 (PL) 中,您可使用三段法確保系統分區的安全性。三段法包括散列消息認證代碼 (HMAC)、高級加密標準 (AES) 解密和 RSA 認證。AES 和 HMAC 都使用 256 位私鑰,而 RSA 使用 2,048 位密鑰。Zynq 全可編程 SoC 的安全架構還允許啟用或禁用 JTAG 訪問。
當您在為我們的非易失性引導介質生成引導文件和配置分區時,這些安全特性是啟用的。還可以定義一個回滾分區,這樣如果最初的第一階段引導加載程序加載其應用失敗,就能回滾到存儲在不同內存位置的該應用的另一個備份。
在您成功啟動設備并開始運行時,我們可以使用 ARM Trust Zone 架構實現正交環境,限制對 Zynq AP SoC 內的硬件功能的訪問,包括可編程邏輯 (PL) 外設在內。您還可以細分內存和 L2 緩存,確保安全環境和非安全環境間的交互受到限制。
Zynq AP SoC Secure Boot 和 Trust Zone 實現
如果要在 Zynq AP SoC 的可編程邏輯架構中實現圖像處理流水線,您還可以使用 Trust Zone 提供對可編程邏輯架構中的 IP 核的安全或非安全訪問。這樣您就能夠使對圖像處理鏈的關鍵方面進行安全訪問,避免發生對配置的無授權修改。
圖像處理流水線可使用定制開發模塊或來自 IP 庫的模塊實現。
部分安全性與保密性實現方案(例如 IEC61508)可能要求彼此隔離設計元,這可能是建立模塊冗余,區分安全區域或測試功能的結果。通過使用隔離設計流程 (IDF),您可以在已確認區域間強制實施物理隔離。在使用 Vivado Design Suite 時,支持對 Zynq 器件開展這種操作。
用于安全關鍵型 FPGA的IDF強制政策
如果您想在處理鏈或其他控制邏輯中實現多數表決,隔離設計流程對您而言就非常有用。使用隔離設計流程可確保冗余模塊間的唯一互聯是通過可信路徑實現的。
在實現設計的時候,您還需要考慮一系列針對器件和工具的設計考慮因素。當然終端應用應用和您的總體工程管理計劃將決定采用這些技巧的必要性。
在內存上使用檢錯糾錯 (EDAC) 碼。必要時,該功能還可與擦除功能相結合,定期讀取和糾正內存中的數據,不管應用是否正在訪問內存。
在定義控制字時運用漢明(Hamming) 碼的不同,增大命令字之間的漢明距離,同時要求實現更多位,有助于提高設計的可靠性。
對關鍵命令使用 ARM 和 FIRE 方法,該方法要求動作關鍵型功能使用兩個單獨命令。
在外部通信接口上使用 EDAC 碼
綜合性內建測試(BIT)功能能報告系統的健康狀態或其他狀態Zynq XADC 是 BIT 系統功能非常強大的一個組件,因為通過多路復用器引入外部信號,它能夠實現對器件電壓和溫度的監測。
總結
對您的嵌入式視覺系統應用正確的功能安全工業標準是能夠做到的,有相當數量的組件、工具和開發方法可供系統開發人員使用。
要確保我們滿足您的 EV 系統的認證要求,您需要從設計之初就開始正確判斷適用標準,并生成工程管理計劃,定義工程生命周期,用以收集通過認證所需的證據。
來源:維庫電子市場網
評論