F2810, F2811, and F2812 ADC Calibration

Similar documents
Application Report. 1 Description of the Problem. Jeff Falin... PMP Portable Power Applications ABSTRACT

Application Report. 1 Introduction. 2 Resolution of an A-D Converter. 2.1 Signal-to-Noise Ratio (SNR) Harman Grewal... ABSTRACT

Design Note DN004. Folded Dipole Antenna for CC25xx By Audun Andersen. Keywords. 1 Introduction CC2500 CC2550 CC2510 CC2511

TI and ibiquity Introduce Industry s Lowest Cost Single-Chip AM/FM and HD Radio Baseband John Gardner Digital Radio Marketing Manager

Calculating Gain for Audio Amplifiers

Data sheet acquired from Harris Semiconductor SCHS067B Revised July 2003

APPLICATION NOTE BUILDING A QAM MODULATOR USING A GC2011 DIGITAL FILTER CHIP

Using C to Access Data Stored in Program Memory on the TMS320C54x DSP

Data sheet acquired from Harris Semiconductor SCHS087D Revised October 2003

SDLS068A DECEMBER 1972 REVISED OCTOBER Copyright 2001, Texas Instruments Incorporated

TVP5146 SCART and OSD

Data sheet acquired from Harris Semiconductor SCHS020C Revised October 2003

LM5030 LM5030 Application: DC - DC Converter Utilizing the Push-Pull Topology

6 Output With 1 kω in Series Between the Output and Analyzer Output With RC Low-Pass Filter (1 kω and 4.7 nf) in Series Between the Output

Using Code Coverage and Multi-event Profiler in Code Composer Studio v2.3 for Robustness and Efficiency Analyses


µa7800 SERIES POSITIVE-VOLTAGE REGULATORS

Optical Implementation Using IEEE-1394.b

Choosing Inductors and Capacitors for DC/DC Converters

How To Close The Loop On A Fully Differential Op Amp

ORDERING INFORMATION. TOP-SIDE MARKING PDIP N Tube SN74LS07N SN74LS07N PACKAGE. SOIC D Tape and reel SN74LS07DR

Evaluating the complex configuration options of the Texas Instruments advanced fuel gauges can be

Designing Gain and Offset in Thirty Seconds

AMC1100: Replacement of Input Main Sensing Transformer in Inverters with Isolated Amplifier

Design Note DN002. Practical Sensitivity Testing By Morten Engjom. Keywords. 1 Introduction. Receiver Testing Sensitivity

Application Note AN107


Pressure Transducer to ADC Application

ZigBee Sensor Monitor SWRU157D 2008 Low-Power RF

White Paper on Decision of Make vs. Buy of ISM RF Module Written by Bruce Ulrich October 2006

Controlling TAS5026 Volume After Error Recovery

LM556 LM556 Dual Timer

Design Note DN304. Cebal CCxxxx Development Tools USB Driver Installation Guide By Åsmund B. Bø. Keywords. 1 Introduction

Smart Codec Features in TMS320DM365

RETRIEVING DATA FROM THE DDC112

Filter Design in Thirty Seconds

Motor Speed Measurement Considerations When Using TMS320C24x DSPs

SINGLE-SUPPLY OPERATION OF OPERATIONAL AMPLIFIERS

LM709 LM709 Operational Amplifier

SN54165, SN54LS165A, SN74165, SN74LS165A PARALLEL-LOAD 8-BIT SHIFT REGISTERS

WHAT DESIGNERS SHOULD KNOW ABOUT DATA CONVERTER DRIFT

Providing Continuous Gate Drive Using a Charge Pump

Current-Transformer Phase-Shift Compensation and Calibration

54LS174,54LS175,DM54LS174,DM54LS175, DM74LS174,DM74LS175

Wireless Subwoofer TI Design Tests

AVR127: Understanding ADC Parameters. Introduction. Features. Atmel 8-bit and 32-bit Microcontrollers APPLICATION NOTE

