09-08-2017 05:33 AM
I am using the AXI 1G/2.5G Ethernet Subsystem to send Ethernet packets coming from a Microblaze. The PHY being used is Marvel 88E1512 PHY. My project is built on top of the LWIP echo server example project.
The problem I have is that TX_ER and TX_EN on the GMII interface from the MAC are both simultaneously asserted (set to 1) during any packet transmission, indicating the the MAC is invalidating the packet it itself generated. I would like to ask what could be causing such behaviour.
P.S. The system appears to have no issues receiving packets, only sending them . The checksums for outgoing packets are calculated using software XIlinx functions running on the Microblaze.
09-08-2017 06:26 AM - edited 09-08-2017 06:27 AM
The reasons can be many.
I would 1st check out by inspecting the MAC tx registers, e.g. - Transmitter Configuration Word or a similar register.
As a second check I would configure the MAC such that the MAC can itself calc the FCS and add it to the frame instead of the uBlaze doing it (if that is supported by your MAC core).
If you have a tx_fifo in between the uBlaze and the MAC, then its signals must also be inspected.
09-11-2017 07:00 AM
Was mistaken about the spec for RGMII:
TXERR <= GMII_TX_ER (XOR) GMII_TX_EN
RXERR <= GMII_RX_ER (XOR) GMII_RX_DV
So there is no error on the TX side. The problem must be on the RX side of things.
Nonetheless, thank you to everyone for your time and help.