MPR121
Sensors
10 Freescale Semiconductor, Inc.
4.5 I
2
C AC Characteristics
Table 7. I
2
C AC Characteristics
(Typical Operating Circuit, V
DD
and V
REG
= 1.8V, T
A
= 25°C, unless otherwise noted.)
Parameter Symbol Conditions Min Typ Max Units
Serial Clock Frequency
f
SCL
400 kHz
Bus Free Time Between a STOP and a START Condition
t
BUF
1.3 μs
Hold Time, (Repeated) START Condition
t
HD, STA
0.6 μs
Repeated START Condition Setup Time
t
SU, STA
0.6 μs
STOP Condition Setup Time
t
SU, STO
0.6 μs
Data Hold Time
t
HD, DAT
0.9 μs
Data Setup Time
t
SU, DAT
100 ns
SCL Clock Low Period
t
LOW
1.3 μs
SCL Clock High Period
t
HIGH
0.7 μs
Rise Time of Both SDA and SCL Signals, Receiving
t
R
20+0.1C
b
300 ns
Fall Time of Both SDA and SCL Signals, Receiving
t
F
20+0.1C
b
300 ns
Fall Time of SDA Transmitting
t
F.TX
20+0.1C
b
250 ns
Pulse Width of Spike Suppressed
t
SP
25 ns
Capacitive Load for Each Bus Line
C
b
400 pF
MPR121
Sensors
Freescale Semiconductor, Inc. 11
5 Register Operation Descriptions
5.1 Register Read/Write Operations and Measurement Run/Stop Mode
After power on reset (POR) or soft reset by command, all registers are in reset default initial value (see Table 2). All the registers,
except registers 0x5C (default 0x10) and 0x5D (default 0x24), are cleared.
Registers 0x2B ~ 0x7F are control and configuration registers which need to be correctly configured before any capacitance
measurement and touch detection.
Registers 0x00 ~ 0x2A are output registers updating periodically by the MPR121 in Run Mode. Among these output registers,
Baseline Value Registers 0x1D ~ 0x2A are also writable, this is sometimes useful when user specific baseline values are desired.
The MPR121’s Run Mode and Stop Mode are controlled by control bits in Electrode Configuration Register (ECR, 0x5E). When
all ELEPROX_EN and ELE_EN bits are zeros, the MPR121 is in Stop Mode. While in Stop Mode, there are no capacitance or
touch detection measurement on any of the 13 channels. When any of the ELEPROX_EN and ELE_EN bits are set to ‘1’, the
MPR121 is in Run Mode. The MPR121 will continue to run on its own until it is set again to Stop Mode by the user.
The MPR121 registers read operation can be done at any time, either in Run Mode or in Stop Mode. However, the register write
operation can only be done in Stop Mode. The ECR (0x5E) and GPIO/LED control registers (0x73~0x7A) can be written at
anytime.
5.2 Touch Status Registers (0x00~0x01)
These two registers indicate the detected touch/release status of all of the 13 sensing input channels. ELEPROX is the status for
the 13
th
proximity detection channel. The update rate of these status bits will be {ESI x SFI}.
ELEx, ELEPROX: Touch or Release status bit of each respective channel (read only).
1, the respective channel is currently deemed as touched.
0, the respective channel is deemed as released.
Note: When an input is not configured as an electrode and enabled as GPIO input port, the corresponding status bit shows the
input level, but these GPIO status changes will not cause any IRQ interrupt. This feature is for ELE4~ELE11 only.
OVCF: Over Current Flag (read and write)
1, over current was detected on REXT pin.
0, normal condition.
When over current is detected, the OVCF is set to ‘1’ and the MPR121 goes to Stop Mode. All other bits in status registers
0x00~0x03, output registers 0x04~0x2A, and bits D5~D0 in ECR (0x5E) will also be cleared. When the bit is set at ‘1’, the write
to the ECR register to enter Run Mode will be discarded. The write to ’1’of the OVCF will clear this bit and the MPR121 fault
condition will be cleared. The MPR121 can then be configured to return to the Run Mode again.
ELE0-ELE7 Touch Status (0x00)
Bit D7 D6 D5 D4 D3 D2 D1 D0
Read ELE7 ELE6 ELE5 ELE4 ELE3 ELE4 ELE1 ELE0
Write
ELE8-ELE11 ELEPROX Touch Status (0x01)
Bit D7 D6 D5 D4 D3 D2 D1 D0
Read OVCF ELEPROX ELE11 ELE10 ELE9 ELE8
Write
MPR121
Sensors
12 Freescale Semiconductor, Inc.
5.3 Electrode Filtered Data Register (0x04~0x1D)
The MPR121 provides filtered electrode output data for all 13 channels. The output data is 10-bit and comes from the internal
2nd stage filter output. The data range is 0~1024 or 0x000~0x400 in Hex. Bit 0~7 of the 10-bit data are stored in the low byte and
bit 9 and bit 8 are stored in the high byte. The data is the measured voltage on each channel and inversely proportional to the
capacitance on that channel.
These registers are read only and are updated every {ESI x SFI}. A multibyte read operation to read both LSB and MSB is
recommended to keep the data coherency (i.e, LSB and MSB matching). A multibyte reading of 0x00~0x2A returns results of a
single moment without mixing up old and new data.
5.4 Baseline Value Register (0x1E~0x2A)
Along with the 10-bit electrode filtered data output, each channel also has a 10-bit baseline value. The update rate of these
registers is {ESI x SFI} if baseline tracking operation is enabled. These values are the output of the internal baseline filter
operation tracking the slow-voltage variation of the background capacitance change. Touch/release detection is made based on
the comparison between the 10-bit electrode filtered data and the 10-bit baseline value.
Note: Although internally the baseline value is 10-bit, users can only access the 8 MSB of the 10-bit baseline value through the
baseline value registers. The read out from the baseline register must be left shift two bits before comparing it with the 10-bit
electrode data.
The Baseline Value register is writable in Stop Mode. Note: when the user writes into the baseline value register, the lower two
bits of the 10-bit baseline value are automatically cleared internally upon write operation. The Write to Baseline Value Register
by specific values can be sometimes useful if user wants to manipulate the touch/release status. For example, manually setting
the target channel from a touch locked state into a touch released state is easily done by setting the baseline value above the
signal data.
Refer to the Electrode Configuration Register (ECR, 0x5E) on how to control the on/off operation of baseline tracking and further
details on how the initial baseline data is loaded into Run Mode. Refer to Baseline Filtering Control registers(0x2B~0x2A) on how
to control the filtering of the baseline value.
5.5 Baseline Filtering Control Register (0x2B~0x40)
All12 of the electrode baseline values are controlled by the same set of filtering control registers, 0x2B ~ 0x35. The 13th channel
ELEPROX is controlled by registers 0x36 ~ 0x40. Both sets of registers have the same structure using three different scenarios;
rising, falling, and touched.
Rising is defined as when the electrode data is greater than the baseline value. Falling is defined as when the electrode data is
less than the baseline value. Touched is when the electrode is in touched status. For each scenario, the filtering characteristic is
further defined by four parameters: the maximum half delta (MHD), noise half delta (NHD), noise count limit (NCL) and filter delay
count limit (FDL). Note: there is no maximum half delta for the touched scenario.
Maximum Half Delta (MHD): Determines the largest magnitude of variation to pass through the baseline filter. The range of the
effective value is 1~63.
Noise Half Delta (NHD): Determines the incremental change when non-noise drift is detected. The range of the effective value
is 1~63.
Electrode Filtered Data Low Byte (0x04,0x06,...,0x1C)
Bit D7 D6 D5 D4 D3 D2 D1 D0
Read Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Write
Electrode Filtered Data High Byte (0x05,0x07,...,0x1D)
Bit D7 D6 D5 D4 D3 D2 D1 D0
Read Bit 9 Bit 8
Write
Electrode Baseline Value (0x1E~0x2A)
Bit D7 D6 D5 D4 D3 D2 D1 D0
Read
Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2
Write

MPR121QR2

Mfr. #:
Manufacturer:
NXP / Freescale
Description:
Capacitive Touch Sensors Low Voltage Touch Pad
Lifecycle:
New from this manufacturer.
Delivery:
DHL FedEx Ups TNT EMS
Payment:
T/T Paypal Visa MoneyGram Western Union

Products related to this Datasheet