Evaluation Criteria for ADSL AFE1302

Transcoding with TI s DaVinci Technology Drives Video Market Evolution

Analysis of Power Supply Topologies for IGBT Gate Drivers in Industrial

Using Texas Instruments Spice Models in PSpice

Buffer Op Amp to ADC Circuit Collection

APPLICATION BULLETIN

CUSTOM GOOGLE SEARCH PRO. User Guide. User Guide Page 1

Broadband Data, Video, Voice and Mobile Convergence Extending the Triple Play. Yigal Bitran, Chief Technology Officer

Selecting the Right Level-Translation Solution

TRF7960 Evaluation Module ISO Host Commands

TVP5146 VBI Quick Start

Standard Linear & Logic Semiconductor Marking Guidelines

PCIe XMC x8 Lane Adapter

High-Speed Gigabit Data Transmission Across Various Cable Media at Various Lengths and Data Rate

Using the Texas Instruments Filter Design Database

Combining the ADS1202 with an FPGA Digital Filter for Current Measurement in Motor Control Applications

August 2001 PMP Low Power SLVU051

Ultrasonic Sensing Basics for Liquid Level Sensing, Flow Sensing, and Fluid

LM388 LM W Audio Power Amplifier

Using C to Access Data Stored in Program Space Memory on the TMS320C24x DSP

Signal Conditioning Wheatstone Resistive Bridge Sensors

Data sheet acquired from Harris Semiconductor SCHS078C -- Revised October 2003

SN54HC157, SN74HC157 QUADRUPLE 2-LINE TO 1-LINE DATA SELECTORS/MULTIPLEXERS

DS8907 DS8907 AM/FM Digital Phase-Locked Loop Frequency Synthesizer

V OUT. I o+ & I o- (typical) 2.3A & 3.3A. Package Type

Application Report SLVA051

TSL250, TSL251, TLS252 LIGHT-TO-VOLTAGE OPTICAL SENSORS

Application Report. Jim Patterson... Americas Field Applications

Importing a SPICE NetList Into TINA9-TI

SN28838 PAL-COLOR SUBCARRIER GENERATOR

Programming the On-Chip Flash Memory in a Stellaris Microcontroller. Application Note. Copyright Texas Instruments

AN3998 Application note

TSL INTEGRATED OPTO SENSOR

DC/DC LED Lighting Developer s Kit Hardware

DAC Digital To Analog Converter

Multi-Transformer LED TV Power User Guide. Anderson Hsiao

SN54HC191, SN74HC191 4-BIT SYNCHRONOUS UP/DOWN BINARY COUNTERS

Understanding the Terms and Definitions of LDO Voltage Regulators

Analysis Toolkit v1.3 for Code Composer Studio User s Guide

Texas Instruments. FB PS LLC Test Report HVPS SYSTEM AND APPLICATION TEAM REVA

AVR32138: How to optimize the ADC usage on AT32UC3A0/1, AT32UC3A3 and AT32UC3B0/1 series. 32-bit Microcontrollers. Application Note.

AVR125: ADC of tinyavr in Single Ended Mode. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Simplifying System Design Using the CS4350 PLL DAC

AN-225 IC Temperature Sensor Provides Thermocouple Cold-Junction

AN-1733 Load Transient Testing Simplified

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

Ultra-Low Power Comparison: MSP430 vs. Microchip XLP Tech Brief A Case for Ultra-Low Power Microcontroller Performance

User s Guide. 100-W Universal Line Input PFC Boost Converter Using the UCC User s Guide

Audio Tone Control Using The TLC074 Operational Amplifier

THE RIGHT-HALF-PLANE ZERO --A SIMPLIFIED EXPLANATION

description/ordering information

Wide Bandwidth, Fast Settling Difet OPERATIONAL AMPLIFIER

SN54F157A, SN74F157A QUADRUPLE 2-LINE TO 1-LINE DATA SELECTORS/MULTIPLEXERS

