《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 通信協(xié)議標(biāo)準(zhǔn)FlexRay總線的功能安全性詳解
通信協(xié)議標(biāo)準(zhǔn)FlexRay總線的功能安全性詳解
來(lái)源:互聯(lián)網(wǎng)
摘要: 世界上90%的都采用基于CAN總線的系統(tǒng),而FlexRay是下一代通信協(xié)議事實(shí)上的標(biāo)準(zhǔn),它的功能安全性如何是至關(guān)重要的。本文就通信協(xié)議標(biāo)準(zhǔn)FlexRay總線的功能安全性進(jìn)行詳細(xì)解析
關(guān)鍵詞: FlexRay 總線 汽車電子 CAN總線
Abstract:
Key words :

   在汽車中采用電子系統(tǒng)已經(jīng)有幾十年的歷史,它們使汽車安全、節(jié)能與環(huán)保方面的性能有大幅度的提高。隨著研究的深入,許多系統(tǒng)需要共享和交換信息,為了節(jié)省線纜,就形成了依賴于通信的分布式嵌入系統(tǒng)。目前,世界上90%的都采用基于CAN總線的系統(tǒng)。FlexRay是下一代通信協(xié)議事實(shí)上的標(biāo)準(zhǔn),它的功能安全性如何是至關(guān)重要的。

  1 IEC61508功能安全的要求

  目前車控系統(tǒng)正在向線控技術(shù)(xbywire)過(guò)渡,例如線控轉(zhuǎn)向與線控剎車。線控系統(tǒng)最終目標(biāo)是取消機(jī)械后備,因?yàn)槿∠@些后備可以降低成本,增強(qiáng)設(shè)計(jì)的靈活性,擴(kuò)大適用范圍,為以后新添功能創(chuàng)造條件。但是取消機(jī)械后備就對(duì)電子系統(tǒng)的可信賴性(dependability)要求大為提高。車是一個(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)的安全。雖然它也適用于汽車,但汽車不僅有上述功能安全問(wèn)題,而且要關(guān)心由于功能變化造成的整車系統(tǒng)安全,所以汽車業(yè)內(nèi)正在制定相應(yīng)的標(biāo)準(zhǔn)ISO26262。汽車的功能安全等級(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)、剎車輔助系統(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,車速為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的車42 ms的失控對(duì)剎車系統(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ǎn)和使用成本,提升安全性、節(jié)能、環(huán)保和舒適度,成為整車技術(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ò)充的要求矛盾??傊袩o(wú)徹底解決方案。再有就是時(shí)鐘可能產(chǎn)生同向漂移,與應(yīng)用時(shí)鐘的差造成幀未能就緒或覆蓋引起漏幀。FlexRay雖然是為高可信性設(shè)計(jì)的,但是在傳送中出錯(cuò)后處理要通過(guò)應(yīng)用層解決,這帶來(lái)新的問(wèn)題,本文將分析如果不作處理會(huì)怎么樣。

  3 Audi和BMW的FlexRay總線應(yīng)用的功能安全等級(jí)

  BMW和Audi是首批批量使用FlexRay總線的車廠,它們的具體用法尚未查到,但是參考文獻(xiàn)給出了部分使用參數(shù),可以以此作一些初步分析。

  3.1 Audi的參數(shù)

  Audi的cycle為5 ms,每個(gè)cycle有62個(gè)static slot,slot用于傳送42字節(jié)payload的幀,靜態(tài)段為4.03 ms。有8個(gè)ECU共傳送220個(gè)協(xié)議數(shù)據(jù)單元(PDU)。這些PDU經(jīng)組合,最后在27個(gè)slot中傳送。由提供的周期分布可見(jiàn)5 ms消息為8個(gè),10 ms消息為1個(gè),20 ms消息為7個(gè),40 ms消息為6個(gè),其余更長(zhǎng)周期的消息先忽略。

  由payload可以算出使用的幀長(zhǎng)為500位,假定誤碼率為ber=1×10-7(這在銅線中已是相當(dāng)好的了),那么誤幀率為fer=5×10-5/frame。

  由周期可算出每小時(shí)傳送的幀數(shù)為n=7.92×105frame/h。假定通信用2個(gè)通道同時(shí)傳送,那么同時(shí)失敗的概率為fer2=2.5×10-9/frame。1小時(shí)內(nèi)所有幀均成功傳送的概率為:P=(1-fer2)n。

  1小時(shí)內(nèi)有1次以上錯(cuò)的概率為1-P≈fer2×n=2.5×10-9×7.92×105/h=1.98×10-3/h。SIL2的安全等級(jí)要求是系統(tǒng)失效概率為10-7/h,分配到通信上為10-9/h,由此可見(jiàn)存在巨大的差距。

   3.2 BMW的參數(shù)

  參考文獻(xiàn)[7]也間接給出了BMW的參數(shù):cycle為5 ms,每個(gè)cycle有91個(gè)static slot,slot用于傳送16字節(jié)payload的幀,實(shí)際使用的payload為8字節(jié),共有227個(gè)PDU。由2.5 ms消息占4%及使用10個(gè)slot知,這些PDU沒(méi)有合并。由提供的周期分布可見(jiàn)5 ms消息為62個(gè),10 ms消息為45個(gè),20 ms消息為80個(gè),40 ms消息為38個(gè),其余更長(zhǎng)周期的消息先忽略。

  各個(gè)消息的payload長(zhǎng)度是不同的,由這個(gè)分布,在假設(shè)誤碼率為ber=1×10-7時(shí)可以算出各自幀長(zhǎng)與誤幀率,再算出平均誤幀率 fer=1.51×10-5/frame。假定通信用2個(gè)通道同時(shí)傳送,那么同時(shí)失敗的概率為fer2=2?28×10-9/frame。由周期算出傳送幀數(shù)為n=2.79×106/h。同樣算出1小時(shí)內(nèi)有1次以上錯(cuò)的概率為1-P≈fer2×n=2.28×10-9×2.79×106 /h=6.36×10-3/h,也遠(yuǎn)大于SIL2分配給通信的要求。

  4 主動(dòng)重發(fā)方案的可行性

  有2位作者建議了主動(dòng)重發(fā)的方案,其一見(jiàn)參考文獻(xiàn)。主動(dòng)重發(fā)在概念上就是時(shí)間上的冗余,幀不但在不同的物理通道上重發(fā),也在不同的時(shí)段上重發(fā)。由此來(lái)分析第3節(jié)的兩種情況。

  4.1 Audi

  當(dāng)每幀被安排用2個(gè)static slot傳送時(shí),2個(gè)通道將有4次傳送,同時(shí)失敗的概率將小得多,為fer4=6.25×10-17/frame。實(shí)際傳送的幀數(shù)加倍,但內(nèi)容未加倍,故計(jì)算仍按n進(jìn)行,1 h內(nèi)有1次以上錯(cuò)的概率為1-P≈fer4×n=6.25×10-17×7.92×105/h=4.95×10-11/h。這可以滿足SIL2分配給通信的要求。

  理論上,原來(lái)的應(yīng)用占用了27/62的static slot,現(xiàn)在加倍為27/31也還夠用,但是由于消息送達(dá)時(shí)限的限制,將使調(diào)度變得十分困難,是否有解尚無(wú)定論。留給將來(lái)擴(kuò)展升級(jí)的空間很小,已經(jīng)表現(xiàn)出FlexRay的帶寬不夠。

  4.2 BMW

  采用主動(dòng)重發(fā)一次時(shí),1 h內(nèi)有1次以上錯(cuò)的概率為1-P≈fer4×n=5.19×10-18×2.79×106/h=1.45×10-11/h。這可以滿足SIL2分配給通信的要求。

  但是,原來(lái)BMW已占用了2/3的static slot,根本沒(méi)有足夠的空余slot可供主動(dòng)重發(fā)。例如BMW的靜態(tài)段為3 ms,在2.5~3 ms中總共可安排0.5/3×91=15個(gè)slot,它的2.5 ms的消息已占去10個(gè)slot,就不可能對(duì)它再作冗余傳送。這也說(shuō)明FlexRay的帶寬不夠。

  5 與CAN總線的比較

  參考文獻(xiàn)中的BMW系統(tǒng)數(shù)據(jù),若用CAN標(biāo)準(zhǔn)幀傳送,可推算出需要的帶寬至少為2.8 Mb/s,明顯顯示CAN總線帶寬不足。但是CAN總線的出錯(cuò)自動(dòng)重發(fā)機(jī)制卻使系統(tǒng)的通信可靠性遠(yuǎn)勝于FlexRay。

  例如在ber=1×10-7時(shí),CAN總線幀長(zhǎng)為108位,誤幀率為fer=1.08×10-5/frame。在傳送幀數(shù)為n=2.79×106/h時(shí)(假定用多條總線滿足帶寬)出錯(cuò)的幀有31幀,這31幀重發(fā)2次,則全錯(cuò)的概率為31×fer3=31×1?26×10-15=3.9×10-14,遠(yuǎn)小于SIL2分配給通信的份額。

  而且,如果原來(lái)的調(diào)度分析留有足夠2幀的出錯(cuò)自動(dòng)重發(fā)時(shí)間,也可以算出對(duì)送達(dá)時(shí)間的影響不大。送達(dá)時(shí)間變化大的是低優(yōu)先級(jí)消息,對(duì)高優(yōu)先級(jí)消息影響很小。例如10條2.5 ms周期消息的送達(dá)時(shí)間約1.2 ms(考慮到填充位與服務(wù)間隔),在2.5 ms內(nèi)1條消息出錯(cuò)自動(dòng)重發(fā)2次也只會(huì)使送達(dá)時(shí)間增加到1.5 ms左右。

  CAN總線的出錯(cuò)自動(dòng)重發(fā)機(jī)制與主動(dòng)重發(fā)方案相比,需要增加的帶寬很小,幾乎是后者的萬(wàn)分之一。

  6 FlexRay總線的錯(cuò)幀漏檢

  參考文獻(xiàn)對(duì)CRC的檢驗(yàn)強(qiáng)度有討論。在假定錯(cuò)均勻分布時(shí),2-k是未檢出錯(cuò)的上界,其中k是校驗(yàn)和長(zhǎng)度,對(duì)FlexRay來(lái)講k=24,2-24=5.9×10-8。如果位錯(cuò)不相關(guān),概率強(qiáng)度還要乘上(ber×幀長(zhǎng))HD,其中HD是CRC多項(xiàng)式的海明距離。以1 h計(jì)算時(shí)要乘1 h內(nèi)的幀數(shù)。按標(biāo)準(zhǔn),在payload小于248字節(jié)時(shí)HD=6。按此計(jì)算如下:幀長(zhǎng)=256字節(jié)=2 560 bit,考慮到idle時(shí)間,計(jì)算每小時(shí)幀數(shù)時(shí)以每幀2 600 μs計(jì),故每小時(shí)有3 600/260×106=1.38×107幀。每小時(shí)總的漏檢幀為1.38×107×5.9×10-8×(ber×2 560)6=0.81×(ber×2 560)6。ber=10-7時(shí)為2.27×10-22,ber=10-5時(shí)為2.27×10-10。干擾不是很強(qiáng),幀也較短時(shí),F(xiàn)lexRay的錯(cuò)幀漏檢部分還是能滿足SIL2分配給通信的要求。

  7 小結(jié)

  計(jì)算表明,在ber=1×10-7時(shí)FlexRay通信的功能安全等級(jí)還離要求很遠(yuǎn),另外還有小集團(tuán)錯(cuò)、時(shí)鐘漂移等問(wèn)題。此外,由于FlexRay沒(méi)有 CAN總線那樣簡(jiǎn)潔高效的報(bào)錯(cuò)機(jī)制,如果沒(méi)有主動(dòng)重發(fā)方案,那么接收節(jié)點(diǎn)間由于局部錯(cuò)引起的拜占庭錯(cuò)造成的失效概率增加。由此看來(lái),F(xiàn)lexRay要完全實(shí)現(xiàn)其設(shè)計(jì)目標(biāo)還有不少工作要做。更長(zhǎng)遠(yuǎn)來(lái)看,需要在用工業(yè)以太網(wǎng)實(shí)現(xiàn)100 Mb/s速度的同時(shí)解決FlexRay現(xiàn)存的問(wèn)題。

  本文分析討論的方法也適用于其他現(xiàn)場(chǎng)總線或工業(yè)以太網(wǎng),許多協(xié)議都是基于類似FlexRay的時(shí)間觸發(fā)方式,它們的安全性倚賴于高層“安全協(xié)議”。這些基于“黑通道(black channel)”的“安全協(xié)議(safety protocol)”一般按照歐洲標(biāo)準(zhǔn)EN501592添加了一些判錯(cuò)的措施,如對(duì)重復(fù)、丟幀、加插、次序錯(cuò)、數(shù)據(jù)錯(cuò)、延遲和假冒錯(cuò)采用加流水號(hào)、時(shí)間戳、定時(shí)器、標(biāo)識(shí)符、地址、附加簽名等方法。另一些安全協(xié)議僅僅考慮了硬件鏈路故障與恢復(fù),只是通信故障的一種形式。但是這些措施依然是不夠的,沒(méi)有覆蓋故障樹(shù)的所有分支。對(duì)于其他形式,例如出現(xiàn)局部錯(cuò)后的拜占庭失效、出現(xiàn)饒舌錯(cuò)后的停止服務(wù)、出現(xiàn)小集團(tuán)錯(cuò)后的局部停止服務(wù)等,均未處理。有些錯(cuò)可以在應(yīng)用中發(fā)現(xiàn),但受應(yīng)用所在的host的時(shí)間特性的限制,可能已錯(cuò)失時(shí)限,無(wú)法糾正錯(cuò)誤。在通信層面,它們嚴(yán)重影響到診斷覆蓋率,也直接影響到SIL等級(jí)。即使在流程工業(yè),消息的周期較長(zhǎng),用主動(dòng)重發(fā)方案可以使出錯(cuò)結(jié)果減少(現(xiàn)在的一些應(yīng)用恐怕還沒(méi)有這樣做),有些錯(cuò)(如拜占庭錯(cuò))依然是不可承受的,特別是涉及一些邏輯信號(hào)的傳送。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。