TECHNOLOGY IN CONTEXT
Industrial Ethernet
EtherCAT: A Real-Time Industrial Fieldbus on Ethernet
EtherCAT fieldbus systems are based on technology and techniques designed to overcome the performance and determinism limitations associated with other attempts to utilize Ethernet packets and hardware to support an industrial fieldbus.
PAUL FISCHER, TENASYS
A number of Ethernet fieldbus solutions use fieldbus masters to send Ethernet packets to individual fieldbus slaves, or broadcast to a group of fieldbus slaves. This usually takes the form of a fieldbus packet encapsulated inside an IP packet such as UDP. The fieldbus master must then wait for the slaves to process the received data and respond to the fieldbus master via a response packet.
In an EtherCAT fieldbus system, Ethernet packets are delayed only a few nanoseconds by each slave in the chain because the slave reads and writes to the encapsulated datagram each time it is received. Ethernet packets are “processed on-the-fly.” Each slave extracts data bits inside the Ethernet packet addressed specifically to it, while simultaneously forwarding the packet to the next device in the chain. Similarly, data to be returned to the EtherCAT master is inserted on-the-fly while the packet is processed by the slave, as the Ethernet frame passes through the device.
EtherCAT fieldbus masters are built using commercially available standard network interface cards (NICs). EtherCAT fieldbus slaves utilize a device called a Fieldbus Memory Management Unit (FMMU) that can read, write and forward EtherCAT Ethernet packets on-the-fly. It is possible to build high-performance, deterministic, fieldbus systems that are flexible, expandable and cost-effective using standard Ethernet cables and connectors.
An EtherCAT fieldbus avoids the determinism problems associated with packet collision on standard Ethernet networks (like most TCP/IP networks in operation today) by isolating the fieldbus network segments from conventional network segments. Ethernet packets are placed onto the EtherCAT network by an EtherCAT master where they are processed on-the-fly by EtherCAT slaves. This process on-the-fly technique accommodates bandwidth utilization approaching 97% utilization, or the equivalent of 97 Mbits/s using 100 Mbit/s Ethernet hardware.
Standard Ethernet
A key goal of the EtherCAT fieldbus is to use standard Ethernet packets so that one can utilize standard, low-cost, 100 Mbit/s Ethernet connectors, cables, switches and silicon (for 100Base-TX and 100Base-FX media). Packing useful bits and bytes into each Ethernet packet for on-the-fly read and write operations by multiple EtherCAT slaves is the key to maximizing usage of standard Ethernet packets.

By definition, Ethernet packets designed for 100 Mbit/s media have a minimum size of 64 bytes and a maximum size of 1518 bytes. After subtracting the standard Ethernet packet overhead of 18 bytes (Destination Address, Source Address, Frame Type and Frame Checksum), a minimum size Ethernet packet can deliver a 46 byte payload, whereas a maximum size packet can deliver 1500 bytes of data. An EtherCAT datagram, the EtherCAT data object stored inside an Ethernet packet, has an overhead of two bytes per Ethernet packet plus 12 bytes per EtherCAT datagram. This leaves room for 32 EtherCAT data bytes in a minimum size Ethernet packet to 1486 EtherCAT data bytes in a maximum size Ethernet packet (Figure 1).
An Ethernet packet that contains an EtherCAT datagram can be easily identified as an EtherCAT packet because it contains an EtherType number in the Type field equal to 0x88A4 (hex 88A4), a number that has been issued by the IEEE Registration Authority for use with EtherCAT-type Ethernet packets. It also ensures that standard Ethernet hardware can transmit and receive EtherCAT network packets.

A single Ethernet frame can contain more than one EtherCAT datagram, which might be appropriate for complex EtherCAT fieldbus systems. In that case, the Ethernet packet takes on the format in Figure 2.
If an EtherCAT packet needs to be routed over a standard TCP/IP network, it can be transported inside a UDP packet, where it is marked for easy identification using UDP port number 34980 (0x88A4), a number assigned by the Internet Assigned Numbers Authority (IANA) for transport of EtherCAT packets over TCP/IP networks. EtherCAT packets embedded inside a UDP packet have a format similar to those shown in Figures 1 and 2.
Near Maximum Performance
By efficiently packing EtherCAT data into each Ethernet packet it is possible for an EtherCAT network to utilize nearly 100% of the available bandwidth of 100 Mbit/s. Achieving high bandwidth utilization, however, also requires that one step back from the standard collision detection (CSMA/CD) mechanism that is common to most Ethernet networks.

Kontron
Interphase