虚拟ECU:唤醒传统汽车开发灵魂
01
传统车辆开发测试
一直以来,电气与电子设备的开发都是车辆工程与制造领域的一大挑战。
车辆在运行过程中面临着恶劣的路面环境:不断变化的温度、湿度,凹凸不平的路面带来的振动,嘈杂的市区噪音等等,都冲击着车辆的各个部件。为了使车辆在各种各样的恶劣环境下都能安全、可靠地高速行驶,车辆内部的许多部件必须持续相互作用,底盘内部通信尤为重要。开发人员需要尽早发现设计缺陷和限制,以便在早期开发过程中完成修正——如果等原型车上路时才发现问题,带来的时间、成本损失将不可估量。
传统的车辆开发测试主要依赖于台架测试,以及原型车上路后的道路测试。这是两类检验汽车耐久性与可靠性的基本试验方法。
▲吉利杭州湾研发中心的整车试验中心:24通道轴耦合道路模拟耐久测试
台架测试可以理解为零部件的耐久疲劳加剧试验,即通过模拟汽车发动机运转环境,对发动机,以及汽油、机油、柴油、齿轮油等质量进行测试。台架测试能够在开发设计阶段短时间内验证部件强度是否达到要求,还能验证现存问题的解决方案是否有效。
台架可以早于原型机对车辆进行测试,有利于加快新车型开发的速度,一度被认为实现了开发过程的测试“左移”。然而,尽管相较于原型车,台架制造成本相对较低,但其造价本身还是十分高昂的。除此之外,还有一个需要直面的问题:像电流过大等可能会损坏台架本身的故障,是较难被注入的,而需要数月甚至更久制造时间的汽车定制芯片对应的bug也就无法被发现,存在巨大安全隐患的同时影响开发进度。
开发人员需要一种更灵活的方法来实现安全高效的测试“左移”。
02
虚拟样机&ECU
构建汽车电子系统的虚拟样机,在虚拟样机中进行测试,成为了科技发展日臻完善的必然产物。虚拟样机指在真实的电脑中安装一个软件,用软件模拟汽车的各个部件。用软件对系统进行仿真,并进行验证和测试,是适用于任何芯片的强有力的方法。
虚拟样机具备以下优点:
可以不受原型限制进行故障注入,验证国际标准ISO 26262《道路车辆功能安全》规定的纠正措施;
虚拟样机性价比极高,节能环保,能够在更早的开发阶段投入使用,更早地开始测试;
虚拟样机可以快速实现分布式部署,支持更多的开发人员实时查看运行状态。
▲图源网络
虚拟样机的使用为开发人员带来了极大的便利,国际金融业界大拿摩根士丹利(Morgan Stanley)公司的研究报告显示,汽车软件所带来的价值增长将从现今的10%增长到60%。
在庞大的汽车电子系统中,没有什么比汽车电子控制单元(Electronic Control Unit,ECU)更为复杂、更有开发难度的了。ECU又称“行车电脑”、“车载电脑”,是汽车专用微机控制器,通过各种底盘传感器、总线数据采集与交换,判断汽车的行驶状态并反馈给驾驶人,并根据驾驶人的意图,通过一系列的执行器来控制汽车,从而实现汽车的各种功能。
传统的传感器包括测量空气流量、空气温度、冷却液温度、歧管压力、节气门位置和车速的传感器,而传统的执行器控制发动机的混合气(燃料与空气的混合物)、点火正时、怠速和其他参数。
高级驾驶辅助系统 (Advanced Driving Assistance System,ADAS) 和自动驾驶汽车的出现,大大提升了ECU的应用,现在的ECU不仅能从自动驾驶的三大传感器系统:摄像头、雷达和激光雷达传感器收集数据,还可以控制车辆操作的各个方面,包括加速、制动和转向等。
▲图源网络
03
基于SkyEye的虚拟ECU仿真
虚拟ECU是汽车电子系统硬件和嵌入式软件对虚拟样机进行建模和测试的关键部分。
迪捷软件作为汽车等安全关键领域产品与解决方案提供商,通过涵盖基于模型的系统工程(Model Based System Engineering,MBSE)的整个生命周期的全系列产品,为汽车电子系统开发提供完整的解决方案,支持虚拟ECU和从系统到软件的车辆虚拟样机设计。
SkyEye,中文全称天目全数字实时仿真软件,是基于可视化建模的硬件行为级仿真平台,指通过应用软件仿真技术,逼真地模拟出被测软件运行的物理环境,并通过动态执行被测软件来进行的软件确认与验证活动。SkyEye可以作为虚拟ECU开发与测试平台,将开发过程从台架转移到个人计算机(PC)上,实现ECU软件的快速高效迭代开发。
借助SkyEye,工程师可以通过可视化图形的硬件建模方式,快速搭建模拟TriCore,PowerPC等架构处理器的虚拟ECU,作为真实硬件单元的软件执行模型。SkyEye可以与汽车工具生态系统相关的所有部分提供广泛的连接,进行集成测试。开发人员可以不加修改,在SkyEye仿真系统上运行与真实车辆中完全相同的实际二进制文件,使用相同的工具链、库、操作系统,避免跨平台编译产生的错误。
▲SkyEye产品矩阵
绝大多数传统的汽车电子设备的虚拟原型都需要在Windows PC上运行,而SkyEye还同时支持Linux,开发人员可以在Linux工作站上编写代码,实现虚拟ECU的构建,进行运行测试和调试,不必在Windows和Linux之间来回切换,从而实现周转时间更短、更为紧凑的交互式循环仿真。
SkyEye还提供系统级测试与覆盖率测试,支持自动化测试。开发人员可以通过单步、断点、堆栈信息查看等方式,快速找出问题的确切位置和原因。除此之外,开发人员还可以搭建持续集成环境,只需将新的代码提交至仓库,通过WebHook(一种Web接口机制)触发持续集成,SkyEye就会不舍昼夜地完成自动化测试并输出报告。
虚拟ECU使测试可以更早地实现于开发流程中,形成更快的反馈循环,用更低的成本使开发团队具备更高的可扩展性。虚拟ECU是开发复杂车辆电子系统的重要组成部分。
更多虚拟ECU相关的最新创新、方法和经验,欢迎点击查看详情或访问www.digiproto.com进行了解!
参考文献
https://semiengineering.com/shifting-vehicle-system-development-left-with-virtual-ecus/