Programmable SoC (System on a Chip) Driving EtherCAT Implementations

  • January 11, 2016
  • Feature

By: Punya Prakash, Marketing Manager, Texas Instruments By: David Zaucha, Applications Engineer, Texas Instruments

EtherCAT is one of several real-time Ethernet protocols that are widely used in the industrial automation industry. The EtherCAT technology is able to provide exceptionally fast loop control times and precise distributed real time clock.  To date, the implementations of EtherCAT slave node have largely been dominated by hardware intensive solutions used to perform the EtherCAT on-the-fly real-time processing and synchronization.  These implementations use multiple devices to implement the EtherCAT and slave functions.  Recent advances in technology have created programmable system-on-a-chip (SoC) devices with embedded real-time programmable communications and control engines that offer very tangible equipment costs savings, versatility and longer life cycles to industrial systems users.

Real-time requirements

An EtherCAT network consists of master and slave nodes. Master nodes manage and configure the network and are typically an industrial personal computer. The architecture of slave nodes varies, depending on the end equipment or machine associated with the node. 

Figure 1: EtherCAT topology

EtherCAT uses an ‘on-the-fly’ communications scheme, meaning that its data packets, or telegrams, are not received, processed and responded to by a node as they would be in a typical Ethernet network. Instead, telegrams are read and added to as they pass through the node. This operation adds only a few bit delays to the communications path.  This improves the efficiency of the communications tremendously over typical point-to-point Ethernet networks.  To support these operations requires specialized hardware with two Ethernet ports to read, write and forward the telegram with minimal delay.

Hardware implementations

Figure 2: EtherCAT architecture

Functionally, an EtherCAT slave node is made up of three basic functional blocks: physical connectivity, data link processing and application processing.

The physical connectivity to the network is provided through specialized chips that conform to the Ethernet IEEE 802.3 Media Access Control (MAC) definition. All slaves regardless of the architecture must have these devices.

The data link layer contains the EtherCAT Slave Controller (ESC). The ESC handles the processing of the EtherCAT on-the-fly communications protocol and any data exchange between masters and the slave’s application through an interface to the slave’s memory, Process Data Interface (PDI).  Historically, the EtherCAT data communications processing has been performed by a chip, usually either a FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).

The third and final functional block in a slave device is the application block and is specific to the type of function the slave performs.  Some nodes, like I/O nodes, can be very simple peripheral interfaces.  However others, such as a sensor slave node or a motor drive node, can be complex solutions which incorporate a substantial amount of processing. In a hardware-oriented slave architecture, the real time functions are performed in hardware.  This could be implemented in a FPGA or ASIC. The application programming is often performed by another discrete device, such as a microcontroller unit (MCU). The processing power of the MCU and its peripheral interfaces are dictated by the requirements of the function it serves.

The drawbacks to a hardware centric and/ or multi-component solution are flexibility, upgradability, and cost. Hardware oriented solutions can be limited in their ability to support future system field updates and enhancements.  A hardware centric design is able to support those features that were anticipated at the time of design.  In comparison a fully programmable architecture is driven by software which permits it to be much less constrained so that it is able to both support a broad range of features and support future requirements.

Each additional device drives up the bill of materials (BOM) cost. Even though an architecture incorporating an FPGA can take advantage of the programmability of this device, the FPGA still does not approach the circuit density of custom devices like ASICs or programmable SoCs.  Circuit density translates into functionality per silicon area, which impacts the cost of the node. The greater the functionality per silicon area, the lower the system cost.  

An alternative to a FPGA or SoC is a custom developed ASIC device. Since this architecture can be developed to specifically support the desired EtherCAT slave functionality mind, the ASIC can provide a higher degree of integration than an FPGA based solution.  However, the development time, cost, and risk for an ASIC can be substantially higher than other alternatives.   

Programmable SoCs for EtherCAT

Programmable, multicore SoCs provide a flexible, extensible future-proof, low cost architecture for EtherCAT slave nodes. Where a hardware-oriented approach employs multiple devices, for EtherCAT communications, peripheral interfaces, and motor control, a SoC provides a single integrated solution using its multiple programmable real time processing cores and configurable peripheral processing interfaces. This allows a single multicore device to replace two or more discrete processing elements.

