
DocID13284 Rev 2
393/564
UM0404
I
2
C interface
20.2 General
description
In addition to receiving and transmitting data, this interface converts it from serial to parallel
format and vice versa, using either an interrupt or polled handshake. The interrupts are
enabled or disabled by software. The interface is connected to the I
2
C bus by a data pin
(SDA) and by a clock pin (SCL). It can be connected both with a standard I
2
C bus and a
Fast I
2
C bus. This selection is made by software.
20.2.1 Mode
selection
The interface can operate in the four following modes:
•
Slave transmitter/receiver
•
Master transmitter/receiver
By default, it operates in slave mode.
The interface automatically switches from slave to master after it generates a START
condition and from master to slave in case of arbitration loss or a STOP generation, allowing
then Multi-Master capability.
20.2.2 Communication
flow
In Master mode, it initiates a data transfer and generates the clock signal. A serial data
transfer always begins with a start condition and ends with a stop condition. Both start and
stop conditions are generated in master mode by hardware as soon as the Master mode is
selected.
In Slave mode, the interface is capable of recognizing its own address (7- or 10-bit), and the
General Call address. The General Call address detection may be enabled or disabled by
software.
Data and addresses are transferred as 8-bit bytes, MSB first. The first byte(s) following the
start condition contain the address (one in 7-bit mode, two in 10-bit mode). The address is
always transmitted in Master mode.
A 9th clock pulse follows the eight clock cycles of a byte transfer, during which the receiver
must send an acknowledge bit to the transmitter. Refer to
Figure 168. I
2
C bus protocol
Acknowledge may be enabled and disabled by software.
The I
2
C interface address and/or general call address can be selected by software.
SCL
SDA
1
2
8
9
MSB
ACK
STOP
START
CONDITION
CONDITION