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