cancel
Showing results for 
Search instead for 
Did you mean: 

H743 ethernet clocking issue

matt-crc
Associate III

Hello,

I started a new project using the H743, ethernet, LAN8742 and NetXDuo (on one of our custom boards).  Its a very simple project that initializes the hardware, initializes AzRtos, ThreadX, and NetXDuo, and starts TCP, UDP, and ICMP.  This project is just a base (Starting point) for much bigger projects.  When connected to the network, i can ping the board, it can either use a static IP or  the DHCP client.

The strange part is that the software works when the clock configuration is set to 400MHz.  If I try to set it to 480MHz, NetXDuo doesn't receive any packets from the network.  At 480MHz, the phy is working properly and it detects (prints a line) stating the status of the ethernet cable (plugged in / unplugged). The phy is sending a 50mhz clock to the H743, so I don't understand why the MCU works at 400 but not 480.   Anyway, I've been pulling my hair out trying to figure out why it doesn't work.  Everything in the Clock Configuration looks ok and CubeIDE does not complain about any of the values entered.  Does anyone have any clue or suggestions as to why it doesn't work at 480MHz?

Thanks

Matthew

1 ACCEPTED SOLUTION

Accepted Solutions
matt-crc
Associate III

Hello,

Ok, we found the problem. At 400 Mhz the ethernet runs without issue, at 480MHz it doesn't work at all. When we increased the pin drive on all the ethernet pins, it started to work at 480mhz. Not sure why this happens since the RMII interface runs from the same 50MHz phy clock.

Thanks for the multiple responses and help

Matthew

View solution in original post

23 REPLIES 23
mbarg.1
Senior II

I am currently running several projects all @480mhz, and they all perform 100%.

I share an .ioc file that you can compare with your setup.

There is no reason why it should not work BUT some early nucleo boards had beta devices limited to 300 MHz - check your hw,

 

Hi @mbarg.1 

I found an errata that says there is a hardware problem with some revisions of this chip.  Cannot go above 400MHz...

mattcrc_0-1739428556645.png

I think we recently purchased these chips from distribution....  

Matthew

kudos and solution accepted are always welcome - thanks

Hi @mbarg.1 

I escalated the issue to ST engineers, but it seems their Errata is wrong.  I'll wait to hear back from them before sending you a kudos :) 

mattcrc_0-1739431044305.png

thanks

Matt

I usually check for counterfait devices in SFRs.

my devices are

mbarg1_0-1739436306787.png

 

mƎALLEm
ST Employee

Hello,

As it's generated with CubeMx/CubeIDE I don't think there is an issue in the clock config and indeed rev V can reach 480MHz with VOS0.

I'm not expert of ETH but does the product run with a simple example at 480MHz? What is the product package are you using?

See also this errata:

SofLit_0-1739447426156.png

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

@mƎALLEm wrote:

See also this errata:

SofLit_0-1739447426156.png


Ok I see you are using LAN8742 (RMII) so you are not in this errata ..

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

Hi @mƎALLEm 

1- No, it does not run a simple NetXDuo example (ping) at 480MHz.

2- Package is 265BGA or ST calls it a 240BGA + 25


@matt-crc wrote:

Hi @mƎALLEm 

1- No, it does not run a simple NetXDuo example (ping) at 480MHz.

 


I meant here by simple example: not using ETH. Example toggling a GPIO.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.