Search FAQs on the left to see if your question has been answered. Click on the dropdown to view all of the documents associated with the product. If you can't find your question, click on Ask a Question.

ADuC845  calibration

Can you get the equation of the output code and calibration register? Like the
one in below of AD7793.
Unipolar:
Data = [ (0.75*Vin*PGA_Gain/Vref) * (2^23) - (Offset_Reg-800000h) ] *
Full_Scale_Reg/400000h * 2
Bipolar:
Data = [ (0.75*Vin*PGA_Gain/Vref) * (2^23) - (Offset_Reg-800000h) ] *
Full_Scale_Reg/400000h + 800000h
The nominal values of Offset_Reg is 800000h and of Full_Scale_Reg is 555555h.
The 0.75 number will vary slightly from part-to-part because of manufacturing
tolerances.

 

The Gain register is a 24-bit number that adjusts the gain of the ADC transfer
function.
For example, if the GN0 register value is increased by +10%, then the ADC
result will also increase by +10%.
e.g. on the 2.56V range and bipolar coding, VIN=1.28V normally converts to
0xC00000.
If the GN0 register is increased by 10%, VIN=1.28V will convert to 0xC66666.


The Offset register is a little more complex to describe.
The basic function is that when the OF0 register is increased, the ADC0 DAT
register will decrease.
A value of 0x800000 in OF0 means no offset is removed.
However the weight of 1 LSB of OF0 is not equal to 1LSB of ADC0 DAT.
1 LSB of OF0 subtracts more that 1 LSB of ADC0 DAT.

This relationship is given by:  1 OF0 LSB is equal to (4 / 3.072) ADC0 DAT LSB.
This assumes that:
  (i) The ADC is in Bipolar mode (the UNI bit is equal to 0)
(ii) The PGA Range is not on the +/-20mV range.
(iii) The GN0 register is at its default value, i.e. it has not been modified
by a user System-Full-Scale calibration.

If the ADC uses Unipolar coding or the PGA Range = 20mV then 1 OF0 LSB weight
is 2X bigger.
If the ADC GN0 value is modified, then the weight of 1 OF0 LSB changes, because
the Gain scaling occurs after the ADC output is adjusted by the OF0 register.
Comments
Anonymous
Related