一、服务功能
通信控制服务,主要是涉及到CAN通信接收和发送相关的控制。
0x28服务就是Client向Server请求打开或关闭某类或多类报文信息的发送和接收功能,该诊断服务对诊断报文没有控制作用,此服务起作用的是应用程序报文和NM Frame。
通信控制基本原理:
①Tester发送28请求到Server,Server会将该诊断报文请求传递到DCM模块;
②DCM调用28服务对应的上层应用函数首先进行输入参数的基本校验,校验无误之后然后传递相关控制模式请求到BswM模块;
③BswM模块根据静态配置的规则来实现对应请求中的通道通信状态控制;
常见的12种通信控制模式:
报文类型 | EnableTXAndEnableRx | EnableTXAndDisableRx | DIsableTXAndDisableRx | DisableTXAndEnableRx |
应用报文 | YES | YES | YES | YES |
网络管理报文 | YES | YES | YES | YES |
应用报文+网络管理报文 | YES | YES | YES | YES |
二、应用场景:
①某些测试场景,比如只希望接受或者发送对应的APP Frame和NM Frame
②在进行程序刷写时候,为了降低总线负载,就需要将某些控制器的APP Frame 或NM Frame关闭,就是通过28服务进行控制,在此过程中一般会配合85服务一起使用。
三、服务请求:
请求格式:
★:nodeIdentificationNumber参数:当子功能=0x04或0x05,此参数才存在。
CommunicationControl Request SID:固定为0x28
SubFunction:
Communication Type:
四、服务响应:
正响应格式:
Response SID :0x68
ControlType :与请求保持一致