博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于ISO13400(DoIP)实现车辆刷写
阅读量:4118 次
发布时间:2019-05-25

本文共 1436 字,大约阅读时间需要 4 分钟。

近年来,基于以太网实现车辆高带宽通讯无疑是整车研发中人们热议的话题。无论是车内基于车载以太网减少线束成本,实现ADAS,信息娱乐系统等技术,还是基于新的电子电气架构以及远程诊断需求,为实现以太网诊断(DoIP),各家OEM都投入大量人力、物力成本参与到研发之中。而使用DoIP进行诊断通讯的初衷之一便是提升车辆刷写速度。当前,Softing诊断工具链,从诊断数据开发至诊断测试,已涵盖DoIP诊断需求与功能。接下来我们将从UDSonDoIP数据库开发、DoIP诊断通讯连接、DoIP刷写实例三方面进行DoIP刷写功能阐述,同时提供DoIP刷写速度与CAN对比分析。

| UDSonDoIP数据库

相较于CAN,DoIP主要是在物理层和传输层对数据的传输进行优化,提升速度。在应用层和诊断服务环节,CAN与DoIP均基于14229协议实现。ODX数据库部分,除需增加DoIP协议通讯参数和相关控制器外,一般情况下,不需要进行额外调整,这大大节省诊断数据开发时间与成本。

dabefdc8-51df-4ea7-b8f8-e27929c9588e
图1:UDSonCAN与UDSonDoIP通讯比较

图2:诊断数据库集成DoIP

| DoIP通讯连接方式

目前常用的DoIP诊断连接方式分为两种:

  • 以太网线缆直连形式:在整车情况下,制作OBD-Ethernet线缆直连;

e0e1e967-aedf-4ec7-bb53-b7961c065c32
图3:直连形式
  • 兼容CAN/CAN FD通讯,满足生产、售后需求,使用诊断VCI集成以太网激活(Ethernet Activation)功能,实现DoIP通讯;

5fc7ee7c-d496-4abf-bf1f-a5210a0e8753
图4:VCI形式

| UDSonDoIP刷写实例

数据库创建完成,使用相关诊断工具,即可实现车辆刷写过程。

实例中,刷写控制器采用Softing T-Box;VCI通讯使用Softing VIN|ING2000诊断通讯卡;连接方式:使用以太网直连及VCI连接形式;诊断仪使用DTS Moanco与Q-Tester软件。

图5:连接示意图-直连电脑

图6:连接示意图-VCI连接

车辆识别与握手完成后,我们就可以在诊断仪内,进行DoIP刷写。所有配置刷写过程,与CAN配置流程一致。

67d0f076-1636-44e6-9841-68783afa7502
图7:DTS Monaco DoIP刷写
39815e7e-32af-4524-b553-0cb30a602c02
图8:Q-Tester DoIP刷写

图9:36服务报文实录

36服务刷写数据,基于TCP/IP协议,按照TCP数据传输分包机制,传输实现。

| UDSonDoIP刷写速度对比分析

在ISO 13400协议中,一条诊断报文最大长度为4GB。这意味着理论上,一次36服务支持最大可发送数据量为4GB,而在CAN通讯中,这个数据最大为4kB。

12b2ce84-fe29-4c6f-84dc-ff0557cf059e
图10:摘自ISO13400-2协议

实际上,受到控制器性能,线束带宽,诊断仪处理速度等软硬件限制,单次服务数据传输量少于理论值,但是其传输速度仍远远超出CAN通讯。

举例:测试中,单次36服务传输数据量为1.5M,刷写文件大小为1.5GB,网线直连刷写时间为7分钟。使用VIN|ING 2000硬件,采用无线传输形式,刷写时间为20分钟左右。

4528eb93-9d4d-473a-89e2-6d9dff01ff97
图11:刷写时间

在HS CAN刷写中,1.5GB刷写文件,则需要大约4小时。

通过对比可以发现。采用DoIP,其刷写速度的提升效果是十分显著的。

综上所述,基于Softing诊断工具链,进行DoIP功能扩展开发。通过最小的数据库改动,以及VCI工具的升级,即可实现DoIP诊断,而已有的Softing诊断软件则不需要调整。在最小成本投入的基础上,实现DoIP刷写需求,获得最大的效益。

| 往期回顾

▶ 

▶ 

转载地址:http://mbcpi.baihongyu.com/

你可能感兴趣的文章
项目中的jackson与json-lib使用比较
查看>>
Jackson Tree Model Example
查看>>
j2ee-验证码
查看>>
日志框架logj的使用
查看>>
js-高德地图规划路线
查看>>
常用js收集
查看>>
mydata97的日期控件
查看>>
如何防止sql注入
查看>>
maven多工程构建与打包
查看>>
springmvc传值
查看>>
Java 集合学习一 HashSet
查看>>
在Eclipse中查看Android源码
查看>>
Android-Socket登录实例
查看>>
Android使用webservice客户端实例
查看>>
层在页面中的定位
查看>>
[转]C语言printf
查看>>
C 语言 学习---获取文本框内容及字符串拼接
查看>>
C 语言学习 --设置文本框内容及进制转换
查看>>
C 语言 学习---判断文本框取得的数是否是整数
查看>>
C 语言 学习---ComboBox相关、简单计算器
查看>>