Pulse program execution

This section describes the execution of pulse programs on the AWG and oscilloscope.

See also

Pulse programs

Device initialization

When a sweep begins, the method spacq.iteration.sweep.SweepController.init() is run, which performs several steps, one of which is device initialization. At this point, if a pulse program has been configured, the AWG is disabled and placed into “triggered” mode, and its sampling rate is set to that of the pulse program.

Device utilization

If a pulse program is configured, the method spacq.iteration.sweep.SweepController.pulse() is called by dwell(). If no output channels have been configured for the AWG (ie. no waveform outputs have been mapped to AWG channels), this stage does nothing. Otherwise, the following sequence of events occurs:

  1. The waveforms are generated using the latest values written to the pulse program resources.

  2. The AWG is configured:

    1. It is disabled, and its channels are cleared of waveforms.
    2. Each output channel has its waveform loaded.
    3. All used channels are enabled.
    4. The AWG itself is enabled.
  3. The oscilloscope is configured:

    1. It is disabled.
    2. If averaging has been requested, it is placed into “FastFrame” mode with an average summary frame. Otherwise, “FastFrame” mode is disabled.
    3. It is put into single sequence mode.
  4. Execution pauses until the AWG and oscilloscope have both completed carrying out the above steps.

  5. The oscilloscope is enabled and a delay of 1 s occurs to allow the oscilloscope trigger to ready.

    Note

    The oscilloscope cannot be enabled as part of the above configuration process because the setup procedure of the AWG may trigger the acquisition of an invalid waveform.

  6. The trigger loop is executed the specified number of times (“times to average”):

    1. The AWG is triggered.
    2. Execution pauses until the trigger event has executed.
    3. The “post-trigger delay” is waited.
  7. Execution pauses until the oscilloscope has finished capturing. This includes performing the averaging if in “FastFrame” mode.

  8. The number of acquired frames is verified.