Skip to content

SOEM4Mbed

Simple Open EtherCAT Master Library for Mbed

WIZnet

Published November 02, 2023

Original author: lipoyang · JapanOriginal source (new tab)

SOEM4Mbed

Components

Hardware components

x 1


Project description

Simple Open EtherCAT Master Library for Mbed

This is SOEM (Simple Open EtherCAT Master) library ported for Mbed.

It's just for educational or experimental purposes.

The original SOEM is at https://github.com/OpenEtherCATsociety/SOEM

Supported hardware

  • GR-PEACH (Renesas RZ/A1H, ARM Cortex-A9)
  • GR-MANGO (Renesas RZ/A2M, ARM Cortex-A9) (README)
  • NUCLEO-F767ZI (STM32F767ZI) (README)
  • NUCLEO-F446RE (STM32F446RE) + Ethernet Shield 2 (W5500) (README)
  • mbed LPC1768 (README)

limitations

Many of MCUs don't have large memory, and has only one LAN port. SOEM4Mbed reduces memory usage, and does not support redundant LAN ports.

Doe to reducing memory usage, some functions are limited.

itemconstant nameoriginal SOEMSOEM4Mbed
max entries in Object Dictionary listEC_MAXODLIST102464
max entries in Object Entry listEC_MAXOELIST25664
max number of slaves in arrayEC_MAXSLAVE20064
number of frame buffersEC_MAXBUF162

Documentation of original SOEM

Customized versions of SOEM4Mbed

GR-MANGO

The GR-MANGO doesn't support Ethernet class for handling RAW Ethernet frames. Therefore the customized SOEM library for GR-MANGO uses the low level Ethernet driver of RZ/A2M.

SOEM for GR-MANGO

NUCLEO-F767ZI

The NUCLEO-F767ZI doesn't support Ethernet class for handling RAW Ethernet frames. Therefore the customized SOEM library for NUCLEO-F767ZI uses the low level Ethernet driver of STM32F7 (STM32F7 HAL library).

SOEM for NUCLEO-F767ZI

NUCLEO-F446RE

The NUCLEO-F446RE doesn't support Ethernet class for handling RAW Ethernet frames. In addition, the NUCLEO-F446RE has no PHY chip and no RJ45 connector. Therefore the customized SOEM library for NUCLEO-F446RE uses the Arduino Ethernet Shield 2.

The Arduino Ethernet Shield 2 uses Arduino ICSP port as a SPI port, but the NUCLEO-F446RE has no Arduino ICSP port. Therefore you have to modify your Arduino Ethernet Shield 2. Please connect D11(MOSI), D12(MISO) and D13(SCK) to corresponding pins of the ICSP port via wires.

NUCLEO-F446RE

SOEM for NUCLEO-F446RE

mbed LPC1768

The LPC1768 has only 64kB RAM. In addition, LPC1768's RAM is divided into 3 blocks (AHBSRAM, AHBSRAM0, AHBSRAM1). Therefore the customized SOEM library reduces RAM usage and allocates buffer variables to the vacant area.

The mbed LPC1768 board needs a external RJ45 connector.

LPC1768

Documents

Comments

Comments