UDS详解——34、36、37服务

本文详细介绍了UDS协议中的34(request download)、36(Transfer data)和37(Request Transfer Exit)服务在ECU编程过程中的作用和交互。34服务启动下载传输,36服务实际传输数据,37服务结束传输。在刷写过程中,包括pre-programming、programming和post-programming三个阶段,涉及各种UDS服务的使用,确保软件更新的正确性和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)34服务:request download

34服务用于启动下载传输,作用是告知ECU准备接收数据,ECU通过0x74

肯定响应告诉诊断仪是否允许传输,以及自己接收的能力有多大。

34服务的请求格式为:SID+dataFormatIdentifier(1byte)+addressAnd

LengthFormatIdentifier(1byte)+memoryAddress(mbyte)+memorySize(1byte)

第一部分:SID=34

第二部分:dataFormatIdentifier,这里面标识了数据格式相关的信息,比如数据是否有压缩,是否有加密,用的什么算法加密等,由主机厂与供应商约定好,用哪个bit来表示压缩、加密等信息。

### 关于UDS 34服务的详细介绍 #### 1. UDS 34服务概述 UDS(Unified Diagnostic Services)中的`34`服务被称为“请求下载”。该服务主要用于通知ECU即将接收的数据传输操作,通常是在数据写入或重新编程之前的一个必要步骤。此服务允许测试设备告知被测单元(ECU)准备接受即将到来的大批量数据流[^4]。 #### 2. 主要功能描述 `Request Download (34)`的主要目的是配置目标地址以及设置后续数据传输所需的参数。这些参数可能包括但不限于最大数据长度、内存起始位置以及其他特定条件下的约束信息。一旦成功执行了`34`服务,它会返回一个肯定响应给客户端,表明已准备好进入下一步骤——即实际的数据传输阶段[^5]。 ```python def request_download(address, length): """ Simulates the Request Download service of UDS protocol. Parameters: address (int): The starting memory address where data will be written. length (int): Total size in bytes that needs to be downloaded. Returns: str: Positive response indicating readiness for download process. """ positive_response = f"PositiveResponse: ReadyToDownloadAtAddress:{address}, Length:{length}" return positive_response # Example usage print(request_download(0x7E00, 1024)) ``` 上述代码片段模拟了一个简单的`request_download`函数行为,展示了如何指定存储器地址和预期的数据量作为输入参数,并生成相应的正面反馈消息[^6]。 #### 3. 配置细节说明 为了正确实施`34`服务,需考虑以下几个方面: - **Memory Address**: 定义数据应存放在哪个具体的物理或者逻辑空间内; - **Data Size Limitation**: 明确整个事务过程中涉及的最大字节数目限制; - **Additional Options**: 可能存在额外选项用来调整性能表现或是满足特殊需求的情况。 所有这些要素都需要依据具体应用场景加以设定并验证其合理性可行性[^7]。 #### 4. 实际应用案例分析 当汽车制造商希望更新车辆内部某个模块固件版本时,他们可能会先利用`34`服务向对应控制器发出指令,使其切换至可接受外部文件上传的状态;接着再通过其他相关联的服务完成真正的二进制资料传送工作直至最终确认安装完毕为止[^8]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

manjixingkong1234

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值