Datasheet
Application Note 
www.tektronix.com/oscilloscopes8
Working with SPI 
Using the front panel Bus buttons we can define an SPI 
bus by simply entering the basic parameters of the bus 
including which channels SCLK, SS, MOSI, and MISO are on, 
thresholds, and polarities (see Figure 10). 
As an example, consider the embedded system in Figure 11. 
An SPI bus is connected to a synthesizer, a DAC, and some 
I/O. The synthesizer is connected to a VCO that provides a 
2.5 GHz clock to the rest of the system. The synthesizer is 
supposed to be programmed by the CPU at startup. However, 
something isn’t working correctly as the VCO is stuck at its rail 
generating 3 GHz. The first step in debugging this problem is 
to inspect the signals between the CPU and the synthesizer 
to be sure the signals are present and there are no physical 
connection problems, but we don’t find anything wrong. Next 
we decide to take a look at the information being transmitted 
across the SPI bus to program the synthesizer. To capture 
the information we set the oscilloscope to trigger on the 
synthesizer’s Slave Select signal going active and power up 
the DUT to capture the start up programming commands. The 
acquisition is shown in Figure 12. 
Channel 1 (yellow) is SCLK, channel 2 (cyan) is MOSI and 
channel 3 (magenta) is SS. To help determine if we’re 
programming the device correctly we take a look at the data 
sheet for the synthesizer. The first three messages on the 
bus are supposed to initialize the synthesizer, load the divider 
ratio, and latch the data. According to the spec, the last nibble 
(single hex character) in the first three transfers should be 3, 0, 
and 1, respectively, but we’re seeing 0, 0, and 0.
Figure 12. Acquiring synthesizer configuration messages off the SPI bus.
Figure 11. Synthesizer controlled via SPI.
Figure 10. SPI bus setup menu.
Synthesizer
VCO
SCLK
MOSI
MOSI
MOSI
SS1
DAC
SCLK
I/O
SCLK
SS2
SS3
8 bit CPU
(Master)
SS1
SS2
SS3
SCLK
MOSI










