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.

ADS1220: Internal temperature sensor data format

Part Number: ADS1220

Hello, I'm trying to read internal temperature sensor data of ADS1220.

But I don't understand result: under normal conditions (temp ~25 deg C) device reads 0x000FD1B6

If I heat it with my finger it reads something around 0x0010AC5C

Datasheet says:

Temperature data are represented as a 14-bit result that is left-justified within the 24-
bit conversion result. Data are output starting with the most significant byte (MSB). When reading the three data
bytes, the first 14 bits are used to indicate the temperature measurement result. One 14-bit LSB equals
0.03125°C.

So if I shift 8 bits from 0x0010AC5C I will get 0x0010AC, which is more than 128 degrees.

External temperature reads OK.

  • Hi Alexander,

    Welcome to the forum!  Your calculation is close, but not quite correct.  The ADS1220 returns 24 bits and the temperature data is contained in the first (most significant) 14 bits.  You need to right shift the data 10 bits and not 8.  This will leave you with 0x42B (1067 decimal) and calculates to about 33.34 deg C.

    In the 'normal conditions' case, right shifting the data 10 bits results in 0x2F4 (756 decimal) and calculates to about 23.6 deg C.

    Best regards,

    Bob B