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.

TMP112: Is there any way to restart I2C communication?

Part Number: TMP112

 Hello guys,

 One of our customers is evaluationg TMP112 on their own board. They have faced a trouble. The trouble and question are the followings.

 One TMP112 and a MCU are mounted on their board. Also a actuator which drives high current is mounted on it. The MCU can read temperature data from TMP112 without any problem befor the actuator on/off. But after the actuator on/off, the temperature data can't be read by the MCU with I2C communication problem. Then TMP112 doesn't send any temperature data through I2C (SDA,SCL) even if MCU sends read command with intervals more than 100ms. After the board power is off and on, the I2C communication returns to the normal I2C communication and the temperature data can be read correctly. The customer question is that is ther any way to restart or reset I2C communication of TMP112 without the device power off and on?

 Could you please give me your reply or comment? These would be much appreciated.

 Best regards,

 Kazuya Nakai.     

  • Hi Kazuya-san,

    Thank you for reaching out to us for your inquiry. Actuator is normally generated a lot of noise especially when it drives a very high current. Could you please let me know where you place the actuator? How far away from the temperature sensor? Please provide a diagram drawing. Also, can you perform the test as you mentioned in this thread and capture with the scope photo on the V+ power supply line before and after the actuator turns ON and OFF? I am not sure how easy to separate the power supply of the actuator and temperature sensor. Could you please try to separate the power supply for actuator and temperature sensor? I would like to confirm if the noise caused the temperatuer to get stuck the communcation.
     
    Yes there is a way to reset the serial interface by issuing a general call in the datasheet section 7.3.2.6. However, you can't execute this command since the TMP112 I2C communication is stuck with no response.

    TMP112 also has a timeout function feature. During the I2C communcation protocol, if there is any catastrophic event happens during this interval by holding SDA low. TMP112 will hold for 30ms, and it will not released after timeout has reached.

    Hope this helps. Let me know if you have further question.

    Aaron

  • Hello Aaron,
    Thank you very much for your prompt reply. I will try to collect the information you mentioned but I don't know whether they give me the information. If I get the information, I will inform you again.

    Also I will ask them to add any program uses the timeout function feature in thier current program. If the I2C communication is returned to the normal mode by the program addition, I will inform you again.

    Thank you very much again and best regards,
    Kazuya Nakai.
  • Hello Aaron,

    Do you know whether SDA and SCL input buffer are schmitt trigger type or not?

    Thank you and best regards,
    Kazuya Nakai.
  • Hi Kazuya-san,

    Yes there is a schmitt trigger for SCL and SDA. What is the pull-up resistor value on SCL and SDA pins? Customer might need to consider using a smaller resistor pull-up resistor on SCL and SDA so that it has a stronger driven and less sussceptible to noise coupling in.

    Aaron
  • Hi Kazuya-san,

    I will close this thread. If you still need further assistance, please feel free to open the case again.

    Aaron
  • Hi Aaron,
    I see. I will open new tread when I have any question or I get any information from the customer.

    Thank you and best regards,
    Kazuya Nakai.