UDS在应用层的需求

基本概念

Boot manager: 作用是检查应用程序是否有效
Boot software: 在服务器特定内存里面执行,负责boot ECU以及刷写。

应用层服务

UDS在应用层的需求

提供的应用层服务

UDS在应用层的需求

应用层协议

包括协议数据单元的组成,负响应的组成 略。

Response行为的定义

一般情况的响应

UDS在应用层的需求

带子功能参数的响应

UDS在应用层的需求

物理寻址带子功能参数的响应

UDS在应用层的需求

功能寻址带子功能参数的响应

UDS在应用层的需求

物理寻址&功能寻址不带子功能参数的响应

UDS在应用层的需求
UDS在应用层的需求

物理寻址&功能寻址并行请求消息

一般一个服务器端只有一套有效的诊断协议实例在运行,所以同时只能处理一个请求,无论是功能寻址还是物理寻址。当一条请求正在占用时,另外一条只有等到当前执行完发了response之后,才能被处理。
有两种情况需要被单独处理:

3E用来保持session,是可以绕过的,不影响其他请求。
如果服务器端是支持Legislated diagnostic请求的,当非Legislated diagnostic**时,收到一条Legislated diagnostic请求时,**的非Legislated diagnostic丢弃,切到default session,开始处理Legislated Diagnostic。如果在programming session下是例外的。

#刷写需求
出现下面几种情况,要能重新刷写,不至于boot不了
a) 突然掉电
b) 不接地了
c) 数据通信遭到破坏
d) 过压欠压
UDS在应用层的需求

诊断中的一些概念

Operation Cycle:可能是上下电,可能是点火到熄火,由厂商定义

Pending status:在当前operation cycle或者上一个完整的operation cycle报错了,置1,只要当前operation cycle又不报错了,清0.

Confirmed:报错了但是没有达到confirm threshold(比如要求要在连续n个Operation Cycle)里面报错,那就是pending,要是连续超过n次才会confirmed。

Aging test:
UDS在应用层的需求
pendingDTC清零,AgingCounter+1,直到Aging Threshold次数,ConfirmedDTC清零。