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分配给通信的要求。
7 小结
计算表明,在ber=1×10-7时FlexRay通信的功能安全等级还离要求很远,另外还有小集团错、时钟漂移等问题。此外,由于FlexRay没有CAN总线那样简洁高效的报错机制,如果没有主动重发方案,那么接收节点间由于局部错引起的拜占庭错造成的失效概率增加。由此看来,FlexRay要完全实现其设计目标还有不少工作要做。更长远来看,需要在用工业以太网实现100 Mb/s速度的同时解决FlexRay现存的问题。
本文分析讨论的方法也适用于其他现场总线或工业以太网,许多协议都是基于类似FlexRay的时间触发方式,它们的安全性倚赖于高层"安全协议"。这些基于"黑通道(black channel)"的"安全协议(safety protocol)"一般按照欧洲标准EN501592添加了一些判错的措施,如对重复、丢帧、加插、次序错、数据错、延迟和假冒错采用加流水号、时间戳、定时器、标识符、地址、附加签名等方法。另一些安全协议仅仅考虑了硬件链路故障与恢复,只是通信故障的一种形式。但是这些措施依然是不够的,没有覆盖故障树的所有分支。对于其他形式,例如出现局部错后的拜占庭失效、出现饶舌错后的停止服务、出现小集团错后的局部停止服务等,均未处理。有些错可以在应用中发现,但受应用所在的host的时间特性的限制,可能已错失时限,无法纠正错误。在通信层面,它们严重影响到诊断覆盖率,也直接影响到SIL等级。即使在流程工业,消息的周期较长,用主动重发方案可以使出错结果减少(现在的一些应用恐怕还没有这样做),有些错(如拜占庭错)依然是不可承受的,特别是涉及一些逻辑信号的传送。
FlexRay 功能安全 IEC61508 ISO26262 相关文章:
- 汽车网络用数据线扼流圈改善电磁兼容研究(05-01)
- Adura Systems 采用飞思卡尔的FlexRay汽车微控制器技术(05-04)
- 技术动态 未来的汽车电子发展趋势解析(09-09)
- 基于μC/OS-Ⅱ的线控转向FlexRay通信控制(05-24)
- 基于FlexRay的媒体接入控制设计(01-04)
- FlexRay的通信控制器媒体接入控制设计(01-21)