基于DoIP协议的车辆诊断技术研究

2022-05-13 21:10石聪刘洋
汽车与驾驶维修(维修版) 2022年4期
关键词:传输速率

石聪 刘洋

关键词:车载以太网;DoIP诊断协议;传输速率;通信场景;物理连接

0引言

随着科技的发展,现如今人们对车辆需求已不止于代步,智能化、网络化、科技化成为人们关注的焦点。车辆智能化就意味着如驾驶辅助系统(ADAS)、环视监控系统和车载影像系统(FCS)等高科技电子控制单元在车辆上应用越来越普及,对于车内电子控制单元之间的网络通信速率要求也越来越高。传统的CAN总线已不能满足信息高速传输要求,故引入了车载以太网技术[1]。

车载以太网是指车内电子控制单元通过以太网技术实现相互通信并形成局域网。和传统以太网不同的是,传统以太网需要4对非屏蔽双绞线才能实现通信,而车载以太网使用单对双绞线即可实现稳定的双全工通信,且传输速率最高可达到1000Mb/s[2]。

1DoIP技术应用

1.1DoIP概述

DoIP(DiagnosticCommunicationoverInternetProtocol,基于IP的诊断协议)的主要作用是建立外部测试设备与车载网络之间的诊断连接。在诊断服务中,DoIP相对于传统的CAN诊断具有以下显著优势。

(1)高速率。通常DoIP诊断传输速率采用100Mb/s,在复杂的诊断任务(如软件刷写、在线检测或软件升级等)中能够实现高速率傳输,可节约时间,提高效率。

(2)低成本。可使用成熟的以太网标准硬件组件(如以太网控制器、Cat5线缆和RJ-45连接器),无需经过硬件VCI,通过以太网接口连接电子控制单元即可实现通信,且能兼容CAN/CANFD通信。

(3)应用范围广。DoIP技术可实现本地诊断、远程诊断和空中下载技术(OTA)等功能。

DoIP是位于OSI模型中的应用层,通过TCP/UDP协议传输,物理层与数据链路层遵循ISO13400标准,应用层遵循ISO14229-5标准。如DoIP的网络节点支持Internet连接,则该节点应支持基于IEEE802接口连接的远程诊断[3-4]。

1.2DoIP通信场景

车载以太网的DoIP协议主要应用于售后诊断、ECU刷写等场景,针对不同的应用环境,连接方式也有一定差异。

(1)直接点对点连接:用于车辆开发、测试和售后场景。点对点连接进行诊断通信时,车内系统不会受到来自其他车辆或设备的干扰,外部测试设备也很明确对应需要物理连接的车辆。

(2)通过网络的点对点连接:适用于多台车辆同时在维修店进行检测、维修。车辆与外部测试设备都应具备识别能力与自动接入到已存在的IP网络的能力,在局域网络内识别出所需要连接的对象,并拒绝来自其他车辆或者设备的请求信号。

(3)单个外部测试设备与多个车辆的网络连接:适用于整批量汽车在制造工厂或售后维修店进行程序刷写。此种连接方式只需外部测试设备有点对多连接的能力,车内节点对外部测试设备进行响应。

(4)多个外部测试设备与单个车辆的网络连接:车内节点同时有刷写和诊断需求时,需要一台外部设备对车内节点进行刷写,另一台外部设备对另一节点进行诊断。此时车辆需要具备区分诊断请求以及反馈的能力。外部设备则需要有判断当前车辆是否在与其他设备进行通讯的能力,根据实际情况判断是进入等待或进入socket连接。

2DoIP系统机制研究

2.1DoIP诊断架构

车辆诊断构架分为车内网络与车外网络两部分,其中车内网络包含以下几部分。

(1)DoIP节点:基于DoIP协议通信的网络节点,但只能作为通信节点,不能支持路由DoIP报文。

(2)DoIP网关:车辆内部网关,实现DoIP协议的主机节点;可路由其连接的子网与外部设备之间的报文。

