Inter-integrated Circuit (I2C) Interface
User Manual All information provided in this document is subject to legal disclaimers. © REALTEK 2019. All rights reserved.
251
Master to Slave
Slave to Master
S
Slave Address
R/W
A
Data
A
Data
P
7-bit Address
A
S
Slave Address
( 2bit
address)
R/W
A
10-bit Address
Slave Address
(8bit address)
A
Data
P
A
SR
Slave Address
( 2bit
address)
R/W
A
SR : RESTART Condition
Fig 13-8 Master-Receiver protocol
13.2.4.4
START BYTE Transfer Protocol
The START BYTE transfer protocol is set up for systems that do not have an on-board dedicated I
2
C hardware module. When the I
2
C is
addressed as a slave, it always samples the I
2
C bus at the highest speed supported so that it never requires a START BYTE transfer. However,
when I
2
C is a master, it supports the generation of START BYTE transfers at the beginning of every transfer in case a slave device requires it.
This protocol consists of seven zeros being transmitted followed by a 1, as illustrated in Fig 13-9. This allows the processor that is polling the
bus to under-sample the address phase until 0 is detected. Once the microcontroller detects a 0, it switches from the under sampling rate to
the correct rate of the master.
Fig 13-9 START BYTE transfer
The START BYTE procedure is as follows:
(1)
Master generates a START condition.
(2)
Master transmits the START byte (0000 0001).
(3)
Master transmits the ACK clock pulse. (Present only to conform with the byte handling format used on the bus)
(4)
No slave sets the ACK signal to 0.
(5)
Master generates a RESTART (R) condition.
A hardware receiver does not respond to the START BYTE because it is a reserved address and resets after the RESTART condition is generated.
13.2.4.5
General Call Transfer Protocol
The general call is for addressing every device connected to the I
2
C bus. However, if a device doesn’t need any of the data supplied within the
general call structure, it can ignore this address by not issuing an acknowledgement. If a device does require this address and behave as a
slave-receiver. The second and following bytes will be acknowledged by every slave-receiver capable of handling this data. Fig 13-10 gives the
General Call address format.
S
0
0
0
0
0
0
0
0
ACK
MSB
LSB
General Call Address
Sent by
slave
Fig 13-10 General call address format
When I
2
C acts as a slave, set IC_ACK_GENERAL_CALL (0x98) bit 0 to 1 to respond with a ACK when it receives a General Call, and a General Call
interrupt will be issued. When set this bit to 0, the I
2
C does not generate General Call interrupts.
Realtek confidential files
SZ99iot
2019-05-15 10:08:03