涨姿势 | 一文说透电机控制器硬件在环测试(MCU HIL)

2023-05-16

软件质量是嵌入式产品开发中最关注的问题之一。随着产品迭代,软件复杂程度越来越高,为保证软件质量,需要对软件进行大量的测试,这会在整个产品周期中消耗大量时间及资源。另一方面,市场竞争日渐激烈,产品推向市场的周期越来越短,这与测试需要大量时间行成了冲突,因此软件测试正成为产品开发周期中最大的瓶颈之一。

1、软件测试的挑战

调查显示,在汽车行业中,测试已经占到软件开发成本的75%,且还在上升。以汽车行业为例,通常一个软件平台对应多种变体(中、高端车型、不同国家法规等),修复一个变体的bug可能对其它多个变体产生影响,带来的问题无疑是巨大的。

在传统开发过程中,测试团队通常会通过将ECU接入真实物理平台的方式来验证控制器功能,如针对电机控制器MCU,将MCU接入电机台架,通过MCU控制台架电机并监控传感器信息。在这种方式下,ECU测试(主要是应用层部分)只能在较为昂贵且复杂的真实台架上才能进行,测试往往在开发后期才能开始。并且需要制定极高的操作安全规范来保证设备及操作人员安全。即使如此,对于未经验证的ECU,在真实台架上的测试时仍然可能由于ECU软件潜在的bug导致台架损坏并对测试人员造成安全风险。在某些测试项目中,需要反复对同一工况测试,由于真实台架会受自身运行及环境影响,有时需要通过静置或其它手段保证多次测试的环境条件一致,会导致测试效率较低。

总的来说,传统的真实台架测试虽然一定程度保证了测试的准确性,但存在安全风险较高、造价昂贵、测试效率不高等缺点。

 

2、硬件在环测试(HIL)

为了克服以上局限,汽车行业提出了硬件在环测试(HIL-Hardware in the Loop)的概念。在这个概念中,物理被控对象由仿真模型替代,运行在实时仿真计算机中,实时仿真计算机提供实时操作系统,保证被控对象模型按照真实时间运行。同时,ECU通过与实时仿真计算机外设的IO接口连接形成闭环。

相对于传统台架测试,使用HIL测试会带来一系列优势:

 

安全:

  • 在HIL平台中测试,被控对象由实时仿真计算机模拟,同时好的HIL系统有完善的监控机制且各个零部件完全由软件控制。即使待测ECU存在bug,也不会造成平台损坏或危及测试人员安全。

  • 可轻松执行在实际设备中的危险工况或极限工况,并且在执行绝大多数危险工况时没有对操作人员或设备的安全风险。

高效:

  • 通过可视化界面,可实时观测所需数据。同时可记录数据进行后期分析。

  • 无需考虑周围环境因素对测试结构影响,可连续反复测试同一工况。

  • 通过自动化测试软件,可连续执行测试用例,加快测试进度。

  • 单套系统可以覆盖同一甚至多种平台的各类变体测试。

降低成本:

  • 一般而言真实台架相对于高精度实时仿真机来说造价更为昂贵,维护成本更高。

  • HIL测试可比台架测试更早介入产品开发周期,极大缩减纠错成本。

质量保证:

  • 随着在各个行业越来越多的使用基于模型开发(MBD)的流程,如图 2所示,在一个完整的MBD V流程开发中,左侧在软件开发过程中会引入模型在环测试(MIL,针对模型逻辑功能测试)及软件在环测试(SIL,针对模型生成的代码测试),有时在SIL之后还会进行处理器在环测试(PIL,将生成代码放入处理器测试)。而在集成ECU后则会进行HIL测试,以高效验证控制器功能并进行初始参数的标定。最终再进行台架或实物测试确定最终参数。作为MBD流程中不可或缺的一环,HIL测试能很好的保证最终产品质量。

 

3、MCU HIL原理

1.HIL系统结构一般而言,完整的HIL系统拓扑结构如图 3所

 

各系统主要为:

◆Real Time Target Computer+IO: 实时系统的核心部分,主要是实时处理器加外围IO。这里的IO通道一般根据用户ECU的PIN信息调整。比如当ECU的通道为ADC时,此时HIL系统一般配DAC。如此类推。在配置系统时需注意要预留一定的IO通道。

◆Signal Conditioning:信号调理模块,主要是因为ECU PIN脚的规格和实时系统的IO规格可能不一致,所以需要一些信号调理板卡,将实时系统的IO规格转换成ECU所需要的规格。

