6
\$\begingroup\$

I have a PCB, which was not designed by me. The Ethernet works intermittently between multiple copies, except for on one, where it works just fine.

I want to start troubleshooting at layer 1, and when I looked at the design for this PCB, I noticed that there is no impedance control, or length matching on the traces going from the RJ45 to the PHY (which is integrated into the microcontroller). These traces are routed like GPIO, not like a differential pair. There is also no ground plane on this board, so calculating the actual impedance if the traces is going to be very difficult.

I suspect there is a signal integrity issue that is causing the ethernet to work intermittently, but how do I go about proving it? I was thinking of using my VNA and measuring the traces individually (single ended), but I was hoping to get some different ideas from this post.

The ethernet jack in question: Mouser Link

So, I did end up hooking my VNA up to the boards, and here is the results I got. Note this was on raw boards, no RJ45 or MCU attached. Measured at 66MHz.

Line Resistance Reactance SWR Smith Chart Delay Complex
TX+ 16.1Ω -64.2Ω 7.2 16.0Ω 37.2pF 4.0ns .21-j.75
TX- 18.3Ω -64.2Ω 8.5 18.3Ω 38.4pF 4.2ns .19-j.76
RX+ 16.5Ω -62.0Ω 7.7 16.5Ω 39.2pF 4.0ns .19-j.75
RX- 15.8Ω -64.0Ω 8.5 15.7Ω 37.5pF 4.0ns .20-j.75

Gerber Front/Back

Ethernet TX+- RX+- Highlighted

\$\endgroup\$
11
  • 3
    \$\begingroup\$ Do you have a photo of the board? That would be very helpful. When you say it's intermittent, could you characterise that? For example "works for an hour then stops for two", or "only one frame in three goes through"? \$\endgroup\$
    – jonathanjo
    Commented Jul 11, 2023 at 13:14
  • 2
    \$\begingroup\$ What speed ethernet are you using, do you have a datasheet for the PHY? "Can usually ping" sounds pretty long timescales: have you checked, in particular, any ARP issues or ether address clashes? \$\endgroup\$
    – jonathanjo
    Commented Jul 11, 2023 at 14:28
  • 2
    \$\begingroup\$ There is no way that connector can match with the PCB pinout so that it will fit or work. The markings are unclear though, but can you post the schematics. Also what MCU is that? Important to know. \$\endgroup\$
    – Justme
    Commented Jul 11, 2023 at 14:42
  • 2
    \$\begingroup\$ @Shaken_U Well I was going to say you are missing termination resistors. But apparently they are inside the W7500P. They still may be software controlled so they need to be enabled in the firmware. And you need to double check which exact connector you have - that can't be the correct magjack/connector type you stated. Please post correct connector type. \$\endgroup\$
    – Justme
    Commented Jul 11, 2023 at 17:15
  • 2
    \$\begingroup\$ Measuring the traces as single ended does not tell you the differential impedance. A more useful thing to do would be to verify if the internal terminations are enabled. Measure with oscilloscope to verify that waveforms have correct amplitude so they are not unterminated. \$\endgroup\$
    – Justme
    Commented Jul 11, 2023 at 20:58

1 Answer 1

1
\$\begingroup\$

I suspect there is a signal integrity issue that is causing the ethernet to work intermittently, but how do I go about proving it?

First and foremost - there is not differential pair or impedance for the differential pair, you could estimate it with a calculator. But looking at the traces it probably isn't going to be a deal breaker with such a short run. If I have a diff pair with 10mils traces with a height of 15mil above the reference plane and 5mil spacing, I get close to 100Ω of impedance. Increasing the spacing to 50mil gives me 150Ω but for such a short run it probably won't affect the wavelength too much at ethernet frequencies.

Another thing would be the layer stackup, if you aren't getting a 50Ω impedance for the single ended traces then that could be an issue, but then again it looks like a short run and well under 1/16th of a wavelength.

The best thing to do would be to check the eye diagram with a differential pair and see if you are getting overshoots or something the not-valid area. If you are then re route. Also check the VCC and other area of the board for noise if you are seeing eye problems.

\$\endgroup\$

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.