1
\$\begingroup\$

I have pretty complex board which has few media-converters on it (fiber to copper), also some high-speed links like 1000BASE-TX, SGMII etc. (a lot of different ICs), and some times I've problems debugging it (links just doesn't seem to work and I am having troubles to find the root cause). I have a pretty simple oscilloscope (only 100 MHz, 1 Gsps). I wonder if it'd be worth buying more sophisticated oscilloscope or other equipment to debug some complex cases? What functionality can be of use to debug such links? I know there are some oscilloscopes that can read Ethernet frames, build eye-diagrams etc. Is it useful while debugging new designs? What other functionality can be of use? Thanks! Also is it possible to distinguish real data from idle in 100BASE-TX, it seems like scrambler mix all data...

\$\endgroup\$
3
\$\begingroup\$

It's not easy. You don't get that far with a scope because the encoding on the line is so hard to observe. However you can scan for basic activity. Note that on 1000BaseT (from my experience) you often see continuous carrier activity, while on lower speeds you only see activity when you send some data. This at least lets you know if there is actually something getting out.

The best technique I found in the past (on small embedded boards) was to make up a loopback cable (just cut and trip a standard cable and twist the appropriate pairs together), and then send out short UDP packets (i.e. test strings) and look to see the data coming back. First try to get it going at low speeds, then see how you go at higher speeds. I did this recently and discovered that the hardware designer made a board that would only work at 10 and 100T, not 1000, due to some poor signal routing. (Luckily that didn't matter much in this case.)

If you can't get this going, next step is most likely to put some sort of logic analyser on the pins between the uC and the PHY, typically MDIO, and look at low level transfers to see if configuration is OK.

No doubt others may have other and better ways, but this worked for me.

\$\endgroup\$
4
  • 1
    \$\begingroup\$ Ok, thank you for the response! Just wanted to add it seems that for 100BASE-TX/100BASE-FX there is always activity on the line (idle pattern gets transmitted) \$\endgroup\$ – Andy Jun 15 at 3:48
  • 1
    \$\begingroup\$ I wonder if the amplitude and bias really matter in such things? I mean if the signal looks clean does the small deviation of amplitude and bias really matter? \$\endgroup\$ – Andy Jun 15 at 3:50
  • \$\begingroup\$ @Andy Generally, if the PHY and magnetics are implemented according to the data sheet, you don't have to worry about it. Just check that the recommended components are in place and are OK, and things should come up. There is probably dedicated test gear to look at the line, but if you don't have it, you don't have it. -- By the way, if this answers your question, it's appreciated if you mark it as such. \$\endgroup\$ – danmcb Jun 15 at 7:26
  • \$\begingroup\$ Thank you for your answer, but generally I'm talking about the cases when there is no magnetics and no well-tested reference designs, I consider connecting different ICs from different manufactures directly (without magnetics and without any reference design provided). \$\endgroup\$ – Andy Jun 15 at 17:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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