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?
RMII timing issue between ESP32 and TI physical
RMII timing issue between ESP32 and TI physical
- Attachments
-
- ESP32 timing.png (56.98 KiB) Viewed 270 times
-
- Transmitted timing000.png (90.73 KiB) Viewed 270 times
-
- Received timing000.png (89.84 KiB) Viewed 270 times
Who is online
Users browsing this forum: No registered users and 2 guests