
Philips Semiconductors
I2C Interface
PRODUCT SPECIFICATION
16-7
16.7
I
2
C CLOCK RATE GENERATION
The I
2
C hardware block diagram is shown in
Figure 16-5
below. In hardware operating mode, the IIC__SCL exter-
nal clock is derived by division from the BOOT_CLK pin
on TM1300. The BOOT_CLK pin is normally connected
to TRI_CLKIN. The IIC__SCL clock divider value is de-
termined at boot time and cannot be changed thereafter.
The value chosen depends on the first byte read from the
EEPROM, as described in
Section 13.3.1, “Boot Proce-
dure Common to Both Autonomous and Host-Assisted
Bootstrap.”
The TM1300 I
2
C block is able to ‘stretch’ the SCL clock
in response to slaves that need to slow down byte trans-
fer. This mechanism of slowing SCL in response to a
slave is called ‘clock stretching.’ This clock stretching is
accomplished by the slave by holding the SCL line ‘low’
after completion of a byte transfer and acknowledge se-
quence. Clock stretching is always enabled.
Table 16-8. I
2
C speed and EEPROM byte 0
BOOT_CLK
bits
EEPROM
speed bit
divider
value
actual I
2
C
speed
00 (100 MHz)
00
01 (75 MHz)
01
10 (50 MHz)
10
11 (33 MHz)
11
0 (100 kHz)
1 (400 kHz)
0 (100 kHz)
1 (400 kHz)
0 (100 kHz)
1 (400 kHz)
0 (100 kHz)
1 (400 kHz)
1008
256
752
192
512
128
336
96
99.2 kHz
390.6 kHz
99.7 kHz
390.6 kHz
97.6 kHz
390.6 kHz
98.2 kHz
343.8 kHz
Figure 16-5. I
2
C block diagram
Boot S/M
and Logic
Reset
Logic
I
2
C Clock
Gen Prog
PAD
I
2
C
I/F
S/M
Serializer/Deserializer
PAD
n
0
1
0 1
PAD
Addr
Register
Data
Register
Boot Address
Boot Data
cpu-arst
TRI_RESET#
controls
controls
cpu-arst
IIC_SCL
PAD
BOOTCLKIN
ATE
(eeprom image
Byte0,bit0)
IIC_SDA
controls
I
2
C low
level S/M
controls
boot addr
cpu-arst
boot_sclk
sclk
Boot
Data
IIC_AR reg
IIC_DR reg
I
sclk
. 4
sync
Data Hiway