CAP1208 8-Channel Capacitive Touch Sensor General Description Applications The CAP1208 is a multiple channel capacitive touch sensor controller. It contains eight (8) individual capacitive touch sensor inputs with programmable sensitivity for use in touch sensor applications. Each sensor input is calibrated to compensate for system parasitic capacitance and automatically recalibrated to compensate for gradual environmental changes. • • • • The CAP1208 includes Multiple Pattern Touch recognition that allows the user to select a specific set of buttons to be touched simultaneously. If this pattern is detected, a status bit is set and an interrupt is generated. • Eight (8) Capacitive Touch Sensor Inputs - Programmable sensitivity - Automatic recalibration - Calibrates for parasitic capacitance - Individual thresholds for each button • Multiple Button Pattern Detection • Power Button Support • Press and Hold Feature for Volume-like Applications • 3.3V or 5V Supply • Analog Filtering for System Noise Sources • RF Detection and Avoidance Filters • Digital EMI Blocker • 8kV ESD Rating on All Pins (HBM) • Low Power Operation - 5μA quiescent current in Deep Sleep - 50μA quiescent current in Standby (1 sensor input monitored) - Samples one or more channels in Standby • SMBus / I2C Compliant Communication Interface • Available in a 16-pin 3mm x 3mm QFN RoHS compliant package • Available in a 14-pin SOIC RoHS compliant package The CAP1208 has Active and Standby states, each with its own sensor input configuration controls. Power consumption in the Standby state is dependent on the number of sensor inputs enabled as well as averaging, sampling time, and cycle time. Deep Sleep is the lowest power state available, drawing 5μA (typical) of current. In this state, no sensor inputs are active, and communications will wake the device. 2013-2015 Microchip Technology Inc. Desktop and Notebook PCs LCD Monitors Consumer Electronics Appliances Features DS00001570C-page 1 CAP1208 TO OUR VALUED CUSTOMERS It is our intention to provide our valued customers with the best documentation possible to ensure successful use of your Microchip products. To this end, we will continue to improve our publications to better suit your needs. Our publications will be refined and enhanced as new volumes and updates are introduced. If you have any questions or comments regarding this publication, please contact the Marketing Communications Department via E-mail at [email protected]. We welcome your feedback. Most Current Data Sheet To obtain the most up-to-date version of this data sheet, please register at our Worldwide Web site at: http://www.microchip.com You can determine the version of a data sheet by examining its literature number found on the bottom outside corner of any page. The last character of the literature number is the version number, (e.g., DS30000000A is version A of document DS30000000). Errata An errata sheet, describing minor operational differences from the data sheet and recommended workarounds, may exist for current devices. As device/documentation issues become known to us, we will publish an errata sheet. The errata will specify the revision of silicon and revision of document to which it applies. To determine if an errata sheet exists for a particular device, please check with one of the following: • Microchip’s Worldwide Web site; http://www.microchip.com • Your local Microchip sales office (see last page) When contacting a sales office, please specify which device, revision of silicon and data sheet (include -literature number) you are using. Customer Notification System Register on our web site at www.microchip.com to receive the most current information on all of our products. DS00001570C-page 2 2013-2015 Microchip Technology Inc. CAP1208 Table of Contents 1.0 Introduction ..................................................................................................................................................................................... 4 2.0 Pin Description and Configuration ................................................................................................................................................... 8 3.0 Functional Description .................................................................................................................................................................. 21 4.0 Register Descriptions .................................................................................................................................................................... 58 5.0 Operational Characteristics ........................................................................................................................................................... 69 6.0 Package Outline ............................................................................................................................................................................ 85 Appendix A: Data Sheet Revision History ........................................................................................................................................... 91 The Microchip Web Site ...................................................................................................................................................................... 93 Customer Change Notification Service ............................................................................................................................................... 93 Customer Support ............................................................................................................................................................................... 93 Product Identification System ............................................................................................................................................................. 94 2013-2015 Microchip Technology Inc. DS00001570C-page 3 CAP1208 1.0 INTRODUCTION 1.1 Block Diagram FIGURE 1-1: Pin Diagrams FIGURE 1-2: CAP1208 14-PIN SOIC CS2 1 CS1 2 ALERT# 3 12 CS5 SMDAT 4 11 CS6 SMCLK 5 10 CS7 9 CS8 8 GND N/C 6 VDD 7 DS00001570C-page 4 CS3 14 13 CAP1208 1.2 CAP1208 BLOCK DIAGRAM CS4 2013-2015 Microchip Technology Inc. CAP1208 FIGURE 1-3: 1.3 CAP1208 PIN DIAGRAM (16-PIN QFN) Pin Description TABLE 1-1: PIN DESCRIPTION FOR CAP1208 QFN Pin # SOIC Pin # Pin Name 1 3 ALERT# ALERT# - Active low alert / interrupt output for SMBus alert 2 4 SMDATA 3 5 SMCLK 4 7 VDD 5 6 N/C 6 - N/C 7 8 GND 8 - GND 9 9 CS8 2013-2015 Microchip Technology Inc. Pin Type Unused Connection OD Connect to Ground SMDATA - Bi-directional, open-drain SMBus or I2C data - requires pull-up resistor DIOD n/a SMCLK - SMBus or I2C clock input requires pull-up resistor DI n/a Power n/a n/a Connect to Ground n/a Connect to Ground Ground Power n/a Ground Power n/a AIO Connect to Ground Pin Function Positive Power supply Not internally connected Not internally connected Capacitive Touch Sensor Input 8 DS00001570C-page 5 CAP1208 TABLE 1-1: PIN DESCRIPTION FOR CAP1208 (CONTINUED) QFN Pin # SOIC Pin # Pin Name 10 10 CS7 11 11 CS6 12 12 CS5 13 13 CS4 14 14 CS3 15 1 CS2 16 2 CS1 Bottom pad - Exposed pad Pin Function Pin Type Unused Connection AIO Connect to Ground AIO Connect to Ground AIO Connect to Ground AIO Connect to Ground AIO Connect to Ground AIO Connect to Ground AIO Connect to Ground - - Capacitive Touch Sensor Input 7 Capacitive Touch Sensor Input 6 Capacitive Touch Sensor Input 5 Capacitive Touch Sensor Input 4 Capacitive Touch Sensor Input 3 Capacitive Touch Sensor Input 2 Capacitive Touch Sensor Input 1 Not internally connected, but recommend grounding APPLICATION NOTE: All digital pins are 5V tolerant pins. The pin types are described in Table 1-2, "Pin Types". TABLE 1-2: PIN TYPES Pin Type Power DI AIO DIOD OD DS00001570C-page 6 Description This pin is used to supply power or ground to the device. Digital Input - This pin is used as a digital input. This pin is 5V tolerant. Analog Input / Output - This pin is used as an I/O for analog signals. Digital Input / Open Drain Output - This pin is used as a digital I/O. When it is used as an output, it is open drain and requires a pull-up resistor. This pin is 5V tolerant. Open Drain Digital Output - This pin is used as a digital output. It is open drain and requires a pull-up resistor. This pin is 5V tolerant. 2013-2015 Microchip Technology Inc. CAP1208 2.0 ELECTRICAL SPECIFICATIONS TABLE 2-1: ABSOLUTE MAXIMUM RATINGS Voltage on VDD pin -0.3 to 6.5 V Voltage on CS pins to GND -0.3 to 4.0 V Voltage on 5V tolerant pins (V5VT_PIN) -0.3 to 5.5 V Voltage on 5V tolerant pins (|V5VT_PIN - VDD|) (see Note 2-2) 0 to 3.6 V Input current to any pin except VDD +10 mA Output short circuit current Continuous N/A Package Power Dissipation up to TA = 85°C for 16-pin QFN (see Note 2-3) 0.5 W Junction to Ambient (JA) (see Note 2-4) 70 °C/W Operating Ambient Temperature Range -40 to 125 °C Storage Temperature Range -55 to 150 °C ESD Rating, All Pins, HBM 8000 V Note 2-1 Stresses above those listed could cause permanent damage to the device. This is a stress rating only and functional operation of the device at any other condition above those indicated in the operation sections of this specification is not implied. Note 2-2 For the 5V tolerant pins that have a pull-up resistor, the voltage difference between V5VT_PIN and VDD must never exceed 3.6V. Note 2-3 The Package Power Dissipation specification assumes a recommended thermal via design consisting of a 2x2 matrix of 0.3mm (12mil) vias at 1.0mm pitch connected to the ground plane with a 1.6 x 1.6mm thermal landing. Note 2-4 Junction to Ambient (JA) is dependent on the design of the thermal vias. Without thermal vias and a thermal landing, the JA will be higher. 2013-2015 Microchip Technology Inc. DS00001570C-page 7 CAP1208 TABLE 2-2: ELECTRICAL SPECIFICATIONS VDD = 3V to 5.5V, TA = 0°C to 85°C, all Typical values at TA = 25°C unless otherwise noted. Characteristic Symbol Min Typ Max Unit Conditions DC Power Supply Voltage VDD 3.0 5.5 V μA Standby state active 1 sensor input monitored Default conditions (8 avg, 70ms cycle time) μA Standby state active 1 sensor input monitored 1 avg, 140ms cycle time Supply Current ISTBY_DEF 120 ISTBY_LP 50 170 IDSLEEP_3V 5 TBD μA Deep Sleep state active No communications TA < 40°C 3.135 < VDD < 3.465V IDD 500 750 μA Capacitive Sensing Active Capacitive Touch Sensor Inputs Maximum Base Capacitance CBASE Minimum Detectable Capacitive Shift CTOUCH 20 Recommended Cap Shift CTOUCH 0.1 Power Supply Rejection 50 PSR ±3 pF Pad untouched fF Pad touched - default conditions 2 pF Pad touched - Not tested ±10 counts /V Untouched Current Counts Base Capacitance 5pF - 50pF Negative Delta Counts disabled Maximum sensitivity All other parameters default Power-On and Brown-out Reset (see Section 4.2, "Reset") Power-On Reset Voltage VPOR 1 Power-On Reset Release Voltage VPORR Brown-Out Reset VBOR VDD Rise Rate (ensures internal POR signal) SVDD Power-Up Timer Period tPWRT Brown-Out Reset Voltage Delay tBORDC DS00001570C-page 8 V Pin States Defined 2.85 V Rising VDD Ensured by design 2.8 V Falling VDD V/ms 0 to 3V in 60ms 0.05 10 1 1.3 ms μs VDD = VBOR - 1 2013-2015 Microchip Technology Inc. CAP1208 TABLE 2-2: ELECTRICAL SPECIFICATIONS (CONTINUED) VDD = 3V to 5.5V, TA = 0°C to 85°C, all Typical values at TA = 25°C unless otherwise noted. Characteristic Symbol Min Typ Max Unit Conditions 15 ms 200 ms 0.4 V ISINK_IO = 8mA ISOURCE_IO = 8mA Timing Time to Communications Ready tCOMM_DLY Time to First Conversion Ready tCONV_DLY 170 I/O Pins Output Low Voltage VOL Output High Voltage VOH VDD 0.4 V Input High Voltage VIH 2.0 V Input Low Voltage VIL Leakage Current 0.8 ±5 ILEAK V μA powered or unpowered TA < 85°C pull-up voltage < 3.6V if unpowered SMBus Timing Input Capacitance CIN Clock Frequency fSMB Spike Suppression tSP Bus Free Time Stop to Start tBUF 1.3 μs Start Setup Time tSU:STA 0.6 μs Start Hold Time tHD:STA 0.6 μs Stop Setup Time tSU:STO 0.6 μs Data Hold Time tHD:DAT 0 μs When transmitting to the master Data Hold Time tHD:DAT 0.3 μs When receiving from the master Data Setup Time tSU:DAT 0.6 μs Clock Low Period tLOW 1.3 μs Clock High Period tHIGH 0.6 μs Clock / Data Fall Time tFALL 300 ns Min = 20+0.1CLOAD ns Clock / Data Rise Time tRISE 300 ns Min = 20+0.1CLOAD ns Capacitive Load CLOAD 400 pF per bus line 2013-2015 Microchip Technology Inc. 5 10 pF 400 kHz 50 ns DS00001570C-page 9 CAP1208 3.0 COMMUNICATIONS 3.1 Communications The CAP1208 communicates using the SMBus or I2C protocol. 3.2 System Management Bus The CAP1208 communicates with a host controller, such as an MCHP SIO, through the SMBus. The SMBus is a twowire serial communication protocol between a computer host and its peripheral devices. A detailed timing diagram is shown in Figure 3-1. Stretching of the SMCLK signal is supported; however, the CAP1208 will not stretch the clock signal. FIGURE 3-1: 3.2.1 SMBUS TIMING DIAGRAM SMBUS START BIT The SMBus Start bit is defined as a transition of the SMBus Data line from a logic ‘1’ state to a logic ‘0’ state while the SMBus Clock line is in a logic ‘1’ state. 3.2.2 SMBUS ADDRESS AND RD / WR BIT The SMBus Address Byte consists of the 7-bit client address followed by the RD / WR indicator bit. If this RD / WR bit is a logic ‘0’, then the SMBus Host is writing data to the client device. If this RD / WR bit is a logic ‘1’, then the SMBus Host is reading data from the client device. The CAP1208-1 responds to SMBus address 0101_000(r/w). The CAP1208-2 responds to the SMBus address 0101_001(r/w). 3.2.3 SMBUS DATA BYTES All SMBus Data bytes are sent most significant bit first and composed of 8-bits of information. 3.2.4 SMBUS ACK AND NACK BITS The SMBus client will acknowledge all data bytes that it receives. This is done by the client device pulling the SMBus Data line low after the 8th bit of each byte that is transmitted. This applies to both the Write Byte and Block Write protocols. The Host will NACK (not acknowledge) the last data byte to be received from the client by holding the SMBus data line high after the 8th data bit has been sent. For the Block Read protocol, the Host will ACK each data byte that it receives except the last data byte. 3.2.5 SMBUS STOP BIT The SMBus Stop bit is defined as a transition of the SMBus Data line from a logic ‘0’ state to a logic ‘1’ state while the SMBus clock line is in a logic ‘1’ state. When the CAP1208 detects an SMBus Stop bit and it has been communicating with the SMBus protocol, it will reset its client interface and prepare to receive further communications. DS00001570C-page 10 2013-2015 Microchip Technology Inc. CAP1208 3.2.6 SMBUS TIMEOUT The CAP1208 includes an SMBus timeout feature. Following a 30ms period of inactivity on the SMBus where the SMCLK pin is held low, the device will timeout and reset the SMBus interface. The timeout function defaults to disabled. It can be enabled by setting the TIMEOUT bit in the Configuration register (see Section 5.6, "Configuration Registers"). SMBUS AND I2C COMPATIBILITY 3.2.7 The major differences between SMBus and I2C devices are highlighted here. For more information, refer to the SMBus 2.0 specification. CAP1208supports I2C fast mode at 400kHz. This covers the SMBus max time of 100kHz. Minimum frequency for SMBus communications is 10kHz. The SMBus client protocol will reset if the clock is held low longer than 30ms (timeout condition). This can be enabled in the CAP1208 by setting the TIMEOUT bit in the Configuration register. I2C does not have a timeout. The SMBus client protocol will reset if both the clock and the data line are high for longer than 200us (idle condition). This can be enabled in the CAP1208by setting the TIMEOUT bit in the Configuration register. I2C does not have an idle condition. I2C devices do not support the Alert Response Address functionality (which is optional for SMBus). I2C devices support block read and write differently. I2C protocol allows for unlimited number of bytes to be sent in either direction. The SMBus protocol requires that an additional data byte indicating number of bytes to read / write is transmitted. The CAP1208 supports I2C formatting only. 1. 2. 3. 4. 5. 6. 3.3 SMBus Protocols The CAP1208 is SMBus 2.0 compatible and supports Write Byte, Read Byte, Send Byte, and Receive Byte as valid protocols as shown below. All of the below protocols use the convention in Table 3-1. TABLE 3-1: 3.3.1 PROTOCOL FORMAT Data Sent to Device Data Sent to the HOst Data sent Data sent SMBUS WRITE BYTE The Write Byte is used to write one byte of data to a specific register as shown in Table 3-2. TABLE 3-2: WRITE BYTE PROTOCOL Start Slave Address WR ACK Register Address ACK Register Data ACK Stop 1 ->0 0101_000 (Note 3-1) 0 0 XXh 0 XXh 0 0 -> 1 Note 3-1 3.3.2 CAP1208-1 only. For other addressing options, see Section 3.2.2. SMBUS READ BYTE The Read Byte protocol is used to read one byte of data from the registers as shown in Table 3-3. 2013-2015 Microchip Technology Inc. DS00001570C-page 11 CAP1208 TABLE 3-3: Start READ BYTE PROTOCOL Slave Address 1->0 0101_000 (Note 3-2) ACK 0 0 Register Address ACK XXh 0 Start Client Address 1 ->0 0101_000 (Note 3-2) RD 1 ACK 0 Register Data XXh NACK 1 Stop 0 -> 1 CAP1208-1 only. For other addressing options, see Section 3.2.2. Note 3-2 3.3.3 WR SMBUS SEND BYTE The Send Byte protocol is used to set the internal address register pointer to the correct address location. No data is transferred during the Send Byte protocol as shown in Table 3-4. APPLICATION NOTE: The Send Byte protocol is not functional in Deep Sleep (i.e., DSLEEP bit is set). TABLE 3-4: SEND BYTE PROTOCOL Start Slave Address WR ACK Register Address ACK Stop 1 -> 0 0101_000 (Note 3-3) 0 0 XXh 0 0 -> 1 CAP1208-1 only. For other addressing options, see Section 3.2.2. Note 3-3 3.3.4 SMBUS RECEIVE BYTE The Receive Byte protocol is used to read data from a register when the internal register address pointer is known to be at the right location (e.g. set via Send Byte). This is used for consecutive reads of the same register as shown in Table 3-5. APPLICATION NOTE: The Receive Byte protocol is not functional in Deep Sleep (i.e., DSLEEP bit is set). TABLE 3-5: RECEIVE BYTE PROTOCOL Start Slave Address RD ACK Register Data NACK Stop 1 -> 0 0101_000 (Note 3-4) 1 0 XXh 1 0 -> 1 Note 3-4 3.4 CAP1208-1 only. For other addressing options, see Section 3.2.2. I2C Protocols The CAP1208 supports I2C Block Read and Block Write. The protocols listed below use the convention in Table 3-1. 3.4.1 BLOCK READ The Block Read is used to read multiple data bytes from a group of contiguous registers as shown in Table 3-6. APPLICATION NOTE: When using the Block Read protocol, the internal address pointer will be automatically incremented after every data byte is received. It will wrap from FFh to 00h. DS00001570C-page 12 2013-2015 Microchip Technology Inc. CAP1208 TABLE 3-6: Start 1->0 BLOCK READ PROTOCOL Slave Address 0101_000 (Note 3-5) WR ACK Register Address ACK Start Slave Address RD ACK Register Data 0 0 XXh 0 1 ->0 0101_000 (Note 3-5) 1 0 XXh ACK REGISTER DATA ACK REGISTER DATA ACK REGISTER DATA ACK ... REGISTER DATA NACK STOP 0 XXh 0 XXh 0 XXh 0 ... XXh 1 0 -> 1 CAP1208-1 only. For other addressing options, see Section 3.2.2.. Note 3-5 3.4.2 BLOCK WRITE The Block Write is used to write multiple data bytes to a group of contiguous registers as shown in Table 3-7. APPLICATION NOTE: When using the Block Write protocol, the internal address pointer will be automatically incremented after every data byte is received. It will wrap from FFh to 00h. TABLE 3-7: Start 1 ->0 BLOCK WRITE PROTOCOL Slave Address 0101_000 (Note 3-6) WR ACK Register Address ACK Register Data ACK 0 0 XXh 0 XXh 0 Register Data ACK Register Data ACK ... Register Data ACK Stop XXh 0 XXh 0 ... XXh 0 0 -> 1 Note 3-6 CAP1208-1 only. For other addressing options, see Section 3.2.2.. 2013-2015 Microchip Technology Inc. DS00001570C-page 13 CAP1208 4.0 GENERAL DESCRIPTION The CAP1208 is a multiple channel capacitive touch sensor. It contains eight (8) individual capacitive touch sensor inputs with programmable sensitivity for use in touch sensor applications. Each sensor input is calibrated to compensate for system parasitic capacitance and automatically recalibrated to compensate for gradual environmental changes. The CAP1208includes Multiple Pattern Touch recognition that allows the user to select a specific set of buttons to be touched simultaneously. If this pattern is detected, a status bit is set and an interrupt is generated. The CAP1208 has Active and Standby states, each with its own sensor input configuration controls. Power consumption in the Standby state is dependent on the number of sensor inputs enabled as well as averaging, sampling time, and cycle time. Deep Sleep is the lowest power state available, drawing 5μA (typical) of current. In this state, no sensor inputs are active, and communications will wake the device. The device communicates with a host controller using SMBus / I2C. The host controller may poll the device for updated information at any time or it may configure the device to flag an interrupt whenever a touch is detected on any sensor pad. A typical system diagram is shown in FIGURE 4-1:. FIGURE 4-1: 4.1 SYSTEM DIAGRAM FOR CAP1208 Power States The CAP1208 has 3 power states depending on the status of the STBY and DSLEEP bits. When the device transitions between power states, previously detected touches (for channels that are being de-activated) are cleared and the sensor input status bits are reset. 1. Active - The normal mode of operation. The device is monitoring capacitive sensor inputs enabled in the Active state. DS00001570C-page 14 2013-2015 Microchip Technology Inc. CAP1208 2. 3. Standby - When the STBY bit is set, the device is monitoring the capacitive sensor inputs enabled in the Standby state. Interrupts can still be generated based on the enabled channels. The device will still respond to communications normally and can be returned to the Active state of operation by clearing the STBY bit. Power consumption in this state is dependent on the number of sensor inputs enabled as well as averaging, sampling time, and cycle time. Deep Sleep - When the DSLEEP bit is set, the device is in its lowest power state. It is not monitoring any capacitive sensor inputs. While in Deep Sleep, the CAP1208 can be awakened by SMBus communications targeting the device. This will not cause the DSLEEP to be cleared so the device will return to Deep Sleep once all communications have stopped. The device can be returned to the Active state of operation by clearing the DSLEEP bit. 4.2 Reset The Power-On Reset (POR) circuit holds the device in reset until VDD has reached an acceptable level, Power-on Reset Release Voltage (VPORR), for minimum operation. The power-up timer (PWRT) is used to extend the start-up period until all device operation conditions have been met. The power-up timer starts after VDD reaches VPORR. POR and PORR with slow rising VDD is shown in Figure 4-2. The Brown-Out Reset (BOR) circuit holds the device in reset when VDD falls to a minimum level, VBOR for longer than the BOR reset delay (tBORDC). After a BOR, when VDD rises above VPORR, the power-up timer is started again and must finish before reset is released, as shown in Figure 4-2. FIGURE 4-2: 4.3 POR AND PORR WITH SLOW RISING VDD AND BOR WITH FALLING VDD Capacitive Touch Sensing The CAP1208 contains eight (8) independent capacitive touch sensor inputs. Each sensor input has dynamic range to detect a change of capacitance due to a touch. Additionally, each sensor input can be configured to be automatically and routinely recalibrated. 4.3.1 CAPACITIVE TOUCH SENSING SETTINGS Controls for managing capacitive touch sensor inputs are determined by the power state. 4.3.1.1 Active State Sensing Settings The Active state is used for normal operation. Sensor inputs being monitored are determined by the Sensor Input Enable Register(see Section 5.7, "Sensor Input Enable Register"). Sensitivity is controlled by the Sensitivity Control Register (see Section 5.5, "Sensitivity Control Register"). Averaging, sample time, and cycle time are controlled by the Averaging and Sampling Configuration Register (see Section 5.10, "Averaging and Sampling Configuration Register"). Each channel can have a separate touch detection threshold, as defined in the Sensor Input Threshold registers (see Section 5.18, "Sensor Input Threshold Registers"). 4.3.1.2 Standby State Sensing Settings The Standby state is used for standby operation. In general, fewer sensor inputs are enabled, and they are programmed to have more sensitivity. Sensor inputs being monitored are determined by the Standby Channel Register (see Section 5.20, "Standby Channel Register"). Sensitivity is controlled by the Standby Sensitivity Register (see Section 5.22, 2013-2015 Microchip Technology Inc. DS00001570C-page 15 CAP1208 "Standby Sensitivity Register"). Averaging, sample time, and cycle time are controlled by the Averaging and Sampling Configuration Register (see Section 5.21, "Standby Configuration Register"). There is one touch detection threshold, which applies to all sensors enabled in Standby, as defined in the Standby Threshold Register (see Section 5.23, "Standby Threshold Register"). 4.3.2 SENSING CYCLE Except when in Deep Sleep, the device automatically initiates a sensing cycle and repeats the cycle every time it finishes. The cycle polls through each enabled sensor input starting with CS1 and extending through CS8. As each capacitive touch sensor input is polled, its measurement is compared against a baseline “not touched” measurement. If the delta measurement is large enough to exceed the applicable threshold, a touch is detected and an interrupt can be generated (see Section 4.8.2, "Capacitive Sensor Input Interrupt Behavior"). The sensing cycle time is programmable (see Section 5.10, "Averaging and Sampling Configuration Register" and Section 5.21, "Standby Configuration Register"). If all enabled inputs can be sampled in less than the cycle time, the device is placed into a lower power state for the remainder of the sensing cycle. If the number of active sensor inputs cannot be sampled within the specified cycle time, the cycle time is extended and the device is not placed in a lower power state. 4.4 Sensor Input Calibration Calibration sets the Base Count Registers(Section 5.24, "Sensor Input Base Count Registers") which contain the “not touched” values used for touch detection comparisons. Calibration automatically occurs after a power-on reset (POR), when sample time is changed, and whenever a sensor input is newly enabled (for example, when transitioning from a power state in which it was disabled to a power state in which it is enabled). During calibration, the analog sensing circuits are tuned to the capacitance of the untouched pad. Then, samples are taken from each sensor input so that a base count can be established. After calibration, the untouched delta counts are zero. APPLICATION NOTE: During the calibration routine, the sensor inputs will not detect a press for up to 200ms and the Sensor Base Count Register values will be invalid. In addition, any press on the corresponding sensor pads will invalidate the calibration. The host controller can force a calibration for selected sensor inputs at any time using the Calibration Activate and Status RegisterSection 5.10.1, "Calibration Activate and Status Register". When a bit is set, the corresponding capacitive touch sensor input will be calibrated (both analog and digital). The bit is automatically cleared once the calibration routine has successfully finished. If analog calibration fails for a sensor input, the corresponding bit is not cleared in the Calibration Activate and Status Register, and the ACAL_FAIL bit is set in the General Status Register(Section 5.2, "Status Registers"). An interrupt can be generated. Analog calibration will fail if a noise bit is set or if the calibration value is at the maximum or minimum value. If digital calibration fails to generate base counts for a sensor input in the operating range, which is +12.5% from the ideal base count (see TABLE 4-1:), indicating the base capacitance is out of range, the corresponding BC_OUTx bit is set in the Base Count Out of Limit Register(Section 5.16, "Base Count Out of Limit Register"), and the BC_OUT bit is set in the General Status Register (Section 5.2, "Status Registers"). An interrupt can be generated. By default, when a base count is out of limit, analog calibration is repeated for the sensor input; alternatively, the sensor input can be sampled using the out of limit base count(Section 5.6, "Configuration Registers"). TABLE 4-1: DS00001570C-page 16 IDEAL BASE COUNTS Ideal Base Count Sample Time 3,200 320us 6,400 640us 12,800 1.28ms 25,600 2.56ms 2013-2015 Microchip Technology Inc. CAP1208 During normal operation there are various options for recalibrating the capacitive touch sensor inputs. Recalibration is a digital adjustment of the base counts so that the untouched delta count is zero. After a recalibration, if a sensor input’s base count has shifted +12.5% from the ideal base count, a full calibration will be performed on the sensor input. 4.4.1 AUTOMATIC RECALIBRATION Each sensor input is regularly recalibrated at a programmable rate(see CAL_CFG[2:0] in Section 5.17, "Recalibration Configuration Register"). By default, the recalibration routine stores the average 64 previous measurements and periodically updates the base “not touched” setting for the capacitive touch sensor input. APPLICATION NOTE: Automatic recalibration only works when the delta count is below the active sensor input threshold. It is disabled when a touch is detected. 4.4.2 NEGATIVE DELTA COUNT RECALIBRATION It is possible that the device loses sensitivity to a touch. This may happen as a result of a noisy environment, recalibration when the pad is touched but delta counts do not exceed the threshold, or other environmental changes. When this occurs, the base untouched sensor input may generate negative delta count values. The NEG_DELTA_CNT[1:0] bits(see Section 5.17, "Recalibration Configuration Register") can be set to force a recalibration after a specified number of consecutive negative delta readings. After a delayed recalibration (see Section 4.4.3, "Delayed Recalibration") the negative delta count recalibration can correct after the touch is released. APPLICATION NOTE: During this recalibration, the device will not respond to touches. 4.4.3 DELAYED RECALIBRATION It is possible that a “stuck button” occurs when something is placed on a button which causes a touch to be detected for a long period. By setting the MAX_DUR_EN bit(see Section 5.6, "Configuration Registers"), a recalibration can be forced when a touch is held on a button for longer than the duration specified in the MAX_DUR[3:0] bits (see Section 5.8, "Sensor Input Configuration Register"). Note 4-1 Delayed recalibration only works when the delta count is above the active sensor input threshold. If enabled, it is invoked when a sensor pad touch is held longer than the MAX_DUR bit settings. Note 4-2 For the power button, which requires that the button be held longer than a regular button, the time specified by the MAX_DUR[3:0] bits is added to the time required to trigger the qualifying event. This will prevent the power button from being recalibrated during the time it is supposed to be held. 4.5 Power Button The CAP1208 has a “power button” feature. In general, buttons are set for quick response to a touch, especially when buttons are used for number keypads. However, there are cases where a quick response is not desired, such as when accidentally brushing the power button causes a device to turn off or on unexpectedly. The power button feature allows a sensor input to be designated as the “power button” (see Section 5.25, "Power Button Register"). The power button is configured so that a touch must be held on the button for a designated period of time before an interrupt is generated; different times can be selected for the Standby and the Active states (see Section 5.26, "Power Button Configuration Register"). The feature can also be enabled / disabled for both states separately. APPLICATION NOTE: For the power button feature to work in the Standby and/or Active states, the sensor input must be enabled in the applicable state. After the designated power button has been held for the designated time, an interrupt is generated and the PWR bit is set in the General Status Register (see Section 5.2, "Status Registers"). 4.6 Multiple Touch Pattern Detection The multiple touch pattern (MTP) detection circuitry can be used to detect lid closure or other similar events. An event can be flagged based on either a minimum number of sensor inputs or on specific sensor inputs simultaneously exceeding an MTP threshold or having their Noise Flag Status Register bits set. An interrupt can also be generated. During an MTP event, all touches are blocked (see Section 5.14, "Multiple Touch Pattern Configuration Register"). 2013-2015 Microchip Technology Inc. DS00001570C-page 17 CAP1208 4.7 Noise Controls 4.7.1 LOW FREQUENCY NOISE DETECTION Each sensor input has a low frequency noise detector that will sense if low frequency noise is injected onto the input with sufficient power to corrupt the readings. By default, if this occurs, the device will reject the corrupted samplesee DIS_ANA_NOISE bit in Section 5.6.1, "Configuration - 20h") and the corresponding bit is set to a logic ‘1’ in the Noise Flag Status register (see SHOW_RF_NOISE bit in Section 5.6.2, "Configuration 2 - 44h"). 4.7.2 RF NOISE DETECTION Each sensor input contains an integrated RF noise detector. This block will detect injected RF noise on the CS pin. The detector threshold is dependent upon the noise frequency. By default, if RF noise is detected on a CS line, that sample is removed and not compared against the threshold (see DIS_RF_NOISE bit in Section 5.6.2, "Configuration 2 - 44h"). 4.7.3 NOISE STATUS AND CONFIGURATION The Noise Flag Status (see Section 5.3, "Noise Flag Status Registers") bits can be used to indicate RF and/or other noise. If the SHOW_RF_NOISE bit in the Configuration Register (see Section 5.6, "Configuration Registers") is set to 0, the Noise Flag Status bit for the capacitive sensor input is set if any analog noise is detected. If the SHOW_RF_NOISE bit is set to 1, the Noise Flag Status bits will only be set if RF noise is detected. The CAP1208 offers optional noise filtering controls for both analog and digital noise. For analog noise, there are options for whether the data should be considered invalid. By default, the DIS_ANA_NOISE bit (see Section 5.6.1, "Configuration - 20h") will block a touch on a sensor input if low frequency analog noise is detected; the sample is discarded. By default, the DIS_RF_NOISE bit (see Section 5.6.2, "Configuration 2 - 44h") will block a touch on a sensor input if RF noise is detected; the sample is discarded. For digital noise, sensor input noise thresholds can be set (see Section 5.19, "Sensor Input Noise Threshold Register"). If a capacitive touch sensor input exceeds the Sensor Noise Threshold but does not exceed the touch threshold (Sensor Threshold (see Section 5.18, "Sensor Input Threshold Registers") in the Active state or Sensor Standby Threshold in the Standby state (Section 5.23, "Standby Threshold Register")), it is determined to be caused by a noise spike. The DIS_DIG_NOISE bit (see Section 5.6.1, "Configuration - 20h") can be set to discard samples that indicate a noise spike so they are not used in the automatic recalibration routine (see Section 4.4.1, "Automatic Recalibration"). 4.8 Interrupts Interrupts are indicated by the setting of the INT bit in the Main Control Register(see Section 5.1, "Main Control Register") and by assertion of the ALERT# pin. The ALERT# pin is cleared when the INT bit is cleared by the user. When the INT bit is cleared by the user, status bits may be cleared (see Section 5.2, "Status Registers"). 4.8.1 ALERT# PIN The ALERT# pin is an active low output that is driven when an interrupt event is detected. 4.8.2 CAPACITIVE SENSOR INPUT INTERRUPT BEHAVIOR Each sensor input can be programmed to enable / disable interrupts(see Section 5.11, "Interrupt Enable Register"). When enabled for a sensor input and the sensor input is not the designated power button, interrupts are generated in one of two ways: 1. 2. An interrupt is generated when a touch is detected and, as a user selectable option, when a release is detected (by default - see INT_REL_n in Section 5.6.2, "Configuration 2 - 44h"). See FIGURE 4-4:. If the repeat rate is enabled then, so long as the touch is held, another interrupt will be generated based on the programmed repeat rate (see FIGURE 4-3:). When the repeat rate is enabled for a sensor input (see Section 5.12, "Repeat Rate Enable Register"), the device uses an additional control called MPRESS that determines whether a touch is flagged as a simple “touch” or a “press and hold” (see Section 5.9, "Sensor Input Configuration 2 Register"). The MPRESS[3:0] bits set a minimum press timer. When the button is touched, the timer begins. If the sensor pad is released before the minimum press timer expires, it is flagged as a touch and an interrupt (if enabled) is generated upon release. If the sensor input detects a touch for longer than this timer value, it is flagged as a “press and hold” event. So long as the touch is held, interrupts will be generated at the programmed repeat rate (see Section 5.8, "Sensor Input Configuration Register") and upon release (if enabled). DS00001570C-page 18 2013-2015 Microchip Technology Inc. CAP1208 If a sensor input is the designated power button, an interrupt is not generated as soon as a touch is detected and repeat rate is not applicable. See Section 4.8.3, "Interrupts for the Power Button". APPLICATION NOTE: FIGURE 4-3: and FIGURE 4-4: show default operation which is to generate an interrupt upon sensor pad release. APPLICATION NOTE: The host may need to poll the device twice to determine that a release has been detected. FIGURE 4-3: SENSOR INTERRUPT BEHAVIOR - REPEAT RATE ENABLED FIGURE 4-4: SENSOR INTERRUPT BEHAVIOR - NO REPEAT RATE ENABLED 4.8.3 INTERRUPTS FOR THE POWER BUTTON Interrupts are automatically enabled for the power button when the feature is enabled (see Section 4.5, "Power Button"). A touch must be held on the power button for the designated period of time before an interrupt is generated. 2013-2015 Microchip Technology Inc. DS00001570C-page 19 CAP1208 4.8.4 INTERRUPTS FOR MULTIPLE TOUCH PATTERN DETECTION An interrupt can be generated when the MTP pattern is matched (see Section 5.14, "Multiple Touch Pattern Configuration Register"). 4.8.5 INTERRUPTS FOR SENSOR INPUT CALIBRATION FAILURES An interrupt can be generated when the ACAL_FAIL bit is set, indicating the failure to complete analog calibration of one or more sensor inputs(see Section 5.2, "Status Registers"). This interrupt can be enabled by setting the ACAL_FAIL_INT bit (see Section 5.6, "Configuration Registers"). An interrupt can be generated when the BC_OUT bit is set, indicating the base count is out of limit for one or more sensor inputs(see Section 5.2, "Status Registers"). This interrupt can be enabled by setting the BC_OUT_INT bit (see Section 5.6, "Configuration Registers"). 4.8.6 INTERRUPTS FOR RESET When the device comes out of reset, an interrupt is generated, and the RESET bit is set. DS00001570C-page 20 2013-2015 Microchip Technology Inc. CAP1208 5.0 REGISTER DESCRIPTION The registers shown in Table 5-1 are accessible through the communications protocol. An entry of ‘-’ indicates that the bit is not used and will always read ‘0’. TABLE 5-1: REGISTER SET IN HEXADECIMAL ORDER Register Address R/W Register Name Function Default Value Page 00h R/W Main Control Controls power states and indicates an interrupt 00h Page 24 02h R/W General Status Stores general status bits 00h Page 25 03h R Sensor Input Status Returns the state of the sampled capacitive touch sensor inputs 00h Page 25 0Ah R Noise Flag Status Stores the noise flags for sensor inputs 00h Page 26 10h R Sensor Input 1 Delta Count Stores the delta count for CS1 00h Page 26 11h R Sensor Input 2 Delta Count Stores the delta count for CS2 00h Page 26 12h R Sensor Input 3 Delta Count Stores the delta count for CS3 00h Page 26 13h R Sensor Input 4 Delta Count Stores the delta count for CS4 00h Page 26 14h R Sensor Input 5 Delta Count Stores the delta count for CS5 00h Page 26 15h R Sensor Input 6 Delta Count Stores the delta count for CS6 00h Page 26 16h R Sensor Input 7 Delta Count Stores the delta count for CS7 00h Page 26 17h R Sensor Input 8 Delta Count Stores the delta count for CS8 00h Page 26 1Fh R/W Sensitivity Control Controls the sensitivity of the threshold and delta counts and data scaling of the base counts 2Fh Page 27 20h R/W Configuration Controls general functionality 20h Page 29 21h R/W Sensor Input Enable Controls which sensor inputs are monitored in Active FFh Page 30 22h R/W Sensor Input Configuration Controls max duration and autorepeat delay A4h Page 31 23h R/W Sensor Input Configuration 2 Controls the MPRESS (“press and hold”) setting 07h Page 32 24h R/W Averaging and Sampling Config Controls averaging and sampling window for Active 39h Page 33 2013-2015 Microchip Technology Inc. DS00001570C-page 21 CAP1208 TABLE 5-1: REGISTER SET IN HEXADECIMAL ORDER (CONTINUED) Register Address R/W Register Name Function Default Value Page 26h R/W Calibration Activate and Status Forces calibration for capacitive touch sensor inputs and indicates calibration failure 00h Page 35 27h R/W Interrupt Enable Determines which capacitive sensor inputs can generate interrupts FFh Page 36 28h R/W Repeat Rate Enable Enables repeat rate for specific sensor inputs FFh Page 36 2Ah R/W Multiple Touch Configuration Determines the number of simultaneous touches to flag a multiple touch condition 80h Page 37 2Bh R/W Multiple Touch Pattern Configuration Determines the multiple touch pattern (MTP) configuration 00h Page 38 2Dh R/W Multiple Touch Pattern Determines the pattern or number of sensor inputs used by the MTP circuitry FFh Page 39 2Eh R Base Count Out of Limit Indicates whether sensor inputs have a base count out of limit 00h Page 39 2Fh R/W Recalibration Configuration Determines recalibration timing and sampling window 8Ah Page 40 30h R/W Sensor Input 1 Threshold Stores the touch detection threshold for Active for CS1 40h Page 42 31h R/W Sensor Input 2 Threshold Stores the touch detection threshold for Active for CS2 40h Page 42 32h R/W Sensor Input 3 Threshold Stores the touch detection threshold for Active for CS3 40h Page 42 33h R/W Sensor Input 4 Threshold Stores the touch detection threshold for Active for CS4 40h Page 42 34h R/W Sensor Input 5 Threshold Stores the touch detection threshold for Active for CS5 40h Page 42 35h R/W Sensor Input 6 Threshold Stores the touch detection threshold for Active for CS6 40h Page 42 36h R/W Sensor Input 7 Threshold Stores the touch detection threshold for Active for CS7 40h Page 42 37h R/W Sensor Input 8 Threshold Stores the touch detection threshold for Active for CS8 40h 38h R/W Sensor Input Noise Threshold Stores controls for selecting the noise threshold for all sensor inputs 01h Page 42 Standby Configuration Registers 40h R/W Standby Channel Controls which sensor inputs are enabled for Standby 00h Page 43 41h R/W Standby Configuration Controls averaging and sensing cycle time for Standby 39h Page 43 DS00001570C-page 22 2013-2015 Microchip Technology Inc. CAP1208 TABLE 5-1: REGISTER SET IN HEXADECIMAL ORDER (CONTINUED) Register Address R/W Register Name Function Default Value Page 42h R/W Standby Sensitivity Controls sensitivity settings used for Standby 02h Page 45 43h R/W Standby Threshold Stores the touch detection threshold for Standby 40h Page 46 44h R/W Configuration 2 Stores additional configuration controls for the device 40h Page 29 Base Count Registers 50h R Sensor Input 1 Base Count Stores the reference count value for sensor input 1 C8h Page 46 51h R Sensor Input 2 Base Count Stores the reference count value for sensor input 2 C8h Page 46 52h R Sensor Input 3 Base Count Stores the reference count value for sensor input 3 C8h Page 46 53h R Sensor Input 4 Base Count Stores the reference count value for sensor input 4 C8h Page 46 54h R Sensor Input 5 Base Count Stores the reference count value for sensor input 5 C8h Page 46 55h R Sensor Input 6 Base Count Stores the reference count value for sensor input 6 C8h Page 46 56h R Sensor Input 7 Base Count Stores the reference count value for sensor input 7 C8h Page 46 57h R Sensor Input 8 Base Count Stores the reference count value for sensor input 8 C8h Page 46 Power Button Registers 60h R/W Power Button Specifies the power button 00h Page 47 61h R/W Power Button Configuration Configures the power button feature 22h Page 47 Calibration Registers B1h B2h B3h B4h B5h B6h R Sensor Input 1 Calibration Stores the upper 8-bit calibration value for CS1 00h Page 48 R Sensor Input 2 Calibration Stores the upper 8-bit calibration value for CS2 00h Page 48 R Sensor Input 3 Calibration Stores the upper 8-bit calibration value for CS3 00h Page 48 R Sensor Input 4 Calibration Stores the upper 8-bit calibration value for CS4 00h Page 48 R Sensor Input 5 Calibration Stores the upper 8-bit calibration value for CS5 00h Page 48 R Sensor Input 6 Calibration Stores the upper 8-bit calibration value for CS6 00h Page 48 2013-2015 Microchip Technology Inc. DS00001570C-page 23 CAP1208 TABLE 5-1: REGISTER SET IN HEXADECIMAL ORDER (CONTINUED) Register Address B7h B8h B9h BAh R/W Register Name Function Default Value Page R Sensor Input 7 Calibration Stores the upper 8-bit calibration value for CS7 00h Page 48 R Sensor Input 8 Calibration Stores the upper 8-bit calibration value for CS8 00h Page 48 R Sensor Input Calibration LSB 1 Stores the 2 LSBs of the calibration value for CS1 - CS4 00h Page 48 R Sensor Input Calibration LSB 2 Stores the 2 LSBs of the calibration value for CS5 - CS8 00h Page 48 ID Registers FDh R Product ID Stores a fixed value that identifies the CAP1208 6Bh Page 49 FEh R Manufacturer ID Stores a fixed value that identifies MCHP 5Dh Page 49 FFh R Revision Stores a fixed value that represents the revision number 00h Page 49 During power-on reset (POR), the default values are stored in the registers. A POR is initiated when power is first applied to the part and the voltage on the VDD supply surpasses the POR level as specified in the electrical characteristics. When a bit is “set”, this means it’s at a logic ‘1’. When a bit is “cleared”, this means it’s at a logic ‘0’. 5.1 TABLE 5-2: Main Control Register MAIN CONTROL REGISTER Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default 00h R/W Main Control - - STBY DSLEEP - - - INT 00h The Main Control register controls the primary power state of the device (see Section 4.1, "Power States"). Bit 5 - STBY - Enables Standby. • ‘0’ (default) - The device is not in the Standby state. • ‘1’ - The device is in the Standby state. Capacitive touch sensor input scanning is limited to the sensor inputs set in the Standby Channel register (see Section 5.20, "Standby Channel Register"). The status registers will not be cleared until read. Sensor inputs that are no longer sampled will flag a release and then remain in a non-touched state. Bit 4 - DSLEEP - Enables Deep Sleep. • ‘0’ (default) - The device is not in the Deep Sleep state. • ‘1’ - The device is in the Deep Sleep state. All sensor input scanning is disabled. The status registers are automatically cleared and the INT bit is cleared. When this bit is set, the STBY bit has no effect. Bit 0 - INT - Indicates that there is an interrupt (see Section 4.8, "Interrupts"). When this bit is set, it asserts the ALERT# pin. If a channel detects a touch but interrupts are not enabled for that channel (see Section 5.11, "Interrupt Enable Register"), no action is taken. This bit is cleared by writing a logic ‘0’ to it. When this bit is cleared, the ALERT# pin will be deasserted, and all status registers will be cleared if the condition has been removed. DS00001570C-page 24 2013-2015 Microchip Technology Inc. CAP1208 • ‘0’ - No interrupt pending. • ‘1’ - An interrupt condition occurred, and the ALERT# pin has been asserted. 5.2 Status Registers TABLE 5-3: STATUS REGISTERS Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default 02h R General Status - BC_ OUT ACAL _FAIL PWR RESET MULT MTP TOUCH 00h 03h R Sensor Input Status CS8 CS7 CS6 CS5 CS4 CS3 CS2 CS1 00h All status bits are cleared when the device enters Deep Sleep (DSLEEP = ‘1’ - see Section 5.1, "Main Control Register"). 5.2.1 GENERAL STATUS - 02H Bit 6 - BC_OUT - Indicates that the base count is out of limit for one or more enabled sensor inputs (see Section 4.4, "Sensor Input Calibration"). This bit will not be cleared until all enabled sensor inputs have base counts within the limit. • ‘0’ - All enabled sensor inputs have base counts in the operating range. • ‘1’ - One or more enabled sensor inputs has the base count out of limit. A status bit is set in the Base Count Out of Limit Register (see Section 5.16, "Base Count Out of Limit Register"). Bit 5 - ACAL_FAIL - Indicates analog calibration failure for one or more enabled sensor inputs (see Section 4.4, "Sensor Input Calibration"). This bit will not be cleared until all enabled sensor inputs have successfully completed analog calibration. • ‘0’ - All enabled sensor inputs were successfully calibrated. • ‘1’ - One or more enabled sensor inputs failed analog calibration. A status bit is set in the Calibration Active Register (see Section 5.10.1, "Calibration Activate and Status Register"). Bit 4 - PWR - Indicates that the designated power button has been held for the designated time (see Section 4.5, "Power Button"). This bit will cause the INT bit to be set. This bit is cleared when the INT bit is cleared if there is no longer a touch on the power button. • ‘0’ - The power button has not been held for the required time or is not enabled. • ‘1’ - The power button has been held for the required time. Bit 3 - RESET - Indicates that the device has come out of reset. This bit is set when the device exits a POR state. This bit will cause the INT bit to be set and is cleared when the INT bit is cleared. Bit 2 - MULT - Indicates that the device is blocking detected touches due to the Multiple Touch detection circuitry (see Section 5.13, "Multiple Touch Configuration Register"). This bit will not cause the INT bit to be set and hence will not cause an interrupt. Bit 1 - MTP - Indicates that the device has detected a number of sensor inputs that exceed the MTP threshold either via the pattern recognition or via the number of sensor inputs (see Section 5.14, "Multiple Touch Pattern Configuration Register"). This bit will cause the INT bit to be set if the MTP_ALERT bit is also set. This bit is cleared when the INT bit is cleared if the condition that caused it to be set has been removed. Bit 0 - TOUCH - Indicates that a touch was detected. This bit is set if any bit in the Sensor Input Status register is set. 5.2.2 SENSOR INPUT STATUS - 03H The Sensor Input Status Register stores status bits that indicate a touch has been detected. A value of ‘0’ in any bit indicates that no touch has been detected. A value of ‘1’ in any bit indicates that a touch has been detected. All bits are cleared when the INT bit is cleared and if a touch on the respective capacitive touch sensor input is no longer present. If a touch is still detected, the bits will not be cleared (but this will not cause the interrupt to be asserted). Bit 7 - CS8 - Indicates that a touch was detected on Sensor Input 8. Bit 6 - CS7 - Indicates that a touch was detected on Sensor Input 7. 2013-2015 Microchip Technology Inc. DS00001570C-page 25 CAP1208 Bit 5 - CS6 - Indicates that a touch was detected on Sensor Input 6. Bit 4 - CS5 - Indicates that a touch was detected on Sensor Input 5. Bit 3 - CS4 - Indicates that a touch was detected on Sensor Input 4. Bit 2 - CS3 - Indicates that a touch was detected on Sensor Input 3. Bit 1 - CS2 - Indicates that a touch was detected on Sensor Input 2. Bit 0 - CS1 - Indicates that a touch was detected on Sensor Input 1. 5.3 TABLE 5-4: Noise Flag Status Registers NOISE FLAG STATUS REGISTERS Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default 0Ah R Noise Flag Status CS8_ NOISE CS7_ NOISE CS6_ NOISE CS5_ NOISE CS4_ NOISE CS3_ NOISE CS2_ NOISE CS1_ NOISE 00h The Noise Flag Status registers store status bits that can be used to indicate that the analog block detected noise above the operating region of the analog detector or the RF noise detector (see Section 4.7.3, "Noise Status and Configuration"). These bits indicate that the most recently received data from the sensor input is invalid and should not be used for touch detection. So long as the bit is set for a particular channel, the delta count value is reset to 00h and thus no touch is detected. These bits are not sticky and will be cleared automatically if the analog block does not report a noise error. APPLICATION NOTE: If the MTP detection circuitry is enabled, these bits count as sensor inputs above the MTP threshold (see Section 4.6, "Multiple Touch Pattern Detection") even if the corresponding delta count is not. If the corresponding delta count also exceeds the MTP threshold, it is not counted twice. APPLICATION NOTE: Regardless of the state of the Noise Status bits, if low frequency noise is detected on a sensor input, that sample will be discarded unless the DIS_ANA_NOISE bit is set. As well, if RF noise is detected on a sensor input, that sample will be discarded unless the DIS_RF_NOISE bit is set. 5.4 Sensor Input Delta Count Registers TABLE 5-5: SENSOR INPUT DELTA COUNT REGISTERS Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default 10h R Sensor Input 1 Delta Count Sign 64 32 16 8 4 2 1 00h 11h R Sensor Input 2 Delta Count Sign 64 32 16 8 4 2 1 00h 12h R Sensor Input 3 Delta Count Sign 64 32 16 8 4 2 1 00h 13h R Sensor Input 4 Delta Count Sign 64 32 16 8 4 2 1 00h 14h R Sensor Input 5 Delta Count Sign 64 32 16 8 4 2 1 00h DS00001570C-page 26 2013-2015 Microchip Technology Inc. CAP1208 TABLE 5-5: SENSOR INPUT DELTA COUNT REGISTERS (CONTINUED) Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default 15h R Sensor Input 6 Delta Count Sign 64 32 16 8 4 2 1 00h 16h R Sensor Input 7 Delta Count Sign 64 32 16 8 4 2 1 00h 17h R Sensor Input 8 Delta Count Sign 64 32 16 8 4 2 1 00h The Sensor Input Delta Count registers store the delta count that is compared against the threshold used to determine if a touch has been detected. The count value represents a change in input due to the capacitance associated with a touch on one of the sensor inputs and is referenced to a calibrated base “not touched” count value. The delta is an instantaneous change and is updated once per sensor input per sensing cycle (see Section 4.3.2, "Sensing Cycle"). The value presented is a standard 2’s complement number. In addition, the value is capped at a value of 7Fh. A reading of 7Fh indicates that the sensitivity settings are too high and should be adjusted accordingly (see Section 5.5). The value is also capped at a negative value of 80h for negative delta counts which may result upon a release. 5.5 TABLE 5-6: Sensitivity Control Register SENSITIVITY CONTROL REGISTER Addr R/W Register B7 1Fh R/W Sensitivity Control - B6 B5 B4 DELTA_SENSE[2:0] B3 B2 B1 B0 Default BASE_SHIFT[3:0] The Sensitivity Control register controls the sensitivity of a touch detection. Bits 6-4 DELTA_SENSE[2:0] - Controls the sensitivity of a touch detection for sensor inputs enabled in the Active state. The sensitivity settings act to scale the relative delta count value higher or lower based on the system parameters. A setting of 000b is the most sensitive while a setting of 111b is the least sensitive. At the more sensitive settings, touches are detected for a smaller delta capacitance corresponding to a “lighter” touch. These settings are more sensitive to noise, however, and a noisy environment may flag more false touches with higher sensitivity levels. APPLICATION NOTE: A value of 128x is the most sensitive setting available. At the most sensitive settings, the MSB of the Delta Count register represents 64 out of ~25,000 which corresponds to a touch of approximately 0.25% of the base capacitance (or a C of 25fF from a 10pF base capacitance). Conversely, a value of 1x is the least sensitive setting available. At these settings, the MSB of the Delta Count register corresponds to a delta count of 8192 counts out of ~25,000 which corresponds to a touch of approximately 33% of the base capacitance (or a C of 3.33pF from a 10pF base capacitance). TABLE 5-7: DELTA_SENSE BIT DECODE DELTA_SENSE[2:0] Sensitivity Multiplier 2 1 0 0 0 0 128x (most sensitive) 0 0 1 64x 0 1 0 32x (default) 2013-2015 Microchip Technology Inc. DS00001570C-page 27 2Fh CAP1208 TABLE 5-7: DELTA_SENSE BIT DECODE (CONTINUED) DELTA_SENSE[2:0] Sensitivity Multiplier 2 1 0 0 1 1 16x 1 0 0 8x 1 0 1 4x 1 1 0 2x 1 1 1 1x - (least sensitive) Bits 3 - 0 - BASE_SHIFT[3:0] - Controls the scaling and data presentation of the Base Count registers. The higher the value of these bits, the larger the range and the lower the resolution of the data presented. The scale factor represents the multiplier to the bit-weighting presented in these register descriptions. APPLICATION NOTE: The BASE_SHIFT[3:0] bits normally do not need to be updated. These settings will not affect touch detection or sensitivity. These bits are sometimes helpful in analyzing the Cap Sensing board performance and stability. TABLE 5-8: BASE_SHIFT BIT DECODE BASE_SHIFT[3:0] Data Scaling Factor 3 2 1 0 0 0 0 0 1x 0 0 0 1 2x 0 0 1 0 4x 0 0 1 1 8x 0 1 0 0 16x 0 1 0 1 32x 0 1 1 0 64x 0 1 1 1 128x 1 0 0 0 256x All others DS00001570C-page 28 256x (default = 1111b) 2013-2015 Microchip Technology Inc. CAP1208 5.6 Configuration Registers TABLE 5-9: CONFIGURATION REGISTERS Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default 20h R/W Configuration TIME OUT - DIS_ DIG_ NOISE DIS_ ANA_ NOISE MAX_ DUR_EN - - - 20h 44h R/W Configuration 2 - BC_ OUT_ RECAL BLK_ PWR_ CTRL BC_ OUT_ INT SHOW_ RF_ NOISE DIS_ RF_ NOISE ACAL _FAIL _INT INT_ REL_ n 40h The Configuration registers control general global functionality that affects the entire device. 5.6.1 CONFIGURATION - 20H Bit 7 - TIMEOUT - Enables the timeout and idle functionality of the SMBus protocol. • ‘0’ (default) - The SMBus timeout and idle functionality are disabled. The SMBus interface will not time out if the clock line is held low. Likewise, it will not reset if both the data and clock lines are held high for longer than 200us. • ‘1’ - The SMBus timeout and idle functionality are enabled. The SMBus interface will reset if the clock line is held low for longer than 30ms. Likewise, it will reset if both the data and clock lines are held high for longer than 200us. Bit 5 - DIS_DIG_NOISE - Determines whether the digital noise threshold (see Section 5.19, "Sensor Input Noise Threshold Register") is used by the device. Setting this bit disables the feature. • ‘0’ - The digital noise threshold is used. If a delta count value exceeds the noise threshold but does not exceed the touch threshold, the sample is discarded and not used for the automatic recalibration routine. • ‘1’ (default) - The noise threshold is disabled. Any delta count that is less than the touch threshold is used for the automatic recalibration routine. Bit 4 - DIS_ANA_NOISE - Determines whether the analog noise filter is enabled. Setting this bit disables the feature. • ‘0’ (default) - If low frequency noise is detected by the analog block, the delta count on the corresponding channel is set to 0. Note that this does not require that Noise Status bits be set. • ‘1’ - A touch is not blocked even if low frequency noise is detected. Bit 3 - MAX_DUR_EN - Determines whether the maximum duration recalibration is enabled. • ‘0’ (default) - The maximum duration recalibration functionality is disabled. A touch may be held indefinitely and no recalibration will be performed on any sensor input. • ‘1’ - The maximum duration recalibration functionality is enabled. If a touch is held for longer than the MAX_DUR bit settings (see Section 5.8), the recalibration routine will be restarted (see Section 4.4.3, "Delayed Recalibration"). 5.6.2 CONFIGURATION 2 - 44H Bit 6 - BC_OUT_RECAL - Controls whether to retry analog calibration when the base count is out of limit for one or more sensor inputs. • ‘0’ - When the BC_OUTx bit is set for a sensor input, the out of limit base count will be used for the sensor input. • ‘1’ (default) - When the BC_OUTx bit is set for a sensor input (see Section 5.16, "Base Count Out of Limit Register"), analog calibration will be repeated on the sensor input. Bit 5 - BLK_PWR_CTRL - Determines whether the device will reduce power consumption while waiting between conversion time completion and the end of the sensing cycle. • ‘0’ (default) - The device will reduce power consumption during the time between the end of the last conversion and the end of the sensing cycle. • ‘1’ - The device will not reduce power consumption during the time between the end of the last conversion and the end of the sensing cycle. 2013-2015 Microchip Technology Inc. DS00001570C-page 29 CAP1208 Bit 4 - BC_OUT_INT - Controls the interrupt behavior when the base count is out of limit for one or more sensor inputs. • ‘0’ (default) - An interrupt is not generated when the BC_OUT bit is set (see Section 5.2, "Status Registers"). • ‘1’ - An interrupt is generated when the BC_OUT bit is set. Bit 3 - SHOW_RF_NOISE - Determines whether the Noise Status bits will show RF Noise as the only input source. • ‘0’ (default) - The Noise Status registers will show both RF noise and low frequency noise if either is detected on a capacitive touch sensor input. • ‘1’ - The Noise Status registers will only show RF noise if it is detected on a capacitive touch sensor input. Low frequency noise will still be detected and touches will be blocked normally; however, the status bits will not be updated. Bit 2 - DIS_RF_NOISE - Determines whether the RF noise filter is enabled. Setting this bit disables the feature. • ‘0’ (default) - If RF noise is detected by the analog block, the delta count on the corresponding channel is set to 0. Note that this does not require that Noise Status bits be set. • ‘1’ - A touch is not blocked even if RF noise is detected. Bit 1 - ACAL_FAIL_INT - Controls the interrupt behavior when analog calibration fails for one or more sensor inputs (see Section 4.4, "Sensor Input Calibration"). • ‘0’ (default) - An interrupt is not generated when the ACAL_FAIL bit is set (see Section 5.2, "Status Registers"). • ‘1’ - An interrupt is generated when the ACAL_FAIL bit is set Bit 0 - INT_REL_n - Controls the interrupt behavior when a release is detected on a button (see Section 4.8.2, "Capacitive Sensor Input Interrupt Behavior"). • ‘0’ (default) - An interrupt is generated when a press is detected and again when a release is detected and at the repeat rate (if enabled - see Section 5.12). • ‘1’ - An interrupt is generated when a press is detected and at the repeat rate but not when a release is detected. 5.7 TABLE 5-10: Sensor Input Enable Register SENSOR INPUT ENABLE REGISTER Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default 21h R/W Sensor Input Enable CS8_EN CS7_EN CS6_EN CS5_EN CS4_EN CS3_EN CS2_EN CS1_EN FFh The Sensor Input Enable register determines whether a capacitive touch sensor input is included in the sensing cycle in the Active state. For all bits in this register: • ‘0’ - The specified input is not included in the sensing cycle in the Active state. • ‘1’ (default) - The specified input is included in the sensing cycle in the Active state. Bit 7 - CS8_EN - Determines whether the CS8 input is monitored in the Active state. Bit 6 - CS7_EN - Determines whether the CS7 input is monitored in the Active state. Bit 5 - CS6_EN - Determines whether the CS6 input is monitored in the Active state. Bit 4 - CS5_EN - Determines whether the CS5 input is monitored in the Active state. Bit 3 - CS4_EN - Determines whether the CS4 input is monitored in the Active state. Bit 2 - CS3_EN - Determines whether the CS3 input is monitored in the Active state. Bit 1 - CS2_EN - Determines whether the CS2 input is monitored in the Active state. Bit 0 - CS1_EN - Determines whether the CS1 input is monitored in the Active state. DS00001570C-page 30 2013-2015 Microchip Technology Inc. CAP1208 5.8 Sensor Input Configuration Register TABLE 5-11: SENSOR INPUT CONFIGURATION REGISTER Addr R/W Register 22h R/W Sensor Input Configuration B7 B6 B5 B4 MAX_DUR[3:0] B3 B2 B1 B0 RPT_RATE[3:0] Default A4h The Sensor Input Configuration Register controls timings associated with the capacitive sensor inputs. Bits 7 - 4 - MAX_DUR[3:0] - (default 1010b) - Determines the maximum time that a sensor pad is allowed to be touched until the capacitive touch sensor input is recalibrated (see Section 4.4.3, "Delayed Recalibration"), as shown in Table 512. TABLE 5-12: MAX_DUR BIT DECODE MAX_DUR[3:0] Time before Recalibration 3 2 1 0 0 0 0 0 560ms 0 0 0 1 840ms 0 0 1 0 1120ms 0 0 1 1 1400ms 0 1 0 0 1680ms 0 1 0 1 2240ms 0 1 1 0 2800ms 0 1 1 1 3360ms 1 0 0 0 3920ms 1 0 0 1 4480ms 1 0 1 0 5600ms (default) 1 0 1 1 6720ms 1 1 0 0 7840ms 1 1 0 1 8906ms 1 1 1 0 10080ms 1 1 1 1 11200ms Bits 3 - 0 - RPT_RATE[3:0] - (default 0100b) Determines the time duration between interrupt assertions when auto repeat is enabled (see Section 4.8.2, "Capacitive Sensor Input Interrupt Behavior"). The resolution is 35ms and the range is from 35ms to 560ms as shown in Table 5-13. 2013-2015 Microchip Technology Inc. DS00001570C-page 31 CAP1208 TABLE 5-13: RPT_RATE BIT DECODE RPT_RATE[3:0] Interrupt Repeat Rate 5.9 3 2 1 0 0 0 0 0 35ms 0 0 0 1 70ms 0 0 1 0 105ms 0 0 1 1 140ms 0 1 0 0 175ms (default) 0 1 0 1 210ms 0 1 1 0 245ms 0 1 1 1 280ms 1 0 0 0 315ms 1 0 0 1 350ms 1 0 1 0 385ms 1 0 1 1 420ms 1 1 0 0 455ms 1 1 0 1 490ms 1 1 1 0 525ms 1 1 1 1 560ms Sensor Input Configuration 2 Register TABLE 5-14: SENSOR INPUT CONFIGURATION 2 REGISTER Addr R/W Register B7 B6 B5 B4 23h R/W Sensor Input Configuration 2 - - - - B3 B2 B1 M_PRESS[3:0] B0 Default 07h Bits 3 - 0 - M_PRESS[3:0] - (default 0111b) - Determines the minimum amount of time that sensor inputs configured to use auto repeat must detect a sensor pad touch to detect a “press and hold” event (see Section 4.8.2, "Capacitive Sensor Input Interrupt Behavior"). If the sensor input detects a touch for longer than the M_PRESS[3:0] settings, a “press and hold” event is detected. If a sensor input detects a touch for less than or equal to the M_PRESS[3:0] settings, a touch event is detected. The resolution is 35ms and the range is from 35ms to 560ms as shown in Table 5-15. DS00001570C-page 32 2013-2015 Microchip Technology Inc. CAP1208 TABLE 5-15: M_PRESS BIT DECODE M_PRESS[3:0] M_PRESS Settings 5.10 3 2 1 0 0 0 0 0 35ms 0 0 0 1 70ms 0 0 1 0 105ms 0 0 1 1 140ms 0 1 0 0 175ms 0 1 0 1 210ms 0 1 1 0 245ms 0 1 1 1 280ms (default) 1 0 0 0 315ms 1 0 0 1 350ms 1 0 1 0 385ms 1 0 1 1 420ms 1 1 0 0 455ms 1 1 0 1 490ms 1 1 1 0 525ms 1 1 1 1 560ms Averaging and Sampling Configuration Register TABLE 5-16: AVERAGING AND SAMPLING CONFIGURATION REGISTER Addr R/W Register B7 24h R/W Averaging and Sampling Config - B6 B5 AVG[2:0] B4 B3 B2 SAMP_TIME[1:0] B1 B0 CYCLE_TIME [1:0] Default 39h The Averaging and Sampling Configuration register controls the number of samples taken and the target sensing cycle time for sensor inputs enabled in the Active state. Bits 6 - 4 - AVG[2:0] - Determines the number of samples that are taken for all channels enabled in the Active state during the sensing cycle as shown in Table 5-17. All samples are taken consecutively on the same channel before the next channel is sampled and the result is averaged over the number of samples measured before updating the measured results. For example, if CS1, CS2, and CS3 are sampled during the sensing cycle, and the AVG[2:0] bits are set to take 4 samples per channel, then the full sensing cycle will be: CS1, CS1, CS1, CS1, CS2, CS2, CS2, CS2, CS3, CS3, CS3, CS3. 2013-2015 Microchip Technology Inc. DS00001570C-page 33 CAP1208 TABLE 5-17: AVG BIT DECODE AVG[2:0] Number Of Samples Taken Per Measurement 2 1 0 0 0 0 1 0 0 1 2 0 1 0 4 0 1 1 8 (default) 1 0 0 16 1 0 1 32 1 1 0 64 1 1 1 128 Bits 3 - 2 - SAMP_TIME[1:0] - Determines the time to take a single sample as shown in Table 5-18. Sample time affects the magnitude of the base counts, as shown in Table 4-1, "Ideal Base Counts". TABLE 5-18: SAMP_TIME BIT DECODE SAMP_TIME[1:0] Sample Time 1 0 0 0 320us 0 1 640us 1 0 1.28ms (default) 1 1 2.56ms Bits 1 - 0 - CYCLE_TIME[1:0] - Determines the desired sensing cycle time for channels enabled in the Active state, as shown in Table 5-19. All enabled channels are sampled at the beginning of the sensing cycle. If additional time is remaining, the device is placed into a lower power state for the remainder of the sensing cycle. TABLE 5-19: CYCLE_TIME BIT DECODE CYCLE_TIME[1:0] Programmed Sensing Cycle Time 1 0 0 0 35ms 0 1 70ms (default) 1 0 105ms 1 1 140ms DS00001570C-page 34 2013-2015 Microchip Technology Inc. CAP1208 APPLICATION NOTE: The programmed sensing cycle time (CYCLE_TIME[1:0]) is only maintained if the actual time to take the samples is less than the programmed cycle time. The AVG[2:0] bits will take priority, so the sensing cycle time will be extended as necessary to accommodate the number of samples to be measured. 5.10.1 CALIBRATION ACTIVATE AND STATUS REGISTER TABLE 5-20: CALIBRATION ACTIVATE AND STATUS REGISTER Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default 26h R/W Calibration Activate and Status CS8_ CAL CS7_ CAL CS6_ CAL CS5_ CAL CS4_ CAL CS3_ CAL CS2_ CAL CS1_ CAL 00h The Calibration Activate and Status Register serves a dual function: 1. It forces the selected sensor inputs to be calibrated, affecting both the analog and digital blocks (see Section 4.4, "Sensor Input Calibration"). When one or more bits are set, the device performs the calibration routine on the corresponding sensor inputs. When the analog calibration routine is finished, the CALX[9:0] bits are updated (see Section 5.27, "Sensor Input Calibration Registers"). If the analog calibration routine completed successfully for a sensor input, the corresponding bit is automatically cleared. APPLICATION NOTE: In the case above, bits can be set by host or are automatically set by the device whenever a sensor input is newly enabled (such as coming out of Deep Sleep, after power-on reset, when a bit is set in the Sensor Enable Channel Enable register (21h) and the device is in the Active state, or when a bit is set in the Standby Channel Enable Register (40h) and the device is in the Standby state). 2. It serves as an indicator of an analog calibration failure. If any of the bits could not be cleared, the ACAL_FAIL bit is set (see Section 5.2, "Status Registers"). A bit will fail to clear if a noise bit is set or if the calibration value is at the maximum or minimum value. APPLICATION NOTE: In the case above, do not check the Calibration Activate and Status bits for failures unless the ACAL_FAIL bit is set. In addition, if a sensor input is newly enabled, do not check the Calibration Activate and Status bits until time has elapsed to complete calibration on the sensor input. Otherwise, the ACAL_FAIL bit may be set for one sensor input, but the newly enabled sensor input may still be set to ‘1’ in the Calibration Activate and Status, not because it failed, but because it has not been calibrated yet. For all bits in this register: • ‘0’ - No action needed. • ‘1’ - Writing a ‘1’, forces a calibration on the corresponding sensor input. If the ACAL_FAIL flag is set and this bit is set (see application note above), the sensor input could not complete analog calibration. Bit 7 - CS8_CAL - Bit for CS8 input. Bit 6 - CS7_CAL - Bit for CS7 input. Bit 5 - CS6_CAL - Bit for CS6 input. Bit 4 - CS5_CAL - Bit for CS5 input. Bit 3 - CS4_CAL - Bit for CS4 input. Bit 2 - CS3_CAL - Bit for CS3 input. Bit 1 - CS2_CAL - Bit for CS2 input. Bit 0 - CS1_CAL - Bit for CS1 input. APPLICATION NOTE: Writing a ‘0’ to clear a ‘1’ may cause a planned calibration to be skipped, if the calibration routine had not reached the sensor input yet. 2013-2015 Microchip Technology Inc. DS00001570C-page 35 CAP1208 5.11 Interrupt Enable Register TABLE 5-21: INTERRUPT ENABLE REGISTER Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default 27h R/W Interrupt Enable CS8_ INT_EN CS7_ INT_EN CS6_ INT_EN CS5_ INT_EN CS4_ INT_EN CS3_ INT_EN CS2_ INT_EN CS1_ INT_EN FFh The Interrupt Enable register determines whether a sensor pad touch or release (if enabled) causes an interrupt (see Section 4.8, "Interrupts"). For all bits in this register: • ‘0’ - The ALERT# pin will not be asserted if a touch is detected on the specified sensor input. • ‘1’ (default) - The ALERT# pin will be asserted if a touch is detected on the specified sensor input. Bit 7 - CS8_INT_EN - Enables the ALERT# pin to be asserted if a touch is detected on CS8 (associated with the CS8 status bit). Bit 6 - CS7_INT_EN - Enables the ALERT# pin to be asserted if a touch is detected on CS7 (associated with the CS7 status bit). Bit 5 - CS6_INT_EN - Enables the ALERT# pin to be asserted if a touch is detected on CS6 (associated with the CS6 status bit). Bit 4 - CS5_INT_EN - Enables the ALERT# pin to be asserted if a touch is detected on CS5 (associated with the CS5 status bit). Bit 3 - CS4_INT_EN - Enables the ALERT# pin to be asserted if a touch is detected on CS4 (associated with the CS4 status bit). Bit 2 - CS3_INT_EN - Enables the ALERT# pin to be asserted if a touch is detected on CS3 (associated with the CS3 status bit). Bit 1 - CS2_INT_EN - Enables the ALERT# pin to be asserted if a touch is detected on CS2 (associated with the CS2 status bit). Bit 0 - CS1_INT_EN - Enables the ALERT# pin to be asserted if a touch is detected on CS1 (associated with the CS1 status bit). 5.12 TABLE 5-22: Repeat Rate Enable Register REPEAT RATE ENABLE REGISTER Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default 28h R/W Repeat Rate Enable CS8_ RPT_EN CS7_ RPT_EN CS6_ RPT_EN CS5_ RPT_EN CS4_ RPT_EN CS3_ RPT_EN CS2_ RPT_EN CS1_ RPT_EN FFh The Repeat Rate Enable register enables the repeat rate of the sensor inputs as described in Section 4.8.2, "Capacitive Sensor Input Interrupt Behavior". For all bits in this register: • ‘0’ - The repeat rate for the specified sensor input is disabled. It will only generate an interrupt when a touch is detected and when a release is detected (if enabled) no matter how long the touch is held. • ‘1’ (default) - The repeat rate for the specified sensor input is enabled. In the case of a “touch” event, it will generate an interrupt when a touch is detected and a release is detected (as determined by the INT_REL_n bit - see Section 5.6, "Configuration Registers"). In the case of a “press and hold” event, it will generate an interrupt when a touch is detected and at the repeat rate so long as the touch is held. Bit 7 - CS8_RPT_EN - Enables the repeat rate for capacitive touch sensor input 8. DS00001570C-page 36 2013-2015 Microchip Technology Inc. CAP1208 Bit 6 - CS7_RPT_EN - Enables the repeat rate for capacitive touch sensor input 7. Bit 5 - CS6_RPT_EN - Enables the repeat rate for capacitive touch sensor input 6. Bit 4 - CS5_RPT_EN - Enables the repeat rate for capacitive touch sensor input 5. Bit 3 - CS4_RPT_EN - Enables the repeat rate for capacitive touch sensor input 4. Bit 2 - CS3_RPT_EN - Enables the repeat rate for capacitive touch sensor input 3. Bit 1 - CS2_RPT_EN - Enables the repeat rate for capacitive touch sensor input 2. Bit 0 - CS1_RPT_EN - Enables the repeat rate for capacitive touch sensor input 1. 5.13 Multiple Touch Configuration Register TABLE 5-23: MULTIPLE TOUCH CONFIGURATION Addr R/W Register B7 B6 B5 B4 2Ah R/W Multiple Touch Config MULT _BLK_ EN - - - B3 B2 B_MULT_T[1:0] B1 B0 Default - - 80h The Multiple Touch Configuration register controls the settings for the multiple touch detection circuitry. These settings determine the number of simultaneous buttons that may be pressed before additional buttons are blocked and the MULT status bit is set. Bit 7 - MULT_BLK_EN - Enables the multiple button blocking circuitry. • ‘0’ - The multiple touch circuitry is disabled. The device will not block multiple touches. • ‘1’ (default) - The multiple touch circuitry is enabled. The device will flag the number of touches equal to programmed multiple touch threshold and block all others. It will remember which sensor inputs are valid and block all others until that sensor pad has been released. Once a sensor pad has been released, the N detected touches (determined via the sensing cycle order of CS1 - CS8) will be flagged and all others blocked. Bits 3 - 2 - B_MULT_T[1:0] - Determines the number of simultaneous touches on all sensor pads before a Multiple Touch Event is detected and sensor inputs are blocked. The bit decode is given by Table 5-24. TABLE 5-24: B_MULT_T BIT DECODE B_MULT_T[1:0] Number of Simultaneous Touches 1 0 0 0 1 (default) 0 1 2 1 0 3 1 1 4 2013-2015 Microchip Technology Inc. DS00001570C-page 37 CAP1208 5.14 TABLE 5-25: Multiple Touch Pattern Configuration Register MULTIPLE TOUCH PATTERN CONFIGURATION Addr R/W Register B7 B6 B5 B4 2Bh R/W Multiple Touch Pattern Config MTP_ EN - - - B3 B2 MTP_TH[1:0] B1 B0 Default COMP_ PTRN MTP_ ALERT 00h The Multiple Touch Pattern Configuration register controls the settings for the multiple touch pattern detection circuitry. This circuitry works like the multiple touch detection circuitry with the following differences: 1. 2. 3. 4. The detection threshold is a percentage of the touch detection threshold as defined by the MTP_TH[1:0] bits whereas the multiple touch circuitry uses the touch detection threshold. The MTP detection circuitry either will detect a specific pattern of sensor inputs as determined by the Multiple Touch Pattern register settings or it will use the Multiple Touch Pattern register settings to determine a minimum number of sensor inputs that will cause the MTP circuitry to flag an event (see Section 5.15, "Multiple Touch Pattern Register"). When using pattern recognition mode, if all of the sensor inputs set by the Multiple Touch Pattern register have a delta count greater than the MTP threshold or have their corresponding Noise Flag Status bits set, the MTP bit will be set. When using the absolute number mode, if the number of sensor inputs with thresholds above the MTP threshold or with Noise Flag Status bits set is equal to or greater than this number, the MTP bit will be set. When an MTP event occurs, all touches are blocked and an interrupt is generated. All sensor inputs will remain blocked so long as the requisite number of sensor inputs are above the MTP threshold or have Noise Flag Status bits set. Once this condition is removed, touch detection will be restored. Note that the MTP status bit is only cleared by writing a ‘0’ to the INT bit once the condition has been removed. Bit 7 - MTP_EN - Enables the multiple touch pattern detection circuitry. • ‘0’ (default) - The MTP detection circuitry is disabled. • ‘1’ - The MTP detection circuitry is enabled. Bits 3 - 2 - MTP_TH[1:0] - Determine the MTP threshold, as shown in Table 5-26. This threshold is a percentage of sensor input threshold (see Section 5.18, "Sensor Input Threshold Registers") for inputs enabled in the Active state or of the standby threshold (see Section 5.23, "Standby Threshold Register") for inputs enabled in the Standby state. TABLE 5-26: MTP_TH BIT DECODE MTP_TH[1:0] Threshold Divide Setting 1 0 0 0 12.5% (default) 0 1 25% 1 0 37.5% 1 1 100% Bit 1 - COMP_PTRN - Determines whether the MTP detection circuitry will use the Multiple Touch Pattern register as a specific pattern of sensor inputs or as an absolute number of sensor inputs. • ‘0’ (default) - The MTP detection circuitry will use the Multiple Touch Pattern register bit settings as an absolute minimum number of sensor inputs that must be above the threshold or have Noise Flag Status bits set. The number will be equal to the number of bits set in the register. • ‘1’ - The MTP detection circuitry will use pattern recognition. Each bit set in the Multiple Touch Pattern register indicates a specific sensor input that must have a delta count greater than the MTP threshold or have a Noise Flag Status bit set. If the criteria are met, the MTP status bit will be set. DS00001570C-page 38 2013-2015 Microchip Technology Inc. CAP1208 Bit 0 - MTP_ALERT - Enables an interrupt if an MTP event occurs. In either condition, the MTP status bit will be set. • ‘0’ (default) - If an MTP event occurs, the ALERT# pin is not asserted. • ‘1’ - If an MTP event occurs, the ALERT# pin will be asserted. 5.15 Multiple Touch Pattern Register TABLE 5-27: MULTIPLE TOUCH PATTERN REGISTER Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default 2Dh R/W Multiple Touch Pattern CS8_ PTRN CS7_ PTRN CS6_ PTRN CS5_ PTRN CS4_ PTRN CS3_ PTRN CS2_ PTRN CS1_ PTRN FFh The Multiple Touch Pattern register acts as a pattern to identify an expected sensor input profile for diagnostics or other significant events. There are two methods for how the Multiple Touch Pattern register is used: as specific sensor inputs or number of sensor input that must exceed the MTP threshold or have Noise Flag Status bits set. Which method is used is based on the COMP_PTRN bit (see Section 5.14). The methods are described below. 1. 2. Specific Sensor Inputs: If, during a single sensing cycle, the specific sensor inputs above the MTP threshold or with Noise Flag Status bits set match those bits set in the Multiple Touch Pattern register, an MTP event is flagged. Number of Sensor Inputs: If, during a single sensing cycle, the number of sensor inputs with a delta count above the MTP threshold or with Noise Flag Status bits set is equal to or greater than the number of pattern bits set, an MTP event is flagged. For all bits in this register: • ‘0’ - The specified sensor input is not considered a part of the pattern. • ‘1’ - The specified sensor input is considered a part of the pattern, or the absolute number of sensor inputs that must have a delta count greater than the MTP threshold or have the Noise Flag Status bit set is increased by 1. Bit 7 - CS8_PTRN - Determines whether CS8 is considered as part of the Multiple Touch Pattern. Bit 6 - CS7_PTRN - Determines whether CS7 is considered as part of the Multiple Touch Pattern. Bit 5 - CS6_PTRN - Determines whether CS6 is considered as part of the Multiple Touch Pattern. Bit 4 - CS5_PTRN - Determines whether CS5 is considered as part of the Multiple Touch Pattern. Bit 3 - CS4_PTRN - Determines whether CS4 is considered as part of the Multiple Touch Pattern. Bit 2 - CS3_PTRN - Determines whether CS3 is considered as part of the Multiple Touch Pattern. Bit 1 - CS2_PTRN - Determines whether CS2 is considered as part of the Multiple Touch Pattern. Bit 0 - CS1_PTRN - Determines whether CS1 is considered as part of the Multiple Touch Pattern. 5.16 Base Count Out of Limit Register TABLE 5-28: BASE COUNT OUT OF LIMIT REGISTER Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default 2Eh R Base Count Out of Limit BC_ OUT_ 8 BC_ OUT_ 7 BC_ OUT_ 6 BC_ OUT_ 5 BC_ OUT_ 4 BC_ OUT_ 3 BC_ OUT_ 2 BC_ OUT_ 1 00h The Base Count Out of Limit Register indicates which sensor inputs have base counts out of limit (see Section 4.4, "Sensor Input Calibration"). When these bits are set, the BC_OUT bit is set (see Section 5.2, "Status Registers"). For all bits in this register: 2013-2015 Microchip Technology Inc. DS00001570C-page 39 CAP1208 • ‘0’ - The base count for the specified sensor input is in the operating range. • ‘1’ - The base count of the specified sensor input is not in the operating range. Bit 7 - BC_OUT_8 - Indicates whether CS8 has a base count out of limit. Bit 6 - BC_OUT_7 - Indicates whether CS7 has a base count out of limit. Bit 5 - BC_OUT_6 - Indicates whether CS6 has a base count out of limit. Bit 4 - BC_OUT_5 - Indicates whether CS6 has a base count out of limit. Bit 3 - BC_OUT_4 - Indicates whether CS6 has a base count out of limit. Bit 2 - BC_OUT_3 - Indicates whether CS3 has a base count out of limit. Bit 1 - BC_OUT_2 - Indicates whether CS2 has a base count out of limit. Bit 0 - BC_OUT_1 - Indicates whether CS1 has a base count out of limit. 5.17 Recalibration Configuration Register TABLE 5-29: RECALIBRATION CONFIGURATION REGISTERS Addr R/W Register B7 B6 B5 2Fh R/W Recalibration Configuration BUT_ LD_TH NO_CLR _INTD NO_CLR _NEG B4 B3 B2 NEG_DELTA_ CNT[1:0] B1 B0 Default CAL_CFG[2:0] 8Ah The Recalibration Configuration register controls some recalibration routine settings (see Section 4.4, "Sensor Input Calibration") as well as advanced controls to program the Sensor Input Threshold register settings. Bit 7 - BUT_LD_TH - Enables setting all Sensor Input Threshold registers by writing to the Sensor Input 1 Threshold register. • ‘0’ - Each Sensor Input X Threshold register is updated individually. • ‘1’ (default) - Writing the Sensor Input 1 Threshold register will automatically overwrite the Sensor Input Threshold registers for all sensor inputs (Sensor Input Threshold 1 through Sensor Input Threshold 8). The individual Sensor Input X Threshold registers (Sensor Input 2 Threshold through Sensor Input 8 Threshold) can be individually updated at any time. Bit 6 - NO_CLR_INTD - Controls whether the accumulation of intermediate data is cleared if the noise status bit is set. • ‘0’ (default) - The accumulation of intermediate data is cleared if the noise status bit is set. • ‘1’ - The accumulation of intermediate data is not cleared if the noise status bit is set. APPLICATION NOTE: Bits 5 and 6 should both be set to the same value. Either both should be set to ‘0’ or both should be set to ‘1’. Bit 5 - NO_CLR_NEG - Controls whether the consecutive negative delta counts counter is cleared if the noise status bit is set. ‘0’ (default) - The consecutive negative delta counts counter is cleared if the noise status bit is set. ‘1’ - The consecutive negative delta counts counter is not cleared if the noise status bit is set. Bits 4 - 3 - NEG_DELTA_CNT[1:0] - Determines the number of negative delta counts necessary to trigger a digital recalibration (see Section 4.4.2, "Negative Delta Count Recalibration"), as shown in Table 5-30. DS00001570C-page 40 2013-2015 Microchip Technology Inc. CAP1208 TABLE 5-30: NEG_DELTA_CNT BIT DECODE NEG_DELTA_CNT[1:0] Number of Consecutive Negative Delta Count Values 1 0 0 0 8 0 1 16 (default) 1 0 32 1 1 None (disabled) Bits 2 - 0 - CAL_CFG[2:0] - Determines the update time and number of samples of the automatic recalibration routine (see Section 4.4.1, "Automatic Recalibration"). The settings apply to all sensor inputs universally (though individual sensor inputs can be configured to support recalibration - see Section 5.10.1). TABLE 5-31: CAL_CFG BIT DECODE CAL_CFG[2:0] Recalibration Samples (see Note 5-1) Update Time (see Note 5-2) 2 1 0 0 0 0 16 16 0 0 1 32 32 0 1 0 64 64 (default) 0 1 1 128 128 1 0 0 256 256 1 0 1 256 1024 1 1 0 256 2048 1 1 1 256 4096 Note 5-1 Recalibration Samples refers to the number of samples that are measured and averaged before the Base Count is updated however does not control the base count update period. Note 5-2 Update Time refers to the amount of time (in sensing cycle periods) that elapses before the Base Count is updated. The time will depend upon the number of channels enabled, the averaging setting, and the programmed sensing cycle time. 2013-2015 Microchip Technology Inc. DS00001570C-page 41 CAP1208 5.18 Sensor Input Threshold Registers TABLE 5-32: SENSOR INPUT THRESHOLD REGISTERS Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default 30h R/W Sensor Input 1 Threshold - 64 32 16 8 4 2 1 40h 31h R/W Sensor Input 2 Threshold - 64 32 16 8 4 2 1 40h 32h R/W Sensor Input 3 Threshold - 64 32 16 8 4 2 1 40h 33h R/W Sensor Input 4 Threshold - 64 32 16 8 4 2 1 40h 34h R/W Sensor Input 5 Threshold - 64 32 16 8 4 2 1 40h 35h R/W Sensor Input 6 Threshold - 64 32 16 8 4 2 1 40h 36h R/W Sensor Input 7 Threshold - 64 32 16 8 4 2 1 40h 37h R/W Sensor Input 8 Threshold - 64 32 16 8 4 2 1 40h The Sensor Input Threshold registers store the delta threshold that is used to determine if a touch has been detected. When a touch occurs, the input signal of the corresponding sensor pad changes due to the capacitance associated with a touch. If the sensor input change exceeds the threshold settings, a touch is detected. When the BUT_LD_TH bit is set (see Section 5.17 - bit 7), writing data to the Sensor Input 1 Threshold register will update all of the Sensor Input Threshold registers (31h - 37h inclusive). 5.19 Sensor Input Noise Threshold Register TABLE 5-33: SENSOR INPUT NOISE THRESHOLD REGISTER Addr R/W Register B7 B6 B5 B4 B3 B2 38h R/W Sensor Input Noise Threshold - - - - - - B1 B0 CS_BN_TH [1:0] Default 01h The Sensor Input Noise Threshold register controls the value of a secondary internal threshold to detect noise and improve the automatic recalibration routine. If a capacitive touch sensor input exceeds the Sensor Input Noise Threshold but does not exceed the sensor input threshold, it is determined to be caused by a noise spike. That sample is not used by the automatic recalibration routine. This feature can be disabled by setting the DIS_DIG_NOISE bit. Bits 1-0 - CS1_BN_TH[1:0] - Controls the noise threshold for all capacitive touch sensor inputs, as shown in Table 5-34. The threshold is proportional to the threshold setting. DS00001570C-page 42 2013-2015 Microchip Technology Inc. CAP1208 TABLE 5-34: CSX_BN_TH BIT DECODE CS_BN_TH[1:0] Percent Threshold Setting 5.20 1 0 0 0 25% 0 1 37.5% (default) 1 0 50% 1 1 62.5% Standby Channel Register TABLE 5-35: STANDBY CHANNEL REGISTER Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default 40h R/W Standby Channel CS8_ STBY CS7_ STBY CS6_ STBY CS5_ STBY CS4_ STBY CS3_ STBY CS2_ STBY CS1_ STBY 00h The Standby Channel register controls which (if any) capacitive touch sensor inputs are enabled in Standby (see Section 4.3.1.2, "Standby State Sensing Settings"). For all bits in this register: • ‘0’ (default) - The specified channel will not be monitored in Standby. • ‘1’ - The specified channel will be monitored in Standby. It will use the standby threshold setting, and the standby averaging and sensitivity settings. Bit 7 - CS8_STBY - Controls whether the CS8 channel is enabled in Standby. Bit 6 - CS7_STBY - Controls whether the CS7 channel is enabled in Standby. Bit 5 - CS6_STBY - Controls whether the CS6 channel is enabled in Standby. Bit 4 - CS5_STBY - Controls whether the CS5 channel is enabled in Standby. Bit 3 - CS4_STBY - Controls whether the CS4 channel is enabled in Standby. Bit 2 - CS3_STBY - Controls whether the CS3 channel is enabled in Standby. Bit 1 - CS2_STBY - Controls whether the CS2 channel is enabled in Standby. Bit 0 - CS1_STBY - Controls whether the CS1 channel is enabled in Standby. 5.21 Standby Configuration Register TABLE 5-36: STANDBY CONFIGURATION REGISTER Addr R/W Register B7 41h R/W Standby Configuration AVG_ SUM B6 B5 STBY_AVG[2:0] B4 B3 B2 STBY_SAMP_ TIME[1:0] B1 B0 STBY_CY_TIME [1:0] Default 39h The Standby Configuration register controls averaging and sensing cycle time for sensor inputs enabled in Standby. This register allows the user to change averaging and sample times on a limited number of sensor inputs in Standby and still maintain normal functionality in the Active state. 2013-2015 Microchip Technology Inc. DS00001570C-page 43 CAP1208 Bit 7 - AVG_SUM - Determines whether the sensor inputs enabled in Standby will average the programmed number of samples or whether they will accumulate for the programmed number of samples. • ‘0’ - (default) - The Standby enabled sensor input delta count values will be based on the average of the programmed number of samples when compared against the threshold. • ‘1’ - The Standby enabled sensor input delta count values will be based on the summation of the programmed number of samples when compared against the threshold. Caution should be used with this setting as a touch may overflow the delta count registers and may result in false readings. Bits 6 - 4 - STBY_AVG[2:0] - Determines the number of samples that are taken for all Standby enabled channels during the sensing cycle as shown in Table 5-37. All samples are taken consecutively on the same channel before the next channel is sampled and the result is averaged over the number of samples measured before updating the measured results. TABLE 5-37: STBY_AVG BIT DECODE STBY_AVG[2:0] Number Of Samples Taken Per Measurement 2 1 0 0 0 0 1 0 0 1 2 0 1 0 4 0 1 1 8 (default) 1 0 0 16 1 0 1 32 1 1 0 64 1 1 1 128 Bit 3 - 2 - STBY_SAMP_TIME[1:0] - Determines the time to take a single sample for sensor inputs enabled in Standby as shown in Table 5-38. TABLE 5-38: STBY_SAMP_TIME BIT DECODE STBY_SAMP_TIME[1:0] Sampling Time 1 0 0 0 320us 0 1 640us 1 0 1.28ms (default) 1 1 2.56ms Bits 1 - 0 - STBY_CY_TIME[2:0] - Determines the desired sensing cycle time for sensor inputs enabled during Standby, as shown in Table 5-39. All enabled channels are sampled at the beginning of the sensing cycle. If additional time is remaining, the device is placed into a lower power state for the remainder of the sensing cycle. DS00001570C-page 44 2013-2015 Microchip Technology Inc. CAP1208 TABLE 5-39: STBY_CY_TIME BIT DECODE STBY_CY_TIME[1:0] Programmed Sensing Cycle Time 1 0 0 0 35ms 0 1 70ms (default) 1 0 105ms 1 1 140ms APPLICATION NOTE: The programmed sensing cycle time (STDBY_CY_TIME[1:0] is only maintained if the actual time to take the samples is less than the programmed cycle time. The STBY_AVG[2:0] bits will take priority, so the sensing cycle time will be extended as necessary to accommodate the number of samples to be measured. 5.22 Standby Sensitivity Register TABLE 5-40: STANDBY SENSITIVITY REGISTER Addr R/W Register B7 B6 B5 B4 B3 42h R/W Standby Sensitivity - - - - - B2 B1 B0 STBY_SENSE[2:0] Default 02h The Standby Sensitivity register controls the sensitivity for sensor inputs enabled in Standby. Bits 2 - 0 - STBY_SENSE[2:0] - Controls the sensitivity for sensor inputs that are enabled in Standby. The sensitivity settings act to scale the relative delta count value higher or lower based on the system parameters. A setting of 000b is the most sensitive while a setting of 111b is the least sensitive. At the more sensitive settings, touches are detected for a smaller delta capacitance corresponding to a “lighter” touch. These settings are more sensitive to noise, however, and a noisy environment may flag more false touches than higher sensitivity levels. APPLICATION NOTE: A value of 128x is the most sensitive setting available. At the most sensitivity settings, the MSB of the Delta Count register represents 64 out of ~25,000 which corresponds to a touch of approximately 0.25% of the base capacitance (or a C of 25fF from a 10pF base capacitance). Conversely a value of 1x is the least sensitive setting available. At these settings, the MSB of the Delta Count register corresponds to a delta count of 8192 counts out of ~25,000 which corresponds to a touch of approximately 33% of the base capacitance (or a C of 3.33pF from a 10pF base capacitance). TABLE 5-41: STBY_SENSE BIT DECODE STBY_SENSE[2:0] Sensitivity Multiplier 2 1 0 0 0 0 128x (most sensitive) 0 0 1 64x 0 1 0 32x (default) 2013-2015 Microchip Technology Inc. DS00001570C-page 45 CAP1208 TABLE 5-41: STBY_SENSE BIT DECODE (CONTINUED) STBY_SENSE[2:0] Sensitivity Multiplier 5.23 2 1 0 0 1 1 16x 1 0 0 8x 1 0 1 4x 1 1 0 2x 1 1 1 1x - (least sensitive) Standby Threshold Register TABLE 5-42: STANDBY THRESHOLD REGISTER Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default 43h R/W Standby Threshold - 64 32 16 8 4 2 1 40h The Standby Threshold register stores the delta threshold that is used to determine if a touch has been detected. When a touch occurs, the input signal of the corresponding sensor pad changes due to the capacitance associated with a touch. If the sensor input change exceeds the threshold settings, a touch is detected. 5.24 Sensor Input Base Count Registers TABLE 5-43: SENSOR INPUT BASE COUNT REGISTERS Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default 50h R Sensor Input 1 Base Count 128 64 32 16 8 4 2 1 C8h 51h R Sensor Input 2 Base Count 128 64 32 16 8 4 2 1 C8h 52h R Sensor Input 3 Base Count 128 64 32 16 8 4 2 1 C8h 53h R Sensor Input 4 Base Count 128 64 32 16 8 4 2 1 C8h 54h R Sensor Input 5 Base Count 128 64 32 16 8 4 2 1 C8h 55h R Sensor Input 6 Base Count 128 64 32 16 8 4 2 1 C8h 56h R Sensor Input 7 Base Count 128 64 32 16 8 4 2 1 C8h 57h R Sensor Input 8 Base Count 128 64 32 16 8 4 2 1 C8h DS00001570C-page 46 2013-2015 Microchip Technology Inc. CAP1208 The Sensor Input Base Count registers store the calibrated “not touched” input value from the capacitive touch sensor inputs. These registers are periodically updated by the calibration and recalibration routines. The routine uses an internal adder to add the current count value for each reading to the sum of the previous readings until sample size has been reached. At this point, the upper 16 bits are taken and used as the Sensor Input Base Count. The internal adder is then reset and the recalibration routine continues. The data presented is determined by the BASE_SHIFT[3:0] bits (see Section 5.5). 5.25 Power Button Register TABLE 5-44: POWER BUTTON REGISTER Addr R/W Register B7 B6 B5 B4 B3 60h R/W Power Button - - - - - B2 B1 B0 PWR_BTN[2:0] Default 00h The Power Button Register indicates the sensor input that has been designated as the power button (see Section 4.5, "Power Button"). Bits 2 - 0 - PWR_BTN[2:0] - When the power button feature is enabled, this control indicates the sensor input to be used as the power button. The decode is shown in Table 5-45. TABLE 5-45: PWR_BTN BIT DECODE PWR_BTN[2:0] Sensor Input Designated as Power Button 5.26 2 1 0 0 0 0 CS1 0 0 1 CS2 0 1 0 CS3 0 1 1 CS4 1 0 0 CS5 1 0 1 CS6 1 1 0 CS7 1 1 1 CS8 Power Button Configuration Register TABLE 5-46: POWER BUTTON CONFIGURATION REGISTER Addr R/W Register B7 B6 61h R/W Power Button Configuration - STBY_ PWR_ EN B5 B4 STBY_PWR_ TIME [1:0] B3 B2 - PWR_ EN B1 B0 PWR_TIME [1:0] Default 22h The Power Button Configuration Register controls the length of time that the designated power button must indicate a touch before an interrupt is generated and the power status indicator is set (see Section 4.5, "Power Button"). 2013-2015 Microchip Technology Inc. DS00001570C-page 47 CAP1208 Bit 6 - STBY_PWR_EN - Enables the power button feature in the Standby state. • ‘0’ (default) - The Standby power button circuitry is disabled. • ‘1’ - The Standby power button circuitry is enabled. Bits 5 - 4 - STBY_PWR_TIME[1:0] - Determines the overall time, as shown in Table 5-47, that the power button must be held in the Standby state, in order for an interrupt to be generated and the PWR bit to be set. Bit 2 - PWR_EN - Enables the power button feature in the Active state. • ‘0’ (default) - The power button circuitry is disabled in the Active state. • ‘1’ -The power button circuitry is enabled in the Active state. Bits 1 - 0 - PWR_TIME[1:0] - Determines the overall time, as shown in Table 5-47, that the power button must be held in the Active state, in order for an interrupt to be generated and the PWR bit to be set. TABLE 5-47: POWER BUTTON TIME BITS DECODE PWR_TIME[1:0] / STBY_PWR_TIME[1:0] Power Button Touch Hold Time 5.27 TABLE 5-48: 1 0 0 0 280ms 0 1 560ms 1 0 1.12 sec (default) 1 1 2.24 sec Sensor Input Calibration Registers SENSOR INPUT CALIBRATION REGISTERS Addr Register R/W B7 B6 B5 B4 B3 B2 B1 B0 Default B1h Sensor Input 1 Calibration R CAL1_9 CAL1_8 CAL1_7 CAL1_6 CAL1_5 CAL1_4 CAL1_3 CAL1_2 00h B2h Sensor Input 2 Calibration R CAL2_9 CAL2_8 CAL2_7 CAL2_6 CAL2_5 CAL2_4 CAL2_3 CAL2_2 00h B3h Sensor Input 3 Calibration R CAL3_9 CAL3_8 CAL3_7 CAL3_6 CAL3_5 CAL3_4 CAL3_3 CAL3_2 00h B4h Sensor Input 4 Calibration R CAL4_9 CAL4_8 CAL4_7 CAL4_6 CAL4_5 CAL4_4 CAL4_3 CAL4_2 00h B5h Sensor Input 5 Calibration R CAL5_9 CAL5_8 CAL5_7 CAL5_6 CAL5_5 CAL5_4 CAL5_3 CAL5_2 00h B6h Sensor Input 6 Calibration R CAL6_9 CAL6_8 CAL6_7 CAL6_6 CAL6_5 CAL6_4 CAL6_3 CAL6_2 00h B7h Sensor Input 7 Calibration R CAL7_9 CAL7_8 CAL7_7 CAL7_6 CAL7_5 CAL7_4 CAL7_3 CAL7_2 00h B8h Sensor Input 8 Calibration R CAL8_9 CAL8_8 CAL8_7 CAL8_6 CAL8_5 CAL8_4 CAL8_3 CAL8_2 00h B9h Sensor Input Calibration LSB 1 R CAL4_1 CAL4_0 CAL3_1 CAL3_0 CAL2_1 CAL2_0 CAL1_1 CAL1_0 00h BAh Sensor Input Calibration LSB 2 R CAL8_1 CAL8_0 CAL7_1 CAL7_0 CAL6_1 CAL6_0 CAL5_1 CAL5_0 00h DS00001570C-page 48 2013-2015 Microchip Technology Inc. CAP1208 The Sensor Input Calibration registers hold the 10-bit value that represents the last calibration value. The value represents the capacitance applied to the internal sensing circuits to balance the capacitance of the sensor input pad. Minimum (000h) and maximum (3FFh) values indicate analog calibration failure (see Section 4.4, "Sensor Input Calibration"). 5.28 Product ID Register TABLE 5-49: PRODUCT ID REGISTER Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default FDh R Product ID CAP1208 0 1 1 0 1 0 1 1 6Bh The Product ID register stores a unique 8-bit value that identifies the device. 5.29 Manufacturer ID Register TABLE 5-50: VENDOR ID REGISTER Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default FEh R Manufacturer ID 0 1 0 1 1 1 0 1 5Dh The Vendor ID register stores an 8-bit value that represents MCHP. 5.30 Revision Register TABLE 5-51: REVISION REGISTER Addr R/W Register B7 B6 B5 B4 B3 B2 B1 B0 Default FFh R Revision 0 0 0 0 0 0 0 0 00h The Revision register stores an 8-bit value that represents the part revision. 2013-2015 Microchip Technology Inc. DS00001570C-page 49 CAP1208 6.0 PACKAGE INFORMATION 6.1 CAP1208 Package Drawings FIGURE 6-1: CAP1208 14-LEAD PLASTIC SMALL OUTLINE, NARROW, 3.90 MM BODY (SOIC) Note: DS00001570C-page 50 For the most current package drawings, please see the Microchip Packaging Specification located at http://www.microchip.com/packaging 2013-2015 Microchip Technology Inc. CAP1208 FIGURE 6-1: Note: CAP1208 14-LEAD PLASTIC SMALL OUTLINE, NARROW, 3.90 MM BODY (SOIC) For the most current package drawings, please see the Microchip Packaging Specification located at http://www.microchip.com/packaging 2013-2015 Microchip Technology Inc. DS00001570C-page 51 CAP1208 FIGURE 6-1: 1RWH CAP1208 14-LEAD PLASTIC SMALL OUTLINE, NARROW, 3.90 MM BODY (SOIC) )RUWKHPRVWFXUUHQWSDFNDJHGUDZLQJVSOHDVHVHHWKH0LFURFKLS3DFNDJLQJ6SHFLILFDWLRQORFDWHGDW KWWSZZZPLFURFKLSFRPSDFNDJLQJ DS00001570C-page 52 2013-2015 Microchip Technology Inc. CAP1208 FIGURE 6-2: CAP1208 16-PIN QFN 3MM X 3MM 2013-2015 Microchip Technology Inc. DS00001570C-page 53 CAP1208 FIGURE 6-3: DS00001570C-page 54 CAP1208 PACKAGE DIMENSIONS - 16-PIN QFN 3MM X 3MM 2013-2015 Microchip Technology Inc. CAP1208 FIGURE 6-4: CAP1208 PCB LAND PATTERN AND STENCIL - 16-PIN QFN 3MM X 3MM 2013-2015 Microchip Technology Inc. DS00001570C-page 55 CAP1208 FIGURE 6-5: CAP1208 PACKAGE MARKING CAP1208-1-SL-TR 2 B WW N N N A Line 1 – Device Code, Week Line 2 – Alphanumeric Traceability Code Pb-Free JEDEC® designator for Matte Tin (Sn) PIN 1 CAP1208-2-SL-TR H 2 WW N N N A Line 1 – Device Code, Week Line 2 – Alphanumeric Traceability Code Pb-Free JEDEC® designator for Matte Tin (Sn) PIN 1 Line 1 – Device Code, Week Line 2 – Alphanumeric Traceability Code 2 B WW N N N A 2x 0.6 e3 PB-FREE/GREEN SYMBOL (Ni/Pd PP-LF) PIN 1 Lines 1-2: Center Horizontal Alignment Line 3: As Shown BOTTOM CAP1208-1-A4-TR TOP Bottom marking not allowed TOP H 2 WW N N N A 2x 0.6 e3 PB-FREE/GREEN SYMBOL (Ni/Pd PP-LF) PIN 1 Lines 1-2: Center Horizontal Alignment Line 3: As Shown BOTTOM Bottom marking not allowed DS00001570C-page 56 CAP1208-2-A4-TR Line 1 – Device Code, Week Line 2 – Alphanumeric Traceability Code 2013-2015 Microchip Technology Inc. CAP1208 APPENDIX A: A.1 DEVICE DELTA Delta from CAP1128 / CAP1188 to CAP1208 1. Revision ID set to 00h. 2. Pinout changed. RESET, WAKE, and ADDR_COMM pins removed. LED pins removed. SPI pins / muxing also removed. Added GND pin as ground slug is no longer used for ground connection. 3. Reduced package size from a 20-pin 4mm x 4mm QFN to a 16-pin 3mm x 3mm QFN. 4. Added ACAL_FAIL bit to flag analog calibration failures (see Section 5.2, "Status Registers") and ACAL_FAIL_INT bit to control analog calibration failure interrupts (see Section 5.6, "Configuration Registers"). 5. Added BC_OUT bit to flag calibration failures regarding base counts out of limit (see Section 5.2, "Status Registers") and BC_OUT_RECAL and BC_OUT_INT bit to control base count out of limit behavior and interrupts (see Section 5.6, "Configuration Registers"). Added Base Count Out of Limit Register to indicate which sensor inputs have base counts outside the operating range (see Section 5.16, "Base Count Out of Limit Register"). 6. Added Power Button feature (see Section 4.5, "Power Button"). 7. Increased supply voltage range for 5V operation. 8. Increased operating temperature range from 0°C - 85°C to -40°C to 125°C. 9. Removed proximity detection gain. 10. LEDs removed. 11. SMBus address fixed at 0101_000(r/w). 12. Removed SPI communications protocol option. 13. Removed RESET pin function. 14. Removed WAKE pin function. 15. Removed ALERT pin configuration. 16. Register set changes are shown in Table A-1, "Register Delta". TABLE A-1: REGISTER DELTA Address Register Delta Delta Default 00h Page 24 Removed bits - Main Control Register Removed GAIN[1:0] bits. 00h 02h Page 25 Added bits - General Status Register Added bit 4 PWR for new Power Button feature. Added bit 5 ACAL_FAIL to indicate analog calibration failure. Added bit 6 BC_OUT. Removed bit 4 LED status. 00h 04h Removed - LED Status Register removed register n/a 20h Page 29 Removed bit Configuration Register Removed bit 6 WAKE_CFG. 20h 26h Page 35 Renamed Calibration Activate and Status Register and added functionality In addition to forcing a calibration, the register also indicates the status of calibration for each sensor input. 00h 2013-2015 Microchip Technology Inc. DS00001570C-page 57 CAP1208 TABLE A-1: REGISTER DELTA (CONTINUED) Address Register Delta Delta Default 2Eh Page 39 New - Base Count Out of Limit Register new register for calibration status 00h 44h Page 29 Added and removed bits - Configuration 2 Register Added bit 1 ACAL_FAIL_INT. Changed bit 4 from BLK_POL_MIR to BC_OUT_INT. Changed bit 6 from ALT_POL to BC_OUT_RECAL. Removed bit 7 INV_LINK_TRAN. 40h 60h Page 47 New - Power Button Register new register for Power Button feature 00h 61h Page 47 New - Power Button Configuration Register new register for configuring the Power Button feature 00h 71h Removed - LED Output Type Register removed register n/a 72h Removed - Sensor Input LED Linking Register removed register n/a 73h Removed - LED Polarity Register removed register n/a 74h Removed - LED Output Control Register removed register n/a 77h Removed - Linked LED Transition Control Register removed register n/a 79h Removed - LED Mirror Control Register removed register n/a 81h Removed - LED 1 Behavior Register removed register n/a 82h Removed - LED Behavior Register 2 removed register n/a 84h Removed - LED Pulse 1 Period removed register n/a 85h Removed - LED Pulse 2 Period removed register n/a 86h Removed - LED Breathe Period Register removed register n/a 88h Removed - LED Config Register removed register n/a 90h Removed - LED Pulse 1 Duty Cycle Register removed register n/a 91h Removed - LED Pulse 2 Duty Cycle Register removed register n/a DS00001570C-page 58 2013-2015 Microchip Technology Inc. CAP1208 TABLE A-1: REGISTER DELTA (CONTINUED) Address Register Delta Delta Default 92h Removed - LED Breathe Duty Cycle Register removed register n/a 93h Removed - LED Direct Duty Cycle Register removed register n/a 94h Removed - LED Direct Ramp Rates Register removed register n/a 95h Removed - LED Off Delay removed register n/a FDh Page 49 Changed - Product ID New product ID for CAP1208 6Bh FFh Page 49 Changed - Revision Register Revision changed. 00h 2013-2015 Microchip Technology Inc. DS00001570C-page 59 CAP1208 7.0 REVISION HISTORY TABLE 7-1: REVISION HISTORY Revision Level and Date DS00001570C (11-12-15) DS00001570B (03-03-14) Section/Figure/Entry Correction Added 14-lead SOIC packages, SOIC pinout diagrams, package marking. Updated ordering information. Added CAP1208-2 information to the following sections: Ordering information Section 3.2.2, "SMBus Address and RD / WR Bit" Table 3.2, "Write Byte Protocol" Table 3.3, "Read Byte Protocol" Table 3.4, "Send Byte Protocol" Table 3.5, "Receive Byte Protocol" Table 3.6, "Block Read Protocol" Table 3.7, "Block Write Protocol" Added Figure 6.5, "CAP1208-2 Package Marking" Updated Worldwide Sales and Service Listing CAP1208 Revision A replaces the previous SMSC version Revision 1.0 DS00001570C-page 60 2013-2015 Microchip Technology Inc. CAP1208 THE MICROCHIP WEB SITE Microchip provides online support via our WWW site at www.microchip.com. This web site is used as a means to make files and information easily available to customers. Accessible by using your favorite Internet browser, the web site contains the following information: • Product Support – Data sheets and errata, application notes and sample programs, design resources, user’s guides and hardware support documents, latest software releases and archived software • General Technical Support – Frequently Asked Questions (FAQ), technical support requests, online discussion groups, Microchip consultant program member listing • Business of Microchip – Product selector and ordering guides, latest Microchip press releases, listing of seminars and events, listings of Microchip sales offices, distributors and factory representatives CUSTOMER CHANGE NOTIFICATION SERVICE Microchip’s customer notification service helps keep customers current on Microchip products. Subscribers will receive e-mail notification whenever there are changes, updates, revisions or errata related to a specified product family or development tool of interest. To register, access the Microchip web site at www.microchip.com. Under “Support”, click on “Customer Change Notification” and follow the registration instructions. CUSTOMER SUPPORT Users of Microchip products can receive assistance through several channels: • • • • Distributor or Representative Local Sales Office Field Application Engineer (FAE) Technical Support Customers should contact their distributor, representative or field application engineer (FAE) for support. Local sales offices are also available to help customers. A listing of sales offices and locations is included in the back of this document. Technical support is available through the web site at: http://www.microchip.com/support 2013-2015 Microchip Technology Inc. DS00001570C-page 61 CAP1208 PRODUCT IDENTIFICATION SYSTEM To order or obtain information, e.g., on pricing or delivery, refer to the factory or the listed sales office. PART NO. [X] Device - Address Option XX Package Device: CAP1208 Tape and Reel Option TR Tape and Reel Package:(2) A4 SL 16-pin QFN 14-pin SOIC - [XX] Tape and Reel Option Examples: a) CAP1208-1-A4-TR 0b0101_000[r/w] Address 16-pin QFN package b) CAP1208-2-SL-TR 0b0101_001[r/w] Address 14-pin SOIC package Note DS00001570C-page 62 1: Tape and Reel identifier only appears in the catalog part number description. This identifier is used for ordering purposes and is not printed on the device package. Check with your Microchip Sales Office for package availability with the Tape and Reel option. 2: For other small form-factor package availability and marking information, please visit www.microchip.com/packaging or contact your local sales office. 2013-2015 Microchip Technology Inc. CAP1208 Note the following details of the code protection feature on Microchip devices: • Microchip products meet the specification contained in their particular Microchip Data Sheet. • Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the intended manner and under normal conditions. • There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property. • Microchip is willing to work with the customer who is concerned about the integrity of their code. • Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as “unbreakable.” Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act. Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights unless otherwise stated. Trademarks The Microchip name and logo, the Microchip logo, dsPIC, FlashFlex, flexPWR, JukeBlox, KEELOQ, KEELOQ logo, Kleer, LANCheck, MediaLB, MOST, MOST logo, MPLAB, OptoLyzer, PIC, PICSTART, PIC32 logo, RightTouch, SpyNIC, SST, SST Logo, SuperFlash and UNI/O are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. The Embedded Control Solutions Company and mTouch are registered trademarks of Microchip Technology Incorporated in the U.S.A. Analog-for-the-Digital Age, BodyCom, chipKIT, chipKIT logo, CodeGuard, dsPICDEM, dsPICDEM.net, ECAN, In-Circuit Serial Programming, ICSP, Inter-Chip Connectivity, KleerNet, KleerNet logo, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, RightTouch logo, REAL ICE, SQI, Serial Quad I/O, Total Endurance, TSHARC, USBCheck, VariSense, ViewSpan, WiperLock, Wireless DNA, and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. SQTP is a service mark of Microchip Technology Incorporated in the U.S.A. Silicon Storage Technology is a registered trademark of Microchip Technology Inc. in other countries. GestIC is a registered trademark of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip Technology Inc., in other countries. All other trademarks mentioned herein are property of their respective companies. © 2013-2015, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. ISBN: 9781522400219 Microchip received ISO/TS-16949:2009 certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona; Gresham, Oregon and design centers in California and India. The Company’s quality system processes and procedures are for its PIC® MCUs and dsPIC® DSCs, KEELOQ® code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory and analog products. In addition, Microchip’s quality system for the design and manufacture of development systems is ISO 9001:2000 certified. 2013-2015 Microchip Technology Inc. DS00001570C-page 63 Worldwide Sales and Service AMERICAS ASIA/PACIFIC ASIA/PACIFIC EUROPE Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Technical Support: http://www.microchip.com/ support Web Address: www.microchip.com Asia Pacific Office Suites 3707-14, 37th Floor Tower 6, The Gateway Harbour City, Kowloon China - Xiamen Tel: 86-592-2388138 Fax: 86-592-2388130 Austria - Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 China - Zhuhai Tel: 86-756-3210040 Fax: 86-756-3210049 Denmark - Copenhagen Tel: 45-4450-2828 Fax: 45-4485-2829 India - Bangalore Tel: 91-80-3090-4444 Fax: 91-80-3090-4123 France - Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 China - Beijing Tel: 86-10-8569-7000 Fax: 86-10-8528-2104 India - New Delhi Tel: 91-11-4160-8631 Fax: 91-11-4160-8632 Germany - Dusseldorf Tel: 49-2129-3766400 Hong Kong Tel: 852-2943-5100 Fax: 852-2401-3431 Australia - Sydney Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 Austin, TX Tel: 512-257-3370 China - Chengdu Tel: 86-28-8665-5511 Fax: 86-28-8665-7889 Boston Westborough, MA Tel: 774-760-0087 Fax: 774-760-0088 China - Chongqing Tel: 86-23-8980-9588 Fax: 86-23-8980-9500 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Cleveland Independence, OH Tel: 216-447-0464 Fax: 216-447-0643 Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924 Detroit Novi, MI Tel: 248-848-4000 Houston, TX Tel: 281-894-5983 Indianapolis Noblesville, IN Tel: 317-773-8323 Fax: 317-773-5453 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 New York, NY Tel: 631-435-6000 San Jose, CA Tel: 408-735-9110 China - Dongguan Tel: 86-769-8702-9880 China - Hangzhou Tel: 86-571-8792-8115 Fax: 86-571-8792-8116 India - Pune Tel: 91-20-3019-1500 Japan - Osaka Tel: 81-6-6152-7160 Fax: 81-6-6152-9310 Japan - Tokyo Tel: 81-3-6880- 3770 Fax: 81-3-6880-3771 Korea - Daegu Tel: 82-53-744-4301 Fax: 82-53-744-4302 China - Hong Kong SAR Tel: 852-2943-5100 Fax: 852-2401-3431 Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 or 82-2-558-5934 China - Nanjing Tel: 86-25-8473-2460 Fax: 86-25-8473-2470 Malaysia - Kuala Lumpur Tel: 60-3-6201-9857 Fax: 60-3-6201-9859 China - Qingdao Tel: 86-532-8502-7355 Fax: 86-532-8502-7205 Malaysia - Penang Tel: 60-4-227-8870 Fax: 60-4-227-4068 China - Shanghai Tel: 86-21-5407-5533 Fax: 86-21-5407-5066 Philippines - Manila Tel: 63-2-634-9065 Fax: 63-2-634-9069 China - Shenyang Tel: 86-24-2334-2829 Fax: 86-24-2334-2393 Singapore Tel: 65-6334-8870 Fax: 65-6334-8850 China - Shenzhen Tel: 86-755-8864-2200 Fax: 86-755-8203-1760 Taiwan - Hsin Chu Tel: 886-3-5778-366 Fax: 886-3-5770-955 China - Wuhan Tel: 86-27-5980-5300 Fax: 86-27-5980-5118 Taiwan - Kaohsiung Tel: 886-7-213-7828 China - Xian Tel: 86-29-8833-7252 Fax: 86-29-8833-7256 Canada - Toronto Tel: 905-673-0699 Fax: 905-673-6509 Germany - Karlsruhe Tel: 49-721-625370 Germany - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 Italy - Venice Tel: 39-049-7625286 Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340 Poland - Warsaw Tel: 48-22-3325737 Spain - Madrid Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 Sweden - Stockholm Tel: 46-8-5090-4654 UK - Wokingham Tel: 44-118-921-5800 Fax: 44-118-921-5820 Taiwan - Taipei Tel: 886-2-2508-8600 Fax: 886-2-2508-0102 Thailand - Bangkok Tel: 66-2-694-1351 Fax: 66-2-694-1350 07/14/15 2013-2015 Microchip Technology Inc. DS00001570C-page 64