3. Purpose
• Assure real-time properties of EtherCAT workloads in VMs
• Explore options to enable EtherCAT in multiple VMs
• Possibly with different safety integrity level (SIL)
Ultimate Goals
4. Purpose
• Provide an overview of EtherCAT and FSoE technologies
• The concepts are the focus. Thus detailed frame structures are
not covered.
• Collect community real-world experience and insights
• Current uses
• Interesting uses with virtualization
Targets of This Presentation
5. EtherCAT at a first glance
• EtherCAT = Ethernet for Control Automation Technology
• A fieldbus technology widely adopted for industrial control,
suitable for hard and soft real-time requirements
• Belong to the functional safety communication profiles in IEC
61784 together with FSoE (Fail-Safe over EtherCAT)
• Specified by ETG (EtherCAT Technology Group)
• E.g. ETG.1000 for the definitions of fundamental protocols
• Standardized as IEC 61158 (for EtherCAT) and IEC 61784 (for
FSoE)
6. EtherCAT Functional Principle
Source of figure:
• EtherCAT Functional Principle (2D), https://www.youtube.com/watch?v=z2OagcHG-UU
• EtherCAT Device Protocol Poster, available at https://www.ethercat.org/en/downloads/downloads_A5E30997B5294BCCBC03D5C3B8B6790F.htm
• Only EtherCAT masters
can send new frames.
• The master receives a
response when all slaves
have processed the
frame.
Standard
Ethernet
ports
• EtherCAT slaves forward received
frames while processing them.
• Handling of frames only happen at
data link layer. Upper layers are
not involved.
EtherCAT frames
are divided into
datagrams that act
as containers of data
to or from the slaves.
7. Topology of EtherCAT Network
EtherCAT
master
EtherCAT
master
Other
Ethernet
device
Switch
EtherCAT
slave
EtherCAT
slave
EtherCAT
slave
EtherCAT
slave
EtherCAT
slave
EtherCAT
slave
EtherCAT
slave
EtherCAT
slave
EtherCAT
slave
EtherCAT segment
EtherCAT segment
Ethernet frames are forwarded
by MAC destination addresses
Ethernet frames are forwarded by links.
MAC addresses no longer matter.
Router
EtherCAT
master
EtherCAT frames are
embedded in UDP/IP packets
and routed at IP layer.
8. Processing of EtherCAT frames in slaves
1 32 4
ESC notifies μC upon
reading or writing its RAM
per EtherCAT datagrams.
μC sends requests to ESC
for reading or writing the
ESC RAM.
Source of figure:
• EtherCAT Device Protocol Poster, available at https://www.ethercat.org/en/downloads/downloads_A5E30997B5294BCCBC03D5C3B8B6790F.htm
9. Data Link Layer Services
• Read, write or exchange data from/to RAM of certain slaves
• Data exchange between masters and slaves only
• At most 2KB data per request
• See the followin pages for slave memory layouts and addressing
• Mailbox read or write
• Allow slave-to-slave communication
• Others
Summary
Width of physical address = 16
Source of figure:
• EtherCAT Device Protocol Poster, available at https://www.ethercat.org/en/downloads/downloads_A5E30997B5294BCCBC03D5C3B8B6790F.htm
10. FMMU
Data Link Layer Services
Addressing of Slaves
Device Address
31 0
Position
Addressing
Node
Addressing
Logical
Addressing
RAM address
16 15
Device Address
31 0
RAM address
16 15
• Each slave increments device address by 1
• The slave seeing a device address of 0 is the one
being addressed.
• The master configures the station addresses of
slaves on startup.
• The slave seeing a device address equal to its
station address is the one being addressed.
Logical Address
31 0
• Each slave has a few FMMU entries.
• An FMMU entry maps a logical address range
to a physical address range of the slave.
• The mapping is configured at bit granularity.
• Read/write permissions are configured at the
same time.
• The slaves with any part of a given logical address
range are being addresses.
LA
PA
11. Application Layer Services
• Based on mailbox services or process data provided by the data link layer
• PDI is vendor-specific. Examples include SPI, serial, parallel, I2C and USB.
• μC process data fed by ESC asynchronously
• Examples
• EoE: Ethernet over EtherCAT
• FoE: File access over EtherCAT
Source of figure:
• EtherCAT Device Protocol Poster, available at https://www.ethercat.org/en/downloads/downloads_A5E30997B5294BCCBC03D5C3B8B6790F.htm
12. EtherCAT Master Implementations
• IgH EtherCAT Master Stack(Intel optimized)
• Open source base
• Linux 4.x with RT feature supported
• Open Source in https://github.com/intel/xenomai-ethercat
• 250 us EtherCAT cycle time tested
• EtherCAT Stack performance verification with ARCN
• Workload isolation
• Passthrough network interface
13. FSoE at a first glance
• FSoE = Fail-Safe over EtherCAT
• A protocol enabling safety communication atop standard fieldbus (i.e.
EtherCAT)
• Based on the black channel approach
• Belong to the functional safety communication profiles in IEC 61784
• Specified by ETG (EtherCAT Technology Group)
• E.g. ETG.5100 for the definitions of the protocol
• Standardized as IEC 61784.
• Could be implemented on communication protocols other than EtherCAT[1].
Reference:
1. A. Morato et. al. The Fail Safe over EtherCAT (FSoE) protocol implemented on the IEEE 802.11 WLAN, ETFA’19, https://ieeexplore.ieee.org/document/8869503
14. System Example
Source of figure:
• Safety Over EtherCAT Overview, available at
https://www.ethercat.org/en/downloads/downloads_373FD149039045589368666C806FABCC.htm
15. White Channel vs. Black Channel
The entire channel comply with functional
safety standards.
Endpoint that
comply with
functional safety
standards.
Endpoint that
comply with
functional safety
standards.
Parts of the communication channel are not
designed to functional safety standards.
Endpoint that
comply with
functional safety
standards.
Endpoint that
comply with
functional safety
standards.
Protocols that detect communication failures.
White Channel Approach
Black Channel Approach
17. Communication Errors and Mitigations
Source of table:
• Safety over EtherCAT Overview, available at
https://www.ethercat.org/en/downloads/downloads_373FD149039045589368666C806FABCC.htm
18. Summary
• EtherCAT master and slaves talk by standard Ethernet,
allowing advanced Ethernet technologies to be integrated
naturally (e.g. TSN)
• On slaves, EtherCAT frames are processed on the fly without
being handled synchronously by the micro-controller
• Multiple safety nodes exist in a system. Achieving safe states is
a collaboration of all such nodes, rather than the work of a
single node (esp. the master).
19. Advanced Topics about EtherCAT
• Archiecture of EtherCAT masters
• Time synchronization via distributed clock
• Integration of TSN (Time Sensitive Networking)
• Application layer protocols.
• … and more