I'm using the FEC module on MPC5777C, with MII mode, the testing board is MPC57xx Motherboard REV-D. I'm currently facing a problem that the packets sometimes couldn't send out. I checked both the TX descriptor and the data buffer, both are the same as when it sends out successfully.
Here's the screen shot when the transmission successful and failure (192.168.0.22 is the MPC board, and 192.168.0.21 is PC, the Tp-LinkT_96 is the ethernet-usb adaptor to PC):
when it failure:
When it sends out data, the software behaves like below whatever in successful time or failure time:
1. Assert ready bit on the status flag of the Tx buffer descriptor;
2. Check that TDAR register is 0, otherwise wait until the register become 0;
3. Assert the TDAR bit;
4. Check the ready bit on the sent buffer descriptor, and it becomes 0.
I don't know why sometimes there is no real data sending out even if I followed the right procedure to handle the tx buffer descriptor and TDAR bit.
A quick update to my own question:
On MPC57xx board, by changing the resistor R65 from 4.7k to 4.87k, increase the success rate significantly. Since on DP83848 datasheet, they specify that the RBIAS value has to been 4.87k with 1% tolerance.
Now, the failure rate is much less than before but still sometimes failure, will continue explore it and update