打印
[技术讨论]

关于UDS升级的深度探讨

[复制链接]
16307|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
uuguoleilei|  楼主 | 2023-12-2 23:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 uuguoleilei 于 2023-12-4 21:07 编辑

#技术资源# #申请原创# #有奖活动# #每日话题#  
can通信的UDS功能是车辆进行软件升级必不可少的一项功能,UDS的有许多的服务,有需要详细了解的朋友可以自行查看14229国标;这里主要探讨UDS升级涉及到的服务;



一、UDS功能寻址和物理寻址
UDS的功能寻址和物理寻址是实现人或设备与ECU控制器交流的一种语言。这两种寻址方式在UDS协议中用于确定数据包应该被发送到网络中的哪个节点或设备。
功能寻址是一对多的通信或广播方式,向执行特定功能的所有设备发送数据包,无需知道每个设备的具体物理地址。比如广播诊断请求Request,同时等待总线上的ECU给与响应。物理寻址是一对一的通信方式,直接将数据包发送至具有特定物理地址的设备,如特定的ECU。指定发送特定诊断请求Request,等待指定ECU给与响应。

ECU会有一个物理ID:0x666,一个自己的功能ID:0x888;


二、10服务
10服务有很多,在14229中也有详细的定义,我们只讲我们用到的3种;
  • 默认会话(0x01);
默认会话是uds的初始化的状态,默认的状态就是这个会话,
默认会话的请求只需要发送  ID+10 01  对应的ecu就要进入默认会话了;
ecu进入默认会话后,需要进行正响应,也就是响应ID+50 01;(正响应是服务ID+0x40 :0x10 +0x40 = 0x50)

  • 编程会话(0x02);
编程会话:只存在于boot中的会话,当请求编程会话时,如果此时程序正运行在app层,那么ecu将要重启,进入到boot区进行程序的刷写流程
  • 扩展会话(0x03);
扩展会话:当需要进入服务指令时,就需要进入扩展会话状态,比如31服务,19服务








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


使用特权

评论回复
评论
21小跑堂 2023-12-6 10:46 回复TA
奖励200家园币 

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

16

帖子

3

粉丝