AN-311 Theory and Applications of Logarithmic Amplifiers

Transcription:

Application Report SPRA989A November 2004 F2810, F2811, and F2812 ADC Calibration Alex Tessarolo C2000 ABSTRACT This application note describes a method for improving the absolute accuracy of the 12-bit analog-to-digital converter (ADC) found on the F2810/F2811/F2812 devices. Due to inherent gain and offset errors, the absolute accuracy of the ADC is impacted. The methods described in this application note can improve the absolute accuracy of the ADC to achieve levels better than 0.5%. This application note is accompanied by an example program (ADCcalibration.zip) that executes from RAM on the F2812 EzDSP. Contents 1 Gain and Offset Error Definition...................................................... 2 2 Gain and Offset Error Impact......................................................... 2 3 Calibration.......................................................................... 4 4 Hardware Connectivity............................................................... 6 5 ADC Sampling Techniques........................................................... 8 5.1 Sequential Sampling mode........................................................ 8 5.2 Simultaneous Sampling Mode..................................................... 10 6 Example Software Calibration Driver................................................. 14 7 Useful Tips......................................................................... 16 List of Figures 1. Graph of Actual and Ideal Gain........................................................... 2 2. Simplified Circuit for Ideal ADC Case...................................................... 3 3. Circuit Modified to Allow for Different Characteristics........................................ 4 4. Graph of Equations to Measure Actual Gain and Offset...................................... 5 5. Channels for Calibration, 14 User Channels................................................ 7 6. Two Channels for Calibration, 16 User Channels........................................... 8 7. Timing of 16-Channel Conversion in Sequential Mode....................................... 9 8. Channel Selection Control Register Values to Program for Direct Mapping.................... 10 9. Timing for Conversion of 8 Pairs of Channels............................................. 11 10. Values to Schedule Channel Pairs in Normal Order....................................... 13 Trademarks are the property of their respective owners. 1

List of Tables 1. Worst-Case Scenarios for Linear Input Range.............................................. 3 2. Conversion Time for Conversion.......................................................... 9 3. Conversion Time to Convert All 16 Channels.............................................. 12 1 Gain and Offset Error Definition An ideal 12-bit ADC with no gain and offset error would be described by equation 1: 1. y = x * mi x = input count = input voltage * 4095/3.0 V y = output count mi = ideal gain = 1.0000 The F2810/12 ADC exhibits gain and offset error defined by equation 2: 2. y = x * ma + b ma = actual gain b = actual offset (relative to 0 input) Output(y) 4095 actual Gain = ma ideal Gain = mi actual offset b 0 4095 (3.0V) Input (x) Figure 1. Graph of Actual and Ideal Gain Gain and offset errors measured on the F2810/12 (Rev-E, TMS) ADC are: Gain Error (ma): < ± 5% max 0.95 < ma < 1.05 Offset Error (b): < ± 2% max 80 < b < 80 NOTE: Most F2810/F2811/F2812 TMS devices exhibit gain errors of < ± 3.0% and offset errors of < ± 1%; however, some devices exhibit errors above these values, reaching the maximum values outlined above. 2 Gain and Offset Error Impact Gain and offset errors contribute to errors in the control system. Understanding these errors will enable you to compensate for these errors in the design. 2 F2810, F2811, and F2812 ADC Calibration

