首页 > 编程语言 >UDS-ECU程序刷写

UDS-ECU程序刷写

时间:2025-01-10 15:11:07浏览次数:1  
标签:UDS 写入 程序 会话 ECU 寻址 刷写

一、功能介绍

UDS(unified diagnostic services)统一诊断服务主要是针对汽车上对ECU进行诊断服务规范,下图是UDS在OSI分层中的具体规范,基于UDS的刷写应用逻辑体现在应用层的ISO14229规范。

汽车诊断是指通过诊断工具访问汽车上支持UDS的ECU进行故障访问、故障清除等,UDS还可以写入ECU的出厂信息和程序刷写。

此文主要是针对基于UDS的刷写功能介绍

二、名词解释

物理寻址:给指定唯一标识符的设备发送数据,在刷写流程中主要是指待刷写设备

功能寻址:给一类标识符设备发送数据,比如升级时给总线其他设备发送静默指令

DTC:诊断故障码

DID:数据标识符,在当前刷写流程的预编程阶段读取ECU信息时使用,比如不同的DID区分汽车转速、里程、冷却液温度等

会话模式:UDS客户端与服务端在不同的模式下数据访问权限不一样,主要有默认模式、编程模式以及扩展模式

肯定响应和否定响应:客户端对服务端发起请求时,服务端对客户端的响应类型包含肯定响应和否定响应,比如刷写流程中诊断仪对ECU发起的进入扩展会话指令,ECU可以可以给出肯定或者否定响应

指纹:固件刷写的当前信息,如日期、设备ID、刷写地点等

FlashDriver:擦除程序,autosar规范中规定程序存储器的驱动代码不能在应用程序中,防止程序运行过程中的缺陷导致应用程序代码被改变,所以程序刷写前需要将擦除程序提前下载在ram指定位置中,引导程序通过指定地址调用擦除程序进行刷写的擦除和写入操作

三、刷写流程

按照刷写流程分为三部分:

3.1 预编程

预编程是刷写前的一些准备工作比如会话切换、安全访问等

  1. 进入默认会话,功能寻址,建立通讯为进入扩展会话做准备,这里是不确定之前在什么会话模式下,为了稳定接下来进入扩展会话提前进入的默认会话
  2. 进入扩展会话,功能寻址,进入扩展会话以便后面的信息访问及其他指令
  3. 读取ECU信息,物理寻址,通过DID读取ECU的指纹、生产日期、厂商信息等
  4. DTC设置,功能寻址,这里是将总线上可能影响后续升级的DTC设置为关闭,被关闭的DTC不报故障信息做存储本地处理
  5. 禁止一般报文,功能寻址,禁止网络管理类、应用类报文,保证总线刷写的稳定性

3.2 编程

  1. 进入编程会话,物理寻址,让待刷写设备进入编程会话准备后续的程序刷写
  2. 读取ECU信息,物理寻址,读取待刷写ECU的设备信息
  3. 安全访问
    1. 安全访问请求种子,物理寻址,请求待刷写ECU的种子信息,种子是一个固定长度的随机数
    2. 安全访问发送密钥,物理寻址,诊断设备将上一步获取到的种子通过指定算法计算出密钥,再将密钥发送给ECU,ECU校验密钥的完整性。
  1. 写入指纹信息,物理寻址,记录当前刷写的信息,比如日期、刷写ID等
  2. 写入擦写程序,物理寻址,将FlashDriver驱动程序下载到ECU的RAM中,以便后续程序刷写的擦除和写入操作
  3. 检查编程完整性,物理寻址,检查上一步的擦写程序是否正确下载
  4. 擦除程序,物理寻址,使用5下载的擦写程序对待升级程序的存储逻辑块进行存储以便后续的程序写入
  5. 写入待刷写程序,物理寻址,将待刷写的程序通过擦写程序驱动写入7中擦除的指定地址,通过34、36、37三个服务对擦写文件进行写入,具体的流程见ISO15765中的连续帧写入
  6. 检查编程完整性,物理寻址,对8下载写入的刷写程序进行完整性校验
  7. 检查编程兼容性,物理寻址,验证整个下载是否成功

3.3 后编程

  1. 复位,功能寻址,刷写完成后对整车ECU进行复位
  2. 进入扩展会话,功能寻址,复位后ECU进入扩展会话,以便后续的刷写”恢复“操作 ·1
  3. 安全访问,物理寻址,更新ECU的访问等级
  4. 写入配置参数,物理寻址,向刷写的ECU写入钥匙信息等参数
  5. 报文控制,功能寻址,恢复ECU的应用报文和网络管理报文
  6. DTC设置,功能寻址,恢复ECU的DTC为打开
  7. 清除ECU故障,功能寻址,清除刷写过程中的故障

