1.来自硬软件开发的挑战
1.1 来自硬件的挑战
硬件系统
ECU数量>100个
数据带宽>5Gbps
CPU处理能力> 50000 DMIPS
AI运算能力> 1000 TOPS
测试系统
如何实现测试仿真运算能力,IO数量和数据处理
带宽的扩展,以适应硬件系统越来越高的要求?
汽车来自测试的挑战,本质上是来自于汽车电子的软件硬件开发的挑战。现在汽车的整个电子电气架构越来越复杂,从ECU数量到数据带宽到CPU、GPU的处理能力,和之前相较都有一个数量级的变化。传统的HIL测试是采用一台计算机加上一些板卡,通过板卡中的几个模型模拟车上的一部分来对控制器进行测试。现在面对巨大的数据量以及超高的运算需求,原有的一台计算机的HIL测试方式已经无法满足,因此我们提出一个“集群HIL”的概念,所谓的“集群HIL”就是用一组计算机群充当一台HIL来扩展这台HIL的仿真测试和处理。
1.2 来自软件的挑战
软件系统
更高的复杂度:代码数量>一亿行
更多的个性化功能
敏捷开发:更多的迭代次数&更短的迭代周期1.5X电子系统迭代速度6X机械系统迭代速度
测试系统
如何在更短的时间内完成更多的测试用例的更多轮迭代测试?
软件定义汽车的趋势导致了对汽车软件开发的要求越来越高,随之而来的就是汽车庞大的代码数量和更多的迭代次数以及更短的迭代周期,相应的也对测试带来更大的挑战。如何解决这个问题,我们通过“HIL集群”的概念让测试并发执行,提高测试效果,进而加快软件发布和迭代的效率。
2.集群HIL
2.1 “集群HIL”概念
目的:以横向扩展的方式满足更高的硬件仿真测试需求
主要场景:
AD域多传感器信号的实时仿真和注入
整车多域联合实时仿真测试
系统组成框图:
上图是集群HIL系统组成框图,从下向上看,最下面是被测件DUTs,也就是控制器,在同时进行多个测试时,这个通常是整车上不同的控制器,比如自动驾驶域控制器、DCM等等;中间部分是三台HIL,每台HIL里有各自的板卡、测试机,里面可以是模型或者场景软件,每台HIL最上面有一个IO HUB模型,通过IO HUB将三台HIL整合成为一个集群。要想让三台HIL运行的像一台HIL一样,同步一样的效能,必须要由同步的板卡实现三者之间的数据和节拍间同步,IO HUB模块的作用就是用来同步三台计算机之间的数据;再往上就是Windows PC, 也就是操作者电脑。
从用测试者度来看,测试者用一台普通的电脑连到一个集群上面,这个集群背后可能由有若干台原来的HIL,通过我们的IO HUB连起来,在上面联合仿真多个模型,产生大量的数据同时测试ECU。
2.2 集群HIL的关键技术
1)多HIL节点间时间同步
统一的分布式时间戳
统一的分布式调度节拍产生
2)数据同步
对软件透明的本地内存访问方式
分布式存储器的数据一致性
数据同步的高效和延迟低
3)实时系统
实时Linux内核和设备驱动
多节点模型运行调度管理系统
4)多通道自动驾驶数据同步注入
大带宽数据注入的处理
多通道数据同步的处理
2.3 昆易“集群HIL”的解决方案
1)IO HUB
多机柜间时间硬件同步
统一的系统调度节拍发生器
统一的时间戳计时器
多机柜间分布式内存的硬件实现分布式内存区由PCIE内存地址映射实现,CPU可以像访问本地内存一样直接访问分布式内存同步由IO HUB硬件完成,数据同步带宽10 Gbps
2)自动驾驶数据注入卡
多通道视频/雷达信号同步
RDMA技术,数据直接注入卡和GPU之间传输,不经过系统主内存和CPU,降低延迟和CPU负载
多通道曝光信号同步
3.HIL集群
3.1 关于“HIL集群”
目的:
同时仿真多个测试环境
并发执行多个测试用例
缩短测试用例的执行时间
主要场景:
“测试工厂”
并发执行多个感知测试
系统组成框图
上图是HIL集群系统组成框架图,从下往上看,最下面还是DUT,也就是被测件;中间部分是HIL,这部分就是一个普通HIL,由测试机、板卡、模型、测试用例组成,没有特别的硬件差距。在上面也没有IO HUB模块,因为在这个场景上不需要同步它们之间的数据,但是需要一套软件系统进行管理,也就是上方的HIL集群的管理服务器。HIL集群管理服务器用于管理下面的所有的HIL节点,知道它的状态,进而测试用例或者场景分配到下面可用的节点,让这些节点同步跑、并行跑,跑完之后再把结果收集回来,发挥一个管理的作用;上方右边是测试用例数据库/场景数据库,这里面存了需要去测的ECU用的测试用例。
3.2 “HIL集群”的关键技术&解决方案
关键技术:
测试环境容器化
多测试环境并发执行
测试用例和硬件资源的分配和管理
CI/CD集成
自动测试框架的支持
昆易自动测试框架图
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !