随着车载以太网总线技术在车内广泛地应用,车辆网络架构也在逐渐发生变化,传统的分布式架构正在逐渐被域/区域控制器架构所取代。主干网通信带宽的大幅度提升,为新的软件更新方式提供了基础条件。车辆智能化、个性化使得软件迭代频繁,且包含智能座舱、自动驾驶、车辆域控在内的整车控制器的刷写数据量不断飙升,都进一步推动了如并行刷写、队列刷写等新的软件更新技术的出现。新的技术对设计开发和测试验证都提出了新的要求。

本文以一种新型车内网络拓扑为例,为大家简单介绍并行刷写及队列刷写的机制,并尝试分析他们各自的特点,以期让大家对这两种新的刷写方式有所了解。

并行刷写顾名思义,指的就是同时对多个控制器进行刷写。我们知道在这种多域控制器的架构下,数据一般通过主干网传递到下属子网络,而主干网的带宽一般是远远高于子网络的,拿常见的百兆以太网举例,诊断数据在其上的理论传输速率可以到100Mbit/s的级别,而传统的CAN网络带宽只有500Kb/s,这种差异就导致当上位机对子网络下的节点进行刷写时,刷写速率会受到子网络带宽限制,大量主干网带宽被闲置;而同时,其它子网络则基本没有数据传输,带宽则干脆没有被使用,造成了大量浪费。

并行刷写的出现就是为了从而尽可能的利用带宽,从而解决这个问题。具体来说,就是在一个控制器的诊断请求发送时,可以不必等待其响应而直接向另一个网段的控制器发送诊断请求,以达到同时对多个控制器进行刷写的效果,提升总线带宽利用率,大幅度缩短刷写时间。如下图所示,当上位机收到待更新的数据后,可以根据算法自动对待更新控制器进行分组,并排列好诊断请求发送顺序,待下载开始后,便按照预先设定好的顺序发送相应诊断请求,同时对三个控制器进行软件更新。

图一 并行刷写原理

相较于从整个系统层面总线利用率,减少刷写时间的并行刷写,队列刷写则是对单个控制器进一步提升刷写效率的手段。我们知道,目前最常见的车载软件更新是通过UDS诊断请求来实现的,而车载诊断使用的是请求-应答的方式。这种方式通过对每个请求检查其响应保证了数据传输的可靠性,但正因为需要等待控制器的响应,也在一定程度上降低了通信效率。队列刷写则是不等待响应直接连续发送一定数量的诊断请求,待收到上一个响应后继续发送下一个请求,从而保证控制器一直有未处理的诊断请求,进一步提升总线利用率。队列刷写依赖于网络传输层的全双工通信,并对ISO标准的诊断方式进行了细微调整,对车内控制器的开发提出了更高的要求,但与此同时,收获的好处也是显而易见的,整个系统刷写时带宽的利用效率获得了进一步提升。

为了让大家对并行及队列刷写的效果有一个更直观的了解,接下来我们从总线负载率的角度针对一个并行及队列刷写的实际例子进行分析。

在我们的简化系统内,上位机通过速率较快的以太网将待刷写数据传递至主干网,而被测控制器ECU1(绿色),ECU2(红色),ECU3(蓝色)则分别从属于三个不同的子网络,其中ECU1,ECU2为CAN子网络,而ECU3为CANFD子网络。同时为了更好的体现不同网段下数据传输速率的差异,我们还引入了LIN网段下的控制器ECU4(黄色)。

图二 简化网络拓扑

下图图三显示的是采用串行非队列的常规方式进行刷写时各子网络瞬时负载率变化,可以看到,随着时间推移,各个总线负载率依次升高,意味着各个控制器在分别进行刷写,而当某个控制器进行刷写时其它总线带宽使用基本为0,完成这三个控制器刷写总共花费了约330秒,大量带宽被闲置。

图三 串行+非队列刷写

图四显示的是采用串行+队列的方式进行刷写时各子网络瞬时负载率变化,与图三相比较,大致走向基本一致,差别在于各个ECU在刷写时自身总线负载率有了进一步提升,这是因为队列请求的存在使数据传输的间歇期变得很短,可以看到在ECU1所在网段负载率已经接近100%,带宽被更高效的利用,整个刷写时间也缩短至265s左右,但在单个控制器刷写时其它网段仍基本处于闲置状态。

