Differences

This shows you the differences between two versions of the page.

Link to this comparison view

learn:instrumentation:tutorials:analog-discovery-studio-using-cross-triggers [2019/08/06 18:34] – [3. Examples using Cross Triggering] Arthur Brownlearn:instrumentation:tutorials:analog-discovery-studio-using-cross-triggers [2022/10/04 11:38] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== Cross Triggering in WaveForms (Under Construction) ======+====== Using Cross Triggering (Page has Moved) ======
  
-==== Introduction ====+<WRAP round important 660px> 
 +This guide has been replaced by [[test-and-measurement:guides:waveforms-cross-triggers]], and is slated to be removed from the Digilent Wiki. Please update all bookmarks and saved links to the new location. 
 +</WRAP>
  
-This guide explores the use of cross-triggering between different instruments within WaveForms. Note that there are many applications and approaches to cross triggering beyond what will be covered in this guide. +{{tag>to-be-removed}}
- +
----- +
-==== Prerequisites ==== +
- +
-  * A Digilent Test & Measurement Device with Analog I/O and/or Digital I/O +
-    * **Note**: //Users without a device may still find this guide informative// +
-  * A Computer with [[reference:software:waveforms:waveforms-3:start|WaveForms]] Installed +
- +
----- +
-==== 1. What is a Trigger? ==== +
- +
-{{page>learn:instrumentation:tutorials:analog-discovery-studio-using-external-triggers#what_is_a_trigger}}  +
- +
-==== 2. What is Cross Triggering? ==== +
-In the general sense, cross triggering describes systems where multiple instruments - often different devices - share trigger events. This can mean that either both instruments capture the signal containing the trigger event, or that when one of the instruments detects the trigger event, it generates a signal to trigger the other instrument. +
- +
-This guide demonstrates how to perform cross triggering between multiple WaveForms instruments with a single Digilent Test & Measurement device. +
- +
----- +
-==== 3. Examples using Cross Triggering ==== +
-=== 3.1 Cross Triggering between Instruments === +
-//This example demonstrates how using cross triggering makes it easier to change trigger sources across multiple instruments.// +
- +
----- +
-== 3.1.1 Hardware Setup == +
-If needed, power the Digilent Test and Measurement Device and turn it on, then connect the device to the computer. +
- +
-Connect the analog input channel 1 positive pin (1+, orange cable) to the waveform generator output channel 1 pin (W1, yellow cable). Then connect the analog input channel 1 negative pin (1-, orange and white cable) to ground (down arrow, black cable). Lastly, connect the external trigger 1 pin (TRIG 1, grey cable) to the digital input/output pin 0 (DIO 0, pink cable). +
- +
-The circuit achieved by these connections is a simple loopback, allowing the test and measurement device's waveform generator to provide a stimulus for its own oscilloscope, and to generate an external trigger with its digital I/O. +
- +
----- +
-== 3.1.2 Software Setup == +
- +
-Launch WaveForms, then open the following instruments and apply the following changes to their settings: +
- +
-  - Open a new //[[learn:instrumentation:tutorials:analog-discovery-studio-waveform-generator:start|Wavegen]]// instrument. +
-    * Set the Channel //Synchronization// to //Independent// +
-    * Set the //Trigger// source to //Manual// +
-    * Set the //Wait// time to //none// +
-    * Set the //Run// time to //1 ms// +
-    * Set the //Repeat// count to //infinite// +
-    * Leave all other settings as their defaults +
-  - Open a new //[[learn:instrumentation:tutorials:analog-discovery-studio-oscilloscope:start|Scope]]// instrument. +
-    * Set the Trigger //Mode// to //Repeated// and //Normal// +
-    * Set the Trigger //Source// to //Wavegen 1// +
-    * Set the //Time Position// to //0 s// +
-    * Set the //Time Base// to //1 ms/div// +
-    * Disable Channel 2 by unchecking its box +
-    * Leave all other settings as their defaults +
-  - Open a new //[[learn:instrumentation:tutorials:analog-discovery-studio-digital-io|StaticIO]]// instrument. +
-    * Configure DIO 0 to be a button that outputs 0 when released, and 1 when pressed +
- +
-More information on how to use each of the instruments used in this example can be found in their respective "Using the ..." guides, linked above. +
- +
-FIXME tabbed/docking windows blurb +
- +
-FIXME screenshots +
- +
----- +
-== 3.1.3 Operating the Instrument Cross Trigger Example == +
- +
-Once the workspace is set up, experimentation with the resulting system can now begin: +
- +
-Click the //Wavegen// and //Scope// instruments' **Run** () buttons. The instruments' states will go from **Ready** to **Armed**, meaning that each is now waiting for a trigger to occur. +
- +
-Click the //Manual Trigger// button in the bottom left-hand corner of the WaveForms application to trigger the Wavegen instrument to output a signal once. The signal plays back so quickly that the Wavegen's state transition from **Armed** to **Running** back to **Armed** will probably not be seen. The Scope's state will go from **Armed** to **Trig'd** back to **Armed**, and the captured event will be displayed in the Scope's plot. +
- +
-Next, try modifying the Wavegen Trigger's //Wait// time field. Any value will work. Click the Manual Trigger button again. The scope take another capture. Despite the changes, the captured signal will be placed at the same point in the plot. Modifying the Wavegen trigger's wait time also affects the Scope trigger: both instruments wait for that amount of time after the Manual Trigger to capture/generate the signal. +
- +
-Next, change the Wavegen Trigger's //Source// field to //External 1//. In the StaticIO instrument, click the button corresponding to DIO 0. Observe that this button has the same behavior as the Manual Trigger. +
- +
-In conclusion, note that through each of these changes to the trigger configuration, the Scope trigger did not need to be reconfigured at all! +
- +
----- +
-=== 3.2 Cross Triggering between Devices === +
-//This example demonstrates a simple approach to comparing data captured using two devices at once// +
- +
-**Note:** //Since each device contains its own oscillator, and multiple instances of WaveForms are required to operate multiple devices, the system described in this example has substantial limitations. Better results may be obtained by creating a custom application using WaveForms SDK, which is outside of the scope of this document. +
- +
----- +
-== 3.2.1 Hardware Setup == +
- +
-Connect two Digilent Test and Measurement devices to the computer. Two Analog Discovery 2s were used in creating this document, but any WaveForms compatible device with analog inputs and outputs will work. If the devices require external power, plug them in and turn them on. +
- +
-Make the following connections between the two devices' pins: +
-  * Connect each device's analog input channel one positive pin (1+, orange cable) to the other device's waveform generator channel one pin (W1, yellow cable). +
-  * Connect each device's analog input channel one negative pin (1-, orange and white cable) to a ground pin on either device (down arrow, black) +
-  * Connect a ground pin from each device to a ground pin from the other device (down arrow, black). +
-  * Connect each device's external trigger 1 pin (T1 or TRIG 1, grey cable) and digital output channel 1 pin (0 or DIO 0, pink cable) together, so that all four pins are connected to each other. +
- +
-FIXME photo or diagram +
- +
----- +
-== 3.2.2 Software Setup == +
-  - Open two instances of WaveForms,  +
-  - Connect two Digilent Test and Measurement devices to the computer. +
-  - Use each WaveForms instance's device manager to connect one device to each instance. +
-  - In one WaveForms instance, henceforth referred to as the "primary instance", open the following instruments, and configure them as described: +
-    * Scope +
-      * Time Base: 500us/div +
-      * Trigger Mode: Repeaated / Normal +
-      * Trigger Source: External 1 +
-      * Trigger Condition: Rising +
-      * Disable Channel 2 +
-    * Wavegen +
-      * Channel Synchronization: Independent +
-      * Channel 1 Trigger: External 1 +
-      * Channel 1 Wait Time: none +
-      * Channel 1 Run Time: 2ms +
-      * Channel 1 Simple Wave Frequency: 1kHz +
-      * Channel 1 Simple Wave Type: Sine +
-    * Script +
-      * Download [[import_capture.js]], open it in a text editor, then copy and paste its contents into the Script instrument's editor pane. +
-    * Static IO +
-      * Configure DIO 0 to be a button that outputs 0 when released and 1 when pressed. +
-  - In the other WaveForms instance, henceforth referred to as the "secondary instance", open the following instruments, and configure them as described: +
-    * Scope +
-      * Time Base: 500us/div +
-      * Trigger Mode: Repeaated / Normal +
-      * Trigger Source: External 1 +
-      * Trigger Condition: Rising +
-      * Disable Channel 2 +
-    * Wavegen +
-      * Channel Synchronization: Independent +
-      * Channel 1 Trigger: External 1 +
-      * Channel 1 Wait Time: none +
-      * Channel 1 Run Time: 2ms +
-      * Channel 1 Simple Wave Frequency: 1kHz +
-      * Channel 1 Simple Wave Type: Square +
-    * Script +
-      * Download [[export_capture.js]], open it in a text editor, then copy and paste its contents into the Script instrument's editor pane. +
- +
----- +
-== 3.2.3 Operating the Device Cross Trigger Example == +
- +
-The system above connects the Wavegen and Scope instruments of the two devices together, so that all are triggered by the same external trigger, sourced from the primary device's digital input/output channel 1, which is driven by the Static IO button. +
- +
-To capture data, first, click run in each Scope and Wavegen instrument. Then, click the primary instance's Static IO button 1 to trigger all four instruments. Each device will play its wave for two milliseconds, which will then be captured by the other device's scope. +
- +
-To view data captured by each device in the same plot, click the Run button in the secondary instance's Script instrument to export its captured data to a file. Then, click the Run button in the primary instance's Script instrument to import that data into its Scope as a Reference Channel. +
- +
-FIXME //further explanation of why this is cool// +
- +
-FIXME //screenshots and photos, formatting// +
- +
-**Note:** //Each instance of WaveForms can control no more than one device at a time. For control over more than one device at once, WaveForms SDK should be used to develop a custom application.// +
- +
----- +
-==== Next Steps ==== +
- +
-FIXME //standard blurb// +
- +
-{{tag>tutorial analog-discovery-studio}}+