By: Ryan Carlino
As you become an oscilloscope power user, you may find that there are times when the usual four oscilloscope channels are just not enough. You might want to make sure your system comes out of reset properly by observing the timing relationship of various reset and status lines. You also might need to verify that power supply rails come up and go down in the proper order. Modern FPGAs often have more than four power supplies and those supplies are required to sequence in a specified fashion (i.e. certain supplies need to come up before other ones and in a specified amount of time). Here’s an example of Altera’s specification of how fifteen power supplies for a Stratix FPGA should come up.
From page 322 of: Stratix V Device Handbook
Designing power sequencing circuits and verifying their actual behavior is something I do on most boards I work on. Here’s a trick for capturing more than four power supplies in a single scope image.
A board I am working on right now provides eight power supplies to some custom bipolar ASICs (Keysight-designed chips that have both positive and negative power supplies). Like an FPGA, the ASICs have specific power sequencing requirements. In my case, four positive supplies should come up and “peel off,” followed by four negative supplies which also “peel off.” The ASIC designers and I came to this agreement and I documented it on a post-it note, which became my design spec (Figure 1).
Now that boards are built, I want to verify that my design worked this way. Ideally, I would capture an oscilloscope plot that looked just like my drawing, but my scope only has four channels! I don’t want two plots and I don’t have time to save the waveform data and load them into a plotting program.
This is where saving waveforms into memory really shines: you can display up to eight waveforms at once. Here’s how I get the plot I want using my Keysight S-Series oscilloscope.
- Pick a master signal to trigger on – It’s going to take three triggers to get all eight waveforms, so pick one signal to be the “master”. I like to use the first signal that turns on. Set the trigger level in the middle of that signal and keep it there.
- Make sure the timing is consistent – Stacking waveforms is only useful if the signals aren’t moving in time with respect to each other. I like to take a few test triggers to see if the waveforms come up consistently. If some of the signals shift in time, try to figure out how far they go. Will a composite waveform make sense if the timing changes?
- Check the vertical and horizontal scales – You want to capture the signals so they fit on the screen. Pick an appropriate vertical scale and offset for each signal. Check that the horizontal scale is big enough to capture the last signal when triggering on the first.
- Trigger and save, then repeat as needed – Get probes on your signals and start capturing. First probe your master signal (#1) and three other signals (#2, #3, #4). Save signals #2-#4 into three waveform memories. Then, move the probe from #2 to signal #5. Trigger and save signal #5 into the last memory. Then move the probes to the final signals #6-#8 and trigger and save. Now you can view all eight of your signals!
Let’s run through an example of my eight power supplies turning on. I use two grids (positive rails on top, negative rails on bottom) with all waveforms at the same vertical scale. I use +12V as my trigger, since it comes up first. I checked that the turn-on timing is consistent during power-up and set my horizontal and vertical scales.
On my first trigger, I capture three of the negative supplies and save them into memories.
Just right-click each waveform to save and select Save Channel -> To Memory.
With three memories done, I move the CH2 probe and trigger a second time to capture the last negative supply into a memory.
On my final trigger, I move the probes to the positive supplies and save 8-waveform plot.
I like to label the waveforms with descriptive names using bookmarks.
So, there are my 8 power supplies turning on – all on one plot. I can see where things are not ideal and can react to them if needed. Now, I can repeat the process to get a turn-off plot.