基于IP网络的车辆诊断通信协议栈软件定制服务

企业   科技   2024-11-13 14:25   广东  

本文导读

随着汽车的智能化和网联化,车载电子系统的复杂度不断增加,对数据通信的带宽需求越来越大,通信速度要求也越来越高。借助于传统因特网的成熟技术,引入到车载网络得以解决当前的通信需求,通过对传统以太网的技术的修改,使用单对双绞线即可实现稳定的100Mb/s全双工通信。正是由于车载以太网的普及应用,对应的车辆诊断协议DoIP应运而生,本文将基于ISO13400、ISO14229和求远电子在DoCAN协议栈的基础上,介绍求远电子自研DoIP协议栈。

DoIP简介

DoIP(Diagnostic Communication over Internet Protocol,基于IP的诊断协议)建立在TCP/IP之上,主要使用在车辆检测和维修、ECU软件刷写(OTA)、ECU参数配置下线等。与传统的CAN网络相比主要优势有数据传输速率快,成本低,应用范围广,方便扩展远程诊断功能等,其OSI网络模型如下:

应用

ISO14229-1/5

表示层 

自定义

会话层

ISO14229-2

传输层

ISO13400-2(TCP/UDP

网络层

ISO13400-2(IP)

数据链路层

ISO13400-3

物理层

ISO13400-3(100BASE-T)

DoIP只是一个传输协议,上层依旧使用UDS诊断服务,相对应的协议栈只需要修改DoCAN协议栈的传输协议,ISO14229相关代码可完全借鉴求远已量产验证过的CAN UDS协议栈相关代码。

DoIP数据格式简介

Protocol version(协议版本):表示所使用的DoIP协议版本,长度为1字节。

前可取的值及含义如下:

Inverse protocol version(协议版本取反):用于对协议版本进行验证,确保DoIP报文格式的正确性,长度为1字节。如协议版本为0x02,取反值应为0xFD;
Payload type(有效负载类型):表示DoIP报文所携带的有效负载类型,长度为2个字节。大致可分为三类:0x0XXX管理类、0x4XXX车辆信息类、0x8XXX诊断类,其他字段暂时被ISO 13400预留或供OEM自定义使用。

Payload length(有效负载长度):表示DoIP有效负载的数据长度。
Payload type specific message content(DoIP报文内容,也就是DoIP的有效负载),不同类型DoIP有效负载的格式和长度都不尽相同。
关于Payload type specific message content本文不做叙述,详细参考ISO13400。

DoIP 主要功能

  车辆发现

诊断仪发送(Payload type = 0x0001、0x0002、0x0003)车辆发现报文,网络中所有接收到这条报文的ECU都将发送自己的身份信息。通过各个ECU发回的身份信息,诊断仪便可以准确得获知有哪些ECU在线,并且可以根据这些信息对这些ECU进行归类。

  路由激活

与需要进行诊断的ECU通信之前,必需先激活路由(Payload type = 0x0005、0x0006)

诊断仪才能对ECU进行诊断。路由激活包含了DoIP节点对外部诊断仪的安全认证过程,ECU开发人员可以自定义安全认证的算法,用于屏蔽非法诊断仪对ECU进行的诊断。

  诊断仪在线监测

用于监控TCP连接是否已经断开(Payload type = 0x0007、0x0008),如果连接断开,ECU能快速释放资源,以便新的连接能够建立。

  节点信息

节点信息包含了节点的状态和属性,电源模式等(Payload type = 0x4001~0x4004)。

  诊断通信

UDS相关数据交互协议通过该功能实现(Payload type = 0x8001~0x8003)。

协议栈软件架构

软件架构如上,该协议栈目前已成功应用于求远电子的Micro LED 投影大灯项目。

软件定制服务

求远电子隶属于立功科技,深耕汽车电子十余年,其DoCAN、DoCANFD、DoLIN协议栈在国内大部分主机厂均有项目量产。

求远电子提供DoCAN、DoCANFD、DoLIN、DoIP、SOMEIP(测试验证中)、Bootloader、OTA等汽车电子软件定制开发服务,详情请联系当地销售FAE。

合作咨询

长按识别如下二维码,添加立功科技官方客服。

立功科技

电话|4008882705

芯片与智能物联解决方案供应商

立功科技
芯片与智能物联解决方案供应商
 最新文章