36.5.13 I2CxBTO

I2C Bus Time-Out Register(1)

Note:
  1. It is recommended to write this register only when the module is Idle (MMA = 0 or SMA = 0) or when the module is clock stretching (CSTR = 1 or MDR = 1).
  2. When TOBY32 is set (TOBY32 = 1) and the LFINTOSC, MFINTOSC, or SOSC is selected as the BTO clock source, the time-out time (TOTIME) will be approximately 1 ms.
  3. If TOTIME = 0, the time-out is 64 periods of the prescaled BTO clock.
Name: I2CxBTO
Address: 0x01F7

Bit 76543210 
 TORECTOBY32TOTIME[5:0] 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 00000000 

Bit 7 – TOREC Time-Out Recovery Selection

ValueDescription
1A BTO event will reset the I2C module and set BTOIF
0A BTO event will set BTOIF, but will not reset the I2C module

Bit 6 – TOBY32  Time-Out Prescaler Extension Enable(2)

ValueDescription
1BTO time = TOTIME * TBTOCLK * 32
0BTO time = TOTIME * TBTOCLK

Bits 5:0 – TOTIME[5:0] Time-Out Time Selection

ValueNameDescription
nTOBY32 = 1Time-out is TOTIME periods of the prescaled BTO clock multiplied by 32 (TOTIME = n * TBTOCLK * 32)
nTOBY32 = 0Time-out is TOTIME periods of the prescaled BTO clock (TOTIME = n * TBTOCLK)
It is recommended to write this register only when the module is Idle (MMAHost Mode Active Status = 0 or SMAClient Mode Active Status = 0) or when the module is clock stretching (CSTR Client Clock Stretching(3) = 1 or MDR Host Data Request (Host pause) = 1).When TOBY32 is set (TOBY32 = 1) and the LFINTOSC, MFINTOSC, or SOSC is selected as the BTO clock source, the time-out time (TOTIME) will be approximately 1 ms.If TOTIMETime-Out Time Selection = 0, the time-out is 64 periods of the prescaled BTO clock.