How to capture fast signals with the oscilloscope
It is about using springs and not crocodiles, but not just that.
Beware of crocodiles, they are dangerous creatures.
Fede (my favorite test engineer) and I very frequently say to the other: «I told you, measuring right is very difficult». Then we laugh together because we have repeated the sentence hundreds of times, but we say as if that where the first time. The fundamentals of learning is repeating true things and making them part of our guts and brains.
When you measure high bandwidth signals, you have to keep the probe area (signal and ground) as small as possible.
Or said in other words: you have to keep the probe series inductance as low as possible.
If there is a topic that repeats in the guidelines about oscilloscope measurements is this about how to measure high bandwidth signals. However, in practice, I can see that most of the times when someone shows me a distorted waveform, the root cause is improper probe grounding.
To illustrate this, I am going to show a practical example I had to deal myself few months ago.
Problem statement
I had a Digilent Cmod A7 37T FPGA module which is connected to a custom made board to test cables at high data rate. In order to be able to synchronize the transmit sequence, I have programmed an FPGA pin to generate a pulse which has the width of one period of a 120 MHz signal (8.3 ns). While this is just an optional synchronization signal, measuring it properly is a challenging task.
The first measurement was done (on purpose) in improper way, by using the most immediate approach: I connected the scope probe to the test pin in the daughter board and the probe crocodile to a close GND test point. The green colored daughter board is a multilayer PCB with a ground plane flooded with copper.
The signal obtained is shown in the following oscilloscope screenshot.
You can see it is severely distorted, with overshoot and undershoot and other reflections. Do not forget this is a 3.3 V logic signal.
I am a good pupil of myself and I perfectly know that this was due to the enormous ground loop that the ground cord and the crocodile imposes to this very high bandwidth signal. Ground loop means inductance.
The obvious solution is to use the spring in the oscilloscope probe and connect it to a closer ground point. Changing just the oscilloscope probe makes things better but only slightly.
The bounces (specially the negative one) are still very significant.
The reason for that is that the ground loop is still large: it is not in the oscilloscope probe but in the board itself. Let us see this in more detail.
The following figure shows the pin arrangement in the module. The test point was placed in pin 3. The ground pin is almost in the other edge of the board.
The signal flow is shown in the next figure: from the FPGA supply to the trace that goes to pin 3, daughter board test point. Returns from the oscilloscope probe, goes directly to pin 25 (in the FPGA module, labeled as GND) because current flows across the ground plane, and in the FPGA boards, the the decoupling capacitor of the board, across its own ground plane.
How to solve the issue? I gave a look to the board electrical diagram and find a component with a GND connected pin that is very close to the output pin. I connected the probe spring to it, resulting in the lowest possible ground loop. See figure below.
With this setup the measured signal is very good, not perfect but close to perfection.
At that point worth making a fast calculation about the bandwidth of this signal. Rise time can be estimated to be 1.5 ns.
The probe is a passive 10:1 one with 500 MHz bandwidth and the oscilloscope 8 GHz, they are not limiting measurement.
Many readers have told me they enjoy the GIF animations: follows one with the three measurements.
Summary and conclusions
If you need the measure high speed signals with the minimum distortion, you have to obtain the lowest available probe loop inductance, or said in other words, the lowest inductance.
The most typical way is to refuse to use the crocodile and to use the probe head spring, connected to a good ground point. By good I mean a point in which the current loop area is minimal.
Off topic
Someone may wonder if the Digilent Cmod board is usable for high speed designs like this, because output signals are going to be very severely distorted due to very large ground loops. Simultaneous switching of different signals will be an extra source of pain and tears.
The answer is that if we use high bandwidth single ended signals in the module interface, they are going to be severely distorted. In the second measurement shown, the problem is not in the oscilloscope setup: it was in the board.
However, in most high speed applications (in particular, mine) we use differential interfaces, which are much more insensible to this kind of problems. The board is perfectly usable and does a very good job at a very reasonable cost.