EtherCAT Master on Raspberry Pi

There are several projects building EtherCAT master on Raspberry pi. However, for my personal observation, almost them (or all?) do not guarantee realtime performance (please fix me if I make a mistake) which I will explain here.
ORIGINAL POST
By Ho Tam
components
Hardware Components
Software Apps and online services
details

EtherCAT.png

The Ethernet data path (the red route) is now longer, it must travel through Network controller and USB hub controller. In order to develop realtime Network driver, we first have to build a realtime USB stack, the difficulty is now doubled. At least till this time, such kind of realtime network driver model is absent. This explains why I said almost current EtherCAT Master solutions for Raspberry pi are not hard-realtime.

Since it is impossible to build realtime Network driver for existing USB-Ethernet controller on Raspberry pi, the only possible solution to have realtime EtherCat Master on rpi is to use external NIC.
The next question is what interface of rpi we should use to communicate with the external NIC? Very fast answer, SPI:
Among several popular SPI-Ethernet controllers like ENC28J60AX88796CW5100W5200W5500…I think W5500 is most suitable choice:

EtherCAT.png

The Ethernet data path (the red route) is now longer, it must travel through Network controller and USB hub controller. In order to develop realtime Network driver, we first have to build a realtime USB stack, the difficulty is now doubled. At least till this time, such kind of realtime network driver model is absent. This explains why I said almost current EtherCAT Master solutions for Raspberry pi are not hard-realtime.

Since it is impossible to build realtime Network driver for existing USB-Ethernet controller on Raspberry pi, the only possible solution to have realtime EtherCat Master on rpi is to use external NIC.
The next question is what interface of rpi we should use to communicate with the external NIC? Very fast answer, SPI:
Among several popular SPI-Ethernet controllers like ENC28J60AX88796CW5100W5200W5500…I think W5500 is most suitable choice:
documents
Code
Github link
Schematics
Others

COMMENTS

Please Login to comment
  Subscribe  
Notify of