图四 串行+队列刷写

图五显示的是采用并行+队列的方式进行刷写时各网段瞬时负载率变化,可以看到,各个控制器的刷写基本同时进行,有很明显的重叠,同时在刷写时各个网段的负载率也均处于较高状态,整个网络的带宽得到了有效的利用,在约120秒时间内便完成了三个控制器的刷写。

图五 并行+队列刷写

相信通过上面的数据大家已经可以直观的感受到队列及并行刷写的优势,且对他们的特点有了一个定性的概念。但不同的网络层数据传输速率,不同的总线类型,乃至不同的队列及并行逻辑都会对实际的效果产生影响,接下来我们在以上结论的基础上做一些更深入的分析。

首先对于整个系统而言,很明显并行刷写对于整体刷写速率的提升是最大的。在图五可以看到,启用并行刷写让整体刷写效率提升了一倍以上,而这还仅仅是一个三个子网络的简单系统,此时主干网上的带宽还有较大冗余;当同时刷写的控制器数量进一步上升,并行刷写的效果将会越发明显。当然,还需注意的是,整体刷写效率有时也会受到局部刷写效率的影响,如图六,当我们引入一个新的控制器ECU4,由于LIN总线自身速率及文件大小限制,ECU4的刷写时间超过了1000秒,而此时其它控制器早已经完成更新,这时即便使用了并行和队列刷写,整个系统的刷写时间仍受限于单个部件的刷写时间。从这个角度来说,单个部件过长的刷写时间是系统设计者制定需求时应该考虑规避的问题,而针对此类问题提出优化意见也是系统测试人员在测试时应该具备的素质。

图六 LIN节点刷写

此外,并行刷写逻辑对刷写效果的提升也是显而易见的,以CAN总线为例,网络上只有一个控制器在刷写时已经可以让负载率达到将近百分之百,此时若再对该网段上其它节点同时进行刷写,效率则难再有较大提升,这便涉及到了上位机对于并行刷写逻辑的设计问题。如何确保各网段资源利用最大化的同时又能避免冲突,对整车网络架构的设计和测试方都有了更高的要求。

最后,我们再把目光转到默默支持整个刷写功能的网关。毫无疑问域控制器架构对网关的要求进一步提升。我们此前提到的各种高效的刷写方式的实现,都离不开网关,甚至可以说很多刷写性能直接取决于网关性能,例如网关可以转发的通道数,转发的延时等。而类似于队列刷写等机制则对网关的可靠性有了更高的需求。网关本身策略复杂,涉及到的数据量比较大,同时又往往涉及到多种不同总线,在整个系统中需要被重点关注。

并行刷写和队列刷写通过在有限带宽下提升总线负载使用率大幅度提升了刷写速度,这对于整车软件迭代升级有重要作用。而最终刷写速率也会受到整车电子电器架构,及整车软件更新策略等条件的影响。随着整车功能的不断增加以及功能集成度进一步提升,未来整车软件迭代速度将会大大加快,高效而稳定的整车软件更新功能将不可或缺,这对于整车刷写功能的设计、开发和测试三方来说都意味着更大的机遇和挑战。

北汇信息专注于汽车电子,提供整车级、系统级、部件级电子电器测试一站式解决方案,在诊断刷写测试方面积累了大量实践经验,覆盖了包括传统诊断刷写技术,以及并行、队列刷写等在内新技术的测试开发及实践。对新技术我们不局限于单向接收,更注重于消化理解后与项目的实践结合,更多地会从需求设计、从整车应用的角度考虑测试开发,形成闭环,以期为客户提供更具有前瞻性的测试方案,以及更高质量的测试成果。

