Welcome back to the second installment of “How to select the right industrial Ethernet standard,” a blog series for designers who have decided to leverage industrial Ethernet in their systems. This series will cover several common industrial Ethernet communication protocols to help you select the best standard for your application. You can read the previous post, about Sercos III, here.
In this installment, I’ll take a close look at EtherCAT, its end applications and how it works.
Beckhoff Automation invented EtherCAT. Since 2003, it has been under the umbrella of the EtherCAT Technology Group (ETG), an industrial fieldbus organization with around 2,600 member companies.
EtherCAT can be found in factory automation, semiconductor tools, packaging robotics and more. One of my favorite nonindustrial examples is the World of Color show in Disneyland, where EtherCAT controls the light show.
On the technical side, EtherCAT is a master-and-slave network architecture as shown in Figure 1. The EtherCAT slave has two Ethernet connectors in order to support a simple line topology. It is also possible to support a ring topology for redundancy, in which case the EtherCAT master also needs two Ethernet ports. An EtherCAT network can support up to 65,535 slave devices.
Figure 1: EtherCAT master-and-slave example network with EtherCAT frame flow
Only the EtherCAT master generates an EtherCAT frame; all slaves receive and process this frame. The last slave loops back the EtherCAT frame, and it travels back through all slaves (without further processing) to the master. The EtherCAT frame has reserved space for process data for each slave, and none of the slaves change the frame length itself. It is a bit like a train with multiple cars and seats for passengers, where each slave has an assigned car or an assigned seat. EtherCAT allows addressing down to the “seat” level – the bit level in process data.
An EtherCAT master requires a standard Ethernet MAC peripheral only as the master has no specific need to process the EtherCAT frame in real-time.The master only needs to trigger the start of an EtherCAT frame with an accurate time base.
An EtherCAT slave requires specific Ethernet hardware (EtherCAT MAC) support – typical implementations use Application Specific Integrated Circuits (ASIC) or Field Programmable Gate Arrays (FPGA) as seen in Figure 2 – as it needs to process incoming EtherCAT frames on the fly. This means that EtherCAT MAC processes the EtherCAT frame while frame reception is ongoing. Typical EtherCAT devices have a 1µs port-to-port delay between received and transmitted frames.
Figure 2: EtherCAT slave with an ASIC/FPGA and external processor
The EtherCAT standard does not allow other types of Ethernet frames in an EtherCAT network. This is mainly to keep the real-time Ethernet channel clear for EtherCAT frames. In case a non-EtherCAT frame (an EtherType not matching with EtherCAT) is in the EtherCAT network, the EtherCAT slaves will destroy the frame by invalidating the frame checksum (CRC). This makes the none-EtherCAT frame useless for standard Ethernet devices, and they will sooner or later stop “polluting” the EtherCAT network.
It is possible to transmit standard Ethernet frames (Transmission Control Protocol/Internet Protocol (TCP/IP), User Datagram Protocol (UDP)) over an EtherCAT network by encapsulating the Ethernet frame into an EtherCAT frame. This is done through various EtherCAT profiles that sit on top of the EtherCAT host-processor stack. An example profile is the Ethernet over EtherCAT profile.
Other features and functions of EtherCAT devices include:
Using an ASIC or FPGA for EtherCAT adds cost and board space. An alternative solution is to use the PRU-ICSS peripheral in many TI Sitara processors. For example, TI provides PRU-ICSS firmware for the AM335x processor, enabling an EtherCAT slave device without the use of an external FPGA (Figure 3). You can evaluate TI’s EtherCAT slave solution with the TMDSICE3359 evaluation board.
Figure 3: EtherCAT slave integrated with a TI Sitara processor
I hope this post has shed some light into EtherCAT’s functionality. Make sure to read additional posts in this series to learn more about the many industrial Ethernet standards.
Great intro to ECAT!
Now, how do I know if my systems needs MII or RMII mode enabled on the my slaves side? I know that RMII is the smaller (hardware-wise) version of MII, but how do I know which one I need?
Thanks Pototo Clark for reading and commenting the blog post.
The Ethernet frame content that goes over the MII and RMII is actually the same, as it is called Media Independent Interface. So it depends what the PHY and the MAC supports. The EtherCAT slave solution with Sitara on PRU-ICSS supports the MII interface only towards the PHY for any of the industrial Ethernet protocols/standards. Hence you need the MII signals of PRU-ICSS.
To help to select the right signals, see the EtherCAT Wiki here: processors.wiki.ti.com/.../PRU_ICSS_EtherCAT_firmware_API_guide
I hope this answers your question. Please use also the e2e forum for any technical related questions.
Thanks and regards,
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.