MPR084EJR2 [NXP]

IC,TOUCH SENSOR/CONTROLLER,TSSOP,16PIN,PLASTIC;
MPR084EJR2
型号: MPR084EJR2
厂家: NXP    NXP
描述:

IC,TOUCH SENSOR/CONTROLLER,TSSOP,16PIN,PLASTIC

文件: 总39页 (文件大小:349K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
MPR084  
Rev 5, 11/2008  
Freescale Semiconductor  
Technical Data  
Product Preview  
Proximity Capacitive Touch  
Sensor Controller  
MPR084 OVERVIEW  
MPR084  
Capacitive Touch  
Sensor Controller  
The MPR084 is an Inter-Integrated Circuit Communication (I2C) driven  
Capacitive Touch Sensor Controller, optimized to manage an 8-touch pad  
capacitive array. The device can accommodate a wide range of  
implementations through 3 output mechanisms, and many configurable  
options.  
Bottom View  
Features  
1.8 V to 3.6 V operation  
41 µA average supply current with 1 s response time  
2 µA low Standby Current  
Variable low power mode response time (32 ms – 4 s)  
Rejects unwanted multi-key detections from EMI events such as PA  
bursts or user handling  
16-LEAD QFN  
CASE 1679  
Ongoing pad analysis and detection is not reset by EMI events  
Data is buffered in 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 touched pad position is always available on demand for  
polling-based systems  
16-LEAD TSSOP  
CASE 948F  
Top View  
Sounder output can be enabled to generate key-click sound when pad  
is touched  
Two hardware selectable I2C addresses allowing two devices on a  
16 15 14 13  
single I2C bus  
E5  
12  
1
ATTN  
Configurable real-time auto calibration  
5 mm x 5 mm x 1 mm 16 lead QFN package  
-40°C to +85°C operating temperature range  
MPR084  
11 E6  
2
IRQ  
VDD  
3
4
10  
9
E7  
E8  
Implementations  
VSS  
Control Panels  
Switch Replacements  
Touch Pads  
5
6
7
8
Typical Applications  
Appliances  
1
2
3
4
5
6
7
8
16  
15  
14  
13  
12  
11  
10  
9
PC Peripherals  
Access Controls  
MP3 Players  
Remote Controls  
Mobile Phones  
ATTN  
E1  
E2  
E3  
E4  
E5  
E6  
E7  
E8  
IRQ  
VDD  
MPR084  
VSS  
SCL  
ORDERING INFORMATION  
SDA  
Device Name Temperature Range  
Case Number  
Touch Pads  
AD0  
MPR084Q  
1679  
SOUNDER  
(16-Lead QFN)  
-40°C to +85°C  
8-pads  
Figure 1. Pin Connections  
MPR084EJ  
948F  
(16-Lead TSSOP)  
This document contains a product under development. Freescale Semiconductor reserves the right to change or  
discontinue this product without notice.  
© Freescale Semiconductor, Inc., 2007, 2008. All rights reserved.  
Preliminary  
1
Device Overview  
1.1  
Introduction  
Freescale Semiconductor’s MPR084 proximity capacitive touch sensor controller is one of a family of products designed to detect  
the state of capacitive touch pads. The MPR084 offers designers a cost-efficient alternative to mechanical keys for control panel  
applications.  
The MPR084 uses an I2C interface to communicate with the host which configures the operation and an interrupt to advise the  
host of status changes. The MPR084 includes a piezo sounder drive which provides audible feedback to simulate mechanical  
key clicks. The MPR08X family has several implementations to use in your design including control panels and switch  
replacements. The MPR084 controls individual touch pads. Other members of the MPR08X family are well suited for other  
application interface situations such as individual touch pads or rotary/touch pad combinations.  
Freescale offers a broad portfolio of proximity sensors for products ranging from appliance control panels to portable electronics.  
Target markets include consumer, appliance, industrial, medical and computer peripherals.  
1.1.1 Devices in the MPR08X series  
The MPR08X series of Proximity Capacitive Touch Sensor Controllers allows for a wide range of applications and  
implementations. Each of the products in Table 1 perform a different application specific task and are optimized for this specific  
functionality.  
Table 1. MPR08X Family Overview  
Product  
MPR083  
MPR084  
Bus  
I2C  
Sounder  
Rotary/Slider  
Touch Pad Array  
Yes  
8-pads  
I2C  
Yes  
8 keys  
1.1.2 Internal Block Diagram  
The MPR084 consists of primary functional blocks; Interrupt Controller, I2C Serial Interface, Sounder Controller, Configuration  
and Status registers, Touch Pad Decoder, Magnitude Comparator and Recalibrator, EMI Burst/Noise Rejection Filter,  
Capacitance Measurement Analog Front End. Each of these blocks will be described in detail in their respective sections.  
MASKS  
INTERRUPT  
IRQ  
SET  
CONTROLLER  
RATE  
CLEAR  
SDA  
SCL  
PAD  
TOUCHED  
PAD  
IDENTIFY  
DECODER  
2
I C  
SERIAL  
INTERFACE  
ENABLED  
CURRENT  
PAD  
8
8
8
8
8 TOUCH PADS  
ATTN  
AD0  
SOUNDER  
DRIVER  
CONTROLLER  
SOUNDER  
Figure 2. Functional Block Diagram  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
2
 
1.1.3 Terminology  
The following terms are used to describe front panel interface and capacitive touch sensor technology throughout this document.  
Table 2. Terminology  
Term  
Touch Sensor  
Definition  
A Touch Sensor is the combination of a Touch Sensor Controller and a connected conductive area  
referred to as an electrode.  
Touch Sensor Controller A Touch Sensor Controller is the intelligent part of a Touch Sensor which measures capacitance and  
differentiates between touched and untouched pads.  
Key  
A Key or Switch is a mechanical device that makes an electrical connection only when pressed.  
Touch Pad  
A Touch Pad is a type of capacitive sensor that is used for direct replacement of a Key. A capacitive  
touch sensor determines touch state by differentiating between high and low capacitances. When  
there is a change in the state this can be interpreted in the same way as a mechanical Key.  
Solid Pad  
Split Pad  
A Solid or Full Pad is a type of touch pad where exactly one electrode is used  
A Split Pad is a type of touch pad where more than one electrode is used. Split Pads are used to  
increase the total number of possible touch pads without increasing the electrical connections to the  
Touch Sensor Controller.  
N-key Lockout  
N-key rollover  
N-Key Lockout refers to the logic that determines how many keys can be simultaneously touched in  
a system. For example, 1-key lockout would only allow a single key to be touched before ignoring  
all future touches.  
N-Key Rollover refers to the logic that determines how many keys can be pressed in succession  
without releasing previous keys. For example, a system with 1-key lockout and 2-key rollover would  
allow 2-keys to be pressed in succession but would only report the second key once the first key  
was released.  
I2C  
Inter-Integrated Circuit Communication  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
3
2
External Signal Description  
2.1  
Device Pin Assignment  
Table 3 shows the pin assignment for the MPR084. For a more detailed description of the functionality of each pin, refer to the  
appropriate chapter.  
Table 3. Device Pin Assignment  
Pin  
Name  
Function  
1
ATTN  
Attention Pin. Input, active low, when asserted sets the Configuration Register’s DCE bit high  
allowing communication with the part.  
2
3
4
5
IRQ  
VDD  
VSS  
SCL  
Interrupt Request Pin. Output, active-low, open-drain interrupt request signaling new events.  
Positive Supply Voltage  
Ground  
I2C Serial Clock  
I2C Serial Data  
6
SDA  
7
8
AD0  
Address input. Low = slave address 0x5C. High = slave address 0x5D.  
Sounder driver output. Connect a piezo sounder from this output to ground. Output is push-pull  
SOUNDER  
9 - 16 E1, E2, E3, E4, E5, Touch Pad Electrode connections.  
E6, E7, E8  
PAD  
Exposed pad  
Exposed pad on package underside (QFN only). Connect to VSS.  
The two packages available for the MPR084 are a 5x5mm 16 pin QFN and a 4x5mm 16 pin TSSOP. Both of the packages and  
their respective pinouts are shown in Figure 3.  
ATTN  
E1  
E2  
E3  
E4  
E5  
E6  
E7  
E8  
16  
15  
1
16 15 14 13  
IRQ  
VDD  
2
3
4
5
6
E5  
12  
1
ATTN  
14  
13  
11 E6  
2
3
IRQ  
VSS  
VDD  
10  
9
E7  
E8  
SCL  
12  
11  
10  
9
VSS  
SDA  
4
AD0  
7
8
5
6
7
8
SOUNDER  
QFN  
TSSOP  
Figure 3. Package Pinouts  
2.2  
Recommended System Connections  
The MPR084 Capacitive Touch Sensor Controller requires ten external passive components. When connecting the MPR084 in  
a touch sensor system, the electrode lines must have pull-up resistors. The recommended value for these pull-ups is 780k.  
Some electrode arrays will require higher or lower values depending on the application.  
In addition to the 8 resistors a bypass capacitor of 1µF should always be used between the VDD and VSS lines.and a 4.7 k  
pull-up resistor should be included on the IRQ.  
MPR084  
Preliminary  
Sensors  
4
Freescale Semiconductor  
 
 
The remaining 5 connections are SCL, SDA, IRQ, ATTN, and SOUNDER. Depending on the specific application, each of these  
control lines can be used by connecting them to a host system. In the most minimal system, the SCL and SDA must be connected  
to a master I2C interface to communicate with the MPR084. All of the connections for the MPR084 are shown by the schematic  
in Figure 4.  
V
DD  
V
DD  
ELECTRODE  
ARRAY  
780k780k780k780k780k780k780k780kΩ  
4.7kΩ  
ATTN  
IRQ  
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
16  
15  
14  
13  
12  
11  
10  
9
E1  
E2  
E3  
E4  
E5  
E6  
E7  
E8  
GND  
ATTN  
E1  
E2  
E3  
E4  
E5  
E6  
E7  
E8  
V
DD  
IRQ  
VDD  
VSS  
1µF  
SCL  
SDA  
SCL  
SDA  
AD0  
SOUNDER  
SOUNDER  
GND  
9
MPR084  
GND  
8-TOUCH  
PAD  
Figure 4. Recommended System Connections Schematic  
Note that in this configuration the AD0 address line is tied high thus the slave address of the MPR084 0x5D. Alternatively the  
address line can be pulled low if the host system needs the MPR084 to be on address 0x5C. This functionality can also be used  
to incorporate two MPR084 devices in the same system.  
2.3  
Serial Interface  
The MPR084 uses an I2C Serial Interface. The I2C protocol implementation and the specifics of communicating with the Touch  
Sensor Controller are detailed in the following sections.  
2.3.1 Serial-Addressing  
The MPR084 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 MPR084, and generates the SCL clock that synchronizes  
the data transfer.  
The MPR084 SDA line operates as both an input and an open-drain output. A pull-up resistor, typically 4.7k, is required on SDA.  
The MPR084 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 MPR084’s 7-bit slave address plus  
R/W bit, a register address byte, one or more data bytes, and finally a STOP condition.  
SDA  
t
BUF  
t
t
SU DAT  
SU STA  
t
HD STA  
t
t
SU STO  
HD DAT  
t
LOW  
SCL  
t
HIGH  
t
HD STA  
t
t
R
F
START  
CONDITION  
REPEATED START  
CONDITION  
STOP START  
CONDITION CONDITION  
Figure 5. Wire Serial Interface Timing Details  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
5
 
 
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  
DATA LINE STABLE  
SCL  
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.  
SDA  
SCL  
S
P
START  
CONDITION  
STOP  
CONDITION  
Figure 7. Bit Transfer  
2.3.4 Acknowledge  
The acknowledge bit is a clocked 9th 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 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 MPR084, the MPR084 generates the acknowledge bit because the MPR084 is the recipient. When the  
MPR084 is transmitting to the master, the master generates the acknowledge bit because the master is the recipient.  
START  
CONDITION  
CLOCK PULSE FOR  
ACKNOWLEDGEMENT  
SCL  
1
2
8
9
SDA  
BY TRANSMITTER  
S
SDA  
BY RECEIVER  
Figure 8. Acknowledge  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
6
 
2.3.5 The Slave Address  
The MPR084 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  
1
0
0
1
1
0
0
R/W  
ACK  
MSB  
SCL  
Figure 9. Slave Address  
The MPR084 monitors the bus continuously, waiting for a START condition followed by its slave address. When a MPR084  
recognizes its slave address, it acknowledges and is then ready for continued communication.  
2.3.6 Message Format for Writing the MPR084  
A write to the MPR084 comprises the transmission of the MPR084’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 MPR084 is to be written by the next byte, if received. If a STOP condition is detected after the command byte is  
received, then the MPR084 takes no further action (Figure 10) beyond storing the command byte. Any bytes received after the  
command byte are data bytes.  
Command byte is stored on receipt ofSTOP condition  
acknowledge from MPR084  
D7 D6 D5 D4 D3 D2 D1 D0  
SLAVE ADDRESS  
COMMAND BYTE  
S
0
A
A
P
R/W  
acknowledge from MPR084  
Figure 10. Command Byte Received  
Any bytes received after the command byte are data bytes. The first data byte goes into the internal register of the MPR084  
selected by the command byte (Figure 11).  
acknowledge from  
MPR084  
acknowledge from  
MPR084  
How command byte and data byte  
map into MPR084's registers  
D15 D14 D13 D12 D11 D10 D9 D8  
COMMAND BYTE  
D7 D6 D5 D4 D3 D2 D1 D0  
acknowledge from MPR084  
SLAVE ADDRESS  
A
DATA BYTE  
1 byte  
A
P
S
0
A
R/W  
auto-increment memory  
word address  
Figure 11. Command and Single Data Byte Received  
If multiple data bytes are transmitted before a STOP condition is detected, these bytes are generally stored in subsequent  
MPR084 internal registers because the command byte address generally auto-increments (Section 2.4).  
2.3.7 Message Format for Reading the MPR084  
The MPR084 is read using the MPR084’s internally stored command byte as address pointer, the same way the stored command  
byte is used as address pointer for a write. The pointer generally auto-increments after each data byte is read using the same  
rules as for a write (Section 6.4.1). Thus, a read is initiated by first configuring the MPR084’s command byte by performing a write  
(Figure 12). The master can now read ‘n’ consecutive bytes from the MPR084, with the first data byte being read from the register  
addressed by the initialized command byte.  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
7
 
 
When performing read-after-write verification, remember to re-set the command byte’s address because the stored command  
byte address will generally have been auto-incremented after the write (Section 2.4).  
acknowledge from  
MPR084  
acknowledge from  
MPR084  
Howcommand byte and data byte  
map into MPR084's registers  
D15 D14  
D12  
D10 D9 D8  
D11  
D13  
D7 D6 D5 D4 D3 D2 D1 D0  
acknowledge from MPR084  
SLAVE ADDRESS  
1
COMMAND BYTE  
DATA BYTE  
n bytes  
S
A
A
A
P
R/W  
auto-increment memory  
word address  
Figure 12. ‘n’ Data Bytes Received  
2.3.8 Operation with Multiple Master  
The application should use repeated starts to address the MPR084 to avoid bus confusion between I2C masters.On a 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.  
2.3.9 Device Reset  
The RST is an active-low software reset. This is implemented in the Configuration Register by activating the RST bit. When  
asserted, the device clears any transaction to or from the MPR084 on the serial interface and configures the internal registers to  
the same state as a power-up reset (Table 4). The MPR084 then waits for a START condition on the serial interface.  
The sensor controller is capable of operating down to 1.8 V, however, in order for the sensor controller to exit reset and startup  
correctly the host system must initially provide 2.0 V to 3.6 V input to VDD and then follow the process in Figure 13. This process  
is required in applications that require regulated operation in the 1.8 V to 2.0 V range. In the case that the application uses an  
unregulated battery, then the battery must initially provide at least 2.0 V to correctly power-up the sensor controller which limits  
battery selection to the 2.0 V to 3.6 V range.  
Apply 2.0V to V Max  
DD  
To Sensor Controller  
Idle Delay Loop  
False  
Established Comms with  
Sensor Controller?  
i.e. Read from FIFO  
Is Data valid? (0 x 40)  
True  
Lower V  
DD  
to the desired operating voltage  
1.8 V to 2.0 V  
Figure 13. Low Voltage (1.8 V - 2.0 V) Power-up Sequence  
MPR084  
Preliminary  
Sensors  
8
Freescale Semiconductor  
 
2.4  
Register Address Map  
The MPR084 is a peripheral that is controlled and monitored though a small array of internal registers which are accessed  
through the I2C bus. When communicating with the MPR084 each of the registers in Table 4 are used for specific tasks. The  
functionality of each specific register is detailed in the following sections.  
Burst Mode  
Auto-Increment Address  
Register  
Register Address  
FIFO Register  
Fault Register  
0x00  
0x01  
0x02  
0x03  
0x04  
0x05  
0x06  
0x07  
0x08  
0x09  
0x0A  
0x0B  
0x0C  
0x0D  
0x0E  
0x0F  
0x10  
0x11  
0x12  
0x13  
0x14  
0x00  
0x02  
0x00  
0x04  
0x05  
0x06  
0x07  
0x08  
0x09  
0x0A  
0x0B  
0x0C  
0x0D  
0x0E  
0x0F  
0x10  
0x11  
0x12  
0x13  
0x00  
0x14  
Touch Pad Status Register  
Touch Pad Configuration Register  
Sensitivity Threshold Registers 1  
Sensitivity Threshold Registers 2  
Sensitivity Threshold Registers 3  
Sensitivity Threshold Registers 4  
Sensitivity Threshold Registers 5  
Sensitivity Threshold Registers 6  
Sensitivity Threshold Registers 7  
Sensitivity Threshold Registers 8  
Electrode Channel Enable Mask Register  
Maximum Number of Touched Positions Register  
Master Tick Period Register  
Touch Acquisition Sample Period Register  
Sounder Configuration Register  
Low Power Configuration Register  
Stuck Key Timeout Register  
Configuration Register  
Sensor Information Register  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
9
3
Touch Detection  
3.1  
Introduction  
When using a capacitive touch sensor system the raw data must be filtered and interpreted. This process can be done many  
different ways but the method used in the MPR084 is explained in this chapter.  
3.2  
Understanding the Basics  
The touch pad 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 touch pad circuitry reports touch status as one of the following two conditions:  
1. Touch Pad untouched  
2. Touch Pad touched on one of eight pads.  
The touch pad is only touched in one position, ideally near the middle of one of the eight pads. If a touch occurs between pads,  
untouched will be reported.  
3.3  
Conditional Output Scenarios  
Since it is unlikely that in a real world case a single independent touch will occur two specific multi-touch response cases are  
outlined. Methods for changing the sensitivity of the device will be discussed in another Chapter, but the important part is that the  
sensitivity is determined by the strength of an input signal. If more than one input signal is above the selected sensitivity then the  
touch sensor controller interprets this in a specific way. This functionality is broken down into two different cases.  
3.3.1 Simultaneous Touches  
Any time multiple touches are detected at the same time the touch sensor controller recognizes this case and accounts for it. The  
number of allowed reported touches is settable using the Maximum Number of Touched Positions Register (Section 3.6). In the  
case where this register is set to 1, all touches past the first will be ignored and unreported.  
A special case is when exact 2 keys are involved in the interaction. In most cases one of the two electrodes will receive a stronger  
signal than the other. If the difference in capacitance is statistically significant between the pad with the stronger signal will be  
reported  
This functionality is sometimes called 1-Keyed Lockout. by changing the Maximum Number of Touched Positions Register  
(Section 3.6). this value can be set. Thus the n-key lockout is determined by this register.  
3.3.2 Sequential Touches  
Another case is when one touch pad is touched and held and a second touch pad is then touched and held. For this situation the  
second touch will be ignored and the first touch will continue to be reported.  
If the second touch is released before the first touch then the second touch will be completely ignored. But, if the first touch is  
released before the second then the system will report that the first key is released and that the second key is now touched. This  
functionality is sometimes called 2-Key Rollover.  
3.4  
Touch Pad Configuration Register  
The Touch Pad Configuration Register configures a variety of the MPR084 features. Each of these features is described in  
following sections. The I2C slave address of the Touch Pad Configuration Register is 0x03.  
7
TPE  
1
6
0
5
BKA  
0
4
ACE  
0
3
TPRBE  
0
2
TPTBE  
0
1
0
0
TPE  
1
R
W
Reset:  
0
0
= Unimplemented  
Figure 14. Touch Pad Configuration Register  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
10  
 
Table 4. Touch Pad Configuration Register Field Descriptions  
Field  
Description  
7
Touch Pad Sounder Enable – The Touch Pad Sounder Enable bit controls if data  
is sent to the sounder.  
TPSE  
0 Disable – Click Feedback Off  
1 Enable – Click Feedback On  
5
BKA  
Best Key Algorithm - The Best Key Algorithm, when enabled the Maximum Number  
of Touches register is ignored and the algorithm reports the single best key based  
upon the BKA algorithm and all electrodes that are decoding a touch.  
0 BKA Disabled  
1 BKA Enabled  
4
Auto Calibration Enable – The Auto Calibration Enable bit enables or disables the  
ACE  
auto calibration function.  
0 Disable  
1 Enable  
3
Touch Pad Release Buffer Enable – The Touch Pad Release Buffer Enable bit  
determines whether or not data is logged in the FIFO when the touch pad  
transitions from a touched to untouched state.  
TPRBE  
0 Disable – No Release Data Logged  
1 Enable – Release Data Logged  
2
Touch Pad Touch Buffer Enable – The Touch Pad Touch Buffer Enable bit  
determines whether or not data is logged in the FIFO any time a button is pressed.  
0 Disable – Touches are not logged  
TPTBE  
1 Enable – Touches are logged  
0
TPE  
Touch Pad Enable – The Touch Pad Enable bit enables or disables the touch  
sensor. When disabled, no touches are detected.  
0 Disable – Touches not detected  
1 Enable – Touches detected  
3.5  
Touch Acquisition Sample Period Register  
The Touch Acquisition Sample Period Register is used to determine the electrode scan period of the system. The I2C slave  
address of the Touch Acquisition Sample Period Register is 0x0F.  
7
0
6
5
4
0
3
2
1
0
R
W
TASP  
Reset:  
0
0
0
0
0
1
= Unimplemented  
Figure 15. Touch Acquisition Sample Period Register  
Table 5. Touch Acquisition Sample Register Field Description  
Field  
Description  
7:0  
TASP  
Touch Acquisition Sample Period – The Touch Acquisition Sample Period Field  
selects or reports the multiplication factor that is used to determine how often  
electrodes are scanned. The resulting factor must be in the range 1 to 32. If the  
value is outside of this range the TASP will be set to 00011111.  
00000000 Encoding 0 – Sets the TASP multiplication factor to 1  
~
00011111 Encoding 31 – Sets the TASP multiplication factor to 32  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
11  
 
3.6  
Maximum Number of Touched Positions Register  
The Maximum Number of Touched Positions Register adjusts the number of keys that can be concurrently reported as touched.  
The I2C slave address of the Maximum Number of Touched Positions Register is 0x0D.  
7
0
6
0
5
0
4
0
3
0
2
1
TPC  
0
0
R
W
Reset:  
0
0
0
0
0
1
0
= Unimplemented  
Figure 16. Maximum Number of Touched Positions Registers  
Table 6. Maximum Number of Touched Positions Register Field Descriptions  
Field  
Description  
2:0  
TPC  
Touched Positions Count – The Touched Positions Count selects or reports the  
number of simultaneously reported touches.  
000 Encoding 0 – Sets the number of allowed touches to 0  
~
111 Encoding 7 – Sets the number of allowed touches to 7  
3.7  
Electrode Channel Enable Mask Register  
The Electrode Channel Mask Register adjusts to the number of keys that are scanned by the MPR084. The I2C slave address  
of the Electrode Channel Mask Register is 0x0C.  
7
E8EN  
1
6
E7EN  
1
5
E6EN  
1
4
E5EN  
1
3
E4EN  
1
2
E3EN  
1
1
E2EN  
1
0
E1EN  
1
R
W
Reset:  
= Unimplemented  
Figure 17. Electrode Channel Enable Mask Position Register  
Table 7. Electrode Channel Enable Mask Register Field Descriptions  
Field  
Description  
7
Electrode 8 Enable – The Electrode 8 Enable bit enables or disables electrode  
E8EN  
number 8.  
0 Electrode 8 Disable  
1 Electrode 8 Enable  
6
Electrode 7 Enable – The Electrode 7 Enable bit enables or disables electrode  
E7EN  
number 7.  
0 Electrode 7 Disable  
1 Electrode 7 Enable  
5
Electrode 6 Enable – The Electrode 6 Enable bit enables or disables electrode  
E6EN  
number 6.  
0 Electrode 6 Disable  
1 Electrode 6 Enable  
4
Electrode 5 Enable – The Electrode 5 Enable bit enables or disables electrode  
E5EN  
number 5.  
0 Electrode 5 Disable  
1 Electrode 5 Enable  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
12  
 
 
Table 7. Electrode Channel Enable Mask Register Field Descriptions  
3
Electrode 4 Enable – The Electrode 4 Enable bit enables or disables electrode  
E4EN  
number 4.  
0 Electrode 4 Disable  
1 Electrode 4 Enable  
2
Electrode 3 Enable – The Electrode 3 Enable bit enables or disables electrode  
E3EN  
number 3.  
0 Electrode 3 Disable  
1 Electrode 3 Enable  
1
Electrode 2 Enable – The Electrode 2 Enable bit enables or disables electrode  
E2EN  
number 2.  
0 Electrode 2 Disable  
1 Electrode 2 Enable  
0
Electrode 1 Enable – The Electrode 1 Enable bit enables or disables electrode  
E1EN  
number 1.  
0 Electrode 1 Disable  
1 Electrode 1 Enable  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
13  
4
Modes of Operation  
4.1  
Introduction  
The operating modes of the MPR084 are described in this section. Implementation and functionality of each mode are described.  
The Modes of Operation of the MPR084 combine to form a suite of quick response and low power consumption functionality. This  
is achieved through 2 Run modes and 2 Stop Modes. The two modes are enabled by toggling the Configuration Register’s DCE  
and RUNE bits as shown in Table 8. Note that while in a run mode, the only register that can be written to is the Configuration  
Register. Thus, when changes to registers are needed, enter Stop1 mode, write to the registers and change the mode to “Run”.  
Table 8. Mode Enable Register Bits  
Mode  
Run1  
Run2  
Stop1  
Stop2  
RUNE  
DCE  
1
1
0
0
1
0
1
0
4.2  
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.  
Table 9. Power-Up Register Configurations  
Register Function  
FIFO Register  
Power-Up Condition  
FIFO is empty  
Register Address  
HEX Value  
0x00  
0x01  
0x02  
0x03  
0x40  
0x00  
0x00  
0x81  
Fault Register  
No faults  
Touch Pad Status Register  
Touch Pad Configuration Register  
Touch Pad is untouched  
Touch Pad is enabled, without interrupts,  
with sounder enabled and Auto-Cal Disabled  
Sensitivity Threshold Registers 1  
Sensitivity Threshold Registers 2  
Sensitivity Threshold Registers 3  
Sensitivity Threshold Registers 4  
Sensitivity Threshold Registers 5  
Sensitivity Threshold Registers 6  
Sensitivity Threshold Registers 7  
Sensitivity Threshold Registers 8  
Maximum sensitivity  
Maximum sensitivity  
Maximum sensitivity  
Maximum sensitivity  
Maximum sensitivity  
Maximum sensitivity  
Maximum sensitivity  
Maximum sensitivity  
All channels enabled  
0x04  
0x05  
0x06  
0x07  
0x08  
0x09  
0x0A  
0x0B  
0x0C  
0x00  
0x00  
0x00  
0x00  
0x00  
0x00  
0x00  
0x00  
0xFF  
Electrode Channel Enable Mask  
Register  
Maximum Number of Touched  
Positions Register  
4 maximum concurrent touched position  
allowed  
0x0D  
0x04  
Master Tick Period Register  
Master tick period is 10ms  
TASP is 1 master tick period  
0x0E  
0x0F  
0x05  
0x01  
Touch Acquisition Sample Period  
Register  
Sounder Configuration Register  
Low Power Configuration Register  
Stuck Key Timeout Register  
Configuration Register  
Sounder is globally enabled, 10ms of 1kHz  
Low Power Mode is disabled  
0x10  
0x11  
0x12  
0x13  
0x14  
0x01  
0x00  
0x00  
0x14  
0xFF  
Stuck key detector disabled  
Stop1 Mode. IRQ is disabled  
Sensor Information Register  
Fixed SensorInfo based on revision  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
14  
 
 
4.3  
Run1 Mode  
When in Run1 mode the sensor controller will run continuously. During Run1 all the modules are synchronized by the Master Tick  
Period. This value can be set by using the Master Tick Period Register as outlined in the following section.  
While in this mode all functionality of the MPR084 is enabled; touch detection will occur, and I2C communication will be available.  
This mode is enabled by setting the Configuration Register’s RUNE and DCE bits high.  
4.3.1 Master Tick Period Register  
The Master Tick Period Register is used to set the master tick of this system. All parts of the system are synchronized to this  
counter. This register is overridden in all modes except for Run1. When not in Run1 mode, the value of this register is ignored  
and 8ms is used for the primary clock. The I2C slave address of the Master Tick Period Register is 0x0E.  
7
6
5
4
3
2
1
0
R
W
MTP  
Reset:  
0
0
0
0
0
1
0
1
= Unimplemented  
Figure 18. Master Tick Period Register  
Table 10. Master Tick Period Register Field Descriptions  
Field  
Description  
7:0  
MTP  
Master Tick Period – The Master Tick Period selects or reports the current value of the  
touch sensor controller’s primary clock. The resulting period must be in the range 5ms  
to 31ms. If the value is outside of this range the MTP will be set to 00011010.  
00000000 Encoding 0 – Sets the primary clock multiplier to 5  
~
00011010 Encoding 26 - Sets the primary clock multiplier to 31  
4.4  
Run2 Mode  
When in Run2 mode the sensor controller will continue to scan the electrodes but a low power state will be enabled between  
each cycle. Because of this, any I2C communication that occurs, may or may not respond while the sensor is in this mode  
If DCE is enabled the sensor controller transitions between low power and active states. During the active part of the cycle  
communication with the sensor controller is possible; however, Freescale always requires users to issue an ATTN signal prior to  
initiating communications. Accessing the I2C interface while DCE mode is enabled without sending an ATTN signal first is likely  
to produce invalid data.  
This mode is enabled by setting the Configuration Register’s RUNE bit high and DCE bit low. The only way to exit this mode is  
to toggle the Attention Pin, refer to Section 4.7.  
4.5  
Stop1 Mode  
When in Stop1 mode the sensor controller will not scan the electrodes. While capacitance sensing is disabled I2C  
communications will still be accepted and the sensor controller will maintain instantaneous response to all register requests. This  
is the only mode in which register values can be set.  
This mode is enabled by setting the Configuration Register’s RUNE bit low and DCE bit high.  
4.6  
Stop2 Mode  
When in Stop2 mode the sensor controller will not scan the electrodes or accept I2C communication. The MPR084 is off during  
this mode.  
This mode is enabled by setting the Configuration Register’s RUNE bit low and DCE bit low. The only way to exit this mode is to  
toggle the Attention Pin, refer to Section 4.7.  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
15  
 
4.7  
Configuration Register  
The Configuration Register allows a user to reset the part, adjust Interrupt settings, and change the mode. The I2C slave address  
of the Configuration Register is 0x13.  
7
0
6
5
4
3
0
2
DCE  
1
1
IRQEN  
0
0
RUNE  
0
R
W
RST  
Reset:  
0
0
1
0
= Unimplemented  
Figure 19. Configuration Register  
Table 11. Configuration Register Field Descriptions  
Field  
Description  
7:5  
Interrupt Rate – The Interrupt Rate Field selects the amount to multiply the MTP by  
to determine the minimum delay between sequential Interrupts.  
000 Encoding 0 – Sets the IRQR multiplication factor to 1  
~
IRQR  
111 Encoding 7 – Sets the IRQR multiplication factor to 8  
4
Reset – Asserts a global reset of the sensor controller.  
0 Reset Asserted  
1 Reset Not Asserted  
RST  
2
Duty Cycle Enable – The Duty Cycle Enable bit enables or disables duty cycling on  
the MPR084. This bit is active low.  
0 Duty Cycle Enabled (2 modes)  
DCE  
1 Duty Cycle Disabled (1 modes)  
1
Interrupt Enable – The Interrupt Enable bit enables or disables the IRQ  
Functionality.  
0 IRQ Disabled  
1 IRQ Enabled  
IRQEN  
0
Run Mode Enable – The Run Mode Enable bit enables or disables scanning of the  
electrodes for touch detection. This bit is active high.  
0 Electrode Scanning Disabled (Stop modes)  
RUNE  
1 Electrode Scanning Enabled (Run modes)  
4.8  
Attention Pin  
The Attention (ATTN) pin allows a user to externally set the Configuration Register’s DCE bit high. This is latched on a high to  
low transition. Since the current mode of the device is enabled through the DCE this will cause duty cycling to be disabled and  
change the current mode from Run2 to Run1, or Stop2 to Stop1 (depending on the previous state).  
When in Run2 or Stop2 modes this is the only way to enable the I2C communication.  
MPR084  
Preliminary  
Sensors  
16  
Freescale Semiconductor  
 
5
Low Power Configuration  
5.1  
Introduction  
The MPR084 features a Low Power mode that can reduce the power consumption into the microamps range. This feature can  
be used to both adjust the response time of the system, and change the conditions on which Low Power would be enabled.  
5.2  
Operation  
This Low Power configuration is only active when the sensor controller is in Run2 mode. The Low Power mode decreases current  
consumption by increasing the response time of the MPR084. This increase is controlled through two factors.  
During normal Run2 operation of the sensor controller the Max Response Time (MRT) is calculated by taking the product of the  
TASP and the primary clock. From Chapter 4 the primary clock is the (MTP + 5) ms. Since the sensor controller is in Run2, the  
primary clock is also multiplied by a factor of 8. The debounce rate of the MPR084 is 4 times the sample rate thus the MRT is  
represented by the following equation.  
MTP + 5  
---------------------  
MRT1 =  
+ 1 × TASP × 4 × 8ms  
Equation 1  
8
First, the Idle Interface Timeout (IIT) represents the total time the touch interface should remain idle before going into Low Power  
mode. This value can be calculated by taking the product of the ITP, TASP and primary clock (8ms) with a factor of 64. Thus the  
IIT is represented as follows:  
MTP + 5  
---------------------  
MRT2 =  
+ 1 × TASP × SCD × 4 × 8ms  
Equation 2  
8
Second, the Max Response Time (MRT) represents the total time the touch interface should remain inactive before scanning the  
electrodes. This value can be calculated by taking the product of the SCD, TASP and primary clock (8ms) with a factor of 5. Thus  
the MRT is represented as follows:  
MTP + 5  
---------------------  
ITT =  
+ 1 × TASP × ITP × 6 × 8ms  
Equation 3  
8
When in Run2 mode, the sensor controller will initially scan the electrodes at the rate of MRT1. When scanning at MRT1 and the  
touch interface remains idle for the IIT period then the scan period will change to MRT2. When scanning at MRT2 and a touch is  
detected the scan rate will transition back to MRT1.  
LP DISABLED  
ITT PERIOD  
MRT  
MRT  
2
run2 SET  
1
TOUCH DETECTED  
Figure 20. Low Power Scan Period Transition Diagram  
5.3  
Configuration  
Low Power Configuration is achieved through setting two values; the Idle Timeout Period and the Sleep Cycle Duration. This  
functionality is described in the following section.  
MPR084  
17  
Preliminary  
Sensors  
Freescale Semiconductor  
5.3.1 Low Power Configuration Register  
The Low Power Configuration register is used to set both the Idle Timeout Period and Sleep Cycle Duration multiplication factors.  
The I2C slave address of the Low Power Configuration Register is 0x11.  
7
6
ITP  
0
5
4
3
2
SCD  
0
1
0
R
W
Reset:  
0
0
0
0
0
0
= Unimplemented  
Figure 21. Low Power Configuration Register  
Table 12. Low Power Configuration Register Field Descriptions  
Field  
Description  
7:5  
ITP  
Idle Timeout Period – The Idle Timeout Period selects the amount to multiply the  
TASP (touch acquisition sample period) by to determine the idle interface timeout  
(IIT) period of the sensor controller.  
000 Encoding 0 – Disables Low Power Mode  
001 Encoding 1 – Sets the ITP multiplication factor to 1  
~
111 Encoding 7 – Sets the ITP multiplication factor to 7  
4:0  
SCD  
Sleep Cycle Duration – The Sleep Cycle Duration Field selects the amount to  
multiply the TASP (touch acquisition sample period) by to determine the Sleep  
period of the sensor controller.  
00000 Encoding 0 – Disables Low Power Mode  
00001 Encoding 1 – Sets the SCD multiplication factor to 1  
~
11111 Encoding 31 – Sets the SCD multiplication factor to 31  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
18  
 
6
Output Mechanisms  
6.1  
Introduction  
The MPR084 has three primary methods for reporting data in addition to an IRQ output that is described in Chapter 7. The three  
output systems are described in this section.  
6.2  
Instantaneous  
The Instantaneous output shows the current status of the user interface. This information is displayed in terms of the current  
touched pad position that is touched. Only one touch can be shown at a time.  
6.2.1 Touch Pad Status Register  
The Touch Pad Status Register is a read only register for determining the current status of the touch pad. The I2C slave address  
of the Touch Pad Status Register is 0x02.  
7
6
5
4
3
2
1
0
R
W
E8S  
E7S  
E6S  
E5S  
E4S  
E3S  
E2S  
E1S  
Reset:  
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 22. Touch Pad Status Register  
Table 13. Touch Pad Status Register Field Descriptions  
Field  
Description  
7
Electrode 8 Status – The Electrode 8 Status bit shows whether or not electrode 8 is touched.  
E8S  
0 Electrode 8 untouched  
1 Electrode 8 touched  
6
Electrode 7 Status – The Electrode 7 Status bit shows whether or not electrode 7 is touched.  
E7S  
0 Electrode 7 untouched  
1 Electrode 7 touched  
5
Electrode 6 Status – The Electrode 6 Status bit shows whether or not electrode 6 is touched.  
E6S  
0 Electrode 6 untouched  
1 Electrode 6 touched  
4
Electrode 5 Status – The Electrode 5 Status bit shows whether or not electrode 5 is touched.  
E5S  
0 Electrode 5 untouched  
1 Electrode 5 touched  
3
Electrode 4 Status – The Electrode 4 Status bit shows whether or not electrode 4 is touched.  
E4S  
0 Electrode 4 untouched  
1 Electrode 4 touched  
2
Electrode 3 Status – The Electrode 3 Status bit shows whether or not electrode 3 is touched.  
E3S  
0 Electrode 3 untouched  
1 Electrode 3 touched  
1
Electrode 2 Status – The Electrode 2 Status bit shows whether or not electrode 2 is touched.  
E2S  
0 Electrode 2 untouched  
1 Electrode 2 touched  
0
Electrode 1 Status – The Electrode 1 Status bit shows whether or not electrode 1 is touched.  
E1S  
0 Electrode 1 untouched  
1 Electrode 1 touched  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
19  
 
 
6.3  
Buffered  
The Buffered output is done through a FIFO. The FIFO will buffer every touch that occurs up to 30 values before the buffer  
overflows and data is lost. Any time data is read from the FIFO it is pulled from the buffer and the next item becomes available.  
The buffer can be cleared (NDF goes high) by either reading the last entry or attempting to write to the register.  
The buffer settings are configured in the Touch Pad Configuration Register as described in Section 3.4.  
6.3.1 FIFO Register  
The FIFO Register is a read only register for determining the current status of the touch pad. Any time a write is issued to this  
register the buffer will be cleared. The I2C slave address of the FIFO Register is 0x00.  
7
6
5
4
3
2
1
0
R
W
MDF  
NDF  
OF  
TRF  
BP  
Reset:  
0
1
0
0
0
0
0
0
= Unimplemented  
Figure 23. FIFO Register  
Table 14. FIFO Register Field Descriptions  
Field  
Description  
7
More Data Flag – The More Data Flag shows whether or not data will remain in the  
MDF  
buffer after the current read.  
0 No Data Remaining  
1 Data Remaining  
6
No Data Flag – The No Data Flag shows whether or not there is currently data in  
NDF  
the buffer.  
0 Buffer currently has data  
1 Buffer does not currently have data  
5
OF  
Overflow Flag – The Overflow Flag shows whether or not an overflow has occurred.  
If this flag is high then the most current data was lost.  
0 No Overflow has occurred  
1 Overflow has occurred  
4
Touch Release Flag – The Touch Release Flag shows if the current buffer entry is  
TRF  
a touch or release of a pad.  
0 Pad is released  
1 Pad is touched  
3:0  
BP  
Buffered Position – The Buffered Position represents the electrode number that is  
currently being displayed by the buffer.  
0000 Encoding 0 – Buffered touch of electrode 1  
~
0111 Encoding 7 – Buffered touch of electrode 8  
6.4  
Error  
The MPR084 can generate a fault under two conditions; an electrode is shorted to VDD, or an electrode is shorted to VSS. Once  
a fault is asserted the sensor electrodes will no longer be scanned until the fault is cleared. In the event of multiple faults occurring  
at the same time, the sensor controller will report the first fault that is detected during scanning. In addition to the VDD or VSS  
short, there is also a fault for when too many keys have been touched. The Max Number of Keys Exceeded status bit is an  
instantaneous output that is high when more keys are pressed than allowed by the TPC (Section 3.6).  
MPR084  
Preliminary  
Sensors  
20  
Freescale Semiconductor  
 
6.4.1 Fault Register  
The Fault Register is a read only register that shows the fault number under the current sensor conditions. Any write to the Fault  
Register will clear the register, when in Stop mode. The Fault register cannot be cleared when the part is in a Run mode. The I2C  
slave address of the Fault Register is 0x01.  
7
0
6
0
5
0
4
0
3
0
2
1
0
R
W
MNKE  
FAULT  
Reset:  
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 24. Fault Register  
Table 15. Fault Register Field Descriptions  
Field  
Description  
4
Maximum Number of Keys Exceeded – The Maximum Number of Keys Exceeded  
MNKE  
status bit indicates whether or not more keys than allowed are currently being  
touched.  
1 TPC Exceeded  
0 TPC Not Exceeded  
1:0  
FAULT  
Fault – The Fault code represents the currently asserted fault condition.  
00 Encoding 0 – No fault detected  
01 Encoding 1 – Short to VSS detected  
10 Encoding 2 – Short to VDD detected  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
21  
 
7
Interrupts  
7.1  
Introduction  
The MPR084 has one interrupt output that is configured by registers and alerts the application when a touch or fault is detected.  
When running in Run2 or Stop2 mode where I2C communication is not available this feature alerts the user to sensor touches.  
7.2  
Condition for Interrupt  
There are two cases that latch the Interrupt buffered data available or fault detected.  
7.2.1 Buffered Data Available  
The interrupt for Buffered Data Available will only trigger when the NDF (No Data Flag) transitions from high to low. This signifies  
that there is new data available in the buffer. The interrupt is deasserted on the first read/write of the FIFO Register and cannot  
be reasserted for buffered data until the FIFO is empty (either by reading all the data, or clearing the buffer).  
7.2.2 Fault Detected  
The interrupt for a Fault Detected condition is triggered any time the Fault condition in the Fault Register transitions from zero to  
non-zero. The interrupt is deasserted when the Fault Register is cleared (by writing to the Fault Register).  
7.3  
Settings  
Interrupts are configured through I2C using the Configuration Register (Section 4.7). Two of the settings in this register will affect  
the interrupt functionality.  
The Interrupt Enable (IRQEN) must be set high for the IRQ to be enabled. When low, all interrupts will be ignored, and the IRQ  
pin will never latch.  
The Interrupt Rate (IRQR) sets the minimum delay between sequential triggered interrupts. The minimum interrupt period can be  
calculated by taking the product of the MCP (master clock period) and IRQR with a factor of 4. Thus, for the minimum setting an  
interrupt would be triggered no more often than 4 times the sensor scan rate.  
MinInterruptPeriod(ms) = MCP × IRQR × 4  
If the MPR084 is using Run2, the minimum interrupt period would be represented by the following equation.  
MTP + 5  
Equation 4  
---------------------  
MinInterruptPeriod(ms) =  
+ 1 × 8 × IRQR × 4  
Equation 5  
8
7.4  
IRQ Pin  
The IRQ pin is an open-drain, latching interrupt output which requires an external pull-up resistor. The pin will latch down based  
on the conditions in Section 6.2. The pin will reset when an I2C transmission reads/writes the appropriate register displaying  
information about the source of the interrupt. Thus if the source is buffered data available then a FIFO Buffer read/write will clear  
the IRQ pin. If the source is a fault detected then a write of the Fault Register will clear the pin.  
MPR084  
Preliminary  
Sensors  
22  
Freescale Semiconductor  
7.4.1 IRQ Pin Timing  
The MinInterruptPeriod is implemented as a hold off of IRQ latching per Figure 25 and Figure 26. In the first case the  
MinInterruptPeriod is longer than the interval between sequential interrupt source events, thus it delays the IRQ from latching  
until the MinInterruptPeriod has elapsed. In the second case the MinInterruptPeriod is shorter than the interval between  
sequential interrupt source events, thus the IRQ latches as it normally would without additional delay.  
Second Interrupt Event  
Initial Interrupt Event  
MinInterruptPeriod  
IRQ  
Figure 25. IRQ Timing Diagram - Case 1  
Initial Interrupt Event  
Second Interrupt Event  
MinInterruptPeriod  
IRQ  
Figure 26. IRQ Timing Diagram - Case 2  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
23  
 
 
8
Calibration  
8.1  
Introduction  
The MPR084 is self-calibrating. This is done both at initial start-up of the device and during run time.  
8.2  
Initial Start-up Conditions  
Initial calibration of the MPR084 occurs every time the device resets. The first key detection cycle is used as a baseline  
capacitance value for all remaining calculations. Thus, a touch is detected by taking the difference between this baseline value  
and the current capacitance on the electrode.  
8.3  
Auto-Calibration  
The MPR084 has an auto-calibration feature. This is enabled through the Touch Pad Configuration Register (Section 3.4), by  
setting the ACE bit high. Auto calibration is done by two mechanisms. The basic auto-calibration will recalculate the baseline  
value after 6 sample periods. Thus the auto calibrate period can be calculate by multiplying the master clock period (in  
milliseconds) and the touch acquisition sample period with a factor of 64.  
AutoCalibrationPeriod(ms) = MCP × TASP × 64  
Equation 6  
If a touch is currently being detected the auto-calibration will not engage and calibration will be ignored. The device can also be  
calibrated when a key is being touched, this is controlled by stuck key detection.  
8.4  
Stuck Key Detection  
The Stuck Key Detection system allows the application to specify the maximum amount of time a touch should be detected before  
it is calibrated into the baseline and the touch is ignored. This is controlled by setting the Stuck Key Timeout multiplication factor  
(SKT). The timeout period can be calculated by multiplying the SKT, master clock period (in ms) and touch acquisition sample  
period with a factor of 64.  
AutoCalibrationPeriod(ms) = MCP × TASP × SKT × 64  
Equation 7  
When Stuck Key Detection is off a touched key will remain touched indefinitely and never be calibrated into the baseline value.  
8.4.1 Stuck Key Timeout Register  
The Stuck Key Timeout Register is used to determine the electrode scan period of the system. The I2C slave address of the Stuck  
Key Timeout Register is 0x12.  
7
0
6
5
4
3
2
1
0
R
W
SKT  
Reset:  
0
0
0
0
0
0
0
= Unimplemented  
Figure 27. Stuck Key Timeout Register  
Table 16. Stuck Key Timeout Register Field Descriptions  
Field  
Description  
7:0  
Stuck Key Timeout – The Stuck Key Timeout field selects or reports the  
SKT  
multiplication factor that is used to determine how often electrodes are calibrated  
while a touch is being detected.  
00000000 Encoding 0 – Turns off Stuck Key Detection  
00000001 Encoding 1 – Sets the SKT multiplication factor to 2  
~
11111111 Encoding 255 – Sets the SKT multiplication factor to 256  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
24  
 
9
Sensitivity  
9.1  
Introduction  
The MPR084 can operate in a variety of environments with a variety of different electrode patterns. Because of this it is necessary  
to adjust the relative sensitivity of the sensor controller. Usually this requires fine tuning in any final application.  
There are many factors that must be taken into account, but much of the time this value is relative to the capacitance changes  
generated by a touch. Since capacitance is directly proportional to the dielectric constant of the material and the area of the pad,  
while inversely proportional to the distance between pads these are the primary factors.  
ke0A  
-----------  
C =  
Equation 8  
d
As the relative capacitance rises the sensitivity setting of the MPR084 should be adjusted accordingly. Thus a very high sensitivity  
value represents a large A and a small d.  
9.2  
Adjusting the Sensitivity  
The sensitivity of the MPR084 is adjusted by varying the Sensitivity Threshold Registers.  
9.2.1 Sensitivity Threshold Registers  
The Sensitivity Threshold registers all sensitivity of the MPR084 to be adjusted for any situation. The I2C slave address of the  
Sensitivity Threshold Registers is 0x04 - 0x0B.  
7
6
5
4
3
2
1
0
R
W
SL  
Reset:  
0
0
0
0
0
0
0
0
= Unimplemented  
Figure 28. Sensitivity Threshold Register Format  
Table 17. Sensitivity Threshold Register Format Descriptions  
Field  
Description  
7:0  
ST  
Sensitivity Threshold – The Sensitivity Threshold selects or reports the sensitivity  
setting of the Sensor Controller. The resulting value must be in the range 1 to 64  
units. If the value is outside of this range the ST will be set to 00111111.  
00000000 Encoding 0 – Sets the sensitivity to level 1  
~
00111111 Encoding 63 – Sets the sensitivity to level 64  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
25  
 
10 Additional Features  
10.1 Key Click Sound Generator  
The Key Click Sound Generator allows the MPR084 to generate audible feedback, independent of the I2C communication status.  
The sounder is used to drive a piezo buzzer. This output is configured by using the Sounder Register, shown in the following  
section.  
10.1.1 Sounder Configuration Register  
The I2C slave address of the Sounder Configuration Register is 0x10.  
7
0
6
0
5
0
4
0
3
0
2
CP  
0
1
FREQ  
0
0
SEN  
1
R
W
Reset:  
0
0
0
0
0
= Unimplemented  
Figure 29. Sounder Configuration Register  
Table 18. Sounder Configuration Register Field Descriptions  
Field  
Description  
2
CP  
Click Period – The Click Period bit controls the length of the sounder click.  
0 Sounder Click Period is 10ms  
1 Sounder Click Period is 20ms  
1
Frequency – The Frequency bit controls the frequency of the driven output.  
0 Sounder frequency is 1kHz  
FREQ  
1 Sounder frequency is 2kHz  
0
Sounder Enable – The Sounder Enable bit enables or disables the sounder output.  
SEN  
0 Disable  
1 Enable  
10.2 Sensor Information  
The Sensor Information register is a read only register that displays a descriptor which contains static information about the  
MPR084 version.  
10.2.1 Sensor Information Register  
The I2C slave address of the Sensor Information Register is 0x14.  
7
0
6
5
4
3
0
2
1
1
1
0
0
R
W
SensorInfo  
Reset:  
1
0
0
= Unimplemented  
Figure 30. Sensor Information Register  
Table 19. Sensor Information Register Field Descriptions  
Field  
Description  
7-0  
SensorInfo  
SensorInfo – The Sensor Information register describes the version information for  
the part. Burst reads will display ASCII data in the following format:  
VENDOR_LABEL",PN:"PRODUCT_LABEL",QUAL:"BUILD_TYPE_LABEL",VER:"  
BUILD_VERSION_MAJOR"_"BUILD_VERSION_MINOR"_"BUILD_NUMBER"\0"  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
26  
 
 
Appendix A Electrical Characteristics  
A.1 Introduction  
This section contains electrical and timing specifications.  
A.2 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 A-1 may affect device reliability or cause permanent damage to the device. For functional operating  
conditions, refer to the remaining tables in this section. This device contains circuitry protecting against damage due to high static  
voltage or electrical fields; however, it is advised that normal precautions be taken to avoid application of any voltages higher  
than maximum-rated voltages to this high-impedance circuit.  
Table 20. Absolute Maximum Ratings - Voltage (with respect to VSS)  
Rating  
Symbol  
Value  
Unit  
Supply Voltage  
Input Voltage  
VDD  
-0.3 to +3.8  
V
VIN  
VSS - 0.3 to VDD + 0.3  
V
SCL, SDA, AD0, IRQ, ATTN,  
SOUNDER  
Operating Temperature Range  
Storage Temperature Range  
TSG  
TSG  
-40 to +85  
°C  
°C  
-55 to +150  
A.3 ESD and Latch-up Protection Characteristics  
Normal handling precautions should be used to avoid exposure to static discharge.  
Qualification tests are performed to ensure that these devices can withstand exposure to reasonable levels of static without  
suffering any permanent damage. During the device qualification ESD stresses were performed for the Human Body Model  
(HBM), the Machine Model (MM) and the Charge Device Model (CDM).  
A device is defined as a failure if after exposure to ESD pulses the device no longer meets the device specification. Complete  
DC parametric and functional testing is performed per the applicable device specification at room temperature followed by hot  
temperature, unless specified otherwise in the device specification.  
Table 21. ESD and Latch-up Test Conditions  
Rating  
Symbol  
Value  
Unit  
Human Body Model (HBM)  
VESD  
±2000  
V
Machine Model (MM)  
VESD  
VESD  
±200  
±500  
±100  
V
V
Charge Device Model (CDM)  
Latch-up current at TA = 85°C  
ILATCH  
mA  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
27  
A.4 DC Characteristics  
This section includes information about power supply requirements and I/O pin characteristics.  
Table 22. DC Characteristics (Temperature Range = –40°C to 85°C Ambient)  
(Typical Operating Circuit, VDD = 1.8 V* to 3.6 V, T = T  
to T  
, unless otherwise noted. Typical current values are at VDD = 3.3 V,  
A
MIN  
MAX  
T = +25°C.)  
A
Parameter  
Symbol  
Conditions  
Min  
Typ  
Max  
Units  
Operating Supply Voltage  
Run1 mode Current  
Run2 mode Current  
Stop1 mode Current  
Stop2 mode Current  
VDD  
1.8*  
3.6  
V
Irun1  
Irun2  
Istop1  
Istop2  
VIH  
VDD = 1.8 V  
VDD = 1.8 V  
VDD = 1.8 V  
VDD = 1.8 V  
1.62  
41  
mA  
µA  
mA  
µA  
V
1.74  
2
Input High Voltage  
SDA, SCL  
0.7 x VDD  
Input Low Voltage  
SDA, SCL  
VIL  
0.35 x VDD  
V
µA  
pF  
V
Input Leakage Current  
SDA, SCL  
IIH, IIL  
0.025  
1
7
Input Capacitance  
SDA, SCL  
Output Low Voltage  
SDA, IRQ  
VOL  
IOL = 6mA  
0.5V  
*The MPR084 requires a specific start-up sequence for VDD< 2.0 V. Refer to Section 2.3.9.  
2
A.5  
I C AC Characteristics  
This section includes information about I2C AC Characteristics.  
Table 23. I2C AC Characteristics  
(Typical Operating Circuit, V+ = 1.8 V to 3.6 V, T = T  
to T  
, unless otherwise noted. Typical values are at V+ = 3.3 V, T = +25°C.)  
MAX A  
A
MIN  
Parameter  
Symbol  
Conditions  
Min  
Typ  
Max  
Units  
Serial Clock Frequency (1)  
fSCL  
Cb  
100  
kHz  
Capacitive Load for Each Bus Line  
400  
pF  
1. Clock Stretching is required for reliable communications  
MPR084  
Preliminary  
Sensors  
28  
Freescale Semiconductor  
Appendix B Brief Register Descriptions  
FIFO Register: 0x00  
7
6
5
4
3
0
2
0
1
0
0
0
R
W
MDF  
NDF  
OF  
TRF  
BP  
Reset:  
0
1
0
0
= Unimplemented  
Fault Register: 0x01  
7
0
6
0
5
0
4
0
3
0
2
1
0
0
0
R
W
MNKE  
FAULT  
Reset:  
0
0
0
0
0
0
= Unimplemented  
Touch Pad Status Register: 0x02  
7
6
5
4
3
2
1
0
R
W
E8S  
E7S  
E6S  
E5S  
E4S  
E3S  
E2S  
E1S  
Reset:  
0
0
0
0
0
0
0
0
= Unimplemented  
Touch Pad Configuration Register: 0x03  
7
TPE  
1
6
0
5
BKA  
0
4
ACE  
0
3
TPRBE  
0
2
TPTBE  
0
1
0
0
TPE  
1
R
W
Reset:  
0
0
= Unimplemented  
Sensitivity Threshold Registers: 0x04  
7
6
5
0
4
0
3
0
2
0
1
0
0
0
R
W
SL  
Reset:  
0
0
= Unimplemented  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
29  
Master Tick Period Register: 0x05  
7
6
0
5
0
4
0
3
0
2
1
1
0
0
1
R
MTP  
W
Reset:  
0
= Unimplemented  
Touch Acquisition Sample Period Register: 0x06  
7
6
5
4
0
3
0
2
0
1
0
0
1
R
W
TASP  
Reset:  
0
0
0
= Unimplemented  
Sounder Configuration Register: 0x10  
7
0
6
0
5
0
4
0
3
0
2
CP  
0
1
FREQ  
0
0
SEN  
1
R
W
Reset:  
0
0
0
0
0
= Unimplemented  
Low Power Configuration Register: 0x08  
7
6
ITP  
0
5
0
4
0
3
0
2
SCD  
0
1
0
0
0
R
W
Reset:  
0
= Unimplemented  
Stuck Key Timeout Register: 0x09  
7
6
0
5
0
4
0
3
0
2
0
1
0
0
0
R
SKT  
W
Reset:  
0
= Unimplemented  
Sensor Information Register: 0x14  
7
6
5
0
4
3
2
1
1
1
0
0
R
W
SensorInfo  
Reset:  
0
1
0
0
= Unimplemented  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
30  
Configuration Register: 0x0A  
7
6
0
5
0
4
1
3
0
2
DCE  
1
1
IRQEN  
0
0
RUNE  
0
R
RST  
W
Reset:  
0
0
= Unimplemented  
Electrode Channel Enable Mask Register: 0x0C  
7
E8EN  
1
6
E7EN  
1
5
E6EN  
1
4
E5EN  
1
3
E4EN  
1
2
E3EN  
1
1
E2EN  
1
0
E1EN  
1
R
W
Reset:  
= Unimplemented  
Maximum Number of Touched Positions Register: 0x0D  
7
0
6
0
5
0
4
0
3
0
2
1
1
TPC  
0
0
0
R
W
Reset:  
0
0
0
0
0
= Unimplemented  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
31  
Appendix C Ordering Information  
C.1 Ordering Information  
This section contains ordering information for MPR084Q and MPR084EJ devices.  
ORDERING INFORMATION  
Device Name  
Temperature Range  
Case Number  
Touch Pads  
MPR084Q  
1679  
(16-Lead QFN)  
-40°C to +85°C  
8-pads  
MPR084EJ  
948F  
(16-Lead TSSOP)  
C.2 Device Numbering Scheme  
All Proximity Sensor Products have a similar numbering scheme. The below diagram explains what each part number in the  
family represents.  
P
M
PR EE  
X
Package Designator  
(Q = QFN, EJ = TSSOP)  
Status  
(M = Fully Qualified, P = Preproduction)  
Version  
Proximity Sensor Product  
Number of Electrodes  
(08 = 8 electrode device)  
MPR084  
32  
Preliminary  
Sensors  
Freescale Semiconductor  
PACKAGE DIMENSIONS  
PAGE 1 OF 3  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
33  
PACKAGE DIMENSIONS  
PAGE 2 OF 3  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
34  
PACKAGE DIMENSIONS  
PAGE 3 OF 3  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
35  
PACKAGE DIMENSIONS  
PAGE 1 OF 3  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
36  
PACKAGE DIMENSIONS  
PAGE 2 OF 3  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
37  
PACKAGE DIMENSIONS  
PAGE 3 OF 3  
MPR084  
Preliminary  
Sensors  
Freescale Semiconductor  
38  
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  
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  
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  
support.japan@freescale.com  
Asia/Pacific:  
Freescale Semiconductor China Ltd.  
Exchange Building 23F  
No. 118 Jianguo Road  
Chaoyang District  
Beijing 100022  
China  
+86 10 5879 8000  
support.asia@freescale.com  
Semiconductor was negligent regarding the design or manufacture of the part.  
For Literature Requests Only:  
Freescale Semiconductor Literature Distribution Center  
P.O. Box 5405  
Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.  
All other product or service names are the property of their respective owners.  
Denver, Colorado 80217  
© Freescale Semiconductor, Inc. 2008. All rights reserved.  
1-800-441-2447 or +1-303-675-2140  
Fax: +1-303-675-2150  
LDCForFreescaleSemiconductor@hibbertgroup.com  
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.  
MPR084  
Rev. 5  
11/2008  

相关型号:

MPR084Q

Proximity Capacitive Touch Sensor Controller
FREESCALE

MPR10

water-proof and dust-proof
ETAL

MPR10-N-111-1110-0

water-proof and dust-proof
ETAL

MPR10-N-111-1110-2

water-proof and dust-proof
ETAL

MPR10-N-111-1111-0

water-proof and dust-proof
ETAL

MPR10-N-111-1111-2

water-proof and dust-proof
ETAL

MPR10-N-111-1113-0

water-proof and dust-proof
ETAL

MPR10-N-111-1113-2

water-proof and dust-proof
ETAL

MPR10-N-111-1114-0

water-proof and dust-proof
ETAL

MPR10-N-111-1114-2

water-proof and dust-proof
ETAL

MPR10-N-111-1115-0

water-proof and dust-proof
ETAL

MPR10-N-111-1115-2

water-proof and dust-proof
ETAL