UDS诊断系列之八 通信控制(28)服务

通信控制服务的主要功能是控制非诊断数据通信的收发,从而创造特定的场景。例如当通过UDS协议下载程序时,可使用此服务停止其他非诊断报文停发,从而将带宽都留给下载通信,加快下载速度。

一、响应规则

除正常的响应规则外,当服务端(ECU)已经处在被请求的状态,如已经停止了应用报文,此时又被请求停止应用报文,服务端应当给予肯定响应。

二、应用数据格式

1.请求报文

通信控制服务的请求比前面介绍的几个稍微复杂一些,但平时使用的都只是强制的参数。第一个和第二个就是我们熟悉的服务和子功能参数,第三个是控制类型,用来指明要控制接收还是发送,后面两个参数只有在使用子功能04和05的时候才会使用。
UDS诊断系列之八 通信控制(28)服务_第1张图片

2.响应报文

响应报文特别简单,只包含响应的服务ID和子功能字节,没有多余的参数。
UDS诊断系列之八 通信控制(28)服务_第2张图片

3.子功能

子功能比较多,这里列一个列表,前四个的含义比较明显,就是字面意思,注意这里的使能和禁止都是针对的非诊断报文。4和5这两个子功能比较特殊,用来控制指定的子网,在请求报文里,可以注意到后面有两个字节是在使用这两个子功能的时候才有的,也就是说这两个地址是用来表示子网网段的标识。4和5可使用的场景目前来看只有LIN网络,但暂时还未遇到有使用这两个子功能的情况。

子功能 描述
0 enableRxAndTx 使能接收和发送
1 enableRxAndDisableTx 使能接收但禁止发送
2 disableRxAndEnableTx 禁止接收但使能发送
3 disableRxAndTx 禁止接收和发送
4 enableRxAndDisableTxWithEnhancedAddressInformation
将增强地址信息表示的子网切换到诊断调度表,例如常见的LIN
5 enableRxAndTxWithEnhancedAddressInformation
恢复增强地址信息表示的子网为正常调度表

4.通信类型

通信类型参数用来指示控制指令要控制的报文类别,如应用报文、网络管理报文,具体定义可以参照下表。该参数是基于位编码的,bit0=normalCommunicatonMessages,bit1=networkManagementCommunicationMessages,所以当bit0=1时,也就是下表的“0to1”是1的时候,是通信报文,而当bit1=1时则是网络管理报文,两位都是1的时候也就是3表示这两类报文都受控制。除了低位,高位表示了具体的被控制的子网是哪个,但目前暂时还没有实际应用的案例。
UDS诊断系列之八 通信控制(28)服务_第3张图片

UDS诊断系列文章

你可能感兴趣的:(UDS诊断,网络,网络协议,汽车)