UDS服务简易教程(二)

简介: UDS服务简易教程
  • 安全访问SecurityAccess(0x27)

安全访问SecurityAccess(0x27),此服务是提供访问ECU内部数据或者出于安全因素需被限制的诊断服务的请求权限。常见的如读服务(0x22)读取非安全信息时能够直接读取,不需要利用27服务进行安全访问,而通过写服务(0x2E)写入数据时,则通常需要通过27服务进行安全访问才可以写,刷新程序也需要利用27服务通过相关的安全等级才能够对ECU进行程序下载,显然这些都是需要利用27服务进行权限管控,从而保障ECU的安全可靠。

安全访问序列如下图所示,一共4步组成,

  • 诊断仪先发送请求seed的报文(27 01)
  • ECU响应seed(67 01 xx xx xx xx)
  • 诊断仪根据返回的seed按照约定算法计算key值,并发送给ECU请求验证(27 02 xx xx xx xx)
  • ECU收到请求之后,也按照约定的算法对该key进行校验,并给出响应,若计算一致,则为正响应(67 02),否则为负响应(7F 27 NRC)

b15d6a90d1c1b5fc3e4c87f031a1669b_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg


图4-8 安全访问序列图

ECU若校验key一致,则ECU则切换安全状态至对应的解锁状态,此时在该解锁状态下能够支持的服务都应该可以工作。如果ECU已经处于解锁状态,此时诊断仪再次发送请求seed的报文,ECU应该响应seed为0的正响应。

seed请求的子服务值为奇数,对应的key请求验证的子服务值为该奇数加1,如27 01与27 02为一组安全等级,27 03与27 04为一组安全等级,27 11与27 12为一组安全等级。不同的安全等级由客户定义功能区分。

seed请求格式

5c976cebe19c8c8bc6a605fcaaff697c_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

seed正响应格式

93525afd65b8e69bf0c650de8c25e7ca_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

key请求验证格式

036f7de0accaaf4a3ad2e3d93c35012f_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

key验证正响应格式格式

f40fcfa5e63837ed15c321e4fb1d8cb4_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

负响应格式

ec2545fa97f574fa22be2cd79785a3b6_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

  • 通讯控制CommunicationControl(0x28)

通讯控制服务用于开启或关闭ECU对某些报文的发送或接收,如应用报文和网络管理报文等。

请求格式

d260e9ce9284e7f1ed433cbb0acd571c_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

a275d94d2f9048e6c43a026554308323_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

9b8b59ff7da34d79bf1b543b508bd5b7_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

正响应格式

3f47d4155f445aa0c5589cb3610bc022_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

负响应格式

19fc4df411112b76ee317e6c883e70cf_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

  • 待机在线TesterPresent(0x3E)

该服务用于诊断仪端告知ECU诊断仪依然在线。该服务通常用于保持ECU处于非默认模式,由于ECU在S3server时间收不到诊断请求的话,ECU将会退回默认会话模式(default session),所以诊断仪为了保持ECU处于非默认模式,需要周期性发送TesterPresent服务指令,周期时间需要小于S3server。

请求格式

df54e71b659cafa17ddbd5ff5994eac3_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

正响应格式

fd54f46642776d31644d176debea1551_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

负响应格式

027c634d55625ff176153a77c6160b98_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

  • 诊断故障码设置控制ControlDTCSetting(0x85)

诊断故障代码设置控制服务用于停止或重启ECU诊断故障代码的记录。

当通过该服务对故障码记录进行抑制操作后,若会话层时序参数超时从而ECU进入默认会话,或ECU执行复位操作后,诊断故障代码应该恢复记录。

当接收到诊断仪发送的清除诊断信息(0x14)服务后,ECU应重新开启诊断故障代码记录。

请求格式

73469ca4ac4a040389c523e5dcfd2f34_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

8448c9bfe3eead664270d9a29e8b0ca5_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

正响应格式

c1ad4aeb5177c112ee50b3af192202d9_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

负响应格式

e7fc1284c871b5d842d04958bf27083c_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

  • 读DID数据ReadDataByIdentifier(0x22)

根据DID(标识符)读取数据服务用于从ECU存储器中读取由DID所确定的数据记录值,其中DID为两个字节长度的数值。

ISO14229中定义该服务的请求报文允许支持1个或者多个数据标识符,一般主机厂仅支持1个DID读取。下图报文格式也以1个DID作为讲解。

请求格式

b69c5663ca8f0d2962b7c2f31bfc3f8b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

正响应格式

23950a77b5b6690e36bb99690990dbc1_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

负响应格式

17f1d5a4a971eb0e86ecb0f4c5d02ca1_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

  • 写DID数据WriteDataByIdentifier(0x2E)

根据DID写入数据服务允许诊断仪将数据写入由DID指定的内部存储单元。ECU应在数据写入成功后发送该服务的肯定响应。

请求格式

048b171df0af00ab69c949fed299ce31_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

