首页 > 其他分享 >虚拟ECU实践:汽车发动机控制器仿真

虚拟ECU实践:汽车发动机控制器仿真

时间:2023-06-09 18:13:12浏览次数:34  
标签:仿真 SkyEye 控制器 标定 ECU 虚拟 测试

​虚拟化技术使得在Windows PC上对汽车ECU(Electronic Control Unit,电子控制器单元)进行闭环仿真成为可能,能有效改善ECU开发过程。一些开发任务得以从道路、测试平台和HIL(Hardware in the Loop,硬件在环)转移到PC上,缩短开发时间和成本。

▲汽车系统模型测试现状

由在本文中,我们将主要介绍虚拟化技术在ECU开发中的实现,其中的技术挑战在于:如何用合理的方式将ECU任务和基本软件移植到Windows PC上,以便关键的开发任务可以在PC上执行,而不需要访问真实的硬件(如车辆原型、测试平台或HIL设施)。

 

01.仿真加速软件开发

传统汽车软件开发的流程一般为:功能开发团队使用基于模型的工具链开发ECU模型,生成C代码,然后针对目标处理器进行代码编译,并使用测试平台,HIL系统和道路测试来测试和验证生成的ECU,进而将结果反馈至开发人员,结束开发周期。该过程存在的主要缺点有:1、迭代时间长;2、受原型车和测试设备的限制——硬件资源昂贵且稀缺。

为开发团队提供虚拟ECU可解决上述问题:开发人员可在PC机上对软件进行模拟、校准和测量,缩短开发周期,减少对稀缺资源和实际硬件的严重依赖;同时,通过虚拟ECU,开发人员可随时观察和修改内存变量甚至硬件状态,极大提升工作效率。

▲传统ECU开发vs虚拟ECU开发

 

虚拟ECU可应用以下场景:测量和标定、单元测试、持续集成、协同仿真、总线仿真。

▲基于虚拟ECU的应用场景

 

在PC上设置虚拟ECU主要有两种选择:

1、使用芯片模拟重新托管本机二进制代码。基于模拟ECU处理器的指令集,本机ECU代码(二进制)在PC上执行,无需访问C代码。

2、重新定位C代码。编译ECU的C代码,以便在Windows PC上执行——需要访问C代码来构建Windows可执行文件或DLL(Dynamic Link Library,动态链接文件)。

本文将主要介绍如何通过第一种方式设置虚拟ECU。

 

02.基于SkyEye的虚拟ECU方案

为支持构建数字仿真目标系统,运行实际项目的可执行文件,需要设计通用的仿真平台软件,灵活构建不同的 ECU 仿真目标系统,提供工程配置管理,方便工程师进行项目用例的配置和管理。

SkyEye,中文全称天目全数字实时仿真软件,是基于可视化建模的硬件行为级仿真平台,支持用户通过拖拽的方式对硬件进行行为级别的仿真和建模。SkyEye作为一款指令集仿真器,其仿真对象是物理芯片。

SkyEye采用“面向对象”的设计思想,通过将虚拟的目标系统上的所有组件都设计为独立的模块,支持手动修改和界面图形拖拽方式来快速生成虚拟目标系统的“硬件配置文件”,从而快速构建虚拟目标系统,达到加载和运行二进制目标程序进行仿真测试的目的。

基于SkyEye的虚拟ECU整体架构主要包含:SkyEye全数字仿真平台、虚拟ECU、标定软件、IDE开发工具、脚本模块、MATLAB模型以及CAN总线等模块,各个模块间通过虚拟软总线进行连接。

▲基于SkyEye的虚拟ECU整体架构

 

基于SkyEye的虚拟ECU可将开发任务从路测和台架转移至Windows/Linux PC上,以实现ECU软件的高效在环(SIL)开发。工程师可构建高度仿真真实控制器的虚拟ECU以加载运行真实ECU中的目标二进制文件。

同时,SkyEye虚拟ECU构建了一个强大的实验环境,通过多领域分布式协同仿真平台DigiThread,可以与多种工具(包括通过标准化FMI接口运行的MATLAB/Simulink等)的仿真模型(如电源模型、电机模型等)进行数据交互,实现对物理系统行为的模拟和复制。在构建物理样机或进行台架测试之前,工程师可基于虚拟ECU对系统设计提前进行验证,以最大限度地减少对实验室样机和工作设备的需求。

此外,虚拟ECU系统的复制比真实硬件系统容易得多,其配置可快速复制拓展,成本较低,每个工程师都可拥有一个开发环境,避免占用稀缺资源(如HIL台架测试)——更多的工程师可从中受益,项目研发周期亦可大幅缩短。

 

03.某发动机控制器仿真案例

使用仿真建模的方法,可以使基于INCA的发动机控制单元(ECU)标定、测量和诊断事半功倍。

在实际场景中进行测试,需根据具体的测试要求和标定项目进行设置和调试,同时也需要对测试数据进行分析和评估,以确保测试结果的准确性和可靠性。

▲真实ECU标定测试图

 

该过程中,存在以下问题:

