虚拟ECU:彻底改变汽车软件开发与测试

news2024/10/7 14:33:07

汽车开发领域有着垂直性较强的一系列需求,其中最为瞩目的需求之一就是对安全高效的软件测试方法的需求。传统的汽车开发偏向使用硬件原型与真实ECU进行软件测试,但由于硬件设备往往在开发周期的中后阶段才生产完成,给汽车开发带来了成本与时间方面的挑战。最近一项研究表明,约60%的开发项目遇到没有真实硬件可用的情况,10%的工程师被迫在真实车辆上进行测试。

真实硬件的缺失及搭建虚拟硬件的高昂成本正带来一系列困境:

  • 测试能力有限。
  • 只有在真实测试时才能发现集成中的缺点。
  • 无法在开发阶段验证设计,也无法提供快速更新。
  • 无法应对当前市场中不断缩短的开发周期。

汽车开发的最优解:在某一模块开发完成或发生调整之后,进入下一流程前,即刻进行全系统测试。伴随“软件定义汽车”概念的深入,为实现这一目的,使用虚拟ECU来进行测试与验证已成为行业内的共识,业界已逐渐意识到虚拟ECU的潜力、优势及其在塑造未来移动出行方面的潜能。

01.什么是虚拟ECU验证?

虚拟ECU验证(通常称为vECU)是一种突破性的方法,可以在暂无硬件原型的情况下测试软件功能。通过创建独立于硬件的虚拟环境,开发人员可以在PC机上使用仿真模型闭环执行ECU、模拟各种场景,并在早期阶段评估软件功能、与环境模型的交互以及组件模型。这种安全且高效的方法使得道路、台架测试得以转移至PC机,支持在开发阶段进行全面测试,以最有效和最可行的方式确保ECU软件的可用性。

其优点有:

  • 及早发现集成问题:虚拟ECU验证有助于及早发现与集成相关的缺陷,使工程师能够在进入下一个开发阶段之前及时解决这些问题。通过消除对硬件原型的依赖,可以更有效地识别和解决潜在问题,从而节省时间和资源。
  • 可扩展的环境:虚拟ECU平台提供了一个可扩展的环境,可以适应特定的测试要求。开发人员可以在相同的时间内运行更多测试,从而提高生产力并加快整个开发进程。
  • 减少验证工作:由于减少了对物理原型的需求,最大限度地减少了验证工作量和相关成本,开发人员可以专注于测试软件堆栈的复杂性,而不受硬件可用性的限制。
  • 稳定可靠的测试环境:虚拟ECU平台提供稳定可靠的测试环境,不受物理原型的不确定性和限制。这种受控设置可以对软件功能进行精确测试和准确评估,确保在实际场景中具有强大的性能。
  • 重用可用的硬件测试用例:通过将软件测试与硬件原型分离,虚拟ECU验证允许重用可用的硬件测试用例,不会丢失有价值的测试场景。

02.虚拟ECU是如何工作的?

虚拟ECU不依赖硬件,通过虚拟化环境来测试软件堆栈的复杂性,从而帮助开发人员构建ECU。通过连接外部环境模型的输入和输出信号,虚拟ECU得以使应用软件读取传感器值并设置执行器,并且可在相同时间内运行更多测试。

根据其使用情况,虚拟ECU有着不同的利用率级别:

  • 0级vECU(控制器模型):最简单的vECU 类型,由控制器模型或由其生成的 C 代码组成,主要用于测试控制算法本身。
  • 1级vECU(应用级):包含特定于虚拟ECU的应用软件代码,无需使用总线或网络。
  • 2级vECU(模拟BSW):在1级的基础上提供模拟底层软件(BSW)功能,可以在信号级别以及总线或网络级别进行通信。
  • 3级vECU(生产BSW):不仅包括应用软件,还包括用于测试目的的底层软件(BSW),能够评估真正ECU的硬件独立软件,并作为在各种测试级别测试BSW的手段。
  • 4级vECU(目标二进制文件):以真实ECU编译的代码为代表。作为实时系统最接近的表示形式,4级vECU包括硬件依赖性,允许评估潜在的故障和问题。

    *其中,4级又分为4a和4b级,分别指代部分未仿真和全栈仿真ECU。