◆FIU:故障注入模块,串接在ECU和实时系统IO线束上的开关矩阵,用于控制模拟ECU引出线束上的一些故障,比如短路、断路等。

◆Load Simulation:负载仿真。当ECU工作时,部分通道需要输出电流控制某些继电器、阀体等。如果将这些通道直接连接到实时系统IO上,由于实时系统IO的阻抗很高,不能产生足够的电流。因此需要在通道上连接一些负载,以ECU可以正常工作,不会被诊断存在问题。

◆Real Loads/Real Sensors:当有一些传感器/负载无法有效模拟时,可以连接真实的负载或传感器。但真实传感器的信号需要由实时系统控制或读取,真实负载的驱动信号也要由实时系统读取,然后参与模型运算。

◆程控电源:由实时系统控制的供电模块,模拟车载低压电池的供电。同时该供电也是作为故障注入单元、负载仿真的参考点等。

◆上位机:上位机用于搭建模型、编译下载、监控模型运算,同时通过标定诊断工具,读取ECU中变量。运行自动化测试软件。

其中负载及负载模拟、故障注入可以根据具体测试目的来确定需不需要。

2.MCU HIL分类

电机控制器(MCU)的HIL系统和其它HIL系统有相同点和不同点,按照实现方式的不同,大体分为三类,如图 4所示。

 

2.1 Signal Interface Level:信号级HIL系统

在信号级系统中,控制器为真实控制器,其余如逆变器、电机以及负载均以模型的形式运行在实时仿真机中。外围接口部分主要为PWM控制信号、各类保护逻辑、电流采样接口(弱信号)、Resolver及CAN等。

信号级MCU HIL是最常见的系统,其优点是成本低,被测系统通过模型配置,灵活性较高。

 电机模拟器分功率模拟器和电机模型两部分,如图 7所示。通过电机模型,由功率模拟器输出三相电与逆变器对接。此种方案通常价格较高且灵活性有限,一般针对于特定产品测试。

 

2.3 Mechanical Interface Level:机械级HIL系统

由于真实电机的存在,所以需要真实测功机与之机械对接,故称之为机械级。在这级别系统中,用户的所有系统均为真实系统。

 

该方案类似真实台架,通常适用于某些控制板与逆变器及电机集成在一起的产品,如电动助力转向系统EPS的测试。

3.MCU HIL测试内容

MCU HIL的测试的内容如下:

(1)相电流/母线电压传感器信号,电机温度传感器信号,位置传感器信号采集;

(2)电机逆变器PWM控制功能验证;

(3)扭矩模式控制;

(4)转速模式;

(5)制动回馈测试;

(6)故障注入测试;

   ……

4

MCU HIL组成

1.MCU HIL模型

在MCU的HIL系统中,除实时仿真机及相关外围硬件外,模型搭建同样非常重要。一个好的模型决定了测试的精度、覆盖度等等最终结果。

ETest兼容MFI标准模型,支持加载FMU模型至半实物仿真环境;运行实时硬件在环仿真的同时,支持动态调整模型参数;与Simulink、同元MWorks等建模工具无缝集成。

 

2.实验管理软件

在HIL测试中,方便易操作的实验管理软件可以极大提高测试效率。实验管理软件主要安装在上位机电脑中,通过网线或其它形式与实时仿真机交互,方便测试人员管理测试过程。

(1)STM软件测试管理系统

凯云科技自主研发的STM软件测试项目管理系统,提供规范的测试流程,支持被测件接收、测试需求分析、测试用例设计、测试执行记录、测试问题处理、测试总结等测试全过程综合管理。

 

(2)ETest强大的自动化测试功能

ETest以向导式的方式快速建立测试用例,也可导入针对待测MCU功能的测试用例,并根据测试用例自动生成测试脚本,根据测试任务自动进行测试,减轻测试工程的工作强度。

自动执行测试用例的同时,也支持加入人工参与环节;提供全方位的执行过程监控手段,测试过程数据自动记录;内置高性能实时数据库,支持海量数据存储与处理。

测试结果数据可以在线监控,同时生成测试结果信息,自动生成office格式的测试文档,测试文档格式可定制。

(3)ETest可视化与脚本多种开发方式

既可以可视化创建状态机、通信时序、信号处理等多种可执行模型,也可以使用脚本编程实现灵活丰富的动态控制功能;内置百余项API和界面组件,让测控系统开发变得轻松、简单。

 

(4)ETest灵活部署且易于扩展

支持windows、Linux、RTLinux、中标麒麟、银河麒麟等多操作系统部署,支持单机部署、分布式部署;硬件板卡和软件模块均可自由组合配置,支持自定义集成与扩展。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

