PulseBlasterDDS
int inst_data, double length);
Used to send one instruction of the pulse program. Should only be called after
start_programming(PULSE_PROGRAM) has been called. It returns a negative number on an
error, or the instruction number upon success. If the function returns –99, an invalid parameter
was passed to the function. Instructions are numbered starting at 0.
int freq
– Selects the frequency register to be used. Valid range is from 0 to 16
int phase_SMA_1
– Selects the phase register to be used from the phase registers programmed
using start_programming(PHASE_REG_1). This is the DDS output on SMA connector labeled
DAC_OUT_1. Valid range is from 0 to 16
int tx_output_enable
– Determines whether analog output is generating a sinusoid or is at
ground for TX output on SMA connector labeled DAC_OUT_2. Valid values are
TX_ANALOG_ON and TX_ANALOG_OFF
int phase_SMA_0
– Selects the phase register to be used from the phase registers programmed
using start_programming(PHASE_REG_0). This is the DDS output on SMA connectors labeled
DAC_OUT_0 and DAC_OUT_2. Valid range is from 0 to 16
int rx_output_enable
– Determines whether analog output is generating a sinusoid or is at
ground for RX output on SMA connectors labeled DAC_OUT_0 and DAC_OUT_1. Valid values
are RX_ANALOG_ON and RX_ANALOG_OFF
int flags
– determines state of each TTL output bit. Valid values are 0x0 to 0x3FF. For example,
0x010 would correspond to bit 5 being on and all other bits being off. Bit 10, corresponding to
hexadecimal value 0x200, is used to reset the phase of the numerically controlled oscillator. This
results in phase coherent switching. The numerical oscillator will pause for the length of the
instruction, resulting in a constant voltage at the DAC. The voltage level depends on the value of
the phase register in use.
int inst
– determines which type of instruction is to be executed. Please see Table 2 for details.
int inst_data
– data to be used with the previous inst field. Please see Table 2 for details.
double length
– duration of this pulse program instruction, specified in ns.
This function has been overloaded to accommodate TTL-only programs. When using the shorter
version of the function, the RF channel has its output set to ground. The overloaded form follow:
TTL Only:
int pb_inst(int flags, int inst, int inst_data, double length);
int stop_programming();
Used to tell that programming the board is complete. Board execution cannot start until this
command is received. It returns a 0 on success or a negative number on an error.
int start_pb();
Once board has been programmed, this instruction will start execution of pulse program. It
returns a 0 on success or a negative number on an error.
int stop_pb();
Stops output of board. Analog output will return to ground, and TTL outputs will remain in the
state they were in when stop command was received. It returns a 0 on success or a negative
number on an error.
9/20/200514
www.spincore.com