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.

ADS114S06B: Unable to calibration setting after power reset? How to System Calibrate ADS114Sx?

Part Number: ADS114S06B

Hello,

I am actually doing user calibration using SYOCAL by setting the null voltage and SYGCAL by applying a Full scale i.e. 10V.

ADC is calibrating properly, but the issue is after power reset ADC showing previous values i.e. uncalibrated value.

So my requirement is ADC should store Calibration settings even after power ON-OFF.

How to do that?

What is the proper way to do user calibration?

  • Hi Ameya,

    Welcome to the E2E forum!  The contents of the calibration is in volatile memory.  So yes, if you power down the ADS114S06B the contents will be lost.  This data can be stored in non-volatile memory, such as an EEPROM or micro flash data area, external to the ADC by reading the register contents and writing to the external memory.  When powering up the ADC one of the first actions would be to read the stored data and then write the ADC registers appropriately with the stored contents. 

    Are you sure that you actually need to issue the system calibration?  Usually only the SFOCAL to remove ADC offset is required and this can be issued to run at any time and does not need to be stored externally.  Also as stated in the ADS114S06B datasheet, all gains are factory trimmed to meet datasheet gain error specifications, so there is little need to issue a system gain calibration.  

    I do have one further comment.  You state that you are applying a full-scale signal 'i.e. 10V'.  Just to be clear, you cannot connect a voltage greater than the supply to the ADC input.  If the the AVDD was 5V, then the maximum input voltage is 5V.  You must also make sure that the full-scale input is not outside of the input range of the PGA if enabled.

    Best regards,

    Bob B

  • Hello Bob,

    Thank you for the quick response.

    Yes, I have tried to remove ADC offset using 'SFOCAL' command, but no difference is found in readings. I also want to mention that I am using Internal reference i.e. 2.5V.

    As per datasheet "SFOCAL is a self offset calibration that internally sets the input to mid-scale using the SYS_MON[2:0] = 001= PGA inputs shorted to (AVDD + AVSS) / 2 and disconnected fromAINx and the multiplexer; gain set by user". In my case, AVDD is 3.3V.

    So ADC is not calibrating on Internal reference i.e. 2.5V, and I want ADC to calibrate according to internal reference voltage.

    About 10V which I mention in an earlier post is that I am giving externally 10V to ADC channel but actually on board is goes 2.5V to ADC chip. (We have designed our circuit for this)

  • Hi Ameya,

    There are two types of calibrations.  One is the calibration of the just the ADC and the other is a calibration of the system.  Let's start with with calibration of the ADC.  You should always start with the offset calibration first otherwise offset will skew the gain results.  Issuing the SFOCAL applies a short within the ADC to remove any offset of the PGA and modulator stages of the converter.  This short is properly applied to remove any offset by the ADC, and the short is within the input operating range of the ADC.  The PGA settings used are as defined in the register settings.  Here you saw no change.  The reason being is at a gain of 1, and PGA disabled (which I assume that is what you are using based on single-ended measurements) the electrical characteristics table for offset shows typical offset of 20uV.  As the best case scenario is 16 bits, you smallest measurable voltage is +/- Vref/Gain/2^16 and by substituting the values the LSB or value of one code is 76.3uV .  An offset as much as 20uV is in the level of noise of the conversion and cannot be resolved.  There is no internal gain calibration command built into the ADC.  It would be possible to route one of the analog inputs and connect to the REFOUT and issue the SYGCAL, but I'm not sure of the benefit at the 16-bit level of the device.

    For system calibration you should see the same result for offset calibration.  If you are seeing an offset, you need to review how you are applying the offset as something in your circuit is causing the offset and not the ADC.

    For gain calibration, it sounds like maybe you are doing a voltage divider to provide the full-scale signal.  Keep in mind that this voltage divider may not accurately reflect full-scale as there will be error in the voltage divider due to resistor tolerance.  So you are not calibrating the internal reference of the ADC, but rather the input circuit used for calibration.  If the resistors used are 1% tolerance, your voltage divider will create more error than by not calibrating at all.  Also, depending on the noise and stability of the source, this may add even more error.

    As I said in the previous post, this system calibration is usually not necessary.  However, if you feel that the calibration provides value, then you will need to read the calibration register contents following calibration and store them to non-volatile media.  On power-up you can write the register calibration values back into the ADC from the non-volatile memory.

    Best regards,

    Bob B

  • Hello Bob,

    Thank you for your guidance, it helps me a lot to understand the calibration process. I will try to improve my hardware accuracy but as you are saying about resistor tolerance, So I think resistors are not caused by offset error. We are using a 0.1% tolerance resistor in our current design. 

    Bob Benjamin said:

    As I said in the previous post, this system calibration is usually not necessary.  However, if you feel that the calibration provides value, then you will need to read the calibration register contents following calibration and store them to non-volatile media.  On power-up, you can write the register calibration values back into the ADC from the non-volatile memory.

    Right I will go through this method.

    Later we will improve our design.

    Thank you.