UDS诊断服务第四篇,介绍诊断服务的最后两单元:上传下载单元和Routine单元。其中上传下载单元包含图1所示的诊断服务,用于传输较大的数据,通常用于刷写程序。Routine单元仅包含31服务,通常用于实现用户的自定义功能,比如CRC校验。
上传下载单元
该单元包含0x34、0x35、0x36、0x37、0x38五个诊断服务,分别从上至下对应图1中的解释,下面主要介绍前四个诊断服务,以及之间的相互关联。
RequestDownload 服务(0x34)
该服务用于请求服务端启动下载数据,客户端请求数据的格式如图2所示,其中:
Byte1:为服务号0x34;
Byte2:为DataFormatIdentifier,其中高四位用于表示compressionMethod,表示数据压缩的方法,第四位表示encrypting Method数据加密的方法,两者都为0x00时表示不使用数据加密和数据压缩,如果不为0x00,是需要厂商自定义;
Byte3:用于表示地址和数据长度占的字节数。低四位表示地址占的字节数,高四位表示数据长度占的字节数;
N:用于表示起始地址,N的大小由Byte2的低四位决定;
M:用于表示数据长度,M的大小由Byte2的高四位决定;