CAN总线的功能**问题

分享到:
306
下一篇 >

引言

    ISO26262道路车辆的功能***际标准已经通过。车企实施这项标准是自利的事,因为可以减少出事故后的赔偿损失,同时也是争取客户的竞争手段之一。所以,回顾已有的实践是非常必要的。参考文献指出,ISO26262强调了**的管理与**的文化理念。**不再仅是一种事后的风险评估,他还建议用参考文献系统原理性过程的风险分析方法(system theoretic processhazard analysis method)实施ISO262 62。在这种方法中人、组织、机器等相互之间信息传递出错的过程及其风险都要加以评估。作为车辆控制设备间的信息传递,当前的车辆中主要是CAN总线,CAN总线帧的丢失、错帧漏检、送达次序的错误、超过时限等带来的风险均应定量地分析。

    笔者在本刊就CAN总线的隐患发表过若干文章,简单地讲,主要有2个致命的隐患:非常大的错帧漏检率,比Bosch公司声称的大几个数量级;由于协议规则间的不匹配,连续出错造成的等效离线,可能的持续时间很长。这2种错误单独发生就会影响**性,如果连着发生风险就更大:发生第1个故障时应用会收下错误的原始数据,接着发生的第2个故障将阻断数据刷新,从而使应用的错误持续一段时间,造成系统的**事故。

1 错帧漏检造成的值域失误

    图1是发生位错(bit flip)而产生错帧漏检的2个例子,具体构造方法可见参考文献。它们都满足差错Ec=U·G,其中G是CAN总线的CRC生成多项式G=(110o,0101,1001,1001)。图中,Ec=U·G=(1000,0010,0001,1100,1110,1001)。由于Ec是G的倍数,所以CRC检验不出错。

    构造错帧漏检的例子时,第1个1的作用是确保填充规则在第6位后发生,这个1既可以是发生在DLC中的代码,也可以视为数据域中填充进来的1。所以它的值可以不考虑作Tx与Rx的值。在此种情况下,如果第1个位错发生在Tx的第2位,收到的Rx值将是Tx的33倍,或者1/33。如果将第1次位错发生在1后面几位,Rx值也会比Tx变化很多倍。

2 等效离线发生的概率

    等效离线的发生有3个条件:①节点已经在消极报错状态(error passive status);②该节点发生了局部错;③由于在消极报错帧分界符内遇到其他节点挂起待发帧的发送而造成连续出错。要考虑的是由于误码而报错的概率与处于总线峰值负载的概率。

    消极报错帧规定:在发送连续隐位时读回6个连续的相同位时视为报错标志发完,然后开始发隐位,读回隐位时作为消极报错帧分界符开始,开始后必须有连续7个隐位,如内又有显位,就作为新错,节点要重发消极报错帧。

    对于消极报错发送节点,发生局部错的位置有2种。在ACK分界符前时,消极报错标志的连续隐位会被接收节点以填充规则检验、CRC检验发现有错,引起接收节点报错。它们的主动报错帧的连续6个显位决定了发送节点消极报错帧报错标志结束时间的同步,不会发生分界符内出错的情况。

    在ACK及分界符后到EOF第3位间有局部错时,消极报错标志(P.E.Flag)的6个隐位会被接收节点认为是正常的发送帧结尾部分和2位服务间隔(I.M.)。别的节点所发新帧开始位(SOF),将落入发送节点消极报错帧分界符(P.E.Del)内,形成新错,如图2所示。发送节点新的消极报错帧将在新帧的ACK分界符处开始。然后,只要有挂起待发帧,这种出错状态就重复下去。而EOF第4~7位发送节点发的消极报错帧由于未见到连续的6个相同位,发送节点要等待别的节点所发新帧的ACK分界符处开始才有机会见到,等同于在ACK分界符处开始的消极报错帧。由此可知,产生等效离线错误的位置数为9位,其概率为9·BER。

你可能感兴趣: 嵌入式 图片 CAN 车辆
无觅相关文章插件,快速提升流量