1、实验环境限制:硬件标定需要使用实际的测试设备和实验车辆进行标定,因此需要考虑测试设备和实验车辆的可用性、实验场地和环境等因素,实验环境的限制可能会影响标定结果的精度和可靠性;

2、试验成本高:硬件标定需要使用实际测试设备和实验车辆,包括INCA硬件本身的试验成本,人力、物力和时间成本较高;

3、难以覆盖所有测试情况:硬件标定需要使用实际的测试设备和实验车辆进行标定,可能难以覆盖所有的测试情况,特别是在测试较为复杂的场景时,可能需要更多的测试车辆和测试设备来进行标定,试验成本和难度增加。

 

解决方案:

使用SkyEye模拟真实控制器中的所用芯片,运行真实的ECU软件,并建立虚拟CAN Bus和INCA上位机的连接,可高效解决标定场景中遇到的上述问题。

▲虚拟ECU标定测试图

 

同时,为解决仿真系统中发动机物理模型的问题,多领域分布式协同仿真平台DigiThread提供了一套通用的API 机制,可支持包括Simulink、MATLAB等各类虚拟模型的挂载。将Simulink生成的发动机模型和ECU软件建立连接,即可满足对于汽车领域各类系统半闭环仿真的需求。

本案例中,数据均由INCA上位机提供,标定工程师无需关心除标定工作以外的硬件连接关系,在实验室中即可轻松完成标定工作。​

标签:仿真,SkyEye,控制器,标定,ECU,虚拟,测试
From: https://www.cnblogs.com/digiproto/p/17469932.html

相关文章

  • Leetcode Hot 100 & 128. Longest Consecutive Sequence
    参考资料:考点:哈希&[题干]Input:nums=[100,4,200,1,3,2]Output:4Explanation:Thelongestconsecutiveelementssequenceis[1,2,3,4].Thereforeitslengthis4.做的时候冥思苦想了半天,因为这个题目要求是O(n)的解法,后来看到题解的时候还一度怀......
  • m基于FPGA的FOC控制器verilog实现,包括CLARK,PARK,PID及SVPWM,含testbench
    1.算法仿真效果QuartusII12.1(64-Bit) ModelSim-Altera6.6dStarterEdition 仿真结果如下:   2.算法涉及理论知识概要整个系统的结构如下所示: 1、采集到两相电流 2、经过clarke变换后得到两轴正交电流量, 3、经过旋转变换后得到正交的电流量Id、Iq......
  • 【工具使用】SecureCRT的下载、安装图文详细过程介绍
    本文目录一、SecureCRT的介绍二、SecureCRT的下载三、SecureCRT的安装四、SecureCRT的使用一、SecureCRT的介绍SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT......
  • Retrieval of the RSA public key is not enabled for insecure connections.
    入职新公司,办理入职、培训、看业务……终于到了跑代码阶段了。遇到一个问题.netFramework链接数据提示RSA失败或者SSPI失败。原因不赘述,解决方案两步,第一使用Navicate链接数据库,选中特定用户,一般上你用哪一个账户选哪一个账户 然后双击用户,改为这个就可以 第二部修改.N......
  • Maxwell仿真线圈自感互感1
    【1】新建文件   【2】设置涡流场新建文件后页面默认为:magnetostatic静磁场,需要修改为EddyCurrent涡流场 相关回答:maxwell中涡流场和瞬态场的区别是什么:涡流场和瞬态场都可以求解,推荐涡流场,精度高【3】利用Draw中的软件内置UDP(UserDefinedPrimitives)或自定......
  • 51串口proteus仿真实验
    一、实验目的1、了解单片机串口接收与发送方法。2、了解串口助手使用方法。3、了解数码管动态显示方法。4、了解单片机串口中断服务函数用法。二、实验内容1、完成单片机串口往电脑发送数据实验。2、完成电脑串口助手往单片机发送学号,并通过单片机串口完成学号回传,并利用数......
  • Jmeter 事务控制器
    https://blog.csdn.net/weixin_45071330/article/details/129942182 什么是事务?性能测试的结果统计时我们一定会关注TPS,TPS代表每秒的事务数,每个事务对应的是我们的请求。虽然Jmeter能够帮我们把每个请求统计成一个事务,但有时候我们希望多个操作统计成一个事务,Jmeter也......
  • Jmeter 循环控制器与计数器
    图1 图2  图3 图4: 图5:  图6:   ......
  • Nginx 安装 ModSecurity 模块
    1、安装ModSecuritycd/usr/localgitclonehttps://github.com/SpiderLabs/ModSecurity.gitcdModSecuritygitsubmoduleinitgitsubmoduleupdateshbuild.sh./configuremakemakeinstall2、安装ModSecurity-nginxcd/usr/localgitclonehttps://github.com/SpiderLabs/ModSec......
  • m基于自适应修复算法的AODV-SAR路由协议matlab性能仿真
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要AODV-SAR,Self-AdaptiveRepair定义1自修复节点:任意选取路径S→A→B→C→D为MANET中一条业务传输路径,其中节点S为该传输路径的源节点,节点D为该传输路径的目的节点。如果在某一时间,节点B和节点C之间的路径发生......