王远波,陈姿霖,武 萌
(陕西重型汽车有限公司汽车工程研究院,陕西 西安 710200)
DOIP的全称为Diagnostic communication Over Internet Protocol,是指通过TCP/IP协议实现车载诊断通信。它将UDS服务命令和响应数据作为载荷封装成以太网帧后在以太网线束上传输,解决了汽车大容量数据软件升级的时间问题。
DOIP技术依据ISO 13400协议的要求,满足ISO 13400中定义的传输协议、网络层服务、车辆接口、连接方式。在OSI 7层结构中,物理层和数据链路层遵守的协议是IEEE 802.3和ISO 13400-3;网络层和传输层遵守的协议是ISO 13400-2;应用层遵守的协议是ISO 14229-1和ISO 14229-5。
在车载以太网各项技术的发展应用中,DOIP技术应用推广的最快,很多主机厂已经开始应用使用该技术进行车辆数据刷新。DOIP的应用场景主要有3个方面。
1)车辆刷新和配置
在车辆设计、装配、售后阶段,使用外部刷新设备通过TCP/IP协议在安全访问通过后与车辆内部节点建立通信,按照升级流程对DOIP节点进行数据升级和配置参数修改。在设计阶段和量产阶段,因一次处理的控制器的个数不同,所以要特别注意升级流程报文的组播和单播设置,保证升级的一次性成功率。
2)车辆功能检测
在车辆装配下线阶段,外部检测设备按照固定步骤对接入局域网的车辆进行终检工位的全功能检测,外部测试设备会对车内多个DOIP节点进行并行通信,完成批量检测。
3)车辆故障维修
在该阶段,外部检修设备不需要使用传统的硬线连接,通过TCP/IP协议与车辆建立通信,向目标DOIP节点发送请求,节点反馈实时的故障信息或运行参数,便于快速定位故障点。
ISO 13400-4在现有的ISO 15031-3诊断OBD接口定义上进行扩展使用,推荐的有两种定义,可根据实际的设计情况选择其中一种。如图1、图2所示。
图1 以太网OBD接口定义方案1
图2 以太网OBD接口定义方案2
在车载以太网网络架构中,根据节点具备DOIP功能的情况对其进行了特殊定义,一个控制器可以是以下的一种或多种角色。
1)DOIP实体
实现DOIP协议的控制器,车内所有实现DOIP协议的控制器都可以称为DOIP实体。
2)DOIP网关
控制器实现了DOIP协议,对外部测试设备使用DOIP协议访问自身能够给以正确回复,并且可以将DOIP协议数据路由到车辆子网的控制器。
3)DOIP节点
控制器实现了DOIP协议,对外部测试设备使用DOIP协议访问自身能够给以正确回复,但不将DOIP协议数据路由到车辆子网的控制器。
4)DOIP边缘节点
控制器实现了DOIP协议,是车辆和外部测试设备之间的连接端口。
ISO 13400-4规定了外部测试设备在连接到车辆OBD接口时,使用工业以太网100Base-Tx协议进行通信,连接线共有5根:2根Rx、2根Tx、1根激活线。众所周知,车辆的电磁兼容符合标准要求是整车功能正常运行的前提,激活线的目的是激活边缘节点的Tx通信功能,在不使用Tx通信时关闭边缘节点的Tx通信功能,能够降低外界对车辆的干扰并提升抗扰能力。
具备激活线的设备和边缘节点必须满足标准规定的电气参数,激活和失活电压见图3,激活和失活说明如下。
图3 激活线阈值图
1)失活电压阈值(Vinactive)为2V,低于该值Tx通信已经停止,低于2V的电压值不会激活DOIP边缘节点的Tx通信能力。
3)当边缘节点检测到激活线电压低于Vinactive并持续200ms时认为外部测试设备期望停止Tx端口的通信,此时关闭相关通信。
使用外部诊断设备对车辆进行数据刷新或故障诊断时,可以使用一对一物理连接、一对一网络连接、多辆车和一台设备的网络连接、单车和多个设备的网络连接4种连接方式,在具体的功能设计时需要提前确定好连接方式。
1)一对一物理连接是通过Tx线束连接,这样连接方式信号干净稳定,无其他外部干扰,车辆和外部测试设备都会使用TCP的‘三次握手’机制来建立连接,执行刷新或故障诊断工作。
2)一对一网络连接是外部测试设备通过VIN/EID/GID识别网内的所有车辆,进而选择目标车辆,执行刷新或故障诊断工作,目前的OTA升级也是使用该种方式。
3)多辆车和一台设备的网络连接是外部测试设备同时对多辆车进行数据刷新和故障诊断,多用于车间装配阶段,在此连接方式上实现了并行刷新和智能制造。
4)单车和多个设备的网络连接是单个车辆与多个外部测试设备的连接,在这种情况下,车辆必须能够清楚地区分每个诊断请求是具体哪个外部测试设备发来的,并且能够准确对每个外部测试设备进行数据回复。主要应用在车辆装配阶段,分工不同的多个设备对同一辆车进行数据操作。
外部测试设备在对车内控制器进行数据刷新或故障诊断时,会使用TCP或UDP协议与车内控制器建立连接。请求执行的功能决定了是使用TCP协议还是UDP协议。在外部测试设备的激活线连接到车辆后,需要先使用UDP协议进行车辆发现和车辆声明,再使用TCP协议进行传输具体的数据和诊断请求。
UDP协议介绍
本研究发现:脑卒中病人家庭照顾者知觉压力水平高于普通人群,医务人员在工作中,应关注脑卒中病人家庭照顾者身心健康状态,积极对其采取正面心理引导,帮助照顾者以积极应对方式面对困难,减轻照顾者压力源,提高其身心健康水平。
UDP的全称为User Data Protocol,是一种非连接、不保证可靠性的传输层协议,在实际传输数据前外部测试设备和控制器不建立握手连接,直接向对方发送数据报,发送的数据能不能正确地、完整地被对方接收,该协议原理无法保证,所以使用UDP协议传输数据会出现数据丢包的情况。但是相比TCP协议,UDP因为无双方握手的连接过程,所以UDP速度更快一些。
在实际应用过程中对于需要实时同步传输,但对可靠性要求低的数据,例如电影、歌词,建议使用UDP协议进行数据传输。实际上,在100Base-T1或1000100Base-T1的速率下,车辆电磁兼容试验通过,两个节点间的长度符合标准要求,这些前提条件也能够保证使用UDP协议传输数据的可靠性。
TCP协议介绍
TCP的全称为Transmission Control Protoco,它是一种面向对象的连接协议,在传输数据之前必须与对方建立可靠连接。这个建立过程就是我们常说的 ‘三次握手’机制,在有意向对方传输数据时,外部测试设备和车内控制器之间总共发送3条以太网报文来建立确定的连接。
当外部测试设备不需要向该对象发送数据时,会使用‘四次挥手’机制,来断开和该对象的连接,释放端口用于和其他对象进行连接。
‘三次握手’和‘四次挥手’的过程和传统互联网的过程一样。
外部测试设备从连接车辆到对ECU进行诊断功能、软件升级需要经历6个阶段:车辆识别、车辆选择、套接字建立、路由激活、诊断通信、断开通信,在整个过程中车辆识别和车辆选择使用UDP协议进行通信,其余阶段使用TCP协议进行通信。
1)车辆识别:边缘节点与外部测试设备物理连接后,边缘节点识别到激活线的电平满足要求后打开Tx端口通信,与外部测试设备使用DHCP或Auto-IP协议进行交互,由外部测试设备向边缘节点分配IP地址。
2)车辆选择:该项功能在一台测试设备与多个车辆连接时能够发挥很大作用,多个车辆的边缘节点发送车辆声明后,外部测试设备根据VIN或EID对车辆进行识别,在外部测试设备的人机界面中选择需要通信的目标车辆。
3)套接字建立:外部测试设备和边缘节点通过套接字建立诊断通信。
4)路由激活:通过路由激活触发边缘节点的路由功能。
5)诊断通信:路由功能激活后,外部测试设备便可向目标ECU发送诊断指令,边缘节点会根据DOIP报文中的MAC和IP地址将诊断请求路由到目标ECU所在的网段,并将ECU的响应转发给边缘节点。
6)断开通信:需要进行的诊断功能执行完毕后,外部测试设备断开TCP连接关闭套接字,将激活线电压拉低,使边缘节点关闭Tx端口通信。
DOIP技术是一项新技术,伴随着对这项技术实践应用研究,DOIP技术将会替代现有的CAN总线刷新,解决大数据刷新的时间问题,提高数据刷新和故障诊断效率。