7. I
2
C Interface > Bus Timing
185
Tsi578 User Manual
June 6, 2016
Integrated Device Technology
www.idt.com
7.13.1
Start/Restart Condition Setup and Hold
The Start/Restart Condition is generated by a master. As shown in
, the Start Setup time
defines the minimum period both the I2C_SD and I2C_SCLK signals must be seen high (1) before the
I2C_SD signal is pulled low (0) to trigger the Start. The I2C_SD signal must also have fulfilled the
I2C_SD Setup time prior to the rising edge of I2C_SCLK. Once the I2C_SD signal is seen low (0), the
Start Hold time is the minimum period the I2C_SCLK signal must continue to remain high (1) before it
is pulled low (0). These parameters are used by the Tsi578 as a master when generating the Start
condition. These times may be violated by an external master or slave pulling the I2C_SD or
I2C_SCLK signals low before the setup/hold periods are expired, which may result in an arbitration
loss or collision.
7.13.2
Stop Condition Setup
The Stop Condition is generated by a master. As shown in
, the Stop Setup time defines the
minimum period the I2C_SD must be seen low (0) and the I2C_SCLK signal must be seen high (1)
before the I2C_SD signal is released high (1) to trigger the Start. The I2C_SD signal must also have
fulfilled the I2C_SD Setup time prior to the rising edge of I2C_SCLK. There is no separate Stop Hold
parameter, as the only valid condition following a Stop would be a Start; therefore, the Start Setup
fulfills the same use as a Stop Hold or Stop-to-Start buffer time. This parameter is used by the Tsi578 as
a master when generating the Stop condition. If the I2C_SCLK signal was prematurely pulled low (0)
by an external master or slave, this would be seen as a collision event.
7.13.3
I2C_SD Setup and Hold
Either a master or a slave can be in control of the I2C_SD signal, depending on the phase of the data
transfer protocol. As shown in
, the I2C_SD Setup time defines the minimum period the
I2C_SD signal must set to the desired state while I2C_SCLK is low (0) before the I2C_SCLK signal is
release high (1) to generate the high period of the clock. The I2C_SD Hold time defines the minimum
period the I2C_SD signal is left unchanged after the falling edge of I2C_SCLK (I2C_SCLK seen low).
The I2C_SD hold time may be violated by another device pulling I2C_SD low, but this is not an error,
as it normally indicates another device with a different design.
The I2C_SD setup time is not as defined in the
I
2
C Specification
. The setup time parameter
encompasses both the maximum rise/fall time of the I2C_SD signal plus the output hold time and must
be set accordingly. There is no feedback check that the I2C_SD signal goes to the desired state, as this
could result in I2C_SCLK being held low erroneously. If another device is also controlling I2C_SD,
the likely result is an arbitration loss or collision.