etherCAT

23 Feb 2010

Is anyone working on an implementation of etherCAT using mbed as a slave microprocessor?

22 Oct 2017

Been a few years, time to "bump" this thread.

23 Oct 2017

Not speaking as an expert in EtherCAT.

EtherCAT requires a custom Ethernet interface for slave nodes. So, to combine this with an mbed you would add an EtherCAT slave interface. This could be an ASIC or an FPGA. If you did this, then you would want/need a very high bandwidth interface to the mbed module itself. Perhaps a very high performance SPI would work.

It would seem more practical to choose a micro which has EtherCAT support, of which there are a few. Some of them do have an ARM processor, but as far as I know, those are much higher performance than the market for the typical mbed node.

The typical mbed could more easily be an EtherCAT master, since that is implemented with traditional Ethernet interfaces (but then you would likely want much more flash/ram in the master).

04 Apr 2019

Due to EtherCAT's very precise timing, it requires dedicated hardware. That is why there are not many microcontrollers (or even MPUs) that support it natively. Beckhoff makes the ET1100/ET1200 and Microchip makes the LAN9252, both are ESCs (EtherCAT Slave Controllers) that handle the communication with the EtherCAT bus and can (but don't necessarily have to) be controlled by an MCU. MCU control can be done via SPI (or QuadSPI) of which almost any MCU is capable.

Beckhoff has a Slave Stack Code Tool (SSC) that helps to setup the microcontroller's code to interface with the state machine that runs on an ESC. I believe it can be purchased through Beckhoff, but if that is not cost effective for an application it is possible to write this code by referencing the (very detailed and long) documentation.

I have used the SSC on an STM32L476RG using mbedOS5 to create many EtherCAT slaves and it has created a bus that is very reliable at high datarates.