A good way to test your design under worst-case conditions is to capture a known good waveform on a scope, download it into an arbitrary waveform generator (arb) and then modify various signal parameters to emulate worst-case input conditions. In the past this required a scope and an arb remotely connected to a PC that was running custom software or some instrument specific software package. That has all changed with the features found in modern arbs and scopes. Now all you need is an arb, a scope, and a usb memory device. In this blog post we will run through an example of capturing and storing 10 bytes of a known good RS232/UART transmit serial bus signal using an Agilent 3000 X-Series scope. We will then transfer the stored waveform data into an Agilent 33522A function/arbitrary waveform generator for replay without touching a PC. We will then look at some example features found on modern arb’s to modify our serial bus signal to test a design under worst-case input conditions.
I am using a serial bus signal for example purposes only. You can apply the techniques here to easily and quickly test for worst-case conditions using virtually any kind of analog or digital signals.
Capturing a “Golden” Waveform on the Oscilloscope
The scope’s timebase is set to 1.000 ms/div to capture 10 bytes of 19.2 kbps RS232/UART serial bus traffic, as shown in the figure below.
After “windowing” on the portion of the waveform we want to capture, we save it as an “ASCII XY data (.csv)” to our USB memory device. The captured waveform was decimated down to 10K points. The saved waveform data can now be imported into various software packages including Microsoft® Excel spreadsheets, MATLAB, and numerous other waveform processing/editing applications. But most importantly, we can import this waveform data directly to our modern arb, which in this example is a 33522A.
Downloading the “Golden” Waveform into the Arb
To import the saved waveform into the arb, we just need to move our USB memory device from the scope’s front panel USB port to the arb’s front panel USB port. From there a simple push button sequence on the arb’s front panel imports the CSV data and recreates the waveform in memory. The stored waveform consisted of 10,000 points that covered a time-span of 10 ms; this provided an effective/decimated oscilloscope sample rate of 1 MSa/s. The arb will take the time data from the CSV file and automatically set the sample rate of the arb to match it (in this example 1 MSa/s).
Modifying the Baud Rate and Amplitude and Adding Noise
Now that we’ve reproduced the original “golden” waveform, we can easily modify it in order to test for worst-case input conditions. Let’s assume that you know that your receiver responds correctly to the signal conditions of the “golden” waveform running at 19.2 kbps and with normal signal amplitudes and minimum noise. But what if you wanted to test your system running at a much faster baud rate (1.3824 Mbps) and perhaps with additional noise?
Let’s first change the baud rate of this RS232/UART signal to 1.3824 Mbps. Remember that the original baud rate was 19.2 kbps. Since 1.3824 Mbps is 72 times faster than 19.2 kbps, we should change the arb’s sample rate to 72.0 MSa/s (1 MSa/s x 72). We can add random noise to the signal using the arb’s modulation features. Additive noise can be created using the Sum modulation feature, while noise in the form of jitter can be created using the PM modulation feature. To perform more advanced waveform editing of the signal some modern arb’s like the 33522A have built-in Waveform Editor. These waveform editors typically can be used to modify individual points on the arb or modify the arb using built-in and custom math functions.
The figure below shows an example of the modified test signal now running at 1.3824 Mbps with additive random noise. As you can see, the scope is showing multiple decoding errors under these modified worst-case input signal conditions.
In the past capturing a design’s waveform with a scope, modifying it for testing purposes, and finally playing it on an arb was a tedius time consuming activity. The combination of a modern scope and arb like Agilent’s 3000 X-Series oscilloscopes and Agilent’s 33500 Series function/arbitrary waveform generators provides a quick and easy way to capture, recreate, and modify digital and analog signals for thoroughly testing a design with worst case signal conditions. To obtain additional information about these instruments go to: