This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AD1241 offset compensation register (OCR) format

Other Parts Discussed in Thread: ADS1241

Hi,

please specify the format of OCR. I am trying to eliminate the offset that remains after SYSOCAL.The Datasheet says "It then computes the offset that nullifies the offset in the system." suggesting a sum while the register is subtitled  "Offset Calibration Coefficient" suggesting multiplication.

Averaging OCR in software as suggested in SBAA107 does not seem to work, but this may be because my calculations may be not appropriate for the data type.

Thanks.

 

  • I'm sorry about the confusion in the datasheet, but the OCR is used as a subtraction and not as a multiplication.

    I'm attaching a diagram that shows that the OCR is subtracted after the digital filter, but before the multiplication of the FSR. This diagram comes from a different part, but should be applicable.

    The OCR should be something that can be averaged. In later parts in the portfolio, the OCR is obtained by shorting the inputs and taking a multi-read average to reduce the noise of the calibration. It should work the same way if you perform the calibration and take the OCR value average as well.


    Joseph Wu

  • Thanks for your reply. I found the problem: I did not expect the OCR and FSR to be in reverse byte order. OCR is in two's complement.

    Now the procedure mentioned earlier works, but I still get an offset of about -180 at PGA 1 (immediately after offset calibration and SELFGCAL).  Why?

    By manually subtracting 140 before writing OCR back to the ADS1241. While this should not be neccessary, it results the following average values (5 samples each, zero input):

    PGA gain ADC ADC/gain

    0   1     -2   -2
    1   2    960  480
    2   4   2775  693
    3   8   8262 1032
    4  16  16292 1018
    5  32  32056 1001
    6  64  63006  984
    7 128 126836  990

    Now I'm confused how the large readings at PGA > 1 are caused.

  • At PGA=1 with an OCR value of about 140 doesn't really surprise me. If you calculate it back, 2.5V*140/(2^23) = 42uV (which is close to the 7.5ppm of the full-scale (or 35uV) listed in the datasheet). This offset can have many sources, much of which may involve parasitic resistances and capacitances that can affect the measured voltage.

    Putting it in gain, I'm not sure that the offset would stay the same. The input current certainly rises, and there is more happening on the input to possibly pull the offset to a larger value. In looking at the value you posted for PGA=128 (126835), this does seem really high. I think this is the equivalent to about 300uV of offset. Since I don't think that's the real story, I'll see if I can make a few measurements myself next week.

    Just for information, is the buffer on? What is the input common mode? Is the input measuring a source or are they shorted? Do you have anything on the inputs that might give any parasitic currents? I would note that the input current for both the measurement input and the reference rise as the gain is increased.

    To be sure, do the measurements stay about the same when the OCR is 000000h?


    Joseph Wu

  • Hi,

    I meant that after system offset calibration (and averaging the OCR values) there still is an offset about 180. But this is negligible.

    I previously did not execute a system offset calibration for other gains, once I do that for pga and zero input current into the transimpedance amp (with offset <500 µV) I get the following OCR values:

    PGA    OCR

    0    728
    1    19.493
    2    33.141
    3    77.961
    4    142.642
    5    269.906
    6    520.285
    7    1.036.123

    I don't understand why PGA affects offset. Input buffer is off, the source is low impedance.

    With the OCR for PGA 7 and zero input current to the pre amp I get a reading of about 10000 which seems reasonable.

    Thanks again for your input.