In my previous blog post, “EtherCAT and C2000™ MCUs – real-time communications meets real-time control,” I discussed a design in the TI Designs reference design library to help ease hardware development of International Electrotechnical Commission (IEC) 61158-compliant EtherCAT slave nodes based on TI C2000 real-time control microcontrollers (MCUs). That post outlined the reasons why EtherCAT technology is a natural fit for C2000 MCUs in industrial automation applications, and why the TI DesignDRIVE team chose the ET1100 from Beckhoff as the reference. What the EtherCAT Interface for High Performance MCU Reference Design did not provide was a way to evaluate and create your own complete EtherCAT node, including the stack.
With the release of the EtherCAT Slave and C2000 Delfino™ MCU controlCARD kit and the EtherCAT solution reference software in controlSUITE, you can jump-start the development of an EtherCAT slave stack directly on C2000 MCUs.
In the following blog series, I will discuss the market opportunity for EtherCAT slave stack support on C2000 MCUs; what’s different about the TI implementation; and then a deeper dive into the supported development phases: evaluate, validate and create.
The redeeming qualities of EtherCAT for industrial applications are well-known. The worldwide adoption of EtherCAT, especially in multiaxis servo-based machines, has been quite remarkable, at least from TI’s C2000 market perspective. With membership in the EtherCAT Technology Group (ETG) reaching over 4,300 and an ever-growing and balanced mix of worldwide members not dominated by Europe, it is pretty clear that the overall EtherCAT solution, technology, availability, licensing, support, etc., resonates with industrial customers.
We have seen many customers take on the task of adapting C2000 MCUs to run the EtherCAT stack natively, especially in motion-control applications. The integration of real-time communications directly into the environment of real-time control development simplifies the development process. It should also be obvious that the integration onto a single central processing unit (CPU) would ease the synchronization between the network interrupts and the real-time control-loop timing.
The C2000 MCU is perfectly capable of executing a software stack and performing demanding real-time motor control simultaneously, especially since EtherCAT hardware handles the most challenging real-time elements of EtherCAT communications. Compared to adding a secondary CPU to run the stack, a single CPU has obvious benefits in cost and board space reduction. System performance also benefits from the reduced transport latency that would otherwise be introduced if you used an additional CPU to handle the stack. In motion-control applications, the time or latency of the system to respond to new target positions is critical. Why spend all that effort minimizing the position control loop time if the position command input timing cannot keep up with the control loop capability? That interim CPU running your EtherCAT stack could be impacting your overall motion performance.
Given the complementary aspects of EtherCAT and C2000 MCU motion control and because of customer support requests, TI applied its embedded software development experience and C2000 MCU architecture knowledge to create a set of software solutions designed to aid in the development of EtherCAT slave nodes on TI real-time control MCUs. With very little development investment, the software package will help you:
- Evaluate the stack for a slave node.
- Validate the correct operation/hookup of your custom hardware.
- Create a complete slave-node application using your hardware and a stack distributed by the ETG.
Figure 1: C2000 MCU native EtherCAT slave stack support flow
Figure 1 above shows three phases of the development of your own slave node application. It also outlines the hardware assumptions and describes software modules available to support each phase. We will spend more time breaking down the support in each phase in subsequent posts. The next post in this series, however, will describe some of the specific features enabled and actions taken to make slave stack development on C2000 MCUs more compelling for real time control applications than you may expect.