四、待补充

1、连续帧的传输流程(ISO15765)

2、UDS刷写上位机的QT实现

标签:UDS,写入,程序,会话,ECU,寻址,刷写
From: https://www.cnblogs.com/bliss-/p/18664030

相关文章

  • 整车刷写工具 - DPS
    概述      当代汽车行业的技术发展日新月异,ECU控制器的更新迭代频率也在不断攀升,如何能高效、安全地刷新ECU程序成为行业内共同关注的话题。对此,经纬恒润自主研发了一款刷写工具INTEWORK-DPS(DiagnosticProgramingSystem),满足整车厂和零部件供应商的工程师刷写需求。 ......
  • Java 线程池 ThreadPoolExecutor
    引言在多线程编程中,ThreadPoolExecutor是Java平台提供的一个强大工具,它允许开发者通过管理一组预先创建的线程来执行任务,从而提高了应用程序的性能和资源利用率。本文将深入探讨ThreadPoolExecutor的工作原理,并结合实际案例说明如何正确配置和使用线程池。一、线程池......
  • Java 线程池 ThreadPoolExecutor 底层原理与源码分析
    引言我们探讨了ThreadPoolExecutor的基本概念、内部机制以及部分源码实现。本文将继续深入研究该类的更多细节,并结合提供的文档内容,进一步解析线程池的工作流程、任务提交和执行的具体过程,以及如何通过自定义配置来优化性能。一、线程池的任务提交与执行1.1execute()......
  • CPU、MCU、MPU、SOC、DSP、ECU、GPU、FPGA傻傻分不清楚?一文讲清它们的区别
    前言在电子领域中,我们经常提到CPU、MCU、MPU、SOC、DSP、ECU、GPU、FPGA等,它们都是常见的芯片或处理器类型,但是却在结构、功能和应用场景上存在着显著的差异。有些朋友可能不太能区分,今天我们就来依次介绍一下。一、定义与功能1、CPU(CentralProcessingUnit,中央处理器)定义:是......
  • 【BUG排查记】HttpUtil和SpringSecurity结合的坑
    一、背景最近为了做微服务高可用和优化上线流程,我参与了一个微服务的改造开发。主要包括redis切换哨兵模式、接入高可用xxljob集群、配置和升级脚本优化。二、问题描述  项目改造提测后,测试发现一个依赖远程http调用的功能不可用三、问题分析  查看......
  • 网站扫描出的漏洞解决:检测到目标Content-Security-Policy、X-XSS-Protection/Content-
    网站扫描出的漏洞解决:检测到目标Content-Security-Policy、X-XSS-Protection/Content-Security-Policy响应头缺失、加密算法等处理修复方法使用一些漏洞扫描工具对服务器进行搜查,总得扫出一些漏洞,比如检测到目标X-…响应头缺失之类的,扫描后报了不少头漏洞问题,之前碰到过也......
  • Recursive Decomposition of Logical Thoughts: Framework for Superior Reasoning an
    题目逻辑思维的递归分解:大型语言模型中高级推理和知识传播的框架论文地址:https://arxiv.org/abs/2501.02026摘要    增强大型语言模型的推理能力仍然是人工智能领域的一大挑战。我们引入了RDoLT(逻辑思维递归分解)提示,这是一个显著提高LLM推理性能的新颖框架。RD......
  • 【Unity 体积云效果插件】COZY: Plume - Volumetric Clouds Module 专注于生成真实感
    COZY:Plume-VolumetricCloudsModule是一款高质量的Unity插件,专注于生成真实感极高的体积云效果。它是COZY系列的一部分,提供了动态的体积云渲染功能,旨在为开放世界、飞行模拟、自然景观等项目创建美丽而逼真的天空场景。主要特点真实的体积云渲染插件使用基于物理......
  • 安卓编译报错Execution failed for task ‘:expo-modules-core:prepareBoost‘. Not i
    作者:Kovli重要通知:红宝书第5版2024年12月1日出炉了,感兴趣的可以去看看,https://u.jd.com/saQw1vP红宝书第五版中文版红宝书第五版英文原版pdf下载(访问密码:9696)报错如下[RUN_GRADLEW]Executionfailedfortask':expo-modules-core:prepareBoost'.[RUN_GRADLEW]>Cou......
  • SecureCRT v9.5.2 for Mac SSH终端操作工具 安装
    SecureCRTv9.5.2forMacSSH终端操作工具安装SecureCRTMac破解版是一款SSH终端工具,为计算专业人士提供高级会话管理工具。也是一个功能强大且值得信赖的基于GUI的SHH和Telnet客户端,以及旨在提高工作效率并简化重复任务的终端仿真器。借助SecureCRTmac版的帮助,您可以通过对AN......