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