本章节我们来介绍数据传输功能单元,包含以下服务:
这个功能单元的服务都是用来在客户端和服务器之间传输数据的,如从ECU中读取车速值,或向ECU写入一些配置参数,如最大扭矩限制等。
我们最常用的就是22服务读取数据和2E服务写入数据,这两个服务都是不带子功能的,所以都不能禁止肯定响应。当然22服务本身就是要读取数据的,禁止肯定响应也没有意义。
22服务和2E服务都会用到一个参数,叫做数据标识符(Data Identifier),记为DID。DID是2字节的无符号数,它是一条数据的代号,我们可以通过这个代号来读取这条数据或向其写入数值。标准中对DID的范围做了划分,并对一些通用的DID给出了推荐值,在14229附录C中给出,22/2E/2F服务的DID、以及19服务04子功能读取DTC快照中的DID都遵循这个要求。
DID总体上可以分为以下几类:
① ECU软硬件版本信息:这类信息通常是固化在ECU的Flash中的,只可读不可写