UDS诊断34-36-37

由于项目需要实现UDS刷写功能,在网上查找资料后自己详细总结了UDS34-36-37服务的具体步UDS骤及参数说明,第一次写文章,望大家指正不足之处

一、34-36-37服务

(1)34服务:

//xxx代表连续帧中的有效字节总数(SID到有效数据最后一位的字节数,此处为11即(0 0B)16,第5字节固定是44

-------------------------------------------------------------------------------

上位机发送 1x xx 34 00 44 add add add

UDS回复   30 00 00 00 00 00 00 00

上位机发送:21 add 字节数 字节数 字节数 字节数 00 00

UDS回复:  74 20 maxdata maxdata 00 00 00 00

-------------------------------------------------------------------------------

||||上位机接收到UDS的回复后,通过第二字节的高4bit判断该截取第三个字节到哪个字节作为UDS可接受的一帧最大字节数,暂定为int maxbytes。

//例程中maxdata maxdata 固定是 00 C2 (即一个连续帧可接收的最大有效字节数为194,减去36服务首帧中的SID与BlockIndex后剩余一帧数据最大字节数为192字节)

(2)36服务:

使用连续帧发送时,UDS每一个连续帧中回复一次流控帧和一次36服务的正或负响应

1发送第一帧数据:

>>>>其中xxx为有效字节长度,该长度在例程中为194,连续帧中总有效字节数(包含SID号和BlockIndex)不可大于该长度       

>>>>若某块中数据字节数小于UDS回复的一次可发送最大字节数,则x xx为该地址对应的实际字节长度

>>>>由于34回复的maxdata为可以接收的总有效字节(其中包括SID与BlockIndex共占两个字节)因此加上SID与BlockIndex后最大的数据长度不可超过192字节

>>>>>>>>>>>>连续帧首帧中第四字节第一次发送时为01,后续每一个连续帧首帧中该字节加1,直到加到FF后,从00开始循环。

||||上位机将上面截取的maxbytes移位后添到连续帧首帧中的第一字节的低4bit与第二字节

-------------------------------------------------------------------------------

       上位机发送:1x xx 36 01 data data data data

       UDS回复  :30 00 00 00 00 00 00 00

       上位机发送:21 data data data data data data data

       ……………

       上位机发送  2x data data data data data 00 00

UDS每次回复下方数据之前会对刚刚接收到的块数据进行CRC校验,之后会回复正响应,但此处并无CRC校验失败后的处理程序

       UDS回复    02 76 BlockIndex 00 00 00 00 00

-------------------------------------------------------------------------------

2发送第二个块 :此处BlockIndex++

-------------------------------------------------------------------------------

       上位机发送:1x xx 36 02 data data data data

       UDS回复  :30 00 00 00 00 00 00 00

       上位机发送:21 data data data data data data data

       ……………

       上位机发送  2x data data data data data 00 00

       UDS回复    02 76 BlockIndex 00 00 00 00 00

-------------------------------------------------------------------------------

3发送第n个块 :设此处blockindex = n

-------------------------------------------------------------------------------

       上位机发送:1x xx 36 n&0xFF data data data data

       UDS回复  :30 00 00 00 00 00 00 00

       上位机发送:21 data data data data data data data

       ……………

       上位机发送  2x data data data data data 00 00

       UDS回复    02 76 n&0xFF 00 00 00 00 00

-------------------------------------------------------------------------------

>>>>上位机循环发完该连续地址的所有数据之后使用37服务退出

>>>>若还有其他地址块数据需要下载则再次使用34服务下载下一个连续地址的数据

待数据全部下载完成后

上位机发送 01 37 00 00 00 00 00 00

UDS回复   01 77 00 00 00 00 00 00

二、若某个数据块的字节数小于192,则流程如下:

34服务:

     >>>> x xx为0B

     >>>>例程中maxdata回复时固定是(194)10

-------------------------------------------------------------------------------

上位机发送 1x xx 34 00 44 add add add

UDS回复   30 00 00 00 00 00 00 00

上位机发送:21 add 字节数 字节数 字节数 字节数 00 00

UDS回复:  74 20 maxdata maxdata 00 00 00 00

-------------------------------------------------------------------------------

36服务:

发送数据:

       >>>>其中x xx为上位机计算的该块中字节数的总数+SID(1)+BlockIndex(1)(总数需小于等于34服务中UDS回复的maxdata)若一个连续帧发不完,发送多个连续帧将该连续地址中的数据发送完毕。

-------------------------------------------------------------------------------

       上位机发送:1x xx 36 01 data data data data

       UDS回复  :30 00 00 00 00 00 00 00

       上位机发送:21 data data data data data data data

       ……………

       上位机发送  2x data data data data data 00 00

       UDS回复    02 76 BlockIndex 00 00 00 00 00

-------------------------------------------------------------------------------

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
汽车统一诊断协议标准(Unified Diagnostic Services,简称UDS)是由国际标准化组织(ISO)制定的一种通用汽车诊断协议。该协议标准在汽车制造和维修行业得到广泛运用,为汽车诊断提供了一套规范和可靠的指导原则。 恒润科技推出的UDS培训文档是一个专门针对UDS标准制定的培训教材,旨在帮助汽车技术人员更好地理解和应用UDS协议。 UDS培训文档首先介绍了UDS协议的由来和发展历程,以及其在汽车行业中的重要性和应用价值。文档详细描述了UDS协议的架构和通信流程,包括诊断会话的建立、消息的传输和诊断过程的控制。 文档还对UDS协议中常用的诊断服务进行了逐一解析和说明,如诊断会话控制、ECU数据传输、故障诊断和清除故障码等。此外,文档还涵盖了UDS在不同车辆通信总线上的应用方法和需注意的事项。 针对UDS培训的实践应用,文档提供了大量的案例分析和示例代码,以帮助学习者更好地理解和应用UDS协议。同时,文档还附带了一套完整的UDS测试工具,使学习者能够在实际操作中进行演练和测试。 总的来说,恒润科技的UDS培训文档通过提供全面且易于理解的学习材料,帮助汽车技术人员掌握UDS协议的基本原理和应用方法,提高其在汽车诊断和维修方面的能力和水平。这对于提高汽车制造和维修行业的效率和质量具有重要意义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值