Freescale Semiconductor
Technical Data
MPR03X
Rev 2.0 11/2008
Product Preview
Proximity Capacitive Touch
Sensor Controller
MPR03X OVERVIEW
The MPR03X is an Inter-Integrated Circuit Communication
driven Capacitive Touch Sensor Controller, optimized to manage two
electrodes with interrupt functionality, or three electrodes with the
interrupt disabled. It can accommodate a wide range of
implementations due to increased sensitivity and a specialized
feature set.
Features
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
8 µA supply current with two electrodes being monitored with
64 ms response time and IRQ enabled
Compact 2 x 2 x 0.65 mm 8-lead µDFN package
Supports up to 3 touch pads
Only one external component needed
Intelligent touch detection capacity
4 µA maximum shutdown current
1.71 V to 2.75 V operation
Threshold based detection with hysteresis
I
2
C interface, with optional IRQ
Multiple devices in a system allow for up to 6 electrodes (need
MPR032 with second I
2
C address)
-40°C to +85°C operating temperature range
Switch Replacements
Touch Pads
PC Peripherals
MP3 Players
Remote Controls
Mobile Phones
Lighting Controls
(I
2
C)
MPR031
MPR032
Capacitive Touch
Sensor Controller
Bottom View
8-PIN UDFN
CASE 1944
Top View
SCL
SDA
V
SS
V
DD
1
2
3
4
8
IRQ/ELE2
ELE1
ELE0
REXT
MPR03X
7
6
5
Implementations
Figure 1. Pin Connections
VDD
Typical Applications
I²C Serial
Interface
INT
REXT
75k
SCL
SDA
ELE0
1
MPR03X
ELE1
2
VSS
VSS
MPR03X with 2 Electrodes and 2 Pads
ORDERING INFORMATION
Device Name
MPR031EP
MPR031EPR2
MPR032EP
MPR032EPR2
Temperature Range
-40°C to +85°C
-40°C to +85°C
-40°C to +85°C
-40°C to +85°C
Case Number
1944 (8-Pin UDFN)
1944 (8-Pin UDFN)
1944 (8-Pin UDFN)
1944 (8-Pin UDFN)
Touch Pads
3-pads
3-pads
3-pads
3-pads
I
2
C Address
0x4A
0x4A
0x4B
0x4B
Shipping
Bulk
Tape and Reel
Bulk
Tape and Reel
This document contains a product under development. Freescale Semiconductor reserves the right to change or
discontinue this product without notice.
© Freescale Semiconductor, Inc., 2008. All rights reserved.
Preliminary
1
1.1
Device Overview
Introduction
MPR03X is a small outline, low profile, low voltage touch sensor controller in a 2 mm x 2 mm DFN which manages up to three
touch pad electrodes. An I
2
C interface communicates with the host controller at data rates up to 400 kbits/sec. An optional
interrupt output advises the host of electrode status changes. The interrupt output is a multiplexed with the third electrode output,
so using the interrupt output reduces the number of electrode inputs to two. The MPR03X includes three levels of input signal
filtering to detect pad input condition changes due to touch without any processing by the application.
1.2
Internal Block Diagram
SDA
SCL
SDA
I²C
Interface
SCL
Traffic
Debounce
Interval
Debounce
Debounce
Count
and
Sample
Sample
Interval
Counters
Sample
Count
Number of
Electrodes
32 kHz
Oscillator
Shutdown
8 MHz
Oscillator
Shutdown
8MHz
User
Registers
CLR
Interrupt
Controller
IRQ
IRQ SET
32 kHz8 MHz
ADC Controller
Shutdown
Start Conversion
Set Input Channel
Set Grounded
Electrodes
Set Source Current
Un-Touched
Baseline
Filter
Debounced
Results
Magnitude
Comparator
Average
Filtered
Debounce
Result
Debounce Filter Registers
4 x Max Registers
4 x Sum Registers
4 x Min Registers
Sample Filter Registers
Max Register
Sum Register
Min Register
Average
Filtered
Sample
Result
ADC Result
Mirror
REXT
0V
0 1 2
ELE0
ELE1
ELE2
Current SourceMultiplexor
Select Chan
Iset
3
Set Source Current
2
0
1
2
Select
Chan
Input Source Multiplexor
2
Set Input Channel
Enable
Convert
10 Bit ADC
Clock
Data
10
Shutdown
Start Conversion
8MHz
ADC Result
Iref
Sel
4
Set Grounded
Electrodes
Figure 2. Functional Block Diagram
MPR03X
Preliminary
2
Sensors
Freescale Semiconductor
2
2.1
External Signal Description
Device Pin Assignment
Table 1
shows the pin assignment for the MPR03X. For a more detailed description of the functionality of each pin, refer to the
appropriate chapter.
Table 1. Device Pin Assignment
Pin
1
2
3
4
5
6
7
8
Name
SCL
SDA
V
SS
V
DD
REXT
ELE0
ELE1
IRQ/ELE2
I
2
C Serial Clock Input
I
2
C Serial Data I/O
Ground
Positive Supply Voltage
Reference Resistor
Connect a 75 kΩ ±1% resistor from REXT to V
SS
Electrode 0
Electrode 1
Interrupt Output or Touch Electrode Input 2
IRQ is the active-low open-drain interrupt output
Function
The package available for the MPR03X is a 2 x 2 mm 8 pin UDFN. The package and pinout is shown in
Figure 3.
SCL
SDA
V
SS
V
DD
1
2
3
4
8
IRQ/ELE2
ELE1
ELE0
REXT
MPR03X
7
6
5
Figure 3. Package Pinouts
2.2
Recommended System Connections
The MPR03X Capacitive Touch Sensor Controller requires one external passive component. As shown in
Table 1,
the REXT line
should have a 75 kΩ connected from the pin to GND. This resistor needs to be 1% tolerance.
In addition to the one resistor, a bypass capacitor of 10µF should always be used between the V
DD
and V
SS
lines and a
4.7 kΩ pull-up resistor should be included on the IRQ.
The remaining three connections are SCL, SDA, IRQ. Depending on the specific application, each of these control lines can be
used by connecting them to a host controller. In the most minimal system, the SCL and SDA must be connected to a master I
2
C
interface to communicate with the MPR03X. All of the connections for the MPR03X are shown by the schematic in
Figure 4.
VDD
I²C Serial
Interface
SCL
SDA
REXT
ELE0
1
MPR03X
ELE1
2
75k
IRQ/ELE2
3
VSS
VSS
Figure 4. Recommended System Connections Schematic
MPR03X
Sensors
Freescale Semiconductor
Preliminary
3
2.3
Serial Interface
The MPR03X uses an I
2
C Serial Interface. The I
2
C protocol implementation and the specifics of communicating with the Touch
Sensor Controller are detailed in the following sections.
2.3.1
Serial-Addressing
The MPR03X operates as a slave that sends and receives data through an I
2
C 2-wire 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 MPR03X, and it generates the SCL clock that synchronizes
the data transfer.
The MPR03X SDA line operates as both an input and an open-drain output. A pull-up resistor, typically 4.7kΩ, is required on
SDA. The MPR03X SCL line operates only as an input. A pull-up resistor, typically 4.7kΩ, is required on SCL if there are multiple
masters on the 2-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
5)
sent by a master, followed by the MPR03X’s 7-bit slave address plus
R/W bit, a register address byte, one or more data bytes, and finally a STOP condition.
SDA
tSU DAT
tLOW
tHIGH
tR
tF
REPEAT ED ST ART
CONDIT ION
tHD DAT
tSU STA
tHD STA
tSU STO
tBUF
SCL
tHD STA
ST ART
CONDIT ION
ST OP
CONDIT ION
ST ART
CONDIT ION
Figure 5. Wire Serial Interface Timing Details
2.3.2
Start and Stop Conditions
Both SCL and SDA remain high when the interface is not busy. A master signals the beginning of a transmission with a
START (S) condition by transitioning SDA from high to low while SCL is high. When the master has finished communicating with
the slave, it issues a STOP (P) condition by transitioning SDA from low to high while SCL is high. The bus is then free for another
transmission.
SDA
SCL
DATA LINE STABLE
DATA VALID
CHANGE OF
DATA ALLOWED
Figure 6. Start and Stop Conditions
2.3.3
Bit Transfer
One data bit is transferred during each clock pulse (Figure
7).
The data on SDA must remain stable while SCL is high.
MPR03X
Preliminary
4
Sensors
Freescale Semiconductor
SDA
SCL
S
START
CONDITION
Figure 7. Bit Transfer
P
STOP
CONDITION
2.3.4
Acknowledge
The acknowledge bit is a clocked 9
th
bit (Figure
8)
which the recipient uses to handshake receipt of each byte of data. Thus each
byte transferred effectively requires 9 bits. The master generates the 9
th
clock pulse, and the recipient pulls down SDA during
the acknowledge clock pulse, such that the SDA line is stable low during the high period of the clock pulse. When the master is
transmitting to the MPR03X, the MPR03X generates the acknowledge bit, since the MPR03X is the recipient. When the MPR03X
is transmitting to the master, the master generates the acknowledge bit, since the master is the recipient.
START
CONDITION
SCL
SDA
SDA
CLOCK PULSE FOR
ACKNOWLEDGEMENT
1
2
8
9
BY TRANSMITTER
S
Figure 8. Acknowledge
BY RECEIVER
2.3.5
The Slave Address
The MPR03X has a 7-bit long slave address (Figure
9).
The bit following the 7-bit slave address (bit eight) is the R/W bit, which
is low for a write command and high for a read command.
SDA
SCL
1
MSB
0
0
1
0
1
0
R/W
ACK
Figure 9. Slave Address
The MPR03X monitors the bus continuously, waiting for a START condition followed by its slave address. When a MPR03X
recognizes its slave address, it acknowledges and is then ready for continued communication.
The MPR031 and MPR032 slave addresses are show in
Table 2.
Table 2.
Part Number
MPR031
MPR032
I
2
C Address
0x4A
0x4B
MPR03X
Sensors
Freescale Semiconductor
Preliminary
5