VTI Instruments Corp.
52
VM3608A/3616A Programming
the segment size will be set at 600 points. Because the output needs to be continuous, six cycles of
the 100 point sine wave data, three cycles of the 200 point triangle data and two cycles of the 300
point ramp function will need to be loaded into the memory corresponding to segment 0 for each
of the channels. This ensures output without gaps or interruptions. Had the segment size been set to
300 points, the triangle wave would not have been continuous. If only one cycle of the 100-point
sine wave had been loaded, the output of Channel 1 would complete one cycle of the sine wave
and not update the DAC for the next 500 clock ticks. It is important to remember that continuous
waveform outputs require definition of the entire segment for each channel. Additional segments
can be defined for the channels in the ARB mode as described above. Any subsequent segments
can have different numbers of data points.
A sequence list must be defined before output is generated by the DAC. The elements of a
sequence list are segments. Once a segment has been defined, it can be included in the sequence
list. In the example above, only one segment was defined. The sequence list describing the
waveforms out of the three channels would have consisted of only one element (segment 0).
Sequence lists can contain up to 4096 segments. Furthermore, segments can be repeated within the
list (not necessarily 4096 unique segments). To further illustrate, a sequence list containing more
than one segment would be useful in programming one of the channels to output a sine wave
followed by a triangle wave and a ramp function. This assumes that the new segments have been
defined.
The
VXIplug&play
sequence to properly program the VM3608A/3616A in the ARB mode is
detailed below. Refer to the help file for detailed descriptions of each function and parameter.
/*
*
initiate the VM3616A
*/
vtvm3616_init (ViRsrc instrDesc, ViBoolean vtvm3616_ON, ViBoolean
vtvm3616_ON, ViSession *instrHndl);
/*
*
set the voltage range
*/
vtvm3616_setupVoltageRange (ViSession instrHndl, ViInt16 range,
ViInt16 channelList[], ViInt16 numOfChannels);
/*
*
set trigger to NONE
*/
vtvm3616_configTriggerParams (ViSession instrHndl, ViInt16
triggerSource, ViBoolen slope);
/*
*
set the format of the binary data to be passed to the instrument (signed or unsigned binary)
*/
vtvm3616_setupDataFormat (ViSession instrHndl, ViInt16 dataFormat)
/*
*
set mode to ARB
*/
vtvm3616_setupScanMode (ViSession instrHndl, ViInt16 mode, ViInt16
channelList[], ViInt16 numOfChannels);
Summary of Contents for VM3608A
Page 2: ...VTI Instruments Corp 2 ...
Page 6: ...VTI Instruments Corp 6 VM3608A 3616A Preface ...
Page 12: ...VTI Instruments Corp 12 VM3608A 3616A Preface ...
Page 18: ...VTI Instruments Corp 18 VM3608A 3616A Introduction ...
Page 134: ...VTI Instruments Corp 134 VM3608A 3616A Command Dictionary ...