cancel
Showing results for 
Search instead for 
Did you mean: 

How to understand Ethernet protocol and RMII from basics ?

kavyamm
Associate III

Hi @mƎALLEm @Adam BERLINGER ,

Ethernet is currently working on the Nucleo-H755ZI-Q development board. However, I would like to understand Ethernet from the basics, similar to how we understand protocols like I2C and SPI.

Could you please suggest any resources or reference links to help me understand the Ethernet protocol and RMII interface in depth?

 

This is my custom board ethernet

kavyamm_3-1770986763305.png

LED_G+ needs to be pulled down, so I have pulled that pin down.

 

  1. Can I use the same libraries that are used in the Nucleo-H755ZI-Q board for this LAN?
  2. If I use the same library and it gets stuck at netif_add() what could be the issue?

 

3 REPLIES 3
STackPointer64
ST Employee

Hello @kavyamm,

Regarding the resources, if you want to understand how Ethernet works at the protocol level, I suggest searching online for the OSI model and TCP/IP networking courses.
If you want to understand the theory of operation of the physical interface, I recommend checking the PHY manufacturer’s application notes and datasheets. They usually provide detailed explanations on the theory of operation, PHY register programming, and recommendations for PHY PCB integration.

Best regards,

To improve visibility of answered topics, please click 'Accept as Solution' on the reply that resolved your issue or answered your question.
Andrew Neil
Super User

Ethernet and RMII and both well-established and widely-used standards - nothing specifically to do with ST or STM32.

Try your favourite internet search engine and/or AI assistant.

Here's a couple for starters

https://en.wikipedia.org/wiki/Ethernet

https://en.wikipedia.org/wiki/Media-independent_interface#Reduced_media-independent_interface 

 

PS:

 


@kavyamm wrote:

I would like to understand Ethernet from the basics, similar to how we understand protocols like I2C and SPI.


When you say "Ethernet", do you really mean IP networking ?

That is significantly more complex than simple interfaces like I2C and SPI !

As @STackPointer64 suggests, that involves a whole stack of protocols - which is where the OSI 7-Layer model comes in ...

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
STackPointer64
ST Employee

And to answer your questions:

> Can I use the same libraries that are used in the Nucleo-H755ZI-Q board for this LAN?
Yes, you can use them.

> If I use the same library and it gets stuck at netif_add(), what could be the issue?

You should check your configuration. Try placing a breakpoint inside the low_level_init function and step-debug through it to see whether the link negotiation completes successfully. If it does, it should select one of the available speed/duplex options. If not, check the wiring and clocking of your PHY, as it is very sensitive to timing.

Best regards,

To improve visibility of answered topics, please click 'Accept as Solution' on the reply that resolved your issue or answered your question.