cancel
Showing results for 
Search instead for 
Did you mean: 

Which Ethernet PHY to choose for STM32 ethernet applications?

Broman3100
Associate III

I'm developing my first STM ethernet application and want to use it's built in MAC, from my understanding any 10/100 ETH PHY with MII or RMII should work but there's such a big list of those on market, ST Disco boards I found use LAN8740, which is expensive and somewhat hard to obtain, some tutorials I saw used LAN8720, KSZ8xxx.

My main concern is if there is a big difference I'm missing out or will any of these products work same? Any experienced dev input would be appreciated on which of these IC-s is more recommended over the others.

#Edit: I was planning on using F107 for it but now memory has become a concern, if anyone has a general idea of how much memory ethernet libraries usually take up, I'd love to know it.

1 ACCEPTED SOLUTION

Accepted Solutions
Piranha
Chief II

Your understanding ir correct. While a feature set differs, almost any part with MII/RMII interface will work. Regarding the software, for the basic functionality the only thing that differs is a register address and positions of two bits, which indicate the speed and duplex mode selected by auto-negotiation.

DP83848 is pretty old. Nothing wrong with it, but never designs are typically better and/or cheaper. Most of ST's non-expensive boards use LAN8742A, which is a nice part. But at this point I would recommend the DP83825I - pretty advanced, small, cheap, a new design and available.

From STM32, if possible, I would avoid F1 and use at least F2 series.

Regarding memory usage read my post in this topic:

https://community.st.com/s/question/0D53W00000V22nISAR/microcontroller-requirements-to-implement-an-embedded-web-server-using-websocket-js-and-html5

View solution in original post

7 REPLIES 7
LCE
Principal

Right now the biggest problem seems availability.

I think most Nucleo-boards are using the LAN8742A, I do so too on a board still in development (but doing good so far on the HW side).

I see no reason for using MII instead of RMII, as you're havin HF stuff on your PCB anyway, but maybe there's something I don't know.

SanuzR
Associate

About memory, you can evaluate. But you can check DP83848.

Broman3100
Associate III

It does really seem like most of the phys I checked, including the two you guys suggested are out of stock or overpriced on most retailers, Does it boil down to whatever PHY I can get my hands on? The code part should be basically same for all of them right? (except the initialization)

Do you have none other requirements to the PHY? Just the plain vanilla 10/100 RMII?

Then get whatever is available and ask the vendor how to connect it to STM32.

Piranha
Chief II

Your understanding ir correct. While a feature set differs, almost any part with MII/RMII interface will work. Regarding the software, for the basic functionality the only thing that differs is a register address and positions of two bits, which indicate the speed and duplex mode selected by auto-negotiation.

DP83848 is pretty old. Nothing wrong with it, but never designs are typically better and/or cheaper. Most of ST's non-expensive boards use LAN8742A, which is a nice part. But at this point I would recommend the DP83825I - pretty advanced, small, cheap, a new design and available.

From STM32, if possible, I would avoid F1 and use at least F2 series.

Regarding memory usage read my post in this topic:

https://community.st.com/s/question/0D53W00000V22nISAR/microcontroller-requirements-to-implement-an-embedded-web-server-using-websocket-js-and-html5

Thanks for you response, that was very informative!

Do you maybe have an example driver using the DP83825I?