cancel
Showing results for 
Search instead for 
Did you mean: 

Need Help Correcting Swapped ETH_TX0 and ETH_TX1 Pins on STM32H7

TBend.3
Associate II

Hello STM32 community,

I'm currently working with the STM32H7 microcontroller in my project and have connected an Ethernet PHY via MII. Unfortunately, I made a mistake during the creation of the schematics and layout, resulting in the ETH_TX0 and ETH_TX1 pins being swapped. This is obviously a problem, as the connection is incorrect.

I've tried to find a solution to this issue in both the STM32CubeMX tool and the STM32IDE, but so far, I've been unsuccessful. It seems that the option to reconfigure the Ethernet pins in the current software is not available.

Does anyone have any ideas on how I can resolve this issue in software? Is there a way to change the pin configuration for ETH_TX0 and ETH_TX1 after the fact without having to modify the PCB layout?

Any assistance or suggestions would be greatly appreciated. Perhaps someone in the community has encountered a similar problem and can share their experiences.

Thank you in advance for your support!

Best regards,

Thomas

5 REPLIES 5

> Is there a way to change the pin configuration for ETH_TX0 and ETH_TX1 after the fact without having to modify the PCB layout?

No. You must fix it in hardware.

JW

Piranha
Chief II

For this PCB version cutting the routes and soldering a cross connection with a tiny wires is your best bet.

TBend.3
Associate II

Thanks for the quick answers, I just thought I had once seen a post in which the RX and TX lines of a UART were also swapped, despite this was not possible in the STMCube MX and also the alternative functions of the pin were not provided so. Unfortunately, I can no longer find this post. The configuration of the pinout was done manually in this case, unfortunately I'm not so deep into it and maybe there is still someone in the forum who knows an alternative or has a proper idea.

Thank you and best regards Thomas

P.S.: an adjustment to the current PCB is unfortunately not possible because I can not get to the BGA pins of the controller and also the Ethernet Phy is not well accessible. :tired_face:

LCE
Principal

I just finished the pin assignment yesterday for a H735 in BGA, including ETH / RMII - with CubeMX and the datasheet.
At least for the H723/25/33/35 I can confirm: there is absolutely NO software workaround.
These types always have only one RMII AF option per pin.

So either start scratching copper, or say goodbye to the PCBs...

Or your hardware guy did place some serial resistors in the RMII lines and you can fiddle with these.

If there are no serial resistors, you should consider these for the next design: (probably) improves impedance & EMI, and in case of wrong wiring it's at least some IO protection - and as you see now it might help with the effing BGA package...

That's why almost every BGA pin gets at least an accessible testpoint - if possible...

How I hate these BGAs for prototyping... unless it's an FPGA! :D

maybe there is still someone in the forum who knows an alternative or has a proper idea.


All of the users, who commented, actually do know... that there is no software workaround!

Also be warned about this:

https://community.st.com/t5/stm32-mcus-embedded-software/how-to-make-ethernet-and-lwip-working-on-stm32/m-p/261456