Linear Input Range: The available input voltage range is impacted by the gain and offset errors. The effective resolution is also reduced. See Table 1. Table 1. Worst-Case Scenarios for Linear Input Range Linear Input Range (V) Linear Output Range (Counts) Input Swing (V) Effective Number Of Bits mv/ Count Resolution y = x * 1.00 0.0000 to 3.0000 0 to 4095 1.5000 ± 1.5000 12.000 0.7326 y = x * 1.00 + 80 0.0000 to 2.9414 80 to 4095 1.4707 ± 1.4707 11.971 0.7326 y = x * 1.00 80 0.0586 to 3.0000 0 to 4015 1.5293 ± 1.4707 11.971 0.7326 y = x * 1.05 + 80 0.0000 to 2.8013 80 to 4095 1.4007 ± 1.4007 11.971 0.6977 y = x * 1.05 80 0.0558 to 2.9130 0 to 4095 1.4844 ± 1.4286 12.000 0.6977 y = x * 0.95 + 80 0.0000 to 3.0000 80 to 3970 1.5000 ± 1.5000 11.926 0.7710 y = x * 0.95 80 0.0617 to 3.0000 0 to 3810 1.5309 ± 1.4691 11.896 0.7710 Safe Range 0.0617 to 2.8013 80 to 3810 1.4315 ± 1.3698 11.865 0.7345 The last row in the table shows the safe parameters for operation of the devices. The effective number of bits of the ADC is only slightly reduced (11.865 bits). The mv/count is increased from 0.7326 to 0.7345, which is approximately 0.2% decrease in resolution. Bipolar Offset Error: In many applications, the input sensor is a bipolar input and this must be converted to a unipolar signal before being fed to the ADC. Figure 2 shows a typical simplified circuit used for this purpose. Bipolar Input ( 1.5 V) 3.3 V G=1 Unipolar Input (X) (0.0 TO 3.0 V) VREF = 1.5 V Figure 2. Simplified Circuit for Ideal ADC Case Taking into account gain and offset errors and the impact on the input range, the circuit must be modified as shown in Figure 3 to allow for different device characteristics. F2810, F2811, and F2812 ADC Calibration 3

Bipolar Input (x ) ( 1.3698 V) 3.3 V G=1 Unipolar Input (x) (0.0617 to 2.8013 V) VREF = 1.4315 V Figure 3. Circuit Modified to Allow for Different Characteristics The frame of reference for the input offset error has changed. The offset error is measured relative to the bipolar input when the input value is zero (x = 0). This corresponds to a unipolar input value of x = 1.4315 V. The inherent ADC gain and offset errors tend to magnify the error relative to the ideal value. For example, if the ADC has a + 5% gain error and + 2% offset error, then the bipolar offset error count is: Bipolar Input: Unipolar ADC Input: x = 0.0000 V x = 1.4315 V Expected Count: ye = 1.4315 * 4095/3 = 1954 Actual Count: ya = 1954 * 1.05 + 80 = 2132 Bipolar Offset Error: ya ye = 2132 1954 = 178 counts (9.1% error) This is a much higher error than a user would otherwise expect. This error can effectively be removed by calibration. 3 Calibration Calibration is performed by feeding two known reference values into two ADC channels and calculating a calibration gain and offset to compensate for the input readings from the other channels. This is possible because the channel-to-channel errors are small. The achievable accuracy using calibration is largely dependent on the accuracy of the known references fed into the ADC. The best possible accuracy achievable is limited by the channel-to-channel gain and offset errors of the ADC. NOTE: On the production devices, typical channel-to-channel gain and offset errors in the order of ± 0.2% have been observed. Figure 4 shows how the equations to measure the ADC actual gain and offset and calculations of the calibration gain and offset are derived. 4 F2810, F2811, and F2812 ADC Calibration

Output(y) Actual Gain = ma 4095 Ideal Gain = mi yh yl Actual offset b 0 xl xh 4095 (3.0 V) Ideal Input (x) Figure 4. Graph of Equations to Measure Actual Gain and Offset Using equation 2 again as follows: y = x * ma + b ma = actual gain b = actual offset (relative to 0 input) 3. ma = (yh yl)/(xh xl) xl = Known reference low input xh = Known reference high input yl = Reference low ADC output yh = Reference high ADC output 4. b = yl xl*ma The calibration equation is derived by inverting the input and output of equation 2 describing the ADC actual gain and offset: y = x * ma + b x = (y b)/ma x = y/ma b/ma 5. x = y * CalGain CalOffset CalGain = 1/ma CalOffset = b/ma 6. CalGain = (xh xl)/(yh yl) CalOffset = (yl xl*ma)/ma CalOffset = yl/ma xl 7. CalOffset = yl * CalGain xl In summary, using two known references (xl, yl) and (xh, yh) you can calculate the actual offset and gain error and calculate the calibration gain and offset using the following formulas: 1. y = x * ma + b ADC actual equation 2. ma = (yh yl)/(xh xl) ADC actual gain F2810, F2811, and F2812 ADC Calibration 5

