TIDUF56 January   2024

 

  1.   1
  2.   Description
  3.   Resources
  4.   Features
  5.   Applications
  6.   6
  7. 1System Description
    1. 1.1 Terminology
    2. 1.2 Key System Specifications
  8. 2System Overview
    1. 2.1 Block Diagram
    2. 2.2 Design Considerations
    3. 2.3 Highlighted Products
      1. 2.3.1 TMS320F28P65x-Q1
      2. 2.3.2 DRV3255-Q1
      3. 2.3.3 LM25184-Q1
      4. 2.3.4 TCAN1044A-Q1
  9. 3System Design Theory
    1. 3.1 Three-Phase PMSM Drive
      1. 3.1.1 Field-Oriented Control of PM Synchronous Motor
        1. 3.1.1.1 Space Vector Definition and Projection
          1. 3.1.1.1.1 ( a ,   b ) ⇒ ( α , β ) Clarke Transformation
          2. 3.1.1.1.2 α , β ⇒ ( d ,   q ) Park Transformation
        2. 3.1.1.2 Basic Scheme of FOC for AC Motor
        3. 3.1.1.3 Rotor Flux Position
    2. 3.2 Field Weakening (FW) Control
  10. 4Hardware, Software, Testing Requirements, and Test Results
    1. 4.1 Hardware Requirements
      1. 4.1.1 Hardware Board Overview
      2. 4.1.2 Test Conditions
      3. 4.1.3 Test Equipment Required for Board Validation
    2. 4.2 Test Setup
      1. 4.2.1 Hardware Setup
      2. 4.2.2 Software Setup
        1. 4.2.2.1 Code Composer Studio™ Project
        2. 4.2.2.2 Software Structure
    3. 4.3 Test Procedure
      1. 4.3.1 Project Setup
      2. 4.3.2 Running the Application
    4. 4.4 Test Results
  11. 5Design and Documentation Support
    1. 5.1 Design Files
      1. 5.1.1 Schematics
      2. 5.1.2 BOM
      3. 5.1.3 PCB Layout Recommendations
        1. 5.1.3.1 Layout Prints
    2. 5.2 Tools and Software
    3. 5.3 Documentation Support
    4. 5.4 Support Resources
    5. 5.5 Trademarks

Software Structure

Figure 4-3 shows the general structure of the project. The device peripheral configuration is based on C2000Ware DriverLib and is generated using the SysConfig tool. The SysConfig tool also generates the clock settings and the linker command file. This enables easy migration using SysConfig. The design can be ported to a different C2000 MCU by changing the device settings in SysConfig and remapping the pin assignments, as necessary. The motor parameters, protection threshold and other settings can be changed in settings.h if migrating the reference design to a different motor or running the system at different conditions.

GUID-20231213-SS0I-BDBC-4QXP-GWHBDDDWHZP2-low.svgFigure 4-3 Project Structure Overview

Figure 4-4 shows the project software flow diagram. The main C28x CPU initializes the device, global variables, calibrates the ADC offset, and finally initializes the FreeRTOS scheduler. Once the scheduler is initialized, the main CPU does not run any other tasks. All tasks thereafter are run in the FreeRTOS context. In this software, there are two FreeRTOS tasks that toggle two LEDs on the control board. One of the tasks also checks the fault status flags and resets them if clearFaults is enabled. Add more tasks as necessary. The motor control algorithm runs exclusively on the CLA, specifically in CLA task 1. Once configured, the CLA task is triggered by the ADC End of Conversion (EOC). Data exchange between CLA and CPU happens using the CPU-CLA or CLA-CPU message RAM or the shared data RAM.

GUID-20231214-SS0I-VB9D-3TBG-9DWPTF3ZKPHL-low.svgFigure 4-4 Flowcharts of Background Software and Motor Control ISR