03.移动出行的未来

虚拟ECU提供的协作属性使得汽车OEM和供应商能够在相同的工件(虚拟ECU)下无缝协作。vECU测试提供的真实可视化功能使其用户友好,并有助于不同利益相关者接受验证结果。这种方法不仅节省了时间和成本,使制造商能够投入更多时间部署新功能,也使ECU软件能够达到更高的成熟度水平。

随着自动驾驶、移动出行以及OEM对软件功能投资的增加,汽车行业已准备好迎接由汽车虚拟ECU等数字技术推动的重大转型。

04.工具推荐

SkyEye,中文全称天目全数字实时仿真软件,是基于可视化建模的硬件行为级仿真平台,能够为汽车嵌入式软件提供满足AUTOSAR标准的ECU虚拟化运行环境,实现故障诊断系统的预模拟。除了能够提前进行故障诊断的相关验证外,SkyEye还具备测试用例执行时间远低于实际硬件的优势,是车厂研发团队的最佳伴侣。

参考链接

https://www.cyient.com/blog/virtual-ecu-validation-validating-software-without-hardware-prototypes

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1688062.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

做OZON怎么选择物流,OZON物流Xingyuan

随着跨境电商的蓬勃发展,OZON作为俄罗斯领先的电商平台,吸引了大量中国卖家入驻。然而,物流作为跨境电商的关键环节,其选择对于卖家来说至关重要。本文将围绕“做OZON怎么选择物流”这一问题,深度解析OZON物流Xingyuan…

二分查找

题目链接 题目: 分析: 如果按照从头到尾的顺序一次比较, 每次只能舍弃一个元素, 效率是非常低的, 而且没有用到题目的要求, 数组是有序的因为数组是有序的, 所以如果我们随便找到一个位置, 和目标元素进行比较, 如果大于目标元素, 说明该位置的右侧元素都比目标元素大, 都可…

内网穿透--Frp-简易型(速成)-上线

免责声明:本文仅做技术交流与学习... 目录 frp项目介绍: 一图通解: ​编辑 1-下载frp 2-服务端(server)开启frp口 3-kali客户端(client)连接frp服务器 4-kali生成马子 5-kali监听 6-马子执行-->成功上线 frp项目介绍: GitHub - fatedier/frp: A fast reverse proxy…

什么是智慧校园信息平台?

智慧校园信息渠道是以物联网、云核算、大数据分析等新技术为核心技术,为校园供给一种才智型、数据化、网络化、协作型一体化的教育、科研、办理和生活服务的新式办理模式。那么一般的智慧校园信息渠道主要有哪些特色呢? 不同品牌的智慧校园信息渠道&…

【html5】03-新表单元素及属性

目录 1 引言 2 智能表单控件-type 3 表单属性 form input 5 答疑--解决required自定义提示信息 1 引言 HTML5引入了一系列新的表单输入类型,如email、url、number、range、date、time、datetime-local、month、week、search、color和tel等。这些新类型增强了表…

tiktok 算法分析

第一步: 先找到关键函数 第二步: 第三步: 初始化码表 第四步: 通过计算更新码表 第五步:

grafana + Prometheus + node-exporter + pushgateway + alertmanager的监控解决方案

业内比较著名的监控解决方案,据笔者所知,大概是三套: 一个是zabbix的解决方案,一个是prometheusgrafana,一个是ELK zabbix比较重,而且原生支持监控SNMP,自带一个仪表盘,不需要额外…

【Crypto】一眼就解密

文章目录 前言一眼就解密解题感悟 前言 Basic写累了,写写别的 一眼就解密 一眼md5试一试 小小flag 拿下! 解题感悟 30秒搞定

第十八篇:探索非关系型数据库:从入门到实践

