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.

CCS/TMP116: CCS/TMP116

Part Number: TMP116
Other Parts Discussed in Thread: CC1310, , SIMPLELINK-CC13X0-SDK

Tool/software: Code Composer Studio

Dear Technical Support Team,

I have a custom PCB with a microcontroleur cc1310 4x4 used for RF communication, interfaced with a sensor type TMP116 with i2c, my problem is that I can not extract the data of the temperature also my

oscilloscope displays the result below, this value remains unchanged despite the variation of the temperature?

another question, is it possible to show me the procedure to test the TMP 116 sensor alone without using the RF communication?

here is my code and the result obtained by the osciloscope.

2063.Sonde02052018.zip

  • Hi abdelkader,

    Your oscilloscope picture is not very clear, but it appears that you performed an I2C Write transaction. It appears that TMP116 acknowledged (ACK) its address on the 9th clock cycle, and that a value of 0x00 was written to the pointer register. This is the pointer value for the Temperature register. You must perform a subsequent I2C Read transaction in order to fetch the data in the Temperature register.

    It is unusual that your host left the SCL to idle at logic low after the transaction. Typically I2C idles at logic high. This could indicate that the microcontroller encountered a problem, or that it wasn't properly programmed.

    Thanks,
    Ren
  • Thank you for your reply,
    it's possible to take a look at the code I passed in the previous question.

    cordially,
  • Hi abdelkader,

    We don't have expertise with programming CC1310. Please use the Sub 1GHz forums for programming questions related to CC1310.
    e2e.ti.com/.../156

    Thanks,
    Ren
  • Hello Ren
    I have a code that works well, TMP116 I2C with cc1310 lancherPad, but the question how to integrate this code on my personalized card (cc1310 4x4 mm) and what are the parameters to change?

    this question to test only the TMP116 sensor only.

    Thanks
  • Hi abdelkader,

    As I mentioned before, you must perform an I2C Write transaction to set the pointer within TMP116 to the Temperature Register. This transaction should consist of START, TMP116 Address + Write Bit (0), ACK, 0x00, ACK, STOP. Where 0x00 is the data being written to the TMP116 pointer register. Afterwards, any time you perform an I2C Read transaction, the TMP116 will respond with the contents of Temperature Register (0x00.) The Read transaction should consist of START, TMP116 Address + Read Bit (1), ACK, 8 bits of data, MACK, 8 bits of data, STOP. The two 8-bit data words that are received combine to create the 16 bit temperature result.

    I can't tell you how to program CC1310 to perform these I2C transactions. You will have to review I2C examples for CC1310 and ask questions in the Sub 1GHz forum. See the SIMPLELINK-CC13X0-SDK for examples.
    e2e.ti.com/.../156
    www.ti.com/.../simplelink-cc13x0-sdk

    Thanks,
    Ren