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.

TMP112-Q1: 12bit value with D0=1b

Part Number: TMP112-Q1
Other Parts Discussed in Thread: TMP112, TMP112EVM

Hi team,

My customer is using TMP112 with 13bit extended mode. I know the first read is 12bit due to the default setting.

I recommend them to distinguish the read by D0 bit 0b(12bit) or 1b(13bit).

But my customer observed 12bit data with D0 bit = 1b(13bit) for example 0xDE01(-34degC by 12bit and the LSB is 1).

I guess for example customer changed the mode to 13bit and read the temperature register before the completion of second conversion. so temperature data is 12bit but the LSB is updated to 13bit.

Can it happen?

  • Hi Atsushi,

    The contents of the temperature register will be updated each time a Conversion is completed. Conversion time is specified as 35ms max, so the first measurement will be available 35ms after power on. By default, Conversion Rate (CR) is configured for 4Hz. This means that 4 times per second, the TMP112 will perform a Conversion that takes at most 35ms. 

    When 13 bit mode is enabled (EM=1,) the temperature register will not be updated until the next conversion is completed. It may contain old 12 bit data until then. With the default Conversion Rate, it could take 250ms (4Hz) to update the temperature register.

    There isn't a clue in the temperature register that would positively identify the data as 12 bit or 13 bit. To avoid getting incorrect readings, an appropriate wait should be inserted in the code, or the Shutdown/OneShot feature should be used. When using Shutdown (SD=1,) each measurement is triggered by a OneShot (OS=1.) The code has to be written such that OS=1 is sent, 35ms elapses, and then temperature is read as normal. This way, you can only read the most recent conversion/measurement. 

    thanks,

    ren

  • Hi Ren-san,

    Thank you for answering.

    Do you think my guess is correct? I want to know whether it is possible or not that the temperature register has 12bit data with D0 =1b.

    >I guess for example customer changed the mode to 13bit and read the temperature register before the completion of second conversion. so temperature data is 12bit but the LSB is updated to 13bit.

    Regards,

  • Hi Atsushi-san,

    You're referring to page 11 of the datasheet:

    Bit D0 of byte 2 indicates normal mode (EM bit equals 0) or extended mode (EM bit equals 1), and can be used to distinguish between the two temperature register data formats. The unused bits in the temperature register always read 0.

    I verified this behavior on the TMP112EVM.

    thanks,

    ren