Data Sheet

MPR121 Sensor
11 Freescale Semiconductor
2. Touch Status Registers (0x00~0x01)
ELE0 - ELE7 Touch Status (0x00)
Bit
D7
D6
D5
D4
D3
D2
D1
D0
Read
E7TS
E6TS
E5TS
E4TS
E3TS
E2TS
E1TS
E0TS
Write
ELE8 ELE12 Touch Status (0x01)
Read
OVCF
0
0
E12TS
E11TS
E10TS
E9TS
E8TS
Write
1
These two registers indicate touch/release status of each electrode. ELE12 is the status for the 13
th
Electrode Proximity
Detection (ELEPROX). The update rate of these status bits will be {ESI x SFI}.
ExTS: Touch or Release status bit of each respective channel (Read only).
1, the respective channel is currently deemed as touch.
0, the electrode is deemed as release.
Note: When a GPIO is enabled as input port and the pin is not configured as an electrode, the corresponding status bit shows
the input level. This feature is for ELE4~ELE11 only. These GPIO status change will not cause any IRQ interrupt.
OVCF: Over Current Flag (Read and Write)
1, over current was detected on REXT pin.
0, normal condition
When over current detected, the OVCF is set and MPR121 goes to Stop Mode immediately. The ExTS bits in status registers,
output registers 0x04~0x2A, and bit D5~D0 in ECR will be also cleared on over current condition. When the bit is “1”, writing
ECR register to enter Run mode will be discarded.
Write “1” to OVCF will clear this bit and MPR121 fault condition is cleared so that MPR121 can be configured into Run Mode
again.
3. Electrode Data Register (0x04~0x1D)
Electrode Data Low Byte ExFDL and High Byte ExFDH
Bit
D7
D6
D5
D4
D3
D2
D1
D0
Read
ExFD7
ExFD6
ExFD5
ExFD4
ExFD3
ExFD2
ExFD1
ExFD0
Write
Read
0
0
0
0
0
0
ExFD9
ExFD8
Write
ExFDL, ExFDH: Each of the 13 channels has a low byte and a high byte registers to store a 10bit output electrode data, which
is the 2
nd
level filter filtered data output. The data range is 0~1024 or 0x000~0x400 in Hex. Low byte ExFDL holds the lower 8
bits D0~D7, and high byte ExFDH holds the higher 2 bits D8 and D9.
These registers are read only and updated every {ESI x SFI}. A multi byte read operation to read both LSB and MSB is
required to keep the data coherency (LSB and MSB matching).
A multi byte reading of 0x00 thru 0x2A returns results of a single moment (never mixed-up old and new).
4. Baseline Value Register (0x1E~0x2A)
Electrode Baseline Value
Bit
D7
D6
D5
D4
D3
D2
D1
D0
Read
ExBV9
ExBV8
ExBV7
ExBV6
ExBV5
ExBV4
ExBV3
ExBV2
Write
ExBV: The 3
rd
level filter is used as the baseline filter for touch detection with an output of a 10bit baseline vale. Baseline
Value Register holds the high 8 bits of the internal 10bit baseline value for each of the 13 channels.
CL bits from ECR register (0x5E) specify the update operation of these registers. The update rate of these registers is {ESI x
SFI}.
User can write it in Stop Mode and the write operation will clear lower 2 bits of the internal 10bits value.