Inter-Integrated Circuit Peripherals
UG0331 User Guide Revision 15.0
539
15.2
Functional Description
This section provides a detailed description of the I
2
C peripherals.
15.2.1
Architecture Overview
The I
2
C peripherals consist mainly of the following components (shown in the following figure).
•
Input Glitch Filter
•
Arbitration and Synchronization Logic
•
Address Comparator
•
Serial Clock Generator
Figure 229 •
I
2
C Block Diagram
15.2.1.1 Input Glitch Filter
The I
2
C Fast mode (400 Kbit/s) specification states that glitches 50 ns or less should be filtered out of the
incoming clock and data lines. The input glitch filter performs this function by filtering glitches on
incoming clock and data signals. Glitches shorter than the glitch filter length are filtered out. The glitch
filter length is defined in terms of APB interface clock cycles and configurable from 3 to 21 APB interface
clock cycles. Input signals are synchronized with the internal APB interface clock (APB_0_CLK and
APB_1_CLK).
page 561 for more information on Glitch register bit definitions.
15.2.1.2 Arbitration and Synchronization Logic
In Master Mode, the arbitration logic monitors the data line. If any other device on the bus drives the data
line Low, the I
2
C peripheral immediately changes from Master-Transmitter mode to Slave-Receiver
mode. The synchronization logic synchronizes the serial clock generator block with the transmitted clock
pulses coming from another master device.
The arbitration and synchronization logic implements the timeout requirements as per the SMBus
specification version 2.0.
I2C_X_SCLI
Address Comparator
AP
B
I
n
te
rf
a
c
e
I2C_X_BCLK
Input Glitch Filter
I2C_X_SCLO
I2C_X_SDAI
I2C_X_SDLO
SMBus Register
Frequency Register
I2C_X_SMBSUS_NI
I2C_X_SMBALERT_NI
I2C_X_SMBALERT_NO
Glitch Filter Register
Input Glitch Filter
Output
Output
I2C_X_SMBSUS_NO
Control Register
Status Register
Serial Clock
Generator
SMBus and
Filtering
Registers
I2C_X_SMBA_INT
I2C_X_SMBS_INT
Shift Register
Slave0 and Slave1
Address Registers
Arbitration and
Synchronization Logic