
• Transmit and receive buffers †
• Handles bit and byte waiting at all bus speeds †
• DMA handshaking interface †
I
2
C Controller Block Diagram and System Integration
The I
2
C controller consists of a slave interface, an I
2
C interface, and FIFO logic to buffer data between the
two interfaces. †
The host processor accesses data, control, and status information about the I
2
C controller through a 32-bit
slave interface.
Figure 20-1: I2C Controller Block Diagram
RX and RX FIFO
TX and RX Shift
RX Filter
Control
Interrupt Controller
DMA Interface
Clock
Manager
Reset
Manager
DMA
Controller
MPU
IRQ
I
2
C Controller
I
2
C Interface
(to I/O Pins)
Register Block
Slave Interface
L4 Peripheral Bus
The I
2
C controller consists of the following modules and interfaces:
• Slave interface for control and status register (CSR) accesses and DMA transfers, allowing a master to
access the CSRs and the DMA to read or write data directly.
• Two FIFO buffers for transmit and receive data, which hold the Rx FIFO and Tx FIFO buffer register
banks and controllers, along with their status levels. †
• Shift logic for parallel-to-serial and serial-to-parallel conversion
• Rx shift – Receives data into the design and extracts it in byte format. †
• Tx shift – Presents data supplied by CPU for transfer on the I
2
C bus. †
• Control logic responsible for implementing the I
2
C protocol.
I2C Controller
Altera Corporation
cv_54020
I
2
C Controller Block Diagram and System Integration
20-2
2013.12.30