新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 通信協議標準FlexRay總線的功能安全性詳解

        通信協議標準FlexRay總線的功能安全性詳解

        作者: 時間:2013-12-31 來源:網絡 收藏

          3 Audi和BMW的應用的功能安全等級

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

          3.1 Audi的參數

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

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

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

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

          3.2 BMW的參數

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

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

          4 主動重發方案的可行性

          有2位作者建議了主動重發的方案,其一見參考文獻。主動重發在概念上就是時間上的冗余,幀不但在不同的物理通道上重發,也在不同的時段上重發。由此來分析第3節的兩種情況。

          4.1 Audi

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

          理論上,原來的應用占用了27/62的static slot,現在加倍為27/31也還夠用,但是由于消息送達時限的限制,將使調度變得十分困難,是否有解尚無定論。留給將來擴展升級的空間很小,已經表現出FlexRay的帶寬不夠。

          4.2 BMW

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

          但是,原來BMW已占用了2/3的static slot,根本沒有足夠的空余slot可供主動重發。例如BMW的靜態段為3 ms,在2.5~3 ms中總共可安排0.5/3×91=15個slot,它的2.5 ms的消息已占去10個slot,就不可能對它再作冗余傳送。這也說明FlexRay的帶寬不夠。

          5 與CAN總線的比較

          參考文獻中的BMW系統數據,若用CAN標準幀傳送,可推算出需要的帶寬至少為2.8 Mb/s,明顯顯示CAN總線帶寬不足。但是CAN總線的出錯自動重發機制卻使系統的通信可靠性遠勝于FlexRay。

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

          而且,如果原來的調度分析留有足夠2幀的出錯自動重發時間,也可以算出對送達時間的影響不大。送達時間變化大的是低優先級消息,對高優先級消息影響很小。例如10條2.5 ms周期消息的送達時間約1.2 ms(考慮到填充位與服務間隔),在2.5 ms內1條消息出錯自動重發2次也只會使送達時間增加到1.5 ms左右。

          CAN總線的出錯自動重發機制與主動重發方案相比,需要增加的帶寬很小,幾乎是后者的萬分之一。

          6 的錯幀漏檢

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

          7 小結

          計算表明,在ber=1×10-7時FlexRay通信的功能安全等級還離要求很遠,另外還有小集團錯、時鐘漂移等問題。此外,由于FlexRay沒有 CAN總線那樣簡潔高效的報錯機制,如果沒有主動重發方案,那么接收節點間由于局部錯引起的拜占庭錯造成的失效概率增加。由此看來,FlexRay要完全實現其設計目標還有不少工作要做。更長遠來看,需要在用工業以太網實現100 Mb/s速度的同時解決FlexRay現存的問題。

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


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 塔河县| 卢氏县| 边坝县| 鲁山县| 上蔡县| 齐河县| 大厂| 诏安县| 延川县| 普洱| 张家口市| 彭泽县| 从化市| 马龙县| 花莲市| 开鲁县| 锡林郭勒盟| 沙雅县| 沾益县| 双峰县| 平湖市| 阳高县| 锡林郭勒盟| 文水县| 都安| 三原县| 农安县| 德钦县| 淅川县| 遵化市| 成都市| 普兰店市| 泊头市| 安阳市| 贡嘎县| 疏附县| 兖州市| 英吉沙县| 东至县| 泰宁县| 黄石市|