Chapter 13 Inter-Integrated Circuit (MC9S12XDP512) Block Description
MC9S12XDP512 Data Sheet, Rev. 2.11
Freescale Semiconductor 599

Figure 13-5. SCL Divider and SDA Hold

The equation used to generate the divider values from the IBFD bits is:SCL Divider = MUL x {2 x (scl2tap + [(SCL_Tap -1) x tap2tap] + 2)}The SDA hold delay is equal to the CPU clock period multiplied by the SDA Hold value shown inTable 13-6. The equation used to generate the SDA Hold value from the IBFD bits is:SDA Hold = MUL x {scl2tap + [(SDA_Tap - 1) x tap2tap] + 3}The equation for SCL Hold values to generate the start and stop conditions from the IBFD bits is:SCL Hold(start) = MUL x [scl2start + (SCL_Tap - 1) x tap2tap]SCL Hold(stop) = MUL x [scl2stop + (SCL_Tap - 1) x tap2tap]

Table 13-6. IIC Divider and Hold Values (Sheet 1 of 5)

IBC[7:0]
(hex)
SCL Divider
(clocks)
SDA Hold
(clocks)
SCL Hold
(start)
SCL Hold
(stop)

MUL=1

00 20 7 6 11
01 22 7 7 12
02 24 8 8 13
03 26 8 9 14
04 28 9 10 15
05 30 9 11 16
06 34 10 13 18
07 40 10 16 21
08 28 7 10 15
09 32 7 12 17
0A 36 9 14 19
0B 40 9 16 21
0C 44 11 18 23
0D 48 11 20 25
0E 56 13 24 29
0F 68 13 30 35
10 48 9 18 25
SDA
SCL
START condition STOP condition
SCL Hold(start) SCL Hold(stop)