Using the Protocol Analyzer (Under Construction)


This guide explains the use of the Protocol instrument in WaveForms. This instrument is used to send, receive, and spy on transactions in a variety of different digital communication protocols.


  • A Digilent Test & Measurement Device with Digital Input/Output Channels
  • A Computer with WaveForms Software Installed

1. Opening the Protocol Analyzer


Plug in the Test & Measurement Device, then start WaveForms and make sure the device is connected.

If no device is connected to the host computer when WaveForms launches, the Device Manager will be launched. Make sure that the device is plugged in and turned on, at which point it will appear in the Device Manager's device list (1). Click on the device in the list to select it, then click the Select button (2) to close the Device Manager.

Note: “DEMO” devices are also listed, which allow the user to use WaveForms and create projects without a physical device.

Note: The Device Manager can be opened by clicking on the “Connected Device” button in the bottom right corner of the screen (3), or by selecting “Device Manager” from the “Settings” menu at the top of the screen.


Once the Welcome page loads, in the instrument panel at the left side of the window, click on the Protocol button to open the Protocol Analyzer instrument.


Once the Protocol Analyzer instrument opens, the window contains the spy panel (1.) showing captured data, the configuration panel (2.) above the spy panel, and the control toolbar (3.) at the top of the window.

2. Using the Protocol Analyzer

The Protocol Analyzer can be used to spy on protocol communications to validate data flow. It may also be used to drive protocol communication to verify peripheral functionality. This section explains how to spy and then drive communication.

2.1 Hardware Setup

To demonstrate the capabilities of the Protocol Analyzer instrument, this guide uses a PmodAD5 and an Arduino UNO to spy on the SPI communications taking place between the host and peripheral. Afterwards, the Test and Measurement device will be used as the SPI master to drive communications with the PmodAD5. This step describes how to setup the hardware.

First, connect the Arduino's pin 10 to the AD5's pin 1, the Arduino's pin 11 to the AD5's pin 2, the Arduino's pin 12 to the AD5's pin 3, the Arduino's pin 13 to the AD5's pin 4, Arduino's GND to the AD5's pin 5 and finally Arduino's 5V to the AD5's pin 6.

Next, connect the Test & Measurement device's digital input/output (DIO) channel 0 pin to the chip select (pin 1) of the AD5, the DIO channel 1 pin to the AD5's clock (pin 4), the DIO channel 2 pin to the AD5's MOSI (pin 2) and finally the DIO channel 3 pin to the AD5's MISO (pin 3).

FIXME image

2.2 Arduino Setup

Note: This guide assumes the Arduino 1.8.9 toolset is already installed.

Click Sketch>Include Library>Manage Libraries. In the search filter type AD7193 and install the library by Anne Mahaffey. Once the download has finished, close the Library Manager window, then click File>Examples>AD7193>AD7193_VoltageMeasure_Example. Click Upload to program the Arduino with the example sketch.

FIXME image

2.3 Software Setup

Back in WaveForms, click the SPI tab below the menu bar.

When the SPI tab is opened, it is initially set to spy on the data sent on MISO and MOSI, however it must be configured to (to match the SPI communication properties). In the configuration panel, set the frequency to 1 MHz, the clock polarity to 1 and the clock phase to 1 (SPI Mode 3).

FIXME image

2.3 Protocol Spying

Click Receive to begin spying on the data transmission between the Arduino and PmodAD5. The capture panel will start populating with data sent between the Arduino and the PmodAD5. Each line beginning with “Data:” represents a stream of data from when chip select goes low to when it goes high (in an Active Low Chip Select configuration, each line is measured by Chip Select going high then low). Each 8 bit packet is separated by a comma, with the MOSI and MISO data printed respectively, separated by a “|”.

FIXME image of capture panel

2.4 Logic Analyzer

The Logic Analyzer can be used alongside the Protocol Analyzer to visualize the timing of the data being sent. In the Protocol Analyzer click the Logic Analyzer button in the top right corner, which opens the Logic Analyzer instrument.

Click the Docking Windows button, further up in the top right corner, to split the screen between the Protocol Analyzer and Logic Analyzer.

Click the “Protocol” button then SPI MOSI to set a trigger on the MOSI pin. A SPI Trigger popup window will open. Change value to h58 to observe the ACL sample data being sent.

Note: The Protocol Analyzer can't be used for spying if the Logic Analyzer is enabled.

Close the Logic Analyzer by clicking the x in the top right corner.

FIXME image

2.5 Driving Communications

The Protocol Analyzer may also be used to drive peripheral communications. To begin, remove the 4 data connections between the Arduino and PmodAD5, keeping the 5V and GND pins connected. Next, click the Master tab.

Set mode to Read Write.

h08 h38 h00 h64 h58 h00 h00 h00 h00

FIXME image

3. Protocol Analyzer User Interface Overview