Generate a unipolar or bipolar voltage.
Module RB8510 is a dual 12-bit Digital to Analog Converter. It contains two 12-bit Digital to Analog Converters (DACs), each connecting to a BNC connector on the front panel. There are no inputs.
The module's front-panel looks as follows.
+-----------+ | CONVERTER | | 12-bit | | | | dac1 | | (o) | | | | | | | | | | dac0 | | (o) | | | | | | | | RULBUS | +-----------+
At production time, each DAC is configured for unipolar or bipolar operation and its output voltage range is defined as 5, 10 or 20V.
The following table shows the volt-per-bit values for the various output voltage ranges.
Voltage range | volt-per-bit bipolar ----------------------+-------------------------- 0 .. 5.11875 V | 1.25 mV 0 0 .. 10.2375 V | 2.5 mV 0 0 .. 20.475 V | 5 mV 0 -5.12 .. 5.1175 V | 2.5 mV 1 -10.24 .. 10.235 V | 5 mV 1
rb8510_dac12 "name" { address = 0xD0 bipolar = true volt_per_bit = 5e-3 }
When the Rulbus configuration file is read, DAC-outputs are set to 0 Volt.
There are functions to set and get the output voltage and functions to set and get the DAC-register code.
int32 handle; rb8510_dac12_open( &handle, "dac-ch0" ); rb8510_dac12_setVoltage( 1.23 ); rb8510_dac12_close( handle );
For each channel of the DAC module, a separate object must be created.
See dac.cpp for a complete example.
Open and close | |
EXPORT int32 RDL_API | rb8510_dac12_open (int32 *pHandle, CCstr name) |
open a DAC. | |
EXPORT int32 RDL_API | rb8510_dac12_close (int32 handle) |
close a DAC. | |
Voltage output | |
EXPORT int32 RDL_API | rb8510_dac12_getVoltage (int32 handle, float32 *pVoltage) |
get current DAC voltage. | |
EXPORT int32 RDL_API | rb8510_dac12_setVoltage (int32 handle, float32 voltage) |
set DAC to new voltage. | |
Value output | |
EXPORT int32 RDL_API | rb8510_dac12_getValue (int32 handle, int32 *pValue) |
get current DAC register value. | |
EXPORT int32 RDL_API | rb8510_dac12_setValue (int32 handle, int32 value) |
set DAC register to new value. | |
Configuration | |
EXPORT int32 RDL_API | rb8510_dac12_isBipolar (int32 handle, int32 *pFlag) |
true if DAC has bipolar configuration. | |
EXPORT int32 RDL_API | rb8510_dac12_getVoltperbit (int32 handle, float32 *pVpb) |
set DAC register to new code. |