3.9 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 autodetect 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

... 

DSCB dscb; 
DSCDACALPARAMS dscdacalparams; 
BYTE result; 

... 

/* Step 1 - set the programmable D/A range to 4.096V. 
Calibrate voltage point at 0.0. 
(jumpers on board are set for programmable range) */ 

dscdacalparams.da_range = 4.096; 
dscdacalparams.cal_point = 0.0; 

/* Step 2 */ 

if ((result = dscDAAutoCal(dscb, &dscdacalparams)) != DE_NONE) 
    return result; 

...

Last updated