Internal States -

The module uses internal states to produce controllable outputs, and these states are also necessary for synchronization between two boards. There are five internal states that the board can be in:

The module produces waveforms ONLY in the "In Loop" state and must go through several other states before it actually reaches that state. The different internal states are important not only because they are necessary for synchronization but also so that the module itself is able to output waveforms in a controllable fashion.

Below is a timeline of the different signals within the board and how they affect the internal states. Two states, "Disarmed" and "Loop Complete", are not shown.

Signal Timelines

Basically, the goal is to be able to reach the "In Loop" state in a repeatable and orderly way. The signals above are the specified signals that are able to change the module's state from one state to the other. It is assumed that the module is already in the "Armed" state. The falling TRIG signal changes the state from "Armed" to "Triggered" and also causes the SYNCO signal to rise after 1-3 μs (TT). The SYNCO signal is mirrored by the SYNCI signal (see the Synchronization page for a more detailed discussion), and when SYNCI signal signal rises, the module's state changes from "Triggered" to "In Loop" and begins waveform generation.

It is important to note that only the right combination of signals and states will have an effect on the AWG. For example, if the board were in the "Armed" state and you made the SYNCI signal rise, the board would not do anything because it was not in the "Triggered" state. But if the board were in the "Triggered" state and you made the SYNCI signal rise, then this would cause the board to change to the "In Loop" state and produce waveforms.

States are changed automatically through the firmware, manually by user action, or through an external input such as clock signals. For example, changing the board state from "Disarmed" to "Armed" requires that the user click on the Arm & Ready button in the GUI application, but changing the state from "In Loop" to "Loop Complete" is done automatically without user intervention or external input.

The diagram below shows how the board operates in regards to its different states. Waveform generation as stated previously is done in the "In Loop" state. "SW" stands for software and refers to the GUI application. "FW" stands for firmware and refers to the onboard firmware, which operates automatically.

State Diagram


Disarmed

When the GUI application is first launched, it will put the board in the "Disarmed" state. At this point, the user can click on the Arm button in the GUI application to change the board to the "Armed" state. No other inputs will affect the board during the Disarmed state.

Disarmed State


Armed

In the "Armed" state, the board is ready to be triggered. The user can either supply a trigger signal through the TRIG SMA connector or manually press the TRIG button on the physical board. Only falling signals (from logical high to low) will cause the board to change to state "Triggered."

Armed State


Triggered

Once the board is in "Triggered" state, it will automatically go to the next "In Loop" state after a brief delay of 1-3 us (TT). The falling edge Trigger signal can be provided either through software by pressing the trigger button in the GUI toolbar, or through hardware by either connecting a signal to the TRIG SMA connector on the module. The trigger signal source can be set according to the hardware setup page.  

For a detailed look at the "Triggered" to "In Loop" transition, please go to the Synchronization page in the Multiple Board Operation section.

Triggered State


In Loop

When the board is producing output waveforms, it is considered to be in the "In Loop" state. Each loop is equivalent to one waveform, which is basically running through one Memory Depth Cycle. Loop Count, in the GUI application, specifies the number of loops. If Loop Count is zero, then the board will be in an infinite loop and will output waveforms continuously until the user presses the Abort button in the GUI application.

NOTE: You may stop the entire sequence of events and return the board to "Disarmed" by using the Abort button at any time.

In Loop State


Loop Done

If Loop Count is finite, then after the last waveform is complete, the board will automatically enter the "Loop Done" state. As this point, the board either enters the "Disarmed" state or returns to the "Armed" state, depending on if Auto Arm is disabled in the AWG application. If Auto Arm is checked, then the board will go into the "Armed" state and will be ready for the next trigger signal. If it is unchecked, then the board will go into the "Disarmed" state and the user will have to manually arm the board again.

Loop Done State