首页 > 其他分享 >虚拟ECU:彻底改变汽车软件开发与测试

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

时间:2024-05-24 16:29:14浏览次数:31  
标签:vECU 彻底改变 软件开发 验证 硬件 ECU 虚拟 测试

汽车开发领域有着垂直性较强的一系列需求,其中最为瞩目的需求之一就是对安全高效的软件测试方法的需求。传统的汽车开发偏向使用硬件原型与真实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  

标签:vECU,彻底改变,软件开发,验证,硬件,ECU,虚拟,测试
From: https://www.cnblogs.com/digiproto/p/18211225

相关文章

  • 软件开发人员如何兼职赚钱
      1.AI项目外包:许多公司或个人有AI的需求,但缺乏实施能力。作为软件开发人员,你可以通过各种外包网站承接这类项目。2.开发AI应用:你可以开发一些AI应用,比如聊天机器人、语音识别应用或推荐系统等。将它们发布到AppStore或GooglePlay上,并通过广告或收费模式来获利。3.......
  • XXL-JOB executor 未授权访问漏洞
    XXL-JOBexecutor未授权访问漏洞XXL-JOB是一个分布式任务调度平台,其核心设计目标是开放迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。XXL-JOB分为admin和executor两端,前者为后台管理页面,后者是任务执行的客户端。executor默认没有配置认证......
  • Liquibase中MARK_RAN与EXECUTED:解析与实战应用.
    哈喽,大家好,我是木头左!引言在软件开发的世界里,数据库的版本控制是一项重要的工作。Liquibase是一个开源的、企业级的数据库版本控制工具,它能够帮助更好地管理和控制数据库的版本。在这篇文章中,将深入探讨Liquibase中的两个重要概念:MARK_RAN和EXECUTED。这两个概念虽然看起来简......
  • 源代码安全:华企盾DSC防泄密系统在软件开发企业中的应用
    在软件开发行业中,源代码的安全是企业最宝贵的资产之一。源代码的泄露不仅会导致企业损失巨大的经济利益,还可能危及到企业的市场竞争力。因此,保护源代码的安全成为了软件开发企业的重要任务。华企盾DSC系统作为一套先进的数据安全防泄密解决方案,在保障源代码安全方面发挥着至关重要......
  • .NetCore源码阅读笔记系列之Security (二) 自定义认证实践
    通过前面对AddCookie或者 AddOpenIdConnect等了解,其实里面都实现了一个AuthenticationHandler<TOptions>的认证处理,接下来我们来简单自定义一个试试首先我来实现下面这个方式,我添加了一个AddLIYOUMING()services.AddAuthentication(options=>{......
  • Spring Boot —— Spring Security
    引入依赖Springboot版本2.7.6<properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.repo......
  • Langchain Plan-And-Execute框架使用
    代码示例:可以调用自定义工具函数importosos.environ['OpenAI_API_KEY']='sk-piAxxxx替换你的xxxU7F5Zrc'os.environ['SERPAPI_API_KEY']='950fbd942ee77替换你的xxx37b'#设置OpenAI网站和SerpApi网站提供的API密钥fromdotenvimportload_dotenv#用于加......
  • JavaScript execute asynchronous functions in Parallel with count and Promise All
    JavaScriptexecuteasynchronousfunctionsinParallelwithcountandPromiseAllInOneJavaScript使用count和Promise并行执行异步函数errorsfunctionpromiseAll<T>(functions:Fn<T>[]):Promise<T[]>{returnnewPromise((resolve,reject)=&......
  • 软件工程方法论对我们经软件开发有多大用处?谈谈你的看法
    软件工程方法论嘛,就像我们开发软件时的“导航仪”和“工具箱”。它给我们指明了方向,提供了方法和工具,让我们在软件开发这个复杂的旅程中少走弯路,提高效率。首先,软件工程方法论给我们提供了一套完整的开发流程。这个流程就像一张地图,告诉我们应该先做什么,后做什么,怎样确保每个环节......
  • Windows Security Baselines(安全基线指南) 是由微软提供的一个安全配置集合,旨在帮助组
    安全基线指南-WindowsSecurity|MicrosoftLearnWindowsSecurityBaselines(安全基线)是由微软提供的一个安全配置集合,旨在帮助组织和管理员快速部署一套推荐的安全设置,以增强Windows操作系统及其组件的安全性。这些基线覆盖了操作系统本身、MicrosoftEdge浏览器、Inter......