汽车UDS诊断详解及Vector相关工具链使用说明——2.1.10 链接控制(0x87)

1. 概述

链接控制服务(0x87)可以用来改变网络传输速率,最为常用的应用场景是在BootLoader刷写程序时临时提高传输速率,刷写完毕后再恢复正常,以提高刷写速度。这个服务在之前车上CAN总线通信速率较低的时候有应用场景,现在应用比较少是因为车上的CAN总线速率普遍比较高了,能到500K,刷写程序也够用,所以就不需要改变通信速率了。而且运行过程中改变通信速率很容易出现错误帧。

链接控制服务只适用于集中特定的底层传输协议,例如CAN、Flexray等速率可变的通信方式。

在改变传输速率前,要先校验ECU是否支持某种控制方式(用子功能0x01/0x02),校验通过后,再发命令改变传输速率。且如果改变传输速率的命令是用功能寻址发送的,那么应该将禁止肯定响应位置为有效,以防止某些ECU的通信速率已经改变后,另外的ECU才发送肯定响应,导致总线上出现错误帧。

通信速率的改变是一种临时的状态,所以链接控制服务应在非默认会话下执行,当发生会话转换(诊断会话控制服务)或ECU复位,通信速率要恢复默认状态。

2. 子功能及请求报文格式

下图展示了链接控制服务的三个子功能参数定义:

你可能感兴趣的:(linkcontrol,UDS,汽车,诊断,通信速率)