(3)DoIP边缘节点网关:负责路由外部设备和车内子网之间信息,通过激活线与外部测试设备连接,需要以太网激活线先对及进行激活,才能实现通信。

车外网络包括以下两部分。

(1)外部测试设备:指支持DoIP协议且具有强大存储能力与处理能力的终端(如PC、笔记本电脑或手机)。外部测试设备通过DoIP协议访问车辆内部网络中的DoIP实体。

(2)车外网络节点:此类节点作为与DoIP系统相关的网络节点并不是必须存在的,是作为一些车联网网络中的其他功能节点。

DoIP诊断的车内网络与车外网络架构如图1所示。可以看到,外部测试设备与DoIP边缘节点之间除了通过物理介质链接以外,还可以通过WLAN技术进行无线网络连接。

2.2物理连接要求

测试设备(Tester)与DoIP边缘节点连接线由4根支持100BASE-T或10BASE-T的数据传输线与激活线K线组成,Tester端通过以太网网口连接,车辆通过OBDII端口连接。外部测试设备是通过改变硬线激活线电压来控制车内DoIP边缘节点控制器的激活与停用。硬线激活线的电压要求范围如图2所示。

激活线的作用是降低功耗和抗电磁干扰,为避免由地面移位或电磁干扰引起的随机误激活,ISO13400标准中规定,激活线的禁用电压阈值(Vinactive)为2V。如以太网在已停用状态,DoIP边缘节点在低于2V的电压时不会被激活。当激活电压在5~32V(Vactive~Vmax)并保持200ms后,边缘节点硬件被激活。

因此可在接收电路中设计一个小于200ms的滤波器时间常数,能够保持200ms。当Vact介于Vactive和Vmax之间时,以太网硬件应保持激活状态。激活线电压低于Vinactive的200ms后,边缘节点失活,表明可以停用以太网硬件。当激活线处于“保持有效”状态时,应允许通信,但只有在检测到链路后才能进行通信。

车辆DoIP诊断接口采用标准的OBDII接口,要求其不仅可支持传统CAN诊断,也可支持以太网DoIP诊断。故而布置时也应同时满足以太网IEEE802标准与ISO15031-3标准(或SAEJ1962协议)。当前通用的端子布局有以下2种模式。

第一种模式是1号和9号端子用于CAN诊断协议,3号、11号、12号和13号端子用于以太网DoIP诊断协议,8号端子用于布置DoIP网络激活线。

第二种模式是3号和11号端子用于CAN诊断协议,1号、9号、12号和13号端子用于DoIP诊断协议。与第一种相同的是,8号端子同样用于布置DoIP网络激活线。

由于目前主机厂多采用3号和11号端子作为CAN网络诊断,故此处推荐第二种布置方式。

2.3DoIP报文格式

DoIP协议支持IPv4与IPv6协议,以及对应的地址解析ARP协议、NDP协议以及控制报文协议ICMP。目前车载以太网仍以IPv4协议为主,基于对网络发展的考虑,随着地址的增加,会逐渐过渡到IPv6协议。所有统一网段的DoIP都必须使用相同的IP协议版本。由于DoIP在OSI模型中位于应用层,故DoIP报文前要封装ETH首部、IP首部及TCP/UDP首部。DoIP报文包括协议版本号、版本号取反、负载类型、负载长度及DoIP数据[5]。以太网报文封装格式如图3所示。

版本号占1个字节,标识DoIP协议版本编号,取值范围为0x00至0xFF,通常取0x02(ISO13400-2-2012《道路车辆——互联网协议的诊断通信(DoIP).第2部分:传输协议和网络层服务》)。

版本号取反占1个字节,是版本号与0xFF逻辑运算异或的值。如版本号为0x02,则版本号取反则为0xFD。版本号取反值与版本号值配合起到协议验证的作用,以确保接DoIP报文的准确性。

