当前位置:首页 >> 军事/政治 >>

国家兴亡匹夫有责(6)


国家兴亡匹夫有责,从神九用到 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 倍。

假定总线工作于 500kbps,总线负载率为 40%,平均帧长为 100 bit,那么每 小时送 7.2× 6 个帧。 10 按我的计算结果 (见以后博文) 错帧漏检率 Pun=1.15*10-7, , -3 在 bad 状态概率为 1*10 时错帧残留率是 1.15*10-10 ,每小时的失效率是 8.82× -4/h。也就是每 1200 小时=50 天要失效一次。如果像上面 CiA 介绍总线 10 负载率为 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, Detroit, USA, 1990.) Bosch 对造成错帧漏检的二种原因均有论述,第一种原因是 CAN 位填充规 则时出错发生部分数据流相位移动,第二次是出错又使相位又对上了,在有相移 的部分造成收发数据比较时有大量差,超出了 CRC 检出错的能力;第二种是在 定义帧长度的位中出了错,收发二边对帧长度有了不同理解,碰巧后边又发生位 错,使变形后的帧通过了 CRC 检验和格式检验。关于这二种情况我后面都要用 到,到时候详细介绍。 采用软件仿真的办法要求概率的分布是均匀的,而且样本的量较大,正是在 这二点细节上这种办法是有缺点的,从而导致结果的准确度低。 首先出现漏检事件的出错位分布不是均匀的, 发生在标识位等处的错会因数 据移相,造成帧长变化而较易检测出来,不易漏检;而发生在数据域内的错则除 了 CRC 检验没有其他检验可发现,易漏检;发生在帧尾部的错立马就被视作格 式错,不漏检。 其次是样本的大小, Bosch 文章中针对的是 80~90 位的帧, CRC 检验的覆盖 58 17 面为 58~66 位,这样帧本身就有 2 =2.88× 10 种,注入的位置有 58× 57/2 组,全 20 部实例有 4.76× 10 个。每一个帧在注入错前后要算二次 CRC,还要做其他格式 检查。例如有没有发生填充位错,有没有发生帧长变化导致格式错等。现仅就 CRC 检验来说: 每个学过 CRC 计算的人都知道它要分很多步骤,1989 年左右还 是 16 位机的时代(例如 VAX11 系列) ,假定累加器由 A 构成,生成多项式为立 即数 G,步骤有 1.如 A15=0 跳到第 3 步,否则进到 2, 2.A 与 G 异或, 3.进位位设新数据, 4.A 与进位位左移一位, 5.判 CRC 覆盖区是否结束,如否则回到 1,如是就结束。 一位要循环 5 步, 就算用机器代码, 那时的计算机还只在 10M 左右, 0.5us。 即 完成 58 位循环要 29us,验算一条帧需 58us。于是可以算出不停机运行一年可检 验 365*24*3600*106/58=5.43*1011 条帧。全部实例有 4.76× 20 个,可见测试的样 10 -8 本还不到实例的 10 。即使当时的计算机速度估计不准,仍然是样本太小了。

样本小要作结论是无法置信的, 例如 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 ,它来自一篇Joachim Charzinski的论文,在那里 有:Pres<7.2*10-9*qbad。所以他们自己已否定了Bosch的残差值。只是CANopen 中的值还是比我的数据1.15*10-7小了很多。


相关文章:
国家兴亡 匹夫有责
国家兴亡 匹夫有责_教学研究_教育专区。国家兴亡 匹夫有责 江苏东台弶港镇中学...六里雷达部队遗址 6、堤利“红旗”边防民兵营 7、支前 独轮车 8、海上秘密...
国家兴亡,匹夫有责
国家兴亡,匹夫有责_少儿英语_幼儿教育_教育专区。爱国情怀 国家兴亡,匹夫有责——刘晋 本次报告会,由来自山东烟台的刘晋老先生为我们带来。他在报告会中一直强调...
天下兴亡,匹夫有责
天下兴亡,匹夫有责_年级语文_语文_小学教育_教育专区。天下兴亡 匹夫有责亲爱的同学们: 大家好! 今天,我们的祖国不仅强盛,而且和各个国家的友谊也非常好! 在...
国家兴亡匹夫有责
国家兴亡匹夫有责_文化/宗教_人文社科_专业资料。国家兴亡匹夫有责 史海茫茫,...文档贡献者 王榕6号 贡献于2016-08-29 1/2 相关文档推荐 天下兴亡匹夫有责...
国家兴亡匹夫有责(16)
国家兴亡匹夫有责,从神九用到 CAN 总线讲起(16)一块短板与二块短板 我们面临...表中变为非跳转的其他指令则 有可能改变累加器(bit 0, 1, 3, 4,6 或 7...
国家兴亡 匹夫有责
龙源期刊网 http://www.qikan.com.cn 国家兴亡 匹夫有责 作者:邵希林 来源:...国家兴亡,匹夫有责 200人阅读 1页 2下载券 国家兴亡匹夫有责(6) 373人...
国家兴亡,匹夫有责。”
80 年前的那群热血青年就用他们的方式宣誓着“国家兴亡,匹夫有责。”忘不了 80 年前,忘 不了 80 年前的 12 月 9 日:到处挂满了标语,飞扬着传单,舞动着...
国家兴亡匹夫有责
国家兴亡匹夫有责_思想汇报/心得体会_党团工作_实用文档。328百万农奴解放纪念日演讲稿国家兴亡匹夫有责对于旧社会的西藏在座的每一位也许觉得不理解,只因为那 是...
国家兴亡匹夫有责(10)
国家兴亡匹夫有责,从神九用到 CAN 总线讲起(10)错难补救 由于掌握了错帧...1st bit flip i 1 2 3 4 5 6 7 8 9 10 11 12 2nd bit flip 13 ...
国家兴亡匹夫有责
第1 页共 1 页 国家兴亡 匹夫有责 最近我读了一本书---百年追梦,全面小康...国家兴亡匹夫有责(12) 暂无评价 6页 免费 论国家兴亡、匹夫有责 暂无评价 ...
更多相关标签: