区伯肺癌病重:一位逐渐被遗忘的广州公民

前外交部副部长傅莹:一旦中美闹翻,有没有国家会站在中国一边

Weixin Official Accounts Platform

去泰国看了一场“成人秀”,画面尴尬到让人窒息.....

多年来,中国有个省,几乎每一个村庄都在偷偷“虎门销烟”

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

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

北汇信息 李靖尧 北汇信息 2022-09-22


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

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

并行刷写及队列刷写





并行刷写


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

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


图一  并行刷写原理

队列刷写


相较于从整个系统层面总线利用率减少刷写时间的并行刷写,队列刷写则是对单个控制器进一步提升刷写效率的手段。我们知道,目前最常见的车载软件更新是通过UDS诊断请求来实现的,而车载诊断使用的是请求-应答的方式。这种方式通过对每个请求检查响应保证了数据传输的可靠性,但因为需要等待控制器的响应,也在一定程度上降低了通信效率。

队列刷写则是不等待响应直接连续发送一定数量的诊断请求,待收到上一个响应后继续发送下一个请求,从而保证控制器一直有未处理的诊断请求,进一步提升总线利用率。队列刷写依赖于网络传输层的全双工通信,并对ISO标准的诊断方式进行了细微调整,对车内控制器的开发提出了更高的要求,但与此同时,收获的好处也是显而易见的,整个系统刷写时带宽的利用效率获得了进一步提升。


实际案例分析





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


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

图二 简化网络拓扑


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

图三 串行+非队列刷写


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

图四 串行+队列刷写


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

图五 并行+队列刷写


深入分析





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


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

图六 LIN节点刷写


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


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


小结





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


北汇信息专注于汽车电子测试,针对OTA和刷写,提供整车级、系统级和部件级一站式的测试解决方案,积累了大量实践经验,覆盖了包括传统刷写技术,以及并行、队列刷写等在内新技术的测试实践。同时,更注重从需求设计、从整车应用场景的角度完善测试开发,形成闭环,以期为客户提供更具有前瞻性的测试方案和更高质量的测试成果。



相关文章
NEWS


测试开发实践系列:为支持全车OTA的LIN诊断刷写
北汇信息再次通过长城汽车车载以太网测试服务认证(包括原测试内容年度审核及扩项认证)
请听题!如何实现只用1个VN5640A搭建含2个交换机的车载以太网网络?
车载以太网第二弹|测试之实锤-1000BASE-T1 IOP测试实践


如需了解如上内容更多信息,
可以随时联系北汇信息!
电话:021-34716271
邮箱:info@polelink.com


微信ID:Polelink_Info

    北汇信息|专注电控、新能源、MES技术
 
转载是一种动力 分享是一种美德


文章有问题?点此查看未经处理的缓存