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.

ADS1014 Relationship between output code and input voltage

Other Parts Discussed in Thread: ADS1014

Hello,

I am interfacing the ADS1014 to a differential pressure sensor and I need to know the theoretical relationship output/input to compare it to what I got and make sure that my circuit is working well.

According to what I know, usually the relationship is:   Output code= Vin * 2^(resolution1-1)*Gain/Vref

Does this apply also for the ADS1014?

Thank you in advance for your answer.

Best regards,

Emna.

  • Emna,


    The data format is given in the datasheet for the ADS1014 on page 11. The full scale range settings for the PGA are explained on page 10.


    Since the ADS1014 is a 12 bit part and the read for data is 16 bits, there are some formatting issues for the data. First, the four least significant bits should be ignored. The data is zero padded to the LSB side. For a full scale reading you will get 7FF0h, this comes from

    Output Code = Vin * 2^(12bits-1)/REF


    However, note that negative numbers are represented in a two's complement notation. This way a negative full scale reading is 8000h.

    Joseph Wu

  • Hello Joseph,

    Thank you for your answer but I think that we should take the gain of the PGA into account in the formula so it becomes:

    Output Code =  Gain* Vin * 2^(12bits-1)/REF        ==>   Vin= Output Code*REF/(2^11*Gain)

    because if not, when I convert my obtained code into voltages, I got values that exceed Vref which is not possible.

    Emna.

  • Emna,


    Instead of using REF as 4.096V, substitute the max full scale voltage of the PGA to make the equation work. This can be found on page 10 in Table 3 of the datasheet. As an example, if the PGA is set to 16 (with a max of 0.256V) and the input is 200mV

    Output Code = Vin * 2^(12bits-1)/REF

    Output Code = 0.200V * 2^(12bits-1)/0.256V = 1600d = 640h

    Since the output code is zero padded to the LSB, the data coming out of the ADS1014 becomes 6400h

    If you continue to have problems, post back with a several input voltages, and the output codes that you get.


    Joseph Wu
  • Joseph,

    I understand now.

    Thanks a lot.

    Best regards,

    Emna.