UDS 14229-1标准中34、36、37服务标准的讲解。

目录

前言

1. 34服务(RequestDownload)

功能描述:

请求格式:

正响应格式:

负响应格式:

Trace示例:

2. 36服务(TransferData)

功能描述:

请求格式:

正响应格式:

负响应格式:

Trace示例:

3. 37服务(RequestTransferExit)

功能描述:

请求格式:

正响应格式:

负响应格式:

Trace示例:

总结


前言

UDS(Unified Diagnostic Services)是一种基于ISO 14229标准的用于汽车诊断和通信的协议,它定义了一系列的服务和消息格式,使得不同厂家的诊断工具可以与汽车的ECU(电子控制单元)进行通信。在UDS协议中,刷写服务是其中的重要部分,它涉及到程序的下载和更新。下面将针对UDS 14229-1标准中的34、36、37服务标准讲解。

1. 34服务(RequestDownload)

功能描述

34服务是请求下载服务,客户端(如诊断仪或刷写工具)利用此服务启动与服务器(ECU)之间的数据传输(下载)。主要用于向ECU请求下载数据,如软件更新包。

请求格式

  • SID:0x34
  • 数据格式标识符(dataFormatIdentifier):1字节,高4位表示压缩方法,低4位表示加密方法。
  • 地址和长度格式标识符(addressAndLengthFormatIdentifier):1字节,高4位表示memorySize参数占用的字节数,低4位表示memoryAddress参数占用的字节数。
  • memoryAddress:请求刷写的首地址,占用的字节数由addressAndLengthFormatIdentifier的低4位决定。
  • memorySize:请求刷写的字节长度,占用的字节数由addressAndLengthFormatIdentifier的高4位决定。

正响应格式

  • SID + 0x40:表示肯定响应。
  • lengthFormatIdentifier:1字节,高4位表示maxNumberOfBlockLength参数占用的字节数,低4位默认0。
  • maxNumberOfBlockLength:目标ECU允许传输的最大字节数。

负响应格式

  • 0x7F + SID + NRC:表示否定响应,NRC为错误响应码,指示具体错误原因。

Trace示例

复制代码

请求:34 00 44 52 80 90 00 00 00 16 00
响应:74 20 02 FF

2. 36服务(TransferData)

功能描述

36服务是传输数据服务,用于在客户端和服务器之间实际传输数据。在刷写过程中,它负责下载数据的传输与接收,并可能包括校验过程。

请求格式

  • SID:0x36
  • blockSequenceCounter:数据传输计数器,从1开始,循环至0xFF后再从0开始。
  • transferRequestParameterRecord:传输的数据,长度通常为maxNumberOfBlockLength - 2。

正响应格式

  • SID:0x36
  • blockSequenceCounter:与请求中的相同。
  • (无transferRequestParameterRecord参数,因为36服务是响应数据传输请求的)

负响应格式

  • 0x7F + SID + NRC:表示否定响应,NRC为错误响应码。

Trace示例

复制代码

请求:36 01 XX XX ...
响应:36 01

3. 37服务(RequestTransferExit)

功能描述

37服务是请求退出传输服务,用于终止并退出数据传输过程。在刷写完成后,客户端会发送此服务请求以结束数据传输会话。

请求格式

  • SID:0x37

正响应格式

  • 通常没有特定的正响应格式,因为服务的主要目的是通知ECU停止数据传输。

负响应格式

  • 0x7F + SID + NRC:表示否定响应,但在正常情况下,此服务不应引发否定响应。

Trace示例

复制代码

请求:37
(无特定响应,因为服务目的是终止会话)

总结

UDS 14229-1标准中的刷写34、36、37服务共同构成了ECU刷写的完整流程。34服务用于请求下载,协商关键参数;36服务用于实际传输数据;37服务用于终止数据传输会话。这三个服务相互配合,实现了ECU程序的更新和升级。在实际应用中,还需要根据具体的ECU和刷写工具来配置相应的参数和处理流程。

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值