The intricacies of operation in the 3 different supported AOD raster scan modes in ScanImage.

 Ramp/Ramp

  • Only trigger signal needed--clock signal is ignored.
  • Line times are determined by state.acq.samplesAcquiredPerLine and the state.aod.apertureTransitTimeUS. These combine to make the actual state.acq.msPerLine, with a high fill fraction. The precise number of AO/AI samples per line can thus be computed.
  • The "scan time" (i.e. the valid sampling period) must be an integer multiple of the AI clock period, but need not be of the AO clock period. The total scantime+delaytime must be an integer multiple of both clock periods. The delay time is extended as necessary to make this condition met.
  • The number of samples per pixel is a 2^n value, given simply by the nominal/actual state.acq.samplesAcquiredPerLine divided by state.acq.pixelsPerLine (both 2^n values).
  • The lower bound of the frequency range is padded slightly to account for the "delay time" associated with state.aod.apertureTransitTimeUS. This should be done for both the fast and slow dimension. After the short delay time, both scans will be at the properly designated start point.

Decode algorithm...

  1. Throw out initial set of zero-pad samples (do once)
  2. For every line, throw out the initial delay samples. Bin the rest according to the 2^n bin factor value.

Ramp/Step

  • Trigger signal used for fast dimension; clock signal for slow dimension
  • Both trigger and clock AO signals are padded with "minimum_increment" as above to ensure starts from known position. 
  • There is one extra -- short -- line at end of each frame to allow the step pattern to include a "termination" bit in the iDDS sync control register. This short line should be set to be of "minimum_increment" duration.

Decode algorithm...

  1. Throw out initial set of zero-pad samples (do once)
  2. For every line, throw out the inital delay samples.
  3. At end of every frame, throw out the extra-line samples.

Step/Step

  • Only clock signal needed--trigger signal is ignored
  • No labels