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.

TMP107 EEPROM and general programming Questions

Other Parts Discussed in Thread: TMP107EVM, TMP107

I am evaluating the TMP107 for a current project and purchased the TMP107EVM.

I have looked at the following documnets:

SBOA138A  ( Easy-to-use Cabling Interface for Measuring Temperature with the TMP107)

SBOS716B (TMP107 Digital Temperature Sensor with Bidirectional UART One-Wire Interface and EEPROM) and

SBOU158 (TMP107EVM User's Guide).

I am not sure of how and when to use/program  the EEPROM.

In the SBOS716B document 7.5.1 states the EEPROM is used to program and store values for writable registers, such as the configuration,...

Based on the above, I would expect  the EEPROM to be unlocked ( per 7.5.2.1 of SBOS716B document) before a write to the

configuration register can take place.

However in Application report SBOA138A  in 2.1, I do not see any 'unlocking' of the EEPROM prior to writing to the configuration register

for demonstrating the continuous conversion mode (A) and the shutdown mode (B).

Are there any software examples or other application notes or accompanying  code composer projects using the TMP107 with say an MSP432 microcontroller

Thanks

  • Hi David,

    We do not have drivers for TMP107 yet. As soon as we develop one we will share on the website. 

    For the EEPROM question, I will get back to you tomorrow. 

    Regards,

  • Hi David,

    When to use/program the EEPROM:

    The power up reset values of the registers are acquired from the EEPROM reset values (from factory). We have programmed the EEPROM with reset values as specified on the datasheet. Only if you want to change the power up reset values of the register then you need to program the EEPROM. If you don't want to change the power up reset values but you want to perform some specific task with the registers you can change the registers values by writing to them. 

    If you want to Program the EEPROM then Unlock the EEPROM by writing logic 1 to NUS which is bit 0 in temperature register. Then you need to do a normal write to any of the registers (config/low limit/high limit etc..), wait for the EEPROM programming time (7ms) and then that value is programmed to EEPROM. Lock the EEPROM to avoid any other value getting written to EEPROM.

    In the App Note examples, the engineer used the EEPROM default values, that's why the EEPROM was not unlocked. 

    Hope this helps!

  • Hi Mayrim,

    Thanks for the explanation. So in the application report (SBOA138A), 2.1 (B) on page 3 and 2.1 (C) on page 4 relating to the TMP107 in the shutdown mode, the EEPROM would have had to be reprogrammed, since on reset, the default configuration mode is for a continuous conversion rate of 1 conversion per second.

    So if i want to implement the single-shot mode for an application where i have say 4 sensors and  perform a global reads using the default

    1 sec conversion period at non-uniformly spaced time intervals T1, T2,....., is this how i should implement it?

    -----

    a) Chain initialization ( Address initialize-> Software reset -> Last device poll)

    b) Unlock EEPROM  ( 55 21 a0 01 00)     // Since i will be writing to the configuration register in the next step

    c) Enable one-shot mode ( 55 21 a1 00 b1 )

    d) Wait 7 ms

    e) Lock EEPROM ( 55 21 a0 00 00 )

    f) Wait at least 1 second    // Since conversion period was 1 second

    g) Read 4 sensors ( 8 bytes in all)

    h) Wait Tn seconds

    i) Go back to step b).

  • Hi David,

    Locking and Unlocking the EEPROM every time is not correct. You will end up doing  hundreds of writes a day. You only need to program the EEPROM once.

    This is what you need to do:

    Inital EEPROM Programming which is only needed Once

    a) Unlock EEPROM  ( 55 21 a0 01 00)    

    b) Modify config register default setting (Enable one-shot mode ( 55 21 a1 00 b1 ))

    c) Wait 10 ms

    d) Lock EEPROM ( 55 21 a0 00 00 )

    >>>>>>>>>>>>>>>>>EEPROM is Programmed with One Shot>>>>>>>>>>

    When part used in the application

    1) Power up (by default now it is in one shot mode)

    2) Apply One shot command

    3) Read temperature

    4) Wait for Tn and then follow step2

    Regards,

  • Hi Mayrim,

    Thanks a lot for the clarification with your response.