Você está na página 1de 21

AD 7768 8 Channel 24-bit ADC Characterize Tentative Preliminary Report

Objective
To investigate and characterize the AD 7768’s behavior, response, scaling factor and
offset

Introduction
AD 7768 is a Fully Differential A/D converter that digitizes/quantizes the differential
signals voltage, i.e. V​dm​ = (Vin+ - Vin-), referred as Analog Input, into ADC values(known as
digital code, ADC value/code/counts). And Peak-to-Peak voltage of Vin+ has to be less or equal
to Vref, i.e. |max(Vin+) - min(Vin+)| ≤ Vref. Same rule applies to Vin-.
The ADC evaluation board used in this report uses a reference voltage, Vref = 4.096V;
therefore, each analog differential voltage value(AIN+ - AIN-), as long as it’s bound between
-4.096 V and +4.095999512 V, can be quantized to the ADC code with respect to the following
table:

, where FS is the full scale voltage = Vref = 4.096 V in this report.


Due to the fact that the ADC value/code is represented in a signed 2’s complement
format, and total 24 bits are used to convert voltage between -Vref(FS) and Vref(FS) to ADC
code, the equation between ADC code and analog differential voltage is:

ADC code_in_Decimal = 2​N​ (V​in+​ - V​in-​) / (2*Vref), which is equivalent to


Differential Analog Input = (V​in+​ - V​in-​) = ADC code_in_Decimal * (2*Vref) / 2​N
Max(​V​in+​ - V​in-​) = (Max_​ADC code_in_Decimal​*2*Vref) / 2​N​;
Min(​V​in+​ - V​in-​) = (Min_​ADC code_in_Decimal​*2*Vref) / 2​N​;
, where N is number of bits available; in this report N = 24.

Therefore, we can calculate each 1 LSB increment equal to 1 * (2*4.096V)/ 2​24​ = 488 nV.
Similarly, if we have 0x7FFFF as ADC code in Hex, which is binary
0111_1111_1111_1111_1111_1111 = 8388607 in decimal; the differential analog voltage is
8388607 * 2 * 4.096 V / 2​24​ = 4.095999512 V.

Similarly, if we have 0x800000 as ADC code in Hex, which is binary


1000_0000_0000_0000_0000_0000 in signed 2’s complement format, that is -8388608 in
decimal; the differential analog voltage is -8388608 * 2 * 4.096 V / 2​24​ = -4.096 V, verified as
shown in the table.

Common mode voltage, V​cm​ is defined as the voltage where two differential signals are
centered(mirrored) about each other; V​cm​ can be calculated as
V​cm​ = (V​in+​ + V​in-​) / 2.

In the case when a differential driver(e.g. ADA4940) with a designated output common-mode
voltage(V​ocm​) is used to generate differential voltages(V​in+​ , V​in-​ , respectively), the
V​in+​ = V​ocm​ + (V​in+​ - V​in-​) / 2 = V​ocm​ + V​dm​ / 2
V​in-​ = V​ocm​ - (V​in+​ - V​in-​) / 2 = V​ocm​ - V​dm​ / 2

The voltage signal after conversion shown in the GUI is always the estimate of the real
differential signals, i.e.V​dm​ = V​in+​ - V​in-

Material used
Function generator
Oscilloscope
Analog Devices EVAL-AD7768FMCZ Rev.A Evaluation Board - contains the AD7768
and analog input terminals.
Analog Devices SDP-H1 controller board - used to interface between PC and the
EVAL-AD7768FMCZ Rev.A Evaluation Board to show/display the value/waveform after
ADC.

Procedures

Please refer to
http://www.analog.com/media/en/technical-documentation/user-guides/EVAL-AD7768-4FMCZ-
UG-921.pdf​ for sowtware installation.
A. Minor modification of the evaluation board
1. Select LK1 and LK2 jumpers to B and B positions so that we can use J1 power
barrel connector to supply 9V.
2. Select SL_AMP+ and SL_AMP- to A and A positions so that the positive rail of
all OpAmps on board are 9V and the negative rail of all OpAmps on board are GND.
3. Select SL_1+ and SL_1- to B and B positions so that we bypass any unity gain
buffer, and directly fetch the differential signals from AI1+ and AI1- into ADC’s differential
inputs, AIN1+ and AIN1-, respectively.

B. Identical Unipolar Signals


1. Generate Identical Unipolar Signals
AIN1+:
Frequency: 1KHz
Amplitude: 400 mVpp
Offset: 200 mVDC
Phase: 0 degree

AIN1- = AIN+
Channel1(AIN1+) and Channel2(AIN1-) are Identical Unipolar signals

