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.

TMP006 and the I2C bus

Other Parts Discussed in Thread: TMP006

I have a TMP006 thermopile sensor on a custom board. I am using a PIC18 to talk to this chips and several others (eeprom, DAC, etc).  The I2C bus is working perfectly but the problem I'm having is the TMP006 will not return any usable data. All I get back from the TMP006 is 0xFF, regardless of the command sequence. I am getting ACKS so the parts is alive and responding to the I2C message. Its just not providing any temperature or status data.  Is the description for register access in the data sheet correct or is there an errata sheet for this part. I have tried everything I can think of and have decided that I just don't have the secret sauce.

  • Hi Tim,

    The description for register access in the datasheet is correct, if you could post the portion of your code here where you attempt to communicate with the TMP006 it might help us figure out whats going wrong. Also, how was the TMP006 soldered to your board?

  • Tim,

    In conjunction with the code could you please provide an oscilloscope shot showing the clock and data lines while performing a read operation that shows the entire transaction.

  • Chris, John, Thank you for your help. My original thought was that there mignt be an error in the documentation but I haven't found anything to substantiate this. 

    ITAR prevents me from submitting the code.

    My scope has I2C bus analysis capability and it reports the timing and signal conditions are fine. In researching this, I did notice that the TMP006 DRDY line in my design was left floating. I found in the documentation that this pin should be pulled high. Could this prevent the part from responding with real data? 

    The TMP006 was IR flow soldered by a pick&place assembly house.  I have several boards which all show the same symptoms.

  • Hi Tim,

    The DRDY is an open drain output, and shouldn't affect the proper functionality of the part if it is left floating. One option to determine if the device is being damaged during assembly would be to use a TMP006 evaluation module, and wiring the connections from your PCB directly to the TMP006 daughter card portion of the EVM. This would allow you to test your board with a known good device.