
MPR121
Sensors
Freescale Semiconductor, Inc.
21
6
MPR121 Serial Communication
6.1
I2C Serial Communications
The MPR121 uses an I2C Serial Interface.The MPR121 operates as a slave that sends and receives data through an I2C two-
wire interface. The interface uses a Serial Data Line (SDA) and a Serial Clock Line (SCL) to achieve bidirectional communication
between master(s) and slave(s). A master (typically a microcontroller) initiates all data transfers to and from the MPR121, and it
generates the SCL clock that synchronizes the data transfer.
The MPR121 SDA line operates as both an input and an open-drain output. A pullup resistor, typically 4.7 k
Ω, is required on SDA.
The MPR121 SCL line operates only as an input. A pullup resistor, typically 4.7 k
Ω, is required on SCL if there are multiple
masters on the two-wire interface, or if the master in a single-master system has an open-drain SCL output.
Each transmission consists of a START condition (Figure 3) sent by a master, followed by the MPR121’s 7-bit slave address plus
R/W bit, a register address byte, one or more data bytes, and finally a STOP condition.
Figure 3. Two-Wire Serial Interface Timing Details
6.2
Slave Address
The MPR121 has selectable slave addresses listed by different ADDR pin connections. This also makes it possible for multiple
MPR121 devices to be used together for channel expansions in a single system.
6.3
Operation with Multiple Master
When operating with multiple masters, bus confusion between I2C masters is sometimes a problem. One way to prevent this is
to avoid using repeated starts to the MPR121. On a I2C bus, once a master issues a start/repeated start condition, that master
owns the bus until a stop condition occurs. If a master that does not own the bus attempts to take control of that bus, then
improper addressing may occur. An address may always be rewritten to fix this problem. Follow I2C protocol for multiple master
configurations.
Table 10. MPR121 Slave Address
ADDR Pin Connection
I2C Address
VSS
0x5A
VDD
0x5B
SDA
0x5C
SCL
0x5D
SCL
SDA
tLOW
tHIGH
tF
tR
tHD STA
tHD DAT
tHD STA
tSU DAT
tSU STA
tBUF
tSU STO
START
CONDITION
STOP
CONDITION
REPEATED START
CONDITION
START
CONDITION