关于CAN总线逆向工程的初步探讨.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于CAN总线逆向工程的初步探讨 随着中国汽车业的发展,汽车的后端市场也日趋繁荣,但由于各汽车生产厂家的技术壁垒,后端设备供应商如GPS,车载音响,车载DVD,诊断仪等供应商很难得到原汽车厂家各车型的报文定义,以使自己的产品完全和车载兼容。本文将以美国英特佩斯控制系统有限公司的产品(软件:Vehicle Spy,硬件:neoVI)为例,探讨如何解码CAN总线报文。 Vehicle Spy产品是美国通用汽车的标准测试工具,可以同时支持HS CAN、MS CAN、ISO9141、J1850VPW、J1850PWM、LIN等多种总线协议、 实现车载网络诊断、节点/ECU仿真、数据采集、自动测试和车载网络总线监控等功能,相对于其它的总线工具,该产品注重用户使用的高效性和便捷性,易于用户学习和使用。   Vehicle Spy可以通过两种方式监控总线通信:通过车载的ODB接口监控汽车总线通信(图1)和直接监控ECU之间的通信(包括诊断仪和被诊断设备,图2) 当设备连接正常并设置好正确的波特率后,打开Vehicle Spy运行界面,无论是车载总线通信数据或是ECU间的总线通信数据都会被毫无遗漏的实时显示在监控界面上,图3显示的是监控的车载CAN总线数据,这些数据都是未经解码的原始数据,接下来  我将介绍监控界面的各项: ? 图3   1)、图3中①所在的部分是滤波器,因为vspy可以同时监控多种网络数据,该滤波器基于网络类型滤波,例如,勾选HSCAN,则监控界面将只显示HSCAN类型网络数据。 2)、图3中②所指的栏为滤波栏,在该栏中可以更灵活实现滤波功能,如根据报文名称,ArbID等滤波,支持“?”“*”等符号,比如现在我们只想监控Arb ID为110和120的报文,则只需要在ArbID栏输入110,120则可,如图4所示: 图4 3)、图3中③所指为进制切换按钮,只需简单点击即可将报文数据切换成其它进制(默认为16进制)。   4)、图3中数据字节为蓝色背景的部分表示变化较慢的数据(④所指)   5)、图3中数据字节为黑色背景的部分表示变化较快的数据(⑤所指)   6)、图3中数据字节无背景颜色的部分表示出现过后在一段时间没有再出现的数据(该时间值是可以设定的)   7)、整个监控界面实际上也是一个缓冲区,该缓冲区的数据可以随时保存,保存的数据可以用于以后回放以分析数据,图3所其实就是在回放数据文件,⑥所指为缓冲区进度条。   8)、vspy的默认属性栏包含了报文数量统计,报文接收时间等属性,还有其他的属性用户可以在设置栏自己定义,这将非常有助于逆向分析。 通过以上的介绍,相信有经验的工程师已经看出这款产品在总线数据解码方面的优越性。对于车载CAN总线,由于CAN报文的优先级取决于ArbID,ID值越小,优先级越高,这为我们揣测报文是来自于车载上的哪个ECU提供了依据,由于vspy可以实时无遗漏地监视总线通信报文变化并能以各种颜色来区分数据变化的快慢,因此我们可以通过反复动作车辆来观察报文变化情况,如开关车门,开和关会引起某个数据字节中的某位产生状态变化,由于这种变化是非连续性的快速变化数据,在监控界面中必然会以蓝色背景显示,因此我们可以在开关车门的时候在监控界面查找有蓝色变化的报文,并将这些报文用上述的滤波功能过滤出来以缩小监视范围,然后反复动作车门以确定是哪条报文的某位随着车门动作在变化,这将很容易辨别,在得出结论以后,再将该位提取出来并命名然后再动作车门以进行验证。当然,vspy提供解析报文的功能,比如我们判定图3中ArbID为510的报文中第二字节第二位表示车门开关,则可将该位命名为door control,并将该条报文设置为其它颜色,以方便观察,解析的结果如图5所示,对解析的结果,vspy还可以将其保存为标准的DBC格式。对于直接监视ECU之间的通信,则过程会简单的多。 ? 图5 当然,如果要解码ECU的所有报文,工作量会非常大,如果是解码整个车辆的报文,那可能是需要团队来完成,本文只是对解码工作做初步探讨,抛砖引玉,希望能与大家交流。

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档