Because of the Thanksgiving holiday in the U.S., TI E2E™ design support forum responses may be delayed from November 25 through December 2. Thank you for your patience.

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.

DS90UB927Q-Q1: I2C Bus Timer and BCC Watchdog Functions

Part Number: DS90UB927Q-Q1

[ DS90UB927-Q1 ] I2C Bus Timer and BCC Watchdog Functions

Hi,

Would you help me to clarify the function of I2C Bus timer (0x05[1:0]) and BCC watchdog(0x16)?




As my understanding, I2C bus timer work no matter the communication is for local, remote or remote slave.
However, for serializer's I2C block, it's assumed that two different functions like slave and proxy master.

<Q1>:
Does I2C bus timer work same for both slave and proxy master case?


<Q2>:
Does BCC watchdog work only for the I2C communication between master and remote/remote slave?
In other words, even if the fail condition happens on the local communication (master-slave), this BCC watchdog does NOT terminate the communication within the period set by 0x16[7:1]. Correct?




Thank you for your support in advance.
Regards,
Ken

  • 1. I2C bus timer only works when the device is acting as proxy master. However, since BCC watchdog settings are available for both Ser and Des and are independent of each other. Both cases in Q1 are covered.

    2. Yes, BCC Watchdog only works between master and remote/remote slave.


    Best Regards,
    Charley Cai
  • Thanks, Charley.

    Let me double check. Do you say that for the local I2C communication such as host-UB92x, both I2C bus timer and BCC watchdog timer are NOT functional?
    I updated my drawing slightly.




    Thanks,
    Ken

  • Hi Charley,

    Would you please look into the question above?

    Thanks,
    Ken
  • Hi Ken,
    Sorry for the slow reply due to holidays. I'm waiting for confirmation from design.
    I will get back to you as soon as I receive a firm answer.

    Best Regards,
    Charley Cai
  • Thanks, Charley, I wait for the further update from you.

    As long as I checked, this has not been described any details, so this would help another engineer, too.

    Regards,
    Ken
  • Hi Ken,

    Please let me know if this is clear.

    I2C Bus timer only works when the serializer or deserializer is acting as the proxy I2C master, and it detects lock-up conditions on the local I2C bus.  

    If the I2C bus watchdog timer is enabled, the device will detect one of two conditions.  

    If SDA and SCL are both inactive (high) for greater than 1second, the proxy I2C master will assume the bus is free.  

    If instead, SDA is low with SCL high, but there is no activity on the bus for more than 1 second, the I2C master will attempt to generate pulses on the SCL signal.  This essentially tries to free up the bus if an I2C slave is incorrectly driving the bus following a transaction.  

    BCC Watchdog Timer prevent a lock-up condition on the control channel when no response is available from the remote/remote-slave device.  The BCC Watchdog timer is active for both I2C master and slave operation, but only when the device is actively holding SCL low.

    An example of when this might happen is if link becomes lost before or during a control channel access.  In this case, no response will arrive from the remote serializer or deserializer.  If no response is seen within the timer window, the serializer/deserializer will release the SCL and indicate a not acknowledge on the I2C bus.  

    Best Regards,

    Charley Cai