首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

FlexRay总线的功能安全性分析

FlexRay总线的功能安全性分析

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位作者建议了主动重发的方案,其一见参考文献[8]。主动重发在概念上就是时间上的冗余,帧不但在不同的物理通道上重发,也在不同的时段上重发。由此来分析第3节的两种情况。www.fanya8.com
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×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总线的出错自动重发机制与主动重发方案相比,需要增加的带宽很小,几乎是后者的万分之一。www.bfuleye.com
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分配给通信的要求。
7 小结
计算表明,在ber=1×10-7时FlexRay通信的功能安全等级还离要求很远,另外还有小集团错、时钟漂移等问题。此外,由于FlexRay没有CAN总线那样简洁高效的报错机制,如果没有主动重发方案,那么接收节点间由于局部错引起的拜占庭错造成的失效概率增加。由此看来,FlexRay要完全实现其设计目标还有不少工作要做。更长远来看,需要在用工业以太网实现100 Mb/s速度的同时解决FlexRay现存的问题。
本文分析讨论的方法也适用于其他现场总线或工业以太网,许多协议都是基于类似FlexRay的时间触发方式,它们的安全性倚赖于高层“安全协议”。这些基于“黑通道(black channel)”的“安全协议(safety protocol)”一般按照欧洲标准EN501592添加了一些判错的措施,如对重复、丢帧、加插、次序错、数据错、延迟和假冒错采用加流水号、时间戳、定时器、标识符、地址、附加签名等方法。另一些安全协议仅仅考虑了硬件链路故障与恢复,只是通信故障的一种形式。但是这些措施依然是不够的,没有覆盖故障树的所有分支。对于其他形式,例如出现局部错后的拜占庭失效、出现饶舌错后的停止服务、出现小集团错后的局部停止服务等,均未处理。有些错可以在应用中发现,但受应用所在的host的时间特性的限制,可能已错失时限,无法纠正错误。在通信层面,它们严重影响到诊断覆盖率,也直接影响到SIL等级。即使在流程工业,消息的周期较长,用主动重发方案可以使出错结果减少(现在的一些应用恐怕还没有这样做),有些错(如拜占庭错)依然是不可承受的,特别是涉及一些逻辑信号的传送。
www.beautifuljia.com
返回列表