TI TMS320F2838x

Introduction

This document describes the integration of the delivered EtherCAT example projects for TI TMS320F28388D target with the development environment TI Code Composer Studio.

Target System

The port EtherCAT stack is implemented and tested with TI TMDSCNCD28388D (F28388D controlCARD evaluation module) put on HSEC180 controlCARD Baseboard Docking Station.

Toolchain:

Compiler/IDE: Code Composer Studio v9.3 (or newer)
Flash tool/Debugger: Onboard TI XDS100v2 USB Debug Probe

General information

The TMS320F28388D is a multicore CPU. The EtherCAT Stack runs on Cortex-M4 core CM (Connectivity Manager). The chip’s internal EtherCAT controller is connected to the CPU via the memory bus (16bit memory access).
The EtherCAT driver and examples use TI Software SDK TI C2000ware + Motor Control SDK. This package is available from TI web: https://www.ti.com/tool/C2000WARE-MOTORCONTROL-SDK

You can find port’s EtherCAT example projects in the folder of the delivery package:

../examples/ti_tms320f2838x/

Before you can run the EtherCAT Stack you must load a suitable SW project on Master CPU1 (C28x DSP core).
For a quick start you can use the TI example "f2838x_cpu1_allocate_ecat_to_cm" from the TI Software SDK / C2000ware.

Import projects

TI example "f2838x_cpu1_allocate_ecat_to_cm" for Master CPU1:

The search path shows the default path in the installed TI C2000ware/Motor Control SDK.

Import the delivered EtherCAT example project from port for CPU core “Conectivity manager” (CM):

The port Code Composer Studio project contains different examples.

You can select the desired sample application by activating the corresponding “Build Configuration”:
”Project --> Build Configurations --> Set Active --> XXX”

alternatively: “Project --> Build Configurations --> Manage”

Now you can build both projects.

If both builds were successful you can load and run the binaries in the CPU cores:

First "f2838x_cpu1_allocate_ecat_to_cm" to CPU1 core.

Second, the EtherCAT example from port to “CM” CPU core (Cortex-M4):

Available sample applications

  • s01_tms320f28388x:

    • SDO read and write

    • 2 RX-PDOs and 2 TX-PDOs

    • object dictionary containing objects of various data types

  • s01_tms320f28388x_cia401

    • EtherCAT slave with CiA 401 profile example application

  • s03_tms320f28388x:

    • SDO read and write

    • SDO Info service

    • SDO Info object names

    • 2 RX-PDOs and 2 TX-PDOs

    • Split SDO-Access

    • Split NMT-Control

    • object dictionary containing objects of various data types

  • s04_tms320f28388x:

    • SDO read and write

    • SDO Info service

    • SDO Info object names

    • 2 RX-PDOs and 2 TX-PDOs

    • Split SDO-Access

    • Split NMT-Control

    • object dictionary containing objects of various data types

    • EoE service with rudimentary ARP and IGMP support (ping)

    • FoE service

  • s05_tms320f28388x:

    • SDO read and write

    • SDO Info service

    • SDO Info object names

    • 2 RX-PDOs and 2 TX-PDOs

    • object dictionary containing objects of various data types

    • virtual objects

  • s07_tms320f28388x:

    • SDO read and write

    • SDO Info service

    • SDO Info object names

    • 2 RX-PDOs and 2 TX-PDOs

    • object dictionary containing objects of various data types

    • FoE mailbox service

    • BOOTSTRAP NMT mode

  • s09_tms320f28388x:

    • SDO read and write

    • 2 RX-PDOs and 2 TX-PDOs

    • object dictionary containing objects of various data types

    • dynamic PDO mapping with extension module usr_dynPdoMapping

  • s10_tms320f28388x_xxx:

    • Interrupt handling

    • xxx = isr: PDI Events are handled in an ISR

    • xxx = isr_dc: PDI Events and DC Events are handled in separate ISRs

  • s11_tms320f28388x_cia402

    • EtherCAT slave with CiA 402 profile example application