MPR121 Rev 4, 09/2010 Freescale Semiconductor Technical Data An Energy Efficient Solution by Freescale Advanced Information Proximity Capacitive Touch Sensor Controller MPR121 Capacitive Touch Sensor Controller MPR121 OVERVIEW The MPR121 is the second generation capacitive touch sensor controller after the initial release of the MPR03x series devices.
PIN DESCRIPTION Pin No. Pin Name Description 1 IRQ Active Low Open-drain Interrupt Output 2 SCL I2C Serial Clock 3 SDA I2C Serial Data 4 ADDR I²C Slave Address Pin Selects. Connect to VSS, VDD, SDA, SCL to choose address 0x5A, 0x5B, 0x5C, 0x5D respectively. 5 VREG 6 VSS Internal Supply Voltage. Internal regulator output. Bypass to VSS with a 0.1 μF capacitor. Connect to VDD when supply below 2.75V Ground 7 REXT Reference Resistor Connection.
DEVICE OPERATION OVERVIEW Power Supply MPR121 has two supply pins VDD and VREG. Power supply should always be connected to the VDD pin, which should be decoupled with a 0.1uF ceramic decoupling capacitor from VDD to VSS. The VDD should be clean without excessive noise, for example, noise ripple big than 100mV may result false function in some case. To operate from a supply voltage in the range 2.0V to 3.
Capacitance Measurement and Touch Sensing 1. Capacitance Measurement The complete capacitance measurement system is composed by sensing electrode pads connected to the MPR121 sensing 2 inputs, and the MPR121 communicating with the host processor via the I C bus and Interrupt output. The total measureable th sensing channels is 13 channels, including 12 physical electrode inputs and one multiplexed 13 channel for proximity detection.
The amount of charge (Q) applied is programmable by setting the charge current (I), and the charge time (T). Once the electrode is charged, the peak voltage (V) at the end of charge is measured by internal 10bit ADC. This voltage V (that is the ADC counts) is reverse proportional to the capacitance (C) on the sensing channel. 𝑪= 𝑸 𝑰×𝑻 = , 𝑽 𝑽 𝑽= 𝑸 𝑰×𝑻 = 𝑪 𝑪 The programmable range for the current I is 1uA~63uA, see description on AFE Configuration 1 Register (0x5C).
( 𝒅𝑪 𝑪 𝑪 ) = = ≈ 𝟎. 𝟎𝟎𝟏𝑪 𝒅𝑨𝑫𝑪 𝒄𝒐𝒖𝒏𝒕𝒔 𝒎𝒊𝒏 (𝑨𝑫𝑪 𝒄𝒐𝒖𝒏𝒕𝒔)𝒎𝒂𝒙 𝟏𝟎𝟐𝟒 For example, with C=10pF, when setting I and T so that the ADC reading counts is 1000, the sensing resolution for this capacitance at this reading counts will be 0.01pF. The conclusion is that to get the maximum sensing resolution, the capacitance shall be charged close to the upper counts limit.
3. Electrode Auto-Configuration Given by a user defined target charge level, MPR121 can automatically run to get an optimized setting of charge current and charge time for each electrode without knowing the specific capacitance value on the electrode input. This smart autoconfiguration feature greatly reduces the trial and fine tune time during the real system development period. The independent control and setting for each electrode allow for a great deal of flexibility in electrode pattern design.
REGISTER DESCRIPTION Table 1.
Table 1.
Table 1.
2. Touch Status Registers (0x00~0x01) ELE0 - ELE7 Touch Status (0x00) Bit D7 D6 D5 Read E7TS E6TS E5TS Write ELE8 – ELE12 Touch Status (0x01) Read Write OVCF 1 0 0 D4 E4TS D3 E3TS D2 E2TS D1 E1TS D0 E0TS E12TS E11TS E10TS E9TS E8TS th These two registers indicate touch/release status of each electrode. ELE12 is the status for the “13 ” Electrode Proximity Detection (ELEPROX). The update rate of these status bits will be {ESI x SFI}.
5. Baseline Filtering Control Register (0x2B~0x40) rd Background baseline value tracking is operated by the internal 3 level filter controlled by registers 0x2B to 0x40. All the 12 th electrodes’ baseline are controlled by the same set of registers 0x2B to 0x35, while the 13 channel ELEPROX is controlled by another independent set of registers 0x36 to 0x40. Both above two sets have the same structure using 3 different scenarios called rising, falling, and touched.
8. AFE Configuration Register (0x5C, 0x5D) AFE Configuration 1 Register (0x5C), default =0x10 Bit Read Write D7 D6 D5 D4 D3 FFI D2 D1 D0 CDC This register holds the first level filter configuration, and the charge current global setting for all 13 channels. For each channel the global CDC will be used if the individual charge discharge current CDCx is zero.
9. Individual Charge Current Register (0x5F~0x6B) Bit Read Write D7 D6 D5 D4 D3 0 D2 D1 D0 CDCx These registers hold the individual Charge/Discharge Current (CDCx) value for each channel if CDC global value is not used. The parameter setting is similar to the CDC. The power on reset default of these registers is all zeros.
11. Electrode Configuration Register (ECR, 0x5E) Bit Read Write D7 D6 CL[1:0] D5 D4 D3 ELEPROX[1:0] D2 D1 D0 ELE[3:0] This register selects measurement electrodes and proximity detection electrode configurations, and controls MPR121 in Run Mode or Stop Mode. MPR121 reset default is in Stop Mode without any capacitance measurement. To start capacitance measurement and touch detection, set into Run Mode by selecting the sensing inputs to be enabled.
12. Auto Configuration Registers (0x7B~0x7F) In real application, the capacitance on each of the 13 channels can be various very differently depending on the electrode pattern, size, overlay and base material dielectric constant used for each channel. For example, the proximity channel ELEPROX may have a quite larger capacitance than the other individual electrode.
Auto Configuration Register 0 (0x7B) Bit Read Write D7 D6 D5 AFES D4 D3 RETRY D2 BVA D1 D0 ARE ACE ACE: 1: Enable AUTO-CONFIG, 0: Disable AUTO-CONFIG ARE: 1: Enable AUTO-RECONFIG, 0: Disable AUTO-RECONFIG BVA: Baseline Value Adjust Control specifies how to change baseline value for each channel upon finishing auto configuration and auto re-configuration.
14. GPIO Registers (0x73~0x7A) These registers control GPIO function. D7~D0 bits corresponds to GPIO7 ~ GPIO0 on pins ELE11/LED7 ~ ELE4/LED0 respectively. The GPIO control registers can write always regardless Stop and Run mode. The configuration of the LED driver and GPIO system is described with more detail in application note AN3894. When the ports are not used for electrode sensing, they can be used for GPIO pins to be set as input or output, and can be used to drive LED.
Write a bit with “1” to the GPIO Data Set Register, GPIO Data Clear Register, and GPIO Data Toggle Register will set/clear/toggle contents of the corresponding DAT bit in Data Register. Write “0” has no meaning. Using of those registers allows any individual port(s) to be able individually set, cleared, or toggled without affecting other ports. Reading those register returns as same as GPIO Data Register reading. 15. Software Reset Register (0x80) 2 Write 0x80 with 0x63 asserts soft reset.
ELECTRICAL CHARACTERISTICS Absolute Maximum Ratings Absolute maximum ratings are stress ratings only, and functional operation at the maxima is not guaranteed. Stress beyond the limits specified in Table 2 may affect device reliability or cause permanent damage to the device. For functional operating conditions, refer to the remaining tables in this section.
DC CHARACTERISTICS This section includes information about power supply requirements and I/O pin characteristics. Table 4. DC Characteristics (Typical Operating Circuit, VDD = VREG = 1.8 V, TA = 25°C, unless otherwise noted.) Min Typ Max High Supply Voltage Parameter Symbol VDD Conditions 2.0 3.3 3.6 Units V Low Supply Voltage VREG 1.71 1.8 2.
I2C AC CHARACTERISTICS Table 6. I2C AC Characteristics (Typical Operating Circuit, VDD and VREG = 1.8 V, TA = 25°C, unless otherwise noted.) Parameter Symbol Serial Clock Frequency fSCL Conditions Min Typ Max Units 400 kHz Bus Free Time Between a STOP and a START Condition tBUF 1.3 μs Hold Time, (Repeated) START Condition tHD, STA 0.6 μs Repeated START Condition Setup Time tSU, STA 0.6 μs STOP Condition Setup Time tSU, STO 0.
SERIAL COMMUNICATION Introduction 2 2 The MPR121 uses an I C Serial Interface. The MPR121 operates as a slave that sends and receives data through an I C 2wire interface. The interface uses a Serial Data Line (SDA) and a Serial Clock Line (SCL) to achieve bi-directional 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.
Operation with Multiple Masters The application should use repeated starts to address the MPR121 to avoid bus confusion between I2C masters. On an 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.
Write Format A write to the MPR121 comprises the transmission of the MPR121’s slave address with the R/W bit set to 0, followed by at least one byte of information. The first byte of information is the command byte. The command byte determines which register of the MPR121 is to be written by the next byte, if received.
PACKAGE DIMENSIONS MPR121 Sensor 26 Freescale Semiconductor
How to Reach Us: Home Page: www.freescale.com Web Support: http://www.freescale.com/support USA/Europe or Locations Not Listed: Freescale Semiconductor, Inc. Technical Information Center, EL516 2100 East Elliot Road Tempe, Arizona 85284 1-800-521-6274 or +1-480-768-2130 www.freescale.