上一章小编介绍了UDS在汽车电控单元中的应用,UDS在电控单元中应用非常广泛,可以说95%以上的电控单元(ECU)都或多或少的支持UDS诊断。UDS是一种国际规范,是规范,就有相应的语法。下面我们介绍一下UDS的基本语法。
首先我们介绍一些基本的概念:
一、client/server,UDS采用的是client/server的模式,基本是Client发送一个请求报文,Server根据请求报文做出回应。Client一般情况下是指测试仪(Tester),Server一般是指电控单元(ECU)。
二、寻址模式,UDS一般有两种寻找模式,一个是物理寻址(physical addressing),是一种点对点的寻址模式,一条报文对应于单独一个Server(ECU);一个是功能寻址(functional addressing),一条报文对应本网络中所有Server(ECU),也就是说本网络中所有ECU都要对这条指令做出响应。
下面来说说基本语法:
Client的请求报文的语法一般格式如下:
SID+parameter1......parameterN
SID(request service ID):一般指请求服务ID号;
parameter:是指根据不同SID的不同,后面带不同的参数;
而Server(ECU)的回复一般有两种;
肯定响应:
SID+parameter1......parameterN
SID(positive response service ID):指响应服务ID,其值为request service ID + 0x40;
parameter:是指根据不同的positive response service ID后面带不同的参数;
否定响应:
NR+ SID(request service ID) + NRC
NR: 代表这是否定响应,固定值为0x7F;
SID(request service ID):请求服务ID号;
NRC:是指否定响应码,根据不同的错误回复不同的否定响应码;
SID表
下面我们举一个例子,我们以ECU Reset(0x11)服务为例;
请求报文为0x11 0x01,其中SID为0x11,parameter1(子功能)为0x01,无其他parameter;
肯定响应报文为0x51 01,其中SID为0x51(0x11+ 0x40), parameter1(子功能)为0x01,无其他parameter;
否定响应为0x7F 0x11 0x33,其中NR为0x7F,SID为0x11,NRC(否定响应码)为0x33;
以上是最通用的语法规范;具体到每个服务还要具体细分,小编会在以后的文章中详细更新。希望大家喜欢,谢谢关注。
领取专属 10元无门槛券
私享最新 技术干货