探索非关系型数据库:从入门到实践 1. 引言 1.1 非关系型数据库的崛起:背景与重要性 在过去的几十年里,关系型数据库(RDBMS)一直在数据存储和管理领域占据主导地位。其严谨的结构化数据模型以及强大的事务处理能力&am…

Lin网络一:DHCP与FTP

目录 1、了解DHCP服务 2、使用DHCP服务有哪些好处 3、DHCP的分配方式 4、DHCP的租约过程 客户机请求IP地址 服务器确定租约 重新登陆 上述总结 配置: 5、传输文件到Linux服务器的常用工具: 1、FTP 文件传输协议 2、FTP传输模式: 3、FTP控制…

力扣第206题-反转链表

反转链表的效果示意图 要改变链表结构时,通常加入一个创建的临时头结点会更容易操作 时间复杂度:遍历2遍,2n 空间复杂度:额外创建一个栈,n (空间创建一个数组长度最大为5000,你说这个数组是栈也可以&…

基于svm的水果识别

1、程序界面介绍 该程序GUI界面包括待检测水果图片加载、检测结果输出、清空可视化框等。其中包括训练模型、加载图片、重置、识别检测按钮。 程序GUI界面 识别玉米识别西瓜 分类器识别水果基本原理: 由于每种水果的外形存在很大差异,比如西瓜与玉米&…

C语言/数据结构——每日一题(设计循环队列)

一.前言 上一次我们分享了关于队列的基本实现——https://blog.csdn.net/yiqingaa/article/details/139033067?spm1001.2014.3001.5502 现在我们将使用队列知识来解决问题——设计循环队列:https://leetcode.cn/problems/design-circular-queue/submissions/533299…

深度神经网络——什么是自动编码器?

自动编码器 自动编码器(Autoencoders)是无监督学习领域中一种重要的神经网络架构,它们主要用于数据压缩和特征学习。 自动编码器的定义: 自动编码器是一种无监督机器学习算法,它通过反向传播进行训练,目标…

【从C++到Java一周速成】章节10:封装、继承、方法的重写、多态

章节10:封装、继承、方法的重写、多态 【1】封装1.高内聚,低耦合2.代码层面的体现 【2】继承【3】方法的重写【4】多态 【1】封装 1.高内聚,低耦合 高内聚:类的内部数据操作细节自己完成,不允许外部干涉;…

如何使用 CapSolver 扩展找到 Google reCAPTCHA 站点密钥?

网站安全性在当今至关重要,Google reCAPTCHA 作为防止垃圾邮件和滥用行为的前线防御系统起着关键作用。reCAPTCHA 站点密钥是确保网站交互由人类驱动的唯一标识符。了解如何找到这个密钥对于网站管理员和开发人员来说至关重要。 什么是 reCAPTCHA 站点密钥 reCAPT…

智能家居6 -- 配置 ini文件优化设备添加

不知道什么是ini的朋友可以先看这篇:一文带你入门ini格式-CSDN博客 准备 如下图: 在src 下面添加 ini.c 在inc 下面添加 ini.h 在 receive_interface.c 里面包含头文件,把之前添加的设备类注释掉 这时候就可以把相关设备的(.c .h)文件给删掉了 如下图: 修改/添…

CDH6.3.2集成Flink1.17

直接运行脚本即可,一键输出相关依赖包 运行步骤已给到文档 下载地址

更新评估班级、确定评价学生

场景: 义务阶段为何要进行分层分班,这一点大家都心知肚明。你说的答案是不是也和我的一样:为了实行分层教学。"人往高处走,水往低处流",每次确定分班后,总会有一些学生向上调整,当然也…

python2.x版本安装、安装pip

文章目录 一、安装python二、安装pip2.1、pip简介2.2、pip安装2.3、no such option: -e2.4、pip卸载2.5、pip扩展 本文讲解在windows系统装安装python2.7.13版本 一、安装python 1.下载安装包,官网链接地址:https://www.python.org/downloads/ 直接在…