Skip to main content
Graduate
November 7, 2022
Solved

Which Ethernet PHY to choose for STM32 ethernet applications?

  • November 7, 2022
  • 4 replies
  • 15281 views

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.

    This topic has been closed for replies.
    Best answer by Piranha

    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

    4 replies

    Graduate II
    November 8, 2022

    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.

    Visitor II
    November 8, 2022

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

    Graduate
    November 8, 2022

    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)

    Super User
    November 8, 2022

    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.

    PiranhaAnswer
    Graduate II
    November 9, 2022

    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

    Graduate
    November 9, 2022

    Thanks for you response, that was very informative!