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


1 Answer 1


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.

  • \$\begingroup\$ Thanks for your response. Will this setup work for 10Mbps ethernet? I understand that for 10Mbps, the OSCIN will still be 50Mhz. \$\endgroup\$ Commented Jan 3, 2020 at 11:12
  • \$\begingroup\$ I don't know, that depends when the PHY samples the signals, if the clock is still 50MHz, probably not!... But if you want to put the ethernet connector away from the board, it is much better to connect the module to the board without cable and use an extension cable on the ethernet side, this will work. \$\endgroup\$
    – bobflux
    Commented Jan 3, 2020 at 11:23
  • \$\begingroup\$ The problem is that on the other side I have a evaluation board. The ribbon cable is connected to the general GPIO outputs. The port configuration is done on the Controller end, but there is no special care taken for routing/ termination/ impedence matching. \$\endgroup\$ Commented Jan 3, 2020 at 12:02
  • \$\begingroup\$ Can you give more details/schematics? I have trouble understanding \$\endgroup\$
    – bobflux
    Commented Jan 3, 2020 at 12:06
  • \$\begingroup\$ The schematics may be proprietary, so cannot share right now. I am using a Renesas evaluation board and connecting to the IO pins. The pins are available on a 2.54 mm male header connector. \$\endgroup\$ Commented Jan 3, 2020 at 12:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.