Acquire signals using AD7768FMCZ

Max Voltage value after ADC counts conversion: 0.87 mV = ? 8390390


Min Voltage value after ADC counts conversion: -0.87 mV = ? 8.38681 *10^6
Peak-to-Peak Voltage value after ADC counts conversion: 1.748 mV = 3580 * 2 * 4.096 V / 2​24
, where 3580 = CorrectVmaxADCCode - CorrectVminADCCode.

C. Fully Differential Unipolar Signals


1. Generate Fully Differential Unipolar Signals
AIN1+:
Frequency: 1KHz
Amplitude: 400 mVpp
Offset: 200 mVDC
Phase: 0 degree

AIN1-:
Frequency: 1KHz
Amplitude: 400 mVpp
Offset: 200 mVDC
Phase: 180 degree
Channel1(AIN1+) and Channel2(AIN1-) are Fully Differential Unipolar signals

Acquire signals using AD7768FMCZ


Max Voltage value after ADC counts conversion: 396.5 mV = ? 9200667
Min Voltage value after ADC counts conversion: -396.5mV = ? 7.57649 * 10^6
Peak-to-Peak Voltage value after ADC counts conversion: 793 mV = 1624180 * 2 * 4.096 V /
2​24
, where 1624180 = CorrectVmaxADCCode - CorrectVminADCCode.

Calculation:
Suppose the signals we generated from function generator are true/pure/authentic, then,
we have
AIN1+_true = Vcm_true + Vmax_true*sin(2*pi*f*t)
AIN1-_true = Vcm_true + Vmax_true*sin(2*pi*f*t + pi) = Vcm - Vmax_real*sin(2*pi*f*t)
, where in this trial, Vcm_true = (AIN1+_true + AIN1-_true)/2 = 200mV, Vmax_true = 200mV and
f = 1KHz

To reversely calculate the Vmax_true using the Max Differential Amplitude shown in the
GUI, we know that
Max Differential Amplitude = Max(AIN+_ADC - AIN-_ADC) = 396.5mV…...after ADC to
physical unit conversion
Min Differential Amplitude = Min(AIN+_ADC - AIN-_ADC) = -396.5mV …...after ADC to
physical unit conversion

Max Differential Amplitude = Max(AIN+_ADC - AIN-_ADC)


= (Vcm_ADC + Vmax_ADC) - (Vcm_ADC - Vmax_ADC)
= 2*Vmax_ADC
So, Vmax_ADC = Max Differential Amplitude / 2 =396.5mV/2 =198.25 mV, so there is a
scaling factor = Vmax_true/Vmax_ADC = 1.00883.
If one wants to investigate further to see whether there is dc offset term, we can make
use of linear algebra:

For pseudo inverse solution:

,
In this trial, since |Vmax_ADC| = |Vmin_ADC|, we get Scale = 1.0088 and dc_offset = 0mV.
D. Fully Differential Unipolar Signals
1. Generate Fully Differential Unipolar Signals
AIN1+:
Frequency: 1KHz
Amplitude: 1Vpp
Offset: 2.048 VDC
Phase: 0 degree

AIN1-:
Frequency: 1KHz
Amplitude: 1Vpp
Offset: 2.048 VDC
Phase: 180 degree
Channel1(AIN1+) and Channel2(AIN1-) are Fully Differential Unipolar signals

Acquire signals using AD7768FMCZ


Max Voltage value after ADC counts conversion: 992.882 mV = ? 10422031
Min Voltage value after ADC counts conversion: -993.584mV = ? 6.35375 * 10^6
Peak-to-Peak Voltage value after ADC counts conversion: 1986 mV = 4068283 * 2 * 4.096 V /
2​24​.

Refer to the same calculation in trial D, Vmax_ADC = Max Differential Amplitude / 2


=992.882mV/2 =496.441 mV, so there is a scaling factor = Vmax_true/Vmax_ADC = 1.00717.

Pseudo Inverse Solution: we get Scale = 1.0068 and dc_offset = 0.1767mV

E. Fully Differential Unipolar Signals


1. Generate Fully Differential Unipolar Signals
AIN1+:
Frequency: 1KHz
Amplitude: 1Vpp
Offset: 1 VDC
Phase: 0 degree

AIN1-:
Frequency: 1KHz
Amplitude: 1Vpp
Offset: 1 VDC
Phase: 180 degree
Channel1(AIN1+) and Channel2(AIN1-) are Fully Differential Unipolar signals

Acquire signals using AD7768FMCZ


