UDS诊断服务介绍
UDS(Unified Diagnostic Services,统一诊断服务)诊断协议诊断测试仪和ECU之间一种通信协议,在ISO14229中规定。UDS被用在几乎所有由OEM一级供应商所制造的新ECU。
诊断工具与车内的所有ECU均有连接,且这些ECU均启用了UDS服务。车载网络分为四层,物理层、数据链路层、网络层和应用层,诊断服务位于应用层。服务ID(SID)和与服务相关的参数包含在CAN数据帧的8个数据字节中,这些数据帧是从诊断工具发出的。
目前市面上的新车都具有用于车外诊断的诊断接口,可以用电脑或诊断工具连接到车辆的总线系统上。常见的OBD(On-Board Diagnostics,车载诊断系统,基于CAN总线,面向排放系统ECU)诊断接口位置在主驾方向盘下方:
UDS诊断通信机制
基于C/S架构的请求/响应机制,诊断报文为典型的事件触发型报文。
UDS诊断服务协议及相关概念
- 描述一系列诊断服务
- 定义诊断仪(Tester)与ECU之间的请求/响应规则
- ECU对请求报文的处理行为以及请求、响应报文含义
重要概念:
- 物理寻址1:1 客户端Tester与服务端ECU之间采用一对一的诊断通信方式
- 功能寻址1:N 客户端Tester与服务端ECU之间采用一对多的诊断通信方式,客户端向多个服务端ECU发送同一功能寻址的诊断请求
- 源地址:发送节点地址
- 目标地址:接收节点地址
注意:地址和报文ID相关,诊断报文ID=基地址+节点地址。以某个ECU物理寻址为例,基地址为0x700,Tester节点地址为0x01,ECU节点地址为0x08。Tester对此ECU的物理寻址请求ID为0x701,ECU响应ID为0x709。功能寻址一般为特定ID,如0x7DF
UDS服务标识符
1、服务标识符SID:service Identifier
- 类型:一个字节无符号整数
- 范围:0x00-0xFF
- ISO14229-1中定义的SID:共26个
2、诊断三要素:请求/肯定响应/否定响应(诊断服务失败或者无法完成)。服务可以诊断通信管理请求、数据请求、故障代码请求、输入/输出控制、安全访问和重新编程请求(如reflesh)等
3、服务器响应行为:响应永远是物理寻址
物理寻址:Tester ——> 1个ECU
总结
如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入我们,加入方式在文章的最后面
自动化测试相关教程推荐:
2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili
2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili
测试开发相关教程推荐
2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili
postman/jmeter/fiddler测试工具类教程推荐
讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili
2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili
2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili
总结:
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步
在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。
我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,
测试开发视频教程、学习笔记领取传送门!!