FREESCALE MPR081

MPR081
Rev 0, 06/2007
Freescale Semiconductor
Technical Data
Touch Pad Controller
MPR081
The MPR081 is a user interface controller which manages a 16-position rotary
touch pad. The MPR081 uses an I2C interface to communicate with the host,
which configures the operation, and an interrupt to advise the host of status
changes.
The interrupt output, IRQ, indicates that rotary status has changed since the
MPR081 was last read. The maximum interrupt frequency can be limited to
sacrifice system response time in favor of power consumption for systems that
wake up out of sleep to respond to interrupts.
Touch Pad Controller
Bottom View
Features
16-LEAD TSSOP
CASE 948F
Control Panels
Switch Replacements
Rotary and Linear Sliders
Touch Pads
RST
IRQ
Typical Applications
Appliances
PC Peripherals
Access Controls
MP3 Players
Remote Controls
Mobile Phones
ORDERING INFORMATION
Device Name
Temperature
Range
MPR081Q
Case
Number
1679
(16-Lead QFN)
16-Positions
-40°C to +85°C
MPR081EJ
948F
(16-Lead TSSOP)
RSE
RW
VSS
RNW
RST
RN
IRQ
RNE
VDD
Rotary
Slider
RSW
VDD
SCL
•
•
•
•
•
•
RS
MPR081Q
SOUNDER
•
•
•
•
RN
Implementations
RE
Top View
RNE
•
•
•
•
16-LEAD QFN
CASE 1679
AD0
•
1.8 V to 3.6 V operation
150 µA average supply current (all touch pads being monitored)
1 µA standby current
Supports a 16-position rotary interface
Proprietary false touch rejection technology
Ongoing pad analysis and detection not reset by EMI events
Rotary data changes are delivered from a FIFO for shortest access time
IRQ output advises when FIFO has data
System can set interrupt behavior as immediate after event, or program a
minimum time between successive interrupts
Current rotary position is always available on demand for polling-based
systems
Sounder drive provides audible feedback to simulate mechanical key clicks
Digital output (I2C with custom addressing)
16-pin QFN and TSSOP packages
-40°C to +85°C operating temperature range
SDA
•
•
•
•
•
•
•
•
•
VSS
MPR081EJ
RE
RSE
SCL
RS
SDA
RSW
AD0
RW
SOUNDER
RNW
Figure 1. Pin Connections
© Freescale Semiconductor, Inc., 2007. All rights reserved.
Table 1. Absolute Maximum Ratings
Rating
Symbol
Value
Unit
-0.3 to +3.8
VSS-0.3 to VDD+0.3
V
V
Voltage (with respect to VSS)
VDD
All other pins
—
Operating Temperature Range
TA
-40 to +85
°C
TSTG
-55 to +150
°C
Storage Temperature Range
Table 2. ESD and Latch-Up Protection Characteristics
Rating
Symbol
Value
Unit
Human Body Model
HBM
±2000
V
Machine Model
MM
±200
V
CDM
±500
V
—
±100
mA
Charge Device Model
Latch-Up Current at TA = 85°C
Table 3. DC Characteristics
(Typical Operating Circuit, V+ =1.8 V to 3.6 V, TA = TMIN to TMAX, unless otherwise noted. Typical values are at V+ = 3.3 V, TA = +25°C.)
Characteristic
Symbol
Conditions
Min
Typ
Max
Units
Operating Supply Voltage
V+
—
1.8
3.6
V
Standby Current
I+
SCL and SDA at V+ or GND
Input High Voltage
SDA, SCL
VIH
—
0.7 x VDD
—
—
V
Input Low Voltage
SDA, SCL
VIL
—
—
—
0.35 x VDD
V
IIH, IIL
—
—
0.025
1
µA
—
—
—
—
7
pF
VOL
IOL = 6 mA
—
—
0.5
V
TBD
µA
(I2C Interface idle)
Input Leakage Current
SDA, SCL
Input Capacitance
SDA, SCL
Output Low Voltage
SDA, IRQ
Table 4. Interrupt IRQ Timing Characteristics
(Typical Operating Circuit, V+ = 1.8 V to 3.6 V, TA = TMIN to TMAX, unless otherwise noted. Typical values are at V+ = 3.3 V, TA = +25°C.)
Characteristic
Symbol
Conditions
Min
Typ
Max
Units
IRQ Reset delay time from STOP
tIP
CL ≤ 100 pF
—
—
TBD
µs
IRQ Reset delay time from acknowledge
tIR
CL ≤ 100 pF
—
—
TBD
µs
MPR081
2
Sensors
Freescale Semiconductor
Table 5. I2C AC Characteristics
(Typical Operating Circuit, V+ = 1.8 V to 3.6 V, TA = TMIN to TMAX, unless otherwise noted. Typical values are at V+ = 3.3 V, TA = +25°C.)
Characteristic
Symbol
Min
Typ
Max
Units
fSCL
—
—
400
kHz
FTIMEOUT
—
31.25
—
ms
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.6
—
—
µs
Data Hold Time
tHD, DAT
—
—
0.9
µs
Data Setup Time
tSU, DAT
100
—
—
ns
SCL Clock Low Period
tLOW
1.3
—
—
µs
SCL Clock High Period
tHIGH
0.7
—
—
µs
Rise Time of Both SDA and SCL Signals,
Receiving
tR
—
20+0.1Cb
300
ns
Fall Time of Both SDA and SCL Signals,
Receiving
tF
—
20+0.1Cb
300
ns
tF.TX
—
20+0.1Cb
250
ns
Pulse Width of Spike Suppressed
tSP
—
50
—
ns
Capacitive Load for Each Bus Line
Cb
—
—
400
pF
Serial Clock Frequency
Bus Timeout
Bus Free Time Between a STOP and a START
Condition
Fall Time of SDA Transmitting
MPR081
Sensors
Freescale Semiconductor
3
Table 6. Pin Description
RST
Reset Input. Active low clears the 2-wire interface and puts the device in the same
condition as power-up reset.
2
IRQ
Interrupt Output. IRQ is the active-low open-drain interrupt output signalling new events.
3
VDD
Positive Supply Voltage Bypass VDD to VSS with a 0.1µF ceramic capacitor
4
VSS
Ground
5
SCL
I²C-Compatible Serial Clock Input
6
SDA
I²C-Compatible Serial Data I/O
7
AD0
Address input 0. Connect to VSS to select device slave address 0x4C. Connect to VDD
to select device slave address 0x4D.
8
SOUNDER
9 - 16
RNW, RW, RSW, RS,
RSE, RE, RNE, RN
PAD
Exposed Pad
16
15
14
Function
Sounder driver output. Connect a piezo-ceramic sounder from this output to ground.
Output is push-pull.
Rotary Touch Inputs. Connect the 8 inputs to a 16-position rotary sensor.
Exposed Pad on Package Underside (QFN only). Connect to VSS.
RSE
RE
1
RNE
Name
RN
Pin
RST
13
IRQ
RST
1
IRQ
2
VDD
3
10 RW
VSS
4
9
5
6
7
8
SCL
SDA
AD0
SOUNDER
MPR081Q
VDD
12 RS
VSS
11 RSW
SCL
SDA
RNW
AD0
SOUNDER
1
16
2
15
3
14
4
MPR081EJ
13
5
12
6
11
7
10
8
9
RN
RNE
RE
RSE
RS
RSW
RW
RNW
Figure 2. MPR081 Pinout
MPR081
4
Sensors
Freescale Semiconductor
SDA
SCL
RST
I2C
SERIAL
INTERFACE
AD0
SOUNDER
SOUNDER
CONTROLLER
ROTARY
POSITION
ROTARY
POSITION
DECODER
8
8
8
CAPACITANCE MEASUREMENT A.F.E.
CLEAR
EMI BURST/NOISE REJECT FILTER
SET
RATE
MAGNITUDE COMPARATOR AND RECALIBRATOR
IRQ
CONFIGURATION AND STATUS REGISTERS
MASKS
INTERRUPT
CONTROLLER
NNW
N
NNE
NE
NW
NEE
NWW
E
W
SEE
SWW
SE
SW
SSW
S
SSE
16 POSITION ROTARY
Figure 3. Internal Block Diagram
MPR081
Sensors
Freescale Semiconductor
5
DETAILED DESCRIPTION
FUNCTIONAL OVERVIEW
The MPR081user interface controller monitors various
combinations of capacitive touch pads, capacitive sliders,
capacitive rotaries, and mechanical keys. The device
includes a piezo buzzer driver which generates key click
sounds to provide audible feedback of pad touches and/or
key presses. The MPR081 also uses a standardized user
register set to configure the part on power up, and to read
pad, slider and key status. The commonality between
products in the MPR08 family of controllers simplifies
migration between parts.
Table 7. MPR08 Family Overview
Bus
Sounder
Rotary Slider
Touch Pad Array
MPR081
Product
I C with RST
Yes
16-Positions
—
MPR082
I2C with RST
Yes
—
20 Pads(1)
2
Main Attribute
Highest resolution rotary
Two independent arrays of 10 touch pads
1. The 20 pads are implemented by two independent arrays of 10 touch pads.
A quick word on terminology:
– A mechanical keyswitch is a switch containing, at its
simplest, two contacts which have either a high (>10 MΩ)
or a low resistance (<10 kΩ) between them depending on
switch position. Momentary push switches normally are
low resistance when pressed. Latching switches (such as
slide switches) provide high resistance in one position,
low resistance in the other.
– A capacitive touch pad is a contactless 'key' which
detects the presence or absence of a finger. The raw
detection output is a single bit giving touch condition.
– A capacitive rotary is a group of touch pads arranged in
a ring for which not only the presence or absence of a
finger is detected, but also the position of a finger along
the circumference of the rotary.
– A capacitive slider is an elongated touch pad for which
not only the presence or absence of a finger is detected,
but also the position of a finger along the length of the
slider. The raw detection output is a single bit giving touch
condition, plus a multi-bit word for position. A typical
application is a volume control, where one end of the
slider corresponds to minimum volume and the other end
to maximum.
– A full pad is a touch pad whose conductive area is
connected to one electrode of the touch controller and
ground.
–
–
–
–
–
A split pad is a touch pad whose conductive area is
connected to more than one electrode of the touch
controller. For the MPR08 family, a split pad is always
connected to two electrodes and typically looks like a pair
of interlaced fingers.
A pad array is a collection of full and split pads
interconnected to each other and a number of electrode
lines. The number of pads available in a pad array with N
electrode lines using full and two-electrode split pads is
sum(1 to N), made up of N full pads and sum(1 to (N-1))
split pads. The MPR082 uses two sets of 4 electrode lines
and, therefore, each 4-electrode pad array has a
capability of 4 full pads and sum(1 to 3) or 1+2+3 = 6 split
pads, and a total pad count of sum(1 to 4) or 1+2+3+4 =
10 full plus split pads.
A pad array with n key lockout will only report one touch
at a time. Multiple simultaneous touches are ignored.
A pad array with 2 key rollover ignores further pads after
touching a first pad. If a pad is touched and held, and then
a second pad is touched, the second pad is ignored. If the
first pad is released while the second pad is still touched,
then the second pad will be reported as a new touch.
A pad array with n-key rollover allows any number of
pads will be detected as pressed in succession or
simultaneously without requiring any previous pads to be
released first.
MPR081
6
Sensors
Freescale Semiconductor
SERIAL INTERFACE
SERIAL-ADDRESSING
The MPR081 operates as a slave that sends and receives
data through an I2C 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 MPR081 and generates the
SCL clock that synchronizes the data transfer.
Figure 4. 2-Wire Serial Interface Timing Details
The MPR081 SDA line operates as both an input and an
open-drain output. A pull-up resistor, typically 4.7 kΩ, is
required on SDA. The MPR081 SCL line operates only as an
input. A pull-up resistor, typically 4.7 kΩ, 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 MPR081's 7-bit
slave address plus R/W bit, a register address byte, one or
more data bytes, and finally a STOP condition.
Figure 5. Start and Stop Conditions
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.
BIT TRANSFER
One data bit is transferred during each clock pulse
(Figure 6). The data on SDA must remain stable while SCL is
high.
Figure 6. Bit Transfer
MPR081
Sensors
Freescale Semiconductor
7
ACKNOWLEDGE
The acknowledge bit is a clocked 9th bit (Figure 7) which
the recipient uses to handshake receipt of each byte of data.
Thus each byte transferred effectively requires 9 bits. The
master generates the 9th 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 MPR081, the
MPR081 generates the acknowledge bit because the
MPR081 is the recipient. When the MPR081 is transmitting to
the master, the master generates the acknowledge bit
because the master is the recipient.
Figure 7. Acknowledge
THE SLAVE ADDRESS
The MPR081 has a 7-bit long slave address (Figure 5).
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. The MPR081 has a factory set I²C slave address
which is normally 1001100 (0x4C). Contact the factory to
request a different I2C slave address, which is available in the
range 0001000 to 1110111 (0x08 to 0xEF).
Figure 8. Slave Address
The MPR081 monitors the bus continuously, waiting for a
START condition followed by its slave address. When a
MPR081 recognizes its slave address, it acknowledges and
is then ready for continued communication.
MESSAGE FORMAT FOR WRITING THE MPR081
A write to the MPR081 comprises the transmission of the
MPR081's keyscan 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 MPR081 is to be written by
the next byte, if received. If a STOP condition is detected after
the command byte is received, then the MPR081 takes no
further action (Figure 9) beyond storing the command byte.
Any bytes received after the command byte are data bytes.
Figure 9. Command Byte Received
MPR081
8
Sensors
Freescale Semiconductor
Any bytes received after the command byte are data bytes.
The first data byte goes into the internal register of the
MPR081 selected by the command byte (Figure 10).
Figure 10. Command and Single Data Byte Received
pointer generally auto-increments after each data byte is read
using the same rules as for a write (Table 11). Thus, a read is
If multiple data bytes are transmitted before a STOP
initiated by first configuring the MPR081's command byte by
condition is detected, these bytes are generally stored in
performing a write (Figure 9). The master can now read 'n'
subsequent MPR081 internal registers because the
consecutive bytes from the MPR081, with the first data byte
command byte address generally auto-increments (Table 8).
being read from the register addressed by the initialized
command byte. When performing read-after-write
MESSAGE FORMAT FOR READING THE MPR081
verification, remember to re-set the command byte's address
The MPR081 is read using the MPR081's internally stored
because the stored command byte address will generally
command byte as address pointer, the same way the stored
have been auto-incremented after the write (Table 8).
command byte is used as address pointer for a write. The
Figure 11. ‘n’ Data Bytes Received
OPERATION WITH MULTIPLE MASTERS
If the MPR081 is operated on a 2-wire interface with
multiple masters, a master reading the MPR081 should use
repeated start(s) between the write(s) which sets the
MPR081's address pointer, and the read(s) that take the data
from the location(s). This is because it is possible for master
#2 to take over the bus after master #1 has set up the
MPR081's address pointer, but before master #1 has read
the data. If master #2 subsequently re-sets the master of the
MPR08's address pointer, then master #1's read may be from
an unexpected location.
DEVICE RESET
The reset input RST is an active-low input. When taken
low, RST clears any transaction to or from the MPR081 on
the serial interface and configures the internal registers to the
same state as a power-up reset (Table 9). The MPR081 then
waits for a START condition on the serial interface.
CONTROLLING AND READING THE MPR081
REGISTER ORGANIZATION
The MPR081 is a peripheral that is controlled and
monitored though a small array of internal registers which are
accessed through the I2C bus.
used, the operating current rises because the internal timing
oscillator is running and toggling counters.
INITIAL POWER-UP
On power-up, the interrupt output IRQ is reset, and IRQ
will go high. The registers are reset to the values shown in
Table 9.
STANDBY MODE
When the serial interface is idle, the MPR081
automatically enters standby mode. If any of the features are
Figure 12. Master Tick Counter and
Pad/Key Input Sampling with Autorepeat
MPR081
Sensors
Freescale Semiconductor
9
INTERRUPT CONTROLLER AND IRQ OUTPUT
The IRQ pin is an open-drain, latching interrupt output
which automatically alerts changes to a user-configurable
combination of keyswitches and/or touch pads. IRQ requires
an external pullup resistor, which can be connected to any
voltage up to VDD. When set active low, IRQ is reset high
immediately after the slave address acknowledge of the first
subsequent read or write access to the MPR081. If an
interrupt causing event occurs during an I2C transmission to
the MPR081, the interrupt is not asserted. Instead, it is
asserted after the I2C transmission is terminated (by a STOP
condition or a repeated START condition), but only if the
affected registers were not read during the I2C
communication. This avoids unnecessary assertion of the
interrupt.
An interrupt can be enabled for:
• Initial touch (when rotary condition goes from
untouched to touched)
• Touch release
circuitry reports status as one of five conditions: rotary
untouched, and rotary touched in one of four positions.
Normally, the rotary is only touched in one position, ideally
near the middle of one of the four pads. If a touch occurs
more or less between pads, either the nearest pad will be
given or the touch will be ignored depending on exact touch
position and finger size. The rotary circuitry interprets multiple
simultaneous rotary touches (more than one rotary pad being
touched at the same time) as best it can. The scenarios are
as follows:
1. Two rotary pads touched at the same time
• If the two touched rotary pads are both full or both
split, the touches are ignored until one is removed
• If one touched rotary pad is full and the other touched
rotary pad is split, the full pad position will be reported.
•
If the full pad touch is removed first, the split pad
position now will be reported.
2. First one rotary pad is touched and held, then a second
rotary pad is touched and held.
• The second touch will be ignored and the first touch
will continue to be active. If the first touch is removed
while the second pad is still being touched, then the
second pad becomes the only touched pad and so is
reported.
ROTARY TOUCH INTERFACE
The rotary interface has to distinguish touch status through
varying user conditions (different finger sizes in bare hands or
gloves) and environmental conditions (electrical and RF
noise, sensor contamination with dirt or moisture). The rotary
Table 8. Register Address Map
Register
Register Address
D15 D14 D13 D12 D11 D10
D9
D8
Register
Address
Auto-Increment
Auto-Increment Loop
Address
FIFO
0
0
0
0
0
0
0
0
0x00
0x00
Fault
0
0
0
0
0
0
0
1
0x01
0x02
Rotary Status
0
0
0
0
0
0
1
0
0x02
0x00
Rotary Configuration
0
0
0
0
0
0
1
1
0x03
0x04
Sensitivity
0
0
0
0
0
1
0
1
0x04
0x05
Master Tick Counter
0
0
0
0
0
1
1
0
0x05
0x06
Touch Acquisition Sample Rate
0
0
0
0
0
1
1
1
0x06
0x07
Sounder
0
0
0
0
1
0
0
0
0x07
0x08
Sleep Period
0
0
0
0
1
0
0
1
0x08
0x09
Configuration
0
0
0
0
1
0
1
0
0x09
0x00
FIFO
FIFO
FIFO
Table 9. Power-Up Register Configurations
Register Function
Power-Up Condition
Register Data
Register
Address
D7
D6
D5
D4
D3
D2
D1
D0
FIFO
FIFO is empty
0x00
0
0
0
0
0
0
0
0
Fault
No faults
0x01
0
0
0
0
0
0
0
0
Rotary Status
Rotary is untouched
0x02
0
0
0
0
0
0
0
0
Rotary Configuration
Rotary is enabled, without interrupts, with
sounder enabled
0x03
1
0
0
0
0
0
0
1
Sensitivity
Level is very sensitive
0x04
0
0
0
0
0
0
0
0
Master Tick Counter
Master tick period is 10 ms
0x05
0
0
0
0
0
1
0
1
Touch Acquisition Sample Rate Touch acquisition sample rate is 5 master
tick periods
0x06
0
0
0
0
0
1
0
0
Sounder
Sounder is globally enabled, 10 ms of 1 kHz
0x07
0
0
0
0
0
0
0
1
Sleep Period
Sleep mode is disabled
0x08
0
0
0
0
0
0
0
0
Configuration
Shutdown mode. IRQ is disabled
0x09
0
0
0
0
0
0
0
0
MPR081
10
Sensors
Freescale Semiconductor
Table 10. FIFO Register Format
Register
FIFO Register(1)
R/W
1
Register
Address
0x00
Register Data
D7
D6
More
Flag
Empty
Flag
D5
D4
D3
D2
D1
D0
Overflow
Rotary Pad that has been detected as pressed
Flag
FIFO Status
Clear the FIFO.
Subsequent reads without any intervening
addition(s) to the FIFO will return
1'b0100000
0
Clear FIFO (D7 - D0 data is don’t care; it is not stored)
This data is not the last FIFO item.
FIFO has not overflowed.
1
0
0
X
X
X
X
X
This data is not the last FIFO item.
FIFO did overflow, discarding the most
recent entries.
1
0
1
X
X
X
X
X
0
0
0
X
X
X
X
X
This data is the last FIFO item.
FIFO did overflow, discarding the most
recent entries
(FIFO overflow flag will now be cleared).
Subsequent reads without any intervening
addition(s) to the FIFO will return
1'b0100000
0
0
1
X
X
X
X
X
FIFO is empty
0
1
0
0
0
0
0
0
Rotary has been released
X
X
X
0
0
0
0
0
Rotary is in position North (N)
X
X
X
1
0
0
0
0
Rotary is in position NNE
X
X
X
1
0
0
0
1
Rotary is in position NE
X
X
X
1
0
0
1
0
Rotary is in position NEE
X
X
X
1
0
0
1
1
Rotary is in position East (E)
X
X
X
1
0
1
0
0
Rotary is in position SEE
X
X
X
1
0
1
0
1
Rotary is in position SE
X
X
X
1
0
1
1
0
This data is the last FIFO item.
FIFO has not overflowed.
Subsequent reads without any intervening
addition(s) to the FIFO will return
1'b0100000
0x00
1
Rotary Input Events
Rotary is in position SSE
X
X
X
1
0
1
1
1
Rotary is in position South (S)
1
0x00
X
X
X
1
1
0
0
0
Rotary is in position SSW
X
X
X
1
1
0
0
1
Rotary is in position SW
X
X
X
1
1
0
1
0
Rotary is in position SWW
X
X
X
1
1
0
1
1
Rotary is in position West (W)
X
X
X
1
1
1
0
0
Rotary is in position NWW
X
X
X
1
1
1
0
1
Rotary is in position NW
X
X
X
1
1
1
1
0
Rotary is in position NNW
X
X
X
1
1
1
1
1
1. Reading or writing the MPR08 clears IRQ, IRQ will only be re-asserted by an event after the FIFO has been emptied by read(s).
MPR081
Sensors
Freescale Semiconductor
11
Table 11. Fault Register Format
Register
R/W
Read Fault Register
Write Fault Register
Register Data
Register
Address
D7
D6
D5
D4
D3
D2
D1
D0
1
0
0
0
0
0
0
0
Fault
0
0
0
0
0
0
0
0
0
X
X
X
X
X
X
0
0
X
X
X
X
X
X
0
1
X
X
X
X
X
X
1
0
D7
D6
D5
D2
D1
D0
0
0
0
No faults have been detected on the electrode inputs
0x01
One or more electrode inputs is detected as shorted to VDD
1
One or more electrode inputs is detected as shorted to VSS
Table 12. Current Rotary Register Format
Register
R/W
Read Current Rotary Status Register
1
Write Current Rotary Status Register
0
Register Data
Register Address
D4
D3
Current Rotary Position
A write to this register is ignored, and has no effect
Rotary is released or is not enabled
0
0
0
0
0
0
0
0
Rotary is in position North (N)
0
0
0
1
0
0
0
0
Rotary is in position NNE
0
0
0
1
0
0
0
1
Rotary is in position NE
0
0
0
1
0
0
1
0
Rotary is in position NEE
0
0
0
1
0
0
1
1
Rotary is in position East (E)
0
0
0
1
0
1
0
0
0
0
0
1
0
1
0
1
0
0
0
1
0
1
1
0
Rotary is in position SEE
Rotary is in position SE
0x02
Rotary is in position SSE
0
0
0
1
0
1
1
1
Rotary is in position South (S)
1
0
0
0
1
1
0
0
0
Rotary is in position SSW
0
0
0
1
1
0
0
1
Rotary is in position SW
0
0
0
1
1
0
1
0
Rotary is in position SWW
0
0
0
1
1
0
1
1
Rotary is in position West (W)
0
0
0
1
1
1
0
0
Rotary is in position NWW
0
0
0
1
1
1
0
1
Rotary is in position NW
0
0
0
1
1
1
1
0
Rotary is in position NNW
0
0
0
1
1
1
1
1
D2
D1
D0
Table 13. Rotary Configuration Register Format
Register
R/W
Read Rotary Configuration Register
1
Write Rotary Configuration Register
0
Register
Address
Register Data
D7
RotClickEN
D6
D5
D4
0
0
0
X
X
X
D3
RotR RotT
0
X
RotEN
Disable Rotary function entirely
X
X
X
X
X
X
X
Enable Rotary function
X
X
X
X
X
X
X
1
Disable Rotary touch or press action entering FIFO
X
X
X
X
X
0
X
X
X
X
X
X
X
1
X
1
Enable Rotary touch action entering FIFO as values
1'bxxx10000 through 1'bxxx11111
Disable Rotary release action entering FIFO
0x03
X
0
X
X
X
X
0
X
X
X
Enable Rotary released action entering FIFO as value
1'bxxx01111
X
X
X
X
1
X
X
1
Rotary touches do not cause the sounder to operate
0
X
X
X
X
X
X
1
Rotary touches operate the sounder
1
X
X
X
X
X
X
1
MPR081
12
Sensors
Freescale Semiconductor
Table 14. Sensitivity Register Format
Register
Address
Register Data
Register
R/W
D7
D6
D5
Read Number of Position Register
1
0
0
0
Write Number of Position Register
0
X
X
X
X
X
X
X
X
0
0
0
X
X
X
X
X
0
0
1
X
X
X
X
X
0
1
0
X
X
X
X
X
0
1
1
Sensitivity setting is level 5
X
X
X
X
X
1
0
0
Sensitivity setting is level 6
X
X
X
X
X
1
0
1
Sensitivity setting is level 7
X
X
X
X
X
1
1
0
D4
D3
D2
D1
D0
Sensitivity Level
Sensitivity setting is level 1
Sensitivity setting is level 2
Sensitivity setting is level 3
0x04
Sensitivity setting is level 4
1
Table 15. Master Tick Period Register Format
Register Data
Register
R/W
Register Address
D7
D6
D5
Read Master Tick Period Register
1
0
0
0
Write Master Tick Period Register
0
X
X
X
Master Tick Period is 5 ms
X
X
X
0
0
0
0
0
Master Tick Period is 6 ms
X
X
X
0
0
0
0
1
Master Tick Period is 7 ms
X
X
X
0
0
0
1
0
X
X
X
0
0
0
1
1
—
—
—
—
—
—
—
—
Master Tick Period is 33 ms
X
X
X
1
1
1
0
0
Master Tick Period is 34 ms
X
X
X
1
1
1
0
1
Master Tick Period is 35 ms
X
X
X
1
1
1
1
0
Master Tick Period is 36 ms
X
X
X
1
1
1
1
1
D2
D1
D0
D4
D3
D2
D1
D0
Master Tick
Master Tick Period is 8 ms
- all the way through to -
0x05
X
Table 16. Touch Acquisition Sample Rate Register Format
Register Data
Register
Register Address
D7
Touch Acquisition Sample Rate Register
D6
0x06
D5
D4
D3
Touch Acquisition Sample Rate
Touch acquisition sample rate is 1 master tick period
X
X
0
0
0
0
0
0
Touch acquisition sample rate is 2 master tick periods
X
X
0
0
0
0
0
1
Touch acquisition sample rate is 3 master tick periods
X
X
0
0
0
0
1
0
Touch acquisition sample rate is 4 master tick periods
X
X
0
0
0
0
1
1
—
—
—
—
—
—
—
—
Touch acquisition sample rate is 61 master tick periods
- all the way through to -
0x06
X
X
1
1
1
1
0
0
Touch acquisition sample rate is 62 master tick periods
X
X
1
1
1
1
0
1
Touch acquisition sample rate is 63 master tick periods
X
X
1
1
1
1
1
0
Touch acquisition sample rate is 64 master tick periods
X
X
1
1
1
1
1
1
MPR081
Sensors
Freescale Semiconductor
13
Table 17. Sounder Configuration Register Format
Register Data
Register
R/W
Register Address
D7
D6
D5
D4
D3
Read Sounder Configuration Register
1
0
0
0
0
0
Write Sounder Configuration Register
0
X
X
X
X
X
X
X
X
X
X
X
X
0
X
X
X
X
X
X
X
1
X
X
X
X
X
X
0
1
Sounder frequency is 2 kHz
X
X
X
X
X
X
1
1
Sounder click period is 10 ms
X
X
X
X
X
0
X
1
Sounder click period is 20 ms
X
X
X
X
X
1
X
1
D2
D1
SoundD
Globally disable sounder output
Globally enable sounder output
D0
SoundF SoundEN
0x07
Sounder frequency is 1 kHz
1
Table 18. Sleep Period Register Format
Register
R/W
Read Number of Position Register
1
Write Number of Position Register
0
Register
Address
Register Data
D7
D6
D5
D4
D3
D2
D1
D0
Duration of Sleep Cycle
Sleep Mode is disabled, sensor is always running
0
0
0
0
0
0
0
0
Sleep period is 10 x touch acquisition sample period
X
X
X
X
0
0
1
0
Sleep period is 20 x touch acquisition sample period
X
X
X
X
0
0
1
1
Sleep period is 30 x touch acquisition sample period
X
X
X
X
0
1
0
0
Sleep period is 40 x touch acquisition sample period
X
X
X
X
0
1
0
1
Sleep period is 50 x touch acquisition sample period
X
X
X
X
0
1
1
0
X
X
X
X
0
1
1
1
X
X
X
X
1
0
0
0
X
X
X
X
1
0
0
1
Sleep period is 90 x touch acquisition sample period
X
X
X
X
1
0
1
0
Sleep period is 100 x touch acquisition sample period
X
X
X
X
1
0
1
0
Idle timeout period is 8 x touch acquisitions sample period
0
0
0
1
X
X
X
X
Idle timeout period is 16 x touch acquisitions sample period
0
0
1
0
X
X
X
X
Idle timeout period is 32 x touch acquisitions sample period
0
0
1
1
X
X
X
X
Sleep period is 60 x touch acquisition sample period
Sleep period is 70 x touch acquisition sample period
Sleep period is 80 x touch acquisition sample period
—all the way through to—
0x08
1
—
—
—
—
—
—
—
—
Idle timeout period is 112 x touch acquisitions sample period
1
1
1
0
X
X
X
X
Idle timeout period is 120 x touch acquisitions sample period
1
1
1
1
X
X
X
X
MPR081
14
Sensors
Freescale Semiconductor
Table 19. Configuration Register Format
Register
R/W
Read Configuration Register
1
Write Configuration Register
0
Register
Address
Register Data
D7
D6
D5
Interrupt Rate
D4
D3
D2
D1
D0
RESET N/A WAKE IRQEN RUN
MPR081 is in shutdown, and will not scan the rotary.
Note that FIFO contents are not cleared when entering shutdown
and can be read any time during shutdown.
X
X
X
1
X
X
X
0
MPR081 is operating, scanning the rotary, with IRQ interrupt
output disabled. Poll the FIFO register 0x00 and/or the Current
Rotary register 0x02 to determine current rotary status.
Note that FIFO contents are cleared before exiting shutdown
X
X
X
1
X
X
0
1
MPR081 is operating, scanning the rotary, with IRQ interrupt
output enabled. IRQ behavior is controlled by Interrupt Rate bits
D5-D7, and is asserted on the first entry into the FIFO from
empty.
Note that FIFO contents are cleared before exiting shutdown
X
X
X
1
X
X
1
1
X
X
X
1
X
0
1
X
X
X
X
1
X
1
1
X
X
X
X
0
X
X
1
1
System reset de-asserted. MPR081 can be addressed via I2C at
anytime.
X
X
X
1
X
X
1
1
IRQ interrupt is immediate when FIFO changes from empty
0
0
0
1
X
X
1
1
IRQ interrupt asserts no sooner than 4 master tick periods after
the last IRQ rise
0
0
1
1
X
X
1
1
IRQ interrupt asserts no sooner than 12 master tick periods after
the last IRQ rise
0
1
0
1
X
X
1
1
IRQ interrupt asserts no sooner than 20 master tick periods after
the last IRQ rise
0
1
1
1
X
X
1
1
IRQ interrupt asserts no sooner than 28 master tick periods after
the last IRQ rise
1
0
0
1
X
X
1
1
IRQ interrupt asserts no sooner than 36 master tick periods after
the last IRQ rise
1
0
1
1
X
X
1
1
IRQ interrupt asserts no sooner than 44 master tick periods after
the last IRQ rise
1
1
0
1
X
X
1
1
IRQ interrupt asserts no sooner than 52 master tick periods after
the last IRQ rise
1
1
1
1
X
X
1
1
MPR081 will go into low power sleep mode after an idle period
timeout. While in low power sleep mode, device cannot be
addressed via I2C except by asserting the wake pin.
MPR081 will remain awake and can be addressed at anytime via
I2C.
System reset asserted. MPR081 can be addressed via I2C at
anytime.
0x09
X
MPR081
Sensors
Freescale Semiconductor
15
PACKAGE DIMENSIONS
PAGE 1 OF 3
CASE 1679-01
ISSUE O
16-LEAD QFN
MPR081
16
Sensors
Freescale Semiconductor
PACKAGE DIMENSIONS
PAGE 2 OF 3
CASE 1679-01
ISSUE O
16-LEAD QFN
MPR081
Sensors
Freescale Semiconductor
17
PACKAGE DIMENSIONS
PAGE 3 OF 3
CASE 1679-01
ISSUE O
16-LEAD QFN
MPR081
18
Sensors
Freescale Semiconductor
PACKAGE DIMENSIONS
PAGE 1 OF 3
CASE 948F-01
ISSUE B
16-LEAD TSSOP
MPR081
Sensors
Freescale Semiconductor
19
PACKAGE DIMENSIONS
PAGE 2 OF 3
CASE 948F-01
ISSUE B
16-LEAD TSSOP
MPR081
20
Sensors
Freescale Semiconductor
PACKAGE DIMENSIONS
PAGE 3 OF 3
CASE 948F-01
ISSUE B
16-LEAD TSSOP
MPR081
Sensors
Freescale Semiconductor
21
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.com/support
Europe, Middle East, and Africa:
Freescale Halbleiter Deutschland GmbH
Technical Information Center
Schatzbogen 7
81829 Muenchen, Germany
+44 1296 380 456 (English)
+46 8 52200080 (English)
+49 89 92103 559 (German)
+33 1 69 35 48 48 (French)
www.freescale.com/support
Japan:
Freescale Semiconductor Japan Ltd.
Headquarters
ARCO Tower 15F
1-8-1, Shimo-Meguro, Meguro-ku,
Tokyo 153-0064
Japan
0120 191014 or +81 3 5437 9125
[email protected]
Asia/Pacific:
Freescale Semiconductor Hong Kong Ltd.
Technical Information Center
2 Dai King Street
Tai Po Industrial Estate
Tai Po, N.T., Hong Kong
+800 2666 8080
[email protected]
For Literature Requests Only:
Freescale Semiconductor Literature Distribution Center
P.O. Box 5405
Denver, Colorado 80217
1-800-441-2447 or 303-675-2140
Fax: 303-675-2150
[email protected]
Information in this document is provided solely to enable system and software
implementers to use Freescale Semiconductor products. There are no express or
implied copyright licenses granted hereunder to design or fabricate any integrated
circuits or integrated circuits based on the information in this document.
Freescale Semiconductor reserves the right to make changes without further notice to
any products herein. Freescale Semiconductor makes no warranty, representation or
guarantee regarding the suitability of its products for any particular purpose, nor does
Freescale Semiconductor assume any liability arising out of the application or use of any
product or circuit, and specifically disclaims any and all liability, including without
limitation consequential or incidental damages. “Typical” parameters that may be
provided in Freescale Semiconductor data sheets and/or specifications can and do vary
in different applications and actual performance may vary over time. All operating
parameters, including “Typicals”, must be validated for each customer application by
customer’s technical experts. Freescale Semiconductor does not convey any license
under its patent rights nor the rights of others. Freescale Semiconductor products are
not designed, intended, or authorized for use as components in systems intended for
surgical implant into the body, or other applications intended to support or sustain life,
or for any other application in which the failure of the Freescale Semiconductor product
could create a situation where personal injury or death may occur. Should Buyer
purchase or use Freescale Semiconductor products for any such unintended or
unauthorized application, Buyer shall indemnify and hold Freescale Semiconductor and
its officers, employees, subsidiaries, affiliates, and distributors harmless against all
claims, costs, damages, and expenses, and reasonable attorney fees arising out of,
directly or indirectly, any claim of personal injury or death associated with such
unintended or unauthorized use, even if such claim alleges that Freescale
Semiconductor was negligent regarding the design or manufacture of the part.
Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
All other product or service names are the property of their respective owners.
© Freescale Semiconductor, Inc. 2007. All rights reserved.
RoHS-compliant and/or Pb-free versions of Freescale products have the functionality and electrical
characteristics of their non-RoHS-compliant and/or non-Pb-free counterparts. For further
information, see http:/www.freescale.com or contact your Freescale sales representative.
For information on Freescale’s Environmental Products program, go to http://www.freescale.com/epp.
MPR081
Rev. 0
06/2007