MTCH6303 MTCH6303 Projected Capacitive Touch Controller Data Sheet Description Microchip's MTCH6303 is an innovative turnkey projected capacitive touch controller that provides multi-touch coordinates as well as a readymade multi-finger surface gesture suite. MTCH6303 brings modern user interface (UI) elements - such as pinch and zoom, multi-finger scrolling, and swipes - to any embedded design, with minimal host requirements. The MTCH6303's advanced signal processing provides noise-avoidance techniques and predictive tracking for ten fingers, typically at 100 Hz each for five touches. It also combines with Microchip's MTCH652 High-voltage Line Driver to achieve a superior signal-to-noise ratio (SNR) for outstanding touch performance in noisy environments (refer to www.microchip.com/MTCH652). These capabilities are critical in demanding environments such as industrial controls, home and office automation with security control panels, thermostat, printers and lighting controls, and various consumer applications including exercise equipment and audio systems. Features Power Management * Multi-Touch up to Ten Touches * Five Touches Typically at 100 Hz+ Each * 27RX x 19TX Channels Support Approximately 8" Touch Screens (larger possible) * Combines with MTCH652 High-Voltage Driver for Superior Signal-to-Noise Ratio (SNR) * Integrated Single and Multi-finger Gesture Recognition Suite including Taps, Swipes, Scrolling, Pinching and Zooming * Advanced Processing Provides Noise Avoidance Techniques * USB and I2CTM Communication * Supports 3D Gestures up to 20 cm when Combined with the MGC3130 GestIC(R) Controller Example: TABLE 1: * 27RX 19TX Sensor - 27 mA full-scan rate - 1 mA reduced-scan rate Applications * Touch screen designs and touch pads that require cost effective, easy to integrate, fast time to market PCAP touch solutions * Perfect for touch screens over displays, control panels, keypads and many other input devices * Targeting the industrial, medical, home and office automation, and consumer markets MTCH6303 SOLUTION PART NUMBERS Device Pin Count MTCH6303-I/PT MTCH6303-I/RG 64 *MTCH652-I/SO *MTCH652-I/SS Package Types 10 x10 mm TQFP 9 x 9 mm QFN Touch Channels Features Up to 27 RX Multi-touch, up to 8" sensors Up to 19 TX 1.8 - 5.5V input, 6V - 18V configurable output 7.5 mm SOIC 28 *MTCH652-I/MV 5.3 mm SSOP 4 x 4 mm UQFN Note: *One MTCH652 high-voltage driver (boost) is required with MTCH6303. Note: The MTCH6303 devices are pre-programmed with a Library Loader (bootloader) only. Refer to Section 8.0, Firmware update for more details. 2015 Microchip Technology Inc. Preliminary DS40001803A-page 1 MTCH6303 PIN DIAGRAM MTCH6303 64-PIN DIAGRAM TQFP/QFN 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 IN24 IRQ IN23 NC NC NC NC VDD VCAP NC BOOSTLE1 NC BOOSTOE1 IN22 BOOSTCLK IN21 FIGURE 1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 MTCH6303 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 COMM_SEL DNC NC BOOSTPWM BOOSTDO NC NC NC VSS OSC2 OSC1 VDD D+ DVUSB3V3 VBUS NC IN11 IN12 AVDD AVSS IN13 IN14 IN15 IN16 VSS VDD IN17 IN18 IN19 IN20 SDA SCL 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 IN0 IN1 IN2 IN3 IN4 IN5 RESET IN6 VSS VDD IN7 IN8 IN9 IN10 IN25 IN26 DS40001803A-page 2 Preliminary 2015 Microchip Technology Inc. MTCH6303 PIN ALLOCATION TABLE TABLE 2: Name MTCH6303 PINOUT DESCRIPTION Pin IN0 1 IN1 2 IN2 3 IN3 4 IN4 5 IN5 6 RESET 7 Description IN 0 - 5 Reset IN6 8 IN 6 VSS 9 Ground VDD 10 Power Supply Input IN7 11 IN8 12 IN9 13 IN10 14 IN25 15 IN26 16 IN11 17 IN12 18 AVDD 19 Positive supply for analog modules. This pin must be connected at all times. AVSS 20 Ground reference for analog modules IN13 21 IN14 22 IN15 23 IN 7 - 10 IN 25 - 26 IN 11 - 12 IN 13 - 16 IN16 24 VSS 25 Ground VDD 26 Power Supply Input IN17 27 IN18 28 IN19 29 IN 17 - 20 IN20 30 SDA 31 I2CTM Data SCL 32 I2C Clock 2015 Microchip Technology Inc. Preliminary DS40001803A-page 3 MTCH6303 TABLE 2: MTCH6303 PINOUT DESCRIPTION (CONTINUED) Name Pin Description 33 42 43 44 47 DNC 53 Do not connect any signal to these pins. 55 58 59 60 61 VBUS 34 USB Bus Power Monitor VUSB3V3 35 USB internal transceiver supply. If the USB module is not used, this pin must be connected to VDD. D- 36 USB D- D+ 37 USB D+ VDD 38 Power Supply Input OSC1 39 Oscillator Pin 1 OSC2 40 Oscillator Pin 2 VSS 41 Ground BOOSTDO 45 MTCH652 DO output/DIN Input BOOSTPWM 46 MTCH652 PWM Out/OSCIN input COMM_SEL 48 Communication Select Pin (VDD = I2CTM, VSS = USB) IN21 49 IN 21 BOOSTCLK 50 MTCH652 CLK Output IN22 51 IN 22 BOOSTOE1 52 MTCH652 OE Output 1 BOOSTLE1 54 MTCH652 LE Output 1 VCAP 56 Capacitor for Internal Voltage Regulator VDD 57 Power Supply Input IN23 62 IN 23 IRQ 63 I2C Interrupt IN24 64 IN 24 MGC_TS 42 Gesture Transfer Status MGC_SDA 43 Gesture I2C Data MGC_SCL 44 Gesture I2C Clock MGC_MCLR 61 Gesture Reset MGC_MODE 60 Gesture Mode Control MGC_SYNC 47 Gesture Sync DS40001803A-page 4 Preliminary 2015 Microchip Technology Inc. MTCH6303 Table of Contents 1.0 Device Overview .......................................................................................................................................................................... 6 2.0 Layout........................................................................................................................................................................................... 7 3.0 Communication ............................................................................................................................................................................ 9 4.0 Message Protocol....................................................................................................................................................................... 15 5.0 Parameters................................................................................................................................................................................. 18 6.0 Communication Examples.......................................................................................................................................................... 22 7.0 Sensor Design Considerations................................................................................................................................................... 26 8.0 Firmware update ........................................................................................................................................................................ 29 9.0 Operating Modes........................................................................................................................................................................ 33 10.0 Application Commands .............................................................................................................................................................. 38 11.0 Gesture Features and Parameters............................................................................................................................................. 44 12.0 Electrical Specifications.............................................................................................................................................................. 48 13.0 Ordering Information .................................................................................................................................................................. 57 14.0 Packaging Information................................................................................................................................................................ 58 Appendix A: "Revision History" ............................................................................................................................................................ 65 The Microchip Web Site ....................................................................................................................................................................... 66 Product Identification System .............................................................................................................................................................. 67 Customer Change Notification Service ................................................................................................................................................ 66 Customer Support ................................................................................................................................................................................ 66 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 docerrors@microchip.com. 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. 2015 Microchip Technology Inc. Preliminary DS40001803A-page 5 MTCH6303 1.0 DEVICE OVERVIEW FIGURE 1-1: MTCH6303 BLOCK DIAGRAM MTCH652 19 MTCH652 (Boost) (SPI) Prediction Module TX Drive Control Touch Sensor Acquisition Module 27 RX Electrode Measurement Touch Tracking/ Decoding ICTM I2CTM Engine Noise Detection & Management Communications & Diagnostics USB USB Stack Sensor Configuration/Calibration DS40001803A-page 6 Preliminary 2015 Microchip Technology Inc. MTCH6303 2.0 LAYOUT FIGURE 2-1: TYPICAL APPLICATION CIRCUIT Diag 2 Diag 1 VDD Tantalum or ceramic 10 F ESR 3 GND 1 F 25V VDD GND 28 27 26 25 24 23 22 OUT6 OUT7 VPP VDD VSS OUT8 OUT9 OUT5 OUT4 LC OUT3 OUT2 OUT1 OUT0 GND GND 21 20 19 18 17 16 15 8 9 10 11 12 13 14 GND MTCH652 OUT10 OUT11 OUT12 OUT13 OUT14 OUT15 OUT16 OUT18 OUT17 OSCIN OE LE DIN CLK 1 F VDD IN11 IN12 AVDD AVSS IN13 IN14 IN15 IN16 VSS VDD IN17 IN18 IN19 IN20 SDA SCL GND MTCH6303 1 2 3 4 5 6 7 2.2 H 8 MHz GND GND 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 GND 150k 18 pF 10k VDD *See Comm Select Note3 COMM_SEL 48 47 BOOSTPWM 46 BOOSTDO 45 44 43 MGC_TS 42 VSS 41 OSC2 40 OSC1 39 VDD 38 D+ 37 D- 36 VUSB3V3 35 VBUS 34 33 0.1 F VDD VDD IN0 IN1 IN2 IN3 IN4 IN5 RESET IN6 VSS VDD IN7 IN8 IN9 IN10 IN25 IN26 18 pF 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 IN24 64 IRQ 63 IN23 62 61 60 59 58 VDD 57 VCAP 56 55 BOOSTLE1 54 53 BOOSTOE1 52 IN22 51 BOOSTCLK 50 IN21 49 GND 3 RX Channels Comm Select Note D+ DVBUS VDD VDD 1k1 1 To USB Host2 VDD VDD 2 GND GND ESD Protection per User Requirements 4.7k 1.8k Resistors (discrete or networks) placed on all RX lines as close to the MTCH6303 as possible IRQ SCL SDA ICTM Configuration COMM_SEL COMM_SEL USB Configuration To I2CTM Host GND VDD 5x 0.1 F SENSOR GND TX Channels FIGURE 2-2: SENSOR CHANNEL NAMING CONVENTION Throughout this document, there are references to signals such as IN, RX, OUT and TX. This is deliberately done to avoid confusion between sensor channels and physical pins on the controller. Refer to Figure 2-2 for an example of channel numbers chosen randomly. MTCH6303 * When referring to a sensor, the channels are labeled RX0-RXn and TX0-TXn. * When referring to the MTCH6303 controller, the INn pins connect to any RXn on the sensor. * When referring to the MTCH652 boost converter, the OUTn pins connect to any TXn on the sensor. 2015 Microchip Technology Inc. EXAMPLE OF CHANNEL NUMBERS CHOSEN AT RANDOM Preliminary SENSOR IN4 IN5 ... INn RX0 RX1 ... RXn TX0 TX1 ... TXn 2.1 MTCH652 OUT18 OUT17 ... OUTn DS40001803A-page 7 MTCH6303 2.2 Decoupling Capacitors The use of decoupling capacitors on power supply pins, such as VDD, VSS, is required. Consider the following criteria when using decoupling capacitors. 2.2.1 VALUE AND TYPE OF CAPACITOR A value of 0.1 F (100 nF), 10-20V is recommended. The capacitor should be a low Equivalent Series Resistance (low ESR) capacitor and have resonance frequency in the range of 20 MHz and higher. It is further recommended that ceramic capacitors be used. 2.2.2 PLACEMENT ON THE PRINTED CIRCUIT BOARD The decoupling capacitors should be placed as close to the pins as possible. It is recommended that the capacitors be placed on the same side of the board as the device. If space is restricted, the capacitor can be placed on another layer on the PCB; however, ensure that the trace length from the pin to the capacitor is within one-quarter of an inch (6 mm) in length. 2.2.3 HANDLING HIGH-FREQUENCY NOISE If the board is experiencing high-frequency noise, upward of tens of MHz, add a second ceramic-type capacitor in parallel to the above described decoupling capacitor. The value of the second capacitor can be in the range of 0.01 F to 0.001 F. Place this second capacitor next to the primary decoupling capacitor. In high-speed circuit designs, consider implementing a decade pair of capacitances as close to the power and ground pins as possible. For example, 0.1 F in parallel with 0.001 F. 2.2.4 MAXIMIZING PERFORMANCE On the board layout from the power supply circuit, run the power and return traces to the decoupling capacitors first, and then to the device pins. This ensures that the decoupling capacitors are first in the power chain. Equally important is to keep the trace length between the capacitor and the power pins to a minimum, thereby reducing PCB track inductance. 2.3 Bulk Capacitors The use of a bulk capacitor is recommended to improve power supply stability. Typical values range from 4.7 F to 47 F. This capacitor should be located as close to the device as possible. DS40001803A-page 8 Preliminary 2015 Microchip Technology Inc. MTCH6303 3.0 COMMUNICATION 3.1 USB/I2CTM Selection Both types of data are available over either USB or I2C, as shown in the Table 3-2 below. The MTCH6303 can communicate over either USB or I2CTM. The decision of which protocol is selected is made on start-up and persists until the controller is reset. Communications are selectable between USB/I2C through the use of the COMM_SEL pin, which must be permanently tied to either VSS or VDD as follows: TABLE 3-1: 3.2 TABLE 3-2: Data Type COMMUNICATIONS CATEGORIES I2CTM USB Touch Data Digitizer endpoint Register-based memory map Streamed Messaging Generic HID endpoint Stream buffers accessed via I2CTM registers COMM_SEL SETTINGS Setting Communications Type VDD I2CTM VSS USB Communications Overview Communications with the MTCH6303 fall into two main categories: 1. Touch Data: Data representing the current state of any contact points; this is the main function of the touch controller. 2. Streamed Messaging: Packet-based messaging protocol used to: * Send controller commands * Read/Write parameters * Receive diagnostic reports (when enabled) * Read 2D gesture data * Read 3D gesture data (requires MGC3130) FIGURE 3-1: COMMUNICATIONS OVERVIEW DIAGRAM MTCH6303 I2C USB EP1 Digitizer Touch Registers Touch Data ICTM USB EP2 Generic HID Streamed Messaging Message Stream Buffer (Output) Message Stream Buffer (Input) Message Stream Access Registers IRQ ICTM Master USB Host USB IRQ Logic 2015 Microchip Technology Inc. Preliminary DS40001803A-page 9 MTCH6303 3.3 USB Protocol 3.3.1 HID DIGITIZER (EP 1, TOUCH DATA) TABLE 3-3: HID DIGITIZER 6 5 4 3 2 0 REPORT ID (0X01) 1 PADDING 0 IR TS IR TS TOUCH ID 0 3 X1 LSB 4 X1 MSB 5 Y1 LSB 6 Y1 MSB 7 PADDING 8 TOUCH ID 1 9 X2 LSB 10 X2 MSB 11 Y2 LSB 12 Y2 MSB .. .. .. .. .. .. .. .. .. .. .. .. 47 PADDING 48 .. IR TS TOUCH ID 9 49 X4 LSB 50 X4 MSB 51 Y4 LSB 52 Y4 MSB 53 #OF VALID TOUCHES TS = Touch State R [reserved] Sequence counter, increments on every HID packet. * Values range from 0-63 SEQ * IN and OUT packets utilize independent sequence counters I2CTM PROTOCOL 3.4.1 OVERVIEW The MTCH6303 uses a standard register-based read/ write I2CTM protocol. This protocol is similar to many other devices such as temperature sensors and serial EEPROMs. Although data can be read at any time (polling), a configurable interrupt pin (INT) is provided for flexible integration options. 3.4.2 READING/WRITING REGISTERS To access memory (both to read or write), the I2C transaction must start by addressing the chip with the WRITE bit set, then writing out a single byte of data representing the memory address to be operated on. After that, the host can choose to do either of the following: 1. 2. To write memory, continue writing "n" data bytes. To read memory, restart the I2C transaction (via either a Stop and Start or Restart), then address the chip with the READ bit set. Continue to read "n" data bytes. I2CTM TRANSACTION DIAGRAM FIGURE 3-3: HID GENERIC (EP 2, STREAMED MESSAGES) I2CADDR S This generic endpoint is used to send and receive one or more messages within the payload. W REGADDR ... DATAIN P DATAOUT P Write DATAIN Read FIGURE 3-2: Value/Description During either of these transactions, multiple bytes may be read or written due to the device's address auto-increment feature. Legend: IR = In Range 3.3.2 SeqCntr [5:0] 3.4 TOUCHES 3-9 .. Byte Name SeqCntr [7:6] TOUCH 2 2 1 TOUCH 1 7 HID GENERIC Report ID 0x05 0x05 (Constant) TOUCH 10 Byte TABLE 3-4: HID GENERIC SR I2CADDR DATAOUT S Start Condition SR Restart Condition P Stop Condition R ... W Write Bit R Read Bit I2CADDR I2CTM Device Address (7bit) REGADDR DS40001803A-page 10 Preliminary Register Address 2015 Microchip Technology Inc. MTCH6303 3.4.3 DEVICE ADDRESSING The device's 7-bit base address is 0x25. Each transmission must be prefixed with this address, as well as a bit signifying whether the transmission is a MASTER WRITE (0) or MASTER READ (1). After appending this read/write bit to the base address, this first byte becomes either 0x4A (write) or 0x4B (read). Note: If this address conflicts with another in the system, it may be possible to customize the device. Contact Microchip support for more information. EXAMPLE I2CTM READ TRANSACTION FIGURE 3-4: I2CTM S 0x25 W ACK Address 0x10 ACK SR 0x25 R Data 0x01 ACK P NK INT Note: Reading one byte from address 0x10, byte value is 0x01. EXAMPLE I2CTM WRITE TRANSACTION FIGURE 3-5: I2CTM Note: S 0x25 W ACK Address 0x04 ACK Data 0x80 ACK P Writing one byte to address 0x04, value 0x80. 2015 Microchip Technology Inc. Preliminary DS40001803A-page 11 MTCH6303 TABLE 3-5: ADDR I2CTM MEMORY MAP NAME 7 6 5 4 3 2 1 0 Description TOUCH 0x00 TOUCHSTATUS R MGC GST STR IR 0x01 0x02 0x03 0x04 TOUCH 0 ID = touch ID, 0-16 X1 LSB Y1 LSB Y1 MSB IR 0x07 0x08 IR = In Range, TS = Touch State X1 MSB 0x06 0x0A TS TOUCH ID 1 0x05 0x09 MGC = GestIC(R) data, GST = Gestures Ready, STR = Stream Ready NUMTOUCHES TS TOUCH ID 1 TOUCH 1 X1 LSB X1 MSB 0x0B Y1 LSB 0x0C Y1 MSB 0x0D (TOUCH 2) ... 0x13 (TOUCH 3) ... 0x19 (TOUCH 4) ... 0x1F (TOUCH 5) ... 0x25 (TOUCH 6) ... 0x2B (TOUCH 7) ... 0x31 (TOUCH 8) ... 0x37 (TOUCH 9) ... (format follows from above) 0x42 -- [RESERVED] 0x7F STREAM BUFFER 0xF0 -- [RESERVED] 0xFA 0xFB RX Bytes Ready RXRDY Space available (bytes) for writing into RX buffer 0xFC RX Buffer RXBUFF Pointer to RX Buffer 0xFD TX Bytes Left TXRDY Bytes ready to be read from TX buffer 0xFE TX Buffer TXBUFF Pointer to TX Buffer DS40001803A-page 12 Preliminary 2015 Microchip Technology Inc. MTCH6303 3.4.4 TOUCH REGISTERS 3.4.5 Touch data can be read out of the touch registers at any time, and is ensured to represent the latest state of the sensor. Use of the IRQ pin can improve efficiency by letting the host controller only read data when necessary. (See Section 6.0, Communication Examples for more details.) FIGURE 3-6: MESSAGE STREAM ACCESS For sending and receiving stream messages (described further on in this document), register-based access to the message stream is provided as shown in Figure 3-6. MESSAGE STREAM ACCESS INPUT STREAM BUFFER [BUFFER LOAD] I2CTM REGISTERS From HOST 0xFB 0xFC RXRDY RXBUFF To HOST 0xFD 0xFE TXRDY TXBUFF # BYTES LEFT (SPACE AVAIL.) [BUFFER READ] To MTCH OUTPUT STREAM BUFFER [BUFFER READ] # BYTES RDY [BUFFER LOAD] 3.4.5.1 Reading Stream Messages Over I2C The host discovers that data is ready to be read from the stream by reading a non-zero value from the TXRDY register. This register should be queried after one of the following events: * IRQ activity * STR bit of TOUCHSTATUS register is set * Polled at a random interval (of the host's choosing) To read the data, an I2C register read should be started at the address of TXBUFF. The host can choose to read any amount of bytes (up to the value in TXRDY). 3.4.5.2 3.4.5.3 From MTCH Interrupt Pin To alert the host that new data is ready, an interrupt pin (IRQ) is provided. The IRQ is an `open-drain' output that is pulled to GND when asserted, and highimpedance (tri-state) when not asserted. A suitable pull-up resistor should be used on this output. The IRQ can be configured using the parameters in Table 3-6 below (refer to Section 5.0, Parameters for accessing). Writing Stream Messages Over I2C The host can write messages directly into the address of RXBUFF. Before writing, the host should check the amount of space available for writing by reading the RXRDY register. 2015 Microchip Technology Inc. Preliminary DS40001803A-page 13 MTCH6303 TABLE 3-6: IRQ CONFIGURATION PARAMETERS Parameter Default Description irqMode 1 Overall IRQ mode 0 = IRQ deactivated 1 = IRQ level maintained until data read 2 = IRQ pulsed for [irqPulseWidth] msec irqPolarity 0 IRQ Polarity control 0 = Active-Low, 1 = Active-High irqPulseWidth 5 Value (msec) to pulse IRQ when irqMode is set to `2' irqTrigger 2 Event control for IRQ activity 0 = Off 1 = Every touch decoding frame 2 = Any touch is present 3 = Only when touch is changed DS40001803A-page 14 Preliminary 2015 Microchip Technology Inc. MTCH6303 4.0 MESSAGE PROTOCOL 4.1 Overview The MTCH6303 messaging protocol is used to send and receive streamed messages. Full or partial (fragment) messages may be exchanged with this protocol. Messages are transmitted in an overall `block' size of 64 and must be split up accordingly. Refer to Section 6.0, Communication Examples for depictions of messages being fragmented. FIGURE 4-1: 7 6 TABLE 4-1: Name MESSAGE PROTOCOL 5:0 MTCH6303 MESSAGE FORMAT Description B5-0 SZ Size of message fragment. If 63 (0x3f), the fragment is incomplete and uses up ALL of the parent transport layer packet Status/ Size B6 C 1 = Continued (from last fragment) 0 = Not continued (start of message) B7 M 1 = More messages to follow in this block 0 = Last message Command ID, only sent on first CMD ID fragment of message. For fragments after, this is a normal payload byte. CMD Data bytes of message fragment. Payload 4.2 Message Definitions Messages starting with REP are reports sent from the MTCH6303 to the host. Messages starting with CMD are commands sent from the host to the MTCH6303. Messages that require further clarification are expanded upon in the following section. 2015 Microchip Technology Inc. Preliminary DS40001803A-page 15 ID MESSAGE DEFINITIONS Name Payload Description (assume uint8 unless noted) Payload size Gated by NVDM(1) Description 0x04 REP_Echo [data]...[datan] [NO GATE] It will echo the exact payload of a received `echo' command 0x17 REP_FlashContents [data]...[datan] [NO GATE] Flash contents readback (invoked by CMD_ReadFlash) Preliminary 0x60 REP_AdcDbg 132 [rx] [tx] [freq] [RSVD] [uint16 D0] [uint16 D1]...[uint16 Dn] NVDM_ADC Raw sample output from ADC 0x90 REP_Trace 2 [location][event] NVDM_DIAG -- 0xA0 REP_Swipe 2 [flags][fingers] NVDM_GESTURE Swipe gesture 0xA1 REP_Scroll 8 [fingers][diamHI][uint16 diameter][uint16 centerx][uint16 centery] NVDM_GESTURE Scroll gesture 0xA2 REP_Tap 2 [flags][fingers] NVDM_GESTURE Tap gesture 0xB0 REP_Noise [subID][data]...[datan] NVDM_NOISE Noise messages (see below) 0xC3 REP_MutNormSection 2+2*nodes [rx][tx][uint16 node0][uint16 node1]...[uint16 noden] NVDM_MUTCACHE Sends out a dynamic amount of nodes (from 1 to full RX electrode) 0xCF REP_ParameterRead 2+len [uint16 address][data] (up to `len' bytes) [NO GATE] Parameter read response 0xF0 REP_Ack 1 [command ID] [NO GATE] Acknowledgment of receipt of command 0xF2 REP_TouchFiltered 5*i [STATE/ID][uint16 X][uint16 Y] NVDM_FINGERPOS Filtered (but not scaled) touch coordinates 0xF3 REP_TouchPredict 9 [ID][uint16 X0][uint16 Y0][uint16 Xpred][uint16 Ypred] NVDM_RAWPOS Prediction value for a touch 0xF4 REP_TouchRaw 5*i [STATE/ID][uint16 X][uint16 Y] NVDM_RAWPOS Raw touch report (pre-filter) 0xF5 REP_TouchPos16 5*i [PEN/ID][uint16 X][uint16 Y] NVDM_FINGERPOS Final scaled touch report - first byte has touch status as bit 7 0xFA REP_SelfRaw 2*numRXch [uint16 self0][uint16 self1]...[uint16 selfn] NVDM_SELFRAW Self measurements (raw) 0xFD REP_SelfNorm 2*numRXch [uint16 self0][uint16 self1]...[uint16 selfn] NVDM_SELFNORM Self measurements (normalized) 0xFE REP_ForwardGestIC [data]...[datan] NVDM_GESTIC Packet from GestIC(R) (direct) 0xFF REP_FwVersion [fwVersionInfo] [NO GATE] Large array of bytes denoting all firmware information 0x04 CMD_Echo [data]...[datan] n/a Firmware will echo back any payload sent 0x17 CMD_ReadFlash 6 [uin32 address][uint16 size] n/a Allows host to read Flash contents of device (fw dump) 0x55 CMD_EnterBootLoader 0 (none) n/a Commands firmware to enter the bootloader - ACK will be sent before jumping 2015 Microchip Technology Inc. 0xE0 CMD_SetParameter 10 [uint16 address][uint8[4] data][uint8[4] mask] n/a Writes a parameter 0xE1 CMD_GetParameter 2 [uint16 address] n/a Reads a parameter 0xFB CMD_ForceBaseline 0 (none) n/a Forces a baseline 0xFC CMD_ResetGestIC 0 (none) n/a Resets GestIC immediately 0xFD CMD_GestIC (gestic command) n/a Sends packet directly on to GestIC 0xFF CMD_QueryVersion 0 (none) n/a Requests all firmware version information - bytes 124:127 represent Rev[2].Minor.Major Note: Refer to parameter documentation for explanation of NVDM bitfields. MTCH6303 DS40001803A-page 16 TABLE 4-2: MTCH6303 4.2.1 SET PARAMETER COMMAND FIGURE 4-2: ADDRESS SET PARAMETER COMMAND DATA MASK Address: 16bit address location of parameter to set Data: 32bit (4 bytes) data value to write. For data sizes smaller than 4 bytes, pad with 0x00 Mask: 32 bit (4 bytes) mask value to mask off bits that should not be set. (usually set to 0xFFFFFFFF) 4.2.2 GET PARAMETER COMMAND FIGURE 4-3: GET PARAMETER COMMAND ADDRESS Address: 16bit address location of parameter to retrieve 2015 Microchip Technology Inc. Preliminary DS40001803A-page 17 MTCH6303 5.0 PARAMETERS 5.2 5.1 Operation Many parameters are tuned by the MTCH6303 Utility itself, so descriptions are not provided. Table 5-1 is provided for reference only. Default parameters are loaded on start-up, as shown in the parameter table section. These values can be modified during runtime, but will not be restored on Reset. To permanently modify parameters, the MTCH6303 Utility should be used to export and Flash a new configuration. Refer to the MTCH6303 Utility documentation for more information. TABLE 5-1: Parameter Table PARAMETER TABLE Module Name Address Format Default Description pub mgc3130 0x0102 uint8_t 0 1 = MTC3130 is present pub numberOfRXChannels 0x0100 uint8_t 27 Number of RX channels currently in use pub numberOfTXChannels 0x0101 uint8_t 19 Number of TX channels currently in use pub diagMask 0x0080 uint16_t [see NVDM] [see NVDM] pub activeModules 0x0081 uint16_t [see NVAM] [see NVAM] pub streamingMode 0x0082 uint8_t 0 see Operating Modes pub swipeDistance 0x0501 uint16_t 4*256 See Gesture definition pub swipeTimeout 0x0500 uint32_t msec2ticks(1500)(1) See Gesture definition pub swipeBorder n/a (struct) n/a See Gesture definition pub swipeBorder.left 0x0502 uint16_t 3*256 See Gesture definition pub swipeBorder.right 0x0503 uint16_t 24*256 See Gesture definition pub swipeBorder.top 0x0504 uint16_t 3*256 See Gesture definition pub swipeBorder.bottom 0x0505 uint16_t 16*256 See Gesture definition n/a See Gesture definition uint16_t 2*256 See Gesture definition pub swipeExtBorder n/a (struct) pub swipeExtBorder.left 0x0506 pub swipeExtBorder.right 0x0507 uint16_t 25*256 See Gesture definition pub swipeExtBorder.top 0x0508 uint16_t 2*256 See Gesture definition pub swipeExtBorder.bottom 0x0509 uint16_t 17*256 See Gesture definition pub tapBorder n/a (struct) n/a See Gesture definition pub tapBorder.left 0x0540 uint16_t 1*256 See Gesture definition pub tapBorder.right 0x0541 uint16_t 26*256 See Gesture definition pub tapBorder.top 0x0542 uint16_t 1*256 See Gesture definition pub tapBorder.bottom 0x0543 uint16_t 18*256 See Gesture definition pub tapTimeout 0x0544 uint32_t mSec2Ticks(200)(1) See Gesture definition pub dblTapTimeout 0x0545 uint32_t mSec2Ticks(500) (1) See Gesture definition pub commSelectMode 0x0584 uint8_t 0 0 = use COMMSEL pin, 1 = force I2CTM, 2 = force USB pub irqPolarity 0x0581 uint8_t 0 0 = Active-Low, 1 = Active-High pub irqPulseWidth 0x0582 uint8_t 5 Value in msec to pulse (when mode 2) pub irqTrigger 0x0583 uint8_t 2 0 = Off, 1 = Set on frame, 2 = Set on touch, 3 = Set on touch changed pub irqMode 0x0580 uint8_t 1 0 = Off, 1 = Level-trigger, 2 = Pulse-trigger pub idleTime2D 0x0103 uint16_t 100 Scan period while 2D is idle (in msec) map txSelfTape 0x02c0 uint16_t [66] [see below] map rxPinMap 0x0200 uint8_t[27] [see below] map rxPrechargePinMap 0x0240 uint8_t[27] [see below] map txPinMap 0x0280 uint8_t[36] [see below] acq baseUpdateTime 0x0802 uint32_t mSec2Ticks(10000) Calibration update rate acq selfScanPhase 0x0812 uint16_t[4] {52,45,40,40} Self measurement period acq selfScanISRPhase 0x0816 uint16_t[4] {59,49,46,45} Self measurement phase acq mutScanPeriode 0x0803 uint16_t[4] {122,105,104,100} Mutual measurement period DS40001803A-page 18 Preliminary (1) 2015 Microchip Technology Inc. MTCH6303 TABLE 5-1: PARAMETER TABLE (CONTINUED) Module Name Address Format Default Description acq mutScanPhase 0x0807 uint16_t[4] {68,60,59,55} Mutual measurement phase acq mutFreqHopping 0x080B uint8_t 0 Frequency hopping control (0 = enabled, 1-4 = lock to F0-F3) acq mutFreqHoppingLevel 0x080C int8_t[4] {0,0,0,0} Linear gain to apply to results from each frequency acq diagRxChannel 0x0800 uint8_t 0xff acq diagTxChannel 0x0801 uint8_t 0xff acq syncRxChannel 0x081A uint8_t 0xff acq syncTxChannel 0x081B uint8_t 0xff acq fullScanRxStart 0x081C uint8_t 0 acq fullScanRxStop 0x081D uint8_t 27 acq fullScanTxStart 0x081E uint8_t 0 acq fullScanTxStop 0x081F uint8_t 19 dec penDownTimer 0x0403 uint16_t 781 dec penUpTimer 0x0404 uint16_t 781 dec selfTouchThres 0x0400 uint8_t 60 dec mutTouchThres 0x0401 uint8_t 60 dec minCuspDelta 0x040b uint8_t 25 dec weightThreshold 0x0402 uint8_t 20 dec minTouchDistance 0x040c uint8_t 5*8 dec fatThreshold 0x040d uint8_t 95 dec nbSampleSelf 0x0407 uint8_t 64 dec touchActiveHysteresis2D 0x0409 uint16_t 1000 dec touchActiveHysteresis2D3D 0x0401 uint16_t 50 rep flipState 0x0041 uint8_t 0b010 rep rxScale n/a (struct) rep rxScale.shift 0x0042 uint8_t 7 rep rxScale.divide 0x0043 uint8_t 27 rep rxScale.offset 0x0044 uint16_t rep txScale n/a (struct) n/a 0 n/a rep txScale.shift 0x0045 uint8_t 7 rep txScale.divide 0x0046 uint8_t 19 rep txScale.offset 0x0047 uint16_t 0 mtc mtch65x_active_config none uint32_t 0x27 10 mtc mtch65x_periode_fast_rise 0x0900 uint16_t mtc mtch65x_periode_fast_rise_oc 0x0901 uint16_t 7 mtc mtch65x_fast_rise_delay 0x0902 uint16_t 300 mtc mtch65x_periode_self_measurement 0x090D uint16_t[4] {20,20,20,20} mtc mtch65x_periode_self_measurement_oc 0x0911 uint16_t[4] {10,10,10,10} mtc mtch65x_periode_mutu_measurement 0x0905 uint16_t[4] {66,60,59,58} mtc mtch65x_periode_mutu_measurement_oc 0x0909 uint16_t[4] {16,15,14,14} Note 1: mSec2Ticks(ms) = (((ms) * 625 + 2) / 4) 2015 Microchip Technology Inc. Preliminary DS40001803A-page 19 MTCH6303 EXAMPLE 5-1: COMPLICATED INITIALIZATIONS rxPinMap = {(15), (14), (13), (12), (11), (10), (9), (8), (7), (6), (0), (1), (2), (3), (4), (5), (19), (18), (17), (16), (27), (23), (22), (21), (20), (26), (24)} rxPrechargePinMap = {(24), (24), (24), (24), (24), (24), (24), (24), (24), (24), (24), (24), (24), (15), (15), (15), (15), (15), (15), (15), (15), (15), (15), (15), (15), (15), (15)} txPinMap = {(0+ 17), (0+ 18), (0+ 0), (0+ 1), (0+ 2), (0+ 3), (0+ 4), (0+ 5), (0+ 6), (0+ 7), (0+ 8), (0+ 9), (0+ 10), (0+ 11), (0+ 12), (0+ 13), (0+ 14), (0+ 15), (0+ 16)} txSelfTape = {0x0000, 0x0F,0x0010,0x0010,0x7110,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0010,0x0310,0x8110,0x00,0x00,0x00 ,0x00,0x00,0x00,0x0F,0x0010,0x1C10,0x0110,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0010,0xE010,0x011 0,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F10,0x0010,0x0110,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0 000,0x0000,0,0,0,0,0,0,0,0,0,0,0,0} 5.3 Special Parameters 5.3.1 ACTIVE MODULES REGISTER (NVAM) REGISTER 5-1: ACTIVE MODULES REGISTER (NVAM) U-x U-x U-x U-x R/W-1 R/W-1 R/W-1 R/W-1 -- -- -- -- DECODE DIGITIZER AUTOBASE BESTFREQ bit 15 bit 8 R/W-0 R/W-0 R/W-0 U-x U-x R/W-0 U-x R/W-1 AW_EVENT SW_EVENT FL_EVENT -- -- FULLSCAN -- GESTURE bit 7 bit 0 Legend: R = Readable bit x = Bit is unknown -n = Value after initialization (default) W = Writable bit U = Unimplemented bit q = Conditional `1' = Bit is set `0' = Bit is cleared bit 15-12 Unused bit 11 DECODE: Turns touch decoding logic on or off bit 10 DIGITIZER: Turns digitizer/I2CTM register output on or off bit 9 AUTOBASE: Turns on or off automatic baseline functionality bit 8 BESTFREQ: Turns on or off bestfrequency selection algorithms bit 7 AW_EVENT: Events related to GestIC airwheel bit 6 SW_EVENT: Events related to GestIC swipes bit 5 FL_EVENT: bit 4-3 Unused bit 2 FULLSCAN: Turns on full mutual scanning bit 1 Unused bit 0 GESTURE: DS40001803A-page 20 Events related to GestIC flicks Turns on 2d gesture recognition Preliminary 2015 Microchip Technology Inc. MTCH6303 5.3.2 DIAGNOSTIC MODULES REGISTER (NVDM) REGISTER 5-2: ACTIVE DIAGNOSTICS MODULES REGISTER (NVDM) R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 GESTIC DIAG CUSTOM GESTURE FINGERPOS RAWPOS NOISE TRACE bit 15 bit 8 U-x U-x R/W-1 R/W-1 R/W-1 R/W-1 -- -- ADC_COR ADC MUTRAW SELFRAW R/W-1 R/W-1 MUTCACHE SELFNORM bit 7 bit 0 Legend: R = Readable bit x = Bit is unknown -n = Value after initialization (default) W = Writable bit U = Unimplemented bit q = Conditional `1' = Bit is set `0' = Bit is cleared bit 15 GESTIC: Forward GestIC(R) packets to host, also packets from host to GestIC bit 14 DIAG: Diagnostic Messages bit 13 CUSTOM: Custom Messages bit 12 GESTURE: Gesture Messages bit 11 FINGERPOS: Filtered Touch Data bit 10 RAWPOS: Unfiltered Touch Data bit 9 NOISE: Noise Messages bit 8 TRACE: Trace Messages bit 7-6 Unused bit 5 ADC_COR: Use ADC Offsets bit 4 ADC: ADC Messages bit 3 MUTRAW: Mutual Raw Data bit 2 SELFRAW: Self Raw Data bit 1 MUTCACHE: Mutual Normalized Data bit 0 SELFNORM: Self Normalized Data 2015 Microchip Technology Inc. Preliminary DS40001803A-page 21 MTCH6303 6.0 COMMUNICATION EXAMPLES 6.1.1 6.1 Reading Touch Data Touch data is populated in the HID report (refer to Section 3.3.2, HID Generic (EP 2, Streamed Messages)). The following examples show a frame of data communicating three Touch ID contact points: TABLE 6-1: READING TOUCH DATA Touch ID 5 READING TOUCH DATA (USB) ID5 Contact at (2345,4657) 8 Contact at (9823,0023) 13 Touch Removed (last contact 7264,1893) TABLE 6-2: 0 8 16 24 32 40 48 56 READING TOUCH DATA HID REPORT 0x01 0x03 0x05 0x29 0x09 0x31 0x12 0x03 REPID 0x08 STATUS0 ID0 XLSB0 XMSB0 YLSB0 YLSB0 STATUS1 0x5F 0x26 0x17 0x00 0x02 0x0D 0x60 ID1 XLSB1 XMSB1 YLSB1 YMSB1 STATUS2 ID2 XLSB2 0x1C 0x65 0x07 0x00 -- -- -- -- XMSB2 YLSB2 YMSB2 STATUS3 ID3 XLSB3 XMSB3 YLSB3 -- -- -- -- -- -- -- -- YMSB3 STATUS4 ID4 XLSB4 XMSB4 YLSB4 YMSB4 STATUS5 -- -- -- -- -- -- -- -- ID5 XLSB5 XMSB5 YLSB5 YMSB5 STATUS6 ID6 XLSB6 -- -- -- -- -- -- -- -- XMSB6 YLSB6 YMSB6 STATUS7 ID7 XLSB7 XMSB7 YLSB7 -- -- -- -- -- -- -- -- YMSB7 STATUS8 ID8 XLSB8 XMSB8 YLSB8 YMSB8 STATUS9 -- -- -- -- -- 0x03 -- -- ID9 XLSB9 XMSB9 YLSB9 YMSB9 #VALID -- -- DS40001803A-page 22 Preliminary 7 15 23 31 39 47 55 2015 Microchip Technology Inc. MTCH6303 READING TOUCH DATA (I2C) 6.1.2 Reading touch data over I2C must be performed in one single transaction to ensure the data is all from the same frame. READING TOUCH DATA (I2CTM) FIGURE 6-1: 0x25 S 0x00 W 0x25 RS R 0x03 Touch 0 0x03 0x05 0x29 0x09 0x32 0x12 0x08 0x5F 0x26 0x17 0x00 0x0D 0x60 0x1C 0x65 0x07 Touch 1 0x03 Touch 2 0x02 Note: 6.2 P The host could continue to read all 10 touches, but there is no need since the first byte indicates only three touches are valid. Message Send/Receive In these examples, a message setting the current number of RX channels is sent, and the response received is shown. (including acknowledgment). 6.2.1 MESSAGE TO SEND Message ID 0xE0 (CMD_SetParameter) Payload (message specific) Address: 0x0100 Data: 0x14 First, the message must be created according to the message format in Figure 6-2. FIGURE 6-2: MESSAGE TO SEND a 2 3 f 0x0B b 0x14 0x00 0x01 e 0xE0 0x00 0x01 0x00 c 0x00 0x00 0x14 0xFF 0xFF 0xFF 0xFF 0xE0 0x00 0x01 0x00 0x00 0x00 0x14 0xFF 0xFF 0xFF 0xFF 1 2015 Microchip Technology Inc. d Preliminary DS40001803A-page 23 MTCH6303 6.2.1.1 1. 2. Steps FIGURE 6-3: Parameter address (a) and value to write (b) Message ID is added (e). Fill bytes are added to value to make it 32 bits (c). 1 Data mask is added (d) - note that since the parameter is only one byte, only the last byte of the mask actually affects the behavior. 2 3. EXPECTED RESPONSE Status byte is added: - size is 11 (0x0B) - "more messages" is set to 0 - "is continued" ID set to 0 (this is the start of message) 6.2.2 a 0xE0 3 0x02 6.2.2.1 0xF0 0xE0 0xF0 0xE0 Steps 1. Expected payload for an ACK message is an echo of the command being ACK'd - in this case, 0xE0 2. Message ID is added 3. Status byte is added: - Size = 2 - More messages = 0 - Continued = 0 EXPECTED RESPONSE Every message sent to the controller also contains an acknowledgment message back (ACK), which follows this format: Message ID 0xF0 (REP_Ack) Payload 0xE0 (command received was CMD_SetParameter) 6.2.3 MESSAGE SEND/RECEIVE (USB) FIGURE 6-4: MESSAGE SEND/RECEIVE (USB) 1 a 0x05 2 b 0x23 0x0B 0xE0 0x00 0x01 0x00 0x00 0x00 0x14 0xFF 0xFF 0xFF 0xFF 0x0B 0xE0 0x00 0x01 0x00 0x00 0x00 0x14 0xFF 0xFF 0xFF 0xFF 0x02 0xF0 0xE0 d 0x05 c 0x32 0x02 0xF0 0xE0 3 4 6.2.3.1 1. 2. 3. 4. Steps FIGURE 6-5: Message to send (from previous section) Adding sequence ID (b), which was chosen at random for this example. Adding reportID (always 0x05) Response expected (from previous section) Adding sequence ID (c), which was chosen at random for this example. Adding reportID (always 0x05). 6.2.4 S 0x25 W MESSAGE SEND/ RECEIVE (I2CTM) 0xFB RS 0x25 R 0xFF P MESSAGE SEND/RECEIVE (I2C) First, the host must query the RXRDY buffer to ensure there is enough space to write the command. In this case, the controller is reporting that 255 bytes are available for writing: DS40001803A-page 24 Preliminary 2015 Microchip Technology Inc. MTCH6303 Next, the host writes the command into the controller's RXBUFF register (Figure 6-6). FIGURE 6-6: 0x25 S HOST WRITE TO RXBUFF REGISTER 0xFC W 0x0B 0xE0 0x00 0x01 0x00 0x00 0x00 0x14 0xFF 0xFF 0xFF 0xFF P The host may now query the TXRDY buffer to see if the response is ready, either after a set amount of time or by observing IRQ (Figure 6-7). FIGURE 6-7: S 0x25 w HOST READ FROM TXRDY REGISTER 0xFD RS 0x25 R 0x03 P Since there are three bytes ready to be read, the host should now read those three bytes out of the TXBUFF register (Figure 6-8). FIGURE 6-8: S 0x25 Note: W HOST READ FROM TXBUFF REGISTER 0xFE RS 0x25 R 0x02 P The two previous steps could have been completed in a single read by a host capable of performing decisions during a read (based on the value of TXRDY). Reading address 0xFD auto-increments the address pointer to 0xFE, the stream buffer. Further bytes read will all be from within the stream buffer, maintaining the 0xFE address. The first byte read, 0x03, would indicate that three more bytes are within the stream buffer and may be read immediately. 2015 Microchip Technology Inc. Preliminary DS40001803A-page 25 MTCH6303 7.0 SENSOR DESIGN CONSIDERATIONS 7.1 Sensor Patterns and PCB Layout 7.2 Sensor Layout Configuration TABLE 7-1: With regard to touch sensor patterns, refer to the mTouch(R) Design Center (www.microchip.com/ mtouch) for additional information on designing and laying out a touch sensor pattern, as well as using the correct techniques for PCB trace routing. 7.1.1 PROTOTYPING DESIGNS Touch sensor designs typically require a thorough debugging phase to ensure a reliable product. If possible, it is recommended that flexible prototyping hardware be created with this in mind. A common example is providing external access to the communication lines for quick test and tuning while in circuit. 7.1.2 SENSOR OVERLAY MATERIAL To prevent saturation of sensor levels, a minimum overlay of 0.5 mm plastic or glass is required for proper operation of the device, even during a prototyping phase. (Even if this value is different than the final design.) Note: At no time should the device be expected to respond correctly to a user touching a bare PCB sensor. Address Name NUMBEROFXCHANNELS Number of channels used for X axis 0x0280 NUMBEROFYCHANNELS Number of channels used for Y axis The MTCH6303 is designed to work with sensors with a minimum of 3 RX and 3 TX sensor channels, and a maximum of 27 RX and 19 TX channels using a single MTCH652. 7.3 Sensor Output Resolution The MTCH6303 interpolates 256 discrete points between each sensor channel and 128 points past the centerline of each edge. These internal values are then scaled over a default range of 0-32767 (0-0x7FFF) for the default sensor configuration. If the number of TX or RX channels is modified, then the related output resolution values must also be updated. 7.3.1 MODIFYING OUTPUT RESOLUTION OPERATION WITH AN LCD The MTCH6303 has integrated algorithms to detect and minimize the effects of noise, but proper care should always be taken in selecting an LCD and support components with a focus on reducing noise as much as possible. Since the interaction between the touch sensor and display is highly dependent upon the physical arrangement of the components, proper testing should always be executed with a fully integrated device. Please reference your projected capacitive touch screen manufacturer's integration guide for additional design considerations. Description 0x0200 TABLE 7-2: 7.1.3 REGISTERS ASSOCIATED WITH SENSORS LAYOUT CONFIGURATION OUTPUT RESOLUTION REGISTERS Address 0x0042 Name RX Shift 0x0043 RX Divide 0x0044 RX Offset 0x0045 TX Shift 0x0046 TX Divide 0x0047 TX Offset The X and Y resolution may be modified by changing addresses 0x0042 through 0x0047. The firmware uses the values in equation Equation 7-1. EQUATION 7-1: RESOLUTION CHANGE Shift Value 2 Final Value = ----------------------------------- + Offset Divide These values must be updated when changing the number of TX or RX channels on the sensor if the 0-0x7FFF resolution is to be maintained. DS40001803A-page 26 Preliminary 2015 Microchip Technology Inc. MTCH6303 7.4 Sensor Orientation TABLE 7-3: Address 0x0041 SENSOR ORIENTATION Name Description FLIPSTATE REGISTER 7-1: Determines X and Y flips, as well as swaps SENSOR ORIENTATION REGISTER U-x U-x U-x U-x U-x R/W-0 R/W-0 R/W-0 -- -- -- -- -- XYSWAP TXFLIP RXFLIP bit 7 bit 0 Legend: R = Readable bit x = Bit is unknown -n = Value after initialization (default) W = Writable bit U = Unimplemented bit q = Conditional `1' = Bit is set `0' = Bit is cleared bit 7-3 Unused bit 2 XYSWAP: Swap the TX and RX coordinates bit 1 TXFLIP: Swap the coordinates along the TX axis bit 0 RXFLIP: Swap the coordinates along the RX axis To aid in PCB layout, the sensor can be oriented in any direction, have either axis reversed or have the axis swapped. 2015 Microchip Technology Inc. Preliminary DS40001803A-page 27 MTCH6303 FIGURE 7-1: SENSOR ORIENTATION EXAMPLES RX0 TX0 RXn 0, 0 xM ax , 0 SENSOR TXn 0, yM a x RX0 0, 0 xM ax , 0 0, yM a x 0, 0 xM ax , 0 0, yM a x XYSWAP 0 TXFLIP 0 RXFLIP 1 xM ax , 0 SENSOR DS40001803A-page 28 xM ax , yM a x xM ax , 0 SENSOR 0, yM a x XYSWAP 0 TXFLIP 1 RXFLIP 0 RXn TXn 0, 0 xM ax , 0 0, yM a x RXn TX0 0, 0 xM ax , 0 SENSOR RX0 Preliminary 0, yM a x XYSWAP 1 TXFLIP 1 RXFLIP 0 xM ax , yM a x TXn XYSWAP 0 TXFLIP 1 RXFLIP 1 XYSWAP 1 TXFLIP 0 RXFLIP 1 xM ax, yM a x SENSOR RX0 RX0 0, 0 0, yM a x RX0 TX0 0, 0 RXn TX0 xM ax , yM a x RXn TX0 XYSWAP 1 TXFLIP 0 RXFLIP 0 xM ax, yM a x TXn RXn SENSOR TXn xM ax , 0 SENSOR xM ax , yM a x RX0 TX0 0, 0 0, yM a x Default Configuration TXn RX0 TXn RXn SENSOR TXn XYSWAP 0 TXFLIP 0 RXFLIP 0 xM ax , yM a x RXn TX0 TX0 XYSWAP 1 TXFLIP 1 RXFLIP 1 xM ax , yM a x 2015 Microchip Technology Inc. MTCH6303 8.0 FIRMWARE UPDATE 8.1 Library Loader 8.3 The MTCH6303 devices are manufactured with a builtin Library Loader (bootloader) only. There will not be any PCAP touch decoding library preloaded. The library loader has interfaces for USB HID and I2C, so that an MTCH6303 library can be uploaded to the MTCH6303 Flash memory. Bootloader Command Overview The command interpreter within the bootloader operates in a similar manner as the standard MTCH6303 command interpreter. The bootloader supports the following commands: TABLE 8-1: ID BOOTLOADER COMMANDS Name Description The latest MTCH6303 PCAP touch decoding library can be found in the MTCH6303 Utility download which can be accessed from the MTCH6303 device page. 0x10 EXIT_BOOTLOADER Exit Bootloader mode There are three ways to upload the MTCH6303 library to the MTCH6303 device, as listed in Sections 8.1.1. to 8.1.3 below. 0x12 ERASE_PAGE Erase a ROM page 0x13 SET_ADDRESS Write the Flash address to operate on 8.1.1 0x14 LOAD_DATA Load program data into RAM 0x15 WRITE_PAGE Latch program data from RAM into ROM 0x16 VALIDATE_FW Read from a section in Flash 0x17 READ_FLASH Read a section in ROM 0xff Read the bootloader firmware revision UPLOAD VIA THE MTCH6303 UTILITY The MTCH6303 Utility can be used to perform the update. For this option, USB connectivity to a PC with the MTCH6303 Utility installed will be needed. 8.1.2 UPLOAD VIA EMBEDDED HOST CONTROLLER This option requires an embedded host controller which performs the upload using the MTCH6303 Bootloader commands (refer to Table 8-1). 0x11 SETUP_SESSION QUERY_VERSION Setup and initiate a bootloading session Microchip pre-programmed MTCH6303 parts can be ordered through the Microchip Programming Center. Please reference www.microchipdirect.com/ programming for further information. 8.1.3 QUICK TIME PROGRAMMING (QTP) For larger quantities of pre-programmed parts with unique part numbers, contact your local Microchip sales office. 8.2 Overview The firmware update process involves a host device transmitting a hex file to the MTCH6303 while in Bootloader mode. The hex file should be parsed and all data bytes extracted before being sent to the MTCH6303. This can either be done by the host or by software that utilizes the host as a bridge to send the bytes to the MTCH6303. When the MTCH6303 is in Bootloader mode, the host has access to commands to read, erase and write ROM pages that contain the touch application. An outline of the update procedure is detailed in this section. 2015 Microchip Technology Inc. Preliminary DS40001803A-page 29 MTCH6303 8.4 Update Procedure FIGURE 8-1: valid SETUP_SESSION command the bootloader will not allow modifications to the ROM. Once a SETUP_SESSION command is received, the application firmware is identified as unstable and it is no longer possible to exit the bootloader until a firmware update sequence has been completed. BOOTLOADER FLOWCHART 8.4.3 PERFORM A SETADDRESS/ERASE/ WRITE CYCLE ON EACH ROM PAGE With a valid session in place the host can now begin accessing the MTCH6303 device's ROM to update the firmware. The typical procedure is to update the device one Flash page at a time, erasing and writing one page before moving onto the next. First, use SET_ADDRESS to configure the address of the start of the ROM page to perform further operations on. The address should be the start of a 4 Kb ROM page. Next, use ERASE_PAGE to erase the page starting at the address selected using the SET_ADDRESS command. Once the page is erased, the host should send parsed hex data to update the selected page. This process will take several iterations of the LOAD_DATA command to write all 4Kb of data. The LOAD_DATA command has size and offset parameters that denote respectively the size of the current LOAD_DATA packet and the offset from the address defined by the SET_ADDRESS command. After all 4 Kb of data has been provided to the controller, use the WRITE_PAGE command to write the data into the selected page. Continue this process of SET_ADDRESS, ERASE_PAGE, LOAD_DATA(s), and WRITE_PAGE for each 4Kb block of ROM until the entire update is completed. 8.5 8.4.1 ENTER THE BOOTLOADER The MTCH6303 normally runs in Application mode, so the host must communicate to the MTCH6303 to enter its Bootloader mode. To do this, issue the `Enter bootloader' command as seen in Section 10.5, Command: ENTER_BOOTLOADER. If using USB, the device will disconnect from the USB bus, then reattach as the bootloader. (VID 0x04D8, PID 0x09D5) 8.4.2 SETUP A FIRMWARE UPDATE SESSION Once the MTCH6303 is in Bootloader mode establish an update session with the MTCH6303. The purpose of this is to setup the ROM boundaries and other various parameters for the update. Use the SETUP_SESSION command to configure the session. Prior to receiving a DS40001803A-page 30 Bootloader Commands This section describes the bootloader commands. The format for each command and its response are detailed below. 8.5.1 COMMANDS 8.5.1.1 0X10 EXIT_BOOTLOADER When called, this command will cause the bootloader to exit, returning to the touch application if a valid application is present. If not, the controller will remain in Bootloader mode. TABLE 8-2: Cmd Size 0x01 Preliminary EXIT BOOTLOADER Cmd ID 0x10 Data 2015 Microchip Technology Inc. MTCH6303 8.5.1.2 0x11 SETUP_SESSION 8.5.1.6 0x15 WRITE_PAGE This will initiate a bootloading session, defining session type, start address and end address. Write loaded RAM data into ROM at the defined address. TABLE 8-3: TABLE 8-7: Cmd Size 0x0A SETUP SESSION Cmd ID 0x11 8.5.1.3 Cmd Size Data Start Address [32 bits] End Address [32 bits] This command will cause the currently set page to be erased. The SET_ADDRESS command must be used to define the address of the page to be erased prior to calling ERASE_PAGE. TABLE 8-4: Cmd ID 8.5.1.4 8.5.1.5 0x01 8.5.1.9 Addr[23:1 Addr[3 6] 1:24] 8.5.2 Value varies 0x14 [7: 0] Note: LOAD DATA Data progData[0]progData[n]** [15:8 [7: [15: [0] ] 0] 8] [n]** Max length of progData is 54 bytes. 2015 Microchip Technology Inc. 0x17 READ_FLASH READ FLASH Cmd ID 0x17 Data Size [7:0] Size[15:8] 0xff QUERY_VERSION QUERY VERSION Cmd ID 0xff Data RESPONSES TABLE 8-11: Load application data from the host into RAM. Offset Read the bootloader firmware version. 0x01 0x14 LOAD_DATA Cmd Cmd Size ID Size Data 0x16 8.5.1.8 Cmd Size Data TABLE 8-6: Cmd ID TABLE 8-10: SET ADDRESS 0x05 0x13 Addr[7: Addr[15: 0] 8] VALIDATE FW Cmd Size 0x03 This command defines the start address of the page of ROM to perform further operations upon. This address MUST be the start of one of the 4 Kb ROM pages. Cmd Cmd Size ID Read from a section in Flash. Cmd Size 0x13 SET_ADDRESS TABLE 8-5: 0x16 VALIDATE_FW TABLE 8-9: Data 0x12 8.5.1.7 Read a section in ROM. ERASE PAGE Cmd Size Data 0x15 TABLE 8-8: 0x12 ERASE_PAGE 0x01 Cmd ID 0x01 Session Type [8 bits] WRITE PAGE BOOTLOAD COMMAND RESPONSE ID Description 0x00 Successful operation 0x07 Checksum mismatch 0x08 Flash read/erase/write failure 0x0a Out-of-Range address 0x0b No session data 0x0c Unrecognized command ID 0x0d Invalid number of bytes for this command 0x0e Error exiting Bootloader mode Preliminary DS40001803A-page 31 MTCH6303 TABLE 8-12: Byte BOOTLOADER COMMAND RESPONSE Value Description 1 0x02 Length, number of bytes to follow 2 varies Echo Command ID 3 See Table 8-11 for values Response Status DS40001803A-page 32 Preliminary 2015 Microchip Technology Inc. MTCH6303 9.0 OPERATING MODES The MTCH6303 allows enabling and disabling individual modules within the controller by modifying the active Modules (NVAM) register. Node control is from the NVAM in conjunction with the Streaming Modes register. REGISTER 9-1: U-x STREAMING MODE REGISTER (STREAMINGMODE) U-x U-x U-x U-x U-x U-x U-x MODE<7:0> bit 7 bit 0 Legend: R = Readable bit x = Bit is unknown -n = Value after initialization (default) W = Writable bit U = Unimplemented bit q = Conditional `1' = Bit is set `0' = Bit is cleared bit 7-0 MODE: Mode Selection - See Section 9.2, Controller State Machine for more information. 0: 2D3D 1: PCAP_ONLY 2: GESTIC_BRIDGE 4: ACTIVE_STANDBY 5: 2D_SLEEP_MODE 0xFF: INVALID 2015 Microchip Technology Inc. Preliminary DS40001803A-page 33 MTCH6303 9.1 Active Modules Register (NVAM) REGISTER 9-2: ACTIVE MODULES REGISTER (NVAM) U-x U-x U-x U-x R/W-1 R/W-1 R/W-1 R/W-1 -- -- -- -- DECODE DIGITIZER AUTOBASE BESTFREQ bit 15 bit 8 R/W-0 R/W-0 R/W-0 U-x U-x R/W-0 U-x R/W-1 AW_EVENT SW_EVENT FL_EVENT -- -- FULLSCAN -- GESTURE bit 7 bit 0 Legend: R = Readable bit x = Bit is unknown -n = Value after initialization (default) W = Writable bit U = Unimplemented bit q = Conditional `1' = Bit is set `0' = Bit is cleared bit 15-12 Unused bit 11 DECODE: Turns touch decoding logic on or off bit 10 DIGITIZER: Turns digitizer/I2C register output on or off bit 9 AUTOBASE: Turns on or off automatic baseline functionality bit 8 BESTFREQ: Turns on or off bestfrequency selection algorithms bit 7 AW_EVENT: Events related to GestIC(R) airwheel bit 6 SW_EVENT: Events related to GestIC(R) swipes bit 5 FL_EVENT: Events related to GestIC(R) flicks bit 4-3 Unused bit 2 FULLSCAN: Turns on full mutual scanning bit 1 Unused bit 0 GESTURE: Turns on 2D gesture recognition 9.2 Controller State Machine Using the Active Modules Register there are numerous different operating modes for the MTCH6303. The streaming Mode register (address 0x0082) can be used to configure the overall operational mode of the controller. Please contact Microchip for further information on using the MTCH6303 in combination with an MGC3130 GestIC(R) controller for 3D gestures. DS40001803A-page 34 Preliminary 2015 Microchip Technology Inc. MTCH6303 FIGURE 9-1: Host STANDARD CONTROLLER OPERATION STATE MACHINE touch touch Scan rate: Host 2D Active 120 Hz Active Standby 2D sleep 2D Self 2D Recent Disabled state 3D Gesture Reachable state Sleep Power Saving FIGURE 9-2: 3D Approach Starting state of MTCH6303 2D ONLY MODE touch touch 2D Active 2D Self 2D Recent 3D Gesture Proxi detected Timer wakeup 3D Approach Sleep Note: Set to 2D mode only CMD: 0x82, 1 2015 Microchip Technology Inc. Preliminary DS40001803A-page 35 MTCH6303 FIGURE 9-3: DISABLE AUTO-SLEEP touch touch 2D Active 2D Self 2D Recent 3D Gesture Proxi detected Timer wakeup 3D Approach Sleep Note: Disable Auto-sleep CMD: bit12 (NVAM) The PCAP does not return to sleep FIGURE 9-4: DISABLE AUTO-WAKE-UP touch touch 2D Active 2D Self 2D Recent 3D Gesture Proxi detected Timer wakeup 3D Approach Sleep Note: Disable Auto-Wake-up CMD: bit13 (NVAM) The PCAP does not return to Active mode. The Sleep time can be set with idleTime2D parameter CMD: 0x103, 64 (data in ms, max 420 ms) DS40001803A-page 36 Preliminary 2015 Microchip Technology Inc. MTCH6303 FIGURE 9-5: ACTIVE STANDBY MODE touch Host touch 2D Active Active Standby 2D Self 2D Recent 3D Gesture Proxi detected Timer wakeup 3D Approach Sleep Note: Set to Active Standby mode CMD: 0x82, 4 Safe mode to change multiple parameters without having any side effect on the code. No running code in this mode. FIGURE 9-6: 2D SLEEP MODE Host touch touch 2D Active 2D Sleep 2D Self 2D Recent 3D Gesture Proxi detected Timer wakeup 3D Approach Sleep Note: Set to 2D Sleep mode CMD: 0x82, 5 2015 Microchip Technology Inc. Preliminary DS40001803A-page 37 MTCH6303 10.0 APPLICATION COMMANDS TABLE 10-1: APPLICATION COMMANDS CMD ID Name Description 0x04 ECHO Echo back the received packet 0xfb FORCE_BASELINE Force the touch sensor to update its baseline measurements 0xff QUERY_VERSION Read the MTCH6303 firmware and application revisions 0x17 READ_FLASH Read from a section in ROM 0x55 ENTER_BOOTLOADER Enter Bootloader mode 0xfc GESTIC_BRIDGE Pass information through to an MGC3130 0xe0 SET_PARAMETER Write a value to a register 0xe1 GET_PARAMETER Read a value from a register 10.1 Command: ECHO Host command to test communication. Host sends <04><01><02><03>, and the controller will respond with the exact same packet <04><01><02><03>. Any bytes following the 0x04 ID byte will not be processed by the controller, and should only be used to verify communication is working properly. TABLE 10-2: Byte Byte COMMAND: FORCE_BASELINE Value Description 1 0x01 Length, # of bytes to follow 2 0Xfb Command ID TABLE 10-5: COMMAND: ECHO Value TABLE 10-4: COMMAND RESPONSE: FORCE_BASELINE Description Byte Value Description 1 n+1 Length, # of bytes to follow 1 0x02 2 0X04 Command ID 2 0Xf0 Acknowledge CMD ID 0xfb Repeat FORCE_BASELINE Command ID 3-n Packet[0]:Packet[n] Test packet information for confirmation 3 TABLE 10-6: TABLE 10-3: Byte COMMAND RESPONSE: ECHO Value FORCE_BASELINE EXAMPLE SEND Description 1 n+1 Length, # of bytes to follow 2 0X04 Command ID 3-n Packet[0]:Packet[n] Identical test packet for confirmation 10.2 Length, # of bytes to follow 0x01 0xfb Length CMD ID RECEIVE 0x02 0xf0 0xfb Length ACK CMD ID Repeat FORCE_BASELINE ID Command: FORCE_BASELINE Forces the controller to update touch sensor baseline measurements. DS40001803A-page 38 Preliminary 2015 Microchip Technology Inc. MTCH6303 10.3 Command: QUERY_VERSION The QUERY_VERSION command will read the MTCH6303 firmware and application revisions. Sending a QUERY_VERSION command while in Application mode will prompt two packets to be returned from the MTCH6303. The first packet will contain the 128 bytes of version data, and the second packet is the acknowledgment of the QUERY_VERSION command. TABLE 10-7: Byte COMMAND: QUERY_VERSION Value Description 1 0x01 Length, # of bytes to follow 2 0Xff Command ID TABLE 10-10: COMMAND RESPONSE: READ_FLASH Byte Byte Length, # of bytes to follow 2 0x17 Command ID 3-[size] Data [size] number of bytes of data, as requested in command, starting at Start address 1 0x02 Length, # of bytes to follow 2 0Xf0 Acknowledge CMD ID 0x17 Repeat GET_REGISTER CMD ID 3 1 COMMAND RESPONSE: QUERY_VERSION Value Description 0x80 128 bytes of version information 130 1 0x02 Length, # of bytes to follow 2 0Xf0 Acknowledge CMD ID 3 0xff Repeat QUERY_VERSION Command ID 10.4 Value Description 1 0x01 Length, # of bytes to follow 2 0X55 Command ID Byte Read from a section in ROM. When used as an application command, the controller will respond with two packets: one containing the read data, and a second acknowledgment packet. Byte Byte TABLE 10-12: COMMAND RESPONSE: ENTER_BOOTLOADER Command: READ_FLASH TABLE 10-9: Command: ENTER_BOOTLOADER TABLE 10-11: COMMAND: ENTER_BOOTLOADER Length, # of bytes to follow 2 Description 0x05 10.5 TABLE 10-8: Value 1 Value Description 1 0x02 Length, # of bytes to follow 2 0Xf0 Acknowledge CMD ID 3 0x55 Repeat ENTER_BOOTLOADER command ID COMMAND: READ_FLASH Value 1 0x07 Length, # of bytes to follow 2 0x17 Command ID 3 addr[7:0] 4 addr[15:8] 5 addr[23:16] 6 addr[31:24] 7 size[7:0] 8 size[15:8] 10.6 Description Use GESTIC_BRIDGE to pass information through the MTCH6303 to the MGC3130 controller. 4-byte (32-bit) Start address Length of Flash block to read, in Bytes 2015 Microchip Technology Inc. Command: GESTIC_BRIDGE TABLE 10-13: COMMAND: GESTIC_BRIDGE Byte Value Description 1 n+1 Length, # of bytes to follow 2 0Xfc Command ID 3-n Packet[0]:P acket[n] Packets to send to MGC3130 Preliminary DS40001803A-page 39 MTCH6303 TABLE 10-14: COMMAND RESPONSE: GESTIC_BRIDGE Byte Value TABLE 10-16: COMMAND: SET_REGISTER RESPONSE Description Byte Value Description 1 n+1 Length, # of bytes to follow 1 0x02 Length, # of bytes to follow 2 0Xf0 Acknowledge CMD ID 2 0Xf0 Acknowledge CMD ID 3-n Packet[0]: Packet[n] Packets to send to MGC3130 3 0xe0 Repeat SET_REGISTER Command ID 10.7 Register Commands There are a number of parameter registers that can be configured to modify the performance of the MTCH6303. Table details a list of all modifiable registers. TABLE 10-15: COMMAND: SET_REGISTER Byte Value Description 1 0x0b Length, # of bytes to follow 2 0xe0 Command ID 3 addr[7:0] 4 addr[15:8] 2-byte (16-bit) Register Address 5 value[7:0] 6 value[15:8] 7 value[23:16] 8 value[31:24] 9 mask[7:0] 10 mask[15:8] 11 mask[23:16] 12 mask[31:24] 4-byte (32-bit) register value to be written 4-byte (32-bit) value to mask register value to be written TABLE 10-17: SET_REGISTER 0X0004 TO VALUE 0XAABBCCDD EXAMPLE SEND 0x0b 0xe0 Length CMD ID Register 0x0004 0x04 0x00 0xdd 0xcc 0xbb 0xaa New Register Value 0xaabbccdd 0xff 0xff 0xff 0xff Register Bit Mask RECEIVE 0x02 0xf0 0xe0 Length ACK CMD ID Repeat SET_REGISTER ID DS40001803A-page 40 Preliminary 2015 Microchip Technology Inc. MTCH6303 10.8 Command: GET_REGISTER The MTCH6303 will respond with two packets when issued the GET_REGISTER command. The first packet will contain the data, and the second packet is the acknowledgment of the GET_REGISTER command. TABLE 10-18: COMMAND: GET_RESGISTER Byte Value Description 1 0x03 Length, # of bytes to follow 2 0xe1 Command ID 3 addr[7:0] 2-byte (16-bit) Register Address TABLE 10-19: COMMAND: GET_REGISTER RESPONSE Byte Value Description 1 0x05, 0x06, or 0x07 Length, # of bytes to follow 2 0xe1 Command ID 3 addr[7:0] 4 addr[15:8] 2-byte (16-bit) Register Address 5 value[7:0] 6 value[15:8] 7 value[23:16] 8 value[31:24] 1 0x02 Length, # of bytes to follow 2 0Xf0 Acknowledge CMD ID 3 0xe1 Repeat GET_REGISTER CMD ID Up to 4 bytes (32bit) of value data, depending on register TABLE 10-20: GET_REGISTER VALUE 0X00CC AT 0X0004 EXAMPLE SEND 0x03 0xe1 0x04 Length CMD ID Register 0x0004 0x00 0x05 0xe1 0x04 Length CMD ID Register 0x0004 RECEIVE 2015 Microchip Technology Inc. 0x00 0xcc 0x00 Data Preliminary 0x02 0xf0 0xe1 Length ACK CMD ID Repeat GET_REGISTER CMD ID DS40001803A-page 41 MTCH6303 TABLE 10-21: MTCH6303 PARAMETER REGISTERS Register # Name 0x0040 numOfAvg 0x0041 flipState Description Default Value bit 0 = X flip, bit 1 = Y flip, bit 2 = X/Y swap 0x0080 diagMask 0x0081 activeModules 0x0082 streamingMode 0x0100 numberOfXChannels Number of RX Channels along long/ wide axis of touch screen 0x0101 numberOfYChannels Number of TX Channels along short/ narrow axis of touch screen 0x0200 - 0x021a rxPinMap[0] - rxPinMap[26] 0x0280 - 0x02a3 txPinMap[0] - txPinMap[35] 0x0400 selfTouchThres 0x0401 mutTouchThres 0x0402 weightThreshold 0x0403 penDownTimer 0x0404 penUpTimer 0x0405 largeActThres 0x0480 minCuspDelta 0x0500 swipeTimeout 0x0501 swipeDistance 0x0502 swipeBorder.left 0x0503 swipeBorder.right 0x0504 swipeBorder.top 0x0505 swipeBorder.bottom 0x0540 tapBorder.left 0x0541 tapBorder.right 0x0542 tapBorder.top 0x0543 tapBorder.bottom 0x0800 diagRxChannel 0x0801 diagTxChannel 0x0802 baseUpdateTime 0x0803 - 0x0806 mutScanPeriode[0] mutScanPeriode[3] DS40001803A-page 42 Limits the max distance a touch can travel between frames before assigning a new ID (native position units) Slope value must be above this to determine that a `peak' has been found Stopwatch time for baseline counter, no touch for this duration will engage a recalibration Preliminary 2015 Microchip Technology Inc. MTCH6303 TABLE 10-21: MTCH6303 PARAMETER REGISTERS (CONTINUED) Register # Name Description 0x0807 - 0x080a mutScanPhase[0] mutScanPhase[3] 0x080b mutFreqHopping If >0, selects Fixed Frequency mode (indexed by this value). If 0, all frequencies are in use 0x080c - 0x080f mutFreqHoppingLevel[0] mutFreqHoppingLevel[3] Provides a software gain for frequencies that provide smaller amplitude than normal. (0 = none) 0x0810 selfSampleTime 0x0811 mutSampleTime 0x0812 - 0x0815 selfScanPhase[0] selfScanPhase[3] 0x0816 - 0x0819 selfScanISRPhase[0] selfScanISRPhase[3] 0x081a syncRxChannel 0x081b syncTxChannel 0x081c fullScanRxStart 0x081d fullScanRxStop 0x081e fullScanTxStart 0x081f fullScanTxStop 0x0900 mtch65x_periode_fast_rise Period for TMR2 (pwm for 652) 0x0901 mtch65x_periode_fast_rise_oc Sets OC1 for TMR2 duty cycle divide "fast_rise" by this number to calculate DC 0x0902 mtch65x_fast_rise_delay TMR1 counts to wait until full boost is established 0x0905 - 0x0908 mtch65x_periode_mutu_measurement[0] - mtch65x_periode_mutu_measurement[3] 0x0909 - 0x090c mtch65x_periode_mutu_measurement_oc[0] mtch65x_periode_mutu_measurement_oc[3] 0x090d - 0x0910 mtch65x_periode_self_measurement[0] - mtch65x_periode_self_measurement[3] 0x0911 - 0x0914 mtch65x_periode_self_measurement_oc[0] mtch65x_periode_self_measurement_oc[3] 2015 Microchip Technology Inc. Preliminary Default Value DS40001803A-page 43 MTCH6303 11.0 GESTURE FEATURES AND PARAMETERS 2. To simplify touch-based application development the controller already includes the capability to recognize a fixed set of touch gestures. The gesture recognizer supports the following kinds of gestures: * Swipe-Gestures * Scroll-Gestures * Tap-Gestures The gesture recognizer in the MTCH6303 is generic in that it supports those gestures for any number of fingers greater or equal to one. In practice, the maximum number of fingers is still limited because of the following two other factors: 1. The number of concurrent finger contacts the touch digitizer stages of the MTCH6303 is able to trace. This is currently internally limited to 10 although HID only reports a maximum of 5. FIGURE 11-1: Ergonomic considerations also play a role: e.g., on a 3.7-inch touch surface the user would be hard pressed to correctly perform a five finger gesture. In order for gestures to be recognized, the gesture recognition module has to be enabled and in order to output results the gesture bit has to be set in the diagnostic mask (see Section 7.0, Sensor Design Considerations). 11.1 Swipe Gestures The MTCH6303 can detect two different types of swipes: swipes starting from the edge and then going towards the center of the touch surface and swipes within the central area of the sensor. The criteria used to decide when a user's movement should be considered an edge swipe are illustrated in Figure 11-1 below. SWIPE GESTURES centerSwipeDistance CenterSwipeMaxWidth SwipeExtBorder SwipeExtBorder SwipeBorder 1. The user starts touching the surface with "n" fingers, where n is any number greater than zero. In the illustration above the user touches the surface with three fingers on the northern edge of the device. 2. The gesture recognizer checks if all fingers started on the same edge of the device. It does so in a tolerant way: i.e., if two fingers were on the northern edge, but a third finger was in the north-east corner, it would consider it to be on the northern edge. If all fingers did not start on the same edge, the gesture recognizer will abort the swipe detection at this stage. 3. To distinguish between the edge and the inner area of the surface the gesture recognizer uses two parameters: SwipeBorder and SwipeExtBorder. The two parameters are necessary for the following reasons: * In order to avoid the user accidentally starting a swipe gesture it is desirable to make the border area as narrow as possible. * However when touching with multiple fingers it is hard for the user to align all of them sufficiently DS40001803A-page 44 SwipeBorder within a narrow band. Typically the contact points, when touching with multiple fingers, would be on a slight curve, not a straight line. * To resolve this dilemma, between having narrow border area to avoid accidental swipes and having a wider one to allow for easier use with multiple fingers, the recognizer utilizes two border areas. One, SwipeBorder, having smaller borders and another one, SwipeExtBorder, with bigger borders, which is inside of it. The recognizer then only requires one finger to start within the narrower borders described by SwipeBorder, all the other fingers are allowed to start within the wider borders from SwipeExtBorder to be considered on an edge. 4. If the controller determines that the start position is not within the edge, the recognizer checks for a center swipe to have occurred. If all fingers have moved beyond a certain distance (parameter centerSwipeDistance) and stayed within a certain range of horizontal or vertical (parameter centerSwipeMaxWidth), then a center swipe message is generated. Preliminary 2015 Microchip Technology Inc. MTCH6303 5. If the edge criteria have been fulfilled, the user has to move all fingers towards the center. The recognizer checks if all fingers have moved beyond a certain distance (parameter SwipeDistance) within a specific timeout (parameter SwipeTimeout). For swipes starting from the northern or the southern edge, only the vertical distance is considered, while for swipes starting from the western or eastern edge only the horizontal distance is considered. Once the user has moved all touching fingers beyond the distance threshold, a swipe is reported, unless the timeout has expired. The gesture recognizer then stops the swipe detection until the user has removed all fingers from the surface and starts touching again. TABLE 11-1: ID ID: A0 Payload: uint8 flags; // flags describing the swipe uint8 fingers; // number of fingers which participated in the swipe. Flags is a bitmask. It contains currently only one of the following values (in theory they are logically or-ed together, but practically a swipe is only from one edge, so they are mutually exclusive). EDGE_N 0x01 // swipe started at northern edge EDGE_E 0x02 // ... eastern... EDGE_S 0x04 // ... southern... EDGE_W 0x08 // ... western... PARAMETERS ASSOCIATED WITH SWIPE GESTURES SWIPE_SOUTH 0x10 // center swipe moving south Default (Sensor: 10137_100h) SWIPE_WEST 0x20 // center swipe moving west Name 0x0500 SwipeTimeout 0x0501 SwipeDistance Type uint32 234375 (1.5s) SWIPE_EAST 0x80 // center swipe moving east uint16 1024 0x0502 SwipeBorder.Left uint16 768 0x0503 SwipeBorder.Right uint16 4352 0x0504 SwipeBorder.Top uint16 768 0x0505 SwipeBorder.Bottom uint16 8448 Note: 11.2 0x0506 SwipeExtBorder.Left uint16 1536 0x0507 SwipeExtBorder.Right SWIPE_NORTH 0x40 // center swipe moving north 0x0508 SwipeExtBorder.Top uint16 1536 uint16 7680 0x050A centerSwipeDistance uint16 1024 0x050B centerSwipeMaxWidth uint16 512 Scroll Gestures The gesture recognizer takes the incoming data of the moving fingers and derives additional data from them which can be used in an application to generate responses such as scroll, zoom and other gestures which depend on sliding fingers. As soon as the user touches the surface with n fingers, with n being any number greater than zero, the gesture recognizer continuously calculates the center of the touching points as well as the length of the diagonal of the bounding box around those points, as illustrated by the following drawing. uint16 3484 0x0509 SwipeExtBorder.Bottom Edge swipes are named by the edge the swipe starts from. Center swipes are named by the direction of travel. The unit for the timeout is in 1s/156250, so a value of 234375 corresponds to 1.5 seconds. Distance and border are in units of internal digitizer resolution, without any coordinate transformation such as scaling or flipping applied. TABLE 11-2: MESSAGE OUTPUT FOR SWIPE GESTURES ID Payload 0xA0 Flags Fingers byte Uint8 Uint8 2015 Microchip Technology Inc. Preliminary DS40001803A-page 45 MTCH6303 FIGURE 11-2: SCROLL GESTURES FIGURE 11-3: TAP RECOGNIZER As can be seen, the bounding box is orthogonal to the coordinate system of the surface, the edges being horizontal and vertical. There is no attempt to find a smaller bounding box for the surface contact points, which would be rotated against the surface. For two fingers the length of the diagonal of the bounding box is incidentally equal to the distance between those two fingers and the center of gravity would equal the midpoint between the two. For three or more fingers no such obvious interpretation is available, but since the bounding box circumscribes all touching fingers the behavior of the diagonal measure when spreading out those fingers on the surface or contracting them is often quite usable, depending on the application. The computation also runs when the user touches with only a single finger. Once the user contacts the surface a timer starts running. If the user does not lift their finger(s) from the surface before TapTimeout has expired (as in part A of the drawing), the tap is considered aborted and the recognizer stops further processing. If the user lifts the finger without exceeding the timeout (as in part B and C), the recognizer considers it a tap. There are no parameters associated with scroll gestures. FIGURE 11-4: TABLE 11-3: If the gesture recognizer has recognized a tap a second timeout, which is used to distinguish repeated taps from single taps and is called RepeatTimeout, starts running. If the user does not touch the surface before the timer has expired (part B), the next tap will not be considered a repeated tap. Otherwise, if he does touch the surface while the timeout has not expired, the following touch will be indicated as a repeated tap. TAPBOARDER PARAMETER MESSAGE OUTPUT FOR SCROLL GESTURES ID Payload 0xA1 Fingers diamHi Diam byte Uint8 Uint8 centerX center Uint16 Uint16 Uint16 ID: 0xA1 Payload: uint8 fingers; // number of fingers touching uint8 diamHi; // bits 16 to 23 of diameter uint16 diam; // bits 0 to 15 of diameter uint16 centerX; // x of center of gravity uint16 centerY; // y of center of gravity Currently diamHi can be ignored. It is here for future compatibility. 11.3 Tap Gestures There is also support in the gesture recognizer to detect short taps on the surface. The implemented algorithm also supports detection of repeated taps as well as taps with multiple fingers. DS40001803A-page 46 At least one finger has to be inside the area enclosed by TapBorder to start tap recognition, while the other fingers may be either outside or inside. So for a one finger tap the finger has to be inside, while for a two finger tap, one finger must be inside, while the second can be either inside or outside. This is done because a user moving around at the edges of the surface might enter and leave the actual area where touch is detected for very short moments and thereby trigger accidental tap events. By requiring at least one finger to be inside a smaller area, this can be prevented. Preliminary 2015 Microchip Technology Inc. MTCH6303 TABLE 11-4: ID PARAMETERS ASSOCIATED WITH THE TAP RECOGNIZER Name Type Default (Sensor: 10137_100h) 0x0540 TapBorder.Left uint16 256 0x0541 TapBorder.Right uint16 4864 0x0542 TapBorder.Top uint16 256 0x0543 TapBorder.Bottom uint16 8960 0x0544 TapTimeout uint32 31250 (200ms) 0x0545 RepeatTimeout uint32 78125 (500ms) The EQFINGERS flag indicates that the previous tap was performed with the same number of fingers touching the surface than the current one. Having all those flags allows the user to decide whether to distinguish between repeated taps and single isolated taps or not to do so by either looking at the REPEAT/NOREPEAT flags or by ignoring them. Likewise, the user may decide if a repeated tap should only be considered a repeated tap if it was performed with the same number of fingers as the previous tap by simply looking at the EQFINGERS field in addition to the REPEAT field. If the user instead does not care if a repeated tap has been performed with a different number of fingers, he can ignore the EQFINGERS flag. That way the user can chose the behavior which fits the application best. The unit for the timeouts is 1s/156250, so a value of 31250 corresponds to 200 milliseconds and a value of 78125 to 500 milliseconds. The border is in units of internal digitizer resolution, without any coordinate transformation such as scaling or flipping applied. TABLE 11-5: MESSAGE OUTPUT FOR SWIPE GESTURES ID Payload 0xA2 Flags Fingers byte Uint8 Uint8 ID: A2 Payload: uint8 flags; // flags with details about the tap uint8 fingers; // number of fingers for this tap. The flags field is a bitmask where the following values could be logically or-ed together: TAPPED 0x01 ABORTED 0x02 NOREPEAT 0x04 REPEAT 0x08 EQFINGERS 0x10 If TAPPED is set it means that a tap has occurred, in that case the "fingers" field contains the number of fingers used for this tap. The ABORTED flag is set if tap recognition has been aborted because TapTimeout has expired (part A of previous drawing). In this case the "fingers" field is not valid. The REPEAT/NOREPEAT flags can be used to distinguish between taps which happened within a timespan of RepeatTimeout from the previous tap, or from which the previous tap has been a longer while back. 2015 Microchip Technology Inc. Preliminary DS40001803A-page 47 MTCH6303 12.0 ELECTRICAL SPECIFICATIONS Absolute Maximum Ratings for the MTCH6303 devices are listed below. Stresses above those listed under the Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only and functional operation of the device at those or any other conditions, above those indicated in the operation listings of this specification, is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability. Absolute Maximum Ratings() Ambient temperature under bias ......................................................................................................... -40C to +85C Storage temperature ........................................................................................................................ -65C to +150C Voltage on pins with respect to VSS on VDD pin................................................................................................................................. -0.3V to +4.0V on any pin that is not 5V tolerant(2) ................................................................................ -0.3V to (VDD + 0.3V) on any 5V tolerant pin when VDD 2.3V(2) .............................................................................. -0.3V to +6.0V on any 5V tolerant pin when VDD 2.3V(2) .............................................................................. -0.3V to +3.6V Voltage on D+ or D- pin with respect to VUSB3V3 ............................................................. -0.3V to (VUSB3V3 + 0.3V) Voltage on VBUS with respect to VSS .................................................................................................. -0.3V to + 5.5V Maximum current out of VSS pin(s)................................................................................................................................... 200 mA into VDD pin(s)(1) .................................................................................................................................. 200 mA Maximum output current sourced/sunk by any 4x I/O pin ............................................................................................................. 15 mA sourced/sunk by any 8x I/O pin ............................................................................................................. 25 mA Maximum current sunk by all ports ................................................................................................................. 150 mA Maximum current sourced by all ports(1) ......................................................................................................... 150 mA Note 1: 2: Maximum allowable current is a function of device maximum power dissipation (see Table 12-2) See the Pin Diagram section for the 5V tolerant pins. NOTICE: Stresses above those listed under "Absolute Maximum Ratings" may cause permanent damage to the device. This is a stress rating only and functional operation of the device at those or any other conditions above those indicated in the operation listings of this specification is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability. This device is sensitive to ESD damage and must be handled appropriately. Failure to properly handle and protect the device in an application may cause partial to complete failure of the device. 12.1 DC Characteristics: MTCH6303 Rating Supply Voltage DS40001803A-page 48 Min. Typ. Max. Units 2.3 -- 3.6 V Preliminary Conditions 2015 Microchip Technology Inc. MTCH6303 TABLE 12-1: THERMAL OPERATING CONDITIONS Rating Symbol Min. Typical Max. Unit Operating Junction Temperature Range TJ -40 -- +125 C Operating Ambient Temperature Range TA -40 -- +85 C Industrial Temperature Devices Power Dissipation: Internal Chip Power Dissipation: PINT = VDD x (IDD - S IOH) PD PINT + PI/O W PDMAX (TJ - TA)/JA W I/O Pin Power Dissipation: I/O = S (({VDD - VOH} x IOH) + S (VOL x IOL)) Maximum Allowed Power Dissipation TABLE 12-2: THERMAL PACKAGING CHARACTERISTICS Characteristics Symbol Typical Max. Unit Package Thermal Resistance, 64-pin QFN (9x9x0.9 mm)(1) JA 28 -- C/W Package Thermal Resistance, 64-pin TQFP (10x10x1 mm)(1) JA 47 -- C/W Note 1: Junction to ambient thermal resistance, Theta-JA (JA) numbers are achieved by package simulations. TABLE 12-3: DC TEMPERATURE AND VOLTAGE SPECIFICATIONS Standard Operating Conditions: (unless otherwise stated) 2.3V to 3.6V Operating temperature -40C TA +85C for Industrial DC CHARACTERISTICS Param. Symbol No. Characteristics Min. Typical Max. Units Conditions Operating Voltage DC10 VDD Supply Voltage 2.3 -- 3.6 V -- DC12 VDR RAM Data Retention Voltage (Note 1) 1.75 -- -- V -- DC16 VPOR VDD Start Voltage to Ensure Internal Power-on Reset Signal 1.75 -- 2.1 V -- DC17 SVDD VDD Rise Rate to Ensure Internal Power-on Reset Signal 0.00005 -- 0.115 V/s -- Note 1: This is the limit to which VDD can be lowered without losing RAM data. 2015 Microchip Technology Inc. Preliminary DS40001803A-page 49 MTCH6303 TABLE 12-4: DC CHARACTERISTICS: I/O PIN INPUT SPECIFICATIONS DC CHARACTERISTICS Param. Symb. No. Standard Operating Conditions: (unless otherwise stated) 2.3V to 3.6V Operating temperature -40C TA +85C for Industrial Min. Typ.(1) Max. Units I/O Pins VSS -- 0.2 VDD V SDAx, SCLx VSS -- 0.3 VDD V SDAx, SCLx VSS -- 0.8 V 0.25 VDD + 0.8V -- 5.5 V I/O Pins 5V-tolerant(4) 0.65 VDD -- 5.5 V SDAx, SCLx 0.65 VDD -- 5.5 V SDAx, SCLx 2.1 -- 5.5 V I/O Ports -- -- +1 A VSS VPIN VDD, Pin at high-impedance Analog Input Pins -- -- +1 A VSS VPIN VDD, Pin at high-impedance MCLR(2) -- -- +1 A VSS VPIN VDD Characteristics Conditions Input Low Voltage DI18 VIL DI19 Input High Voltage I/O Pins 5V-tolerant with PMP(4) VIH DI28 DI29 (Note 5) Input Leakage Current(3) DI50 IIL DI51 DI55 Note 1: 2: 3: 4: 5: 6: 7: 8: 9: Data in "Typical" column is at 3.3V, 25C unless otherwise stated. Parameters are for design guidance only and are not tested. The leakage current on the MCLR pin is strongly dependent on the applied voltage level. The specified levels represent normal operating conditions. Higher leakage current may be measured at different input voltages. Negative current is defined as current sourced by the pin. See the Pin Diagram section for the 5V tolerant pins. The VIH specifications are only in relation to externally applied inputs, and not with respect to the user-selectable internal pull-ups. External open-drain input signals utilizing the internal pull-ups of the PIC32 device are ensured to be recognized only as a logic "high" internally to the PIC32 device, provided that the external load does not exceed the minimum value of ICNPU. For External "input" logic inputs that require a pull-up source, to ensure the minimum VIH of those components, it is recommended to use an external pull-up resistor rather than the internal pull-ups of the PIC32 device. VIH source > (VDD + 0.3) for non-5V tolerant pins only. Digital 5V tolerant pins do not have an internal high side diode to VDD, and therefore, cannot tolerate any "positive" input injection current. Injection currents > | 0 | can affect the ADC results by approximately 4 to 6 counts (i.e., VIH Source > (VDD + 0.3) or VIL source < (VSS - 0.3)). Any number and/or combination of I/O pins not excluded under IICL or IICH conditions are permitted provided the "absolute instantaneous" sum of the input injection currents from all pins do not exceed the specified limit. If Note 7, IICL = (((Vss - 0.3) - VIL source) / Rs). If Note 8, IICH = ((IICH source - (VDD + 0.3)) / RS). RS = Resistance between input source voltage and device pin. If (VSS - 0.3) VSOURCE (VDD + 0.3), injection current = 0. DS40001803A-page 50 Preliminary 2015 Microchip Technology Inc. MTCH6303 TABLE 12-4: DC CHARACTERISTICS: I/O PIN INPUT SPECIFICATIONS (CONTINUED) DC CHARACTERISTICS Param. Symb. No. Characteristics Standard Operating Conditions: (unless otherwise stated) 2.3V to 3.6V Operating temperature -40C TA +85C for Industrial Min. Typ.(1) Max. Units Conditions Pins with Analog functions. Exceptions: [N/A] = 0 mA max DI60a IICL Input Low Injection Current 0 -- -5 (6,9) mA Digital 5V tolerant designated pins. Exceptions: [N/A] = 0 mA max Digital non-5V tolerant designated pins. Exceptions: [N/A] = 0 mA max Note 1: 2: 3: 4: 5: 6: 7: 8: 9: Data in "Typical" column is at 3.3V, 25C unless otherwise stated. Parameters are for design guidance only and are not tested. The leakage current on the MCLR pin is strongly dependent on the applied voltage level. The specified levels represent normal operating conditions. Higher leakage current may be measured at different input voltages. Negative current is defined as current sourced by the pin. See the Pin Diagram section for the 5V tolerant pins. The VIH specifications are only in relation to externally applied inputs, and not with respect to the user-selectable internal pull-ups. External open-drain input signals utilizing the internal pull-ups of the PIC32 device are ensured to be recognized only as a logic "high" internally to the PIC32 device, provided that the external load does not exceed the minimum value of ICNPU. For External "input" logic inputs that require a pull-up source, to ensure the minimum VIH of those components, it is recommended to use an external pull-up resistor rather than the internal pull-ups of the PIC32 device. VIH source > (VDD + 0.3) for non-5V tolerant pins only. Digital 5V tolerant pins do not have an internal high side diode to VDD, and therefore, cannot tolerate any "positive" input injection current. Injection currents > | 0 | can affect the ADC results by approximately 4 to 6 counts (i.e., VIH Source > (VDD + 0.3) or VIL source < (VSS - 0.3)). Any number and/or combination of I/O pins not excluded under IICL or IICH conditions are permitted provided the "absolute instantaneous" sum of the input injection currents from all pins do not exceed the specified limit. If Note 7, IICL = (((Vss - 0.3) - VIL source) / Rs). If Note 8, IICH = ((IICH source - (VDD + 0.3)) / RS). RS = Resistance between input source voltage and device pin. If (VSS - 0.3) VSOURCE (VDD + 0.3), injection current = 0. 2015 Microchip Technology Inc. Preliminary DS40001803A-page 51 MTCH6303 TABLE 12-4: DC CHARACTERISTICS: I/O PIN INPUT SPECIFICATIONS (CONTINUED) DC CHARACTERISTICS Param. Symb. No. Characteristics Standard Operating Conditions: (unless otherwise stated) 2.3V to 3.6V Operating temperature -40C TA +85C for Industrial Min. Typ.(1) Max. Units Conditions Pins with Analog functions. Exceptions: [SOSCI] = 0 mA max. DI60b IICH Input High Injection Current 0 -- +5(7,8,9) mA Digital 5V tolerant designated pins (VIH < 5.5V)(8). Exceptions: [All] = 0 mA max. Digital non-5V tolerant designated pins. Exceptions: [N/A] = 0 mA max. IICT DI60c Note 1: 2: 3: 4: 5: 6: 7: 8: 9: Total Input Injection Current (sum of all I/O and control pins) -20(11) -- +20(9) mA Absolute instantaneous sum of all input injection currents from all I/O pins ( | IICL + | IICH | ) IICT Data in "Typical" column is at 3.3V, 25C unless otherwise stated. Parameters are for design guidance only and are not tested. The leakage current on the MCLR pin is strongly dependent on the applied voltage level. The specified levels represent normal operating conditions. Higher leakage current may be measured at different input voltages. Negative current is defined as current sourced by the pin. See the Pin Diagram section for the 5V tolerant pins. The VIH specifications are only in relation to externally applied inputs, and not with respect to the user-selectable internal pull-ups. External open-drain input signals utilizing the internal pull-ups of the PIC32 device are ensured to be recognized only as a logic "high" internally to the PIC32 device, provided that the external load does not exceed the minimum value of ICNPU. For External "input" logic inputs that require a pull-up source, to ensure the minimum VIH of those components, it is recommended to use an external pull-up resistor rather than the internal pull-ups of the PIC32 device. VIH source > (VDD + 0.3) for non-5V tolerant pins only. Digital 5V tolerant pins do not have an internal high side diode to VDD, and therefore, cannot tolerate any "positive" input injection current. Injection currents > | 0 | can affect the ADC results by approximately 4 to 6 counts (i.e., VIH Source > (VDD + 0.3) or VIL source < (VSS - 0.3)). Any number and/or combination of I/O pins not excluded under IICL or IICH conditions are permitted provided the "absolute instantaneous" sum of the input injection currents from all pins do not exceed the specified limit. If Note 7, IICL = (((Vss - 0.3) - VIL source) / Rs). If Note 8, IICH = ((IICH source - (VDD + 0.3)) / RS). RS = Resistance between input source voltage and device pin. If (VSS - 0.3) VSOURCE (VDD + 0.3), injection current = 0. DS40001803A-page 52 Preliminary 2015 Microchip Technology Inc. MTCH6303 TABLE 12-5: DC CHARACTERISTICS: I/O PIN OUTPUT SPECIFICATIONS Standard Operating Conditions: (unless otherwise stated) 2.3V to 3.6V Operating temperature -40C TA +85C for Industrial DC CHARACTERISTICS Param. Symbol DO10 DO20 VOL VOH DO20A VOH1 Note 1: Characteristic Min. Typ. Max. Units Conditions Output Low Voltage I/O Pins: 4x Sink Driver Pins - All I/O output pins not defined as 8x Sink Driver pins -- -- 0.4 V IOL 9 mA, VDD = 3.3V Output Low Voltage I/O Pins: 8x Sink Driver Pins - RC15, RD2, RD10, RF6, RG6 -- -- 0.4 V IOL 15 mA, VDD = 3.3V Output High Voltage I/O Pins: 4x Source Driver Pins - All I/O output pins not defined as 8x Source Driver pins 2.4 -- -- V IOH -10 mA, VDD = 3.3V Output High Voltage I/O Pins: 8x Source Driver Pins - RC15, RD2, RD10, RF6, RG6 2.4 -- -- V IOH -15 mA, VDD = 3.3V Output High Voltage I/O Pins: 4x Source Driver Pins - All I/O output pins not defined as 8x Sink Driver pins 1.5(1) -- -- 2.0(1) -- -- 3.0(1) -- -- IOH -7 mA, VDD = 3.3V Output High Voltage I/O Pins: 8x Source Driver Pins - RC15, RD2, RD10, RF6, RG6 1.5(1) -- -- IOH -22 mA, VDD = 3.3V 2.0(1) -- -- 3.0(1) -- -- Note 1: IOH -18 mA, VDD = 3.3V V IOH -10 mA, VDD = 3.3V ELECTRICAL CHARACTERISTICS: BOR Standard Operating Conditions: (unless otherwise stated) 2.3V to 3.6V Operating temperature -40C TA +85C for Industrial DC CHARACTERISTICS BO10 IOH -12 mA, VDD = 3.3V V Parameters are characterized, but not tested. TABLE 12-6: Param. No. IOH -14 mA, VDD = 3.3V Symbol VBOR Characteristics BOR Event on VDD transition high-to-low Min.(1) Typical Max. Units Conditions 2.0 -- 2.3 V -- Parameters are for design guidance only and are not tested in manufacturing. 2015 Microchip Technology Inc. Preliminary DS40001803A-page 53 MTCH6303 12.2 AC Characteristics and Timing Parameters The information contained in this section defines MTCH6303 AC characteristics and timing parameters. FIGURE 12-1: LOAD CONDITIONS FOR DEVICE TIMING SPECIFICATIONS Load Condition 1 - for all pins except OSC2 Load Condition 2 - for OSC2 VDD/2 CL Pin RL VSS CL Pin RL = 464 CL = 50 pF for all pins 50 pF for OSC2 pin (EC mode) VSS TABLE 12-7: CAPACITIVE LOADING REQUIREMENTS ON OUTPUT PINS AC CHARACTERISTICS Standard Operating Conditions: (unless otherwise stated) 2.3V to 3.6V Operating temperature -40C TA +85C for Industrial Param. Symbol No. Min. Typical(1) Max. Units OSC2 pin -- -- 15 pF In XT and HS modes when an external crystal is used to drive OSC1 DO50a CSOSC SOSCI/SOSCO pins -- 33 -- pF Epson P/N: MC-306 32.7680K-A0:ROHS DO56 CIO All I/O pins and OSC2 -- -- 50 pF EC mode DO58 CB SCLx, SDAx -- -- 400 pF In I2CTM mode DO50 COSCO Note 1: Characteristics Conditions Data in "Typical" column is at 3.3V, 25C unless otherwise stated. Parameters are for design guidance only and are not tested. FIGURE 12-2: EXTERNAL CLOCK TIMING OS20 OS30 OS31 OSC1 OS30 DS40001803A-page 54 Preliminary OS31 2015 Microchip Technology Inc. MTCH6303 TABLE 12-8: EXTERNAL CLOCK TIMING REQUIREMENTS Standard Operating Conditions: (unless otherwise stated) 2.3V to 3.6V Operating temperature -40C TA +85C for Industrial AC CHARACTERISTICS Param. No. Symbol Characteristics Min. Typical(1) Max. Units Conditions OS11 FOSC Oscillator Crystal Frequency -- 8 -- MHz OS20 TOSC TOSC = 1/FOSC = TCY (1) -- -- -- -- See parameter OS10 for FOSC value OS41 TFSCM Primary Clock Fail Safe Time-out Period -- 2 -- ms (Note) OS42 GM External Oscillator Transconductance (Primary Oscillator only) -- 12 -- mA/V Note 1: The external clock is required for USB operation and not needed for I2CTM operation. FIGURE 12-3: XT (Note) VDD = 3.3V, TA = +25C (Note) I2CTM BUS START/STOP BITS TIMING CHARACTERISTICS SCLx IS34 IS31 IS30 IS33 SDAx Stop Condition Start Condition Note: Refer to Figure 12-1 for load conditions. FIGURE 12-4: I2CTM BUS DATA TIMING CHARACTERISTICS IS20 IS21 IS11 IS10 SCLx IS30 IS26 IS31 IS25 IS33 SDAx In IS40 IS40 IS45 SDAx Out Note: Refer to Figure 12-1 for load conditions. 2015 Microchip Technology Inc. Preliminary DS40001803A-page 55 MTCH6303 TABLE 12-9: I2CTM BUS DATA TIMING REQUIREMENTS Standard Operating Conditions: (unless otherwise stated) 2.3V to 3.6V Operating temperature -40C TA +85C for Industrial AC CHARACTERISTICS Param. No. IS10 Symbol TLO:SCL Characteristics Clock Low Time Min. Max. Units Conditions 100 kHz mode 4.7 -- s PBCLK must operate at a minimum of 800 kHz 400 kHz mode 1.3 -- s PBCLK must operate at a minimum of 3.2 MHz 100 kHz mode 4.0 -- s PBCLK must operate at a minimum of 800 kHz 400 kHz mode 0.6 -- s PBCLK must operate at a minimum of 3.2 MHz CB is specified to be from 10 to 400 pF IS11 THI:SCL Clock High Time IS20 TF:SCL SDAx and SCLx Fall Time 100 kHz mode -- 300 ns 400 kHz mode 20 + 0.1 CB 300 ns IS21 TR:SCL SDAx and SCLx Rise Time 100 kHz mode -- 1000 ns 400 kHz mode 20 + 0.1 CB 300 ns IS25 TSU:DAT Data Input Setup Time 100 kHz mode 250 -- ns 400 kHz mode 100 -- ns IS26 THD:DAT Data Input Hold Time 100 kHz mode 0 -- ns 400 kHz mode 0 0.9 s -- IS30 TSU:STA Start Condition Setup Time 100 kHz mode 4700 -- ns 400 kHz mode 600 -- ns Only relevant for Repeated Start condition IS31 THD:STA Start Condition Hold Time 100 kHz mode 4000 -- ns 400 kHz mode 600 -- ns IS33 TSU:STO Stop Condition Setup Time 100 kHz mode 4000 -- ns 400 kHz mode 600 -- ns IS34 THD:STO Stop Condition Hold Time 100 kHz mode 4000 -- ns 400 kHz mode 600 -- ns IS40 TAA:SCL Output Valid from 100 kHz mode Clock 400 kHz mode 0 3500 ns 0 1000 ns 100 kHz mode 4.7 -- s IS45 TBF:SDA Bus Free Time 400 kHz mode 1.3 -- s The amount of time the bus must be free before a new transmission can start IS50 CB Bus Capacitive Loading -- 400 pF -- DS40001803A-page 56 Preliminary CB is specified to be from 10 to 400 pF -- After this period, the first clock pulse is generated -- -- -- 2015 Microchip Technology Inc. MTCH6303 13.0 ORDERING INFORMATION TABLE 13-1: ORDERING INFORMATION Part Number Pin Package Packing MTCH6303-I/PT 64-Lead TQFP (10x10mm) Tray MTCH6303-I/RG 64-Lead QFN (9x9mm) Tube MTCH6303T-I/PT 64-Lead TQFP (10x10mm) T/R MTCH6303T-I/RG 64-Lead QFN (9x9mm) T/R 2015 Microchip Technology Inc. Preliminary DS40001803A-page 57 MTCH6303 14.0 PACKAGING INFORMATION 14.1 Package Marking Information 64-Lead QFN (9x9x0.9 mm) Example PIN 1 PIN 1 XXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXX YYWWNNN MTCH6303 1524017 64-Lead TQFP (10x10x1 mm) Example XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX YYWWNNN Legend: XX...X Y YY WW NNN e3 * Note: DS40001803A-page 58 MTCH6303 1524017 Customer-specific information Year code (last digit of calendar year) Year code (last 2 digits of calendar year) Week code (week of January 1 is week `01') Alphanumeric traceability code Pb-free JEDEC(R) designator for Matte Tin (Sn) This package is Pb-free. The Pb-free JEDEC(R) designator ( e3 ) can be found on the outer packaging for this package. In the event the full Microchip part number cannot be marked on one line, it will be carried over to the next line, thus limiting the number of available characters for customer-specific information. Preliminary 2015 Microchip Technology Inc. MTCH6303 14.2 Package Details The following sections give the technical details of the packages. 64-Terminal Plastic Quad Flat Pack, No Lead (RG) 9x9x0.9 mm Body [QFN] Saw Singulated Note: For the most current package drawings, please see the Microchip Packaging Specification located at http://www.microchip.com/packaging D A B N 1 2 NOTE 1 E (DATUM B) (DATUM A) 2X 0.20 C 2X TOP VIEW 0.20 C DETAIL A 0.10 C C SEATING PLANE (A3) A SIDE VIEW 0.10 D2 C A B 0.10 C A B E2 e 2 NOTE 1 64X (K) 2 1 N 64X L e BOTTOM VIEW 64X b 0.10 0.05 C A B C Microchip Technology Drawing C04-260A Sheet 1 of 2 2015 Microchip Technology Inc. Preliminary DS40001803A-page 59 MTCH6303 64-Terminal Plastic Quad Flat Pack, No Lead (RG) 9x9x0.9 mm Body [QFN] Saw Singulated Note: For the most current package drawings, please see the Microchip Packaging Specification located at http://www.microchip.com/packaging C A1 SEATING PLANE 64X 0.08 C DETAIL A Units Dimension Limits N Number of Terminals e Pitch Overall Height A Standoff A1 Standoff A3 E Overall Width E2 Exposed Pad Width Overall Length D D2 Exposed Pad Length Terminal Width b L Terminal Length K Terminal-to-Exposed-Pad MIN 0.80 0.00 4.60 4.60 0.15 0.30 MILLIMETERS NOM 64 0.50 BSC 0.85 0.02 0.20 REF 9.00 BSC 4.70 9.00 BSC 4.70 0.20 0.40 1.755 REF MAX 0.90 0.05 4.80 4.80 0.25 0.50 Notes: 1. Pin 1 visual index feature may vary, but must be located within the hatched area. 2. Package is saw singulated 3. Dimensioning and tolerancing per ASME Y14.5M BSC: Basic Dimension. Theoretically exact value shown without tolerances. REF: Reference Dimension, usually without tolerance, for information purposes only. Microchip Technology Drawing C04-260A Sheet 2 of 2 DS40001803A-page 60 Preliminary 2015 Microchip Technology Inc. MTCH6303 64-Lead Very Thin Plastic Quad Flat, No Lead Package (RG) - 9x9x1.0 mm Body [QFN] 4.7x4.7 mm Exposed Pad Note: For the most current package drawings, please see the Microchip Packaging Specification located at http://www.microchip.com/packaging C1 X2 C2 Y2 (G1) Y1 Y1 SILK SCREEN E RECOMMENDED LAND PATTERN Units Dimension Limits E Contact Pitch Optional Center Pad Width X2 Optional Center Pad Length Y2 Contact Pad Spacing C1 Contact Pad Spacing C2 Contact Pad Width (X64) X1 Contact Pad Length (X64) Y1 Contact Pad to Center Pad (X64) G1 MIN MILLIMETERS NOM 0.50 BSC MAX 4.80 4.80 8.90 8.90 0.25 0.85 1.625 REF Notes: 1. Dimensioning and tolerancing per ASME Y14.5M BSC: Basic Dimension. Theoretically exact value shown without tolerances. Microchip Technology Drawing C04-2260A 2015 Microchip Technology Inc. Preliminary DS40001803A-page 61 MTCH6303 64-Lead Plastic Thin Quad Flatpack (PT)-10x10x1 mm Body, 2.00 mm Footprint [TQFP] Note: For the most current package drawings, please see the Microchip Packaging Specification located at http://www.microchip.com/packaging D D1 D1/2 D NOTE 2 A B E1/2 E1 A E A SEE DETAIL 1 N 4X N/4 TIPS 0.20 C A-B D 1 3 2 4X NOTE 1 0.20 H A-B D TOP VIEW A2 A 0.05 C SEATING PLANE 0.08 C 64 X b 0.08 e A1 C A-B D SIDE VIEW Microchip Technology Drawing C04-085C Sheet 1 of 2 DS40001803A-page 62 Preliminary 2015 Microchip Technology Inc. MTCH6303 64-Lead Plastic Thin Quad Flatpack (PT)-10x10x1 mm Body, 2.00 mm Footprint [TQFP] Note: For the most current package drawings, please see the Microchip Packaging Specification located at http://www.microchip.com/packaging H c E L (L1) T X=A--B OR D X SECTION A-A e/2 DETAIL 1 Notes: Units Dimension Limits Number of Leads N e Lead Pitch Overall Height A Molded Package Thickness A2 Standoff A1 Foot Length L Footprint L1 I Foot Angle Overall Width E Overall Length D Molded Package Width E1 Molded Package Length D1 c Lead Thickness b Lead Width D Mold Draft Angle Top E Mold Draft Angle Bottom MIN 0.95 0.05 0.45 0 0.09 0.17 11 11 MILLIMETERS NOM 64 0.50 BSC 1.00 0.60 1.00 REF 3.5 12.00 BSC 12.00 BSC 10.00 BSC 10.00 BSC 0.22 12 12 MAX 1.20 1.05 0.15 0.75 7 0.20 0.27 13 13 1. Pin 1 visual index feature may vary, but must be located within the hatched area. 2. Chamfers at corners are optional; size may vary. 3. Dimensions D1 and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed 0.25mm per side. 4. Dimensioning and tolerancing per ASME Y14.5M BSC: Basic Dimension. Theoretically exact value shown without tolerances. REF: Reference Dimension, usually without tolerance, for information purposes only. Microchip Technology Drawing C04-085C Sheet 2 of 2 2015 Microchip Technology Inc. Preliminary DS40001803A-page 63 MTCH6303 64-Lead Plastic Thin Quad Flatpack (PT)-10x10x1 mm Body, 2.00 mm Footprint [TQFP] Note: For the most current package drawings, please see the Microchip Packaging Specification located at http://www.microchip.com/packaging C1 E C2 G Y1 X1 RECOMMENDED LAND PATTERN Units Dimension Limits E Contact Pitch Contact Pad Spacing C1 Contact Pad Spacing C2 Contact Pad Width (X28) X1 Contact Pad Length (X28) Y1 Distance Between Pads G MIN MILLIMETERS NOM 0.50 BSC 11.40 11.40 MAX 0.30 1.50 0.20 Notes: 1. Dimensioning and tolerancing per ASME Y14.5M BSC: Basic Dimension. Theoretically exact value shown without tolerances. Microchip Technology Drawing C04-2085B Sheet 1 of 1 DS40001803A-page 64 Preliminary 2015 Microchip Technology Inc. MTCH6303 APPENDIX A: REVISION HISTORY Revision A (06/2015) Initial release of this document. 2015 Microchip Technology Inc. Preliminary DS40001803A-page 65 MTCH6303 THE MICROCHIP WEB SITE CUSTOMER SUPPORT Microchip provides online support via our web 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: Users of Microchip products can receive assistance through several channels: * 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 * * * * 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 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. DS40001803A-page 66 Preliminary 2015 Microchip Technology Inc. MTCH6303 PRODUCT IDENTIFICATION SYSTEM To order or obtain information, e.g., on pricing or delivery, refer to the factory or the listed sales office. [X](1) X /XX XXX Tape and Reel Option Temperature Range Package Pattern PART NO. Device Device: MTCH6303 Tape and Reel Option: Blank T = Standard packaging (tube or tray) = Tape and Reel(1) Temperature Range: I = -40C to RG PT = = Package: +85C Examples: a) MTCH6303-I/PT = Industrial Temp TQFP package. (Industrial) QFN TQFP Note 1: Pattern: QTP, SQTP, Code or Special Requirements (blank otherwise) 2015 Microchip Technology Inc. Preliminary 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. DS40001803A-page 67 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. (c) 2015, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. ISBN: 978-1-63277-531-3 QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV == ISO/TS 16949 == DS40001803A-page 68 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(R) MCUs and dsPIC(R) DSCs, KEELOQ(R) 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. Preliminary 2015 Microchip Technology Inc. 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 Hong Kong Tel: 852-2943-5100 Fax: 852-2401-3431 China - Xiamen Tel: 86-592-2388138 Fax: 86-592-2388130 China - Zhuhai Tel: 86-756-3210040 Fax: 86-756-3210049 Austria - Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 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 India - New Delhi Tel: 91-11-4160-8631 Fax: 91-11-4160-8632 Germany - Dusseldorf Tel: 49-2129-3766400 Australia - Sydney Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 China - Beijing Tel: 86-10-8569-7000 Fax: 86-10-8528-2104 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 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Cleveland Independence, OH Tel: 216-447-0464 Fax: 216-447-0643 India - Pune Tel: 91-20-3019-1500 Japan - Osaka Tel: 81-6-6152-7160 Fax: 81-6-6152-9310 China - Chongqing Tel: 86-23-8980-9588 Fax: 86-23-8980-9500 Japan - Tokyo Tel: 81-3-6880- 3770 Fax: 81-3-6880-3771 China - Dongguan Tel: 86-769-8702-9880 China - Hangzhou Tel: 86-571-8792-8115 Fax: 86-571-8792-8116 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 Detroit Novi, MI Tel: 248-848-4000 China - Qingdao Tel: 86-532-8502-7355 Fax: 86-532-8502-7205 Malaysia - Penang Tel: 60-4-227-8870 Fax: 60-4-227-4068 Houston, TX Tel: 281-894-5983 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 Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924 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 Canada - Toronto Tel: 905-673-0699 Fax: 905-673-6509 China - Xian Tel: 86-29-8833-7252 Fax: 86-29-8833-7256 Germany - Munich Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 Germany - Pforzheim Tel: 49-7231-424750 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 01/27/15 2015 Microchip Technology Inc. Preliminary DS40001803A-page 69 Mouser Electronics Authorized Distributor Click to View Pricing, Inventory, Delivery & Lifecycle Information: Microchip: MTCH6303-I/PT MTCH6303-I/RG MTCH6303T-I/RG MTCH6303T-I/PT