我們詳細地介紹了系統(tǒng)開發(fā)階段,TSR,安全機制,TSC,安全分析等相關的內(nèi)容,今天我們聊系統(tǒng)開發(fā)階段最后一部分內(nèi)容,即系統(tǒng)安全架構:
系統(tǒng)架構作用
系統(tǒng)架構相關安全機制
系統(tǒng)安全架構
01
系統(tǒng)架構作用
架構是一門藝術,在整車汽車系統(tǒng),軟/硬件開發(fā)過程中非常重要,尤其在基于模型的系統(tǒng)開發(fā)(MBSE)中,架構是整個開發(fā)過程的核心之一。
一般來講,系統(tǒng)架構一般采用通用化建模語言UML或SysML在相關架構開發(fā)軟件,如Enterprise Architect, Cameo等,進行開發(fā)。但可惜的是,目前大部分車企都沒有完整的系統(tǒng)架構或多基于PowerPoint等形式的簡單架構描述。
在功能安全第三部分概念開發(fā)和第四部分系統(tǒng)開發(fā)過程中,都需要系統(tǒng)架構作為輸入條件,借助系統(tǒng)架構進行安全分析,導出功能安全需求(FSR)和技術安全需求(TSR),并將相應的安全需求分配至系統(tǒng)架構。
但在系統(tǒng)開發(fā)階段,我們還需要對系統(tǒng)架構進行功能安全相關內(nèi)容進一步開發(fā),將架構相關的安全機制融入系統(tǒng)架構當中,形成系統(tǒng)安全架構(Safety Architecture),以此勾勒出實現(xiàn)系統(tǒng)技術安全需求所需要的核心技術框架,為后續(xù)軟件和硬件架構的詳細設計提供基礎。
02
系統(tǒng)架構相關安全機制
很多朋友一直有個疑問,對于不同的ASIL等級應該具體采取哪些安全機制呢?
這是個很好的問題,一般來說ASIL等級越高,需要采取的安全機制數(shù)目及質量要求越高。
但ISO 26262并沒有,其實也沒有辦法明確哪個ASIL等級應該具體采取哪些安全機制,只有對硬件部分,不同覆蓋率(中,高,低)對應的安全機制的推薦。
主要原因在于:?
雖然有一些通用的安全機制,但研究對象不同,采用的安全機制也不盡相同。
為功能安全技術實施多樣性提供更多空間和選擇,便于不同企業(yè)根據(jù)自身技術積累和開發(fā)條件進行實施。
為技術更新?lián)Q代提供可能性。隨技術發(fā)展,很多新的安全機制得以實現(xiàn)或得以在汽車行業(yè)應用。
如果ASIL等級和安全機制一一掛鉤,強制執(zhí)行,可能很多車企的車都沒辦法上市了(你懂的)。
我們先看看不含安全機制的系統(tǒng)架構長什么樣??
系統(tǒng)架構旨在描述相關項組成和相互作用和約束。根據(jù)ISO 26262定義,相關項由一到多個系統(tǒng)構成,而一個系統(tǒng)應該至少包括一個傳感器,一個控制單元,一個執(zhí)行器。當然,一個系統(tǒng)也可以包含多個子系統(tǒng)。
所以一個最簡單的系統(tǒng)架構如下:
那有哪些系統(tǒng)層面的安全機制可以融入系統(tǒng)架構,進而形成系統(tǒng)安全架構呢?
既然一個最簡單的系統(tǒng)由三個部分構成,那么系統(tǒng)級別和架構相關的安全機制肯定也是和這三個部分以及三者之間的通訊安全相關。
下面我們一起看看系統(tǒng)層面和架構相關的常見的安全機制:
傳感器
─?傳感器硬件冗 ─?獨立供電 ─?多通道冗余采集 ─?信號質量檢測
控制單元
─?在線診斷
─?比較器
─?多數(shù)投票器
執(zhí)行器
─?執(zhí)行器硬件冗余
─?執(zhí)行器控制信號質量檢測
通訊
─ 冗余發(fā)送
─?信息冗余(CRC)
─?時間監(jiān)控
─?問答機制
需要注意的是,系統(tǒng)階段的安全機制主要作用是勾勒出實現(xiàn)系統(tǒng)功能安全所需的核心技術框架,明確應該采取哪些技術手段實現(xiàn)相應的安全目標,不會涉及具體的實施細節(jié),這個會在后續(xù)軟件和硬件開發(fā)階段進一步明確。
從上述安全機制可以看出,雖然安全機制的種類有很多,但無非都源于以下三個角度:?
1
冗余性: 使用相同的功能組件(多指硬件)降低硬件隨機失效,增加功能安全的可靠性,例如傳感器,執(zhí)行器冗余等。
2
多重性: 多用于故障關閉路徑,使用多個關閉路徑或保護設備,提供了防止單個設備失效的保護。
3
多樣性: 使用不同類型的設備或者軟件多樣化設計,降低共因失效的可能性。
03
系統(tǒng)安全架構設計
了解系統(tǒng)架構相關的安全機制,接下來我們就將這些安全機制融入原有的系統(tǒng)架構,分別看看系統(tǒng)不同組成部分,融入安全機制后形成的系統(tǒng)安全架構長什么樣?
3.1 傳感器部分
首先,我們在系統(tǒng)中融入傳感器部分安全機制,需要注意的是,此處的傳感器代表廣義的輸入信息,可以是具體傳感器信號,也可以是其他類型通訊信息,例如CAN,SENT等。
傳感器的硬件冗余(當然傳感器必須獨立供電)多適用于對于ASIL等級要求非常高的信號,如ASIL ?C, D,尤其是D,其主要目的是為避免傳感器硬件隨機失效,通過信號相互校驗,增加系統(tǒng)輸入信息可靠性。
這里的傳感器硬件冗余采集,可以是利用相同的兩個傳感器,對同一信號進行重復采集(例如,踏板信號),也可以是利用不同類型傳感器,對強相關的兩個信號分別進行采集(例如,制動踏板位置和壓力信息等)。
當然,傳感器輸入冗余信息,在控制單元中,必須進行多路采集,除傳感器本身提供診斷信息外,還需要對其信號有效性進行檢驗,包括數(shù)值有效范圍檢測,在線監(jiān)控,Test Pattern,輸入對比,相關性,合理性檢測等。
3.2 控制單元
控制單元屬于整個系統(tǒng)中最重要的部分,控制單元相關的安全機制其實很大程度上決定了系統(tǒng)安全架構和系統(tǒng)復雜程度。
提到控制單元相關的安全機制,很多朋友第一反應是,控制器軟件分層,控制器硬件冗余(雙控制器,Dual Core LockStep雙核鎖步等),看門狗,程序流監(jiān)控等。
雖然這些都是控制單元常用的安全機制,但從系統(tǒng)角度而言,它們相對過于具體,只是針對某一類故障而設計的軟件或硬件安全機制,需要在系統(tǒng)安全架構基礎上具體明確。
接下來我們從系統(tǒng)角度,先看看系統(tǒng)級別安全架構,后續(xù)無非就是將具體的軟件和硬件安全機制逐步應用于系統(tǒng)架構當中去。
一般來說,所有的安全機制本質上都服務于兩類安全架構:
Fail to safe?
Fail to operational?
3.2.1 Fail to safe?
Fail to safe是目前汽車行業(yè)應用最廣泛的安全架構,最典型的應用就是在線監(jiān)控,將整個控制單元分為功能實現(xiàn)和在線監(jiān)控兩部分,即所謂的的1oo1D類型系統(tǒng),具體如下圖所示:
其中:?
功能實現(xiàn)部分一般按正常開發(fā)流程就行開發(fā),主要實現(xiàn)系統(tǒng)的功能性需求,不需要考慮功能安全需求(也就是全部QM)。
監(jiān)控單元用于實現(xiàn)系統(tǒng)功能安全相關的需求,主要目的在于對功能實現(xiàn)部分進行安全監(jiān)控,在線監(jiān)測功能實現(xiàn)部分是否按照預期運行。一旦發(fā)現(xiàn)問題,就將系統(tǒng)導入安全狀態(tài),停止提供系統(tǒng)原有功能或者維持最必要的功能。
需要注意的是,監(jiān)控單元非功能層全部功能的多樣化復現(xiàn),不能獨立于功能實現(xiàn)部分單獨存在,ASIL等級則直接決定了監(jiān)控單元的硬件及軟件復雜度。
對于ASIL等級要求較高的系統(tǒng),監(jiān)控單元軟件一般獨立于功能層。為實現(xiàn)有效監(jiān)控,在監(jiān)控單元不僅需要對功能層中,和功能安全相關的輸入和輸出進行診斷,還需要對功能安全相關的計算邏輯進行監(jiān)控,計算執(zhí)行器關鍵控制信號的安全輸出范圍,并和功能層計算結果進行對比,甚至需要對控制器硬件進行額外的硬件監(jiān)控。
如下圖所示,發(fā)動機控制單元最常見的E-Gas三層安全架構就屬于典型的1oo1D的應用,包括功能應用層,功能監(jiān)控層,控制器監(jiān)控層。
E-Gas三層安全架構,雖然是針對發(fā)動機控制單元,但屬于非常經(jīng)典安全架構,廣泛應用于傳統(tǒng)控制系統(tǒng)(例如傳動,整車控制)當中,三層分層架構本質為原有ASIL等級的分解,即QM (ASILD)+ X(ASILX):
1
功能層:?功能實現(xiàn)部分,使得較為復雜的功能實現(xiàn)部分得以按照QM開發(fā),無需考慮功能安全需求,專注于復雜功能軟件的開發(fā)和復用。
2
功能監(jiān)控層:?按照原有ASIL等級進行獨立開發(fā),對功能層中功能安全相關部分進行監(jiān)控,包括輸入輸出診斷,邏輯監(jiān)控,故障分類及故障優(yōu)先級仲裁等。
3
控制器監(jiān)控層:?對功能控制器,尤其是功能監(jiān)控層控制器硬件進行監(jiān)控,一般采用獨立的監(jiān)控單元(一般采用ASIC基礎芯片)對功能控制器中內(nèi)存,CPU,通訊,定時器等進行監(jiān)測和保護。
目前E-Gas三層安全架構已經(jīng)更新了很多版,強烈建議朋友們多讀幾遍,一定會深受啟發(fā),之后有機會也可以給朋友們專門介紹一下。
當然,分層安全架構只是1oo1D其中一種實現(xiàn)方式,對于ASIL等級要求不高或者功能簡單的控制系統(tǒng),不一定非得采用分層架構,監(jiān)控層也可以相應簡化。
3.2.2 Fail to operational?
Fail to operational 屬于相對高級的安全架構,比較器和多數(shù)投票器都屬于這類安全架構,整個系統(tǒng)由相對獨立的兩條或多條功能鏈路構成,每條功能鏈路都有擁有自己獨立的傳感器,控制單元,甚至執(zhí)行器。當其中一條功能鏈路出現(xiàn)異常,控制系統(tǒng)可以切換到其他功能鏈路,保證系統(tǒng)繼續(xù)正常工作或者降級運行。
獨立功能鏈路的實現(xiàn)需要大量的硬件冗余和多樣化的軟件設計,直接提高了系統(tǒng)成本,所以Fail to operational在汽車產(chǎn)品一般最多有兩個獨立功能鏈路,主要應用在對功能安全要求極高或者功能極為復雜的系統(tǒng),例如自動駕駛。其中最典型的是1oo2架構,如果每個功能鏈路擁有獨立的診斷單元(和在線監(jiān)控類似),則可以實現(xiàn)1oo2D安全架構,如下圖所示:
其中:?
兩條功能鏈路功能可以保持一致,通過多樣化軟件設計保證系統(tǒng)安全,或者形成主副功能鏈路,主功能鏈路利用高性能計算單元實現(xiàn)復雜的功能計算,副功能鏈路對控制器硬件安全性及可靠性要求高,承擔系統(tǒng)功能安全任務,只實現(xiàn)系統(tǒng)功能安全相關的功能,一旦主功能鏈路出現(xiàn)故障,則系統(tǒng)切換至副功能鏈路。
3.3 執(zhí)行器
執(zhí)行器屬于系統(tǒng)功能實現(xiàn)終端,執(zhí)行器冗余會極大增加系統(tǒng)成本,一般在Fail to operational 安全架構中才會采用。例如EPS系統(tǒng),制動系統(tǒng)等,除電動執(zhí)行單元外,還必須保留機械執(zhí)行路徑。這也是目前自動駕駛系統(tǒng),為什么還必須保留駕駛員自主駕駛所需要的全部執(zhí)行輸入(例如,踏板,方向盤)的根本原因。
3.4 通信安全
系統(tǒng)組件之間以及組件內(nèi)部的通信安全,也是系統(tǒng)功能安全的重要內(nèi)容,一般都采用信息冗余(CRC),時間監(jiān)控,問答機制等安全保護機制,主要應用就是AUTOSAR中的E2E保護,利用數(shù)據(jù)控制信息,保證信息通訊安全。
審核編輯:劉清
評論
查看更多