STM32F767ZI project will run at 100Mbit Ethernet, but not 10Mbit
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-03 08:37 AM
I have a project that runs at 100Mbit, but when I try to connect to a 10Mbit hub, it cannot connect.
Any ideas where to look (clocks, MAC, etc)?
Thanks
Solved! Go to Solution.
- Labels:
-
Ethernet
-
STM32F7 Series
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-04 06:11 AM
Check if the PHY link status register and bits are correct for your actual PHY chip. There are lots of ST code, where these are wrong.
And ST's link status code is not thread-safe, if it exists at all in your code.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-03 08:39 AM
PHY
then ETH_MACCR.FES
If it's really a HUB, you probably don't want to use autonegotiation. I'm not sure about how collisions are handled correctly.
Honestly I don't think there's much expertize out there with operating the STM32 with 10MHz hubs.
JW
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-04 06:11 AM
Check if the PHY link status register and bits are correct for your actual PHY chip. There are lots of ST code, where these are wrong.
And ST's link status code is not thread-safe, if it exists at all in your code.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-04 10:38 AM
The problem is that on the Nucleo-F767ZI board, the ST demo code works at 10 Mb but the Mbed code only works at 100Mb. The code to set it up is mostly the same calls to set up the hardware...
So I am looking at the RMII Ref clock to see if it is 50 MHz as the manual says.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-04 10:40 AM
The problem is that on the Nucleo-F767ZI board, the ST demo code works at both 100Mb and 10 Mb but the Mbed code only works at 100Mb. The code to set it up is mostly the same calls to set up the hardware...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-04 11:05 AM
Well, then that's the Mbed code problem. Still my advice is the same - debug and look at what speed and duplex mode it configures in MAC registers.
Is autonegotiation turned on?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-04 11:42 AM
I fixed this based on what you said about code being wrong, but this was ST code someone at Mbed copied (probably old) where the PHY_SR, PHY_SPEED_STATUS, and PHY_DUPLEX_STATUS were wrong (compared to a ST Example that worked correctly).
Thank you for your time.