通信協(xié)議標(biāo)準(zhǔn)FlexRay總線的功能安全性詳解
3 Audi和BMW的FlexRay總線應(yīng)用的功能安全等級
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中傳送。由提供的周期分布可見5 ms消息為8個(gè),10 ms消息為1個(gè),20 ms消息為7個(gè),40 ms消息為6個(gè),其余更長周期的消息先忽略。
由payload可以算出使用的幀長為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的安全等級要求是系統(tǒng)失效概率為10-7/h,分配到通信上為10-9/h,由此可見存在巨大的差距。
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沒有合并。由提供的周期分布可見5 ms消息為62個(gè),10 ms消息為45個(gè),20 ms消息為80個(gè),40 ms消息為38個(gè),其余更長周期的消息先忽略。
各個(gè)消息的payload長度是不同的,由這個(gè)分布,在假設(shè)誤碼率為ber=1×10-7時(shí)可以算出各自幀長與誤幀率,再算出平均誤幀率 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 主動重發(fā)方案的可行性
有2位作者建議了主動重發(fā)的方案,其一見參考文獻(xiàn)。主動重發(fā)在概念上就是時(shí)間上的冗余,幀不但在不同的物理通道上重發(fā),也在不同的時(shí)段上重發(fā)。由此來分析第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分配給通信的要求。
理論上,原來的應(yīng)用占用了27/62的static slot,現(xiàn)在加倍為27/31也還夠用,但是由于消息送達(dá)時(shí)限的限制,將使調(diào)度變得十分困難,是否有解尚無定論。留給將來擴(kuò)展升級的空間很小,已經(jīng)表現(xiàn)出FlexRay的帶寬不夠。
4.2 BMW
采用主動重發(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分配給通信的要求。
但是,原來BMW已占用了2/3的static slot,根本沒有足夠的空余slot可供主動重發(fā)。例如BMW的靜態(tài)段為3 ms,在2.5~3 ms中總共可安排0.5/3×91=15個(gè)slot,它的2.5 ms的消息已占去10個(gè)slot,就不可能對它再作冗余傳送。這也說明FlexRay的帶寬不夠。
5 與CAN總線的比較
參考文獻(xiàn)中的BMW系統(tǒng)數(shù)據(jù),若用CAN標(biāo)準(zhǔn)幀傳送,可推算出需要的帶寬至少為2.8 Mb/s,明顯顯示CAN總線帶寬不足。但是CAN總線的出錯(cuò)自動重發(fā)機(jī)制卻使系統(tǒng)的通信可靠性遠(yuǎn)勝于FlexRay。
例如在ber=1×10-7時(shí),CAN總線幀長為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分配給通信的份額。
而且,如果原來的調(diào)度分析留有足夠2幀的出錯(cuò)自動重發(fā)時(shí)間,也可以算出對送達(dá)時(shí)間的影響不大。送達(dá)時(shí)間變化大的是低優(yōu)先級消息,對高優(yōu)先級消息影響很小。例如10條2.5 ms周期消息的送達(dá)時(shí)間約1.2 ms(考慮到填充位與服務(wù)間隔),在2.5 ms內(nèi)1條消息出錯(cuò)自動重發(fā)2次也只會使送達(dá)時(shí)間增加到1.5 ms左右。
CAN總線的出錯(cuò)自動重發(fā)機(jī)制與主動重發(fā)方案相比,需要增加的帶寬很小,幾乎是后者的萬分之一。
6 FlexRay總線的錯(cuò)幀漏檢
參考文獻(xiàn)對CRC的檢驗(yàn)強(qiáng)度有討論。在假定錯(cuò)均勻分布時(shí),2-k是未檢出錯(cuò)的上界,其中k是校驗(yàn)和長度,對FlexRay來講k=24,2-24=5.9×10-8。如果位錯(cuò)不相關(guān),概率強(qiáng)度還要乘上(ber×幀長)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ì)算如下:幀長=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通信的功能安全等級還離要求很遠(yuǎn),另外還有小集團(tuán)錯(cuò)、時(shí)鐘漂移等問題。此外,由于FlexRay沒有 CAN總線那樣簡潔高效的報(bào)錯(cuò)機(jī)制,如果沒有主動重發(fā)方案,那么接收節(jié)點(diǎn)間由于局部錯(cuò)引起的拜占庭錯(cuò)造成的失效概率增加。由此看來,F(xiàn)lexRay要完全實(shí)現(xiàn)其設(shè)計(jì)目標(biāo)還有不少工作要做。更長遠(yuǎn)來看,需要在用工業(yè)以太網(wǎng)實(shí)現(xiàn)100 Mb/s速度的同時(shí)解決FlexRay現(xiàn)存的問題。
本文分析討論的方法也適用于其他現(xiàn)場總線或工業(yè)以太網(wǎng),許多協(xié)議都是基于類似FlexRay的時(shí)間觸發(fā)方式,它們的安全性倚賴于高層“安全協(xié)議”。這些基于“黑通道(black channel)”的“安全協(xié)議(safety protocol)”一般按照歐洲標(biāo)準(zhǔn)EN501592添加了一些判錯(cuò)的措施,如對重復(fù)、丟幀、加插、次序錯(cuò)、數(shù)據(jù)錯(cuò)、延遲和假冒錯(cuò)采用加流水號、時(shí)間戳、定時(shí)器、標(biāo)識符、地址、附加簽名等方法。另一些安全協(xié)議僅僅考慮了硬件鏈路故障與恢復(fù),只是通信故障的一種形式。但是這些措施依然是不夠的,沒有覆蓋故障樹的所有分支。對于其他形式,例如出現(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í)限,無法糾正錯(cuò)誤。在通信層面,它們嚴(yán)重影響到診斷覆蓋率,也直接影響到SIL等級。即使在流程工業(yè),消息的周期較長,用主動重發(fā)方案可以使出錯(cuò)結(jié)果減少(現(xiàn)在的一些應(yīng)用恐怕還沒有這樣做),有些錯(cuò)(如拜占庭錯(cuò))依然是不可承受的,特別是涉及一些邏輯信號的傳送。
評論