加速汽车软件升级——堆栈刷写技术的应用与挑战

一、背景和挑战

| 背景:

当前汽车市场竞争激烈,多品牌并存,新车发布速度加快,价格逐渐降低,功能日益多样化。随着车辆功能的不断提升与优化,ECU(电子控制单元)的代码量也随之增加,这导致用户在每次车辆软件升级时需要等待较长时间,影响用户体验,进而影响各汽车制造商(OEM)的品牌声誉。为了解决这一问题,确保控制器稳定运行,提升软件刷写的效率,同时不断满足用户的多样化需求,堆栈刷写技术应运而生。

| 技术挑战:

1.确保刷写过程的稳定性:避免在刷写过程中出现中断或错误,导致ECU损坏、文件不完整等;

**2.优化刷写的效率:**缩短刷写时间,提升生产线和售后刷写的效率;

**3.保证刷写数据的可靠性:**确保数据在刷写的过程中不会被泄露。

**二、**什么是堆栈刷写?

**堆栈刷写也叫Queued Flash是一种快捷、有效的数据刷写。**在运行刷写时,上位机对ECU同时发送多帧连续的诊断请求到控制器。与传统刷写不同的是,在传统的刷写流程中,上位机和ECU之间是一种一问一答的形式,这就意味着上位机必须等到上一个诊断请求响应后,才能发送下一个诊断响应,从而导致数据传输出现过剩的情况,刷写速度变缓。

而堆栈刷写是在初个诊断请求发出去后,无需等待响应,即可接着发送诊断请求,直到缓存饱和,由此可大大提升刷写速率
(图1 传统刷写和堆栈刷写区别)

三、堆栈刷写方案

| 方案概述:

本文讲述的堆栈刷写实现方案,是由风丘科技自研的工程诊断仪Q-Testr.Expert车辆通信卡MC800组成。其主要原理是,将车辆通信卡和电脑连接在一起,实现电脑和通信卡的连接,进而连接到车辆,实现诊断报文的收发。
(图2 方案逻辑图)

| 队列刷写原理:

**下文将以一个堆栈刷写的流程示意图进行简单阐述。**​​​​​​​
(图3 堆栈刷写原理图)

T1时刻:Tester(上位机)发送36 01用来请求,请求刷写数据的一个Block块,之后ECU(控制器)给出流控帧表明自己的诊断传输能力;

T2时刻:Tester发送完最后一个Block块后,没有等待ECU的响应,而是直接发送了下一个请求36 02;

T3时刻:ECU响应36 01正响应;

T4时刻:ECU响应7F 36 78,表示此刻在处理其他的诊断请求,需要等待一会儿。

堆栈刷写核心在于Tester多帧请求发送顺序不能乱,且接收的响应也应按照诊断请求的顺序。

| 优势:

  1. 大大提升了刷写速率,尤其在生产线上,每个工位都是有固定的时间,避免因刷写速度缓慢而导致停线,并减少停线时间。

  2. 堆栈刷写的大小可设置,便于用户更好管理刷写过程,并可根据实际情况调整刷写堆栈大小,优化资源利用。

  3. 对于较大的软件更新包,用户往往需要等待较长时间来完成车辆的升级过程。然而,利用堆栈刷写技术,即可大大缩短这一等待时间,使用户能够更快获取软件新版本,确保汽车系统始终保持实时更新状态......

请点击此处,查看剩余30%精彩内容!

| 往期回顾

探索ECU升级:基于UDS的ECU诊断刷写流程

"软件定义汽车"时代 | 产线海量数据刷写解决方案

相关推荐
CyberSecurity_zhang2 个月前
入门车载以太网(7) -- DoIP
tls·uds·车载以太网·汽车诊断·doip
WINDHILL_风丘科技6 个月前
精彩回顾 | 风丘科技亮相2024名古屋汽车工程博览会
模块·车辆测试·记录仪·汽车诊断·测量技术·汽车工程博览会
虹科数字化与AR1 年前
安宝特AR汽车行业解决方案系列1-远程培训
汽车·ar·汽修·汽车诊断·企业培训
SoftingChina1 年前
工程中的SOVD——从ECU到车辆
车辆测试·ecu·sovd·车辆工程·sde·odx