涨姿势 | 一文说透电机控制器硬件在环测试(MCU HIL) 的相关文章

  • ITX-RK3588J在Ubuntu22.04上进行SDK编译与烧写

    一 SDK下载 在Window上下载好最新的SDK 并把他放拉到虚拟机里的Ubuntu22 04上 二 搭建编译环境 Firefly维基教程上 需要安装编译环境 直接使用 sudo apt get install 软件名 安装全部软件 su
  • 计算机组成原理--基于Logisim的8位可控加减法器实验的应用(超详细/设计/实验/作业/练习)

    目录 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Logisim的8位可控加减法器实验 一 前言 二 环境与设备 三 内容 四 结果与分析 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Lo
  • 从0写bootloader — 最简单的bootloader和App

    地址空间划分 对于空间划分是人为定义的 bootloader编写 启动文件start s PRESERVE8 instruct is aligned by 8 bytes 指令集8字节对齐 THUMB use Thumb instructi
  • 单片机学习——存储器详解(程序存储器、片内RAM、拓展RAM、EEPROM)

    单片机必学系列 单片机学习 中断系统 单片机学习 存储器详解 程序存储器 片内RAM 拓展RAM EEPROM 单片机学习 定时器 计数器 单片机学习 A D转换 更新ing 单片机学习 存储器详解 程序存储器 片内RAM 拓展RAM EE
  • 协议数据单元PDU和服务数据单元SDU

    关注汽车工程师谈技术 一起学习技术 目录 1 协议数据单元PDU和服务数据单元SDU 2 AutoSAR中PDU和SDU的应用 3 总结 返回总目录 协议数据单元PDU 大家在AutoSAR开发过程中 特别是通信和诊断开发中 应该会经常碰到
  • WIN10下搭建gcc编译环境

    安装make 1 下载make 3 81 链接 https pan baidu com s 1kj2CzmLvl tDTuHJRXKnBg 提取码 v7fh 2 直接安装 全选next 安装路径最好不要改动 3 进入系统属性 选择环境变量
  • 合宙Air105

    基础资料 基于Air105开发板 Air105 LuatOS 文档 上手 开发上手 LuatOS 文档 参考博文 合宙Air105 摄像头 capture SPI Serial 串口 TFTLCD Micro SD卡 GC032A USB转
  • 【STM32实战】机械臂快递分拣系统(二)——机械臂控制程序(上位机)编写

    STM32实战 机械臂快递分拣系统 二 机械臂控制程序 上位机 编写 前言 题目分析 蓝牙模块的使用 上位机程序的编写 连接阿里云 测试 前言 近期回校上最后一门课 刚好是做机械臂有关的题目 所以写文记录一下 主要实现的是可以自动识别获取快
  • 基于STM32的IAP技术分享

    基于STM32的IAP技术分享 1 烧录过程说明 2 厂家bootloader 3 bootloader区和APP区空间划分 4 bootloader区和APP程序内容说明 5 实验 5 1实验所用到的上位机软件 5 2 bootloade
  • 合宙Air103

    基础资料 基于Air103开发板 Air103 LuatOS 文档 上手 开发上手 LuatOS 文档 探讨重点 对官方SPI FLASH demo中功能的复现 进行相关内容的学习及探讨 实现功能 功能 lua快速驱动 W25QXX XX代
  • Flash存储芯片:NOR Flash、NAND Flash、UFS和eMMC的比较与解析

    前言 在数字化时代的今天 数据的存储和管理变得越来越重要 各种各样的存储技术应运而生 以满足不同的使用场景和需求 其中 Flash存储芯片以其非易失性 可擦写性和可编程性等优势 占据了重要地位 本博客将详细介绍Flash存储芯片中的NOR
  • 计算机组成原理--基于Logisim的海明校验码解码电路实验的应用(超详细/设计/实验/作业/练习)

    目录 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Logisim的海明校验码解码电路 一 前言 二 环境与设备 三 内容 四 结果与分析 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Log
  • 数据类型:C++中的基本数据类型

    数据类型 C 中的基本数据类型 在C 中 数据类型是用于存储不同种类数据的变量类型 C 提供了多种基本数据类型 包括字符型和数值类型 本篇博客将详细介绍C 中的基本数据类型 并提供相应的示例代码 目录 引言 字符型数据类型 2 1 char
  • 第36章_瑞萨MCU零基础入门系列教程之步进电机控制实验

    本教程基于韦东山百问网出的 DShanMCU RA6M5开发板 进行编写 需要的同学可以在这里获取 https item taobao com item htm id 728461040949 配套资料获取 https renesas do
  • SP706_MCU监控芯片

    SP706 MCU监控芯片 说明 SP706R S T系列是微处理器 P 监控电路系列 集成了离散解决方案的无数组件 监控 P和数字系统中的电源和电池 SP706R S T系列的功能包括看门狗定时器 P复置 电源故障比较器和手动重置输入 S
  • 【项目实战】复旦微MCU+RT-thread+Moudbus(1)

    前言 手头存货FM33LC046芯片 复旦微提供的是freertos和rthread nano的例子 一直想使用RTThread完整版 MCU由于ROM有限 项目因此不可能太复杂 怕后期资源不够 第一步 git源码https gitee c
  • Keil的软件仿真和硬件仿真

    一 软件仿真 Keil有很强大的软件仿真功能 通过软件仿真可以发现很多将要出现的问题 Keil的仿真可以查看很多硬件相关的寄存器 通过观察这些寄存器值的变化可以知道代码有没有正常运行 这样可以避免频繁下载程序 延长单片机Flash寿命 开始
  • MSP430F42X系列单片机SD16例程(16位AD采样)

    说明 该驱动程序库包含了常用的16位ADC SD16 操作与控制功能函数 如选择通道 设置信号放大倍数 设置数据格式 基准源输出开关等 以及常用采样函数 包括单通道采样 平均采样 多通道同时采样等 可以作为各种程序的底层驱动使用 要使用该库
  • 主线剧情0.0-Linux学习资源大综合

    Linux 学习资源大综合 对收集到的比较丰富的 Linux 学习相关的资料进行整理 注 如果链接挂了请告诉我 如果链接里的内容被删了那么直接搜文章名字试试也许会搜出来很多转载的 备份 注 在 Github 上的原版文章日后可能会更新 在其
  • 如何为 Arm Cortex M4 交叉编译 GSL?

    我正在使用带有arm cortex m4的STM32 MCU 并且想要使用gsl 2 7 1 但是 我已经尝试过例如命令 configure prefix home user name gsl arm target arm none eab

