基于 ODX 标准的堆栈刷写解决方案 轻松应对汽车软件升级挑战

预览图

一、背景和挑战        

| 背景:

当前汽车市场竞争激烈,多品牌并存,新车发布速度加快,价格逐渐降低,功能日益多样化。随着车辆功能的不断提升与优化,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. 堆栈刷写的大小可设置,便于用户更好管理刷写过程,并可根据实际情况调整刷写堆栈大小,优化资源利用......

如需了解更多未完精彩内容,请查看WINDHILL风丘科技官方信息

(素材使用声明:本账号素材使用力求合法,若不慎侵权请联系我们删除;本账号内容未经授权使用,将依法追究责任。)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值