Ameba-D User Manual
User Manual All information provided in this document is subject to legal disclaimers. © REALTEK 2019. All rights reserved.
246
The following defines the file names and functions of the blocks in Fig 13-1.
APB Interface: It takes the APB interface signals and translates them into a common generic interface that allows the register file to be
bus protocol-agnostic.
DMA Interface: I
2
C has a handshaking interface to a DMA Controller to request and control transfers. The APB bus is used to perform the
data transfer to or from the DMA.
DMA Parse: It controls the operation mode of DMA.
TRX FIFO: It holds the Rx FIFO and Tx FIFO register banks and controllers, along with their status levels.
Shift Register: It has two functions, Rx shift register and Tx shift register. Rx shift register takes data into the design and extracts it in byte
format. Tx shift register presents data supplied by CPU for transfer on the I
2
C bus.
Master: It generates the protocol for the master transfers.
Slave: It follows the protocol for a slave and monitors bus for address match.
Control Register: It contains configuration registers and is the interface with software.
Synchronous Module: It transfers signals from APB clock domain to ic_clk domain.
CLKRST Generator: It adds clock gating to I
2
C to reduce power consumption.
Bus Monitor: It calculates SCL cycles and detects the bus state.
Detector: It detects the events in the bus; for example, positive/negative edge of SDA/SCL, ACK/NACK on SDA and etc.
Output Control: It controls the outputs of SDA line and SCL line in the bus.
Rx Filter: It is a Rx filter to avoid glitches when I
2
C receives data from the bus.
Control
Register
Sync
Module
FIFO
APB
Interface
DMA
Interface
DMA
Parser
Master
Slave
Filter
Bus
Monitor
CLKRST
Generator
Detector
Shift
Register
Address
Match
APB Clock - pclk
Core Clock - ic_clk
SCL Clock
Output
Control
Fig 13-1 Block diagram of I
2
C
Note:
The ic_clk frequency must be greater than or equal to the pclk frequency. This restriction occurs because the clock domain-crossing
scheme within the I
2
C does not support pclk faster than ic_clk.
13.2.2
I
2
C Terminology
The following terms are used throughout this manual and are defined as follows:
13.2.2.1
I
2
C Bus Terms
The following terms relate to how the role of the I
2
C device and how it interacts with other I
2
C devices on the bus.
Transmitter
– the device that sends data to the bus. A transmitter can either be a device that initiates the data transmission to the bus (a
master-transmitter
) or responds to a request from the master to send data to the bus (a
slave-transmitter
).
Receiver
– the device that receives data from the bus. A receiver can either be a device that receives data on its own request (a
master-
receiver
) or in response to a request from the master (a
slave-receiver
).
Master
-– the component that initializes a transfer (START command), generates the clock (SCL) signal and terminates the transfer (STOP
command). A master can be either a transmitter or a receiver.
Slave
– the device addressed by the master. A slave can be either receiver or transmitter. These concepts are illustrated in Fig 13-2.
Multi-master
– the ability for more than one master to co-exist on the bus at the same time without collision or data loss.
Arbitration
– the predefined procedure that authorizes only one master at a time to take control of the bus.
Realtek confidential files
The document authorized to
SZ99iot
2019-05-15 10:08:03