Monday, May 7, 2012

Understanding an Oscilloscope's Update Rate

In this blog post we will look at the waveform update rate specification of an oscilloscope. Although an often overlooked specification, waveform update rates can be extremely important — sometimes just as important as the traditional banner specifications including bandwidth, sample rate, and memory depth. Even though a scope’s waveform update rate may appear fast when viewing repetitively captured waveforms on your scope’s display, “fast” is relative. For example, a few hundred waveforms per second will certainly appear fast to the human eye, but statistically speaking this can be very slow if you are attempting to capture a random and infrequent event that may happen just once in a million occurrences of a signal.

When you debug new designs, waveform update and serial bus decode rates can be critical — especially when you are attempting to find and debug infrequent or intermittent problems. These are the toughest kinds of problems to solve. Faster waveform and decode update rates improve the scope’s probability of capturing illusive events and serial bus communication errors.

All oscilloscopes have an inherent characteristic called “dead-time” or “blind time”. This is the time between each repetitive acquisition of the scope when it is processing the previously acquired waveform. Unfortunately, oscilloscope dead-times can sometimes be orders of magnitude longer than acquisition times. During the oscilloscope’s dead-time, any signal activity that may be occurring will be missed as shown in the figure below.

Because of oscilloscope dead-time, capturing random and infrequent events with a scope becomes a gamble — much like rolling dice. The more times you roll the dice, the higher the probability of obtaining a specific combination of numbers. Likewise, the more often a scope updates waveforms for a given amount of observation time, the higher the probability of capturing and viewing an elusive event — one that you may not even know exists.

The following equation can be used to calculate a scope's dead time percentage:

% DT = Scope’s dead-time percentage = 100 x [(1/U) – W]/(1/U) = 100 x (1 – UW)
U = Scope’s spec'd update rate
W = Display acquisition window =
Timebase setting x 10

What most users do not realize is a scope's dead time is much much larger than its acquisition time. For instance Agilent's 3000 X-Series family of scopes has an update rate of 1,000,000 time per second at 10 ns/div timebase setting, which is best in its class. Even with such a high update the 3000 X-Series has a dead time percentage:

%DT = 100 x (1 - (1e6 * 1e-7)) = 90%

Lets look at an example where we are analyzing a signal that has a glitch in it that occurs 5 times per second. Using a scope that has an update rate 1e6 per second and a timebase setting of 10ns/div what is the probability that it will capture the glitch in 5 seconds. 

Pt = 100 x (1-[1-RW]^(U x t))
Pt = Probability of capturing
anomaly in “t” seconds
t = Observation time
U = Scope’s measured waveform
update rate
R = Anomalous event occurrence
W = Display acquisition window =
Timebase setting x 10

P(5s) = 100 x (1 – [1 – (5/s x 100 ns)]^(1,000,000/s x 5s)) = 91.8%

From the above calculation we can see that there is a 92% chance that the scope would capture the glitch in 5 seconds. The below figure is from the 3000 X-Series measuring a signal with a glitch that occurs 5 times a second. The glitch was captured in 2 seconds. 

If we were using a scope that had an update rate of 3,000 updates per second or less (which is common in low to mid range priced scopes) the probability of seeing the 5 times per second glitch in 5 seconds would be less than 1%. 

In this post we looked at a scope's update rate and its importance to debugging and finding that rare glitch. If you have anything to add to this blog post use the comments section below.