Interpreting Cirrus A/D Converter - Technologic Systems TS-7400 Hardware & Software Installation

Table of Contents

Advertisement

To maintain 12-bit accuracy, the analog signal being measured must have a low source
impedance (less than 10 ohms). Otherwise, an operational amplifier may need to be
added to buffer the A/D input. For detailed information, please see the Cirrus
Guide, page 518.
User's
The EP9302 A/D converter can do a maximum of 925 samples per second, and requires a
settling time of 2 milliseconds between channel switches. To maintain 12-bit accuracy,
the analog signal being measured must have a low source impedance (less than 10
ohms). Otherwise, an operational amplifier may need to be added to buffer the A/D input.
The EP9302 A/D converter should not be driven by a source impedance greater than 10
ohms to ensure accurate results (the EP9302 A/D converter has an input impedance that
is not completely linear and may be as low as 10K ohms). For detailed information, please
see the Cirrus
The ADC0-3 pins can be found on the lower-header, pins 27-30 respectively, see section
6.4 General Header for more information on their location.
The following steps outline the software execution to use the Cirrus A/D converter:
1. Unlock the software lock before setting the TSEN bit in the ADCClk register by writing
0xAA to the ADCSWLock register (0x8090_00C0). "OR" in the TSEN bit (bit 31) to the
ADCClkDiv register (0x8093_0090)
2. Unlock the software lock (again) before OR'ing in the ADCEN (ADC clock enable, bit
31) to 0x8093_0080
3. Clear bit 2, the ADCPD (ADC Power Down) bit, at 0x8093_0080. This bit MUST be set
to 0 (see page 91 of the EP9301 User's Guide)
4. After unlocking the software lock, write the channel's magic value (see Cirrus EP9301
User's Guide, table 20-2) to the ADCSwitch register (0x8090_0018) to select that
channel for the next data acquisition
5. Poll the ADCResult register (0x8090_0008) until bit 31 is not set
6. Using a 32 bit read operation, read the result from 0x8090_0008, masking off the upper
16 bits

Interpreting Cirrus A/D Converter

The Cirrus on-chip A/D converter is a successive approximation A/D converter. Each A/D
channel is calibrated on the TS-7400 and these 16-bit values are stored in a binary file
located at /etc/ADC-calibration.dat. These calibration values minimize the offset errors
and gain errors in the EP9302 A/D. It is important for the user program to use these
values as per our sample code, which can be found either on our website or in the CD
included in the Developer's Kit. Two reference points, 2.5 and .833 Volts, with the
corresponding reference values stored in the calibration file. The file is structured to have
the 16-bit reference value for 2.5v of each channel, 0-3; followed by the 16-bit reference
value for .833v of each channel, 0-3.
The reference points are stored as a 16 bit value, and should be used to correlate the
values returned by the Cirrus A/D converter to voltage.
© May, 2010
COMMON INTERFACES GENERAL INFORMATION
Guide, page 518.
EP9301 User's
Table: ADC Switch Values (EP9302)
Input to Measure
ADC0
ADC1
ADC2
ADC3
www.embeddedARM.com
TS-7400/TS-9441 MANUAL
ADC Switch Value
0x0000_0608
0x0000_0680
0x0000_0640
0x0000_0620
EP9301
31

Hide quick links:

Advertisement

Table of Contents
loading

This manual is also suitable for:

Ts-9441

Table of Contents