37.4.2.3 Start Condition Timing
A Start condition is initiated by either writing to the Start (S) bit
(when ABD =
0
) or by writing to I2CxTXB (when ABD =
1
). When the Start condition is initiated, host hardware verifies
that the bus is Idle, then begins to count the number of I2CxCLK periods as
determined by the Bus Free Time Status (BFRET)
bits. Once the Bus Free Time period has been reached, hardware sets BFRE (BFRE = 1
), the Start condition is asserted on the
bus, which pulls the SDA line low, and the Start Condition Interrupt Flag (SCIF) bit is set (SCIF = 1
). Host hardware then waits one full SCL period
(TSCL) before pulling the SCL line low, signaling the end of the Start
condition. At this point, hardware loads the transmit shift register from either I2CxADB0/I2CxADB1 (ABD
= 0
) or I2CxTXB (ABD = 1
).The figure below shows an example of a Start condition.
Important:
- See the device data sheet for Start condition hold time parameters.
- SDA hold times are configured via the SDAHT bits.