FlexRay总线的功能安全性分析

时间:2013-01-23来源:网络

关于FlexRay的缺点或弱点,参考文献[4]提到物理层连接的困难,影响到信号完整性,实际上能较易使用的是有源星型,但这带来成本的提高;cycle设计约束多,带来困难;同步和启动节点配置与容错有关,是挑战;由于资源有限,升级演进时很困难(并非像以前强调时间触发协议的composability优点——笔者注)。参考文献[5]介绍了在FlexRay中产生各自独立的时钟同步小集团的可能性,也就是说虽然各节点都在通信,但是2个集团间无有效通信,是一种故障状态。解决办法是用3个冷启动节点、3个同步节点,但是这与时间同步容错的要求矛盾。还有就是将调度表排满,以免形成小集团,这也与留有余地供将来升级扩充的要求矛盾。总之尚无彻底解决方案。再有就是时钟可能产生同向漂移[6],与应用时钟的差造成帧未能就绪或覆盖引起漏帧。FlexRay虽然是为高可信性设计的,但是在传送中出错后处理要通过应用层解决,这带来新的问题,本文将分析如果不作处理会怎么样。

3 Audi和BMW的FlexRay总线应用的功能安全等级

BMW和Audi是首批批量使用FlexRay总线的车厂,它们的具体用法尚未查到,但是参考文献[7]给出了部分使用参数,可以以此作一些初步分析。

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=228×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位作者建议了主动重发的方案,其一见参考文献[8]。主动重发在概念上就是时间上的冗余,帧不但在不同的物理通道上重发,也在不同的时段上重发。由此来分析第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总线的比较

参考文献[7]中的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×126×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 FlexRay总线的错帧漏检

参考文献[12]对CRC的检验强度有讨论。在假定错均匀分布时,2-k是未检出错的上界,其中k是校验和长度,对FlexRay来讲k=24,2-24=5.9×10-8。如果位错不相关,概率强度还要乘上(ber×帧长)HD,其中HD是CRC多项式的海明距离。以1 h计算时要乘1 h内的帧数。按标准[3],在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分配给通信的要求。

1 2 3

关键词: FlexRay 总线 安全性分析

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版