Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
test-and-measurement:guides:waveforms-logic-analyzer [2022/09/12 15:55] – changed forum.digilentinc.com to forum.digilent.com Jeffrey | test-and-measurement:guides:waveforms-logic-analyzer [2024/02/29 14:08] (current) – [Using the Logic Analyzer] replaced image Fausto Soares | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Using the Logic Analyzer====== | ||
+ | ~~TechArticle~~ | ||
+ | |||
+ | {{test-and-measurement/ | ||
+ | |||
+ | ===== Introduction ===== | ||
+ | Logic Analyzers are used to capture and view digital signals. This guide explains the use of WaveForms' | ||
+ | ---- | ||
+ | ===== Prerequisites ===== | ||
+ | * A Digilent Test & Measurement Device with Digital Inputs: | ||
+ | * [[test-and-measurement: | ||
+ | * [[test-and-measurement: | ||
+ | * [[test-and-measurement: | ||
+ | * [[test-and-measurement: | ||
+ | * [[test-and-measurement: | ||
+ | * [[test-and-measurement: | ||
+ | * [[test-and-measurement: | ||
+ | * [[test-and-measurement: | ||
+ | * A Computer with WaveForms Software Installed | ||
+ | |||
+ | ---- | ||
+ | ===== Guide ===== | ||
+ | ==== 1. Opening the Logic Analyzer==== | ||
+ | |||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | === 1.1 === | ||
+ | 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' | ||
+ | |||
+ | **Note:** // | ||
+ | |||
+ | **Note:** //The Device Manager can be reopened 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.// | ||
+ | </ | ||
+ | <WRAP column half> | ||
+ | {{ reference: | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | === 1.2 === | ||
+ | Once the Welcome page loads, in the instrument panel at the left side of the window, click on the **Logic** button to open the //Logic Analyzer// instrument. | ||
+ | </ | ||
+ | <WRAP column half> | ||
+ | {{learn: | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | === 1.3 === | ||
+ | Once the //Logic Analyzer// instrument opens, the window contains the data plot (1) showing captured data, the configuration panel (2) to left of the plot, and the control toolbar (3) at the top of the window. | ||
+ | </ | ||
+ | <WRAP column half> | ||
+ | {{learn: | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== 2. Using the Logic Analyzer==== | ||
+ | //This section walks through setting up the //Logic Analyzer// to capture an incoming data signal// | ||
+ | |||
+ | <WRAP group> <WRAP column half> | ||
+ | === 2.1 Hardware Setup === | ||
+ | Choose two of your device' | ||
+ | |||
+ | **Note:** //Digital pins that work as both input and output can be used in both modes at the same time. If desired, one such pin can be chosen for both input and output for this guide. In this situation, no additional hardware setup is required.// | ||
+ | </ | ||
+ | {{ : | ||
+ | </ | ||
+ | ---- | ||
+ | A [[https:// | ||
+ | --> Click here if using the Digital Discovery High Speed Adapter # | ||
+ | <WRAP group> <WRAP column half> | ||
+ | This adapter should be connected to the Digital Discovery' | ||
+ | |||
+ | If desired, one of these input pins can be used in this guide, along with any of the Digital Discovery' | ||
+ | </ | ||
+ | {{ : | ||
+ | </ | ||
+ | <-- | ||
+ | ---- | ||
+ | <WRAP group> <WRAP column half> | ||
+ | === 2.2 Software Setup === | ||
+ | In the //Logic Analyzer// instrument that was previously opened, in the left panel, select "Click to Add channels" | ||
+ | </ | ||
+ | {{ : | ||
+ | </ | ||
+ | |||
+ | <WRAP group> <WRAP column half> | ||
+ | Next, check the sampling frequency which will be used for the digital input. Depending on the Test and Measurement device used, some frequencies may only be available with certain groups of pins. These frequency and pin requirements can be discovered through dropdowns in the Logic Analyzer instrument' | ||
+ | </ | ||
+ | {{ : | ||
+ | |||
+ | {{ : | ||
+ | </ | ||
+ | |||
+ | <WRAP group> <WRAP column half> | ||
+ | To use the //Logic Analyzer//, some signal/s must be applied to the digital input/s used. This guide uses the device' | ||
+ | |||
+ | Return to WaveForms' | ||
+ | </ | ||
+ | {{ : | ||
+ | </ | ||
+ | |||
+ | <WRAP group> <WRAP column half> | ||
+ | As before, in the left pane, click the "Click to Add channels" | ||
+ | </ | ||
+ | {{ : | ||
+ | </ | ||
+ | ---- | ||
+ | <WRAP group> <WRAP column half> | ||
+ | === 2.3 Capture Data === | ||
+ | Click the //Pattern Generator' | ||
+ | |||
+ | Return to the //Logic Analyzer// instrument, then click the Run button (2). The signal being generated by the // | ||
+ | |||
+ | Change the time scaling by selecting a different value in **Base** (3), located in the top right of the instrument (see [[# | ||
+ | |||
+ | To save the captured data, select " | ||
+ | </ | ||
+ | {{learn: | ||
+ | </ | ||
+ | ---- | ||
+ | --> Click here for an example of decoding a Digital Protocol # | ||
+ | <WRAP group>< | ||
+ | From the WaveForms home page, open the //Pattern Generator// instrument, then click on the **Click to Add channels** button. From the list that opens , select **Signal**, then add **DIO 0**. | ||
+ | </ | ||
+ | {{ : | ||
+ | </ | ||
+ | <WRAP group>< | ||
+ | Set **Output** to **PP**, **Type** to **Custom** and **Parameter 1** to **1.2 kHz**, then open the signal editor (for more details see: [[test-and-measurement: | ||
+ | </ | ||
+ | {{ : | ||
+ | </ | ||
+ | <WRAP group>< | ||
+ | In the signal editor, click on the **Import** button, select txt as file type then download, unzip and select the example file provided here: {{ : | ||
+ | </ | ||
+ | {{ : | ||
+ | </ | ||
+ | <WRAP group>< | ||
+ | With the green plus button on the Welcome tab ({{: | ||
+ | </ | ||
+ | {{ : | ||
+ | </ | ||
+ | <WRAP group>< | ||
+ | At the trigger options, choose **Auto** and **Protocol**, | ||
+ | </ | ||
+ | {{ : | ||
+ | {{ : | ||
+ | </ | ||
+ | <WRAP group>< | ||
+ | Start the //Logic Analyzer// with the **Run** button to display the message. Once the UART transactions are generated by the //Pattern Generator//, | ||
+ | </ | ||
+ | {{ : | ||
+ | </ | ||
+ | <-- | ||
+ | ---- | ||
+ | ==== Note: Variable Digital Supplies ==== | ||
+ | {{section> | ||
+ | ==== Note: Analog Discovery Pro (ADP3450/ | ||
+ | {{section> | ||
+ | |||
+ | ==== Note: Using Multiple Instruments ==== | ||
+ | The //Logic Analyzer// instrument can be used with other WaveForms instruments. Using multiple instuments at the same time is helpful in a wide variety of situations. One example would be to use the //Protocol Analyzer// to configure a device under test, the //Pattern Generator// or //Protocol Analyzer// to stimulate the device, and capturing the result in the //Logic Analyzer//, all at the same time. More information on how instruments can be operated together can be found in the [[test-and-measurement: | ||
+ | |||
+ | It should be noted that while multiple instruments can use any Digital Input pin, and those pins can be used as Digital Outputs, no more than one instrument can control a Digital Output pin at a time. WaveForms accounts for this by disabling instruments using a shared output, or by displaying a message stating that a shared output is currently used by a different instrument. | ||
+ | ---- | ||
+ | ==== 3. Logic Analyzer User Interface Overview ==== | ||
+ | //This section walks through the wide variety of controls and features available in the //Logic Analyzer// instrument// | ||
+ | |||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | === 3.1 Control Buttons === | ||
+ | The control bar near the top of the instrument window contains two buttons used to start/stop the capture of data. The Run button continues capturing data until it is stopped. The Single button will fill a buffer based around a pre-defined trigger (explained in following sections). The buffer size and position relative to the trigger are set by the **Position** and **Base** options (explained in [[# | ||
+ | </ | ||
+ | <WRAP column half> | ||
+ | {{learn: | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | === 3.2 Buffer Configuration=== | ||
+ | To the right of the control buttons are various options for filling the buffer and selecting which buffer to look at. | ||
+ | The **Mode** drop-down changes between the five acquisition modes: // | ||
+ | |||
+ | //Record// mode repeatedly fills buffers with data and displays them on the screen as they' | ||
+ | |||
+ | //Screen// and //Shift// modes continuously add new data to the screen as it streams in instead of showing full buffers as in // | ||
+ | //Screen// will fill the screen from left to right and then add new data on the left, overwriting the previous data set. | ||
+ | //Shift// will show new data as it comes in from the right, in effect scrolling the data from right to left. | ||
+ | |||
+ | //Record// allows for large amounts of data to be captured at a lower sample rate. This can be used for recording data from a sensor that needs to be monitored for several minutes or hours. | ||
+ | |||
+ | //Sync// offers the ability to use an external clock to control when the //Logic Analyzer// records samples. Useful with communication protocols such as SPI, I2C, and UART. | ||
+ | |||
+ | The **Buffer** option allows for selection of buffers, as each acquisition fills a new one (except in //Repeat// mode, where buffers are sequentially filled). The green plus button ({{learn: | ||
+ | </ | ||
+ | <WRAP column half> | ||
+ | {{learn: | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | === 3.3 Trigger Configuration=== | ||
+ | The **Trigger** drop-down allows for selection of the trigger type: //None//, //Auto//, and //Normal//. | ||
+ | |||
+ | //None// starts the acquisition immediately after Run is clicked. | ||
+ | |||
+ | //Auto// starts the acquisition either on the trigger event, or approximately 2 seconds after Run is pressed if the trigger event doesn' | ||
+ | </ | ||
+ | <WRAP column half> | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | //Normal// starts the acquisition only on the trigger event. | ||
+ | |||
+ | The **Source** drop-down allows the user to trigger the oscilloscope based on events in other instruments. /*For more information, | ||
+ | |||
+ | The **Inputs** drop-down (pictured on the right) is available for Digilent' | ||
+ | |||
+ | </ | ||
+ | <WRAP column half> | ||
+ | {{learn: | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | The three buttons labeled " | ||
+ | </ | ||
+ | <WRAP column half> | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | //Simple// is used in conjunction with the Trigger column (labeled T in the //Logic Analyzer// instrument, see image at right). Each channel can be set to trigger on various events: Ignore ({{learn: | ||
+ | |||
+ | //Pulse// opens a menu to configure a trigger on a pulse that is either shorter than a specified time (**Glitch**), | ||
+ | |||
+ | // | ||
+ | </ | ||
+ | <WRAP column half> | ||
+ | {{: | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | === 3.4 Time Configuration=== | ||
+ | By default, the Time group in the Configuration panel contains the **Position** and **Base** fields. | ||
+ | |||
+ | The **Position** field centers the plot on the selected time, measured from the trigger. This can be used to view data captured before and after the trigger event. | ||
+ | |||
+ | The **Base** field configures the scale used for the horizontal axis of the plot. | ||
+ | |||
+ | Using these two settings can be thought of as “panning” and “zooming” the plot. | ||
+ | </ | ||
+ | <WRAP column half> | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | The gear button ({{: | ||
+ | |||
+ | //Position as a division// toggles the position units between seconds and divisions. | ||
+ | |||
+ | **Range Mode** drop-down has the options //Full//, // | ||
+ | |||
+ | //Full// changes the units in Base to the full length of the buffer in seconds. | ||
+ | |||
+ | // | ||
+ | |||
+ | // | ||
+ | |||
+ | The **Clock** drop-down changes between the // | ||
+ | |||
+ | //Noise// toggles the option to acquire noise samples in half of the buffer. | ||
+ | |||
+ | The **Edge** drop-down allows for selection of the rising, falling, or edge for the external or internal trigger signals. | ||
+ | |||
+ | The **Buffers** drop-down selects the number of buffers to store in the PC. This changes the maximum value in **Buffer** in [[# | ||
+ | |||
+ | The "Clear buffers" | ||
+ | |||
+ | //Draw while recording// toggles drawing while in //Record// and //Sync// modes, somewhat resembling //Scan// and //Screen// behavior while collecting data over a long period | ||
+ | |||
+ | The **Update** drop-down sets the update rate of the //Logic Analyzer// instrument display. | ||
+ | |||
+ | |||
+ | </ | ||
+ | <WRAP column half> | ||
+ | {{learn: | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | === 3.5 Additional Configuration Options === | ||
+ | Pressing the green arrow ({{learn: | ||
+ | |||
+ | **Samples** selects the number of data points to collect. | ||
+ | |||
+ | **Rate** selects the sampling rate. Together with the values selected in the Samples drop-down, this will determine the Base value. | ||
+ | </ | ||
+ | <WRAP column half> | ||
+ | {{learn: | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | === 3.6 Adding Protocol Channels === | ||
+ | Protocol channels can be used to aid interpretation of digital communication protocol transactions. For example, SPI, UART, I2C, and other protocol channels can be used to represent data words in a variety of different formats (including binary, decimal, hexadecimal, | ||
+ | |||
+ | In order to add a protocol channel to the plot, follow the steps in [[# | ||
+ | |||
+ | After being added to the plot, protocol channel settings can be modified by clicking the Properties icon ({{learn: | ||
+ | |||
+ | The Protocol and Bus modes will display the data seen on each individual line, as well as the overall value of that combination of channels. These values are marked by 2's in the image at right. | ||
+ | </ | ||
+ | <WRAP column half> | ||
+ | {{learn: | ||
+ | </ | ||
+ | </ | ||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | === 3.7 View Options === | ||
+ | The **View** menu is located at the top of the //Logic Analyzer// instrument window, right above Run. Selecting any of the views in that menu will open a tabbed window on the right side of the instrument window. The available views are //Data//, //Events//, // | ||
+ | </ | ||
+ | <WRAP column half> | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | <WRAP group> | ||
+ | <WRAP column half> | ||
+ | //Data// displays a table of all acquired samples. If using the Bus or a protocol, only the overall values (as discussed in 3.5) are displayed. | ||
+ | |||
+ | //Events// only displays data when it changes. This provides a more compact view than Data, but only displays one channel at a time. Channels can be selected in the drop-down presented at the top of the Events view, as well as filtered by various methods. | ||
+ | |||
+ | // | ||
+ | |||
+ | //Logging// uses scripts to automate the capture of multiple data sequences, and save the captured data to file/s. | ||
+ | |||
+ | //Cursors// are used to display time reference markers with respect to the capture-triggering event. The drop-down menus contain adjustment controls for the position, reference cursor, and delta x value. | ||
+ | |||
+ | //Notes// allows for adding of notes and descriptions into projects. | ||
+ | </ | ||
+ | <WRAP column half> | ||
+ | {{learn: | ||
+ | </ | ||
+ | </ | ||
+ | ---- | ||
+ | ==== Next Steps ==== | ||
+ | |||
+ | For more guides on how to use the Digilent Test & Measurement Device, return to the device' | ||
+ | |||
+ | For more information on WaveForms visit the [[software: | ||
+ | |||
+ | For technical support, please visit the [[https:// |