Chapter 11
EtherCAT
OpenIL supports the use of EtherCAT ((Ethernet for Control Automation Technology) and integrates the IGH EtherCAT master
stack. EtherCAT support is verified on NXP’s LS1021-IoT, LS1043ARDB, LS1046ARDB, and LS1028ARDB platforms.
11.1 Introduction
EtherCAT is an Ethernet-based fieldbus system, invented by BECKHOFF Automation. The protocol is standardized in IEC
61158 and is suitable for both hard and soft real-time computing requirements in automation technology. The goal during
development of EtherCAT was to apply Ethernet for automation applications requiring short data update times (also called cycle
times; ≤ 100 µs) with low communication jitter (for precise synchronization purposes; ≤ 1 µs) and reduced hardware costs.
• EtherCAT is Fast: 1000 dig. I/O: 30 µs, 100 slaves: 100 µs.
• EtherCAT is Ethernet: Standard Ethernet at I/O level.
• EtherCAT is Flexible: Star, line, drop, with or without switch.
• EtherCAT is Inexpensive: ethernet is mainstream technology, therefore inexpensive.
• EtherCAT is Easy: everybody knows Ethernet, it is simple to use.
At present, the EtherCAT master supports the common open source code for SOEM of RT - LAB development (Simple Open
Source EtherCAT Master) and EtherLab, the IGH EtherCAT master. To use SOEM is simpler than to use the IGH EtherCAT
Master, but IGH for the realization of the EtherCAT is more complete. For example, IGH supports more NIC. For more
information, see
. The integration in OpenIL is IGH EtherCAT master.
11.2 IGH EtherCAT architecture
The components of the master environment are described below:
• Master module: This is the kernel module containing one or more EtherCAT master instances, the ‘Device Interface’ and
the ‘Application Interface’.
• Device modules: These are EtherCAT-capable Ethernet device driver modules that offer their devices to the EtherCAT
master via the device interface. These modified network drivers can handle network devices used for EtherCAT operation
and ‘normal’ Ethernet devices in parallel. A master can accept a certain device and then, is able to send and receive
EtherCAT frames. Ethernet devices declined by the master module are connected to the kernel's network stack, as usual.
• Application: A program that uses the EtherCAT master (usually for cyclic exchange of process data with EtherCAT
slaves). These programs are not part of the EtherCAT master code, but need to be generated or written by the user. An
application can request a master through the application interface. If this succeeds, it has the control over the master: It
can provide a bus configuration and exchange process data. Applications can be kernel modules (that use the kernel
application interface directly) or user space programs, that use the application interface via the EtherCAT library, or the
RTDM library.
The following figure shows that IGH EtherCAT master architecture.
NXP Semiconductors
Open Industrial User Guide, Rev. 1.8, 05/2020
User's Guide
145 / 199