随机推荐

  • 西门子S7-200 SMART系列PLC接线大全

    西门子S7 200 SMART系列PLC接线大全 西门子S7 200 SMART系列PLC接线大全 xff0c 电器人必须收藏 xff01 xff01 xff01 输出 模块 负载
  • 百度云离线下载含有违规内容检测方法分析

    最近国家开始一轮净网行动 xff0c 清除网上的淫秽色情信息 各大互联网厂家纷纷开始行动 xff0c 比如当年很好用的百度云离线下载就一度关闭 后来再次开启后 xff0c 就出现了这句经典词 xff0c 因含有违规内容被屏蔽无法下载 其实被
  • 基于PLC S7-200恒压变频供水系统设计

    基于PLC S7 200恒压变频供水系统设计 有Wincc仿真设计 xff0c 梯形图程序 系统主要由PLC 变频器 电动机 水阀 传感器构成 xff0c 该系统用PLC作为控制器 xff0c 将控制信号传递给变频器 xff0c 变频器控制
  • 我的首篇博客——记录学习,不忘初心

    Hello 大家好 xff01 我是阿冰 xff01 今天是2022年12月2日 xff0c 受疫情影响 xff0c 我们学校的同学都早早的回家了 xff0c 今天就是我回家的第五天 其实 xff0c 这并不算是真正意义的寒假 xff0c
  • Java标识符和关键字

    目录 前言 一 关键字 1 什么是关键字 xff1f 2 关键字的一些注意事项 二 标识符 1 什么是标识符 xff1f 2 标识符书写规范 总结 前言 在华清学习的所思所想 xff1a Java关键字及标识符 一 关键字 1 什么是关键字
  • 图为科技NVIDIA Jetson Xavier NX测评

    NVIDIA推出了世界上最小的人工智能计算机 NVIDIA Jetson Xavier NX 整个设置的大小小于普通大小的借记卡或信用卡 该模块虽然不是业务中最小的 xff0c 但它所提供的处理能力和其他质量足以弥补其尺寸 Jetson N
  • Jetson TX2 NX 模块以纳米尺寸提供 TX2 电源

    Nvidia 推出了Jetson TX2计算模块 的降速功能 xff0c 该模块位于 TX2 和低端Jetson Nano之间 Jetson TX2 NX 在与 TX2 相同的六核 CPU 和 256 核 Pascal GPU 上运行 Li
  • 无人机在行业的应用方面呈现出多元化的趋势

    随着科技的不断发展和进步 xff0c 无人机的行业应用也逐渐扩大 作为民用无人机主要细分领域之一 xff0c 测绘无人机的发展也越来越成熟 xff0c 市场规模保持高速增长 无人机在应用方面也呈现出多元化的趋势 xff0c 备受各个行业用户
  • 嵌入式能从事什么职业?

    嵌入式本身发展是很好的 xff0c 这也是大家接触它的原因 xff0c 最后大家也是想通过学习嵌入式而找到关于嵌入式开发的工作 xff0c 想必大家也应该知道嵌入式工作要求有很多 xff0c 下面就一起来看看嵌入式能从事什么职业吧 点击获取
  • 嵌入式入门学习的必要步骤

    很多新手在入门嵌入式的时候 xff0c 经常会有很多问题 xff0c 这也都是想要多多去了解嵌入式 xff0c 也害怕自己浪费了时间还没有学会嵌入式 xff0c 掌握到好方法学习嵌入式 xff0c 那么就会事半功倍 xff0c 下面一起来看
  • 逆变器原理

    逆变器是把直流电转变为交流电的一种装置 它一般包括逆变桥 控制逻辑和滤波电路组成 主要是把各种直流源转变为交流供交流负载使用 xff0c 一般直流源有蓄电池 干电池 太阳能电池等 xff0c 可以应用到不间断电源 UPS 太阳能发电转换等
  • RS-485 通讯协议简介

    与 CAN 类似 xff0c RS 485 是一种工业控制环境中常用的通讯协议 xff0c 它具有抗干扰能力强 传输距离远的特点 RS 485 通讯协议由 RS 232协议改进而来 xff0c 协议层不变 xff0c 只是改进了物理层 xf
  • 反向散射耦合RFID系统的原理及特点,带你更深入的了解

    一 反向散射耦合RFID系统 1 反向散射 雷达技术为RFID的反向散射耦合方式提供了理论和应用基础 当电磁波遇到空间目标时 xff0c 其能量的一部分被目标吸收 xff0c 另一部分以不同的强度散射到各个方向 在散射的能量中 xff0c
  • 西门子PLC,1200PLC如何接线,2分钟就能明白

    西门子PLC xff0c 1200PLC如何接线 xff0c 2分钟就能明白 西门子PLC xff0c 1200PLC如何接线 xff0c 2分钟就能明白 哔哩哔哩 bilibili
  • 2022年嵌入式开发就业前景怎么样?

    时间 xff1a 2022年5月26号 xff01 这几年嵌入式开发的发展前景可以说是非常的香 xff01 从工资和找工作的难易程度上说都是 xff01 按老师傅的说法就是 xff1a 加班不严重 xff0c 注重积累 xff0c 越往底层
  • ARM结构体系3:ARM指令的寻址和异常中断处理

    目录 ARM处理器的八种寻址方式 1 立即数寻址 2 寄存器寻址 3 寄存器间接寻址 4 寄存器移位寻址 5 基址变址寻址 6 多寄存器寻址 7 相对寻址 8 堆栈寻址 9 GNU汇编伪指令 异常中断处理 1 7种异常源 2 异常向量表 A
  • 51单片机(ESP8266模块)

    前言 xff1a 蓝牙 xff0c ESP 01s xff0c Zigbee NB Iot等通信模块都是基于AT指令的设计 一 AT指令 AT指令集是从终端设备 xff08 Terminal Equipment xff0c TE 或数据终端
  • 嵌入式工作机会会越来越少吗

    我认为嵌入式工作会越来越多 在当前产业结构升级的大背景下 xff0c 物联网会与诸多的行业领域产生更加紧密的联系 xff0c 而这个过程必然离不开嵌入式开发的参与 应用场景对于嵌入式开发领域的发展有非常直接的影响 xff0c 嵌入式开发要想
  • 大学生为何很想往嵌入式方向发展?

    这几年嵌入式工资一直在再涨 xff0c 挺好的 xff01 可以选择的公司也比较多 xff0c 起薪差不读在10k 13k的样子 招聘公司统计的数据是19K 优点1 xff1a 应届生嵌入式行业的薪资在毕业生眼里看来真的是很香 xff0c
  • 涨姿势 | 一文说透电机控制器硬件在环测试(MCU HIL)

    软件质量是嵌入式产品开发中最关注的问题之一 随着产品迭代 xff0c 软件复杂程度越来越高 xff0c 为保证软件质量 xff0c 需要对软件进行大量的测试 xff0c 这会在整个产品周期中消耗大量时间及资源 另一方面 xff0c 市场竞争