021-64886750

  • 实时目标机

    Simulink模型库

    Demo套件

info@yisuworld.com

使用Simulink Test和Speedgoat实时仿真系统进行MCU HIL的自动化测试

网站首页    技术blog和使用技巧    使用Simulink Test和Speedgoat实时仿真系统进行MCU HIL的自动化测试

 

 

Simulink TestMATLAB/Simulink中进行自动化测试的工具,具有如下特点:

  • 对MATLAB/Simulink User十分友好,使用习惯上也非常相似;
  • 与MATLAB/Simulink深度融合,很多功能与MATLAB/Simulink深度绑定;
  • 一款轻量化的自动化测试工具,学习成本低,一周时间就可以上手;
  • Simulink Test可以与MATLAB/Simulink的其他工具箱配合使用,可以满足更多测试需求;例如在Simulink Test的Test Case中嵌入Simulink Requirements的超链接,实现Test Case与测试需求的跟踪。例如通过Simulink Report Generator实现定制化测试报告;例如利用Simulink Coverage生成包含测试覆盖率信息的报告。

 

Speedgoat实时仿真系统是MATLAB/Simulink工具箱Simulink Real-Time推荐的实时仿真与测试的硬件系统。本文介绍如何使用Simulink TestSpeedgoat实时仿真系统进行MCU HIL的自动化测试;

 

——测试需求与技术规格——

测试需求来源于产品开发的技术规格,测试工程师以此编写产品测试的技术规格由于本文是原理性的说明,因此对测试需求进行适当的简化

  • 测试需求1,搜索MTPA(Max Torque Per Ampere,最大转矩电流比)工作点:电机峰值电流100A,找到最大转矩时的d轴电流和q轴电流;
  • 测试需求2,转矩精度:全速度范围内,最大转矩输出曲线的偏差在5%以内;

 

以上两个测试需求,测试需求1与自动化标定类似,测试需求2MCU HIL测试的一个常规需求;

 

1

项目

说明

测试名称

搜索MTPA工作点

需求来源

/

测试等级

/

应用范围

对于XXX项目的XXX车辆XXX控制器

测试目的

电机峰值电流100A,找到最大转矩时的d轴电流和q轴电流;

初始状态

检查目前控制器的软件版本是否正确

设置KL301

设置KL151

检查标定CAN接口的message XXXID 0xXXXRolling Counter持续5正常

测试步骤

设置控制器进入电流闭环模式;

设置控制器进入运行状态;

检查控制器持续工作5秒无故障;

设置电机转速1500rpm

根据电流峰值电流100A,电流角变化范围90~180,步长0.5,得到d轴电流和q轴电流的给定值,共计181组数据;数据1秒的更新周期依次更新。并通过CAN接口以1ms的发送周期,发送给控制器;

测试相关变量

输入变量

输入的电机转速:In_Omega_mach,单位:rpm

输入的d轴电流:In_I_d_set,单位:A

输入的q轴电流:In_I_q_set,单位:A

测量参数

d轴电流给定值:I_d_set,单位:A

q轴电流给定值:I_q_set,单位:A

d轴电流实际值:I_d,单位:A

q轴电流实际值:I_q,单位:A

电机转速实际值:Omega_mach,单位:rpm

电机实际转矩:Toq,单位:Nm

测试结束状态

设置控制器进入停止状态;

设置控制器进入待机模式;

期望结果

最大转矩时的d轴电流和q轴电流;

测试文档

/

 

2

项目

说明

测试名称

转矩精度

需求来源

/

测试等级

/

应用范围

对于XXX项目的XXX车辆XXX控制器

测试目的

全速度范围内,最大转矩输出值的偏差在5%以内;

初始状态

检查目前控制器的软件版本是否正确

设置KL301

设置KL151

检查标定CAN接口的message XXXID 0xXXXRolling Counter持续5秒正常

测试步骤

设置控制器进入电流闭环模式;

设置控制器进入运行状态;

检查控制器持续工作5秒无故障;

根据转矩给定值数据表速度变化范围90~9000rpm,步长90rpm d轴电流和q轴电流的给定值数据表,共计101组数据;数据以1秒的更新周期依次更新。并通过CAN接口以1ms的发送周期,发送给控制器;

测试相关变量

输入变量:

输入的电机转速:In_Omega_mach,单位:rpm

电机给定转矩:Toq_set,单位:Nm

输入的d轴电流:In_I_d_set,单位:A

输入的q轴电流:In_I_q_set,单位:A

测量参数

d轴电流给定值:I_d_set,单位:A

q轴电流给定值:I_q_set,单位:A

d轴电流实际值:I_d,单位:A

