UDS
统一诊断服务 (Unified Diagnostic Services )ISO14229
统一:车载网络的统一
诊断:医生通过询问、观察病人,或者通过仪器检测,利用数据对病症做出判断
服务:
一、概念
UDS诊断协议是一种 通用的诊断服务标准 ,是用于汽车行业诊断通信的需求规范 用于汽车电子控制单元(ECU)的诊断和调试。UDS是ISO 14229 标准定义的一种通信协议,可以在CAN、LIN等多种总线上进行通信。
UDS协议定义了一套标准的诊断服务,包括会话控制、诊断请求、诊断响应和ECU编程等功能。通过UDS协议,诊断工具可以向ECU发送特定的请求,获取ECU的状态信息和故障码,诊断和解决故障问题。
由ISO-14229系列标准定义。应用于OSI七层模型的应用层(第7层),它只规定了与诊断相关的服务需求,并未涉及通信机制,所以,它可以在不同的汽车总线(例如CAN, LIN, Flexray, Ethernet 和 K-line)上实现。
在使用ISO-14229时 诊断通信过程其实很简单,诊断仪发送诊断请求(request),ECU给出诊断响应(response),而UDS就是为不同诊断功能request和response定义统一的内容和格式。
OSI 七层模型
请求响应
请求 Request
诊断数据单元一般包含地址信息和应用数据、应用数据长度,其中应用数据会包含服务ID、子功能参数(如果有)和应用数据参数:
1.地址信息:地址信息一般包含报文类型、目标地址、源地址、地址类型等信息,其中大家重点需要关注的是目标地址、源地址和地址类型。目标地址指的是诊断报文接收方的地址,源地址是诊断报文发送方的地址,地址类型指的是报文是物理寻址还是功能寻址。对于CAN报文来说,这个地址信息就是映射到CAN ID上的,以太网的报文格式里也有地址信息的位置,这是每条报文所必须包含的内容,映射关系都有固定的格式,这个后面专门会讲。
2.服务ID:服务ID是用来标识诊断里每个服务的唯一ID,请求和响应里的服务ID是不同的,分为服务请求的ID、服务肯定响应的ID以及服务否定响应的ID。
参考:https://blog.csdn.net/kalake/article/details/125795150
响应 Response
服务
UDS的服务包含了6大类,共26种,每种服务都有自己独立的ID,即SID(Service Identifier)。常用服务有10、11、27、28、3E、85、19、14、22、23、2C、2E、3D、2F、31、34、35、36、37、38。
大类 | SID(0x) | 诊断服务名 | 服务 |
诊断和通信控制功能组 | 10 | 诊断会话控制 | Diagnostic Session Control |
11 | 电控单元复位 | ECU reset | |
27 | 安全访问 | Security Access | |
28 | 通信控制 | Communication Control | |
3E | 握手服务 | Tester Present | |
83 | 访问时间参数 | Access Timing Parameter | |
84 | 诊断故障码设置控制 | Secured Data Transmission | |
85 | DTC设置控制 | Control DTC Setting | |
86 | 事件响应 | Response On Event | |
87 | 链路控制 | Link Control | |
故障码传输功能组 | 19 | 读取故障码信息 | Read DTC Information |
14 | 清除故障码信息 | Clear Diagnositic Information | |
数据传输功能组 | 22 | 根据标识符读取数据 | Read Data By Identifier |
23 | 根据地址读取内存 | Read Memory By Address | |
24 | 根据标识符读比例数据 | Read Scaling Data By Identifier | |
2C | 动态定义标识符 | Dynamically Define Data Identifier | |
2E | 根据标识符写入数据 | Write Data By Identifier | |
3D | 根据地址写入内存 | Write Memory By Address | |
输入输出控制 | 2F | 通过标识符控制输入输出 | Input Output Control By Identifier |
例程控制 | 31 | 例程控制 | Routine Control |
上传和下载 | 34 | 请求下载数据 | Request Download |
35 | 请求上传数据 | Request Upload | |
36 | 数据传输 | Transfer Data | |
37 | 请求退出传输 | Request Transfer Exit | |
38 | 请求文件传输请求 | Request File Transfer |