当数据在传送中出错,且错帧被漏检时,就意味着错误的数据被送到应用层,除非应用层有额外的数据识别措施,这个数据就可能引起不可预测的结果。CAN协议声称有很低的错帧漏检率(4.7&TImes;10-11&TImes;出错率),有的宣传材料在一定条件下推出要1000年才有1次漏检,这是不正确的。错帧漏检率是一个十分重要的指标,很多应用就是看到Bosch CAN2.0规范上的说明才选用CAN的。但是对这个指标的来源仅有极少的公开资料,以及很少的讨论,使用户很难对它确认或验证,这给用户带来风险。本文采用了重构出错漏检实例的方法,导出了CAN的漏检错帧概率下限,它比CAN声称的要大几个数量级。在许多应用中,CAN已是可靠性和价格平衡下的不二选择,或者已被长期生产和使用,面对这个新发现的问题,在CAN本身未作改进之前,迫切需要一种“补丁”来加以改善。由于篇幅有限,所以只能摘要介绍错帧漏检率的推导过程,重点在提供解决方案。
5 z' r' l, V: o7 t, l* }
# ^/ Q' j9 ?, p9 {
6 |% b; @& v; ~: I: A# S