3.7 Performing a DA Autocalibration
Description
On supported boards (-AT boards), the user may auto-calibrate the board's D/A circuit in software, rather than undergoing a tedious process of manual calibration.
Autocalibration is used for two purposes:
Calibrate the fixed D/A ranges, such as 0-5V or 0-10V
Calibrate the programmable range, e.g. 0-1V or 0-4.096V
Autocalibration utilizes an auto detect feature to determine the jumper configuration of the D/A circuit, and then calibrates the circuit for the detected range.
NOTE: Performing a D/A autocalibration causes significant fluctuations in the D/A outputs. The fluctuations will either be from mid-scale to full-scale or from zero-scale to full-scale, depending on the board and the range. Be sure these fluctuations will not have adverse effects on any devices connected to the board before performing D/A autocalibration. Otherwise, disconnect the devices from the D/A outputs before performing D/A autocalibration.
Step-By-Step Instructions
Create and initialize a D/A auto-calibration settings structure (DSCDACALPARAMS).
Call dscDAAutoCal and pass it a pointer to this structure in order to calibrate the D/A circuit on the board.
NOTE: Performing a D/A auto-calibration takes about 2-5 seconds depending on the board and the mode.
Example of Usage for D/A Autocalibration
...
DSCDACALPARAMS dscdacalparams = new DSCDACALPARAMS(); // structure containing auto-calibration settings
DSCUD_Class DSCUD_class = new DSCUD_Library.DSCUD_Class();
BYTE result;
...
/* Step 1 - set the programmable D/A range to 4.096V.
(jumpers on board are set for programmable range) */
dscdacalparams.da_range = 4.096;
/* Step 2 */
if ((result = DSCUD_Library.DSCUD_Class.dscDAAutoCal(DSCUD_class.dscb, ref dscdacalparam != DSCUD_class.DE_NONE)
return result;
...
Last updated
Was this helpful?