cancel
Showing results for 
Search instead for 
Did you mean: 

How to test integrity of RMII link between STM32F417's Mac and an external Phy?

freedrum50
Associate II

I have a product in which a STM32F417 (BGA) micro is attached to a LAN8720A (QFN) Phy using the RMII interface. It uses an external 50MHz oscillator going to the Phy and STM32.

For testing newly assembled PCBs in mass production, is there a way to test the integrity of the TXD[0:1], TXEN, RXD[0:1], RXER & CRS_DV signals, i.e. die to die, without having to use an Ethernet stack? I'm thinking something low speed using the interface as GPIOs instead of full speed RMII.

6 REPLIES 6

Probably nothing as simple as you'd like.

Tje LAN8720A does not have any JTAG/boundary scan option, nor other similar, at least not publicly advertised (and IMO that's also the matter of facts). It does have a "near loopback", but to employ that, you'd need to run MDIO and also RMII so the all ETH anyway; not necessarily the entire stack, but still, I'm not sure how simple or complicated it would be to implement.

JW

OK, thanks for the reply Jan. Hopefully with the assistance of CubeMX I can get the RMII interfacing working sufficiently to prove a near or far loopback. Hardware is my main bag so I'm at home with simpler C code rather than heavyweight C++!! If I use the connector loopback setup, I can also test the signals to the MagJack.

Thanks again. The best answer Microchip (aka SMSC) support could muster was: "The only way to check whether the assembly is correct is by checking the continuity using a multimeter.". Genius!!

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

For loopback tests you need ETH Tx and Rx working. The IP stack, of course, is not necessary for doing it, but, if you need the IP stack anyway, then it's probably wiser to implement the loopback test based on the IP stack's low level functions.

Post edited to adhere community guidelines.

freedrum50
Associate II

Thanks for the reply Piranha. :thumbs_up: Time to create an Ethernet test project!

freedrum50
Associate II

I had another reply from dolvex23 (Visitor) but their posted message has disappeared?! Don't know why. I still have a copy and seems fine to re-post here:


To test the integrity of the RMII (Reduced Media Independent Interface) link between STM32F417's MAC (Media Access Controller) and an external PHY (Physical Layer), you can perform the following steps. First, ensure that both the STM32F417 and the external PHY are properly connected using the RMII interface, with all necessary signals properly routed. Then, initialize the STM32F417's MAC and configure it to communicate with the external PHY. Next, send test data or packets through the RMII link from the STM32F417's MAC to the external PHY and vice versa. Monitor the communication on both ends using appropriate tools, such as an oscilloscope or a network analyzer, to check for the presence of expected signals, signal quality, and data integrity. Additionally, you can introduce cargo words, which are special predefined data patterns used for testing purposes, into the data stream to verify the error detection and correction capabilities of the RMII link. By analyzing the received cargo you can assess the integrity and performance of the RMII link between the STM32F417's MAC and the external PHY.

 

It's a spam and the second word "cargo" had an advertising link.