淺談汽車ISO 26262安全標(biāo)準(zhǔn)架構(gòu)及分解
汽車上電子/電氣系統(tǒng)數(shù)量不斷的增加,一些高端豪華轎車上有多達(dá)70多個(gè)ECU(Electronic Control Unit電子控制單元),其中安全氣囊系統(tǒng)、制動(dòng)系統(tǒng)、底盤控制系統(tǒng)、發(fā)動(dòng)機(jī)控制系統(tǒng)以及線控系統(tǒng)等都是安全相關(guān)系統(tǒng)。當(dāng)系統(tǒng)出現(xiàn)故障的時(shí)候,系統(tǒng)必須轉(zhuǎn)入安全狀態(tài)或者轉(zhuǎn)換到降級(jí)模式,避免系統(tǒng)功能失效而導(dǎo)致人員傷亡。失效可能是由于規(guī)范錯(cuò)誤人為原因的錯(cuò)誤、環(huán)境的影響等等原因引起的。為了實(shí)現(xiàn)汽車上電子/電氣系統(tǒng)的功能安全設(shè)計(jì),道路車輛功能安全標(biāo)準(zhǔn) ISO 26262于2011年正式發(fā)布,為開(kāi)發(fā)汽車安全相關(guān)系統(tǒng)提供了指南,該標(biāo)準(zhǔn)的基礎(chǔ)是適用于任何行業(yè)的電子/電氣/可編程電子系統(tǒng)的功能安全標(biāo)準(zhǔn)IEC 61508。
本文引用地址:http://butianyuan.cn/article/201710/368069.htm
ISO 26262標(biāo)準(zhǔn)中對(duì)系統(tǒng)做功能安全設(shè)計(jì)時(shí),前期重要的一個(gè)步驟是對(duì)系統(tǒng)進(jìn)行危害分析和風(fēng)險(xiǎn)評(píng)估,識(shí)別出系統(tǒng)的危害并且對(duì)危害的風(fēng)險(xiǎn)等級(jí)——ASIL等級(jí)(Automotive Safety Integration Level,汽車安全完整性等級(jí))進(jìn)行評(píng)估。ASIL有四個(gè)等級(jí),分別為A,B,C,D,其中A是最低的等級(jí),D是最高的等級(jí)。然后,針對(duì)每種危害確定至少一個(gè)安全目標(biāo),安全目標(biāo)是系統(tǒng)的最高級(jí)別的安全需求,由安全目標(biāo)導(dǎo)出系統(tǒng)級(jí)別的安全需求,再將安全需求分配到硬件和軟件。ASIL等級(jí)決定了對(duì)系統(tǒng)安全性的要求,ASIL等級(jí)越高,對(duì)系統(tǒng)的安全性要求越高,為實(shí)現(xiàn)安全付出的代價(jià)越高,意味著硬件的診斷覆蓋率越高,開(kāi)發(fā)流程越嚴(yán)格,相應(yīng)的開(kāi)發(fā)成本增加、開(kāi)發(fā)周期延長(zhǎng),技術(shù)要求嚴(yán)格。ISO 26262中提出了在滿足安全目標(biāo)的前提下降低ASIL等級(jí)的方法——ASIL分解,這樣可以解決上述開(kāi)發(fā)中的難點(diǎn)。
本文首先介紹了ISO 26262標(biāo)準(zhǔn)中的危害分析和風(fēng)險(xiǎn)評(píng)估階段中的ASIL等級(jí)確定方法,然后介紹了ASIL分解的原則,并輔以實(shí)例進(jìn)行說(shuō)明。
2. 危害分析和風(fēng)險(xiǎn)評(píng)估
依據(jù)ISO 26262標(biāo)準(zhǔn)進(jìn)行功能安全設(shè)計(jì)時(shí),首先識(shí)別系統(tǒng)的功能,并分析其所有可能的功能故障(Malfunction),可采用的分析方法有HAZOP,F(xiàn)MEA、頭腦風(fēng)暴等。如果在系統(tǒng)開(kāi)發(fā)的各個(gè)階段發(fā)現(xiàn)在本階段沒(méi)有識(shí)別出來(lái)的故障,都要回到這個(gè)階段,進(jìn)行更新。功能故障在特定的駕駛場(chǎng)景下,才會(huì)造成傷亡事件,比如近光燈系統(tǒng),其中一個(gè)功能故障就是燈非預(yù)期熄滅,如果在漆黑的夜晚行駛在山路上,駕駛員看不清道路狀況,可能會(huì)掉入懸崖,造成車毀人亡;如果此功能故障發(fā)生在白天就不會(huì)產(chǎn)生任何的影響。所以進(jìn)行功能故障分析后,要進(jìn)行情景分析,識(shí)別與此故障相關(guān)的駕駛情景,比如:高速公路超車、車庫(kù)停車等。分析駕駛情景建議從公路類型:比如國(guó)道、城市道路、鄉(xiāng)村道路等;路面情況:比如濕滑路面、冰雪路面、干燥路面;車輛狀態(tài):比如轉(zhuǎn)向、 超車、制動(dòng)、加速等;環(huán)境條件:比如:風(fēng)雪交加、夜晚、隧道燈;交通狀況:擁堵、順暢、紅綠燈等;人員情況:不如乘客、路人等幾個(gè)方面去考慮。功能故障和駕駛場(chǎng)景的組合叫做危害事件(hazard event), 危害事件確定后,根據(jù)三個(gè)因子——嚴(yán)重度(Severity)、暴露率(Exposure)和可控性(Controllability)評(píng)估危害事件的風(fēng)險(xiǎn)級(jí)別——ASIL等級(jí)。其中嚴(yán)重度是指對(duì)駕駛員、乘員、或者行人等涉險(xiǎn)人員的傷害程度;暴露率是指人員暴露在系統(tǒng)的失效能夠造成危害的場(chǎng)景中的概率;可控性是指駕駛員或其他涉險(xiǎn)人員能夠避免事故或傷害的可能性。這三個(gè)因子的分類在表1中給出。
ASIL等級(jí)的確定基于這三個(gè)影響因子,表2中給出了ASIL的確定方法,其中D代表最高等級(jí), A代表最低等級(jí),QM表示質(zhì)量管理(Quality Management),表示按照質(zhì)量管理體系開(kāi)發(fā)系統(tǒng)或功能就足夠了,不用考慮任何安全相關(guān)的設(shè)計(jì)。確定了危害的ASIL等級(jí)后,為每個(gè)危害確定至少一個(gè)安全目標(biāo),作為功能和技術(shù)安全需求的基礎(chǔ)。
表2 ASIL等級(jí)確定
下面以EPB(Electrical Park Brake)系統(tǒng)為例介紹如何進(jìn)行危害分析和風(fēng)險(xiǎn)評(píng)估。
EPB較傳統(tǒng)的駐車制動(dòng)器,除了駐車功能,還有動(dòng)態(tài)起步輔助功能、緊急制動(dòng)功能以及自動(dòng)駐車功能等。這里我們以駐車功能為例,當(dāng)駐車時(shí),駕駛員通過(guò)按鈕或其它方式發(fā)出制動(dòng)請(qǐng)求,EPB系統(tǒng)在汽車的后輪上施加制動(dòng)力,以防止車非預(yù)期滑行。該系統(tǒng)的危害有:非預(yù)期制動(dòng)失效、非預(yù)期制動(dòng)啟動(dòng)。相同的危害在不同的場(chǎng)景下的風(fēng)險(xiǎn)是不一樣的,所以我們要對(duì)不同的駕駛場(chǎng)景進(jìn)行分析。為了簡(jiǎn)化問(wèn)題,這里我們僅對(duì)”非預(yù)期制動(dòng)失效”這種功能故障進(jìn)行風(fēng)險(xiǎn)評(píng)估。表3給出了EPB風(fēng)險(xiǎn)評(píng)估表,在該表中我們考慮的駕駛場(chǎng)景是車停在斜坡上,駕駛員不在車上。如果駕駛員在車上的話,駕駛員可通過(guò)踩剎車控制汽車滑行,可控性增加,那么所評(píng)估的ASIL等級(jí)會(huì)比表中的ASIL D低,但是對(duì)于同一個(gè)安全目標(biāo),如果評(píng)估的ASIL等級(jí)不同的話,要選擇ASIL等級(jí)最高的那個(gè)。
通過(guò)以上分析,得出EPB系統(tǒng)的安全目標(biāo)為:防止制動(dòng)失效,ASIL等級(jí)為D。
3. ASIL分解原則
通過(guò)上節(jié)介紹的危害分析和風(fēng)險(xiǎn)評(píng)估,我們得出系統(tǒng)的安全目標(biāo)和相應(yīng)的ASIL等級(jí),從安全目標(biāo)可以推導(dǎo)出開(kāi)發(fā)階段的安全需求,安全需求繼承安全目標(biāo)的ASIL等級(jí)。如果一個(gè)安全需求分解為兩個(gè)冗余的安全需求,那么原來(lái)的安全需求的ASIL等級(jí)可以分解到兩個(gè)冗余的安全需求上。因?yàn)橹挥挟?dāng)兩個(gè)安全需求同時(shí)不滿足時(shí),才導(dǎo)致系統(tǒng)的失效,所以冗余安全需求的ASIL等級(jí)可以比原始的安全需求的ASIL等級(jí)低。ISO 26262標(biāo)準(zhǔn)的第9章給出了ASIL分解的原則,如圖1所示。
分解后的ASIL等級(jí)后面括號(hào)里是指明原始需求的ASIL等級(jí),比如ASIL D等級(jí)分解為ASIL C(D)和ASILA(D)等,因?yàn)榧珊托枨蟮尿?yàn)證仍然依據(jù)其原始的ASIL等級(jí)。ASIL 分解可以在安全生命周期的多個(gè)階段進(jìn)行,比如功能安全概念、系統(tǒng)設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì)階段。而且ASIL等級(jí)可以分多次進(jìn)行,比如ASIL D等級(jí)分為ASIL C(D)和ASILA(D),ASIL C(D)還可以繼續(xù)分解為 ASIL B(D)和ASIL A(D )。
但是ASIL 分解的一個(gè)最重要的要求就是獨(dú)立性,如果不能滿足獨(dú)立性要求的話,冗余單元要按照原來(lái)的ASIL等級(jí)開(kāi)發(fā)。所謂的獨(dú)立性就冗余單元之間不應(yīng)發(fā)生從屬失效(Dependent Failure),從屬失效分為共因失效(Common Cause Failure)和級(jí)聯(lián)失效(Cascading Failure) 兩種。共因失效是指兩個(gè)單元因?yàn)楣餐脑蚴?,比如軟件?fù)制冗余,冗余單元會(huì)因?yàn)橥粋€(gè)軟件bug導(dǎo)致兩者都失效,為了避免該共因失效,我們采用多種軟件設(shè)計(jì)方法。級(jí)聯(lián)失效是指一個(gè)單元失效導(dǎo)致另一個(gè)單元的失效,比如一個(gè)軟件組件的功能出現(xiàn)故障,寫入另一個(gè)軟件組件RAM中,導(dǎo)致另一個(gè)軟件組件的功能失效,為了控制該級(jí)聯(lián)失效,我們采用內(nèi)存管理單元,可以探測(cè)到非法寫入RAM的情況。
下面以一個(gè)例子介紹ASIL 分解的過(guò)程。
假設(shè)功能F,其輸入信號(hào)為S1,S2,S3,這三個(gè)信號(hào)分別測(cè)量不同的物理量,是相互獨(dú)立的,經(jīng)過(guò)ECU內(nèi)部的邏輯運(yùn)算后,發(fā)送觸發(fā)信息給執(zhí)行器Actuator,功能F的架構(gòu)示意圖如圖2所示。假設(shè)經(jīng)過(guò)危害分析和風(fēng)險(xiǎn)評(píng)估后,功能F的ASIL等級(jí)為ASIL D,安全目標(biāo)為避免非預(yù)期觸發(fā)執(zhí)行器。那么功能F的各個(gè)部分繼承ASIL等級(jí),即傳感器、ECU、執(zhí)行器都需要按照ASIL D 等級(jí)開(kāi)發(fā),如圖3所示。
經(jīng)過(guò)進(jìn)一步的分析發(fā)現(xiàn),當(dāng)速度V》閾值時(shí),非預(yù)期觸發(fā)執(zhí)行器,才能造成危險(xiǎn)。那么我們?cè)诠δ蹻的架構(gòu)中,加入一個(gè)安全機(jī)制,安全機(jī)制的功能是當(dāng)檢測(cè)到速度V大于閾值時(shí),不允許觸發(fā)執(zhí)行器。那么功能F的架構(gòu)變?yōu)槿鐖D4所示。
圖4 加入安全機(jī)制后的架構(gòu)
功能F和安全機(jī)制是冗余安全需求,同時(shí)來(lái)滿足安全目標(biāo),因此可以將功能F原來(lái)的ASIL等級(jí)在這兩個(gè)需求上進(jìn)行分解,分解為ASIL D(D)和QM(D),分解后的ASIL等級(jí)如圖5所示。
圖5 ASIL分解后架構(gòu)示意圖
原來(lái)的傳感器S1、S2、S3按照QM開(kāi)發(fā),速度傳感器按照ASIL D開(kāi)發(fā),ECU里面的軟件,原來(lái)的邏輯按QM開(kāi)發(fā),安全機(jī)制的邏輯按照ASIL D開(kāi)發(fā),不同ASIL等級(jí)的軟件存在于一個(gè)ECU內(nèi),為了保證軟件之間的獨(dú)立性,保證兩者之間不相互影響,需要考慮內(nèi)存保護(hù)機(jī)制,合適的調(diào)度屬性來(lái)保證存儲(chǔ)空間和CPU時(shí)間的獨(dú)立性,這樣會(huì)增加軟件開(kāi)發(fā)的很多成本。那么我們進(jìn)一步采取硬件上的分離來(lái)保證獨(dú)立性,我們選擇一個(gè)成本很低的簡(jiǎn)單的芯片(比如PGA, Programmable Gate Array)來(lái)運(yùn)行安全機(jī)制中的軟件(如圖6所示)。需要注意的是PGA要使用獨(dú)立的電源和時(shí)鐘。
圖6 改進(jìn)的ASIL分解后架構(gòu)示意圖
經(jīng)過(guò)分解后,按照ASIL D開(kāi)發(fā)的功能邏輯簡(jiǎn)單,使得開(kāi)發(fā)變得簡(jiǎn)單,整體成本也得以降低。
4. 結(jié)論
本文以EPB為例介紹了ISO 26262標(biāo)準(zhǔn)中安全目標(biāo)及其ASIL等級(jí)確定的方法,安全目標(biāo)的ASIL等級(jí)被開(kāi)發(fā)階段安全需求繼承,如果安全需求的ASIL等級(jí)高,那么需要進(jìn)行ASIL分解以降低ASIL等級(jí),本文以實(shí)例介紹了ASIL分解的原則和步驟。ASIL分解并沒(méi)有在ISO 26262中被強(qiáng)制要求執(zhí)行,但是我們可以通過(guò)對(duì)系統(tǒng)進(jìn)行分析、進(jìn)而對(duì)系統(tǒng)架構(gòu)進(jìn)行調(diào)整,實(shí)現(xiàn)ASIL分解,可以解決因ASIL等級(jí)高而帶來(lái)的開(kāi)發(fā)成本、開(kāi)發(fā)周期和技術(shù)要求等方面的問(wèn)題。
評(píng)論