37.2.3.4.3 Bus Idle Condition
The Bus Idle condition is defined as a period during which the Bus Available condition is sustained continuously for a duration of at least TIDLE duration as specified in Table 37-4 below. This time is specified by the user using the I3CxBIDL Bus Idle Condition Threshold Register. An internal counter incremented by the I3CxCLK clock is compared against the value in the I3CxBIDL register to determine when a Bus Idle condition occurs. This counter stops counting at the I3CxBIDL value and resets at every Stop condition.
For example, for I3CxCLK = FOSC = 64 MHz, a TIDLE of 200 µs duration takes
12,800 counts. Hence, the user must set I3CxBIDL = 12800
during setup
for I3C to operate as expected. Table 37-5 below
contains I3CxBIDL values for commonly used I3CxCLK clock speeds for reference.
The Bus Idle condition is key to ensuring bus stability when new devices are added to the bus during Hot-Join events.
Bus Condition | Symbol | Timing |
---|---|---|
Bus Free Condition | TCAS for pure bus | 38.4 ns |
TBUF for mixed bus |
1.3 µs for Fast mode (400 kHz) 500 ns for Fast mode Plus (1 MHz) |
|
Bus Available Condition | TAVAL | 1 µs |
Bus Idle Condition | TIDLE | 200 µs |
I3CxCLK Clock Speed | I3CxBAVL Value for TAVAL = 1 µs | I3CxBIDL Value for TIDLE = 200 µs |
---|---|---|
8 MHz | 8 | 1600 |
16 MHz | 16 | 3200 |
32 MHz | 32 | 6400 |
48 MHz | 48 | 9600 |
64 MHz | 64 | 12800 |