关于CAN隐患的争辩始于本刊发表的2篇文章,一是“CAN总线系统中的一种安全隐患”,一是“CAN消极报错发送节点变为离线状态的故障“。这2篇文章在送稿前已经发给国内外的一些专家征求意见,尚未有反驳的意见。由于此事联系重大,涉及许多单位的利益,例如芯片供应商、开发工具供应商、ECU供应商、汽车制造商、高层协议供应商、高层协议产品提供商、各类服务提供商等等,为了防止这些单位由于既得利益的驱动有意无意地淡化疑问的严重性,须要一个独立的代表第三者利益的机构来考察与评判疑问能不能存在,及其危害性。这个第三方利益就是终端用户,例如汽车的驾驶与乘用人员、行人及与此有关的保险公司、道路管理单位等。因此,不仅应该告知CAN产业的有关方,也应告知利益有关方,才能得到正确的恰如其分的应对。基于此种考虑,笔者将2篇文章的英文稿送美国国家交通部公路交通安全管理处 (U.S.Department of Transportation,National Highwav Traffic Safety Administration)的网络热线,提请他们留心。后来这件事大概由他们转到了国际标准化组织(ISO)。ISO的TC/22/SC3负责车用通信有关业务,其TC/22/SC3/WG1/TF1的组长是CiA的主席Zeltwanger先生。CiA曾有人作了回复,笔者也作了答复,最后由 Zeltwanger。先生转来对此疑问的正式声明作为答复。这是对疑问的答复,并不是对个人的答复,这个声明是由ISO中国CAN专家组转来的。(它的英文全文见本刊站点 www.mesnet.com.cn。)下面是Bosch声明要素与笔者的观点,在引述Bosch声明时将力求准确。
Bosch声明的标题是“它不是隐患,而是特色”(It's not a bug,it's a feature!)。在引用参考文献[1—2]时说,“在那2篇文章中有一些对CAN协议故障约束机制,特别是对由消极报错状态下看到本地错的关切。…… 在CAN总线上网络流量很高以致连续帧之间不再有空闲时间时,以及消极报错节点看到本地错(即未被其他节点看到的错)时,它将不能完成其消极报错标志。后果是这个节点将不再能收发帧,直到它遇到空闲时间或其他节点发的主动报错帧。消极报错状态的发送节点会由此而使出错计数器加上去,直到达到离线状态。…… 这是CAN协议故意要达到的行为。……2种要领企图处理的是1个并不存在的疑问。”
1. 杨福宇 CAN 总线系统中的一种安全隐患 [期刊论文] -单片机与嵌入式系统应用2009(1)
2. 杨福宇 CAN 消极报错发送节点变为离线状态的故障 2009(5)
3. Corno F A Multi-level Approach to the Ependability Analysis of CAN Networks for Automotive Applications 2004
4. Broster Ian.Burns Alan Rodr′?guez?Navas Guillermo.Comparing Real?time Communication under Electromagnetic Interference 2004
5. 刘亚飞 控制器局域网协议(CAN)技术隐患分析 2009(2)