Electronic – Ethernet RMII using ribbon cable

ethernetribbon-cablermii

I am trying to interface the Ethenet using RMII at 100 Mbps speed.

The main board is a RH850 F1 evaluation board. Ethernet RMII transciever is a DP83848 chip on a waveshare External Transciever Board

The two boards are connected using an unshielded ribbon connector.

The Management signals are working after adding the pull up of 1.5k at MDIO pin. I am reading the PHYID correctly and also able to set the BMCR.

However the actual packets received on wireshark is corrupted. Even the MAC ID and Ethernet Type fields are being received corrupted.

I have the following questions from a hardware perspective.

  1. Is it even possible to connect with RMII using a ribbon cable? Has anybody else done this?

    a. I ask this as the RMII uses a 50 Mhz clock and I want to know If I can send these signals across a 6 inch ribbon cable.

  2. Do I need to add termination resistors to the OSCIN, RxD_0, Rx_D1, TxD_0, TxD_1 signals? Adding these very close to the microcontroller or transceiver is not easy.

  3. Any other suggestion as to how to get this to work.

Edit: Added photo of board and cable.

Photo of the board and cable

Best Answer

The connector has only two GND pins.

enter image description here

For better signal integrity you'd need GND lines on both sides of the clock line "OSCIN" (which is actually an output from the PHY module), and probably a few more GND lines to reduce emissions. On this pinout there will be some crosstalk between clock and nearby signal lines.

Also there is only one clock line, running at 50MHz (20ns cycle), it is output by the PHY.

When the PHY transmits data it will be automatically aligned with the clock, and if propagation delays are well matched then RX_Data will reach the MAC with proper timings relative to the clock.

However, when the MAC transmits, it does so according to the clock it receives from the PHY, so these signals will reach the PHY with a delay depending on propagation time (ie, cable length).

The PHY has 10ns data setup time to clock which leaves very little margin with a cycle time of 20ns. So I don't think you'll be able to use a flat cable due to propagation delay.

Related Topic