EtherCAT Protocol_ Introduction to EtherCAT
EtherCAT Protocol_ Introduction to EtherCAT
Hello, my name is Chris Chiarella, and welcome to an introduction on EtherCAT. This is the first video in a series of EtherCAT
training videos for C2000. This video will provide an overview on what EtherCAT is, how its network operates, and the various
features it offers. Subsequent videos will go into additional details regarding EtherCAT functionality, including an overview of
What is EtherCAT? EtherCAT stands for Ethernet for Control Automation Technology. EtherCAT is an ethernet-based fieldbus
communication system invented by Beckhoff Automation in 2003. In 2004, Beckhoff founded the EtherCAT Technology Group,
which promotes use of the protocol as well as holds the rights to EtherCAT. EtherCAT is an open technology covered under the
international standards listed on the slide. Beckhoff enables vendors to use EtherCAT IP and software to implement EtherCAT slave
controllers of their own. Some of those vendors you can see pictured here on this slide.
As an EtherCAT user or developer, it is important to understand the roles of Beckhoff and the EtherCAT Technology Group.
Beckhoff, as I mentioned previously, is the inventor of EtherCAT. Beckhoff offers EtherCAT hardware for purchase as well as FPGAs
and other similar content. Additionally, Beckhoff owns the development of the EtherCAT Slave Stack Code, which is used by
EtherCAT slave controllers. Beckhoff is also the developer of the EtherCAT master application TwinCAT as well as the Slave Stack
Code Tool, which is used to acquire the EtherCAT Slave Stack code. They also developed the Conformance Test Tool, which
enables developers to test their EtherCAT slave software and hardware for functional conformance.
Lastly, as a developer, what would you typically need from Beckhoff? Common items you may get from Beckhoff directly is
downloading the TwinCAT application software as well as acquiring a license for using the Conformance Test Tool.
The EtherCAT technology group, or ETG, is the industrial EtherCAT user organization that owns EtherCAT. EtherCAT developers are
required to join this group and are provided a unique vendor ID once joined. Additionally, ETG offers EtherCAT training, forums for
asking questions, and listening EtherCAT events such as Plug Fests where different master and slave developers come together for
interoperable testing. As a developer, you typically make use of the ETG website to download the Slave Stack Code Tool,
Conformance Test Tool, and any other EtherCAT specifications you may need.
Let's now discuss exactly what is EtherCAT. The EtherCAT communication fieldbus involves having a bus master and a series of
slave nodes which are physically connected in a daisy-chain style. The communication data flow operates as a loop where master
data transmitted passes through each slave node before returning to the master.
But EtherCAT's specialty is being able to synchronize all the slave nodes on the network very precisely and with low jitter.
EtherCAT is able to achieve synchronization of all the slave applications on the network within one microsecond. Part of how this
can be accomplished is that each slave node processes message data on the fly as the message frame passes from one node to
the next. We'll discuss in more detail on what that means later in this video.
Note that the EtherCAT network uses a standard Ethernet physical layer and Ethernet frames. Additionally, EtherCAT supports
carrying other protocols that can be run over EtherCAT such as CANopen.
The EtherCAT physical network structure can have multiple configurations or topologies. They can be lines, trees, stars, or any
combination of these. The slave nodes are connected as a daisy-chain and operate on a loop where a single Ethernet cable
enables outgoing and incoming paths for data. Only one Ethernet port is required for the master to operate.
The EtherCAT network topology supports redundancy through a ring topology. With this setup, the EtherCAT master requires a
second Ethernet port to connect to the last node in the network. In the event of a break in the network line, the internal loopback
switches in the slave nodes close to maintain the loop, and then the master will use the second port to communicate with the
Now let's take a look at the EtherCAT frame structure. EtherCAT uses the standard Ethernet frame with a different frame header
identifier for EtherCAT. Each frame contains one or more datagrams that contain their own Header, Data, and Working Counter.
The Header field contains a variety of information, including the command, the address, the data length, and other check bits.
The Working counter is incremented by the number of interactions contained in a given datagram. For example, if the datagram
command is a read/write action, then upon a successful read, the Working counter is incremented by 1, and then upon a
successful write, the Working counter is incremented by 2. The EtherCAT master monitors the Working counter to determine if
Earlier, I mentioned about how EtherCAT communication occurs on the fly. What was meant by this is that EtherCAT processed
data is extracted and inserted into the frame while the frame passes through the slave node at full speed. The process of
extracting and inserting data is all handled by the EtherCAT hardware and doesn't require software interaction. This process isn't
affected by the size of the datagram, which can be as small as 1 bit to a size of 16 kilobytes.
The frequency of the datagrams will vary based on the process data being transferred. For example, there could be a short
datagram interval for axis control updates or there could be longer datagram intervals for I/O updates. Additionally, asynchronous,
As we were just discussing, a single EtherCAT frame can have multiple datagrams which contain data for multiple slaves in the
network. All this data is organized and maintained by a logical memory map generated by the EtherCAT master through its
knowledge of all the slaves on the network. These logical addresses can map to multiple slaves on the network, and therefore, the
EtherCAT master can configure data on any of the slaves down to bit-wise changes. The EtherCAT master doesn't need to care
about the actual slave physical memory addresses because each slave has a Fieldbus Memory Management Unit, or FMMU, which
extracts the logical address data from the packet and maps it to the physical address on the EtherCAT slave controller. Through
this method, all data is transmitted according to the application requirements in a fast, flexible, and efficient manner.
The EtherCAT master has four different methods for addressing the slaves in the network. The first is auto increment, or Position
Addressing. This is typically only used by the master during startup to scan the network. Position Address of the addressed slave is
stored as a negative value. Each slave increments the address, and the slave that reads this address as 0 is the one addressed.
Next is Fixed Physical, or Node Addressing. The EtherCAT master typically uses this addressing mode for register accessing to
individual slaves that have already been identified. The configured slave address is assigned by the master at startup and cannot
be changed by the EtherCAT slave. The third addressing mode is Broadcast Addressing. The EtherCAT master uses this to address
all the slaves in the network, and it's typically used for initializing all the slave devices.
The last addressing mode is Logical Addressing. Logical Addressing enables the EtherCAT master to reduce unnecessary content in
the process data communication to communicate with more slaves with less overhead. All the slaves read from or write to the
same logical address range in the EtherCAT datagram. The slaves use their FMMU to map the data from the logical address to the
local physical memory address. For example, a single logical address datagram can be used to address multiple slaves to write
some data to a particular physical memory address. Without Logical Addressing and the FMMUs, the EtherCAT master would have
to have a datagram addressed to each slave with the slave's specific physical address.
That concludes our introduction on EtherCAT. To learn more on any topics discussed here, you can visit the EtherCAT technology
group website-- www.ethercat.org. In the next video, we'll look at the Distributed Clocks feature of EtherCAT, which enables