SPRACM9B June   2019  – November 2020 TMS320F28384D , TMS320F28384S , TMS320F28386D , TMS320F28386S , TMS320F28388D , TMS320F28388S , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1

 

  1.   Trademarks
  2. Introduction
    1. 1.1 Acronyms Used in This Document
  3. Benefits of the TMS320F2838x MCU for High-Bandwidth Current Loop
  4. Current Loops in Servo Drives
  5. Outline of the Fast Current Loop Library
  6. Fast Current Loop Evaluation
    1. 5.1 Evaluation Setup
      1. 5.1.1 Hardware
      2. 5.1.2 Software
      3. 5.1.3 FCL With T-Format Type Position Encoder
        1. 5.1.3.1 Connecting T-Format Encoder to IDDK
        2. 5.1.3.2 T-Format Interface Software
        3. 5.1.3.3 T-Format Encoder Latency Considerations
      4. 5.1.4 SDFM
      5. 5.1.5 Incremental System Build
  7. Incremental Build Level 1
    1. 6.1 SVGEN Test
    2. 6.2 Testing SVGEN With DACs
    3. 6.3 Inverter Functionality Verification
  8. Incremental Build Level 2
    1. 7.1 Setting the Overcurrent Limit in the Software
    2. 7.2 Current Sense Method
    3. 7.3 Voltage Sense Method
    4. 7.4 Setting Current Regulator Limits
    5. 7.5 Verification of Current Sense
    6. 7.6 Position Encoder Feedback
      1. 7.6.1 Speed Observer and Position Estimator
      2. 7.6.2 Verification of Position Encoder Orientation
  9. Incremental Build Level 3
    1. 8.1 Observation One – PWM Update Latency
      1. 8.1.1 From the Expressions Window
      2. 8.1.2 From the Scope Plot
  10. Incremental Build Level 4
    1. 9.1 Observation
  11. 10Incremental Build Level 5
  12. 11Incremental Build Level 6
    1. 11.1 Integrating SFRA Library
    2. 11.2 Initial Setup Before Starting SFRA
    3. 11.3 SFRA GUIs
    4. 11.4 Setting Up the GUIs to Connect to Target Platform
    5. 11.5 Running the SFRA GUIs
    6. 11.6 Influence of Current Feedback SNR
    7. 11.7 Inferences
      1. 11.7.1 Bandwidth Determination From Closed Loop Plot
      2. 11.7.2 Phase Margin Determination From Open Loop Plot
      3. 11.7.3 Maximum Modulation Index Determination From PWM Update Time
      4. 11.7.4 Voltage Decoupling in Current Loop
    8. 11.8 Phase Margin vs Gain Crossover Frequency
  13. 12Incremental Build Level 7
    1. 12.1 Run the Code on CPU1 to Allocate ECAT to CM
    2. 12.2 Run the Code on CM to Setup ECAT
    3. 12.3 Setup TwinCAT
    4. 12.4 Scanning for EtherCAT Devices via TwinCAT
    5. 12.5 Program ControlCard EEPROM for ESC
    6. 12.6 Running the Application
  14. 13Incremental Build Level 8
    1. 13.1 Run the Code on CPU1 to Allocate ECAT to CM
    2. 13.2 Run the Code on CM to Setup ECAT
    3. 13.3 Running the Application
  15. 14References
  16. 15Revision History

Run the Code on CM to Setup ECAT

The scope of the demo example is to emulate a debug panel for the servo drive using ECAT to feed certain command settings and to retrieve the status of certain drive parameters. Therefore, the demo example on CM is a precompiled demonstration of the EtherCAT slave stack code tweaked for this application.

Note: Any modifications to the requirement given in demo will require the generation of new slave stack files via the SSC tool and also corresponding changes to the application source code. This will have to be rebuilt to get a new executable for loading into the CM.

The source files given by TI for EtherCAT support are only HAL files needed for this function and will not be sufficient to compile and generate an executable. However, if you generate a slave stack, the CM project provided here will be able to generate an executable.

Here are the steps to follow:

  1. Ensure that CPU1 is actively running the project described in the previous section handing off the EtherCAT ownership to CM
  2. Besides USB connection between controlCARD and computer for JTAG purposes, connect an Ethernet cable between controlCARD RJ45 Port 0 and computer
  3. Run f2838x_connected_drive_ssc_file_and_demo.exe installer to extract the F2838x SSC configuration, device system files required by the SSC tool and the demo executable that will run on CM. These will be located in the newly created ssc_configuration directory.
  4. From within the debug window, click on Cortex_M4, right click and select Connect Target. This will facilitate downloading the M4 executable.
  5. From within the CCS debug perspective, click Run --> Load --> Load Program and browse to the executable fcl_f2838x_ecat_cm.out available at \solutions\tmdxiddk379d\f2838x\ssc_configuration\cm. This is extracted in step 3 above.
  6. Run the code. This would configure the ECAT slave controller and also the IPC on CM side for data transfer between CM and CPU1.

Now the ECAT slave controller is ready to connect to ECAT master, and in this demo, the ECAT master is TwinCAT running on the user's development computer.