正响应格式

3ad9b6fe2df47e174ca1833077e2cd03_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

负响应格式

89ba03edc5f62659e04647c7ba524297_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

  • 清除故障码ClearDiagnosticInformation(0x14)

正响应需在诊断信息清除请求后,ECU处理完成后发出,即使 ECU 没有存储的 DTC,也需发出正响应报文。清除 DTC 的同时,所有 DTC 相关存储信息都应被清除。

请求格式

be8a121e87e3094ac8f2a230b6f29235_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

6bcef7858d9c53cbdec0e5c46037ec9d_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

正响应格式

b244ce93c3b9a4afe5a19d3bd869be1b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

负响应格式

d6e46ba834e638c5d58879d9efafc91a_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

  • 读故障码信息ReadDTCInformation(0x19)

请求格式

d82c5416fa9dc14ba8103e93df6f5a99_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

b50173650c39b2f0cd94a32a045fd38b_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

94dd4a2931dbfcf3bbeda2ec752f1d56_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

6b21a046a7a74c86bd62e821de108e2e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

07ddc560d090cb18341201ade235fd1b_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

正响应格式

8955a880c6f766d74276a657d9d09482_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

6b99b488a141f3bfd5900dc6609e8e7d_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

93e90c27d445f84d7b1ac9c5c6090c62_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

66ad245a0718102927a6612e4979e846_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

负响应格式

f922c77952bb870c2628c620382e9752_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

  • 通过DID控制输入输出InputOutputControlByIdentifier(0x2F)

该服务是用于通过DID来直接控制ECU对应的输入输出信号。

请求格式

8aa97d88c09b84aafcb93bf57d1a6036_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

7aeca462ce94c4a7bf5ca5d4dc4b4b00_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

8a9755f011b85b2852f940e98b4b5960_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

正响应格式

37537cd46b13b4524ccfb006b10c07bd_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

负响应格式

c2235fed771e42042364af40b2cc24a0_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

  • 例程控制RoutineControl(0x31)

请求格式

e337806b2fb5a483058ba1c5d1ddc8d7_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

36e54d6f2493976b938bf31caad2aa17_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

正响应格式

7a7e2a6514be2c9ed6b35da5f4be78dd_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

负响应格式

b1151477b3e9c01c39fd91e50c98c146_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

  • 请求下载RequestDownload(0x34)

请求格式

c64e101f48742fa17a32c6cf2aec880c_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

正响应格式

80688eda87169d13f91a6462aa7ac31c_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

负响应格式

7f7f4f2ead6f55ae5a7cd2778f0d2729_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

  • 传输数据TransferData(0x36)

请求格式

348de6da7a8169e8521a43507d1390b8_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

正响应格式

1f8e92b8bfe5e290bd4d0a86b5f7818e_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

负响应格式

b432a71e5ec83ccc829a154f6a97920b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

  • 请求数据传输退出RequestTransferExit(0x37)

请求格式

5436f0b901743283deb1d9e0d393d285_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

正响应格式

72f6e56ea62170deec69b6c56ca99f89_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

负响应格式

e12a7832c509fc2fbd162585ec8b5929_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


5. 负响应码

f79c25a1675c1f8981149c6982cafa42_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg

相关文章
|
存储 安全 算法
一文理解UDS安全访问服务(0x27)
一文理解UDS安全访问服务(0x27)
一文理解UDS安全访问服务(0x27)
|
边缘计算 网络协议 网络架构
DoIP看这篇就够了,吐血整理
DoIP看这篇就够了,吐血整理
DoIP看这篇就够了,吐血整理
|
数据格式
一文读懂A2L文件和ASAP2 Studio的使用
一文读懂A2L文件和ASAP2 Studio的使用
一文读懂A2L文件和ASAP2 Studio的使用
|
自然语言处理 API 开发者
One API接入豆包
本文详细介绍如何将One API集成,以调用豆包模型。步骤涵盖火山引擎注册、实名认证、创建在线推理接入点及生成API Key,并在One API中配置相应渠道与模型映射关系。适用于希望利用豆包模型进行自然语言处理任务的开发者。关键词:火山引擎、在线推理、接入点、模型名称、API Key、字节跳动豆包、One API。如需进一步了解或遇到问题,欢迎留言交流。
2062 2
One API接入豆包
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
309 6
|
算法 安全 搜索推荐
深入理解密码学技术
深入理解密码学技术
384 1
|
存储 监控 安全
网络安全法中的 ISO 27001 和 CIA
【8月更文挑战第19天】
693 0
|
监控 物联网 数据安全/隐私保护
云上智能工厂:重塑生产模式,引领未来制造业的新纪元
更加注重数据安全与隐私保护:随着智能制造的深入发展,数据安全与隐私保护问题将日益凸显。云上智能工厂将加强数据加密、访问控制、审计追踪等安全措施的应用和实施力度,确保生产数据的安全性和隐私性。
863 0

热门文章

最新文章