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.

TMP442: Part Not Found by I2C Scan of Bus

Part Number: TMP442
Other Parts Discussed in Thread: INA219

TMP442B cannot be found on the I2C bus via a scanning method. The 'B' version of the part should be at I2C address 0x4D but it is not seen.  I2C addresses for TMP442 are set in factory.

  • Hello Mark,

    The issue may fall in the method not recognizing the address ack. Please double check your connections to the device. Can you verify logic high at our device when the bus is idle. Is the device responding to another, unexpected address? Can you verify that voltage is supplied to the device? Are there other devices on the bus? If interested, you can give me a schematic for me to review the connections of the device. 

    Best Regards,

    Meredith McKean

  • Meredith,

                  Good afternoon.  I have sent the schematic snippets through the chat.  Is there a way I can attach the file with the schematic images? There are 17 other devices on the I2C bus and using the sub-tool scan developed for a SUB-20 multi-interface device I am able to find those 17.  I have also been able to read and write to a number of those other devices.  In fact, 11 of those 17 are a TI current monitor INA219 IC.  They seem to work and respond as well.  The main difference from all the other 17 devices is that the TMP442B has a factory set address which should be 0x4D.  Taking the 7-bit address for TMP442B, 1001101b, and using a trailing 0 to make it 8-bits the address would be 0x9A.  It seems like there is something at that address as the sub-tool does not give an error back like it does for 0x4D.  But writing/reading does not seem to yield data that would show it to be a TMP442B.  I have not et measured any voltages.  I will do that next.   Hope you have some ideas.

    Regards,

    Mark

  • Hi Mark,

    If I could interject, I thought you might be working on a Linux based system and be able to relate to the i2c utilities there. I connected a TMP442A to my raspberrypi and was able to perform the following:

    ren@raspberrypi:~ $ i2cdetect -y 1
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
    00:                         -- -- -- -- -- -- -- -- 
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    40: -- -- -- -- -- -- -- -- -- -- -- -- 4c -- -- -- 
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
    70: -- -- -- -- -- -- -- --                         
    ren@raspberrypi:~ $ i2cget -y 1 0x4c 0xff
    0x42
    ren@raspberrypi:~ $ i2cget -y 1 0x4c 0x0 i 2
    0x1a 0x60

    Here the TMP442 is compatible with the i2cdetect utility. I'm also able to perform an i2cget of the Device ID at register 0xFF. This returns the value 0x42 indicating TMP442 model. Finally, a 2 byte read from register 0x0 returns the local temperature data 0x1A60. This value converts to 26.375­°C.

    thanks,

    ren