Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Ethernet

Ariel OS supports Ethernet (IEEE 802.3) on specific microcontrollers and hardware configurations.

The MAC address used for the Ethernet link is derived from the device identity using if_index 0. A different index should therefore be used to generate other EUI-48 identifiers.

Using Microcontrollers With a Built-in Ethernet MAC

Some microcontrollers include an Ethernet MAC peripheral, which requires an external PHY chip for the board to support Ethernet. The MAC communicates with the external PHY using the media-independent interface (MII) or the reduced media-independent interface (RMII), which is almost functionally identical to the MII but requires half the signals between the MAC and the PHY.

Currently, among the set of MCUs supported by Ariel OS, only some STM32 microcontrollers feature a built-in Ethernet MAC. On these MCUs, only the RMII is currently supported: its pinout is currently fixed, and is the same as the one used by the manufacturer’s development kit demonstrating Ethernet functionality. Using Ethernet as the network link on supported STM32 MCUs is enabled by selecting the ethernet-stm32 laze-module.

Note

The built-in Ethernet MAC can be used on other boards, as long as the same pinout is used.

Using External Ethernet MAC + PHY Chips

External Ethernet MAC + PHY chips also exist, which can for instance be used with microcontrollers that do not comprise a built-in MAC peripheral. These external chips most commonly interface with the microcontroller through either SPI or a parallel bus. On top of including the MAC and PHY functional blocks, these chips may also feature hardware support for higher level protocols, such as IP or TCP.

Ariel OS currently only supports these chips over SPI (QSPI is also not supported). The SPI frequency is automatically selected based on the microcontroller capability, up to 30 MHz, which should work reliably on all boards. The pinout is currently defined in-tree for supported boards.

The table below details the supported chips, and how to enable support for them:

Chiplaze module to select
WIZnet W5100Sethernet-wiznet-w5100s
WIZnet W5500ethernet-wiznet-w5500
WIZnet W6100ethernet-wiznet-w6100
WIZnet W6300ethernet-wiznet-w6300

Only the MAC of these chips is currently used (i.e., WIZnet chips are used in MACRAW mode): the hardware acceleration of higher level protocols is not leveraged.