前言
本文介绍一下UDS诊断服务的通信控制服务,希望能对你有所帮助
一、通信控制服务介绍
通讯控制服务主要用于开启/关闭电控单元对某些报文的发送或接收,如当通过UDS协议下载程序时,可使用此服务停止其他非诊断报文停发,从而将带宽都用来下载,加快下载速度。
二、数据格式
2.1 请求报文
前两个字节就是SID和子功能,第三个字节为通信类型,表示控制接收还是发送;后面两个字节是子功能为04和05的时候才会用到
2.2 子功能
前四个好理解,就是控制接收和发送的,需要注意的是,这里的使能和禁止都是针对非诊断报文;
04和05这两个子功能是用来控制指定的子网,前面讲了,在请求报文里,后面有两个字节是在使用这两个子功能的时候才有的,也就是说这两个地址是用来表示子网网段的标识。4和5可使用的场景目前来看只有LIN网络,暂时没用到子功能为04和05的
04:enableRxAndDisableTxWithEnhancedAddressInformation 将增强地址信息表示的子网切换到诊断调度表,例如常见的LIN。
05:enableRxAndTxWithEnhancedAddressInformation 恢复增强地址信息表示的子网为正常调度表
2.3 通信类型
通信类型,表示通信控制的是哪些类型的报文,如应用报文、网络报文。
01:一般通信报文
02:网络管理报文
03:一般通信报文和网络管理报文
后面的几种一般用不到,暂不做介绍
2.4 响应报文
肯定应答就是:[SID +0X40] + [SID]
否定应答:[0X7F] + [SID]+ [NRC]
三、举个例子
在下载程序之前发送的28服务,关闭APP和网络报文的发送
TX: 03 28 01 03 00 00 00 00 // 28:通信控制服务; 01:子功能为使能RX,关闭TX; 03:通信类型,01表示APP报文,02表示网络报文,03表示APP和网络报文
RX: 02 68 01 AA AA AA AA AA
程序下载完后的28服务
TX: 03 28 00 03 00 00 00 00 // 升级完后,使能TX和RX,应用和网络报文
RX: 02 68 00 AA AA AA AA AA