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 t(HDDAT) data hold time

Guru 20090 points
Other Parts Discussed in Thread: TMP112

Hello,

Is the t(HDDAT) = 900ns (max) , for I2C read only?
Does this value apply to write ?

Best Regards,
Ryuji Asaka

  • Hi Ryuji Asaka,

     

    The spec applies to both read and write for fast mode operation.

     

    Regard, Guang

    Apps-Sensing Products

  • Hi Guang Zhou san,

    Please see the attached file.

    TMP112.pdf

    (1)
    In the attached file, the SCL falling to SDA change timing is about 1.6us.
    Is this timing not accepted for TMP112?

    (2)
    Could you please let me know the behavior of TMP112 If we use TMP112 with this timing ?

    (3)
    The TMP112 thd(DAT) (max) is added on the Revision C.
    Could you please let me know this reason?

    Best Regards,
    Ryuji Asaka

  • Hi Ryuji Asaka San,

     

    (1)    The timing is acceptable for TMP112.

    (2)    There should be no problem communicating with TMP112 with this timing.

    (3)    The Hold time Max was added concerning Fast Mode 400KHz operation. The purpose is to prevent a long T_hold from encroaching on T_setup of the next data bit, or worse, squeeze into the next SCL pulse when minimum Clock Tlow (1300nS) is used. In this case when SCL and SDA rise/fall time is also long, the risk is there for the above scenario to happen. In your case, the speed is low, it shouldn’t be a concern.

     

    Regard, Guang

    Apps-Sensing Products

     

  • Hi Guang san,

    Thank you ! I understood.

    Best Regards,
    Ryuji Asaka
  • Hello Guan san,

    Sorry again.
    Could you please let me know the t(HDDAT)(max) with the fSCL of 156.25kHz?

    The customer don't accept our explanation.
    Usually, the maximum value is value which we must never exceed.

    They are wondering why TI added the 900ns(max) to the datasheet  specification.
    They think that it should be added with the condition.
    The customer already use TMP112 with the old datasheet.
    However , there are the t(HDDAT)(max) in the latest datasheet.

    Best Regards,
    Ryuji Asaka

  • Hi Ryuji San,

     

    I double checked with our digital design team on the timing spec.

     

    To put it plainly, the T_hold MAX means “when (master) reading, please don’t try to change the state of SDA pin for at least this amount of time, because the slave can hold its state for a MAX of this amount of time”; T_hold MIN means “when (maser) writing, please hold SDA in current state for at least this amount of time before changing its state”.

     

    When the master writes to a slave device, the SDA can be held (almost) indefinitely after the clock falling edge, as long as it does not interfere with the next data bit. In this case the T_hold MIN applies and T_hold MAX does not. On the other hand, when master is reading back from the slave, the master must wait at least T_hold MAX amount of time before driving SDA. The MIN and MAX specs target slightly different aspects of the communication. T_hold MAX is really the data valid time.

     

    In the timing you provided, for WRITE, the setup time and hold time are both 1.6uS which is fine. For read, Tpd is guaranteed to be 900nS or less by the spec as shown here. And you have 3.2uS CLOCK low before the read edge, which is also plenty.

     

    Regarding why the data sheet was updated, here is the reason. We noticed some customers were not paying much attention to timing, the clock and data edges were often placed together, with 0 setup/hold time. As a result, we had quite a few inquiries/requests on this matter. To help future customers, we updated the data sheet, emphasizing the importance of satisfying the timing requirements.

     

    Please do let me know if the customer has further questions/concerns, we’ll do our best to assist.

     

    Regard, Guang

    Apps-Sensing Products