SOEM4Mbed
Simple Open EtherCAT Master Library for Mbed
0
Components
Hardware componentsSTMicroelectronics - NUCLEO-F446RE
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.
| item | constant name | original SOEM | SOEM4Mbed |
|---|---|---|---|
| max entries in Object Dictionary list | EC_MAXODLIST | 1024 | 64 |
| max entries in Object Entry list | EC_MAXOELIST | 256 | 64 |
| max number of slaves in array | EC_MAXSLAVE | 200 | 64 |
| number of frame buffers | EC_MAXBUF | 16 | 2 |
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.
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).
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.
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.


