原创 国家兴亡匹夫有责,从神九用到CAN总线讲起(6)方法很关键

2013-4-7 10:37 2013 19 23 分类: 消费电子

国家兴亡匹夫有责,从神九用到CAN总线讲起(6)方法很关键

 

我们很多应用选用CAN总线是因为它特别可靠,按CiA的宣传资料是一千年才会发生一次错帧残留,按Bosch CAN2.0规范是帧出错率*4.7*10-11。其中4.7*10-11是错帧漏检率Pun,而帧出错率*Pun是错帧残留率Pres。一千年一次在我们有生之年是碰不到的,自然非常好,不过它这个值错了,错误的数据会导致盲目乐观的态度

 

它的计算过程是:假定误码率为每0.7秒有1位错,当位时间为2us时,有ber= 1/0.7*106/2=2.8*10-6并以此来计算公式中的error rate。这是简化的情况,与Bosch 分析时采用的方法不同,在那里error rate相当于bad状态概率,例如分析时采用的为10-3,在帧长为100bit时,它的计算偏小了约3倍。

20130407103437387001.gif

 

假定总线工作于500kbps,总线负载率为40%,平均帧长为100 bit,那么每小时送7.2×106个帧。按我的计算结果(见以后博文),错帧漏检率Pun=1.15*10-7,bad状态概率为1*10-3时错帧残留率是1.15*10-10,每小时的失效率是8.82×10-4/h。也就是每1200小时=50天要失效一次。如果像上面CiA介绍总线负载率为100%时,就会是每20天失效一次。

 

有人会说,我的系统从来没有失效过。说到数值问题,第一是你的系统可能干扰较少,在单帧长度为统计误码率时遇到的最坏情况远小于1*10-3,但是你不能否定别人的最坏情况可能达到1*10-3;第二,许多应用属于闭环控制,由于对象的响应比较慢,即使有错帧漏检,其引起的扰动刚开始就被新来的正确数据纠正了,你就没有感觉,但是你不能否定存在无法及时更新的可能性;第三,也许你在应用上还有别的纠错措施使错帧的影响减弱了,例如各种滤波算法,所以你感觉不到,但是你已经付出了相应的代价,例如降低了系统的动态指标。

 

现在说可信赖性分析方法。对整个国家而言,平均概率是重要的。但是最坏情况发生时,人身和财产损失对当事人是百分之百地已经发生。所以要按最坏概率作出发点。例如一,人的价值是无价的,所以欧美各国已进入到目标为交通零伤亡的时代,如果你的车不以此为目标,你就会在竞争中失败;例如二,有的项目全国都只有有限的数量,一次失效都是难以承受的,例如火箭卫星**之类。所以无论民用或军工都该以最坏情况作出发点。

 

关于错帧漏检的分析方法,据我所知大致有几种方法:第一是用软件仿真的方法,可以有控制地注入位错,然后按协议的规定检查,错帧是否溜过去,不过一般采取随机注入位错的方法,即一般随机测试的Monte Carlo方法;第二种是用分析方法,构造出会溜过去的帧,然后统计这种帧的个数,我就是用这种方法;也许还有第三种,用形式逻辑的方法来分析,不过我还不懂,不知道是否走得通。

 

Bosch采用的是第一种方法。( J. Unruh, H.J. Mathony, K.H. Kaiser: "Error Detection Analysis of Automotive Communication Protocols". SAE Int. Congress, No. 900699, <?xml:namespace prefix = st1 />Detroit, USA, 1990.

Bosch对造成错帧漏检的二种原因均有论述,第一种原因是CAN位填充规则时出错发生部分数据流相位移动,第二次是出错又使相位又对上了,在有相移的部分造成收发数据比较时有大量差,超出了CRC检出错的能力;第二种是在定义帧长度的位中出了错,收发二边对帧长度有了不同理解,碰巧后边又发生位错,使变形后的帧通过了CRC检验和格式检验。关于这二种情况我后面都要用到,到时候详细介绍。

 

采用软件仿真的办法要求概率的分布是均匀的,而且样本的量较大,正是在这二点细节上这种办法是有缺点的,从而导致结果的准确度低。

首先出现漏检事件的出错位分布不是均匀的,发生在标识位等处的错会因数据移相,造成帧长变化而较易检测出来,不易漏检;而发生在数据域内的错则除了CRC检验没有其他检验可发现,易漏检;发生在帧尾部的错立马就被视作格式错,不漏检。

其次是样本的大小,Bosch文章中针对的是80~90位的帧,CRC检验的覆盖面为58~66位,这样帧本身就有258=2.88×1017种,注入的位置有58×57/2组,全部实例有4.76×1020个。每一个帧在注入错前后要算二次CRC,还要做其他格式检查。例如有没有发生填充位错,有没有发生帧长变化导致格式错等。现仅就CRC检验来说:每个学过CRC计算的人都知道它要分很多步骤,1989年左右还是16位机的时代(例如VAX11系列),假定累加器由A构成,生成多项式为立即数G,步骤有

1.A15=0跳到第3步,否则进到2

2.AG异或,

3.进位位设新数据,

4.A与进位位左移一位,

5.CRC覆盖区是否结束,如否则回到1,如是就结束。

一位要循环5步,就算用机器代码,那时的计算机还只在10M左右,即0.5us。完成58位循环要29us,验算一条帧需58us。于是可以算出不停机运行一年可检验365*24*3600*106/58=5.43*1011条帧。全部实例有4.76×1020个,可见测试的样本还不到实例的10-8。即使当时的计算机速度估计不准,仍然是样本太小了。

 

样本小要作结论是无法置信的,例如100万辆车你遇到1辆性能很好就说车好,或者你遇到1辆车坏了就说车一塌胡涂都是偏颇的。

 

虽然CiA一方面推荐Bosch的残差值:出错率*4.7*10-11,实际上CiA还给出了另一个更大的残差值:CiA, CiA Draft Standard 304 V1.0.1 “CANopen framework for safety-relevant communication”,第26页:The worst case residual error probability of the CAN protocol is PRe st = 7*10-9,它来自一篇Joachim Charzinski的论文,在那里有:Pres<7.2*10-9*qbad所以他们自己已否定了Bosch的残差值。只是CANopen中的值还是比我的数据1.15*10-7小了很多。

文章评论4条评论)