Max Voltage value after ADC counts conversion: 991.501 mV = ? 10419202
Min Voltage value after ADC counts conversion: -991.708 mV = ? 6.35759 * 10^6
Peak-to-Peak Voltage value after ADC counts conversion: 1983 mV = 4061611 * 2 * 4.096 V /
2​24​.

So, Vmax_ADC = Max Differential Amplitude / 2 =991.501mV/2 =495.7505 mV, so there is a


scaling factor = Vmax_true/Vmax_ADC = 1.008572.

Pseudo Inverse Solution: we get Scale = 1.0085 and dc_offset = 0.0522mV

F. Fully Differential Bipolar Signals


1. Generate Fully Differential Bipolar Signals
AIN1+:
Frequency: 1KHz
Amplitude: 1Vpp
Offset: 0 VDC
Phase: 0 degree

AIN1-:
Frequency: 1KHz
Amplitude: 1Vpp
Offset: 0 VDC
Phase: 180 degree
Channel1(AIN1+) and Channel2(AIN1-) are Fully Differential Bipolar signals

Acquire signals using AD7768FMCZ


Max Voltage value after ADC counts conversion: 934.057 mV = ? 10301556
Min Voltage value after ADC counts conversion: -935.004 mV = ? 6.47372 * 10^6
Peak-to-Peak Voltage value after ADC counts conversion: 1869 mV = 3827837 * 2 * 4.096 V /
2​24​.

So, Vmax_ADC = Max Differential Amplitude / 2 =934.057mV/2 =467.0285 mV, so there is a


scaling factor = Vmax_true/Vmax_ADC = 1.0706.

Pseudo Inverse Solution: we get Scale = 1.0701 and dc_offset = 0.2533mV

G. Fully Differential Bipolar Square Wave Signals


1. Generate Fully Differential Bipolar Square Waves
AIN1+:
Frequency: 1KHz
Amplitude: 400 mVpp
Offset: 0 mVDC
Phase: 0 degree
Duty: 50%

AIN1-:
Frequency: 1KHz
Amplitude: 400 mVpp
Offset: 0 mVDC
Phase: 180 degree
Duty: 50%
Channel1(AIN1+) and Channel2(AIN1-) are Fully differential bipolar signals, and has V​cm​ = 0 V.

Acquire signals using AD7768FMCZ


Max Voltage value after ADC counts conversion: 447 mV = ? 9304328
Min Voltage value after ADC counts conversion: -447 mV = ? 7.4724*10^6
Peak-to-Peak Voltage value after ADC counts conversion: 894.5 mV = 1831931 * 2 * 4.096 V /
2​24​ .

Pseudo Inverse Solution: we get Scale = 1 and dc_offset = -2mV

H. Fully Differential Square Wave Signals


1. Generate Fully Differential Square Waves
AIN1+:
Frequency: 1KHz
Amplitude: 400 mVpp
Offset: 200 mVDC
Phase: 0 degree
Duty: 50%

AIN1-:
Frequency: 1KHz
Amplitude: 400 mVpp
Offset: -200 mVDC
Phase: 180 degree
Duty: 50%

Channel1(AIN1+) and Channel2(AIN1-) are Fully differential signals, and has V​cm​ = 0 V.
Acquire signals using AD7768FMCZ

Max Voltage value after ADC counts conversion: 796 mV = ? 10018257


Min Voltage value after ADC counts conversion: -9 mV = ? 8.36974*10^6
Peak-to-Peak Voltage value after ADC counts conversion: 805 mV = 1648516 * 2 * 4.096 V /
2​24

Identical Bipolar Signals


1. Identical Bipolar Signals
AIN1+:
Frequency: 1KHz
Amplitude: 2 mVpp
Offset: 0 mVDC
Phase: 0 degree
Duty: 50%
AIN1- = AIN1+

Channel1(AIN1+) and Channel2(AIN1-) are identical signals.


Acquire signals using AD7768FMCZ

Max Voltage value after ADC counts conversion: 4.93164 x 10​-5​ V 8388709
Min Voltage value after ADC counts conversion: -5.81055 x 10​-5 ​V 8388490
Peak-to-Peak Voltage value after ADC counts conversion: 0.000107 V = 220 * 2 * 4.096 V / 2​24

Thought and Interpretation

ADI Americas Tech Support


Apr 25 (1 day ago)

to me
Hi Chien,

There is a bug for calculating max and min values in the program for the eval board, this will be corrected
in the next rev of software.

These are the right equations to use for the max and min voltages:

The equation for max value is Vmeas_max=(Max_code/2^24)*2*Vref;

The equation for min value is Vmeas_min=(min_code/2^24)*2*Vref;

Kind Regards,

Rich

Você também pode gostar