FlexRay總線的功能安全性分析
在汽車中采用電子系統(tǒng)已經(jīng)有幾十年的歷史,它們使汽車安全、節(jié)能與環(huán)保方面的性能有大幅度的提高。隨著研究的深入,許多系統(tǒng)需要共享和交換信息,為了節(jié)省線纜,就形成了依賴于通信的分布式嵌入系統(tǒng)。目前,世界上90%的都采用基于CAN總線的系統(tǒng)。FlexRay是下一代通信協(xié)議事實上的標(biāo)準(zhǔn),它的功能安全性如何是至關(guān)重要的。
本文引用地址:http://m.butianyuan.cn/article/196169.htm1 IEC61508功能安全的要求
目前車控系統(tǒng)正在向線控技術(shù)(xbywire)過渡,例如線控轉(zhuǎn)向與線控剎車。線控系統(tǒng)最終目標(biāo)是取消機械后備,因為取消這些后備可以降低成本,增強設(shè)計的靈活性,擴大適用范圍,為以后新添功能創(chuàng)造條件。但是取消機械后備就對電子系統(tǒng)的可信賴性(dependability)要求大為提高。車是一個運動的物體,處于運動的環(huán)境之中,它因故障可能傷及自身及別人。取消機械后備,就將電子系統(tǒng)由今天的故障靜默(failsilent)要求提升到故障仍工作(failoperational)的要求[1]。
國際上對工業(yè)應(yīng)用的功能安全要求已制定了標(biāo)準(zhǔn)IEC61508,它主要關(guān)心被控設(shè)備及其控制系統(tǒng)的安全。雖然它也適用于汽車,但汽車不僅有上述功能安全問題,而且要關(guān)心由于功能變化造成的整車系統(tǒng)安全,所以汽車業(yè)內(nèi)正在制定相應(yīng)的標(biāo)準(zhǔn)ISO26262。汽車的功能安全等級分為4級,要求最高的是ASILD,相應(yīng)的失效概率10-8/h,它相當(dāng)于IEC61508的SIL3。根據(jù)實踐經(jīng)驗,分配給通信的失效概率10-10/h。有關(guān)這方面的介紹可參見參考文獻(xiàn)[1]。
現(xiàn)在安全攸關(guān)的應(yīng)用系統(tǒng)的范圍有所擴大[1],以前不算在內(nèi)的一些系統(tǒng)現(xiàn)在都要算了。例如安全預(yù)先動作系統(tǒng)(presafe)中座椅調(diào)整子系統(tǒng)、剎車輔助系統(tǒng)中的燈光控制子系統(tǒng)、碰撞后telematic自動呼叫求援的子系統(tǒng),都將視為安全攸關(guān)系統(tǒng)。
1.1 引起系統(tǒng)安全風(fēng)險的通信故障
通信故障[11]有5種表現(xiàn)形式,第1種是造成值域的錯誤。第2種是造成時域的錯誤,這是工業(yè)不同于民用的部分。一條消息不能在預(yù)定的時限前送達(dá)就失去了實用意義,例如與安全氣囊引爆有關(guān)的傳感器消息不能在數(shù)ms內(nèi)送達(dá)就引起安全問題。在多播或廣播通信中還有第3種錯誤:數(shù)據(jù)完整性錯(拜占庭錯),即各節(jié)點收到的結(jié)果不一致。它會引起系統(tǒng)性的失效,應(yīng)對的策略必須將所有有關(guān)節(jié)點同時考慮。第4種是系統(tǒng)崩潰,除硬件失效外,也有干擾或軟件引起的,例如饒舌錯(babbling idiot)阻止通信。第5種是丟幀,短時間失效,例如可恢復(fù)的離線或bug引起的等效離線狀態(tài),又如小集團錯。
1.2 通信的容許失效率
在通信故障對系統(tǒng)安全影響的分析上,參考文獻(xiàn)[2]提供了一種方法,根據(jù)瞬態(tài)干擾出現(xiàn)的可能長度,計算通信失效的時段長,在假定的通信失效率下,推出系統(tǒng)的失效率。在該實例中,路段上電場超100 V/m的區(qū)間有可能引起通信失效,失效率近似5×10-3,車速為90 km/h,識別出的可能失效時間約74 s。通信以6 ms為周期,連續(xù)7個周期丟幀視為系統(tǒng)失效,在此條件下系統(tǒng)失效率為1.640 9×10-10,認(rèn)為可以達(dá)到SIL4的安全要求。這種分析方法是有效的,但是假設(shè)的條件太多,例如:誤碼率有很大的變化區(qū)間;幀長的變化影響一次傳送的失效率;干擾持續(xù)時間的假定;連續(xù)丟7幀也與應(yīng)用的場合有關(guān),對90 km/h的車42 ms的失控對剎車系統(tǒng)而言有約1 m的距離,恐怕對撞擊的后果有完全不同的評估;還假設(shè)SIL4完全分配給通信,將CPU與軟件有關(guān)的部分失效率忽略不計,在軟件規(guī)模越來越大的今天,這個假設(shè)是不合理的。另一方面,決定系統(tǒng)失效率時還應(yīng)考慮其他的通信故障形式,例如出現(xiàn)小集團錯[5]到發(fā)生沖突的時間取決于相對的時鐘漂移,越精確,其間時間越長,失效的時間就越長,參考文獻(xiàn)中在人為制造出小集團后需300 ms才發(fā)現(xiàn)沖突,遠(yuǎn)遠(yuǎn)超出上述的42 ms。所以一般討論系統(tǒng)安全的文章中(如參考文獻(xiàn)[1]和[12])都單獨規(guī)定通信的失效率是相應(yīng)安全等級失效率的1/100。
1.3 影響通信失效率的因素
功能安全等級與故障檢測的覆蓋率有關(guān),如果有的故障未被檢查到(未認(rèn)識到或做不到),當(dāng)然那種失效情景就不可能計算在內(nèi),安全等級的劃分就有錯。
參考文獻(xiàn)[1]介紹了SFF(Safety Failure Fraction)的概念:失效分為引起危害的失效和安全失效,它們又各分為能檢測出和未檢測出兩種。安全失效比例SFF是能檢測出危害失效與安全失效在總的失效中的份額。診斷覆蓋率DC(Diagnostic Coverage)是能檢測出的危害失效占總危害失效的份額??蓪?dǎo)出SFF與DC有線性關(guān)系。而SFF又與SIL有關(guān)。IEC61508的SIL等級與SFF有關(guān),在SFF占90%~99%時SIL3可容許1個故障。因此DC也決定了能達(dá)到的SIL等級。根據(jù)有關(guān)文章介紹,瞬態(tài)故障的概率比硬件失效概率大2個數(shù)量級,因此可大致推斷瞬態(tài)故障診斷覆蓋率應(yīng)達(dá)到90%~99%[1]。危害失效可能由通信失效引起,診斷覆蓋率也就成了評價通信協(xié)議的重要一環(huán)。
在通信中,由于CRC有漏檢,這是明顯的診斷未覆蓋區(qū),診斷未覆蓋率就相當(dāng)于錯幀漏檢率,例如CAN的錯幀漏檢[10]。
在通信中發(fā)生值域錯或時域錯而丟幀是能診斷出的危害失效(這是本文分析的主要對象)。而假冒錯、拜占庭錯等應(yīng)屬于未檢測出的危害失效。發(fā)生小集團錯時既可能產(chǎn)生丟幀,也可能產(chǎn)生拜占庭錯。CAN的等效離線失效也屬于未覆蓋的診斷引起的危害失效[9]。要計算這些未覆蓋的診斷引起的危害失效占總危害失效的比例還相當(dāng)困難,因為確定故障概率模型很難。但從定性上講,只有盡量排除假冒錯、拜占庭錯和小集團錯,才能使診斷覆蓋率提高(SIL等級提高)。
2 FlexRay介紹
由于線控技術(shù)可以提高車的操控性能,降低生產(chǎn)和使用成本,提升安全性、節(jié)能、環(huán)保和舒適度,成為整車技術(shù)進(jìn)步的重要一環(huán)。但是為了取消機械或液壓的后備,對控制裝置及其通信的可靠性的要求大為提高。這就對通信的帶寬和確定性有更嚴(yán)的要求,CAN總線不能滿足這個帶寬要求,在確定性上也不足,于是就產(chǎn)生了FlexRay技術(shù)。根據(jù)標(biāo)準(zhǔn)[3],F(xiàn)lexRay可以有總線、星型、樹狀等拓?fù)浣Y(jié)構(gòu)。它提供了雙通道的控制器結(jié)構(gòu),可組態(tài)為冗余通信,也可各通道獨立運行,有很大的靈活性。每個通道最高可組態(tài)工作于10 Mb/s。FlexRay是時間觸發(fā)通信協(xié)議,由分布式時鐘實現(xiàn)同步。系統(tǒng)的調(diào)度表由cyclestatic slotminislot確定。一個cycle有固定數(shù)目的static slot和minislot,它們的時間長度都是均等的,由組態(tài)時確定。一個節(jié)點在一個cycle中可以占用多個static slot,static slot可以散接(multiplxing),即各個cycle的同一static slot可以用于不同節(jié)點。FlexRay幀的數(shù)據(jù)域(payload)可達(dá)254字節(jié),它的頭部為標(biāo)識符及幀長等控制信息,有獨立的CRC檢驗,尾部有覆蓋全幀的24位CRC檢驗。FlexRay有對抗時域錯的Bus Guardian設(shè)計。
評論