负载类型占2个字节,用于判断数据用途,其用途主要分成3组:节点管理类报文、节点状态类报文和诊断类报文。节点管理类报文0x0001至0x0004用于识别车辆请求,在外部测试设备与DoIP边缘节点建立诊断连接前的交互。0x0005和0x0006用于激活请求与响应,激活后socket使能并建立socket链接,才可以进行诊断通信;0x0007和0x0008用于检查当前建立的诊断连接socket是否仍然在使用,如果不再使用,则关闭socket释放资源。

节点状态类报文0x4001至0x4004,指示当前节点类型。诊断类报文0x8001至0x8003,标识外部测试设备与DoIP实体之间的诊断报文类型,分别代表诊断报文、诊断肯定响应报文和诊断否定响应报文。在DoIP协议中,通过不同的负载类型来区分报文类型以实现不同具体的功能,其发送方式都是通过TCP/UDP协议。

负载长度占4个字节,标识DoIPPayload长度,不包括DoIP首部长度。

DoIPPayload可占0-4294967295个字节,包括源地址、目标地址及UserData(如诊断报文)。该部分字节长度不是固定不变的,而是根据不同负载类型调整,要求根据数据负载类型的不同对Payload长度进行计算,以保证数据传输的完整性。

2.4DoIP通信流程

当外部测试设备与车内DoIP实体建立网络连接时,首先进行物理连接,DHPC自动配置IP地址。其次由DoIP实体主动发出3次声明报文,广播其VIN、EID、GID和逻辑地址,根据ISO13400标准规定,3次报文间隔时间在0~500ms。此时外部测试设备如果没有收到或漏收了3次声明报文,则需要外部测试设备主动向车内DoIP实体发送请求,等待500ms的时间间隔后,收到DoIP实体响应。

外部测试设备选择对应的车辆,请求DoIP实体打开TCP_DATAsocket。DoIP实体需确认当前申请socket是否未被占用,接收报文的源地址是否被其他TCP_DATAsocket占用。如当前申请的TCPsocket已被占用或SA已被其他TCP_DATAsocket占用,则发送激活否定响应报文,关闭当前报文的socket;如均未被占用,则继续进行初始化TCP_DATAsocket。之后外部测试设备向DoIP实体发送路由激活请求,DoIP实体进行通用DoIP首部处理和路由激活处理,注册TCP_DATAsocket,并对外部测试设备的激活请求进行响应,从而完成路由激活连接。

外部测试设备发送诊断报文到DoIP实体,DoIP实体经过通用DoIP首部处理及DoIP诊断处理后,向外部测试设备发送确认接收的诊断响应。再由DoIP实体向车内节点发送诊断请求,等待车内节点反馈诊断响应后,由DoIP实体向外部测试设备發送诊断响应。此处,DoIP实体可以支持与车内非DoIP实体的电子控制单元ECU(ElectronicControlUnit)通信。

如当前无诊断需求时,由外部测试设备向DoIP实体发送关闭TCP_DATAsocket命令,DoIP实体执行释放TCP_DATAsocket,以备下一次诊断服务中使用。

3结束语

目前,车载以太网已在多数车辆中应用,本文主要针对车载以太网的DoIP技术进行了研究。相比于CAN诊断,DoIP诊断技术通信带宽大、传输速率高,可以提高软件刷写与故障诊断的效率,也是未来车辆诊断技术的发展趋势。

猜你喜欢
传输速率
三星利用5G毫米波 实现创纪录传输速率
基于卷积神经网络的超宽带信道环境的分类算法
窄带物联网技术在航标遥测遥控中的应用
基于可见光的音频数字传输系统
浅析计算机硬盘技术发展与优化应用
试论数字微波技术在广播电视信号传输中的应用
计算机单位误区剖析
传输设备速率对于航管雷达融合处理的影响研究
夏季滨海湿地互花米草植物甲烷传输研究
数据传输速率