测试开发实践系列:为满足OTA及”大数据”更新的并行刷写和队列刷写分析相关推荐

  1. flask python web开发 可视化开发_Python + Flask 项目开发实践系列六

    今天开始我们讲讲Flask Web实践项目开发中的查看详情功能是如何实现的. Step1:html 部分 lists +="<tr>"+ //拼凑一段html片段 &q ...

  2. python web开发项目 源码_Python + Flask 项目开发实践系列七

    对于 Python + Flask 这种灵活的web开发框架,在前面的六个系列文章中详细的进行了说明,主要讲到了页面的首页加载时的页面渲染,增加功能,删除功能,修改功能,查询功能,查询详情功能等一些页 ...

  3. 《大数据实践课》开创实践教学新模式:清华大数据能力提升项目特色课程系列报道之一

    2014年4月,清华大学顺应时代潮流成为全国第一批成立大数据研究机构的高等学府.四年来,清华-青岛数据科学研究院(以下简称:数据院)与研究生院共同设计组织实施了以大数据能力提升项目为主的大数据人才培养 ...

  4. 2021-08-01 大数据岗位入职系列 前传:转战大数据

    大数据岗位入职系列 前传:转战大数据 大家好,我是赵大锅. 近些年来大数据.云计算技术在全球都比较火热,随着移动互联网的迅猛发展,智能设备越来越先进,4G/5G网络的覆盖,全球网民人数急剧增加,人们购 ...

  5. 测试开发实践:网关路由功能及测试

    1.前言 当前,车内通信技术越来越负责,协议类型更加多样,不同总线及协议间的转换和路由等也更为复杂,网关作为通信枢纽的载体,其测试的复杂程度和重要性也越来越高.本文将分享网关路由测试开发过程中的经验和 ...

  6. 大数据上传-GB/T 32960测试开发实践

    文章目录 前言 GB/T 32960介绍 GB/T 32960测试开发 总结 参考文献 前言 数据时代,数据为王.车辆网联化为汽车数据时代提供技术支撑,更多的数据可被收集,但是哪些数据需要被收集,又如 ...

  7. “汽车人”眼中的网络安全---关于AUTOSAR E2E及测试开发实践

    1.前言 上篇文章"聊聊网络安全的5W1H"对网络安全知识体系和技术脉络做了深入浅出的介绍,提到AUTOSAR所定义的网络和通信安全相关的技术,本期我们将介绍其中的E2E策略(严格 ...

  8. JavaScript设计模式与开发实践系列之单例模式

    本系列为<JavaScript设计模式与开发实践>(作者:曾探)学习总结,如想深入了解,请支持作者原版 单例模式 实现单例模式 单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的 ...

  9. [原创]Silverlight开发实践系列导航(提供源码)

    第一次看到silverlight做的作品的时候,就深深的被他绚丽的效果所吸引,于是也抽出一些时间研究了一下Silverlight.接触Silverlight也不是很长时间,只是做了些小作品.分享给大家 ...

最新文章

  1. 《SolidWorks 2017中文版机械设计从入门到精通)》——1.4 操作环境设置
  2. 多级菜单栏展开隐藏动画
  3. ASP.NET中进行消息处理(MSMQ) 一
  4. Python sys.stdout sys.stdin
  5. 遗忘root用户的密码
  6. java.util.Properties
  7. Hive UDF 中使用hdfs中的文件
  8. python循环结构高一信息技术有限公司_Python之循环结构
  9. IP地址与子网掩码划分的心得
  10. 用python制作勒索病毒_python生成的exe被360识别为勒索病毒原因及解决方法
  11. 蓝牙打印 设置打印样式_Android——蓝牙连接打印机以及打印格式
  12. 第三章 Guarded Suspension模式 等我准备好哦
  13. SQLServer update语句用法
  14. python爬取微博热搜
  15. 在html中 常见的块级元素有哪些,常见的css块级元素有哪些
  16. 读冯唐先生的《天下卵》
  17. vue自定义组件三步走
  18. [BJDCTF 2nd]fake google -wp
  19. 公共WiFi到底该不该连?黑客教父龚蔚这么说
  20. 对话高新兴总裁侯玉清:安防企业的翻身之战

热门文章

  1. 高通MSM8255串口驱动移植
  2. Android开发之WIFI与网络连接处理
  3. 阿里云轻量应用型服务器和ECS服务器比较
  4. Doris Compaction机制总结
  5. 卫星同步时钟(NTP服务器)应用铁路计算机联锁系统
  6. 技术干货 | 基于MindSpore的图算融合探索和实践
  7. python 网络教育-百度传课[9_百度传课客户端下载-百度传课appv4.4.6.9 安卓版 - 极光下载站...
  8. 智慧矿山解决方案-最新全套文件
  9. 计算机二级wsoffice考试范围,2021年wps office二级考试内容
  10. 谷歌的请求索引功能恢复了