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.

TMP117: ADD0 is connected to V+

Part Number: TMP117

Hi team,

In the process of using TMP117, the customer found a strange phenomenon. Only the ADD0 connection of hardware is different, and the configuration of software is the same.

When ADD0 is connected to SDA or GND, it is normal. However, when ADD0 is connected to V +, the reading temperature value is 0, the reading and writing of other registers are normal, and the power supply voltage V + is confirmed to be 1.9V.

Has anyone ever had this kind of situation?

Is it convenient for someone to verify it on your circuit board?

  • Hi Amy,

    The ADD0 changes the I2C address. There is one address associated with each ADD0 pin state V+, GND, SCL, SDA. If you query the GND address when the pin is connected to V+, you will not get the expected response. The sensor will not ACK. If you have more than one TMP117 on the same I2C bus, it is necessary to configure each one to a different address. 

    Your statement that the response is normal when ADD0 is GND or SDA does not make sense. Do you query both the GND and SDA address? Does your system have two TMP117?

    thanks,

    ren

  • Hi ren,

    Thanks for your reply. When operating TMP117, different ADD0 connections use different addresses, which are listed in Table 2 in TMP117 datasheet. There are two TMP117 on I2C bus, and each TMP117 is configured with different address through ADD0 pin. When ADD0 is connected to V +, the main control terminal can identify the device address and it is normal to read and write the register, but the temperature value is 0.

    The SCL signal tested by the customer has the waveform as shown in the figure below. I think that the temperature value is 0 should caused by abnormal SCL waveform , but what is the cause of abnormal SCL waveform

  • Hi Amy,

    What you showed on the oscilloscope is not an I2C transaction at all. It should look more like this:

    You'll need to do some more troubleshooting to see what is happening on your system.

    thanks,

    ren

  • Hi ren,

    The customer only read the temperature data of the MSB 8 bits, but they were all 0. Is the reading timing in the following figure correct?

  • Hi Amy,

    In the first transaction, I see a write transaction to I2C address 1001001. This is the V+ address option. The TMP117 acknowledged (ACK) by pulling the SDA low during the 9th clock cycle. The data transmitted to the TMP117 was 0, and the TMP117 also ACK on the 9th clock cycle of this frame. The host then indicated I2C Stop. This transaction sets the TMP117 register pointer to 0, which is the temperature register.

    In the second transaction, I see a read transaction to I2C address 1001001. This is the V+ address option. The TMP117 acknowledged by pulling the SDA low during the 9th clock cycle. The data transmitted by the TMP117 was 0. The host chose not receive further bytes, and provided a NACK to end the transaction. The host followed this with an I2C Stop.

    There is not enough detail to make timing measurements from these images. The timing appears to be acceptable. There is appropriate ACK from TMP117.

    Is this transaction performed immediately after power on? The TMP117 needs 125ms to complete it's first temperature measurement after power on. Until the measurement completes, the temperature register will be 0. 

    Are other transactions performed? A Software Reset would also clear this register for 125ms. This is the same behavior as power on.

    Other settings are available in the Configuration register that could alter this behavior.

    thanks,

    ren

  • Hi Ren,

    The customer feedbacked that the temperature value was read one minute after power on. Before reading the temperature value, no registers are configured, and all the registers are the default values.

    Did you test reading temperature values with 1001001x address, Can you read it correctly? I'd like to know that someone can read the temperature value correctly with 1001001x address

  • Hi Amy,

    Yes, the TMP117 works correctly with all four of the available addresses.

    thanks,

    ren