Datasheet
Table Of Contents
- Proximity Capacitive Touch Sensor Controller
- 1 Pin Descriptions
- 2 Schematic Drawings and Implementation
- 3 Device Operation Overview
- 4 Electrical Characteristics
- 5 Register Operation Descriptions
- 5.1 Register Read/Write Operations and Measurement Run/Stop Mode
- 5.2 Touch Status Registers (0x00~0x01)
- 5.3 Electrode Filtered Data Register (0x04~0x1D)
- 5.4 Baseline Value Register (0x1E~0x2A)
- 5.5 Baseline Filtering Control Register (0x2B~0x40)
- 5.6 Touch / Release Threshold (0x41~0x5A)
- 5.7 Debounce Register (0x5B)
- 5.8 Filter and Global CDC CDT Configuration (0x5C, 0x5D)
- 5.9 Electrode Charge Current Register (0x5F~0x6B)
- 5.10 Electrode Charge Time Register (0x6C~0x72)
- 5.11 Electrode Configuration Register (ECR, 0x5E)
- 5.12 Out-Of-Range Status Registers (0x02, 0x03)
- 5.13 Soft Rest Register (0x80)
- 5.14 GPIO Registers (0x73~0x7A)
- 6 MPR121 Serial Communication
- Disclaimer
MPR121
Sensors
Freescale Semiconductor, Inc. 19
With above mentioned, one possible example setting is given out below using equation 1~3, with the assumption that setting TL
at 90% of USL, and LSL at 65% of USL would cover most of the application case. It may need further adjustment in some cases
but will be a very good start.
USL = (VDD - 0.7)/VDD x 256 Eqn. 1
TL = USL x 0.9 = (VDD - 0.7)/VDD x 256 x 0.9 Eqn. 2
LSL = USL x 0.65 = (VDD-0.7) / VDD x 256 x 0.65 Eqn. 3
Cin = I x T / V = CDC x CDT / (ADC counts x VDD/1024) Eqn. 4
It may not necessary to set the USL at the level of VDD - 0.7 but it is beneficial to keep the applied constant charge current as
accurate as that specified in the data sheet. This so the capacitance value on the input can be calculated with high accuracy
using ADC conversion Equation 4. Using VDD-0.7 as USL level allows some headroom for applications where the supply varies
over a certain range. For a system where the supply changes over a range, the lowest VDD point is considered for
autoconfiguration so that a relative lower charge field can be used to avoid clipping the electrode data to VDD when it drops.
5.12 Out-Of-Range Status Registers (0x02, 0x03)
Ex_OOR, EPROX_OOR: Out-Of-Range Status bits for the 13 channels. This bit set indicates that a corresponding channel has
failed autoconfiguration and autoreconfiguration for range check. Those bits are cleared when they pass the auto-configuration
and auto-reconfiguration range check. These bits are user read only.
ACFF: Auto-Configuration Fail Flag. When autoconfiguration fails, this bit is set. This bit is user read only.
ARFF: Auto-Reconfiguration Fail Flag. When autoreconfiguration fails, this is bit set. This bit is user read only.
When autoconfiguration and/or autoreconfiguration are enabled, MPR121 checks the electrode data after each auto-
configuration, auto-reconfiguration operation to see if it is still in the range set by USL and LSL. When electrode data goes out of
the range, corresponding Ex_OORx bit becomes “1” to indicate the failed channels. One example of triggering OOR error is
shorting the measurement sensing pad to power rails, or shorting it with other channels.
5.13 Soft Rest Register (0x80)
Write 0x80 with 0x63 asserts soft reset. The soft reset does not effect the I
2
C module, but all others reset the same as POR.
5.14 GPIO Registers (0x73~0x7A)
ELE0~ELE7 OOR Status (0x02)
Bit D7 D6 D5 D4 D3 D2 D1 D0
Read E7_OOR E6_OOR E5_OOR E4_OOR E3_OOR E2_OOR E1_OOR E0_OOR
Write — — — — — — — —
ELE8~ELEPROX OOR Status (0x03)
Bit D7 D6 D5 D4 D3 D2 D1 D0
Read ACFF ARFF — EPROX_OOR E11_OOR E10_OOR E9_OOR E8_OOR
Write — — — — — — — —
GPIO Registers (0x73~0x7A)
GPIO Registers D7 D6 D5 D4 D3 D2 D1 D0
Control Register 0(0x73) GTL0_E11 GTL0_E10 GTL0_E9 GTL0_E8 GTL0_E7 GTL0_E6 GTL0_E5 GTL0_E4
Control Register 1(0x74) GTL1_E11 GTL1_E10 GTL1_E9 GTL1_E8 GTL1_E7 GTL1_E6 GTL1_E5 GTL1_E4
Data Register(0x75) DAT_E11 DAT_E10 DAT_E9 DAT_E8 DAT_E7 DAT_E6 DAT_E5 DAT_E4