UDS诊断服务功能提供了多种ECU控制,以确保特定的服务在正确的诊断会话下执行。DiagnosticSessionControl (0x10)服务是关键,用于切换ECU到指定模式,如默认模式(10 01)、编程模式(10 02)或扩展诊断模式(10 03)。请求成功时,ECU会回复肯定响应,如50 03,而失败则用7F NRC代码标识,NRC表明了失败原因。
一般的诊断仪启动之后,会给ECU发送10 03,即让ECU进入 extendedDiagnosticSession中,在这个session中可执行的诊断服务就很多了。而如果要让ECU保持在non-defaultSession中,则需要诊断仪每隔固定的时间发送0x3E服务,ECU才会知道诊断仪有和自己通信的需求,从而保持在non-defaultSession中。另一个常用的session是ProgrammingSess...
UDS(ISO14229)统一诊断服务。其最重要的作用就是用来诊断汽车的故障的。车上的ECU很多,如果每个厂商自己定义规范,处理故障会很麻烦,所以统一定义了一整套UDS相关规范,方便维护,4S店用诊断仪就可以判断车上的故障,写数据。 10服务:诊断会话控制 01:默认会话胎压要写ID,首先要进入此模式 02:编程会话 03:扩展会话用...
一般的诊断仪启动之后,会给ECU发送10 03,即让ECU进入 extendedDiagnosticSession中,在这个session中可执行的诊断服务就很多了。而如果要让ECU保持在non-defaultSession中,则需要诊断仪每隔固定的时间发送0x3E服务,ECU才会知道诊断仪有和自己通信的需求,从而保持在non-defaultSession中。另一个常用的session是ProgrammingSess...
图6 诊断服务通讯机制,引自[2] 比如诊断仪请求10 03,然后ECU回复50 03 00 32 01 F4。 ISO14229协议定义通讯过程如下图7所示,与CAN通讯类似,也是涉及请求,响应,确认,通知等个过程。 图7 诊断服务通讯机制,引自[1] 而针对请求和响应存在数据超过8个字节的情况,所以就提出ISO15765协议。该协议属于网络层协议,...
UDS诊断服务实现人或设备与ECU交流,寻址方式有两种:功能寻址(广播诊断请求)和物理寻址(指定ECU通信)。10会话控制 DiagnosticSessionControl服务启用不同诊断会话模式,通过会话模式赋予服务执行权限。请求格式 响应格式 支持的NRC 3E会话保持 3E服务保持会话模式,防止因时间超时自动切换。请求格式 响应格式 ...
诊断会话控制服务采用请求格式是SID+SF(sub-function,子功能)。其中SF的定义如下:请求默认会话模式,则客户端发送10 01;请求编程会话模式,则发送10 02;请求扩展会话模式,则发送10 03;这里只介绍最常用的三种子功能。当客户端发送诊断服务请求,服务端收到就需要响应,其正响应格式如下,即请求10 ...
$10的请求格式为SID+SF,客户端通过发送不同子功能号(如10 01、10 02或10 03)来请求特定会话模式。S3定时器在非默认会话中起关键作用,服务器和客户端的定时参数确保了会话模式的稳定切换。如果在非默认会话中没有连续的诊断请求,ECU会在一定时间内切换回默认会话。安全访问服务$27则在非默认会话...
03同上,7F表示否定响应,10是SID,22是NRC。3E服务用于向服务器指示诊断仪仍然连接在网络上,之前已经激活的诊断服务功能可以仍然保持激活状态。例子:27服务,加上一个子服务,再加上一个钥匙,这样的服务请求可以进行解锁。比如下面的例子,2n-1是某个子服务,通过首轮种子的请求,首轮ECU会返回67+01+...
其实就是为了管理各个服务,让各个服务在一个池子里面,只有进入这个池子,你才有权限去访问各个服务。 数据应答规则举例大致说明一下: 请求:CANID 02 10 03 (02对应数据长度,10表示10服务,03表示10服务的子服务,该请求的目的就是切换到扩展模式,其他模式切换类似) 答复:CANID 06 50 03 xx xx xx xx (06对应...