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: TMP117AIDRVR

Part Number: TMP117

Tool/software:

Hi, 

      We are using TMP117AIDRVR in our MP design, now we are having trouble in writing registers, we need your help to check what is going wrong, this project is under an urgent schedule.

The details as bellow:

1/ Writing EEPROM Unlock Register (address = 04h): Value=0x8000;     Unlock first;

2/ Writing Configuration Register (address = 01h)-bit11 bit10=01(Shutdown); Our purpose is that we want to set conversion mode as default Shutdown.

But we found that the Value of Configuration Register (address = 01h)-bit11 bit10 is still keep to "00" after we finished writing "01". We don't know why the value is not change?

By the way, we want to know how we can set the TMP117AIDRVR to work as Minimum power mode(or Shutdown as default) at the beginning of power up stage or under the power supply is weak.

we also met TMP117AIDRVR will keep pull low SDA at the power supply is weak. the waveform as below:

  • Hello,

    First, have you been able put the device in shutdown mode normally (without trying to program the EEPROM yet)? If not, please try this first and see if the TMP117 acknowledges communication and enters shutdown mode correctly. If you have any issues with communication, please provide a more zoomed-in scope shot. 

    You can use the user-programmable EEPROM to store custom POR values for the conversion mode (continuous or shutdown mode) and other settings. This is detailed in the datasheet section 7.5 on programming. I have copied a flowchart of the programming sequence below. After writing the desired data, it is important to wait the full 7ms, check that EEPROM_Busy=0 (programming complete), then issue a general-call reset. 

    I am not sure why the SDA and SCL voltage is going low, maybe there's an issue with the power supply. I would need more information about the schematic and application to give more comment on this. 

    Best regards,

    Sakeenah Khan

  • Hi Sakeenah,

        Yes, we had tried to write register address = 01h: MOD[1:0]=01, but we when we read back MOD[1:0], its value still keeps to 00. How can we know TMP117 whether enter shutdown mode or not? Any register bit or status can be checked to confirm?

    Which EEPROM register can be used to store MOD[1:0] bit? We want to keep TMP117 at shutdown mode as default when start up.

  • Hi Sakeenah,

           We tried to write "0400" (MSB first) to register address 01, the bellow waveform shows write success (because we can see the ACK response from TMP117).

    write waveform:

    after writing, we found TMP117 can still success read back the actual temperature data,and we read back the register 01 value still = “00”;  

    I suspect the TMP117 doesn't enter shunt down mode, and we don't know why the writing didn't work.

    read waveform:

  • Hi Yang, 

    To check if the device is in shutdown mode, you can measure IQ. The device typically only consumes 250nA in shutdown mode. In comparison, when the device is in continuous conversion mode, IQ could measure between 1.25uA to 220uA (depending on whether the device is in standby or active state). 

    You should also be able to read the Config Reg and confirm that MOD[1:0] = 01. However I see in your scope shot you only read 0x0000. Looking at the picture, I think the timing could be slightly off on the Repeated Start, which could cause the device to interpret it as an extra clock or a Stop instead. That could mess up the Read transaction. Could you please try adjusting the timing a bit to make a cleaner Repeated Start condition? 

    To program the EEPROM and set the default POR mode to shutdown mode, please follow this procedure: 

    1. Write 0x8000 to Reg 0x04 (EEPROM Unlock Register) 
    2. Write 0x0400 to Reg 0x01 (Configuration Register)
    3. Wait 7ms
    4. Read Reg 0x04 (EEPROM Unlock Register) and confirm that Bit 14 (EEPROM_Busy) = 0. If it still = 1, the device is still programming so please wait a few more ms
    5. General Call Reset or POR
    6. Check that the device is in Shutdown Mode after the reset, by reading Reg 0x01 (Configuration Register) or measuring IQ

    Best regards,

    Sakeenah

  • Hi  Sakeenah

        Yes, about the timing on the Repeated Start, we do need to sort it out.

    Today, we focus on writing and measure IQ, the result as  bellow:

    1. using multimeter to measure IQ: the value always keeps at 28.4uA;

    2. follow the writing sequence you provided above, we can catch the right writing waveform, but we didn't see any change in current value, it always keeps at 28.4uA. the waveform as bellow.

    Zoon IN: writing 0x04 "8000"

    Zoon IN: writing 0x01 "0400"

    After writing 0x04 "8000" and 0x01 "0400", the waveform shows good, but we didn't see any change at current value(it always keeps at 28.4uA.)

    Please help to check what is going wrong? we need to set TMP117 go to shut down mode as default.

  • Hi Yang,

    Before we set the default mode, let's ensure the device can enter shutdown mode correctly. Can you please try only the following?

    1. Measure IQ
    2. To enter Shutdown Mode, write value 0x0400 to Config Reg 0x01
    3. Read Config Reg 0x01 (please try to fix the Repeated Start issue)
    4. Measure IQ

    If the device still does not enter Shutdown Mode, is it possible that the device is accidentally being reset through a power glitch or soft reset after writing to the Config Reg? 

    Best,

    Sakeenah

  • Hi Sakeenah,

      We have done more verifications at the Item 1&2&4 you mentioned above, but it doesn't work. After we write value 0x0400 to Config Reg 0x01, the current value is not any change. Even if there is repeated start issue, we can still read back the right temperature value. So, this repeated start issue is not the fundamental problem.

    Has TI verified this function of shut down setting? Is there any verification report confirming that this function is OK?

  • Hi Yang,

    Yes, TI has verified the shutdown functionality of the TMP117. All datasheet min/max specs have been electrically characterized by TI. I also just verified now with the TMP117 EVM that the device can enter shutdown mode and program the EEPROM. 

    In your program, after you write 0x0400 to Reg 0x01, is there any other communication occurring? Perhaps Reg 0x01 is accidentally getting rewritten to enter continuous conversion mode again (this could happen if the communication timing is off, for example if the device misinterprets the Repeated Start as an extra clock instead). Or perhaps a soft reset or general call reset is being issued. 

    Additionally, can we please monitor VDD on the oscilloscope while communicating with the TMP117? A supply glitch could possibly reset the part and kick it out of shutdown mode. 

    On the EVM, we verified the following: 

    • Default Config Reg value = 0x2220
    • Write Config Reg value = 0x0400 -> TMP117 will enter shutdown mode, stop updating temperature measurement, and the Config Reg value should read 0x2400 or 0x0400 (I copied a logic analyzer screenshot of the read transaction)
    • Write Config Reg value = 0x0000 -> TMP117 will enter continuous conversion, start updating temperature measurement every 15.5msec, and the Config Reg value should read 0x2000 (data ready) or 0x0000
    • Programming the EEPROM can change the default Config Reg value to 0x0400, so the device starts up in shutdown mode

    Best regards,

    Sakeenah