9月18日,在 “2022世界智能網聯汽車大會” 上,中國汽車工業協會軟件分會理事長、AUTOSEMO輪值主席、中汽創智CEO李豐軍先生代表AUTOSEMO通過視頻的方式發布了《中國汽車基礎軟件發展白皮書3.0》。 本文節選自此次發布的白皮書,主要介紹功能安全軟件架構。
1. E-GAS 安全架構思想
汽車功能安全旨在把電子電氣系統失效而導致的人身危害風險控制在合理范圍內。下圖是常見的電子電氣系統硬件構成圖,一個電子電氣系統的構成要素,除了圖中可見的硬件外,也包含圖中不可見的軟件。
圖1常用電子電氣硬件系統
電子電氣系統的失效,既包含由于軟硬件設計錯誤引起的系統性失效,也包含由隨機硬件故障引起的失效。根據系統架構,需要設計各種安全機制去預防和探測功能故障,并能夠在故障發生時,避免或者降低危害的發生。這就需要一個強壯的功能安全軟件架構來管理和控制這些安全機制,降低功能安全整體開發難度。
目前,E-GAS(Standardized E-Gas Monitoring Concept for Gasoline and Diesel Engine Control Units)無疑是當前使用最為廣泛的一個安全軟件架構方案。雖然 E-GAS 最初只是針對汽 / 柴油發動機管理系統而提出的安全架構方案,但是經過簡單的適配,也可以用于車身系統,變速箱系統以及新能源的三電系統等,具有非常良好的擴展性,應用非常廣泛。
下圖是 E-GAS 的三層軟件架構設計方案,從上到下,軟件分為 Level1~3 總共三層,Level1是功能實現層(function level),Level2 是功能監控層(function monitoring level),Level3 是控制器監控層(controller monitoring level)。該架構形成了很好的分層監視框架,并有效實現了功能安全分解,通常采用 QM(ASIL X) + ASIL X(ASIL X)的安全分解策略,即將功能實現軟件(Level1)按照 QM 等級開發,功能冗余軟件或安全措施(Level2、Level3)按照最高的要求等級 ASIL X(ASIL X)進行開發,這樣可以有效降低功能軟件的安全開發成本。
圖2 E-GAS三層監視架構方案
(1) Level1 功能實現層
Level1 是功能實現層,完成具體的功能實現,比如對于電機控制器來說,這一層實現了將請求的扭矩轉換為電機的扭矩輸出。
(2) Level2 功能監控層
Level2 是功能監控層,用于監控 Level1 功能的運行是否正常。Level2 的核心是設計一套方法去判斷Level1 的運行是否正常。雖然判斷 Level1 運行是否正常的方法,往往跟被監控的功能相關,不同被監控功能有不同的判定方法,比如 : 通過軟件多樣化冗余。但也有一些適用范圍較廣的判斷方法,比如合理性校驗。
圖3 合理性檢查
如上圖 所示,Level2 在使用合理性校驗方法判斷 Level1 功能是否正常運行時,先根據傳感器輸入的信號,計算控制量允許輸出的合理范圍,再計算從執行器反饋的實際輸出量,最后判定 Level1 的實際輸出量是否在允許的合理范圍,如果超出了合理的范圍,則判定 Level1 功能異常,執行錯誤處理。
(3) Level3 控制器監控層
Level3 是控制器監控層,主要由三部分功能構成。
電子電氣系統硬件診斷:監控電子電氣系統硬件故障,比如 : 控制器的 CPU 核故障、RAM 故障、ROM 故障等。
獨立監控:控制器相關的故障發生后,此時控制器已經無法可靠地執行安全相關邏輯,為了保證安全性,需要外部額外的獨立監控模塊,來確保即使 MCU 發生嚴重故障后,依然能夠進入安全狀態。這個額外的獨立監控模塊,通常是集成看門狗的電源管理芯片。
應用程序流檢查:監控 Level1 和 Level2 的監控程序是否運行正常。該監控功能通過將程序流檢查和看門狗喂狗綁定實現。如果 Level1 和 Level2 相關的監控程序沒有按照設定的順序運行,或者沒有在規定的時間內執行,則程序流檢查失敗,無法正常喂狗,從而進入系統安全狀態。
圖4Level3功能框圖
2. 國外功能安全軟件架構發展情況
提到功能安全與軟件架構,我們可以從 “符合功能安全的軟件架構” 和 “功能安全軟件架構” 這兩個維度去看待它們之間的關系。
前者側重點是從軟件開發角度看我們的軟件架構設計過程對功能安全的符合性,也就是我們的軟件架構設計過程需要滿足 ISO 26262 提出的各種要求,如:標記方法、設計原則、設計要素要求、安全分析要求、錯誤探測機制要求、錯誤處理機制以及設計驗證方法等,其中,軟件架構層面的安全分析主流手段是“軟件 FMEA(Failure Mode and Effects Analysis)” 和 “軟件 DFA(Dependent Failure Analysis)” 。
后者側重點是從嵌入式軟件系統角度看對系統級功能安全的支撐。基于 E-Gas 安全架構的思想,我們認為 “分層監視思想” 、“安全措施” 和 “診斷框架” 是 “功能安全軟件架構” 的核心,“分層監視思想”和 “安全措施” 在上文有說明,本節接下來內容主要圍繞 “診斷框架” 進行說明。無論我們使用的基礎軟件開發平臺是 AUTOSAR CP、AP 或者是非 AUTOSAR,功能安全軟件架的設計思路是類似的,這里基于 AUTOSAR CP 進行說明。
1) 功能安全診斷框架技術要求
圖5故障響應時間和容錯時間間隔
我們結合 FTTI(故障容忍時間間隔,fault tolerant time interval)理解故障診斷過程。從故障發生到產生可能危害之間的這段時間就是 FTTI 時間,此期間主要有診斷測試、故障響應過程,并且希望在產生可能危害之前進入安全狀態 ( 圖 4.1-8)。診斷測試過程需要考慮診斷測試觸發、故障確認(去抖)等,
故障響應過程需要考慮進入合理的操作模式(如:Fail safe, Fail operational, Emergency operation 等)、故障存儲等。
綜上,“診斷框架” 的核心設計需要考慮覆蓋診斷測試、故障響應過程。主要的功能安全診斷框架技術要求有:
故障統一管理:對 E-GAS 多層監視框架各故障監視層上報的故障進行狀態統一管理
故障響應時間要求:故障檢出到進入安全狀態需滿足故障容忍時間間隔(FTTI)的要求
獨立性要求:片上安全機制與功能存在共因問題,需支持獨立性監視(MCU 片外監視)
多樣化要求:軟件架構須滿足框架設計通用化和支持安全策略多樣化(不同項目對安全機制有不同要求)
診斷測試時機:上下電,周期,條件觸發等
故障去抖 / 延時檢查:需支持安全機制的去抖測試功能,至少支持基于時間和基于計數去抖算法
診斷事件和功能解耦:診斷事件和功能獨立管理,之間存在映射關系
故障存儲:支持故障信息非易失存儲
2) 國外診斷框架技術情況解讀
在對診斷框架技術展開解讀之前,有兩個方面的建議供參考。
① 建議 1:根據需求確定診斷測試的時機
a. 上電時:這里結合一個典型應用需求進行說明。安全機制(safety mechanism)和對應的功能構成了雙點,為了降低潛伏多點故障失效率,一般在系統啟動階段(上電時),安全機制需要做自檢。此外,在多處理器系統中還需要考慮診斷測試同步問題。
b. 運行時:一般分周期性診斷測試和條件診斷測試。診斷周期的定義需要考慮 FDTI(fault detection time interval)的約束,而條件診斷測試一般是發生狀態遷移時或在激活某個功能前對功能進行的診斷。
c. 下電時:可以選擇執行一些比較耗時的測試,而測試結果一般放在下一次啟動時處理。
② 建議 2:進行分組診斷測試
為了便于診斷管理(包括診斷觸發和故障響應等),根據臨界故障 / 非臨界故障,診斷測試時機等因素進行分組。上電時如果檢出臨界故障(Critical fault),比如:核故障(Core Fault)、易失性存儲器測試故障(Ram Test Fault)等,這時故障響應可以選擇處在一個靜默狀態處理(如:MCU 處在連續復位狀態)。
圖6 “功能安全診斷框架”與“功能安全診斷控制流”
E-Gas 三 層 監 視 框 架 的 Level1(function level) 及 Level2(function monitoring level) 位 于 ASW(application software, 即 : 圖 4.1-9 中 的 SWC) 層,Level3(controller monitoring level) 位 于BSW(basic software) 層。“診斷框架” 同樣也位于 BSW 層,如上文所述主要覆蓋診斷測試、故障響應過程,下文對其構成和工作過程展開介紹:
BswM、 EcuM 主要負責上下電管理,在 STARTUP、UP、SHUTDOWN 階段分別進行上電時、運行時、下電時的診斷測試
ASW-Level1(E-Gas Level1)覆蓋功能輸入 / 輸出的診斷;ASW-Level2(E-Gas Level2)一般實現為 ASW-Level1 功能的冗余算法,實現 ASW-Level1 ASIL 等級的分解;TestLib(E-GasLevel3)監視 ECU、MCU 層面的硬件失效(建議參考 ISO26262(2018)-Part5 Annex D 及 MCU安全手冊),覆蓋 Level1 和 Level2 共因失效的診斷,并和 “監視控制器” 實現用于邏輯及時間獨立性診斷的問答看門狗機制
TestManager 負責對 TestLib 安全機制的診斷測試觸發及相應測試結果的收集
DEM 收集 E-Gas Level1/2/3 的測試結果,診斷事件去抖,標記故障碼及通過 NvM 進行故障信息存儲。FiM 根據 DEM 診斷測試結果(去抖后)標記已配置的功能,功能軟件(ASW-Level1)根據標記來決定對功能的抑制。
AUTOSEMO背景
在全球汽車產業以電動化、智能化、網聯化、共享化為代表的“新四化”的趨勢下,智能化已成為汽車工業發展不可逆轉的趨勢。“軟件定義汽車”已經成為全企業的戰略共識,軟件在整車成本中所占比重逐年增大,成為企業核心價值和戰略制高點。汽車創新的主要方向,包括自動駕駛在內的大量車內的軟件由于高度的復雜性,將很難由單一的整車企業或零部件供應商獨立完成,同時大量新的傳感器和控制器以及專用芯片也開始出現在汽車的硬件平臺上,整車企業希望能夠快速的將這些新的硬件和功能應用到車輛的系統中,并能夠通過不斷的軟硬件升級給客戶帶來新的體驗。為了順應全球變革帶給中國車廠的影響,對于本土車廠對智能網聯、自動駕駛的需求。鼓勵發展具有我國自主知識產權的汽車基礎軟件生態體系尤為重要,是解決中國汽車產業做大做強的堅實基礎。
鑒于中國汽車基礎軟件發展的重要性,應國內主要汽車企業的要求,并經主管部門認可,中國汽車工業協會(以下簡稱:中汽協),于2019年12月決定組建中國汽車基礎軟件生態委員會(英文China Automotive Basic Software Ecosystem Committee,簡稱AUTOSEMO)。旨在聯合汽車及軟件產業內的成員,形成由本土企業主導的共同規劃和創建適應新需求的軟件架構和接口規范,做強本土基礎軟件,推動行業開放和協作,促進產業向更智能化的方向發展。在當前復雜多變的國際產業競爭趨勢下,設立AUTOSEMO具有十分重要的戰略意義和現實意義。
審核編輯 :李倩
-
控制器
+關注
關注
112文章
16385瀏覽量
178378 -
電氣系統
+關注
關注
1文章
360瀏覽量
24271 -
安全架構
+關注
關注
0文章
11瀏覽量
5080
原文標題:功能安全軟件架構
文章出處:【微信號:eng2mot,微信公眾號:汽車ECU開發】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論