没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
26页
UDS由ISO-14229系列标准定义,ISO 14229-1 定义了诊断服务,不涉及网络及实现,只有应用层的内容。而ISO 14229-3则定义了UDS在CAN总线上的实现。 诊断通信的过程从用户角度来看非常容易理解,诊断仪发送诊断请求(request),ECU给出诊断响应(response),而UDS就是为不同的诊断功能的request和response定义了统一的内容和格式。
资源推荐
资源详情
资源评论
统一诊断服务 (Unied diagnostic services
, UDS) (一)
由 系列标准定义,定义了诊断服务,不涉及网
络及实现,只有应用层的内容。而 则定义了 在 总线
上的实现。
诊断通信的过程从用户角度来看非常容易理解,诊断仪发送诊断请求
, 给出诊断响应(),而 就是为不同的诊断功
能的 和 定义了统一的内容和格式。
最近关于 的一系列专栏文章只关注应用层的诊断服务,忽略下层的通信机
制。
Diagnostic request 的格式:
的格式可以分为两类:一类是拥有 ! 的,另
一类是没有 ! 的,如下面两张图所示。"以下简称
的长度固定为 个字节,代表了这条诊断命令执行的什么功能。 !
的长度也是 个字节,它通常表示对这个诊断服务的具体操作,比如是启动、
停止还是查询这个诊断服务。而后面的 # 则根据各个诊断服务的不
同具有不同的内容,长度和格式并没有统一规格,它用于限定诊断服务执行的
条件,比如某个诊断服务执行的时间等。# 的一个重要应用是作为标
识符,标识诊断请求要读出的数据内容,我会在后续的文章里详细讲述各个诊
断服务的应用。
拥有 ! 的诊断请求
无 ! 的诊断请求
有一点要补充的是,其实 ! 严格来说是 $ 个 ,而不是 个
%,因为它的最高位 被用于抑制正响应("
&'(),如果这个 被置 ,则 不会给出正响应("
); 如果这个 被置 ),则 会给出正响应。这样做的目的是
可以告诉 不要发不必要的 ,从而节约通信资源。
Diagnostic response 的格式:
分为 " 和 " 两类。"
意味着诊断仪发过来的诊断请求被执行了,而 " 则意味着
因为某种原因无法执行诊断仪发过来的诊断请求,而无法执行的原因则存
在于 " 的报文中。
"
" 的格式如上图所示,也基本上是由三部分组成,其中的
这个字节作为诊断请求的 *,它等于 +),)。后面的
两个部分则视具体的诊断服务而定。
"
" 的格式固定为 个字节,第一个字节为 )-$.,第二个字
节是被拒绝掉的 ,第三个字节是这个诊断服务无法被执行的原因。下面这
张图列举了部分原因代码,比如,如果 给出 $. 这个 "
,则说明 这个服务因为诊断请求数据长度不对的原因无法执行。
"(/
总结:诊断通信的过程就是诊断仪和 交换数据,前者发的是 ,后
者发的是 ,而 最重要的作用就是定义了这些 和
的格式和内容。今天这篇文章对 和 进行了简要
介绍,在后面描述各种诊断服务的文章中我会通过更多的示例来说明这两个基
本概念。
统一诊断服务 (Unied diagnostic services
, UDS) (二)
定义的诊断服务从逻辑来说分为以下几类:
0 /##1#(诊断和通信管理)
0 2#(数据传输)
0 /2#(存储数据传输,用于操作 2)
0 3( 控制)
40 (3(不知如何翻译好,作用是调用 内部的预置函
数)
50 3/63/(上传下载)
规定使用 个 % 来表示诊断服务,即所谓的 "&简称 。本
文介绍一下 /##1#这一类诊断服
务中的一部分。
DiagnosticSessionControl (0x10)
3 诊断 的格式
3 这个服务的 是 )-), 固定为 个
%,第一个 % 是 ,第二个 % 的低 $ 是 !,用于指
示 将进入的 。 定义的 包括:
)-))("/(保留)
)-)/!3
)-)'##
)-)-//
)-)!%%#
)-)47)-.("/(保留)
)-)7)-4."*31!8(由整车厂自定义使用)
)-5)7)-$%#38(由 供应商自定义使用)
)-$.("/(保留)
9
3 用于控制 在不同的 之间进行转换,
可以看作是 所处的一种软件状态,在不同的 中诊断服务
执行的权限不同。 上电之后,默认处在 /!3 中,在这个
中很多诊断服务不可以执行,很多诊断相关的数据不能读取或写入。
一般的诊断仪启动之后,会给 发送 )),即让 进入
-// 中,在这个 中可执行的诊断服务就很
多了。而如果要让 保持在 /!3 中,则需要诊断仪每隔固
定的时间发送 )- 服务, 才会知道诊断仪有和自己通信的需求,从而保
持在 /!3 中。另一个常用的 是
'##,在这个 中可以进行软件刷写的一系列诊断
服务。)-)7)-4.这个范围中的 由整车厂自定义使用,比如,某些
诊断服务或诊断数据的操作需要在生产线上执行,即所谓的 /!:,整
车厂可以从这个范围中选择一个值来表示 :;又或者在开发阶段需
要某种“超级”,则也可以从这里选一个值用来使 进入开发模式的
。3 这个服务非常简单,但是它却是
和诊断通信的第一条诊断命令。
3 诊断 的格式
这个诊断服务的 分为三部分,第一部分是 )-4),作为 的
*;第二部分是进入的 ,作为 ! 的 *;第三部分是
剩余25页未读,继续阅读
资源评论
- 云霏阳2020-09-05对于学习UDS规范,比较详细的文档。
u010918613
- 粉丝: 3
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IMG_20240425_190941.jpg
- 基于stm32的pid控制算法附带串口控制台
- 实验项目一:线性表(模板 ).docx
- 基于LM317A设计交流220V输入可调5V-12V直流输出稳压电源电路multisim10仿真源文件.zip
- Screenshot_2024-04-25-17-04-18-55_2332cb9b27b851b548ba47a91682926c.jpg
- -基于AVR单片机的LNG加液机控制器设计.pdf
- ThePowerOfNow-EckhartTolle.mobi
- BLOCK_TYPE_HEARTBEAT_D70A3465D4EE4E9_046141_dump_1st.dmp
- 项目方法测试调用接口工具
- studyupdate
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功