### Q

Can you get the equation of the output code and calibration register? Like theone 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.

### A

The Gain register is a 24-bit number that adjusts the gain of the ADC transferfunction.

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.