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.

Calculation of FSC on ADS1248 chip

Other Parts Discussed in Thread: ADS1248

Hello...

I use 6 ADS1248 chips for 22 chanel sensing for battery charger.

Battery charging modules make heat and switching noise, so zero and full scale input is changed in fast period.

Since I need to fast AD Conversion for all 22 chanel, I can't use system calibration function.

I want to read zero and full scale reference externaly and write it to OFC and FSC.

I already apply OFC with read offset value and it seems work well.

But I don't know how caluclate FSC value.

I think its equation may be "FSC = Read Value Of Full Scale Input - OFC".

In the datasheet, 0x400000 is default FSC value for gain 16.

I don't know why 0x400000 is default FSC value.

 

If you have any other good idea to do fase calibration, please help me.

 

Thank you

  • Kisik,

    I think in most cases you shouldn't have to make a calibration. The value in the FSC is trimmed in the at the factory in final test. The value will appear any time you change the gain so the FSC value will not always be 400000h. This value will give you a gain error of +/-0.005% typically or +/-0.02% max. This is often good enough considering the error that you might get from the reference is larger.

    However, if you are interested in setting the FSC, It can be measured and set.

    The calibration block diagram is given in Figure 46. The ADC block is a digital filter. It helps to think of this as a large accumulator that is summing the values that is coming out of the filter. The OFC subtracts a certain amount (that can be determined by a self offset calibration). In the calibration, the inputs are shorted and the filter run for 16 reads and averaged. This output is considered the offset and subtracted from future reads.

    The FSC is the full scale register. At the factory, we put in the positive full-scale input (which should be the reference value). From the output of the filter, the OSC is subtracted. Now that we have the offset removed, this is the full scale output of the digital filter. However, we still need to scale this number to 7FFFFFh. The full scale output of the digital filter is scaled by multiplying by the FSC value (a number near 400000h) and truncating the LSB's.

    So to calculate the gain error, you must first read the FSC, measure the reference value, measure an input value, read the ADC, and calculate what you're gain error is. To determine your own FSC value, you must scale the original default FSC by the gain error.

    For example, if you read the FSC to be 400100h, and the gain error is -0.005%, you must scale the FSC by +0.005%. This would make the new FSC value 4001d2h.

    Again, in most cases you shouldn't have to make a change to the FSC, the factory calibrated value you get when you use the part should be very accurate.

    I hope this answers your question.

    Joseph Wu

  • Thank you very much Joseph.

    I have datasheet of revision B not resivion C.

    I'm tring to read voltage and current from Li-Ion battery charger in 0.1mV and 0.1mA order.

    Charge/Discharge module makes a lot of heat and it may affect with amplifier's offset and gain.

    So I would like to calibrate them by calibrating ADS1248.

    MCU(ATmega64) remember OFC and FSC values for each chanel.

    It read zero and reference(about 2V from ADS1248's reference output) from an external multiplexer frequently and calculate FSC from these values.

    Your answer is very helpfull to me.

    Thank you again. :-)