登录后参与讨论

自做自受 2015-11-26 14:05

今天上午到中国电信的一处营业厅做了停机保号。 出门需要时临时决定再开通并购买适用的4G套餐就是了。 创新需要钱,挣钱需要耗能,耗能需要有害环境。 不需要花的钱,不花,就是环保!自做自受而已。

用户1678053 2015-11-23 08:58

看看

用户1454308 2015-11-23 08:18

Good

自做自受 2015-11-19 14:50

是的,能用,就是够用,就是适用,适用则合格,合格则适宜。 折款名叫“4G无线路由器”的USB有线路由和SD卡就是“无名有实”纯属多余!多余就是离开了“能用”这个范畴,就是不能用,浪费!不值钱的产品!即: 该产品不适宜,不适宜则不合格,不合格则不适用,不适用就是不够用,不够用就是不能用。 呵呵~多余!纯属啰嗦!就像这个产品一样多余之啰嗦! 看官见谅。

忆轻狂 2015-11-19 08:47

很多时候我们的产品都属于能用这个范畴

用户1154067 2013-5-2 11:38

不错.值得借鉴.

用户1584366 2013-4-15 11:14

看不懂啊,

ssyniuej_957112275 2013-4-8 09:36

一直在看这部分内容,虽然没法完全理解。但学到一种严谨的态度。 在实际应用中的确碰到过一些情况。但找不到原因。概率太低。 不知道用什么方法能够捕捉到这种异常的帧?

用户1494370 2013-4-7 14:26

杨老师好!非常佩服杨老师的认真精神!
相关推荐阅读
yfy812_845263591 2016-03-08 13:50
audi自动泊车(3月7日)
奥迪CEO鲁伯特·施泰德(Rupert Stadler)与该市市长约瑟夫·库尔他托内(Joseph A. Curtatone)共同签署了谅解备忘录。 奥迪正与美国东海岸城市萨默维尔共同筹划未来...
yfy812_845263591 2016-02-18 10:46
自动驾驶车风口开大了
自动驾驶车风口开大了   近日sae报道(Why Audi boss Stadler believes in a hands-off future - SAE International ...
yfy812_845263591 2015-01-07 16:24
做中国的黑匣子吧
近一年来看到飞机失联之后找黑匣子的艰难,像马航MH370耗费的人财物不知有多少亿美元了。其实现有的技术可以大大降低成本,甚至可能还救出一些人:   1。事发后把黑匣子自动与机体分离,用到...
yfy812_845263591 2014-09-26 09:11
手机添加放大镜
我眼睛老化,感到要是手机上有放大镜软件就好了,不过市场上没找到。也许由于镜头关系,虽然像素高,没法把近的物象的像素提高,然后显示清楚。不过我想,添加第三个光学头,成本的增加也不过小半个光电鼠标的成...
yfy812_845263591 2014-09-22 15:43
你必须要知道风险的根源
你必须要知道风险的根源   因为现在的中国已进入了汽车社会,年轻人或迟或早会有自己的车,而每台车上都用CAN总线在控制刹车、转向…,所以你要知道CAN的风险。我对CAN总线的出错漏检率的分...
yfy812_845263591 2014-06-19 16:45
大公司的不地道
大公司的不地道   大公司由于过往的口碑,不惜有时说谎,不知道狼来了的故事何时使那个说谎的孩子受到惩罚?举四个例子:   1。前不久EETIME 专栏独家报道了丰田突然加速在Okl...
我要评论
4
19
关闭 站长推荐上一条 /2 下一条