RMII timing issue between ESP32 and TI physical

KanevZ
Posts: 2
Joined: Wed Mar 19, 2025 2:16 pm

RMII timing issue between ESP32 and TI physical

Postby KanevZ » Thu Mar 20, 2025 1:05 pm

Hi,

In a current design I use the DP83822I physical in combination with the ESP32-MINI-1-N4. The PHY communicateds with the ESP32 over RMII.
However, on my proto types the RMII seems to have timing issues with the 50MHz clock and the TX and/or RX lines.
When I ping the IP adress the device occasionally pings correctly and occasionally gets a packet loss.
For each proto the occurence of packet losses differs.
One may never returns packet losses and the other always returns packet losses.
When I measure the timing on a scope the timing seems correct. See attached figures.
For receiving the setup time is 13ns and the hold is 7ns, and for transmission the setup is 10ns and the hold is 10ns aswell.
These values comply with the values provided in the data sheet.
However the ESP32 technical reference manual introduses a input and output delay. These delays might be the cause of the issue, since they differ per module, which can make the timing critical.
When heating the proto the chance on correct packets increases and when cooling the chance decreases, indicating the presence of a timing issue.
I have not found a way to delay the clock in software either in the ESP32 or PHY. Is it possible to delay the clock in software, with this configuration, and if not would it help to delay the clock in hardware with a serial clock buffer?
Attachments
ESP32 timing.png
ESP32 timing.png (56.98 KiB) Viewed 271 times
Transmitted timing000.png
Transmitted timing000.png (90.73 KiB) Viewed 271 times
Received timing000.png
Received timing000.png (89.84 KiB) Viewed 271 times

Who is online

Users browsing this forum: No registered users and 4 guests