The GX1632e, GX1642, GX1648, GX1649, and GX1649-1 boards all belong to a class of analog output instruments. Each board adheres to a similar feature set with some boards featuring additional unique features, such as waveform generation, and some boards featuring expanded capabilities, such as wider voltage range or improved accuracy.
The board’s channels are organized as four groups with the GX1642/48/49’s groups containing 16 channels each and the GX1632e’s groups containing 8 channels each. The GX1642/48 channels have 12-bit digital to analog converters (DACs) and the GX1649/32e uses 16-bit DACs. Each group can be independently set to one of the four available voltage ranges: 0-10V, ±10V, 0-5V or ±5V for the GX1642. The GX1648 supports 0-20V, ±20V, 0-10V or ±10V ranges. The GX1632e supports ±25V, ±10V, ±1V, -8V to 25V, or -25V to 8V ranges. A single fixed range of ±15V is supported for the GX1649. Changing the voltage range will change the group’s channels voltage resolution. For example, changing the range from ±10V to 0-5V will change the resolution from 4.88mV to 1.22mV. All channels will source or sink a minimum of 10mA of supply current for all voltage ranges.
In addition to static output channels, the GX1649 has 256kB of sample memory for each group which can be used to generate cyclic waveforms and the GX1632e has 8GB of sample memory available. Each of the four output groups can be configured as a waveform generator or as static outputs. The GX1649-1 and the GX1632e support streaming data for non-cyclic pattern generation.
The board has a local controller that performs all internal configuration and data manipulation between the PXI bus and the board. Values are first loaded to the specified channel output buffer before being programmed to the corresponding DAC. Each DAC has an output buffer enabling users to load all (or part) of the board’s channels with new values and then update all outputs at once.
The local controller reads the 12 or 16-bit channel data value for each channel from the analog output buffer and sends the value serially to the associated output DAC. The output DAC holds this value in an internal buffer until commanded to transfer the data to the output register that drives the DAC output. All output registers are updated simultaneously.
The GX1642 and GX1648 has a dedicated external Update Lines available at the 78-pin connector (J3 ). A ground or TTL low on the External Update Line will cause the group’s channels to continuously update the group outputs if the group’s external update function is enabled through the API (GxAoSetGroupExternalUpdate).
For the GX1649, the External Update Lines are driven by GPIO0-GPIO3.The Gx1649 also uses GPIO0-GPIO3 as external trigger inputs for the Group A-D ARBs.
A 78-pin D-type connector on the front panel supports the following signals:
64 Output Channels
Four Group Update external input signals (GX1642 and GX1648 only)
Update all groups external input signal (GX1642 and GX1648 only)
TTL output signal (GX1649 and GX1649-1 only)
Ground signals
The GX1649’s 8 GPIO channels (GPIO0-GPIO7) are general purpose TLL IO that can be configured as inputs (tri-stated) or outputs on a per channel basis using the API (GxAoDioSetOutputEnable).
GPIO0-GPIO3 signals are also used as inputs for each group’s external update and external ARB trigger functions.
GPIO4-GPIO7 signals are used as external clock sources for groups A through D, respectively.
All 8 GPIO channels can also be used by the dynamic digital sequencer to output vectors as well as record them into memory (8192 8-bit vectors). See the function reference for more information regarding the GxAoDioxxx functions.
Each ARB Group (A-D) has a dedicated external trigger pin (GPIO0-GPIO3). Each group can be independently configured to use its dedicated external trigger pin to begin ARB sequencing (GxAoArbSetGroupTrigger). An ARB Group must be armed before it can act on an external trigger event (GxAoArbArmGroup).
If an external signal is used as a trigger source, the GPIO channel’s output should first be disabled (tri-stated) using the API (GxAoDioSetOutputEnable). The external trigger using the GPIO is detected on a rising edge.
Each ARB Group can also be configured to use the PXI0-PXI7 or STAR backplane triggers.
Each ARB Group (A-D) can operate in streaming mode (GxAoArbEnableGroupStreaming ) where the ARB samples are read from a 1K sample FIFO (GX1649-1). The FIFO can be written to by the user while the ARB sequencer is running (GxAoArbWriteStreaming). When the FIFO is half empty (less than 512 samples), a PCI interrupt is generated and the user can provide an interrupt handler function to write more samples to the FIFO. Alternatively, the user can poll the streaming status (GxAoArbGetGroupStreamingStatus) and write more samples to the FIFO when desired.
Each ARB Group (A-D) can operate in streaming mode (GxAoArbEnableGroupStreaming ) where the ARB samples are read from a 8 GB DDR3 memory bank which functions as a sample FIFO. The FIFO can be written to by the user while the ARB sequencer is running (GxAoArbWriteStreaming) and, if multi-threading is used, each streaming group can be written to concurrently. After completing the data transfer initiated by calling GxAoArbWriteStreaming, the GX1632e will issue an MSI interrupt for the group that has completed. The MSI interrupt (MSI0 to MSI3) with the index number of the interrupt matching the group number that is ready for more data: MSI0 for Group A, MSI1 for Group B, etc. When this occurs, the user will receive a callback containing the interrupt number and the user can write more samples to the ready group in the ISR designated during the streaming setup function GxAoArbSetupStreaming.
Figure GX1648 Board Side View and figure GX1642 Board Side View below show the GX1648 and GX1642 with the J3 connector.
.jpg)
.jpg)
.jpg)
GX1649 Board (side view)
.jpg)
GX1632e Board (side view)