q轴电流实际值:I_q,单位:A

电机转速实际值:Omega_mach,单位:rpm

电机给定转矩:Toq_set,单位:Nm

电机实际转矩:Toq,单位:Nm

测试结束状态

设置控制器进入停止状态;

设置控制器进入待机模式;

期望结果

给定转矩与实际转矩的偏差在最大转矩的5%以内;

测试文档

/

 

——系统组成——

搭建桌面式的MCU HIL系统,系统组成如下图所示,包括:

  1. Speedgoat实时仿真机和上位PC机,两者通过千兆以太网连接。Speedgoat实时仿真器包括IO334 FPGA模型,IO3XX-21数字扩展板,IO602 CAN HS/FD板卡;
  2. IO334的模拟信号连接到模拟接口端子,再连接到旋变调理板。
  3. IO3XX-21的数字信号连接到继电器接口,控制KL15和KL30信号,接收MCU Controller的PWM信号。
  4. IO602的CAN FD Port1连接MCU Controller的整车CAN接口。

 

img1

1 系统组成

 

——MCU HILSimulink模型——

搭建MCU HILSimulink模型如下所示,

 

序号

子系统模型

描述

1

HDL_DUT与相连的子系统

电机的FPGA模型和CPU模型

2

MCU_CAN

CAN通信相关的模型

3

INPUT

用于数据的输入

4

OUTPUT

用于数据的输出

5

DISP

用于数据的显示

图示

描述已自动生成

2 MCU HILSimulink模型

 

——Simulink Test输入和输出——

Simulink Test输入和输出如下图所示,包括:

  • Inputs:可以输入MAT文件,Excel文件,Test Sequence;
  • Parameters:可以输入MAT文件,Excel文件;
  • Assessment:可以输出MAT文件,Excel文件,Test Assessment;

 

img3

3 Simulink Test的输入和输出

 

——开发自动化Test Case——

开发自动化Test Case的过程,就是将InputsParametersAssessments三部分完成的过程。

通过INPUTS编辑器创建EXTERNAL INPUTS,与模型顶层的input配合使用,以导入转矩,d轴和q轴电流给定值;

 

图形用户界面, 文本, 应用程序, 电子邮件

描述已自动生成

4 INPUTS编辑器

 

通过SIMULATION OUTPUTS编辑器创建LOGGED SIGNALS,这些信号会被记录下来;

 

图形用户界面, 应用程序

描述已自动生成

5 SIMULATION OUTPUTS编辑器

 

通过Logical and Temporal Assessments编辑器创建Assessment 详情参考Simulink TestHelp文件“Assess Temporal Logic by Using Temporal Assessments”和“Logical and Temporal Assessment Syntax

 

图形用户界面, 文本, 应用程序

描述已自动生成

6 Logical and Temporal Assessments编辑器

 

——自动化执行Test Case——

通过SIMULATION SETTINGS OVERRIDES设置合理的仿真时长,然后点击Run按钮,执行自动化Test Case

 

图形用户界面, 文本, 应用程序, 电子邮件

描述已自动生成

7 执行Test Case

 

——查看测试结果——

测试完成之后在Results and Artifacts查看测试结果;

 

img8

8 测试结果的树型图

 

图形用户界面

描述已自动生成

9 测试结果:设定转矩与实际转矩

 

图形用户界面, 应用程序

描述已自动生成

10 转矩误差(设定转矩实际转矩的判断

 

——创建测试报告——

测试完成之后在Results and Artifacts中,右键选择Create Report

 

img11

img12

11 测试报告

 

 

——Hardware and Software for MCU HIL——

首先利用Simulink基本模块搭建Spatial Harmonics PMSM模型引用JMAGMAXWELL或者Motor-CAD导出到MATLAB Workspace中的电机磁链表格数据,通过HCIP工具,调用HDL Coder生成HDL代码,最终编译下载至Speedgoat IO334 FPGA 板卡中运行。整个过程所需的主要硬件和软件如下

其中Speedgoat公司产品:

  • Performance Realtime Target Machine
  • IO334 FPGA Module
  • IO3XX-21 FPGA rear plug-ins
  • IO602 CAN FD
  • Speedgoat I/O Blockset
  • HDL Coder Integration Package

其中MathWorks公司产品:

  • MATLAB/Simulink
  • MATLAB/Simulink Coder
  • HDL Coder/Fixed Point Design
  • Simulink Real-Time
  • Simulink Test
  •  

如果对以上方案感兴趣,欢迎与我们联系。

电话:021-64886750

邮箱:Info@Yisuworld.com

地址:上海市闵行区中春路7755宝虹中心701, 201101

 

 

2022年5月2日 11:35
浏览量:0