记:从零开始讲解UDS(四)——应用层概述(3)功能码1系列

时间:2024-04-06 17:13:47

0x00 概述

UDS(University Diagnostics System通用诊断系统)是一个在整车系统上经常使用的设备维护协议。其主要遵循的法规为:ISO-15765、ISO-14229,其主要协议模式脱胎于OBD(On-board diagnostics)诊断协议。经常应用在整车的各种ECU上面。是一个在整车ECU应用层开发经常使用的也是较为复杂的协议层之一。
本篇文章主要介绍了UDS的1开头的各个主功能码,主要有4个。阅读本文之前,您需要了解的一些前置技能有:

技能名称 技能熟练度 技能教程链接
CAN总线 熟悉 暂无
数据类型 熟悉 暂无
OBD 了解 暂无
整车缩写 了解 暂无

0x01 10服务——模式切换

0x11 介绍

这个服务主要是处理当前的ECU模式。传输的数据为当前的模式。

0x01这个是默认的初始模式。

0x02这个是特别的高等级特权模式,仅在更新软件、更新某些特定数据(SN、产线编号等)

0x03这个是扩展模式,与普通模式是不同的是,扩展模式支持绝大多数的功能,几乎所有的服务指令都可以在这个模式下运行。

0x04这个是安全设备模式。 与特权模式有着差不多的功能,安全设备模式主要是对安全相关的设备的操作。故现在不做过多介绍。

0x21 正确流程

有必要说的是,模式的切换是有较大的限制。主要的限制是:

只能从扩展模式下切换到特权模式,特权模式可以切换到普通模式,但是不可以切换到扩展模式。

记:从零开始讲解UDS(四)——应用层概述(3)功能码1系列

简称就是进入特权模式下,就只能返回普通模式了。

发送的数据为模式位与时间数据,时间为当前的P2P_2时间。

0x31 异常返回

0x12:子服务未支持。一般是发送了错误的数据

0x13:错误的长度或者是格式,一般是链路层组合不符合信息

0x22:这个主要是如果诊断仪切换的流程没有按照正常流程,就会报出这个错误。

0x02 11服务——重启服务设置

0x11 介绍

这个就没什么说的。仅作重启使用,发送此命令后,ECU的模式会默认恢复到初始模式,所有的特殊标志位都会被置为默认。

0x01硬件直接重启,这个将会重置全部状态。

0x02这个是模仿OnOff点火的重启设置,某些车厂在仅点火时会有特别的设置。所以具体的要看车厂的要求。

0x03软件直接重启,模式重置到初始模式,安全等级回归低等级。但是某些特定的限制不会被重置。

0x04打开快速关机流程,这个会导致当前ECU关机时就会启用休眠模式。不会真正关机

0x05关闭快速关机流程。

0x21 正确流程

正确都会返回正反馈。模式重置到初始模式,安全等级回归低等级。

发送的数据为当前的子服务与重启的定时时间。

0x31 异常返回

0x12:子服务未支持。一般是发送了错误的数据

0x13:错误的长度或者是格式,一般是链路层组合不符合信息

0x22:这个主要是如果在关闭快速关机再发可能会报错。

0x33安全要求必须要完成安全解锁。否则就会报错。(一般是写入快速关机状态)

0x03 14服务——清除DTC

0x11 介绍

清除诊断信息,这个是UDS中最主要的功能之一。根据需要可以清除当前的DTC信息。DTC有状态、快照、数据。

0x21 正确流程

正确都会返回正反馈。一般都必须要再获取安全权限(0x27服务)。

发送的数据为需要清除的DTC的编号,一般编号为6位且严格按照功能进行分类。

0x31 异常返回

0x13:错误的长度或者是格式,一般是链路层组合不符合信息

0x22:这个主要是如果在没有安全权限是发可能会报错

0x31:这个故障是因为错误的DTC编号导致错误。

0x72:这个是在清除数据是因为某些原因导致擦写错误。

0x04 19服务——读取DTC信息

0x11 介绍

这个主服务仅是读取DTC的大致编号、DTC状态等粗略信息。此服务的反馈信息几乎是UDS中最为复杂的,这个会在之后的服务详细中叙述。

0x21 正确流程

正确都会返回正反馈。有些数据必须要再获取安全权限(0x27服务)。

发送的数据为子服务码与DTC编号。

0x31 异常返回

0x12:子服务未支持。一般是发送了错误的数据

0x13:错误的长度或者是格式,一般是链路层组合不符合信息

0x31这个故障一般都在数据超出限制大小、请求了未记录的DTC编号的数据。

0x05 总结

本文进粗略的介绍了1开头的主服务项,简单的介绍了流程,下面我还会介绍其他的主服务项。

更多

本文首发自 记:从零开始讲解UDS(四)——应用层概述(3)功能码1系列-我的博客,更多文章可进入我的博客详查。