uds协议之can总线程序升级_can升级原理

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

更详细的介绍可参考:

https://blog.csdn.net/u012252959/article/details/83063899

https://zhuanlan.zhihu.com/p/72543808

2.如何通过UDS协议进行程序升级

UDS协议其本质其实就是一种请求-响应**(Request/Response)**的交互协议,主要是对candata部分内容进行了统一定义,ECU会根据收到的不同请求内容,执行不同的操作或响应不同的数据。而这个“不同的请求内容”实际上就是我们所说的诊断服务ID及其附带的一些参数。UDS的服务ID种类大致可分为如下几类:

而我们进行程序升级要用到的服务ID毫无疑问就是0x34、0x36、0x37这三个服务了。

0x34请求下载服务参考:https://zhuanlan.zhihu.com/p/107889509

0x36数据传输服务参考:https://zhuanlan.zhihu.com/p/108100282

0x37请求退出传输服务参考:https://zhuanlan.zhihu.com/p/108124762

整个数据上传、下载流程参考:https://blog.csdn.net/u012252959/article/details/83077069

除此之外,还需用到0x10会话控制服务,用于切换会话模式。(不同的会话模式、对服务的响应权限不一样,比如必须在编程模式下,ECU才能响应上传下载功能单元的服务)

下图为会话模式的种类:

0x10会话控制服务参考:https://zhuanlan.zhihu.com/p/84609132

除会话控制外,0x27安全访问服务也有用到。一般情况下,需要通过安全服务的认证,ECU才允许进行数据下载操作。

安全服务认证方式首先由客户端向ECU发送请求,获取随机码(种子),客户端收到随机码后,按照双方约定好的算法进行计算得到秘钥值,客户端再将这个值发送给ECU,进行安全认证(如果算法相同,则计算出的结果相同,ECU回复肯定响应)。

具体可参考:https://zhuanlan.zhihu.com/p/88651234

此外,0x31例行控制服务也是必须的。比如:升级前需要通过该服务确认ECU的可编程性,每次进行程序块下载前需要调用该服务进行程序擦除操作,下载完成后需要通过该服务检查程序的完整性,检测是否可以正常运行。(具体的routineIdentifier及其含义一般由车厂执行定义)

详细可参考: https://blog.csdn.net/weixin_44536482/article/details/94866212

3.升级流程

升级流程可参考:

4.升级数据CAN报文分析与UDS协议学习

0x10会话控制:

其中,0x791为客户端发送至ECU的的CANID,0x799为ECU响应客户端的CANID,一般由汽车厂商自行定义。0x7DF为uds定义的功能地址,用于一对多发送诊断服务请求。

数据请求中,02代表长度,10 代表0x10服务ID,01和03分别代表要切换的会话模式。

0x27安全访问:

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

持续更新**

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

  • 14
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值