主要内容

使用PIL测试进行代码验证和分析

在处理器 - 循环(PIL)仿真中,控制算法在目标硬件中执行,但工厂模型在主机上运行。工厂模型模拟了控制器的输入和输出信号,并使用串行通信接口与控制器通信。此功能允许您使用Pil Simulation来确定目标硬件上的执行时间,然后您可以将其与在主机上模拟模型的执行时间进行比较。

执行时间,或者从PIL模拟中获得的算法的性能指标,可以帮助您检测目标硬件上的算法溢出。PIL分析报告显示了算法在目标硬件上的平均和最大执行时间。这个例子解释了德州仪器™LAUNCHXL-F28379D硬件板上的PIL profiling。

本示例使用mcb_pmsm_foc_sim.slx.模型显示PIL仿真中的代码验证。此示例显示了模型中当前控制子系统的PIL分析。该子系统包括磁场定向控制(FOC),电流缩放(每单位转换),速度测量,并且转子位置缩放(从编码器位置计数角度的计算)的算法。Pil Profifing Report显示目标硬件中控制算法的平均和最大执行时间。

此示例包括以下任务:

  • 通过使用PIL测试通过比较仿真和目标硬件操作模式中的算法来验证代码执行。

  • 通过测量算法在目标硬件上的执行时间来进行PIL profiling,并生成PIL profiling报告。

必需的MathWorks下载188bet金宝搏

  • 嵌入式编码器®

  • 德州仪器C2000™处理器的嵌金宝app入式编码器支持包

金宝app支持的硬件

  • LaunchXL-F28379D控制器硬件板

准备公益诉讼模式

  1. 打开mcb_pmsm_foc_sim.slx.模型。

    Open_System('mcb_pmsm_foc_sim.slx');

    该模型模拟了闭环速度控制的PMSM电机和FOC算法。

  2. 硬件Simulink To金宝appolStrip的选项卡,单击硬件设置

  3. 在里面配置参数对话框,下硬件实现,设置硬件板领域TI Delfino F28379D发射台

使用pil验证代码

  1. 在“配置参数”对话框中,选择下面的配置设置硬件实现>硬件板设置>目标硬件资源>pil

    1. 通信接口- 选择序列号

    2. SCI模块- 选择sci_a.

    3. 串口在MATLAB偏好—设备会自动检测硬件所连接的通信端口。该参数在当前活动的MATLAB的其余部分保持不变®会议。点击刷新按钮,重新检测通信端口。

  2. 打开mcb_PIL_config_TI.m脚本文件设置配置参数。

    编辑('mcb_pil_config_tim');
  3. 更新脚本中的模型名称和停止时间。

  4. 运行脚本更新仿真模型的配置参数和PIL参数。

  5. 右键单击当前控制子系统中的mcb_pmsm_foc_sim.slx.模型的例子。下C / c++代码菜单中,选择将这个子系统部署到硬件

    系统显示子系统的构建代码对话框。将存储类设置为对于所有参数。

  6. 点击建造创建一个名为的模型不确定其中包括一个名为“当前控制”的PIL子系统。

  7. 将当前控制子系统重命名为当前控制(PIL)。

  8. 复制当前控制(PIL)子系统并替换当前控制子系统mcb_pmsm_foc_sim.slx.模型的例子。

    在PIL模式下,系统将当前控制子系统部署到目标上,并在目标硬件上执行该子系统。

  9. 为了比较在主机模拟和在PIL模拟中的算法执行情况,将当前控制子系统与当前控制(PIL)子系统并行连接。此外,在子系统输出中启用信号记录功能。

  10. 在Simuli金宝appnk ToolStrip上,选择银/公益诉讼经理应用程序从应用程序选项卡。

  11. SIL / PIL.将来发布,选择仅限SIL / PIL SIM

  12. 选择SIL/PIL模式的模型块在里面被测系统字段。

  13. 点击运行银/公益诉讼SIL / PIL.ToolStrip构建当前控制(PIL)子系统并将其部署到目标。

    在系统部署子系统之后,当前控制(PIL)子系统在目标硬件处理器上执行,而工厂模型在主机上运行。

分析Pil Profiling结果

当PIL模拟结束时,系统生成一个分析报告。

请注意

PIL仿真需要比基于主机的模拟更多的时间。这是因为串行通信(与当前控制(PIL)子系统的输入和输出相关)在目标硬件上运行的主机和子系统之间。

这个分析报告是针对定点数据类型的,它显示了当前控制(PIL)子系统在目标硬件上运行的最大和平均执行时间。

你可以使用数据检查员按钮模拟选项卡比较基于主机的模拟和PIL模拟(在目标上执行)期间记录的信号。这有助于验证基于主机的模拟和PIL模拟的准确性。

这张图比较了来自电流控制(PIL)和电流控制子系统的速度反馈信号。

如果执行时间超过预算时间的60%,您可以使用以下技术之一优化算法:

  • 执行从RAM。

  • 将某些功能卸载到CLA或其他CPU。

  • 扩展算法以在每个交替周期运行。

  • 将较不重要的功能,如速度计算,移动到较慢的速度。

有关SIL/PIL代码验证的详细信息,请参见: