SPRADI0 July   2024

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
    1. 1.1 Getting Started
  5. 2Model-Based Design of eCompressor
    1. 2.1 General Texas Instruments High Voltage Evaluation (TI HV EVM) User Safety Guidelines
    2. 2.2 Block Diagram
    3. 2.3 Hardware, Software and Testing Requirements
      1. 2.3.1 Hardware setup
      2. 2.3.2 Software setup
      3. 2.3.3 Test Procedure
  6. 3 Simulink Configuration Settings
    1. 3.1 Simulink Tool Optimization
      1. 3.1.1 Optimum Code Generation
    2. 3.2 C2000 Specific Optimization
      1. 3.2.1 Using TMU Through Simulink
      2. 3.2.2 Using Software Libraries Through Simulink
      3. 3.2.3 Running Code From RAM
    3. 3.3 Performance Comparison
  7. 4 Profiling Using Simulink
    1. 4.1 Processor-in-loop (PIL) Method
    2. 4.2 C2000 Timer-Based Profiling
    3. 4.3 Code Composer Studio tools
  8. 5Summary

Performance Comparison

After enabling the optimizations as discussed in Section 3, performance of TIDM-02012 eCompressor model is validated against the default configuration. Overall improvement for the fastest execution loop of FOC is around 57% whereas for the speed loop the improvement in execution performance is around 38%.

The numbers discussed in Performance Comparison are profiled using the processor-in-loop (PIL) technique, which is discussed in Section 4.1. The default configuration still uses the C2000 hardware accelerator, that is, TMU. The difference in the optimized configuration column is the enabling of configuration settings optimized in MATLAB through the script shown in Section 3.1.1.

Table 3-2 Performance Comparison
Function (rate of execution) Default Configuration Execution Time (ns) Optimized Configuration Execution Time (ns Performance Improvement Over Default Configuration Default Configuration Average CPU Utilization Optimized Configuration Average CPU Utilization
Current control loop (66.67μs) 15261 6286 57.45% 22.89% 9.43%
Speed control loop (0.67ms) 2961 1840 37.87% 0.44% 0.28%
Background housekeeping loop (0.1s) 260 200 23.07% 0.0003% 0.0002%