I am interfacing a DP83822IF in RMII mode on a custom pcb running a bare metal C-application.
I am using the pcb with the phy for a while now and thought I managed to set it up correctly but in the last few days I observed unexpected behaviours. In general, the ethernet communcation works as expected but as I did some serious stress-tests on the TCP interface, I noticed hangs in my TCP Stack when it comes to some kind of failure during retransmissions.
In my troubleshoot I also observed the behaviour of the PHY monitoring it's registers and came across some suspicious information:
- the False Carrier Event Counter (register FCSCR 0x0014) is continuously incrementing
- the Receive Error Counter (register RECR 0x0015) is also continuously incrementing (I verified the counter via the RX_ER pin of the PHY and observed that indeed there are continuously impulses on this signal)
- when enabling the available interrupts on the phy, I am also observing frequent but non-periodic Link Quality Interrupts
As I said, in general the interface seems to work, even with those observed "errors" on the phy, but I am uncertain about the seriousness of the mentioned behaviour of the phy.
In addition to the mentioned observations I tested one more thing:
When enabling the fast link down event, I am observing continuously changes from link up to link down and vice versa. Additional an Energy Detect Interrupt follows each link down event as well as a couple of MDI Crossover Change Interrupts (~6-12 times) and sometimes a Polarity Changed Interrupt appends to the list as well.
The resulting link ups and downs of course prevent a normal usage of the ethernet connection, but again I don't think that there should be as much link problems in this mode as I am observing.
Can you tell me if the observed PHY behaviour seems like an absolute "normal phenomenon", or does it point out some misconfiguration (either in the hardware or software configuration)?
What could cause such behaviours?
Thank you in advance!