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.

ADC128D818 - TEMPERATURE MEASUREMENT SYSTEM

Other Parts Discussed in Thread: ADC128D818

I am trying to read the internal temperature of the ADC128D818.  I am able to read all my analog inputs just fine, but for the internal temp, I am getting weird results.  At room temperature I am getting outputs hovering at 0x2400,  0x2480, 0x2380.  Thanks to another post I know that it pads to the most significant bit.  So the readings I get are 0x240, 0x248, and 0x238.  

Is the device giving me an output in 2's complement (the twos complement values don't make sense for the chip ambient temp)?  Also, why does it seem the resolution is so bad?  8 hex swings?  It is not very clear from the user guide.

Thanks,

Michael

  • Hi Michael,

    The temperature reading is in 9-bit 2 complement format.  The data is in a 16 bit register with zeros added to the least significant side of the register. The temperature measurement is described on pages 20 and 21 of the datasheet. 

    Using the formula in the datasheet the measurements you made become:

    0x2400  -->  0010 0100 0000 0000  -->discard 7 LSb-->  0 0100 1000  -->Convert to decimal-->  72  -->Using formula in datasheet-->  36C 

    0x2480  -->  0010 0100 1000 0000  -->discard 7 LSb-->  0 0100 1001  -->Convert to decimal-->  73  -->Using formula in datasheet-->  36.5C 

    0x2380  -->  0010 0011 1000 0000  -->discard 7 LSb-->  0 0100 0111  -->Convert to decimal-->  71  -->Using formula in datasheet-->  35.5C 


    Mike