AUTOSAR--UDS诊断报文
这里写目录标题
- 一、UDS介绍
- 1.1 UDS数据交互简介
- 1.2 UDS的7种常用服务
- 二、UDS 26种服务
- 2.1 $10诊断会话控制
- 2.1.2 上电后的情况
- 2.1.3 四种报文类型
- 2.2 $3E待机握手
- 2.3 $27安全访问
前言:重点学习ISO 15765-2和ISO 14229-1的协议内容,之后可以将Git上的开源UDS协议栈移植到你熟悉的嵌入式平台上,进行数据收发;或使用CAN盒与支持UDS诊断的设备进行数据收发,对UDS有一个大致的认识。
一、UDS介绍
UDS(Unified Diagnostic Services,统一的诊断服务)诊断协议是ISO 15765 和ISO 14229 定义的一种汽车通用诊断协议。可在不同的汽车总线(例如CAN, LIN, Flexray, Ethernet 和 K-line)上实现。UDS协议的应用层定义是ISO 14229-1
1.1 UDS数据交互简介
- UDS诊断有6大类(26种),每种都有独立的诊断SID。
- 肯定响应:回复[SID+0x40],如请求10,响应50;请求22,响应62(SID在首字节)
- 否定响应:回复7F+SID+NRC(前3字节)
1.2 UDS的7种常用服务
- $10 Diagnostic Session Control(诊断会话),
- $14 Clear Diagnostic Information(清除诊断信息),
- $19 Read DTC Information,
- $22 Read Data By Identifier(通过ID读数据),
- $27 Security Access(安全访问),
- $2E Write Data By Identifier(通过ID写数据),
- $3E Tester Present(待机握手)。
(小于0x10的服务是OBD协议中)
二、UDS 26种服务
2.1 $10诊断会话控制
因为权限问题将$10诊断分了三个模式
1)Default默认会话
默认会话权限最小,可操作的服务少2) Extended扩展会话
扩展模式通常用于解锁高权限诊断服务,例如写入数据/参数、读写诊断码3) Programming编程会话
编程模式用于解锁bootloader相关的诊断服务,即程序烧录。(不具备扩展模式的某些权限)
2.1.2 上电后的情况
ECU上电时,进入的是默认会话(Default)
如果您进入了一个非默认会话的状态,一个定时器会运转,如果一段时间内没有请求,那么到时间后,诊断退回到默认会话01(最低权限)。当然,我们有一个$3E的服务,可以使诊断保持在非默认的状态
2.1.3 四种报文类型
请求命令有4种构成方式:(和下面的不同,没看明白)
- SID,
- SID+SF(Sub-function),
- SID+DID(Data Identifier)(读写用),
- SID+SF+DID
NRC:Negative Response Code(否定响应码)。如果ECU拒绝了一个请求,它会回应一个NRC。不同的NRC有不同的含义。
实例:以CAN总线网络举例
- 八个数据字节,第一字节被网络层占用。
请求(Request):
02 10 02 xx xx xx xx xx
02中的0代表网络层单帧SF,2代表 数据域有2个字节;10是SID,02是子功能。
肯定响应:
02 50 02 xx xx xx xx xx
02同上,10+40表示对SID的肯定回复,02是子功能。
否定响应:
03 7F 10 22 xx xx xx xx;
03同上,7F表示否定响应,10是SID,22是NRC。
2.2 $3E待机握手
实例:
02 3E 80 00 00 00 00 00,
发送一个3E服务的报文,保持非默认会话状态。80表示无需回复。
2.3 $27安全访问
未完待续
AUTOSAR--UDS诊断报文相关推荐
- uds帧格式_如何看懂UDS诊断报文
UDS介绍 UDS(Unified Diagnostic Services,统一的诊断服务)诊断协议是ISO 15765 和ISO 14229 定义的一种汽车通用诊断协议,位于OSI模型中的应用层,它 ...
- X-Analyser 总线分析软件:CANopen、1939解析、UDS诊断、NMEA2000 协议解析、DBC文件解析、仿真工具、CAN报文分析、仿CANoe曲线显示 CAN仪表模拟器
X-Analyser 总线分析软件主要用于:CANopen协议解析.J1939解析 J1939地址ISO15765(UDS诊断) .NMEA2000 协议解析.DBC文件解析 DBC仿真工具.CANo ...
- UDS诊断全方位解析,AutoSAR技术精要揭秘
UDS诊断全方位解析,AutoSAR技术精要揭秘 近期整理了一份关于UDS诊断的详尽资料,以及对AutoSAR技术进行了深入探究.本文将为您呈现这份2000字的综合文章,其中也包含相关的源代码示例,希 ...
- UDS诊断系列介绍08-19服务
本文框架 1. 系列介绍 1.1 19服务概述 1.2 DTC故障码定义 1.3 DTC状态位 2. 19服务常用子服务 2.1 19 01服务 2.2 19 02服务 2.3 19 04服务 2.4 ...
- UDS诊断看这篇就够了,吐血整理
传送门 ==>> AutoSAR入门和实战系列总目录 1 简介与概述 不同诊断通信协议的开发,调整,实施和维护会给车辆制造商,系统供应商和ECU供应商带来不必要的成本.为了解决此问题,将不 ...
- 五、AUTOSAR架构诊断功能
AUTOSAR架构诊断功能类似于VxWorks653的HM和OMS功能. AUTOSAR的诊断功能包括两部分: ①在线诊断模式(Onboard Diagnostic System), 易于被用户感知的 ...
- 【车载开发系列】UDS诊断---读取DTC信息($0x19)
[车载开发系列]UDS诊断-读取DTC信息($0x19) UDS诊断---读取DTC信息($0x19) [车载开发系列]UDS诊断---读取DTC信息($0x19) 一.概念定义 1)DTC概念 2) ...
- UDS诊断服务—物理寻址,功能寻址区别
如果我们说UDS诊断服务是实现人或设备与ECU控制器交流的一种语言,那么诊断服务的响应规则就如同是语法,而SID(Service ID)定义就如同词汇.因此了解响应规则和SID的意义就基本能了解与EC ...
- 车载网络测试 - UDS诊断篇 - 诊断RID/IOID($2F/$31)
UDS诊断在之前的文章中已经介绍了诊断报文在各个服务中的格式,以及故障码和DID的一些介绍,为了完整性,今天这篇继续进行补充,来介绍下RID和IOID(即Routine Control和IO cont ...
- UDS诊断服务的会话层和寻址方式
文章目录 1 诊断服务的会话层和寻址方式 传送门 ==>> AutoSAR实战系列300讲「糖果Autosar」总目录 1 诊断服务的会话层和寻址方式 根据14229 uds诊断协议的要求 ...
最新文章
- 世界-中国-省-市-县 天气预报
- PHP的var_dump(‘1‘==‘1e0‘)的结果为true
- 基于Emgu CV+百度人脸识别,实现视频动态 人脸抓取与识别
- 对属性可以赋值的位置
- 硬核!这所大学包下高铁,接滞留湖北的学生返校!
- 不良事件总结怎么写_护理不良事件总结分析.doc
- 深度学习2.0-1.tensorflow的基础操作之数据类型
- [No0000CE]检测非空格字符作为密码的密码强度
- python圣诞树代码_用Python画一棵带音乐的雪夜圣诞树
- 人工智能白皮书(2022年) 附下载
- java lambda函数_Java中的Lambda函数
- Pigsty:开箱即用的数据库发行版
- python微信刷票脚本在哪_微信刷票Python脚本教程
- 驱动开发:实现字符设备
- Python数据分析学习总结——替代Matlab
- c语言中文拼音排序,为sqlite增加汉字拼音排序功能
- 矩阵与矩阵转置的加法
- WordPress BuddyPress 越权RCE漏洞复现(CVE-2021-21389)
- 资讯汇总230207
- 初识马尔科夫模型(Markov Model)