3. b = yl xl*ma ADC actual offset 4. x = y * CalGain CalOffset ADC calibration equation 5. CalGain = (xh xl)/(yh yl) ADC calibration gain 6. CalOffset = yl * CalGain xl ADC calibration offset The calibration process involves the following four basic steps: Step 1: Read the known reference values input channels (yl and yh). Step 2: Calculate the calibration gain (CalGain) using equation 6. Step 3: Calculate the calibration offset (CalOffset) using equation 7. Step 4: Cycle through all channels applying the calibration equation 5. 4 Hardware Connectivity Calibration requires that two ADC channels be dedicated to supply two known reference inputs and this leaves 14 user channels. Figure 5 shows the recommended connection. 6 F2810, F2811, and F2812 ADC Calibration

UserChA0 UserChA1 UserChA2 UserChA3 UserChA4 UserChA5 3.3 V A0 A1 A2 A3 A4 A5 R1 G = 1 A6 (RefHigh) VREF R2 G = 1 A7 (RefLow) R3 F2810/12 UserChB0 UserChB1 UserChB2 UserChB3 UserChB4 UserChB5 UserChB6 UserChB7 B0 B1 B2 B3 B4 B5 B6 B7 NOTE: The typical ch-to-ch error is approximately 0.2 % across all channels. Therefore the choice of channels for calibration is user selectable, but it is preferable to have them be in the same group. At lower sampling frequencies (< ~8 MHz) the ch-to-ch error can approach 0.1 % within a group. In such cases, improved accuracy can be achieved by connecting the calibration references to each group. Each group should be calibrated from its own reference channel readings. If converting a bipolar input to unipolar, then a mid-point reference (~1.5 V) would be a good choice as one reference input. The other reference input could either be a higher value (~2.5 V) or lower value (~0.5 V) reference. Figure 5. Channels for Calibration, 14 User Channels To retain 16 user channels, use the system shown in Figure 6. In this scenario, an external analog switch is added that expands the user channels to 16 and is controlled by a GPIO pin using software. In a simple software implementation, the multiplexed channels are sampled on every alternate cycle, relative to the nonmultiplexed channels. This means that the multiplexed channels should be used for slower, supervisory-type functions. This system leaves you with 6 channel pairs (if using simultaneous sampling mode) that can be used for critical functions. F2810, F2811, and F2812 ADC Calibration 7

