Inter-Integrated Circuit Controller
7-65
MPU Public Peripherals
7.8.2.2
Data Format
The I
2
C controller operates in 16-bit word data format (byte write access
supported for the last access), and it supports endianism.
7.8.2.3
I
2
C Reset
The I2C_EN bit in the I
2
C configuration register (I2C_CON)
can also reset the
I
2
C module. When the system bus reset is removed (RESET_ = 1),
I2C_EN = 0 keeps the I
2
C module in reset state.
7.8.2.4
Prescaler (ICLK)
The I
2
C module is operated with an internal ~12-MHz clock (ICLK). This clock
is generated via the I
2
C prescaler block. The prescaler consists of an 8-bit
register; I2C_PSC is used for dividing down the system peripheral clock
(MPUXOR_CK) to obtain a ~12-MHz clock for the I
2
C module (see
Figure 7–30).
Figure 7–30. Prescale Sampling Clock Divider Value
1
(PSC+1)
MPUXOR_CK
ICLK
0x0:
0x1:
↓
0xFF:
Divide by 1
Divide by 2
↓
Divide by 256
Values after reset are low (All 8 bits).
Noise Filter
The noise filter suppresses any noise that is 50 ns or less. It is designed to
suppress noise with one ICLK assuming the lower and upper limits of ICLK are
8 MHz and 16 MHz respectively.
7.8.2.5
I
2
C Interrupts
The I
2
C module generates five types of interrupt: arbitration-lost, no-acknowl-
edge, registers-ready-for-access, receive, and transmit. These five interrupts
are accompanied with five interrupt masks and flags defined in the I2C_IE and
I2C_STAT registers respectively.
An arbitration-lost interrupt (AL) is generated when the I
2
C arbitration
procedure is lost.