ZHCAE84 July   2024

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
    1. 1.1 入门
  5. 2eCompressor 基于模型的设计
    1. 2.1 通用米6体育平台手机版_好二三四 (TI) 高压评估模块 (TI HV EVM) 用户安全指南
    2. 2.2 方框图
    3. 2.3 硬件、软件和测试要求
      1. 2.3.1 硬件设置
      2. 2.3.2 软件设置
      3. 2.3.3 测试过程
  6. 3 Simulink 配置设置
    1. 3.1 Simulink 工具优化
      1. 3.1.1 最佳代码生成
    2. 3.2 C2000 专用优化
      1. 3.2.1 通过 Simulink 使用 TMU
      2. 3.2.2 通过 Simulink 使用软件库
      3. 3.2.3 从 RAM 运行代码
    3. 3.3 性能比较
  7. 4 使用 Simulink 进行性能分析
    1. 4.1 处理器在环 (PIL) 方法
    2. 4.2 基于 C2000 计时器的性能分析
    3. 4.3 Code Composer Studio 工具
  8. 5总结

Simulink 工具优化

C2000 Microcontroller Blockset 与 Embedded Coder 负责为 C2000 器件生成代码。为了确保生成的代码针对 C2000 进行优化,需要特别选择工具中的配置。Simulink 的“model configuration”选项卡中提供了与基于模型的代码生成相对应的所有配置。
TIDM-02012 硬件设置图 3-1 硬件设置

通过在 Simulink 窗口的 Hardware 选项卡下选择 Hardware settings 选项,打开模型配置参数。代码优化配置可在 Optimization 选项卡的 Code Generation 下拉列表中找到,如图 3-2 中所示。

TIDM-02012 配置参数图 3-2 配置参数

为确保针对 C2000 生成最佳代码而要进行的配置如表 3-1 所示。

表 3-1 MATLAB 优化设置
Simulink 选项卡 具体设置 默认配置 优化配置
Code Generation Build configuration Faster Builds Faster Runs
Prioritized objectives Unspecified Execution efficiency
Optimization Priority Balance RAM and speed Speed
Specify custom optimization On Off
Default parameter behavior Tunable Inlined
Efficient Map of Float to Int Off On
Interface Support absolute time On Off
Support complex On Off
Support non finite On Off
Math and Data Types Life span auto 1

通过在 Model configuration 部分中选择适当的选项,可以手动配置上述所有配置,如图 3-2 所示。或者,可以将包含上述配置的 MATLAB .m 脚本与应用示例集成,以确保调用优化的配置。

名为 TIDM_02012_F280039C_MBD_optimconfigs.m 的 TIDM_2012_F280039_MBD 示例中提供了与该应用集成的脚本。

注: 示例 TIDM_02012_F380039C_MBD_optimconfigs 随附的脚本可按原样用于其他应用示例,方法是仅更改模型名称并在生成代码之前运行,以确保在 Simulink 工具中配置所有最佳设置。

代码生成:

  1. 编译配置:以更快速度运行

    为“build configuration”选择“faster runs”可以确保 C2000 工具链配置更新为使用编译器优化 -O2,而不是默认的 -O0。

  2. 目标优先事项:执行效率

    在目标优先事项中将执行效率保持为最高优先级,可确保从 MATLAB 中生成代码时侧重于执行速度。目标优先事项中还提供了 RAM、ROM 效率等其他参数,可根据要求调用这些参数,但可能会影响性能。默认配置为“none”。

优化:

  1. 优化优先事项:速度最大

    用户可以配置优化优先事项,以实现最大速度或最小内存 (RAM),或者在 RAM 最小和速度最大之间实现平衡。要生成在执行速度方面性能更优的代码,应将优化优先事项设置为实现最大速度。默认行为是优化时在 RAM 与速度之间保持平衡。

    Configuration Parameters > Code Generation > Optimization > Optimization levels > Priority 更改为 Maximize Execution Speed。这会应用代码生成设置来实现最大执行速度。

  2. 优化自定义:关闭

    如果未选中“optimization customization”,则 Details 选项卡下会自动填充默认配置,使块操作针对提高代码执行速度进行了优化。

    Configuration Parameters > Code Generation > Optimization > Optimization levels 中,取消选中 Specify custom optimizations。这会禁用 Details 部分中的参数,因此您无法单独选择或清除这些参数。

  3. 默认参数行为:内联

    通过将 Configuration Parameters > Code Generation > Optimization > Default parameter behavior 更改为 Inlined 来优化默认参数行为,从而提升性能。

    此外,在 Configuration Parameters > Code Generation > Optimization > Advanced parameters 中,选中 Inline invariant signals 复选框。这在生成的代码中使用模型参数的数值,而不是它们的符号名称。

  4. 浮点到整型的有效映射:开启

    从浮点到整型的数据类型映射为待启用。此配置会移除处理 NaN 值的浮点到整型转换结果的代码。

    Configuration Parameters > Code Generation > Optimization > Advanced parameters 中,选中 Remove code from floating-point to integer conversions with saturation that maps NaN to zero 复选框。这会移除处理 NaN 值的浮点到整型转换结果的代码。

接口:

在“interface”选项卡下,可以禁用对所有不打算使用的数据类型配置的支持。为了生成高效的代码,可以移除对绝对时间非有限数复数的配置支持。Support 选项卡中启用了针对所选配置的额外检查,这可能会在运行时应用代码中增加额外数量的周期。

Configuration Parameters > Interface > Software environment 中,取消选中 Support: absolute time, non-finite numbers and complex numbers。这会导致支持依赖于绝对时间、非有限数和复数的块。取消选择 Support 选项卡下的未使用配置可确保更好的运行时代码效率。

应用生命周期:

设置 Configuration Parameters > Math and Data Types > Advanced parameters 中的 Application lifespan (days) 字段。这指定了依赖经过时间的应用程序在计时器溢出发生前可以执行多长时间(以天为单位)。