UserChA0 A0 UserChA1 A1 UserChA2 A2 UserChA3 A3 UserChA4 A4 UserChA5 A5 3.3 V R1 G = 1 A6 (RefHigh) VREF R2 G = 1 A7 (RefLow R3 F2810/12 UserChB0 B0 UserChB1 B1 UserChB2 B2 UserChB3 B3 UserChB4 B4 UserChB5 B5 UserChB6a UserChB6b UserChB7a UserChB7b G=1 G=1 ExternalMuxChSel B6 GPIO B7 NOTE: A buffer is required at the output of the MUX (or any high resistance source) to prevent errors due to high source impedance when sampling of the ADC channels. Figure 6. Two Channels for Calibration, 16 User Channels 5 ADC Sampling Techniques 5.1 Sequential Sampling mode THe ADC converter on an F2810/F2811/F2812 device can operate in sequential sampling mode or simultaneous sampling mode. In sequential sampling mode, ADC samples one channel at a time and then the sampled signal is passed through four stages of ADC pipeline for conversion. Figure 7 shows the timing details of 16-channel conversion (A0 A7 & B0 B7) in sequential mode based on an event trigger. 8 F2810, F2811, and F2812 ADC Calibration

T S/H = (1+ ACQPS)* Tadcclk Tadcclk A0 A1 A2 A3 B6 B7 Figure 7. Timing of 16-Channel Conversion in Sequential Mode Total Time for converting 16 channels in sequential mode: T = 17*Tadcclk + 18*(1 + ACQPS)*Tadcclk Table 2 shows the conversion time required to convert all 16 channels in sequential sampling mode under different ADC clock frequencies and sample/hold windows. Table 2. Conversion Time for Conversion ACQPS Number Of TADCCLK Periods T in s (ADCCLK = 25 Mhz) T in s (ADCCLK = 12.5 Mhz) T in s (ADCCLK = 6.25 Mhz) 0 35 1.4 2.8 5.6 3 89 3.56 7.12 14.24 7 161 6.44 12.88 25.76 11 233 9.32 18.64 37.28 15 305 12.2 24.4 48.8 NOTE: ACQSPS is the acquisition window width. Value of 0 is equal to one ADCCLK period. In sequential sampling mode, ADC can be configured in cascade mode or dual sequencer mode. In cascade mode, you can schedule 16 ADC conversions sequentially based on an even trigger. The order in which the channels are converted and stored in the result register is controlled by the ADC Channel Selection Control Register (CHSELSEQ1, CHSELSEQ2, CHSELSEQ3, CHSELSEQ4). For direct mapping of channels to the corresponding result register, you need to program the channel selection control register to the values (see Figure 8). F2810, F2811, and F2812 ADC Calibration 9

Channel Selection A0 A1 CONV00=0 CONV01=1 RESULT 0 RESULT 1 A2 CONV02=2 RESULT 2 A3 CONV03=3 RESULT 3 A4 CONV04=4 RESULT 4 A5 CONV05=5 RESULT 5 A6 CONV06=6 RESULT 6 A7 CONV07=7 RESULT 7 B0 CONV08=8 RESULT 8 B1 CONV09=9 RESULT 9 B2 CONV10=a RESULT 10 B3 CONV11=b RESULT 11 B4 CONV12=c RESULT 12 B5 CONV13=d RESULT 13 B6 CONV14=e RESULT 14 B7 CONV15=f RESULT 15 Figure 8. Channel Selection Control Register Values to Program for Direct Mapping 5.2 Simultaneous Sampling Mode In simultaneous sampling mode, the ADC can convert input signals on any pair of channels (A0/B0 to A7/B7). Basically, two channels are sampled simultaneously and passed through four stages of the ADC pipeline for conversion. Figure 9 shows the timing details of 8 pairs of channels (A0/B0 to A7/B7) converted in simultaneous sampling mode based on an event trigger. 10 F2810, F2811, and F2812 ADC Calibration

T S/H = (1+ ACQPS)* Tadcclk 2*Tadcclk A0 B0 A1 B1 A6 B6 A7 B7 Figure 9. Timing for Conversion of 8 Pairs of Channels Total Time for converting 16 channels in simultaneous mode: T = 9*2*Tadcclk + 9*(1+ACQPS)*Tadcclk Table 3 shows the conversion time required to convert all 16 channels in simultaneous sampling mode under different ADC clock frequency and S/H window. F2810, F2811, and F2812 ADC Calibration 11

ACQPS Number Of Tadcclk Periods Table 3. Conversion Time to Convert All 16 Channels T in s (ADCCLK = 25 Mhz) T in s (ADCCLK = 12.5 Mhz) T in s (ADCCLK = 6.25 Mhz) 0 27 1.08 2.16 4.32 3 54 2.16 4.32 8.64 7 90 3.6 7.2 14.4 11 126 5.04 10.08 20.16 15 162 6.48 12.96 25.92 In simultaneous sampling mode, you can schedule 8 pairs of simultaneous A/D conversions based on an even trigger (A0/B0, A1/B1...A7/B7). The order in which the channel pairs are converted and stored in the result register is controlled by the ADC Channel Selection Control Register (CHSELSEQ1, CHSELSEQ2). To schedule the channel pairs in normal order A0/B0, A1/B1,... A7/B7, the channel selection register must be programmed to the values in Figure 10. 12 F2810, F2811, and F2812 ADC Calibration

Channel Selection A0 RESULT 0 B0 CONV00=0 RESULT 1 A1 RESULT 2 B1 CONV01=1 RESULT 3 A2 RESULT 4 B2 CONV02=2 RESULT 5 A3 RESULT 6 B3 CONV03=3 RESULT 7 A4 RESULT 8 B4 CONV04=4 RESULT 9 A5 RESULT 10 B5 CONV05=5 RESULT 11 A6 RESULT 12 B6 CONV06=6 RESULT 13 A7 RESULT 14 B7 CONV07=7 RESULT 15 Figure 10. Values to Schedule Channel Pairs in Normal Order F2810, F2811, and F2812 ADC Calibration 13

6 Example Software Calibration Driver This application note comes with an example C program for simultaneous sampling mode and sequential sampling mode that executes from RAM on the F2812 EzDSP. The example program configures the Event Manager to generate a periodic start of conversion pulse to the ADC. The ADC is configured to process all 16- input channels and then generate an interrupt. In the interrupt service routine, a call is made to an optimized assembly driver that will read the user-selected ADC channel references, calculate the calibration gain and offset and calibrate all other channels and store the information in a RAM structure. The program supports configuring the ADC for simultaneous or sequential conversion modes: SEQUENTIAL: ADC channels are converted one at a time: A0 A1 A2... B0 B1 B2 SIMULTANEOUS: ADC channels are converted in pairs: A0,B0 A1,B1 A2,B2 14 F2810, F2811, and F2812 ADC Calibration

The calibrated and converted channels are stored in a RAM structure that contains the following information: typedef struct { Uint16 *RefHighChAddr; // Channel Address of RefHigh Uint16 *RefLowChAddr; // Channel Address of RefLow Uint16 *Ch0Addr; // Channel 0 Address Uint16 Avg_RefHighActualCount; // Ideal RefHigh Count (Q4) Uint16 Avg_RefLowActualCount; // Ideal RefLow Count (Q4) Uint16 RefHighIdealCount; // Ideal RefHigh Count (Q0) Uint16 RefLowIdealCount; // Ideal RefLow Count (Q0) Uint16 CalGain; // Calibration Gain (Q12) Uint16 CalOffset; // Calibration Offset (Q0) // Store Calibrated ADC Data (Q0): // Simultaneous Sequential // ============ ============ Uint16 ch0; // A0 A0 Uint16 ch1; // B0 A1 Uint16 ch2; // A1 A2 Uint16 ch3; // B1 A3 Uint16 ch4; // A2 A4 Uint16 ch5; // B2 A5 Uint16 ch6; // A3 A6 Uint16 ch7; // B3 A7 Uint16 ch8; // A4 B0 Uint16 ch9; // B4 B1 Uint16 ch10; // A5 B2 Uint16 ch11; // B5 B3 Uint16 ch12; // A6 B4 Uint16 ch13; // B6 B5 Uint16 ch14; // A7 B6 Uint16 ch15; // B7 B7 Uint16 StatusExtMux; // Indicates Status Of External MUX For // Current Conversion }ADC_CALIBRATION_DRIVER_VARS; This program also supports your toggling a GPIO pin for toggling an external analog MUX to expand the usable channels. To adapt to your system needs, you must configure assembly time switches and settings contained in the header file: ADCcalibrationDriver.h You must select simultaneous or sequential sampling mode of operation. For example: #define SEQUENTIAL 1 #define SIMULTANEOUS 0 #define ADC_SAMPLING_MODE SIMULTANEOUS You must also select which ADC channels are connected to reference high and reference low and the ideal count value. For example: A6 = RefHigh = 2.5 V ( 2.5*4095/3.0 = 3413 ideal count) F2810, F2811, and F2812 ADC Calibration 15

A7 = RefLow = 1.25 V (1.25*4095/3.0 = 1707 ideal count) #define REF_HIGH_CH A6 #define REF_LOW_CH A7 #define REF_HIGH_IDEAL_COUNT 3413 #define REF_LOW_IDEAL_COUNT 1707 The number of cycles required to execute the calibration driver is: 137cycles or 0.91 µs @150 MHz (9.7 cycles per user channel) Without calibration, the driver would take approximately 4.7 cycles per user channel to read and store the ADC input. The calibration overhead is therefore approximately an additional 5 cycles per channel. NOTE: In the example C program, the gain and error calculations are performed on every ADC interrupt. If you want to reduce the overhead, these calculations can be performed in the background at regular intervals. It was done this way in the example program for easier encapsulation of the example. Only the running weighted average of the reference inputs should be retained in the interrupt routine. The calculation of CalGain and CalOffset can be pushed to the background. This can save up to 20 cycles per interrupt. If further performance optimization is required, the calibration driver can be in-lined rather than making it a C function call. 7 Useful Tips This is a collection of tips or options that you should consider to improve accuracy: Provide a low resistance path for ADCLO pin. Always make sure that the ADCLO pin on the F2810/F2811/F2812 device is connected directly to analog ground. Any resistance on this pin further degrades offset and gain errors. Use bipolar input conversion reference as calibration input. When converting bipolar to unipolar signals, make sure that the reference voltage used as the mid-point of the ADC range is fed as an input calibration channel. This removes any bipolar offset error as discussed earlier. Reduce ADCCLK frequency to minimum. At higher sampling frequencies (above 10 MHz), the channel-to-channel errors begin to increase. To improve accuracy, you should try to use the lowest frequency that your control system will tolerate. Increasing the sampling window will not have much of an effect on this error at high frequencies. Digital and analog grounds connected at one point. To avoid noise created by digital current loops, connect the digital and analog grounds at one point, making sure that any analog or digital current loops do not cross through this point. This is common practice when mixing digital and analog on a single board/device. 16 F2810, F2811, and F2812 ADC Calibration

IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services at any time and to discontinue any product or service without notice. Customers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All products are sold subject to TI s terms and conditions of sale supplied at the time of order acknowledgment. TI warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with TI s standard warranty. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where mandated by government requirements, testing of all parameters of each product is not necessarily performed. TI assumes no liability for applications assistance or customer product design. Customers are responsible for their products and applications using TI components. To minimize the risks associated with customer products and applications, customers should provide adequate design and operating safeguards. TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right, copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process in which TI products or services are used. Information published by TI regarding third-party products or services does not constitute a license from TI to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of the third party, or a license from TI under the patents or other intellectual property of TI. Reproduction of information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for such altered documentation. Resale of TI products or services with statements different from or beyond the parameters stated by TI for that product or service voids all express and any implied warranties for the associated TI product or service and is an unfair and deceptive business practice. TI is not responsible or liable for any such statements. Following are URLs where you can obtain information on other Texas Instruments products and application solutions: Products Applications lifiers amplifier.ti.com Audio www.ti.com/audio Data Converters dataconverter.ti.com Automotive www.ti.com/automotive DSP dsp.ti.com Broadband www.ti.com/broadband Interface interface.ti.com Digital Control www.ti.com/digitalcontrol Logic logic.ti.com Military www.ti.com/military Power Mgmt power.ti.com Optical Networking www.ti.com/opticalnetwork Microcontrollers microcontroller.ti.com Security www.ti.com/security Telephony www.ti.com/telephony Video & Imaging www.ti.com/video Wireless www.ti.com/wireless Mailing Address: Texas Instruments Post Office Box 655303 Dallas, Texas 75265 Copyright 2004, Texas Instruments Incorporated