![Diamond Systems Poseidon Скачать руководство пользователя страница 93](http://html1.mh-extra.com/html/diamond-systems/poseidon/poseidon_user-manual_2494418093.webp)
Auto-calibration
Poseidon features automatic calibration of both analog inputs and outputs. The potentiometers, which are subject to
tampering, vibration, and maladjustment, have been completely eliminated. Instead, all calibration adjustments are
performed using an octal 8-bit TrimDAC and precision, low-drift reference voltages on the board. The optimum
TrimDAC values for each input range are stored in an EEPROM and recalled automatically on power up. Poseidon
also has the A/D auto-calibration algorithm programmed into the dsPIC, featuring a fast, autonomous auto-
calibration.
To calibrate the board through software a calibration utility program and software driver function enables you to
calibrate the analog inputs and outputs at any time for any range and store the settings in the EEPROM. This feature
dramatically improves the accuracy and reliability of the board, since you can calibrate the board as often as desired
without worrying about temperature or time drift.
On the analog outputs, the full-scale output range is programmable to any voltage up to 10V, and the board will
calibrate to the programmed range. The analog outputs are fed back to the A/D converter so that they can also be
calibrated without user intervention.
Background
The Poseidon auto-calibration circuit uses an octal 8-bit TrimDAC IC to provide small adjustments to the offset and
gain at various points in the circuit. Four of the DACs are used for the A/D calibration, and the other four are used
for the D/A. The 8-bit TrimDAC values are stored in an on-board EEPROM and are recalled automatically on
power-up.
An on-board ultra-5V reference chip with 5ppm offset drift is used as the voltage reference for all calibration
operations. From this reference several intermediate values are derived that are used for the calibration. One is just
under +5V, and one is just above 0V. These values are measured at the factory, and their values are stored in the on-
board EEPROM for use by the calibration program. Note that the actual values of the reference signals does not
matter, as long as they are stable, since the calibration routine knows the values and can adjust the calibration circuit
to achieve them. An extra input multiplexor chip is used to feed the calibration voltages into the A/D circuit during
the process.
For bipolar A/D calibration, first 0V is measured, then the TrimDAC is adjusted until the target A/D reading is
achieved. For unipolar calibration, the voltage just above 0 is used as the first measurement value. Two TrimDAC
channels are used for the offset. The first channel provides a coarse adjustment to bring the A/D readings into
range, and the second channel provides a fine adjustment for maximum accuracy. The use of both coarse and fine
adjustments provides a wider range of total adjustment capability. The range of the fine adjustment exceeds the
smallest change in the coarse adjustment, so there is no gap in the adjustment range.
After the offset is adjusted, the full-scale is adjusted in a similar manner. The reference value just under 5V is fed
into the A/D, and two additional TrimDACs provide coarse and fine adjustments to achieve the target A/D near-full-
scale reading.
Once the A/D is completely calibrated, the 12-bit D/A channels can be calibrated. Unlike the A/D circuit, which
uses a single A/D for all input channels, the D/A circuit actually contains a single D/A converter for each of the four
output channels. These channels are fed into the calibration multiplexor and the remaining four TrimDAC channels
are used to calibrate them in a similar manner to the A/D. A single adjustment is used for the high reference, and
both coarse and fine adjustments are used for the low reference.
The entire process takes about one second for each input range. Once it is complete, the board is ready to run. All
eight TrimDAC values are stored in the EEPROM so that the next time power is cycled to the board, the values will
be loaded automatically.
Diamond Systems Corporation
Poseidon User Manual
Page 93