MPR03X Rev 7, 7/2012 Freescale Semiconductor Data Sheet: Technical Data An Energy Efficient Solution by Freescale Proximity Capacitive Touch Sensor Controller MPR031 MPR032 The MPR03X is an Inter-Integrated Circuit Communication (I2C) driven Capacitive Touch Sensor Controller, optimized to manage two electrodes with interrupt functionality, or three electrodes with the interrupt disabled. It can accommodate a wide range of implementations due to increased sensitivity and a specialized feature set.
1 Device Overview 1.1 Introduction MPR03X is a small outline, low profile, low voltage touch sensor controller in a 2 mm x 2 mm DFN which manages up to three touch pad electrodes. An I2C interface communicates with the host controller at data rates up to 400 kbits/sec. An optional interrupt output advises the host of electrode status changes. The interrupt output is a multiplexed with the third electrode output, so using the interrupt output reduces the number of electrode inputs to two.
2 External Signal Description 2.1 Device Pin Assignment Table 1 shows the pin assignment for the MPR03X. For a more detailed description of the functionality of each pin, refer to the appropriate chapter. Table 1.
Figure 4. Recommended System Connections Schematic 2.3 Serial Interface The MPR03X 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 MPR03X operates as a slave that sends and receives data through an I2C 2-wire interface.
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. Stop and Start Conditions 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.
2.3.6 Message Format for Writing the MPR03X A write to the MPR03X comprises the transmission of the MPR03X’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 MPR03X is to be written by the next byte, if received. If a STOP condition is detected after the command byte is received, the MPR03X takes no further action (Figure 10) beyond storing the command byte.
2.3.8 Operation with Multiple Master The application should use repeated starts to address the MPR03X 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 Functional Overview 3.1 Introduction The MPR03X has an analog front, a digital filter, and a touch recognition system. This data interpretation can be done many different ways but the method used in the MPR03X is explained in this chapter. 3.2 Understanding the Basics MPR03X is a touch pad controller which manages two or three touch pad electrodes. An I²C interface communicates with the host, and an optional interrupt output advises the host of electrode status changes.
4 Modes of Operation 4.1 Introduction MPR03X’s operation modes are Stop, Run1, and Run2. Stop mode is the start-up and configuration mode. 4.2 Stop Mode In Stop mode, the MPR03X does not monitor any of the electrodes. This mode is the lowest power state. 4.2.1 Initial Power Up On power-up, the device is in Stop mode, registers are reset to the initial values shown in Table 4, and MPR03X starts in Stop mode drawing minimal supply current.
4.3 Run1 Mode In Run1 Mode, the MPR03X monitors 1, 2, or 3 electrodes which are connected to a user defined array of touch pads. When only 1 or 2 electrodes are selected, the IRQ/ELE2 pin is automatically configured as an open drain interrupt output. When 3 electrodes are selected in Run1 Mode, the IRQ/ELE2 pin becomes the third electrode input, ELE2 (Figure 14).
Table 5. Electrode Configuration Register Field Descriptions Field Description 6 CalLock Calibration Lock – The Calibration Lock bit selects whether calibration is enabled or disabled. 0 Enabled – In this state baseline calibration is enabled. 1 Disabled – In this state baseline calibration is disabled. 5:4 ModeSel Mode Select – The Mode Select field selects which Run Mode the sensor will operate in. This register is ignored when in Stop Mode. 00 Encoding 0 – Run1 Mode is enabled.
5 Output Mechanisms 5.1 Introduction The MPR03X has three outputs: the touch status, values from the second level filter (Section 8.3), and the calibrated baseline values. The application can either use the touch status or a combination of second level filter data with the baseline data to determine when a touch occurs. 5.2 Touch Status Each Electrode has an associated single bit that denotes whether or not the pad is currently touched.
5.3 Filtered Data Each electrode has an associated filtered output. This output is generated through register settings and a low pass filter implementation (Section 8.4). 5.3.1 Filtered Data Low Register The Filtered Data Low register contains the data on each of the electrodes. It is paired with the Filtered Data High register for reading the 10 bit A/D value. The address of the ELE0 Filtered Data Low register is 0x02. The address of the ELE1 Filtered Data Low register is 0x04.
5.4 Baseline Values In addition to the second level filter data, the data from the baseline filter (or third level filter) is also displayed. In this case, the least two significant bits are removed before the 10-bit value is displayed in the register. 5.4.1 Baseline Value Register The Baseline Value register contains the third level filtered data on each of the electrodes. It is a truncated 10 bit A/D value displayed in the 8 bit register. The address of the ELE0 Baseline Value register is 0x1A.
6 Interrupts 6.1 Introduction The MPR03X has one interrupt output that is triggered on any touch related event. The interrupts trigger on both the up or down motion of a finger as defined by a set of configurable thresholds. 6.2 Triggering an Interrupt An interrupt is asserted any time data changes in the Touch Status Register (Section 5.2). This means that if an electrode touch or release occurs, an interrupt will alert the application of the change. 6.
7 Theory of Operation 7.1 Introduction The MPR03X utilizes the principle that a capacitor holds a fixed amount of charge at a specific electric potential. Both the implementation and the configuration will be described in this section. 7.2 Capacitance Measurement The basic measurement technique used by the MPR03X is to charge up the capacitor C on one electrode input with a DC current I for a time T (the charge time).
The valid operating range of the electrode charging source is 0.7V to (VDD-.7)V. This means that for a given VDD the valid ADC (voltage visible to the digital interface) range is given by .7 1024 V DD ADC low , Equation 3 and ADC high VDD .7 1024 . Equation 4 VDD These equations are represented in the graph. In the nominal case of VDD = 1.8V the ADC range is shown below in Table 10. Table 10. VDD ADChigh ADClow ADCmid 1.8 625.7778 398.
Sensitivity vs. Midpoint Capacitance for VDD = 1.8 V 0 500 0 1000 1500 2000 2500 -0.5 Sensitivity (pF/ADC Count) -1 dC/dADC @cmid (pF/1 ADC Count) -1.5 -2 -2.5 -3 -3.5 -4 -4.5 -5 Midpoint Capacitance (pF) Figure 23. Smaller amounts of change indicate increased sensitivity for the capacitance sensor. Some sample values are shown in Table 11. Table 11. pF Sensitivity (pF/ADC count) 10 -0.01953 100 -0.
7.4 Configuration From the implementation above, there are two elements that can be configured to yield a wide range of capacitance readings ranging from 0.455 pF to 2874.39 pF. The two configurable components are the electrode charge current and the electrode charge time. The electrode charge current can be configured to equal a range of values between 1 A and 63 A. This value is set in the CDC in the AFE Configuration register (Section 7.4.1).
8 Filtering 8.1 Introduction The MPR03X has three levels of filtering. The first and second level filters will allow the application to condition the signal for undesired input variation. The third level filter can be configured to reject touch stimulus and be used as a baseline for touch detection. Each level of filtering will be further described in this section. 8.2 First Level The first level filter is designed to filter high frequency noise by averaging samples taken over short periods of time.
Table 13. Filter Configuration Register Field Descriptions Field 7:5 CDT Description Charge Discharge Time – The Charge Discharge Time field selects the amount of time an electrode charges and discharges. 000 Encoding 0 – Invalid 001 Encoding 1 – Time is set to 0.5 s 010 Encoding 2 – Time is set to 1 s ~ 111 Encoding 7 – Time is set to 32 s. Second Filter Iterations – The Second Filter Iterations field selects the number of samples taken for the second level filter.
8.4.2 Noise Half Delta Register The Noise Half Delta register is used to set the Noise Half Delta for the third level filter. The address of the Noise Half Delta Register is 0x27. R 7 6 0 0 0 0 5 4 3 1 0 0 0 0 NHD W Reset: 2 0 0 0 = Unimplemented Figure 28. Noise Half Delta Register Table 15. Noise Half Delta Register Field Descriptions Field 5:0 NHD 8.4.3 Description Noise Half Delta – The Noise Half Delta determines the incremental change when non-noise drift is detected.
9 Touch Detection 9.1 Introduction The MPR03X uses a threshold based system to determine when touches occur. This section will describe that mechanism. 9.2 Thresholds When a touch pad is pressed, an increase in capacitance will be generated. The resulting effect will be a reduction in the ADC counts. When the difference between the second level filter value and the third level filter value is significant, the system will detect a touch.
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 19 may affect device reliability or cause permanent damage to the device. For functional operating conditions, refer to the remaining tables in this section.
A.4 DC Characteristics This section includes information about power supply requirements and I/O pin characteristics. Table 21. DC Characteristics (Temperature Range = –40°C to 85°C Ambient) (Typical Operating Circuit, VDD = 1.71 V to 2.75 V, TA = TMIN to TMAX, unless otherwise noted. Typical current values are at VDD = 1.8 V, TA = +25°C.) Parameter Operating Supply Voltage Symbol VDD Conditions Min 1.71 Typ 1.8 Max 2.75 Units 1 V Average Supply Current IDD Run1 Mode @ 1 ms sample period 43 57.
A.6 I2C AC Characteristics This section includes information about I2C AC Characteristics. Table 22. I2C AC Characteristics (Typical Operating Circuit, VDD = 1.71 V to 2.75 V, TA = TMIN to TMAX, unless otherwise noted. Typical current values are at VDD = 1.8 V, TA = +25°C.) Parameter Symbol Conditions Min Typ Max Units 400 kHz 1 Serial Clock Frequency fSCL Bus Free Time Between a STOP and a START Condition tBUF 1.3 µs 2 Hold Time, (Repeated) START Condition tHD, STA 0.
Appendix B Brief Register Descriptions REGISTER Touch Status Register Abrv TS ELE0 Filtered Data Low Register E0FDL ELE0 Filtered Data High Register E0FDH ELE1 Filtered Data Low Register E1FDL ELE1 Filtered Data High Register E1FDH ELE2 Filtered Data Low Register E2FDL ELE2 Filtered Data High Register E2FDH Fields E2S E1S E0S OCF E0FDLB E0FDHB E1FDLB E1FDHB E2FDLB E2FDHB REGISTER ADDRESS Initial Value 0x00 0x00 0x02 0x00 0x03 0x00 0x04 0x00 0x05 0x00 0x06 0x00 0x07 0x00 ELE
Appendix C Ordering Information C.1 Ordering Information This section contains ordering information for MPR03X devices. ORDERING INFORMATION Device Name Temperature Range Case Number Touch Pads I2C Address Shipping MPR031EPR2 -40C to +85C 1944 (8-Pin DFN) 3-pads 0x4A Tape and Reel MPR032EPR2 -40C to +85C 1944 (8-Pin DFN) 3-pads 0x4B Tape and Reel C.2 Device Numbering Scheme All Proximity Sensor Products have a similar numbering scheme.
PACKAGE DIMENSIONS PAGE 1 OF 3 MPR03X Sensors Freescale Semiconductor 29
PAGE 2 OF 3 MPR03X 30 Sensors Freescale Semiconductor
PAGE 3 OF 3 MPR03X Sensors Freescale Semiconductor 31
Table 23.
How to Reach Us: Information in this document is provided solely to enable system and software implementers to use Freescale products. There are no express or implied copyright Home Page: www.freescale.com licenses granted hereunder to design or fabricate any integrated circuits based on the information in this document. Web Support: http://www.freescale.com/support Freescale reserves the right to make changes without further notice to any products herein.