SPRAD20 March   2022 AM2634 , AM2634-Q1


  1.   Trademarks
  2. 1Introduction
  3. 2A Step-by-Step Guide to Running a Traction Inverter
    1. 2.1 Create Real Time Debug Interface
      1. 2.1.1 Confirm CCS Features
      2. 2.1.2 Create Target Configuration File
      3. 2.1.3 Add Serial Command Monitor Software
      4. 2.1.4 Launch Real Time Debug
    2. 2.2 Configure Control Peripheral and ADC Interrupt With Sysconfig
      1. 2.2.1 Generate PWM for Time Reference
      2. 2.2.2 Synchronize ADC Sampling and Interrupt Service Routine
      3. 2.2.3 Configure DMA for Resolver Excitation via DAC
    3. 2.3 Configure Gate Driver Interface With MSPI
      1. 2.3.1 Confirm Control Card Hardware Configuration for Gate Drivers
      2. 2.3.2 Configure MCSPI for UCC5870 Gate Drivers
      3. 2.3.3 Initialize UCC5870 Gate Drivers
    4. 2.4 Get Samples From ADC and Read Samples Via CCS
      1. 2.4.1 Register and Enable Interrupt
      2. 2.4.2 Add Log Code to Read Samples in Graph at Fixed Rate
      3. 2.4.3 Read ADC Samples in Expression and Graph Windows
    5. 2.5 Generate Space Vector PWM and Drive Motor in Open Loop
      1. 2.5.1 Setup SVPWM Generator Inputs
      2. 2.5.2 Read SVPWM Duty Cycles in Graph Window
      3. 2.5.3 Power Up Inverter and Spin Motor in Open Loop
    6. 2.6 Close Current Loop With Mock Speed
      1. 2.6.1 Add Transformations and Read Id-Iq in Open Loop
      2. 2.6.2 Add Controllers to Close Current Loop
      3. 2.6.3 Read Id-Iq to Close Current Loop
    7. 2.7 Add Software Resolver to Digital Converter
      1. 2.7.1 Generate Excitation for Resolver Hardware
      2. 2.7.2 Add Resolver Software
      3. 2.7.3 Read Resolver Software Outputs
    8. 2.8 Close Speed Loop With Rotor Speed
      1. 2.8.1 Add Speed Loop Controllers
      2. 2.8.2 Add Speed Loop Demo Program
      3. 2.8.3 Read Motor Speed from Graph Window
  4. 3A Brief Guide to Code Migration
    1. 3.1 SoC Architecture Overview
    2. 3.2 SDK Resources Overview
    3. 3.3 Code Migration From AM24
    4. 3.4 Code Migration From C28
  5. 4Summary
  6. 5References

Read ADC Samples in Expression and Graph Windows

ADC samples are read by the following lines 1 to 8 for 3-phase current, resolver sin/cos, and DC bus voltage. The SDK API is wrapped into Macros in one file. Couple simple "Ctrl + left click" on the variable name will help find the location where is defined. Example are given in lines 9 and 10. ADC_readResult is to read ADC result and ADC_readPPBResult is to read ADC result after Post Processing Blocks. Details on Post Processing Blocks can be find in Technical Reference Manual.

  1. motor1.I_abc_A[0] = (float32_t)IFBU_PPB;
  2. motor1.I_abc_A[1] = (float32_t)IFBV_PPB;
  3. motor1.I_abc_A[2] = (float32_t)IFBW_PPB;
  4. resolver1.sin_samples[0] = (float32_t)R_SIN1;
  5. resolver1.sin_samples[1] = (float32_t)R_SIN2;
  6. resolver1.cos_samples[0] = (float32_t)R_COS1;
  7. resolver1.cos_samples[1] = (float32_t)R_COS2;
  8. motor1.dcBus_V = (float32_t)VDC_EVT;

To show an example on reading and plotting ADC in graph window, the log pointers are connected to 3-phase currents and log functions are called. Phase A current at no load is plotted into graph window by right clicking the gLog_CH[7] in expression window and selecting graph as shown in Figure 2-34. In this case, Phase A current is pointed to gLog_CH[7] as shown in the following list. It could be assigned to any log channel. To add gLog_CH into expression window, it is simply right clicking and adding to watch expression. More details can be found in CCS tutorial.

  1. gLog_ptr[7] = &motor1.I_abc_A[0];
  2. gLog_ptr[8] = &motor1.I_abc_A[1];
  3. gLog_ptr[9] = &motor1.I_abc_A[2];
GUID-20220308-SS0I-VSGC-91NV-K1C0Q5XS7VWC-low.png Figure 2-34 Plotted Phase A Current at No Load

During bring up at low voltage like 12V, it is suggested to overwrite the DC bus voltage with voltage reading from power supply as error from TIDM-02009 is not negligible at 12V.