In the multicore SoC architecture, a single embedded real-time processing core is programmed to handle a major functional block. For example this can be half of the EtherCAT Data link layer interface and processing. In this case two cores would be allocated to EtherCAT protocol processing.  The remaining programmable real time cores can support other real-time operations such as Delta Sigma data conversion, position feedback interfaces, distributed synchronization, or other real time control functions. These real-time cores interact with the environment using their dedicated peripheral interfaces or the SoC peripheral interfaces. 

Figure 3: SoC architecture

The programmability of a multicore SoC enables the device features to be configurable not just after manufacture, but also when the device is in service.  

Because the systems features and operations are defined in software an encoder interface it is possible to have one EtherCAT slave device that can be configured to perform a multitude of services based upon software configuration.

  • The slave could be a data measurement concentrator that performs multiple voltage / current measurements at multiple rates and resolutions simultaneously.
  • Or the slave could be configured to be a one or two axis motor control system with EnDat digital position feedback, and Delta Sigma current measurement.  

A software defined architecture reduces the system costs by offering a modular solution with reduced parts cost. However there are other significant benefits industrial automation networks users well beyond the initial procurement cost of the equipment.

At some point, a sensor connected to a slave node in the network might need to be replaced with another device based on sensing or interface technology that offers greater precision, cost or performance. Instead of switching out the slave node hardware, the sensor can be replaced and the slave software can be remotely updated to accommodate the new sensor remotely.

Another example is that after installation, a communication protocol standard update is released that can provide a five percent improvement in the facilities manufacturing cost.  With software based communications architecture the change can made and the saving realized with as little as a remote software update.  Technicians don’t have to physically access the nodes.

This also means that the lifetime of the software based system that is in service can be extended flexibly because it is able to comply with the latest protocols, accommodate changing requirements, and accept next generation equipment.

The biggest concern with SoC solutions in the past has been to find a solution which scales flexibility to cover a wide range of requirements in a cost efficient manner. This requires having a family of devices with a common hardware and software architecture that scales to cover a broad range of requirements in a cost efficient manner.

All of these factors add up to a longer and more cost-effective life cycle for the hardware in an EtherCAT network. Scalability, re-configurability, flexibility and ease of upgrades all reduce the total cost of ownership over the life of the network.

An example: Sitara™ AM437 processor

An example of a programmable production SoC that is fully equipped for EtherCAT slave node operation is the Sitara AM437x processor. (The Sitara AM337x processor is also EtherCAT-ready.)  The AM437x processor incorporates five processing cores, four of which are dedicated to two of TI’s programmable Real-Time Units (PRU), which handle the EtherCAT protocol processing, current feedback and position feedback. The application processor in the AM437x processor is an ARM® Cortex®-A9.  All of the software code needed for EtherCAT, such as protocol software drivers, initialization routines and a complete EtherCAT protocol stack, have already been integrated into the AM437 processor.

Figure 4: Sitara AM437x diagram

The PRU real-time cores share the tasks of EtherCAT telegram processing, distributed clocking, address mapping, error detection and handling, and interfacing with the application processor. With their deterministic real-time processing capabilities, the PRUs are able to handle EtherCAT telegram processing quickly with consistent and predictable latency.

The AM4379 is just one member of the Texas Instruments Sitara family of industrial communication based solutions. Other members of this family provide a wide range of feature and performance options.


Users of EtherCAT industrial automation networks are finding that slave nodes based on programmable high-performance and multicore SoCs have several key advantages over the hardware-intense architecture that has dominated the marketplace. The multiple processing cores in a SoC are able to perform all EtherCAT communications and application processing in one device, combining the discrete FPGA/ASIC and MCU devices required in the previous generation architecture. In addition, EtherCAT slaves implemented largely in software give the entire industrial automation network a longer effective life cycle and makes it more flexible, re-configurable and scalable.

Did you enjoy this great article?

Check out our free e-newsletters to read more great articles..