Freescale Semiconductor Data Sheet: Product Preview Document Number: CRTOUCHDS Rev. 3, 04/2013 CRTouch CRTouch Data Sheet Capacitive and Resistive Touch Sensing Application Specific IC. The CRTouch is a Ready Play solution device designed to serve as a four wire and five wire resistive touch driver and a capacitive touch sensing device in a single 32-pin QFN package. It provides all the signal interfacing and processing to calculate X and Y coordinates as well as to detect and process two touch gestures for human-machine interface applications. It’s key features are: Features • • • • • • • • • • • X and Y coordinates calculated from a resistive touch screen with built-in filter to improve stability Slide gesture detection for single touch. Two touch gesture detection for resistive four wire screens — Zoom In and Zoom Out — Rotate with clockwise and counter clockwise indication. Four capacitive keys in different configurations — Rotary — Slider — Keypad UART communication and I2C communication available Baud-rate auto detection pin to enable automatic synchronization with any UART baud-rate between 9600 and 115200 bps using the same UART RX pin Configurable scanning period that can calculate up to 200 coordinate points per second 1.8 to 3.6 volts operation 32-pin QFN package –40 °C to 105 °C operating temperature Normal Run mode, Sleep mode, and Shutdown mode for lower power consumption operation This document contains information on a product under development. Freescale reserves the right to change or discontinue this product without notice. © Freescale Semiconductor, Inc., 2007-2012. All rights reserved. Table of Contents 1 2 Pins and Connections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 1.1 Device block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . .3 1.2 Device pin out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 1.3 Recommended system connections . . . . . . . . . . . . . . . .5 1.4 Signals description . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 2.1 CRTouch resistive touchscreen scanning . . . . . . . . . . . .7 2.1.1 Touchscreen electrical signals . . . . . . . . . . . . . . .7 2.1.2 CRTouch scanning process . . . . . . . . . . . . . . . . .8 2.1.3 Resistive events. . . . . . . . . . . . . . . . . . . . . . . . .10 2.1.4 Calibration process . . . . . . . . . . . . . . . . . . . . . .10 2.1.5 Data FIFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 2.1.6 Resistive gestures . . . . . . . . . . . . . . . . . . . . . . .15 2.2 Capacitive subsystem . . . . . . . . . . . . . . . . . . . . . . . . . .17 2.2.1 Capacitive touch detection. . . . . . . . . . . . . . . . .17 2.2.2 Keypad control . . . . . . . . . . . . . . . . . . . . . . . . . .18 2.2.3 Rotary and slider control . . . . . . . . . . . . . . . . . .18 2.3 Modes of operation . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 2.3.1 Run mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 2.3.2 Sleep mode . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 2.3.3 Shutdown mode. . . . . . . . . . . . . . . . . . . . . . . . .20 2.4 Internal voltage regulator . . . . . . . . . . . . . . . . . . . . . . .21 2.4.1 Internal voltage regulator features . . . . . . . . . . .21 2.4.2 Internal voltage regulator modes of operation . .21 3 Serial Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 I2C interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 I2C bit transfer . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 I2C START and STOP conditions. . . . . . . . . . . 3.1.3 I2C transferring data. . . . . . . . . . . . . . . . . . . . . 3.1.4 I2C acknowledge . . . . . . . . . . . . . . . . . . . . . . . 3.1.5 CRTouch I2C slave address . . . . . . . . . . . . . . . 3.1.6 Message format for Writing CRTouch . . . . . . . 3.2 UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 UART Baudrate auto detection. . . . . . . . . . . . . 3.2.2 UART communication protocol. . . . . . . . . . . . . 3.2.3 Registers Read through UART. . . . . . . . . . . . . 3.2.4 Registers Write through UART . . . . . . . . . . . . . 4 Memory Map and Registers Description . . . . . . . . . . . . . . . . 4.1 Device memory map . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Registers description . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Resistive Touch Status registers . . . . . . . . . . . 4.2.2 Capacitive Touch Sensing Status registers . . . 4.2.3 Resistive Touch Configuration registers . . . . . . 4.2.4 Calibration Values registers . . . . . . . . . . . . . . . 4.2.5 TSS Configuration registers . . . . . . . . . . . . . . . Appendix AElectrical Specifications. . . . . . . . . . . . . . . . . . . . . . . Appendix BPacking Information. . . . . . . . . . . . . . . . . . . . . . . . . . 22 22 23 23 24 24 24 25 25 25 26 26 27 28 28 34 34 41 44 50 51 59 62 CRTouch Data Sheet, Rev. 3 2 Freescale Semiconductor Pins and Connections 1 Pins and Connections 1.1 Device block diagram Figure 1. Block diagram CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 3 Pins and Connections 1.2 Device pin out Figure 2. Device pinout CRTouch Data Sheet, Rev. 3 4 Freescale Semiconductor Pins and Connections 1.3 Recommended system connections Figure 3. Recommended system connections NOTE 1. 2. 3. 4. Resistive touch screen signals are bi-directional only for four-wire screens. For five-wire 5WS is input and the other four signals are outputs. COMMSEL is connected to ground only if UART communication is desired. Otherwise it can be left unconnected. I2C and UART communications are mutually exclusive. Only one can work during the device run time. The other pins from the other communication protocol can be un-connected. All unused pins can be left as Not Connected. Connecting them to ground may increase power consumption. CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 5 Pins and Connections 1.4 Signals description Table 1. Signal descriptions Pin Function used for CRTouch Description 1 Yr Y voltage reference 2 TouchPending Indicates that there is a previous touch event (resistive or capacitive) fwhere data registers have not been read 3 5WUR 5-Wire Upper Right Connection 4 Y+ / 5WLR 4-Wire Y+ or 5-Wire Lower Right connection 5 X+ / 5WS 4-Wire X+ or 5-Wire Sense connection 6 Y– / 5WUL 4-Wire Y– or 5-Wire Upper Left connection 7 VDDA VDD Signal for the ADC 8 VSSA VSS Signal for the ADC 9-11 NC No Connect 12 VREG_IN Voltage regulator Input 13 V33_OUT Voltage regulator output –3.3 Volts 14 VSS VSS – Connect to Digital Ground 15 X– / 5WLL 4-Wire X– or 5-Wire Lower Left connection 16 Electrode1 Capacitive Touch Sensing Key #1 17 Xr X voltage reference 18 Electrode2 Capacitive Touch Sensing Key #2 19 Electrode3 Capacitive Touch Sensing Key #3 20 Electrode4 Capacitive Touch Sensing Key #4 21 NC No Connect 22 Baudrate Auto Detect Signal used to enable Baud Rate auto detection 23 I2CAddrSel I2C Address Selection pin is used as bit 1 of the I2C address 24 VDD VDD – Connect to system regulated power supply 25 VSS VSS – Connect to digital Ground 26 I2C1_SDA I2C – Bidirectional SDA communication signal 27 I2C1_SCL I2C – Clock signal. Must be driven by the bus master 28 Reset Reset signal 29 Com Select Communication Select Pin. 0 = UART. 1 = I2C 30 Wakeup Signal used to wake the CRTouch when configured to go into Sleep or Shutdown modes. While in Sleep mode, this pin should be held down with a logical 0 to communicate with the device. 31 UART_RX UART Reception pin 32 UART_TX UART Transmission pin CRTouch Data Sheet, Rev. 3 6 Freescale Semiconductor Functional Description 2 Functional Description The capacitive and resistive touch (CRTouch) is a device capable of interfacing with 4-wire and 5-wire resistive touch screens. It is capable of detecting single touch slide and two-touch rotate and pinch gestures. CRTouch includes a calibration procedure to increase the touch detection accuracy and configurable low power and shutdown modes to reduce power consumption. 2.1 2.1.1 CRTouch resistive touchscreen scanning Touchscreen electrical signals The types of resistive touchscreen supported by this device are passive elements composed of two layers of conductive material uniformly distributed across the screen . Due to the resistivity of the conductive material, it can be seen as a resistor between the terminals of each layer. The following figure shows the construction of the 4 and 5 wire types of screens, and their simplified electrical equivalent circuit. Figure 4. Construction and electrical equivalent of a four wire touchscreen Figure 5. Construction and electrical equivalent of a five wire touchscreen CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 7 Functional Description When a voltage is applied at the terminals of one layer, the voltage is linearly distributed across the conductive material. For a four wire screen, the coordinates of the point of contact can be determined by applying voltage to one layer and reading the voltage on the other. For a five wire screen, one layer is used only for reading the voltage, while the other has voltages applied in different combinations for determining the value of each axis. The following table shows how the signals are activated for X and Y measurements in each type of screen. Table 2. Signal states for a four wire screen Measurement X+ X– Y+ Y- X Vdd Vss Z Z Y z Z Vdd Vss Table 3. Signal states for a five wire screen Measurement UR UL LR LL X Vdd Vss Vdd Vss Y Vdd Vdd Vss Vss Considering these scanning sequences, the screen’s origin (coordinate 0,0) is located in the intersection of the X– and Y– terminals for a four wires screen, and at the LL terminal for a five wire screen. It is also important to consider that the connection between the conductive material of the screen and the terminals of the CRTouch controller represent a series resistance with the screen. Because of this, the coordinates obtained at the edges of the active region of the screen may be a number of counts above 0 and a number of counts below the maximum value. This variation is given by the construction of the touchscreen, the impedance of its connection lines, the size of the active area, and so on. Another electrical phenomenon that needs to be considered is the capacitances created in the screen. Because the active area is composed of two plates of conductive material, this creates a set of capacitances between the two layers. When combined with the resistors created in the screen, these form an RC circuit with an associated stabilization time constant. If the voltage of one layer is read before it stabilizes, then a deviation from the real coordinate is produced. In some devices ESD diodes may be connected to the resistive panel for improved electrostatic immunity. In this case, low capacitance ESD diodes must be used to avoid increasing the resulting capacitance. 2.1.2 CRTouch scanning process The CRTouch has three scanning modes for the resistive screen. One is active when only X and Y coordinate values are desired, the second activates when the pressure measurement is enabled, and the last one when any of the two touch gestures are enabled. Before each sample is taken, the CRTouch waits for a configurable amount of time for the signals to stabilize. The following figure shows the differences in the scanning process for each scanning mode. CRTouch Data Sheet, Rev. 3 8 Freescale Semiconductor Functional Description X stabilization Y stabilization X Y X Sampling period Scanning Process for X and Y coordinates only X stabilization Y stabilization X Z stabilization Y1 Y2 Z1 Z2 X Sampling period Scanning Process for X ,Y, and Pressure X stabilization Y stabilization X Z stabilization Y1 Y2 X stabilization Y stabilization Z1 Z2 Xr Yr X Sampling period Figure 6. Scanning process for X, Y, pressure, and two touch gestures As seen in the previous figure, the scanning sequence repeats at a fixed period of time. This period is configurable in the Sampling Time register and may be in the range of 5 ms to 100 ms. The CRTouch scans the screen signals only when a touch is detected. When the screen is not touched, the device stays in a standby state. At the end of the scanning process, a set of coordinates is produced. These coordinates have a default resolution of 12 bits, or 4096 points per axis. However, this resolution may be modified to reflect the proportions of the screen more accurately (typical screens have a 4:3 or 16:9 proportion). This can be done by writing to the horizontal resolution and vertical resolution, which correspond to the X and Y resolution respectively. The resulting X and Y values are scaled to fit into this resolution. The CRTouch is capable of autodetecting the type of the screen connected. The type of screen detected is reflected in the Status Register 2. Only two touch gestures and pressure detection is available for 4 wire screens, and cannot be enabled when a 5 wire screen is connected. CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 9 Functional Description 2.1.3 Resistive events The CRTouch has a TouchPending signal that can assert on configurable events in the system to alert the host of a new event that requires attention. This signal can be used by the host to avoid time based polling of the status of the device and therefore unnecessary use of the communication bus. Whenever an event is detected in the system, it will be reflected in its associated bit in Status Register 1. All event bits of this register remain latched and are cleared until the register is read. This avoids losing any detected event if the host cannot read the status of the device for several sampling periods. Each event can also be enabled to assert the TouchPending signal through the Triggers Enable register. By setting the bits in this register, when an event is recorded in the status register the TouchPending signal is asserted, and remains asserted until the status is read. The most basic events that are related to the touchscreen are the resistive new sample and the touchscreen release events. The resistive new sample is triggererd when a new sample of the screen coordinates is available, which means that it is produced at the touch detection and subsequently at every scan period. The release event is produced only when the screen transitions from touched to not touched. In this case the last valid coordinates value remains in the Coordinate registers. Additional to the events status, the Status Register 1 reflects the state of the screen through its most significant bits, screen touched and two touch bits. These bits are updated with each sampling period and unlike the events bits, they are not latched and are not cleared with a register read, so their value always reflects the state of the screen at the last scanning sequence. When the screen transitions to the touched state, the Resistive Touch Screen Touched and the Resistive New Sample Event bits in the Resistive Touch Status Register 1 are set. With every new coordinate sample, the Resistive Touch Screen Touched and the Resistive New Sample Event bits will be set after the coordinate values are available in the X and Y coordinates registers. When the screen is released, the Resistive New Sample Event bit will be set, indicating the end of the scanning sequence, but the Resistive Touch Screen Touched bit will now be cleared, reflecting the released state of the screen. After this condition is met, no more touchscreen events will be reported in the status register or the TouchPending pin until a new touch is detected in the screen. The TouchPending signal is active low and is capable of driving an LED if user feedback is desired. 2.1.4 Calibration process The resistive touch screen should be calibrated to get an accurate performance. This inlcudes X and Y coordinate and gesture detection. The calibration process consists of a series of points touched by the user to give the device references on the screen orientation, offsets, and linearity. Two different processes may be executed: one, for only single touch calibration, the other for single and two touch calibration. In both cases, three different points need to be touched for single touch calibration. It is recommended that these points be touched with a stylus to increase the precision achieved. In the case of two touch calibration, two pairs of points need to be touched. As expected the two touch gestures are performed with fingers, these pairs of points must also be pressed with fingers. The three single touch calibration points are the following: The first coordinate should be at 10% of X and 10% of Y axis. The second coordinate should be at 50% of X and 90% of Y axis. The third coordinate should be at 90% of X and 50% of Y axis. The two pairs of two touch coordinates are the following and may be pressed in any order: The first pair is at 50% on the X axis and 10% and 90% on Y axis; the second pair is 50% on Y axis and 10% and 90% on X axis. These percentages correspond to the graphic display screen resolution. The Horizontal Display Resolution and Vertical Display Resolution must be configured with the corresponding display resolution before executing the calibration process. Note that both registers must be written for their new values to take effect. When the CRTouch is calibrated with the correct resolution, the X and Y coordinates calculated by the device directly correspond to the display pixels and need no additional processing by the graphics controller. Usually the user application displays an image showing the calibration points one at a time that must be touched to calibrate the screen. For increased precision, the CRTouch performs a validation of the touched points during calibration to determine if the values are within the expected range. When the validation is not positive, a calibration error is signaled in the Status Error register. This validation mechanism does not prevent the device from being calibrated. It serves as information to the host processor to determine if the calibration was executed correctly. Other methods of validation can be to display an additional point in the display and verify that the coordinate reported by the CRTouch corresponds to the displayed point. The built-in validation mechanism is accurate only within a 5° diphase between the display and the touch panels. CRTouch Data Sheet, Rev. 3 10 Freescale Semiconductor Functional Description Figure 7. Touch points for single touch calibration Figure 8. Touch pairs for two touch calibration The calibration process is initiated by setting bit6 into the Trigger Events register. For two touch calibration at least one of the two touch gestures must be enabled prior to starting the calibration process. It is also important to properly configure the resolution values to match the screen ratio, to increase the precision of the gestures detection especially for the rotate gesture. The following diagrams show the sequence of actions followed after setting the calibration bit to start the process. CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 11 Functional Description Figure 9. Single touch calibration sequence CRTouch Data Sheet, Rev. 3 12 Freescale Semiconductor Functional Description Figure 10. Single and two touch calibration sequence CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 13 Functional Description During calibration, the touch screen scan period is fixed at 10 ms, regardless of the value configured in the Sampling Rate register. For each point, 128 samples are taken, so each point should be held at least for 1.3 s for proper calibration. The calibration processed may be stopped at anytime by clearing bit6 on the Trigger Events register. Asampling period must pass before enabling it again for a new calibration process. To discard an established calibration both of the display resolution registers must be written. It is also possible to calibrate the CRTouch device through the Calibration Values set of registers without any touches required by the user. This is particularly useful for factory calibration to reduce the time required for this process. In this case, a system must be manually calibrated to generate the calibration values that can be reproduced to other devices. It is important to consider that the precision achieved by this method depends on the repeatability of the touch sensor impedances by the manufacturer. After writing the values to these registers the CRTouch must be reset for the calibration to take effect. 2.1.5 Data FIFO The device has three FIFO buffers, one for X coordinates, one for Y coordinates, and one for Pressure values. Each FIFO buffer stores up to16 samples and new samples can not be stored once the FIFO buffer is full. Each point touched on the screen yields one X coordinate and one Y coordinate which are store onto its respective FIFO buffer. If pressure is enabled on the device, then each point yields also a pressure value that is stored onto its respective FIFO buffer. The three FIFO buffers are synchronized and should be read in sequence. The device has a mechanism avoiding that just one FIFO buffer is read. If there are samples on the FIFO buffers and just one of them is read several times the device will report the same value until the other FIFO buffers is read. This means if the pressure is enabled the X FIFO buffer, Y FIFO buffer, and Pressure FIFO buffer should be read once before trying to read any of them again. If Pressure is disabled then only X FIFO buffer and Y FIFO buffer should be read. Setting the RTFIFOEN bit into the FIFO Setup register enables the FIFO buffers. Clearing this bit disables the FIFO buffers. X, Y, and Pressure FIFO buffers are flushed each time the FIFO Setup register is written. The device returns the value 0xFFFF if the FIFO buffers are disabled or empty. If the FIFO buffers are enabled a watermark can be configured to generate an event once the number of samples stored onto the FIFO buffers are bigger or equal than the watermark. The watermark is disabled by setting a zero value. Figure 11. FIFO Watermark example CRTouch Data Sheet, Rev. 3 14 Freescale Semiconductor Functional Description 2.1.6 Resistive gestures The CRTouch controller has built-in gestures detection capabilities with unique support for zoom and rotate multi-touch gestures, as well as single touch slides. This feature offloads the host processor of continuous coordinate reading and processing for gesture detection. 2.1.6.1 Slide A slide is detected for linear motion in any region of the screen in a direction parallel to any axis of the screen. This means that any motion that varies only one axis can be detected as a slide. The detection algorithm supports a deviation of 7.5° from the axis direction to still consider the motion as a slide. The following figure shows the valid ranges for a slide motion. Figure 12. Slide valid regions The slide gesture is enabled through the slide enable bit in the Configuration Register, and it is reported through the Slide Event bit in the Status Register 1. A slide can be performed in four different directions: horizontal or vertical, positive or negative in each case. The direction of the gesture is reported in the Status Register 2 through the Slide Direction [1:0] bits. The following table shows the reported value for each case. Table 4. Slide gesture directions Motion Direction Slide Direction [1:0] X0 < X1, Y0 = Y1 Horizontal positive 00 X0 > X1, Y0 = Y1 Horizontal negative 01 Y0 < Y1, X0 = X1 Vertical positive 10 Y0 > Y1, X0 = X1 Vertical negative 11 The slide gesture is reported when the motion distance is higher than a configurable threshold. This threshold is a portion of the screen resolution across each axis. For a vertical slide, a portion of the Y resolution is the threshold and for a horizontal slide, a portion of the X resolution is the threshold. This portion is defined by the Slide Steps register value. For a value of ten, the CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 15 Functional Description threshold is set to one tenth of the resolution; a value of one would mean one unit of the resolution, which cannot produce a slide because no motion may have a distance greater than the resolution. The Slide Displacement register reports the accumulated steps of the motion after it begins, therefore each time the threshold is crossed, this value is incremented. This value is reset if a change of direction is detected or when the screen is touched after a release. 2.1.6.2 Two touch gestures The CRTouch device is capable of detecting when two independent touches are present in the screen and when Zoom and Rotate gestures are performed by these two touches. Two touch detection is enabled when either Zoom or Rotate are enabled in the Configuration register. When two touches are detected, the Two Touch bit in the Status register 1 is set. In this state, coordinates reported in the X and Y registers should be disregarded by the display controller. When detecting a two touch event, the CRTouch continuously measures displacement of the fingers. This displacement may reflect in terms of the distance between the fingers (Zoom gesture), the slope of the line between the fingers (Rotate gesture), or both. For two touch gestures to operate, it is mandatory to run the calibration process described in section Section 2.1.4, “Calibration process.” Two touch gestures and display resolution must be configured before running the calibration to properly calibrate the gesture detection. For two touch gestures, the CRTouch uses internally a different resolution for the distances between the fingers in each axis. The smaller axis has a fixed resolution of 1000, while the other axis resolution is calculated to match the screen proportions. For a screen with 16:9 proportions, for example, one axis would have a resolution of 1000 and the other of 1777. The screen proportion is calculated according to the Vertical Resolution and Horizontal Resolution values. These values are used to calculate the distance between the fingers. TwoTouchResolutionA = 1000 Eqn. 1 HorizontalResolution TwoTouchResolutionB = 1000 ---------------------------------------------------------VerticalResolution Eqn. 2 VerticalResolution TwoTouchResolutionB = 1000 ---------------------------------------------------------HorizontalResolution Eqn. 3 or Whichever is the highest. MaxTwoTouchDis tan ce = ResolutionA 2 + ResolutionB 2 Eqn. 4 The signals required for two touch detection are obtained through the resistors connected to the Xr and Yr signal. Unexpected behaviors may be produced if these resistors are not connected and two touch gestures are enabled. 2.1.6.3 Zoom gesture When the distance between the fingers varies, a zoom gesture is detected. If the distance increases, a zoom-in direction is reported through the RTSZD bit in the Status Register 2. If the distance decreases, a zoom-out direction is reported through the RTSZD bit in the Status Register 2. In either case, the RTSZ bit is set in Status Register 1. Similar to the slide gesture, the zoom gesture is reported when a threshold is crossed. This threshold is approximately one tenth of the smaller axis of the screen. The Zoom Size register is updated each time the threshold is crossed and is cumulative throughout the gesture. The value of this register is equal to one tenth of the distance displacement. InitDis tan ce – ActualDis tan ce ZoomSize = ----------------------------------------------------------------------------------10 Eqn. 5 CRTouch Data Sheet, Rev. 3 16 Freescale Semiconductor Functional Description The maximum distance reported in the Zoom Size register can vary this depends on the proportions of the screen. 2.1.6.4 Rotate gesture The rotate gesture is reported when a variation of the slope between the fingers is detected. This variation must be at least 10° for it to be reported in the RTSR of the Status Register 1. The direction of the rotate gesture is reported in the RTSRD in the Status Register 2. The Rotate Angle register reflects the cumulative angle that has been displaced in that direction. This angle is reported in radians with 5 fractional bits and 3 integer bits. This determines a limit of 456° of continuous rotation that can be reported by the CRTouch. The following equation can be used to convert the value of the Rotate Angle register to a value in degrees. RotateAngle 180 = -------------------------------------------------32 2.2 Eqn. 6 Capacitive subsystem The CRTouch controller supports up to four capacitive electrodes as an extended interface. These electrodes may be detected independently or they can be arranged in a keypad, rotary or slider control configuration. The capacitive subsystem is enabled through the Configuration register with the Capacitive Control [1:0] bits according to table 4. Additionally, each of the electrodes of the CRTouch controller may be individually enabled or disabled in the Electrode Enablers register. Table 5. Capacitive control configuration bits Capacitive Control [1:0] Configuration 00 Capacitive subsystem disabled 01 Rotary control enabled 10 Slider control enabled 11 Keypad control enabled When enabled, the capacitive electrodes are scanned sequentially, from E0 to E3, at a fixed rate of 7 ms. The capacitive subsystem of the CRTouch controller has a set of configuration and status registers to control several features. NOTE Before the desired control is enabled through the Configuration Register, the desired events to be detected must be enabled in the Capacitive register; otherwise the control will not be enabled. 2.2.1 Capacitive touch detection The touch detection is based on a baseline tracking algorithm and thresholds for touch detection. When the system is enabled, an initial baseline is calculated and continuous baseline recalibration can be enabled through the DCTracker feature with the DC tracker enable bit in the capacitive system configuration. This recalibration is executed at a fixed number of scanning periods, determined by the DC Tracker Rate register value. Since the scanning period is fixed at 7 ms, the recalibration period is equal to the DC Tracker Rate register value multiplied by 7 ms. To detect a touch, the capacitance samples taken for each electrode are compared against the baseline. If a number of consecutive samples exceed a certain threshold then that electrode is considered and reported as touched. These thresholds are defined by the Ex Sensitivity registers and represent the minimum difference that must exist between a capacitive sample and CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 17 Functional Description the signal baseline for a touch to be detected. To avoid false touch detection due to sporadic noise, the Response Time register defines how many samples the algorithm will consider to determine a touch or a no touch condition. After an electrode has been detected as touched, recalibration is not performed for that electrode to avoid recalibrating the baseline at a non-idle signal level. However, under certain environmental conditions, large and sudden changes in the measured capacitance may occur which may trigger a touch detection. If this condition persists (excessive humidity over an electrode, for example), the affected electrode will not be able to detect real touches. For this kind of scenario, the stuck key feature allows the host to define a touch timeout,after which the touched status is released and the electrode is recalibrated. The actual status of each individual electrode may be read at the Electrode Status register. Each bit represents the status of one electrode, reporting a 1 when the electrode is detected as touched and a 0 when the electrode is not touched. For application customization of these parameters, the CRTouch controller provides a set of registers that allow the analysis of the capacitance behavior of each electrode under the specific application conditions. The Electrode Baseline registers and Electrode Instant Delta registers provide this information. The resolution of the capacitive samples and the calculated baselines can be modified through the Capacitive Resolution registers. Increasing or decreasing the resolution is useful depending on the thickness of the dielectric used. This allows to modify the signal (touch) to noise ratio for more flexibility on the touch detection. This value is only effective after a reset, a reset is then needed to make a change in this register to take effect. 2.2.2 Keypad control The keypad control supports the reporting of touch or release events for each individual electrode. These events are reported through an events buffer and each of them is enabled through the Events register. The events buffer is mapped to the Electrodes FIFO register of the device. Each read of this register returns the oldest previously stored in the buffer, until the buffer is empty and any subsequent read returns a value of 0xFF. The format of the events in the buffer may be consulted in the registers section of this document. Additionally to the touch detection, the keypad control provides an autorepeat feature, to log new touch events into the buffer at a certain rate after detecting the electrode as touched for a period of time. The Auto-repeat Start register controls the timeout before it starts logging new events, and the Auto-repeat Rate register controls how often a new event is stored in the buffer. The keypad control also provides the capability of restricting the number of keys that may be pressed at the same time. This is done by writing a value different than 0 in the Max Touches register. When the number of simultaneous touches is equal to the Max Touches register, no new touch events for additional keys are stored in the events buffer until one or more keys are released. 2.2.3 Rotary and slider control The slider and rotary control types provide support for linear or circular arrangements of electrodes. A rotary may be seen as a circular slider, where the first and last electrodes are adjacent. In the case of a rotary a simultaneous touch of these two electrodes is considered valid, where in a slider it is not. This is the only difference between these two types of controls, otherwise all of their behavior is the same. Slider and rotary controls are oriented to the detection of motion through the control, so they provide the capability to detect this motion, report its direction, and the amount of displacement. The control is also capable of reporting when the initial touch is detected, when the motion ends and when all of the control’s electrodes have been released. All these events are enabled through the Events register. Two status registers are provided for these controls, the Static Status register and the Dynamic Status register. The Dynamic Status register reports if movement is being detected at the moment through the Movement Flag, reports the direction of this movement in the Direction bit and how many positions were advanced since the last status. The static status reports if the control is currently touched through the touch flag, the position of the touch, and if an invalid position is detected. To increase the number of positions detectable in a rotary or slider control, positions “between” the electrodes are also reported. This means that when two electrodes are touched, the control reports a position different than the position of each of the touched CRTouch Data Sheet, Rev. 3 18 Freescale Semiconductor Functional Description electrodes. For example, E0 corresponds to position 0, E0 and E1 correspond to position 1, and E1 corresponds to position 2. When more than two electrodes are touched, the central position is reported. 2.3 Modes of operation The CRTouch operating modes are described in this section. Entry into each mode and exit from each mode as well as the function while in each of the modes are described. 2.3.1 Run mode This is the normal operating mode for CRTouch which is the default mode for a new device. In this mode the device is not entering into low-power nor shutdown modes at any time. Serial communications are active all the time waiting for a command to be received. Scanning of a resistive touchscreen panel will be performed periodically as defined in the Sampling Rate register. During run mode, all the internal circuitry remains enabled all the time. All the functions do not have any constraints or special considerations to be used while in this mode. Power consumption is higher than in any other operating mode. 2.3.2 Sleep mode Sleep mode is enabled through the SLEEPEN bit in the Configuration Register. This mode sends the part into a low power mode between scanning periods of a resistive touchscreen panel. When the part is in sleep mode it turns off the internal clocks for the serial communication peripherals, both UART and I2C. The overall function of the device is the same compared to normal run mode, with the exception of communication interfaces. 2.3.2.1 CRTouch function in sleep mode When Sleep mode is enabled, the part will remain in this state until the timeout configured in the Sampling rate register expires. After the Sampling Rate period expires, the part will start the sequence to scan if the resistive touch screen connected has a new coordinate and calculate the X and Y coordinates and gestures detection if needed. Besides a sampling rate period expiration, there are two additional ways to transition from Sleep mode into Run mode: • • Wakeup pin—The active low wakeup pin will transition the part from Sleep mode into run mode. While being asserted, the device will remain in run mode. The part will return into Sleep mode after the signal has been de-asserted, unless there is an active communication (UART or I2C) or the part is actively scanning a resistive touchscreen panel. For the communication case, the communication timeout rules will apply before going back to Sleep mode. When the part is scanning the resistive touchscreen panel, it will go back to sleep mode as soon as the scanning process finishes. Serial communication—Either UART or I2C can transition the part from sleep mode into run mode. Each communication interface has specific characteristics and rules while working in sleep mode. 2.3.2.2 I2C communication in sleep mode If I2C communication is selected for CRTouch communication, a start condition followed by a Slave Address match can be used to wakeup the part from sleep mode and transition to normal run mode. Because the I2C internal clock was turned off until the slave address matched, CRTouch answers with a Not Acknowledge to this initial request. There are two alternatives to use I2C communication with Sleep mode enabled: • Include in the host the logic a re-send of the Slave Address with the appropriate read or write request upon reception of a not acknowledge. CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 19 Functional Description Figure 13. CRTouch wakeup using I2C communication • Use the wakeup signal to bring the part into normal run mode before starting any I2C communication. It is important to return the wakeup signal into its idle state (high) after the communication is finished, otherwise the part will remain into normal run mode increasing the overall system power consumption. When the wakeup pin is used to return the part to run mode, the system will remain in this state for 50 s. If a new communication starts with a Start condition followed by the device slave address and a valid command for the CRTouch while in normal run mode, the part will remain in run state. It will return to sleep mode only after the communication remains idle for 1ms after receiving a stop condition. When the part wakes by receiving its slave address through I2C, it remains in run mode for 1ms waiting for a new communication to start. It goes back to sleep mode after 1 ms of inactivity on the I2C bus. 2.3.2.3 UART communication in sleep mode When UART communication is used for CRTouch, a start bit will transition the part from sleep mode to run mode. When the part is in sleep mode the internal clock used for the UART communication is off. Upon reception of a start bit the internal clock is re-started, the part returns into normal run mode and the communication can be resumed normally. In the majority of the cases the byte that wokeup the part is properly received and stored. The exception to this rule occurs when the internal circuitry is transitioning from normal run mode (either because of a previous communication, wakeup pin use, or screen X and Y coordinates calculation) into sleep mode. If the UART start bit is received at the exact moment the internal circuitry starts the transition, the initial byte (start of frame) will be lost. This will result in a complete frame loss when it occurs. There are three alternatives when enabling Sleep mode using UART: • • • 2.3.3 Send the start of frame byte twice in each frame. Asserting the wakeup pin for at least 10 s before sending the start of frame. It is important to return the wakeup signal into its idle state (high) after the communication is finished, otherwise the part will remain in normal run mode increasing the overall system power consumption. Implementing a timeout on the host side to retry the command if there is no response received within the next 1ms of sending the command. Shutdown mode Shutdown is enabled through the SHUTDOWN bit in the Configuration register. This mode sends the part into the lowest power consumption state. In this mode, all the resistive touchscreen scanning, serial communication and any other internal activity are stopped. This mode is intended for when a device is in a standby or hibernating state and wishes to reduce power consumption to its minimum. There are three ways to come out of Shutdown mode: • • • Asserting the wakeup signal for more than 10 s Using the reset pin Optionally enabling a capacitive electrode as wakeup source and performing a touch on it. In all cases the part will recover the latest value for the configuration registers and will resume will resume normal operating mode. The part will use either normal run mode or Sleep mode based on the latest configuration for the SLEEPEN bit before going into Shutdown. CRTouch Data Sheet, Rev. 3 20 Freescale Semiconductor Functional Description Any of the capacitive electrodes may be enabled as a Low Power Electrode and can be configured for a scanning period and sensitivity. To enable this electrode as a wakeup source from Shutdown, the CLPEN bit must be enabled in the Capacitive System Configuration register. Enabling this bit inhibits normal functioning of all the electrodes, therefore it should only be enabled prior to sending the device into Shutdown mode. Baseline tracking is not performed for the Low Power Electrode. 2.4 Internal voltage regulator The voltage regulator module is a LDO linear voltage regulator to provide 3.3 V power from an input power supply varying from 2.7 V to 5.5 V. It consists of one 3.3 V power channel. The internal voltage regulator can be used to be the main power supply of the device. When the input power supply is below 3.6 V, the regulator goes to pass-through mode. 2.4.1 • • • • • • • • • • • • • • 2.4.2 Internal voltage regulator features Low drop-out linear voltage regulator with one power channel (3.3 V) Low drop-out voltage— 300 mV. Output current—120 mA. Three different power modes— RUN, SLEEP, and SHUTDOWN. Low quiescent current in RUN mode. Typical value is around 120 A (one thousand times smaller than the maximum load current). Very low quiescent current in STANDBY mode. Typical value is around 1 A. Automatic current limiting if the load current is greater than 290 mA. Automatic power-up once some voltage is applied to the regulator input. Pass-through mode for regulator input voltages less than 3.6 V Small output capacitor— 2.2 F Stable with aluminum, tantalum, or ceramic capacitors. Internal voltage regulator modes of operation The regulator has these power modes: • RUN— The regulating loop of the RUN regulator and the SLEEP regulator are active, but the switch connecting the SLEEP regulator output to the external pin is open. • SLEEP— The regulating loop of the RUN regulator is disabled and the standby regulator is active. The switch connecting the SLEEP regulator output to the external pin is closed. • SHUTDOWN— The module is disabled. This is the recommended connections to power CRTouch from internal voltage regulator: CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 21 Serial Communications Figure 14. Connections to power CRTouch from internal voltage regulator Figure 15. Recommended connections to power external circuitry from internal voltage regulator 3 Serial Communications The CRTouch is a four wire and five wire resistive touch Screen and a four key capacitive touch sensing device. It can interact with a master device either through UART or I2C interfaces 3.1 I2C interface The registers inside CRTouch can be accessed through the Inter-Integrated Circuit serial interface (I2C, I2C, or IIC). The I2C interface provides a method of communication with a number of devices and the CRTouch can act only as a slave device inside an I2C network, therefore it will respond to read and write operations from a Bus master and can never initiate a communication within the bus. To enable the I2C interface, COM SEL must be tied high when coming out of reset. CRTouch operates as an I2C slave that sends and receives data through the SDA line on an I2C bus. A bus master initiates all data transfers to and from CRTouch, and generates the SCL clock that synchronizes the data transfer. The CRTouch line operates as an open drain bidirectional signal. A pull-up resistor (typically between 4.7 and 10 K) is required on CRTouch. For CRTouch, SCL is an input only signal which also requires an external pull-up. Each transmission is initiated with a START condition generated by the master, followed by the CRTouch slave address (7 bits) plus one bit that indicates if the transaction is a read or write operation, in the case of write sequences it includes one register address byte and 1 to N data bytes for read or write transactions, followed by a STOP condition that indicates the end of that transmission. CRTouch Data Sheet, Rev. 3 22 Freescale Semiconductor Serial Communications Figure 16. I2C START and STOP conditions and timing 3.1.1 I2C bit transfer Because CRTouch can operate with different voltages, the levels of the logical low and high values are not fixed and depend on the associated level of VDD. The data on the SDA line must be stable during the HIGH period of the clock. Any change on the SDA line for data transmission can only occur when the clock signal on the SCL line is LOW. Figure 17. Bit Transfer 3.1.2 I2C START and STOP conditions A transition to low on the SDA line while SCL is high indicates a start (S) condition. A transition to high on the SDA line while SCL is high defines a STOP (P) condition. START and STOP conditions are always generated by the master. The bus is free when no master device is engaging the bus (both SCL and SDA are high). When the bus is free, a master may initiate communication by sending a START signal. The bus is considered to be busy after the START condition. The bus is considered to be free again at a certain time after the STOP condition. The bus stays busy if a repeated START (Sr) is generated instead of a STOP condition. The START (S) and repeated START (Sr) are functionally identical, therefore the S symbol will be used as a generic term to represent both the START and repeated START conditions, unless Sr is particularly relevant. Figure 18. START and STOP conditions CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 23 Serial Communications 3.1.3 I2C transferring data The number of bytes that can be transmitted per transfer is unrestricted. Each byte has to be followed by an acknowledge bit. Data is transferred with the most significant bit (MSB) first. Within each byte, there must be 8-data bits and one acknowledge bit. 3.1.4 I2C acknowledge Data transfer with acknowledge is obligatory for the I2C protocol. The acknowledge-related clock pulse is generated by the I2C master as a 9th bit which the recipient uses to handshake reception of each byte of data. Thus each byte transferred effectively requires 9 bits. To acknowledge a byte, the device sending data through the I2C bus releases the CRTouch line in the 9th bit of data. In this clock the receiver has to pull down and maintain the CRTouch line stable low during the high period of this clock pulse as an acknowledgement that the byte was received properly. When CRTouch does not acknowledge a byte in a transaction it can indicate one of the following conditions: • • The address is trying to be accessed (either read or write) does not exist in the memory map The location written does not have write attributes If the CRTouch does not acknowledge the data byte, the CRTouch line is left high during the acknowledge clock bit and the master has to generate a STOP or repeat START condition. Figure 19. I2C Acknowledge 3.1.5 CRTouch I2C slave address The CRTouch has a 7-bit long slave address. The eight bit following the slave address is the R/W bit used to indicate if the transaction is going to be a Read or Write transaction (low indicates a write command). The I2C address has a configurable bit through the AddrSel signal. When connected to ground, bit 1 of the I2C address will be 0 and 1 when connected to VDD. The resulting two 7 bit addresses possible are: 0x49 and 0x4B. Figure 20. I2C Slave Address CRTouch Data Sheet, Rev. 3 24 Freescale Semiconductor Serial Communications 3.1.6 Message format for Writing CRTouch A write sequence comprises the transmission of the CRTouch slave address with a value of 0 for the R/W bit followed by two bytes of information. The first byte of information is the memory map address byte and the second byte is the first data byte to be written. The memory map section of this document details the address of each register, its read and write permissions and the auto increment address in case more than 1 data byte is written. Any byte received after the address byte is taken as data bytes and is written in the location where the internal memory map logic points at that moment. A Not Acknowledge may be generated if the location written does not exist or does not have write permissions. Figure 21. I2C Write sequence 3.2 UART The CRTouch device can also send and receive data through a UART communication. Default configuration is 115200 bps, 8 data bits, odd parity and one stop bit. The only configurable parameter is the baud rate through the auto-detection feature. All the other settings are fixed. To synchronize start and end of transactions with a host device, UART communication uses a start and end of frame reserved characters. All the data within the data payload will be sent in unpacked BCD (that is a value of 0 x 8C will be sent in two bytes, 0 x 08 and 0 x 0C) to avoid overlapping with the start and end of frame characters. Because there are TX and RX dedicated lines for the UART communication, for any command (read or write) there must be a response from CRTouch, either replying to a read transaction or replying a status byte (success or error) from the previous transaction. 3.2.1 UART Baudrate auto detection The CRTouch comes with an auto detect feature that allows configuring any baudrate from 9600 bps to 115200 bps. To use this feature: 1. 2. 3. Baudrate auto detection signal is asserted with a LOW value. Host sends three consecutive bytes with 0 x 55 values with 8-data bits, odd parity, and one stop bit at the desired baudrate to configure. Finally new baudrate is configured on CRTouch. If the requested baudrate is out of range or the values sent are not the appropriate ones to calculate a valid baudrate the last valid value stored on the memory map is used and a Baudrate error will be indicated in the Status Error register. CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 25 Serial Communications 3.2.2 UART communication protocol The protocol uses the following format: Figure 22. UART protocol format Start of Frame — A specific byte that indicates the start of a communication between a host and CRTouch. Data byte value 0 x C0 is used for this purpose. Register Address — Includes information if there is a write or read request from the MCU host to CRTouch, and data record address from the CRTouch memory map. Data record address is 7-bits width, from Bit 6 to Bit 0 and write/read transaction is located on [B7]. B7 LOW Indicates a Read transaction. Payload Size — Information about quantity of bytes to be read or written is included on this field, this size does not include start of frame, register address, nor end of frame. Data bytes —Write or Read information from the the memory map. The numbers of bytes to be read or written specified in the payload size define how many bytes each frame has. Section 4.1, “Device memory map” includes a description of the registers address and the next address to be written or read in case of a sequential read/write operation. End of Frame (EOF) — EOF indicates that the current communication has been finished. If the data frame transmitted from the host MCU to the CRTouch does not include an EOF (0 x C1), the information sent from the Host to CRTouch does not have any effect. When processing data through UART interface the command is executed upon the reception of an EOF. Starting on the data record address byte to the last data byte to be transmitted or received by the host MCU, each data byte is divided in MSB nibble and LSB nibble where the valid range written goes from 0 x 00 to 0 x 0F. 3.2.3 Registers Read through UART To read any CRTouch register using the UART interface, the communication must start with a SOF followed by a register address with the most significant bit value of ‘0’ and the amount of bytes that the host wishes to read followed by an EOF. Upon reception of a read command, CRTouch will reply using the same UART communication protocol (SOF, Register Address, Payload Size, Data Payload, and EOF) with the data from the registers read. Figure 23. Register read through UART communication CRTouch Data Sheet, Rev. 3 26 Freescale Semiconductor Serial Communications Table 6. UART communication responses to a write command Byte Value 3.2.4 Information 0xC2 Positive Acknowledge. The last command data was valid and has been properly written into CRTouch. 0xE0 Sampling rate out of range. A value between 5 and 100 (ms) is expected. 0xE1 Invalid write transaction. Register written does not have write attributes 0xE2 Data size out of range. A value between 1 and tes sent in the write command 0xE3 Register Address out of range. See memory map section for more information 0xE5 Parity Error was generated. Parity is odd parity for each byte. Registers Write through UART To write one to n CRTouch registers, the communication must start with a SOF, followed by a register address with the most significant bit value of ‘1’ indicating the amount of registers to be written, followed by the data bytes and ending with an EOF. The CRTouch will reply either with an acknowledge byte or an error code. Figure 24. Register write through UART communication The following table shows a list of possible responses to a write commands from a host. Response to any write command is the only communication where the communication protocol is not strictly followed to reduce the amount of traffic generated for a simple acknowledgement. Table 7. UART communication responses to a write command Byte Value Information 0xC2 Positive Acknowledge. The last command data was valid and has been properly written into CRTouch. 0xE0 Sampling rate out of range. A value between 5 and 100 (ms) is expected. 0xE1 Invalid write transaction. Register written does not have write attributes 0xE2 Data size out of range. A value between 1 and test sent in write command 0xE3 Register Address out of range. See memory map section for more information 0xE5 Parity Error was generated. Parity is odd parity for each byte. CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 27 Memory Map and Registers Description 4 Memory Map and Registers Description The CRTouch product has status and configuration registers for the resistive touchscreen driver and the capacitive keys support. All the status registers are read-only registers. The configuration registers have read and write attributes. All configuration registers are stored in non-volatile memory when changed, the device therefore does not require reconfiguration after power loss or reset. Only specific bits in certain registers are not restored and this is indicated in the corresponding bit description. When writing a configuration value into a register, it may take one sampling period, resistive or capacitive, for it to take effect and to be read. 4.1 Device memory map The CRTouch memory map is designed to allow a consecutive bytes reading. Each register has a value for its incremental address, which is the value that the internal read address pointer holds after reading that specific location. For example, if the X coordinate is read, the initial transaction starts with address 0x03 and automatically auto-increment to 0x04, 0x05, and 0x06. When the pressure is disabled, after reading the Y coordinate LSB in address 0x06, the internal address pointer returns to value 0x03 to allow reading again of X and Y coordinates without further write operations. Table 8. Resistive touch sense status register map Name Register address Incremental Address Default Value Valid Range Comment Resistive Touch Error Register 0x00 0x01 0x00 — Used to report Serial Protocol communication errors Resistive Touch Status Register 1 0x01 0x02 0x00 — Register used to report general information Resistive Touch Status Register 2 0x02 0x03 0x00 — Register used to report general information X coordinate MSB 0x03 0x04 0x00 0x00 – 0x1F X coordinate MSB X coordinate LSB 0x04 0x05 0x00 0x00 – 0xFF X coordinate LSB Y coordinate MSB 0x05 0x06 0x00 0x00 – 0x1F Y coordinate MSB Y coordinate LSB 0x06 0x031 0x072 0x00 0x00 — 0xFF Y coordinate LSB Pressure value MSB 0x07 0x08 0x00 0x00 — 0xFF Pressure value MSB Pressure value LSB 0x08 0x03 0x00 0x00 — 0xFF Pressure value LSB Resistive Touch FIFO Status 0x09 0x0A 0x00 — FIFO Status information FIFO X coordinate MSB 0x0A 0x0B 0x00 0x00 — 0x1F FIFO X coordinate MSB FIFO X coordinate LSB 0x0B 0x0C 0x00 0x00 — 0xFF FIFO X coordinate LSB FIFO Y coordinate MSB 0x0C 0x0D 0x00 0x00 — 0x1F FIFO Y coordinate MSB FIFO Y coordinate LSB 0x0D 0x0A1 0x0E2 0x00 0x00 — 0xFF FIFO Y coordinate LSB FIFO Pressure value coordinate MSB 0x0E 0x0F 0x00 0x00 — 0xFF FIFO Pressure value coordinate MSB CRTouch Data Sheet, Rev. 3 28 Freescale Semiconductor Memory Map and Registers Description Table 8. Resistive touch sense status register map (continued) Register address Name Incremental Address Default Value Valid Range Comment FIFO Pressure value coordinate LSB 0x0F 0x10 0x00 0x00 — 0xFF FIFO Pressure value coordinate LSB UART baudrate MSB 0x10 0x11 0x01 0x00 — 0x01 UART baud rate MSB byte UART baudrate MID 0x11 0x12 0xC2 0x00 — 0xFF UART baud rate MID byte UART baudrate LSB 0x12 0x13 0x00 0x00 — 0xFF UART baud rate LSB byte Device Identifier Register 0x13 0x14 0x12 — Identifies mask set of the device. Increments with versions of the device. Slide displacement 0x14 0x15 0x00 0x00 — 0xFF Reports how many steps the user displaced since the initial touch Rotate angle 0x15 0x16 0x00 0x00 — 0xFF Reports the total angle of the rotate motion since the initial touch Zoom size 0x16 0x20 0x00 0x00 — 0xFF Reports how much zoom has been exercised by the user 1.Incremental address when pressure detection is disabled. 2.Incremental address when pressure detection is enabled. Table 9. Capacitive Touch Status registers Name Register Address Incremental Address Default Value Valid Range Comment Electrode Status 0x20 0x21 0x00 0x00 — 0x0F Each bit represents the current status of an electrode. Capacitive Touch 0x21 Faults 0x22 0x00 0x00 to 0x01 Shows the faults generated by the system Electrode 0 baseline MSB 0x22 0x23 Electrode 0 baseline LSB 0x23 0x24 Electrode 1 baseline MSB 0x24 0x25 Electrode 1 baseline LSB 0x25 0x26 Electrode 2 baseline MSB 0x26 0x27 Electrode 2 baseline LSB 0x27 0x28 0x0000 0x0000 0x0000 0x0000 – 0x07FF 0x0000 – 0x07FF 0x0000 – 0x07FF Electrode base capacitance. This value may adjust to changes due to electrical and environmental noise. Electrode base capacitance. This value may adjust to changes due to electrical and environmental noise. Electrode base capacitance. This value may adjust to changes due to electrical and environmental noise. CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 29 Memory Map and Registers Description Table 9. Capacitive Touch Status registers Name Register Address Incremental Address Electrode3 baseline MSB 0x28 0x29 Electrode3 baseline LSB 0x29 0x2A Electrode0 instant delta 0x2A Electrode1 instant delta Default Value Valid Range Comment Electrode base capacitance. This value may adjust to changes due to electrical and environmental noise. 0x0000 0x0000 – 0x07FF 0x2B 0x00 -128 — 127 Instant capacitance variation with respect to its baseline 0x2B 0x2C 0x00 -128 — 127 Instant capacitance variation with respect to its baseline Electrode2 instant delta 0x2C 0x2D 0x00 -128 — 127 Instant capacitance variation with respect to its baseline Electrode3 instant delta 0x2D 0x2E 0x00 -128 — 127 Instant capacitance variation with respect to its baseline Slider and 0x2E Rotary Dynamic Status 0x2F 0x00 — Displays the movement, direction, and displacement information Slider and Rotary Static Status 0x2F 0x20 0x00 — Displays the touch and absolute position information. Holds the invalid position status flag Capacitive 0x30 Electrodes FIFO 0x30 0x00 — Register window for keypad FIFO. Consecutive reads to this register return successive FIFO elements. Table 10. Resistive Touch Configuration register map Name Register Incremental address Address Default Value Valid Range Comment Resistive Touch 0x40 System Configuration 0x41 0x00 0x00 — 0xFF General CRTouch configuration register Resistive Touch Trigger events 0x41 0x42 0x00 0x00 — 0xFF Register used to select what event shall assert port pin event signal Resistive Touch FIFO Setup 0x42 0x43 0x00 0x00 — 0x1F FIFO enabler and watermark are configured in this register Sampling rate X and Y 0x43 coordinates (msec) 0x44 0x05 0x05 — 0x64 Determines the resistive touchscreen sampling rate in milliseconds X Settling Time MSB 0x45 0x44 X Settling Time LSB 0x45 0x46 Y Settling Time MSB 0x46 0x47 Y Settling Time LSB 0x47 0x48 Z Settling Time MSB 0x48 0x49 Z Settling Time LSB 0x49 0x4A X Settling time high byte 0x0064 0x000E – 0x012C 0x0064 0x000E – 0x012C X Settling time low byte Y Settling time high byte 0x0064 0x000E – 0x012C Y Settling time low byte Z Settling time high byte Z Settling time low byte CRTouch Data Sheet, Rev. 3 30 Freescale Semiconductor Memory Map and Registers Description Table 10. Resistive Touch Configuration register map (continued) Name Register Incremental address Address Display Horizontal resolution MSB 0x4A Display Horizontal resolution LSB 0x4B 0x4C Display Vertical resolution MSB 0x4C 0x4D Display Vertical resolution LSB 0x4D 0x4E Resistive Touch Slide steps 0x4E 0x4F Default Value Valid Range 0x4B 0x1000 0x1000 0x1000 0x0030 – 0x2000 0x0030 – 0x2000 Comment MSB of the display resolution on the X axis LSB of the display resolution on the X axis MSB of the display resolution on the Y axis LSB of the display resolution on the Y axis 0x0A 0x01 — 0xFF Defines how many slides per axis may be detected CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 31 Memory Map and Registers Description Table 11. Calibration Values registers map Name Register Address Incremental Address X Calibration Value 1 MSB 0x4F 0x50 X Calibration Value 1 LSB 0x50 0x51 X Calibration Value 2 MSB 0x51 0x52 X Calibration Value 2 LSB 0x52 0x53 X Calibration Value 3 MSB 0x53 0x54 X Calibration Value 3 LSB 0x54 0x55 Y Calibration Value 1 MSB 0x55 0x56 Y Calibration Value 1 LSB 0x56 0x57 Y Calibration Value 2 MSB 0x57 0x58 Y Calibration Value 2 LSB 0x58 0x59 Y Calibration Value 3 MSB 0x59 0x5A Y Calibration Value 3 LSB 0x5A 0x5B X Calibration Constant MSB 0xB 0x5C X Calibration Constant LSB 0x5C 0x5D Y Calibration Constant MSB 0x5D 0x50E Y Calibration Constant LSB 0x5E 0x60 Default Value Valid Range 0x4000 0x0000 – 0xFFFF 0x0 0x0000 – 0xFFFF 0x0 0x0000 – 0xFFFF 0x0 0x0000 – 0xFFFF 0x4000 0x0000 – 0xFFFF 0x0 0x0000 – 0xFFFF 0x0 0x0000 – 0xFFFF 0x0 0x0000 – 0xFFFF Comment Manual calibration values. Writing to these registers calibrates the device without the need for pressing the calibration points on the touchscreen. CRTouch Data Sheet, Rev. 3 32 Freescale Semiconductor Memory Map and Registers Description Table 12. Capacitive Touch Configuration registers map Name Register address Incremental Address Default Value Valid Range Comment Capacitive System Configuration 0x60 0x61 0x20 — Main configuration of the capacitive touch system DC Tracker Rate 0x61 0x62 0x0A 0x00 – 0xFF Determines how often the recalibration function occurs. Capacitive Touch ResponseTime 0x62 0x63 0x04 0x00 – 0x20 Configures the number of scans necessary to determine if a key is pressed StuckKeyTimeout 0x63 0x64 0x64 0x00 — 0xFF Configures the number of scans to detect a key stuck Electrode0 Sensitivity 0x64 0x65 0x40 0x02 – 0x7F Represents the capacitance threshold for electrode 0 to be detected as touched Electrode1 Sensitivity 0x65 0x66 0x40 0x02 – 0x7F Represents the capacitance threshold for electrode 1 to be detected as touched Electrode2 Sensitivity 0x66 0x67 0x40 0x02 – 0x7F Represents the capacitance threshold for electrode 2 to be detected as touched Electrode3 Sensitivity 0x67 0x68 0x40 0x02 – 0x7F Represents the capacitance threshold for electrode 3 to be detected as touched Electrodes Enablers 0x68 0x69 0x0F — Each bit represents the enabler of an electrode. If a bit is 0, then the corresponding electrode will not be scanned Capacitive touch Low power scan period 0x69 0x6A 0x0F 0x00 – 0x0F Represents the value of the scan period in low power mode Capacitive Touch Low power electrode 0x6A 0x6B 0x00 0x00 – 0x03 This register represents the number of the electrode scanned in low power mode Low power electrode sensitivity 0x6B 0x6C 0x7F 0x00 – 0x7F Threshold for the low power electrode while in shutdown mode Capacitive Resolution 0x6C 0x6D 0x0A 0x08 – 0x0B Determines the resolution in bits of the capacitive samples CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 33 Memory Map and Registers Description Table 12. Capacitive Touch Configuration registers map Register address Name Incremental Address Default Value Valid Range Comment Capacitive Touch Events 0x6D 0x6E 0x01 0x00 – 0xFF Configures the events that reported by the capacitive controller Capacitive Touch AutoRepeatRate 0x6E 0x6F 0xFF 0x00 – 0xFF Configures the rate at which keys will be reported when kept pressed Capacitive Touch AutoRepeatStart 0x6F 0x70 0xFF 0x00 – 0xFF Configures the time between a touch and an auto-repeat event when the key is kept pressed Capacitive MaxTouches 0x70 0x71 0x00 0x00 – 0x03 Configures the maximum number of keys that can be pressed at once 4.2 Registers description 4.2.1 Resistive Touch Status registers All the Resistive touch status registers have read only attributes. Attempting to write any of these registers return in an invalid write response from CRTouch. 4.2.1.1 Resistive Touch Error Register This register reports several possible failures in the system. All bits are cleared after a register read Bit Field 7 6 5 4 3 2 1 0 BRE CE SE WEF DSE AE EOFE PE Field Description 7 BRE Baudrate error BRE is set when the baud-rate auto detect process can not determine the communication baudrate. 6 CE Calibration error flag Set when the calibration process can not calculate the values needed for system calibration. This typically occurs when the points touched do not match with calibration requirements. 5 SE Sampling error flag Set when trying to write the resistive touch sampling rate register with a value less than 5 or more than 100. 4 WEF Write Error Flag WEF is set when trying to write an address that has read-only attributes. CRTouch Data Sheet, Rev. 3 34 Freescale Semiconductor Memory Map and Registers Description Field 3 DSE 2 AE Description Data Size Error DSE is set when Number of data = 0 or Number of data > 101. Address Error AE is set when the requested address is outside the address memory map range or within an un-implemented section of the memory map. 1 EOFE End of Frame Error EOF error flag is set to 1 when end of frame is not received after the communication timeout expires. 0 PE Parity Error PE error flag is set to 1 when one or several bytes from the received frame does not have odd parity properly configured. CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 35 Memory Map and Registers Description 4.2.1.2 Resistive Touch Status register 1 This register reports different events that may be detected in the system, and latches some bits to ensure that the event does not get lost if not read immediately. Latched bits clear after a register read. The TouchPending pin is also set after this register is read. Bit Field Field 7 RTST 7 6 5 4 3 2 1 0 RTST RTS2T RTSZ RTSR RTSS RTSF CTE RTSRDY Description Resistive Touch Screen Touched is set after any touch event in a resistive screen is connected to CRTouch 0 Resistive touch screen not currently touched 1 Resistive touch screen currently touched 6 RTS2T Resistive touch screen Two Touch detection is set after the screen has a two touch detection event. This bit is automatically cleared when a two touch condition is no longer detected on the screen. 0 Two touch event not currently detected 1 Two touch currently detected. 5 RTSZ Resistive Touch Screen Zoom indicates when a zoom gesture has been detected. 0 Zoom gesture not detected 1 Zoom gesture pending for reading 4 RTSR Resistive Touch Screen Rotate indicates when a rotate gesture has been detected. 0 Rotate gesture not detected 1 Rotate gesture pending for reading 3 RTSS Resistive Touch Screen Slide indicates when a slide gesture has been detected. 0 Slide gesture not pending for reading 1 Slide gesture pending for reading 2 RTSF Resistive touch screen FIFO data is set when the FIFO count reaches the watermark value or when the FIFO is filled. 0 FIFO data ful and watermark reached 1 FIFO data not full and watermark not reached 1 CTE Capacitive touch event is set after one of the configured capacitive events is detected. 0 Capacitive touch event not pending for reading 1 Capacitive touch event pending for reading 0 Resistive Touch Sample ready is set after a resistive touch screen connected to CRTouch is pressed RTSRDY and the device finished all the data processing to determine X and Y coordinates. 0 Resistive touch sample not pending for reading 1 Resistive touch sample pending for reading CRTouch Data Sheet, Rev. 3 36 Freescale Semiconductor Memory Map and Registers Description 4.2.1.3 Resistive Touch Status Register 2 Bit Field 7 6 5 4 RTSCAL Reserved RTSZD RTSRD Field 3 2 1 0 RTSSD RTSD Description 7 Resistive Touch screen calibrated is set after the screen has been properly calibrated. After initial calibration the RTSCAL result is stored in the internal non-volatile memory and is recovered after automatically reset. 0 Resistive touch screen not calibrated 1 Resistive touch screen calibrated This bit is reserved 6 Reserved 5 RTSZD Zoom direction 0 Zoom in 1 Zoom out 4 RTSRD Resistive Touch Screen Rotate Direction. 0 Clock wise direction 1 Counter clock wise direction 3-2 RTSSD Resistive Touch Screen Slide Direction indicates the direction of the slide gesture after its detection. 1-0 RTSTD 4.2.1.4 Bit 0 0 Horizontal positive direction 0 1 Horizontal negative direction 1 0 Vertical positive direction 1 1 Vertical negative direction Resistive Touch Screen type detected. After reset, the system scans for the type of resistive touch screen connected to the system. The RTSD bits indicate the type of screen detected. 0 0 Resistive touch not detected 0 1 4 wires resistive touch screen detected 1 0 5 wires resistive touch screen detected 1 1 Reserved X coordinate 15 Field 14 13 12 11 10 9 8 7 6 XMSB 5 4 3 2 1 0 XLSB CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 37 Memory Map and Registers Description Signal 4.2.1.5 Bit Description 15-8 XMSB Most significant Byte for X coordinate 7-0 XLSB Least significant Byte for X coordinate Y coordinate 15 14 13 12 Field 11 10 9 Bit Field 5 4 3 2 1 0 2 1 0 YLSB 15-8 YMSB Most significant Byte forY coordinate 7-0 YLSB Least significant Byte for Y coordinate Pressure value 15 14 13 12 11 10 9 8 7 6 5 PRESSMSB 4 3 PRESSLSB Signal Bit 6 Description Field 4.2.1.7 7 YMSB Signal 4.2.1.6 8 Description 15-8 PRESSMSB Most significant Byte for Pressure detected when touching the screen 7-0 PRESSLSB Least significant Byte for Pressure detected when touching the screen Resistive Touch FIFO status 7 6 5 4 Reserved Reserved FIFOWMRKF FIFOWMRKF 3 2 1 0 FIFOCNT CRTouch Data Sheet, Rev. 3 38 Freescale Semiconductor Memory Map and Registers Description Signal Description 7 Reserved Reserved 6 Reserved Reserved 5 FIFOWMRKF FIFO Watermark Flag indicates when the FIFO counter is greater than or equal to the value configured in the WaterMark bits of the FIFO Configuration register. 4-0 FIFOCNT FIFO sample counter, default value 00000. (00001 to 11111 indicates 1 to 31 samples stored in FIFO) 4.2.1.8 Bit FIFO X coordinate 15 14 13 Field 12 11 10 9 Bit 5 4 3 2 1 0 2 1 0 2 1 0 FIFOXLSB 15-8 FIFOXMSB Most significant Byte for X coordinate stored in the FIFO 7-0 FIFOXLSB Least significant Byte for X coordinate stored in the FIFO FIFO Y coordinate 15 14 13 12 11 10 9 8 7 6 5 4 FIFOYMSB 3 FIFOYLSB Signal Bit 6 Description Field 4.2.1.10 7 FIFOXMSB Signal 4.2.1.9 8 Description 15-8 FIFOYMSB Most significant Byte for Y coordinate stored in the FIFO 7-0 FIFOYLSB Least significant Byte for Y coordinate stored in the FIFO FIFO Pressure Value 15 14 Field 13 12 11 10 9 8 7 FIFOPMSB 6 5 4 3 FIFOPLSB CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 39 Memory Map and Registers Description Signal 4.2.1.11 Bit 23 Description 15-8 FIFOPMSB Most significant Byte for Pressure stored in the FIFO 7-0 FIFOPLSB Least significant Byte for Pressure stored in the FIFO UART baudrate MSB (read only) 22 21 Field 20 19 18 17 16 15 BRH Bit Bit Field 11 10 9 8 7 6 5 4 3 2 1 0 BRL Description 23-16 FIFOYMSB Most significant Byte for UART baudrate used for the system configuration. 15-8 FIFOYLSB Intermediate Byte for UART baudrate used for the system configuration. 7-0 FIFOYLSB Least significant Byte for UART baudrate used for the system configuration. Device identifier register (read only) 7 6 5 Field 4.2.1.13 13 12 BRM Signal 4.2.1.12 14 4 3 2 1 0 DEVICEID Signal Description 7-0 DEVICEID Device ID stores the product version information. This register is factory programmed and its usage is for traceability purposes. Slide displacement 7 6 5 4 3 2 1 0 SLIDEDATA CRTouch Data Sheet, Rev. 3 40 Freescale Semiconductor Memory Map and Registers Description 4.2.1.14 Bit Signal Description 7-0 SLIDEDATA Reports how many steps the user has displaced after the initial touch. This is useful to keep track of the motion if at lower sampling rates, more than one step was displaced in a sample period. Rotate angle 7 6 5 4 Field 7-0 ROTATEDATA Bit 1 0 1 0 Description Reports the total angle of the rotate motion after the initial touch. Zoom size (read only) 7 6 5 4 Field 3 2 ZOOMSIZE Signal 7-0 ZOOMSIZE 4.2.2 2 ROTATEDATA Signal 4.2.1.15 3 Description Reports how much zoom has been exercised by the user. Capacitive Touch Sensing Status registers All the Capacitive Touch Sensing Status registers have read only attributes. Attempting to write any of these registers will return an invalid write response from CRTouch. 4.2.2.1 Bit Capacitive Electrodes Status register 7 Field 6 5 4 Reserved 3 2 1 0 E3 E2 E1 E0 CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 41 Memory Map and Registers Description Signal Description 7-4 Reserved Reserved 3-0 E3-E0 4.2.2.2 E3 – E0 represents the status of the corresponding electrode. A bit set to 1 indicates that the corresponding electrode is detecting a touch event. Capacitive Touch Faults register Bit 7 6 5 Field 4 Bit Bit Field 1 0 SE Description 7-1 Reserved Reserved 0 Shortened Electrode Indicates if one of the capacitive electrodes cannot be measured, typically due to a short to Vcc or ground. 1 Timeout fault detected 0 No timeout fault detected Electrodes Baselines registers 15 14 Field 4.2.2.4 2 Reserved Signal 4.2.2.3 3 13 12 11 10 9 8 7 6 5 ExBASELINEMSB 4 3 2 1 0 ExBASELINELSB Signal Description 15-8 Electrode Baseline MSB Most significant Byte for Electrodes 0 to 3 baseline. The baseline value is compared to the instant value to determine if the electrode is touched or not. 7-0 Electrode Baseline LSB Least significant byte for electrodes 0 to 3 baseline. The baseline value is compared to the instant value to determine if the electrode is touched or not. Electrodes instant Delta registers 7 6 5 4 3 2 1 0 ExINSTANTDELTA CRTouch Data Sheet, Rev. 3 42 Freescale Semiconductor Memory Map and Registers Description 4.2.2.5 Bit Field 4.2.2.6 Bit Field Signal Description 7-0 Electrode Instant Delta Electrode 3 to Electrode 0 instant capacitance variation with respect to its baseline. This register is in signed format, ranging from -128 to 127. If the instant value is greater than these values, the Delta value is saturated. Slider and rotary dynamic status 7 6 CTDSMOV CTDSDIR 5 4 3 2 Reserved 1 0 CTDSVAL Signal Description 7 CTDSMOV Capacitive Touch Dynamic Status Movement indicates if movement is being detected at the moment of reading. 1 Indicates that there is movement detected 6 CTDSDIR Capacitive Touch Dynamic Status Direction is used to determine the direction of movement. 1 indicates an incremental movement. This bit remains with its last value even if movement has stop and is no longer detected. 5-4 Reserved Reserved 3-0 CTDSVAL Capacitive Touch Dynamic Status value indicates the difference in positions from the last status to the new one. This indicates how many positions have been advanced in the current direction of movement. Slider and rotary static status 7 6 5 CTSSTOUCH CTSSINV Reserved 4 3 2 1 0 CTDSVAL CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 43 Memory Map and Registers Description Signal Description 7 CTSSTOUCH Capacitive Touch Static Status Touch indicates if a touch in the control is being detected at the moment of reading. 6 CTSSINV Capacitive Touch Static Status Invalid flag Indicates if an invalid combination of touched electrodes is being detected. An invalid combination is detected when two or more non adjacent electrodes are detected as touched, for example electrodes 0 and 2. 5Reserved Reserved 4-0 CTDSVAL Capacitive Touch Static Status Value indicates the absolute position within the control that is actuated. NOTE For rotary and sliders, the number of positions is greater than the number of electrodes. The device reports different positions when more than one electrode is being touched. For more details, review Section 2.2.3, “Rotary and slider control” 4.2.2.7 Capacitive electrodes FIFO (read only) When electrodes are configured as keypad, capacitive electrodes FIFO keeps status information from capacitive electrode 0 to 3. Bit Field 7 6 CTFIFOTOUCH Reserved Signal 7 CTFIFOTOUCH 5Reserved 5-0 CTFIFOKEY 4.2.3 5 4 3 2 1 0 CTFIFOKEY Description Capacitive Touch FIFO Touch indicates if the event was a release or a touch event. 1 Indicates the key was released Reserved Capacitive Touch FIFO Key determines the key on which the event has occurred Resistive Touch Configuration registers All the Resistive Touch Status registers have read and write attributes. Care must be taken that the written value is valid for the specific register written 4.2.3.1 Resistive and Capacitive Touch Configuration register The Resistive and Capacitive Touch Configuration register is used to configure the different settings used as part of the resistive and capacitive scanning processes. All the configuration bits except CRTSHTDWN are non-volatile and recovered to their latest value as part of the part reset sequence. CRTouch Data Sheet, Rev. 3 44 Freescale Semiconductor Memory Map and Registers Description Bit 7 Field 6 RTPRESEN 5 CTCNTRL Field 4 3 2 1 0 RTSLDEN RTROTEN RTPNCEN CRTSLEEP CRTSHTDWN Description 7 RTPRESEN Resistive touch pressure enable bit is used to enable the pressure measurement on the resistive touch screen as part of the X and Y scanning process. If FIFO is enabled, changing the value of this bit will automatically flush the FIFO to synchronize X, Y, and pressure buffers. 6-5 CTCNTRL Capacitive Touch Control defines the type of control used for the four capacitive electrodes that can be connected to CRTouch. CTCNTRL CTCNTRL 1 0 Configuration 1 1 Keypad control selected 1 0 Slider control selected 0 1 Rotary control selected 0 0 Capacitive keys disabled 4 RTSLDEN Resistive Touch Slide Enable — A single touch slide can be detected if the X and Y coordinates fit in the slide gesture description. Status registers 1 and 2 are used to indicate when the slide gesture was detected and the slide direction. 3 RTROTEN Resistive Touch Rotate Enable — Status registers 1 and 2 are used to indicate when the Rotate gesture was detected and if it was a clock-wise or counter-clock-wise gesture. 2 RTZMEN Resistive Touch Zoom Enable — This bit controls if zoom motions on the touch screen are detected and reported. Status registers 1 and 2 are used to indicate when the pinch gesture is detected and if it was a zoom-in or zoom out gesture. 1 CRTSLEEP Capacitive Resistive Touch sleep is used to send the deviceinto sleep mode. Section 2.3.2, “Sleep mode” has detailed information on the CRTouch behavior while in sleep mode. 1 Sleep mode enabled 0 Sleep mode disabled 0 Capacitive Resistive Touch Shutdown is used to configure the CRTouch into its lowest power mode CRTSHTDWN available. Section 2.3.3, “Shutdown mode” has detailed information on the CRTouch behavior when this bit is enabled. Shutdown is the only bit in the configuration register that is not restored after a reset. 1 Shutdown mode enabled 0 Shutdown mode disabled 4.2.3.2 Resistive and Capacitive Triggers register The Resistive and Capacitive Triggers register configures what events will assert the TOUCHPENDING pin. This can be used to signal to an external host that there is a pending activity to be read in the status registers. The Triggers register also contains a bit used by the host to send CRTouch into calibration mode—see Section 2.1.4, “Calibration process.” All bits except for the Calibration bit are non-volatile. A 1 enables the event to assert the TOUCHPENDING pin. CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 45 Memory Map and Registers Description Bit Field 7 6 5 4 3 2 1 0 RTREL RTCAL RTPINCH RTSLD RTROT RTFIFOWM CTEV RTEV Description Field 4.2.3.3 7 RTREL Resistive touch release bit is used to generate a signal when the resistive touch screen is released. 6 RTCAL Resistive touch Calibration bit sends the CRTouch into calibration mode. After this bit is enabled, the system behavior is Section 2.1.4, “Calibration process.” Writing a 0 to this bit while in a calibration process aborts the calibration. Calibration mode is finished after the calibration points have been identified or with a reset. 5 RTZOOM Resistive Touch Pinch trigger bit configures the external event pin to be asserted when a Zoom-in or Zoom out is detected. 4 RTROT Resistive Touch Rotate trigger bit configures the external event pin asserted when a clock-wise or counter-clock-wise rotate gesture is detected. 3 RTSLD Resistive Touch Slide trigger bit configures the external event pin asserted when a slide gesture in any direction is detected. 2 RTFIFOWM Resistive Touch FIFO Watermark bit is used to generate a signal after the number of samples in the FIFO is greater than or equal to the Watermark bits configuration in the FIFO setup register 1 CTEV Capacitive Touch Event is used to generate a pending activity signal when any capacitive event is detected. Capacitive events detection is configured in the Capacitive Events register. 0 RTEV Resistive Touch Event signals the host after each sampling period after the signals have been processed and the coordinates have been determined, as well as any resistive event. FIFO Setup register Any writes to this register will automatically flush the FIFO of any stored elements. Bit Field 7 6 Reserved 5 4 3 RTFIFOEN 2 1 0 RTFIFOWMRK CRTouch Data Sheet, Rev. 3 46 Freescale Semiconductor Memory Map and Registers Description Field Description 7-5 Reserved Reserved 6 RTFIFOEN Resistive Touch FIFO Enable enables storing the resistive touch data inside the FIFO. 3-0 RTFIFOWMRK Resistive Touch FIFO Watermark indicates the amount of samples needed to signal an event. When the amount of values stored in the FIFO is greater than or equal to the watermark configuration, the RTSF bit is set in the Status Register 1. 0 Watermark is disabled. FIFO event is signaled when the FIFO is full. 1–15 FIFO event will be signaled when the FIFO counter reaches this value. 4.2.3.4 Resistive touch sampling rate This register is used to configure the period to sample the resistive touch screen. Bit 7 6 5 4 3 2 1 0 RTSAMPLING Field Signal Description 7–0 RTSAMPLING Value in miliseconds to indicate the scanning period. Value must be between 5 and 100 (10 points per second to 200 points per second). 4.2.3.5 X coordinate stabilization time This 16-bit value holds the number needed in micro-seconds for the signals required for an X coordinate scanning to stabilize. The value is calculated automatically as part of the calibration process but can be written through serial communication to simplify factory configuration of devices. Bit 15 14 13 Field 12 11 10 9 8 7 6 4 3 2 1 0 XCTIMESETLSB XCTIMESETMSB Signal 5 Description 15–8 Most significant byte for the X coordinates stabilization delay. X Coordinate stabilization MSB 7–0 Least significant byte for the X coordinates stabilization delay X Coordinate stabilization LSB CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 47 Memory Map and Registers Description 4.2.3.6 Y coordinate stabilization time This 16-bit value holds the number needed in micro-seconds for the signals required for a Y coordinate scanning to stabilize. The value is calculated automatically as part of the calibration process but can be written through serial communication to simplify factory configuration of devices. Bit 15 14 13 Field 12 11 10 9 8 7 6 5 4 3 2 1 0 YCTIMESETLSB YCTIMESETMSB Signal Description 15-8 Most significant byte for the Y coordinates stabilization delay. Y Coordinate stabilization MSB 7-0 Y Coordinate Least significant byte for the Y coordinates stabilization delay stabilization LSB 4.2.3.7 Z coordinate stabilization time This 16-bit value holds the number needed in micro-seconds for the signals required for the pressure coordinate scanning to stabilize. The value is calculated automatically as part of the calibration process, but can be written through serial communication to simplify factory configuration of devices. Bit 15 Field 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ZTIMESETLSB ZTIMESETMSB Signal Description 15-8 Most significant byte for the two-touch signals stabilization delay. Pressure stabilization MSB 7-0 Least significant byte for the two-touch signals stabilization delay Pressure stabilization LSB 4.2.3.8 Display horizontal resolution Determines the resolution for the X coordinates. It is important to configure this value properly before a calibration is executed. Values written to this register have no effect until after both horizontal and vertical resolutions have been written. Writes to these registers reset the device calibration. CRTouch Data Sheet, Rev. 3 48 Freescale Semiconductor Memory Map and Registers Description Bit Field 15 14 13 Reserved Reserved 12 11 10 9 8 7 6 5 XAXISRESMSB 4 3 2 1 0 XAXISRESLSB Signal Description 15–14 Reserved Reserved 13–8 Most significant byte for the X axis resolution X Axis Resolution MSB 7–0 Least significant byte for the X axis resolution X Axis Resolution LSB 4.2.3.9 Display vertical resolution Determines the resolution for the Y coordinates. It is important to configure this value properly before a calibration is executed. Values written to this register have no effect until after both horizontal and vertical resolutions have been written. Writes to these registers reset the device calibration. Bit Field 15 14 13 Reserved Reserved 12 11 10 9 8 7 6 5 4 3 2 1 0 YAXISRESLSB YAXISRESMSB Signal Description 15–14 Reserved Reserved 13–8 Most significant byte for the Y axis resolution Y Axis Resolution MSB 7–0 Least significant byte for the Y axis resolution Y Axis Resolution LSB 4.2.3.10 Resistive touch slide steps Bit Field 7 6 5 4 3 2 1 0 RTSLDSTEPS CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 49 Memory Map and Registers Description Signal Description 7–0 RTSLDSTEPS 4.2.4 Number of steps reported when a slide is perform side to side of the touch screen Calibration Values registers This set of registers hold the calibration coefficients for the X and Y single touch coordinates, as well as the constants for each axis required for two touch gesture calculations. Writing to these values calibrates the device without the need for touching the calibration points on the screen. All of the values must be written to calibrate the device. The Status Register 2 bit for calibration is set after a reset. 4.2.4.1 X calibration values This set of three 16-bit values represents the calibration coefficients for the X coordinate. To obtain the X coordinate, the first value is multiplied by the X sample, the second value by the Y sample, and the third value added with the products. Bit 15 14 Field 13 12 11 10 9 8 7 6 5 XCALxMSB 3 2 1 0 XCALxLSB Signal Description 15–8 XCALxMSB Most significant byte for the X coordinate calibration value. 7–0 XCALxLSB Least significant byte for the X coordinate calibration value. 4.2.4.2 4 Y calibration values This set of three 16-bit values represents the calibration coefficients for the Y coordinate. To obtain the Y coordinate, the first value is multiplied by the X sample, the second value by the Y sample and the third value added with the products. Bit 15 Field 14 13 12 11 10 9 8 7 XCALxMSB Signal 6 5 4 3 2 1 0 XCALxLSB Description 15–8 YCALxMSB Most significant byte for theY coordinate calibration value. 7–0 YCALxLSB Least significant byte for the Y coordinate calibration value. CRTouch Data Sheet, Rev. 3 50 Freescale Semiconductor Memory Map and Registers Description 4.2.4.3 X and Y two touch constant values These values are used for calculations on two touch gestures. Bit 15 14 Field 13 12 11 10 9 8 7 6 5 4 X/YCONSTMSB Signal 3 2 1 0 X/YCONSTLSB Description 15–8 Most significant byte for the X/Y two touch constant calibration value. X/YCONSTMSB 7–0 Least significant byte for the X/Y two touch constant calibration value. X/YCONSTLSB 4.2.5 4.2.5.1 Bit Field TSS Configuration registers Capacitive system configuration 7 6 Reserved 5 4 3 2 DCTRACKEREN STUCKKEYEN Reserved CLPEN Signal 7–6 Reserved 5 DCTRACKEREN 4 STUCKKEYEN 3 Reserved 2 CLPEN 1–0 Reserved 1 0 Reserved Description Reserved DC Tracker Enable — This bit enables the DC tracker to continuously adjust the electrode capacitance baseline. The periodicity at which the baseline is adjusted is determined by the DC Tracker Rate. Stuck Key Enable — This bit enables the baseline recalibration of a touched electrode after a period of time. If the electrode remains touched for as long as the Stuck Key Timeout register defines, then the electrode baseline is recalculated and as a consequence the electrode is released. Reserved Capacitive Low Power Enable — This bit enables one of the four electrodes to wake the system from Shutdown mode. When this bit is enabled, no electrodes are scanned while in Run mode. This bit should be enabled only prior to entering into Shutdown mode. This bit is not restored and will always be 0 after a reset. Reserved CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 51 Memory Map and Registers Description 4.2.5.2 DC Tracker Rate Bit 7 6 5 4 3 2 1 0 DCTRACKERRATE Field Signal Description 7–0 DCTRACKERRATE Determines how often the recalibration function occurs. This number represents the number of capacitive samples required before recalibration. If this register is set to 0, the DC Tracker feature is disabled. 0 DC Tracker feature disabled 1–255 DC Tracker executed every n sampling period 4.2.5.3 Response Time register Bit 7 6 Field Reserved 5 4 2 1 0 RESPTIME Signal Description 7–6 Reserved Reserved 5–0 RESPTIME 4.2.5.4 3 Determines the number of measurements required to detect a status change in any electrode. This value represents the number of capacitive samples required for an electrode status change detection. 1–32 n measurements to be used Stuck Key Timeout register Bit 7 6 5 4 3 2 1 0 STUCKKEYTOUT Field Signal Description 7–0 STUCKKEYTOUT Determines how many mili-seconds must an electrode be detected as touched before recalibrating that electrode and then detect it as untouched. If this value is set to 0, the stuck key feature is disabled. 0 Stuck key feature disabled 1–255 Electrode recalibrated after n task executions CRTouch Data Sheet, Rev. 3 52 Freescale Semiconductor Memory Map and Registers Description 4.2.5.5 Electrodes Sensitivity This set of registers, one per electrode, holds the sensitivity value of each electrode. Sensitivity value is an 8-bit value that represents the minimum difference between an instant reading versus the baseline required to indicate a touch. Bit 7 Field 6 5 4 Reserved 3 2 1 0 ExSENS Signal Description 7 Reserved 6–0 ExSENS 4.2.5.6 Represents the capacitance threshold for an electrode to be detected as touched, relative to the baseline value of that electrode. 2–127 Electrode x (0 to 3) sensitivity Electrodes enablers This register holds the information of which electrode is enabled. Each bit represents an electrode Bit 7 6 Field 5 4 Reserved Signal 2 1 0 E3EN E2EN E1EN E0EN Description 3–0 ExEN 4.2.5.7 3 1 – Electrode x Enabled 0 – Electrode x Disabled Low Power Scan Period register Represents the value of the scan period in the low power mode, this range does not represent a linear (ms) scan interval. Bit Field 7 6 5 4 3 Reserved 2 1 0 LPSP CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 53 Memory Map and Registers Description Signal Description 7–4 Reserved Reserved LPSP 4.2.5.8 Determines scan period in low power mode. Only selection from the list of predefined values is allowed. 0000 — 1 ms scan interval 0001 — 5 ms scan interval 0010 — 10 ms scan interval 0011 — 15 ms scan interval 0100 — 20 ms scan interval 0101 — 30 ms scan interval 0110 — 40 ms scan interval 0111 — 50 ms scan interval 1000 — 75 ms scan interval 1001 — 100 ms scan interval 1010 — 125 ms scan interval 1011 — 150 ms scan interval 1100 — 200 ms scan interval 1101 — 300 ms scan interval 1110 — 400 ms scan interval 1111 — 500 ms scan interval Low Power Electrodes register This register represents the number of the electrodes scanned in the low power mode. Bit 7 6 5 Field 4 0 LPEL Reserved 1–0 LPEL Field 1 Description 7–2 Reserved Bit 2 Reserved Signal 4.2.5.9 3 Low Power Electrode — This value selects which of the four electrodes, from E0 – E3, will be scanned when the system is in Shutdown mode and the CLPEN bit is enabled in the Capacitive System Configuration register. Low Power Electrode Sensitivity register 7 Reserved 6 5 4 3 2 1 0 LPSENS CRTouch Data Sheet, Rev. 3 54 Freescale Semiconductor Memory Map and Registers Description Signal Description 7 Reserved 6–0 LPSENS 4.2.5.10 Determines the sensibility value for the low power electrode. Capacitive Resolution register This register determines the resolution of the capacitive samples. Increasing the capacitive resolution helps improving the signal to noise ratio when using thick dielectrics. A reset is needed for this value to take effect. Bit 7 6 Field 5 4 3 2 Reserved 0 CAPRES Signal Description 7–4 Reserved Reserved 3–0 CAPRES Resolution of capacitive samples. 0–7 Reserved 8–11 Resolution value 12–15 Reserved 4.2.5.11 1 Capacitive Events register This register is used to configure events for keypad, rotary and slider controls. Each bit has a different meaning if the enabled control is a keypad, rotary, or slider. Bit 7 Field 6 Reserved 5 4 3 2 1 0 RELEN AUTOREPEN HLDEN MOVEN TOUCHEN CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 55 Memory Map and Registers Description Signal Description 7-5 Reserved Reserved 4 RELEN Release Event Enabler If this bit is set, the Capacitive Event bit in the Status Register 2 is set when all the electrodes in the control are released. 1 Event enabled 0 Event disabled 3 AUTOREPEN Auto Repeat Enable If this bit is set, the Capacitive Event bit in the Status Register 2 will be set at the rate defined by the Auto Repeat Rate register when the same electrode remains touched. 1 Auto-repeat enabled 0 Auto-repeat disabled 2 HLDEN Hold event enabler If this bit is set, the Capacitive Event bit in the Status Register 2 will be set when an electrode is first touched and remains touched for the period of time defined by the Auto Repeat Start register. The hold event is produced only once, and auto repeat events may be produced after. 1 Hold event enabled 0 Hold event disabled 1 MOVEN Movement event enabler If this bit is set, the Capacitive Event bit in the Status Register 2 will be set when a transition from one position to another is detected. 1 Movement event enabled 0 Movement event disabled 0 TOUCHEN Touch event enabler If this bit is set, the Capacitive Event bit in the Status Register 2 will be set when all electrodes are released and an initial touch is detected in any of the electrodes. 1 Touch event enabled 0 Touch event disabled Keypad Events Bit Field 7 6 5 MAXKEYS BUFFOV Reserved 4 3 2 1 0 KEYEXEN BUFFOVEN AUTOREPEN RELEN TOUCHEN CRTouch Data Sheet, Rev. 3 56 Freescale Semiconductor Memory Map and Registers Description Signal Description 7 MAXKEYS This bit reflects if the number of keys allowed to be touched at the same time through the Max Keys register has been exceeded. This bit is automatically cleared when the condition is no longer true. 1 Number of key is exceeded 0 Number of keys below the configured value 6 BUFFOV This bit reflects if the Keypad FIFO is full. This bit is automatically cleared with a read of the register. 1 Keypad FIFO holds 16 events 0 Keypad FIFO has free elements 5 Reserved Reserved 4 KEYEXEN If this bit is set, the Capacitive Event bit in the Status Register 2 Is set when the MAXKEYS flag is set. 1 Keys exceeded event enabled 0 Keys exceeded event disabled 3 BUFFOVEN If this bit is set, the Capacitive Event bit in the Status Register 2 Is set when the BUFFOV flag is set. 1 Buffer overflow event enabled 0 Buffer overflow event disabled 2 AUTOREPEN If this bit is set, the new touch events are stored in the Keypad FIFO at the rate defined by the AUTORPRATE register while the electrode remains touched. 1 Touch event auto repeat enabled. 0 Touch event auto repeat disabled. 1 RELEN If this bit is set, electrode release events are stored in the Keypad FIFO. 1 Release events stored in FIFO 0 Release events not stored in FIFO 0 TOUCHEN 4.2.5.12 If this bit is set, electrode touch events are stored in the Keypad FIFO. 1 Touch events stored in FIFO 0 Touch events not stored in FIFO Auto repeat rate register Bit 7 Field 6 5 4 3 2 1 0 AUTORPRATE Signal Description 7–0 AUTORPRATE Auto repeat rate — Sets the rate at which the pressed keys are reported when kept pressed. If set to 0, no auto-repeat occurs and the event will be automatically disabled in the Events Register. The user must manually re-enable this event if desired. 0 Auto-repeat feature disabled 1–255 Touch event reported every n measurements CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 57 Memory Map and Registers Description 4.2.5.13 Auto repeat rate start register Bit 7 6 5 4 3 Field 2 1 0 AUTORPSTRT Signal Description 7–0 AUTORPSTRT Auto repeat start Sets the time a key must remain pressed before generating new events at the auto-repeat rate. If set to 0, the auto-repeat state will be entered immediately after the last touch. 0–255 Wait n measurements before auto-repeat. 4.2.5.14 Max Touches register This register defines the maximum number of simultaneous touched keys reported by a keypad control. This feature can be used to control the function when a bigger than expected area is touched. For example, a multiplexed array of electrodes where only two keys are needed to detect a value or function. In this case, the MaxTouches register is configured with a value of two. Bit 7 Field 6 5 4 3 2 Reserved 1 0 MAXTOUCHES Signal Description 7–0 MAXTOUCHES Maximum number of touches. Sets the limit for simultaneous touched keys. If set to 0, no limit is established. 0 No limit established 1–3 Limit set to n keys. CRTouch Data Sheet, Rev. 3 58 Freescale Semiconductor Electrical Specifications Appendix A Electrical Specifications This chapter contains electrical and timing specifications. A.1 Voltage and current operating requirements Symbol Description Minimum Maximum Unit VDD Supply voltage 1.8 3.6 V VDDA Analog supply voltage 1.8 3.6 V VDD-VDDA VDD to -VDDA differential voltage -0.1 0.1 Vss-VssA Vss to -VssA differential voltage -0.1 0.1 VIH Input high voltage 1 0.7 X VDD 0.75 X VDD — — V V — — 0.35 X VDD 0.3 X VDD V V 0 0 2 –0.2 mA mA 0 0 25 –5 mA mA VDD – 0.5 VDD – 0.5 — — V V — — 0.5 0.5 V V VIL • • Input low voltage 2 • • IIC 2.7 V ≤ VDD ≤ 3.6 V 1.8 V ≤ VDD ≤ 2.7 V 2.7 V ≤ VDD ≤ 3.6 V 1.8 V ≤ VDD ≤ 2.7 V DC Injection current – single pin 3 • • VIN > VDD VIN < VSS DC injection current – sum of all stressed pins 3 • • VOH VOL VIN > VDD VIN < VSS Output high voltage • • 2.7 V ≤ VDD ≤3.6 V, IOH = –10 mA 1.8 V ≤ VDD ≤ 2.7 V, IOH = –3 mA Output low voltage • • 2.7 V ≤ VDD ≤ 3.6 V, IOH = –10 mA 1.8 V ≤ VDD ≤ 2.7 V, IOH = –3 mA TJ Die junction temperature –40 125 °C TA Ambient temperature –40 105 °C 1.The device always interprets an input as a 1 when the input is greater than or equal to VIH (min.) and less than or equal to VIH (max.), regardless of whether input hysteresis is turned on. 2. The device always interprets an input as a 0 when the input is less than or equal to VIL (max.) and greater than or equal to VIL (min.), regardless of whether input hysteresis is turned on. 3. All functional non-supply pins are internally clamped to VSS and VDD. Input must be current limited to the value specified. To determine the value of the required current-limiting resistor, calculate resistance values for positive and negative clamp voltages, then use the larger of the two values. Power supply must maintain regulation within operating VDD range during instantaneous and operating maximum current conditions. If positive injection current (VIn > VDD) is greater than IDD, the injection current may flow out of VDD and could result in external power supply going out of regulation. Ensure external VDD load will shunt current greater than the maximum injection current. This will be the greatest risk when the MCU is not consuming power. Examples are: if no system clock is present, or if clock rate is very low (which reduces overall power consumption). CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 59 Electrical Specifications A.2 UART timing specifications Description A.3 Min Typical Max Unit Reading response time — 57 75 S Writing response time — 81 110 S Auto baudrate pulse width 1.5 — — ms Time between auto baudrate pulse and 2 first synchronization byte — — ms Auto baudrate timeout — 1.1 s — ESD handling ratings Symbol Description Min. Max. Unit Notes VHBM Electrostatic discharge voltage, human body model -2000 +2000 V 1 VCDM Electrostatic discharge voltage, charged-device model -500 +500 V 2 I Latch-up current at ambient temperature of 105°C -100 +100 mA 1. Determined according to JEDEC Standard JESD22-A114, Electrostatic Discharge (ESD) Sensitivity Testing Human Body Model (HBM). 2. Determined according to JEDEC Standard JESD22-C101, Field-Induced Charged-Device Model Test Method for Electrostatic-Discharge-Withstand Thresholds of Microelectronic Components. A.4 I2C timing specifications Description A.5 Min Max Unit Reading frame duration 214 1700 S Writing frame duration 300 1800 S Capacitive electrodes specifications Description Electrode capacitance range Min 1 Capacitive electrodes sampling peroid — Typical Max Unit 20 500 pF 7 — mS CRTouch Data Sheet, Rev. 3 60 Freescale Semiconductor Electrical Specifications A.6 Current ratings Typical1 Description Max2 Unit Run mA • • 3.3 V 1.8 V 11.8 11.8 14.6 13.7 3.3 V 1.8 V 0.39 0.39 6.9 6.1 1 1 120 61 Sleep • • mA A Shutdown • • 3.3 V 1.8 V 1. Average current measured with the device in idle state. 2. Average current measured while touching the touch screen, with pressure and two touch gestures enabled. A screen with impedances around 600 was used. This value varies depending on the current consumed by the screen when touched. A.7 Operating mode transition timing specification Description Min Max Unit Reset – Run1 — 13 mS Run – Sutdown transiton 22 5503 S Sleep – Run4 5 — S Wake pulse 10 — S 1. Valid for power on reset, pin reset and shutdown wakeup. 2. Measured when only the shutdown bit is written without prior register writes. 3. Measured after writing a series of registers before shutdown. Time increases due to the time required to store values in non volatile memory. 4. After a falling edge on Wake pin. A.8 Resistive screen scan times specifications Description Signal settling time Min Typical Max 14 100 300 — — 150 160 — — Normal mode Calibration mode S S Signal measurement time • • Unit CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 61 Electrical Specifications A.9 NVM reliability specifications Symbol Description Min Typical Unit tnvmretee100 Data retention up to 100% of write endurance 5 50 Years tnvmretee10 Data retention up to 10% of write endurance 10 100 Years tnvmretee1 Data retention up to 1% of write endurance 15 100 Years nnvmwree Write Endurance 315 K 1.6 M Writes CRTouch Data Sheet, Rev. 3 62 Freescale Semiconductor Packing Information Appendix B Packing Information CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 63 Packing Information CRTouch Data Sheet, Rev. 3 64 Freescale Semiconductor Packing Information CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 65 Packing Information CRTouch Data Sheet, Rev. 3 66 Freescale Semiconductor Packing Information CRTouch Data Sheet, Rev. 3 Freescale Semiconductor 67 How to Reach Us: Home Page: www.freescale.com Web Support: http://www.freescale.com/support USA/Europe or Locations Not Listed: Freescale Semiconductor, Inc. Technical Information Center, EL516 2100 East Elliot Road Tempe, Arizona 85284 +1-800-521-6274 or +1-480-768-2130 www.freescale.com/support Europe, Middle East, and Africa: Freescale Halbleiter Deutschland GmbH Technical Information Center Schatzbogen 7 81829 Muenchen, Germany +44 1296 380 456 (English) +46 8 52200080 (English) +49 89 92103 559 (German) +33 1 69 35 48 48 (French) www.freescale.com/support Japan: Freescale Semiconductor Japan Ltd. Headquarters ARCO Tower 15F 1-8-1, Shimo-Meguro, Meguro-ku, Tokyo 153-0064 Japan 0120 191014 or +81 3 5437 9125 [email protected] Asia/Pacific: Freescale Semiconductor Hong Kong Ltd. Technical Information Center 2 Dai King Street Tai Po Industrial Estate Tai Po, N.T., Hong Kong +800 2666 8080 [email protected] For Literature Requests Only: Freescale Semiconductor Literature Distribution Center P.O. Box 5405 Denver, Colorado 80217 1-800-441-2447 or 303-675-2140 Fax: 303-675-2150 [email protected] Document Number: CRTOUCHDS Rev. 3 04/2013 Information in this document is provided solely to enable system and software implementers to use Freescale Semiconductor products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits or integrated circuits based on the information in this document. Freescale Semiconductor reserves the right to make changes without further notice to any products herein. Freescale Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. “Typical” parameters that may be provided in Freescale Semiconductor data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including “Typicals”, must be validated for each customer application by customer’s technical experts. Freescale Semiconductor does not convey any license under its patent rights nor the rights of others. Freescale Semiconductor products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Freescale Semiconductor product could create a situation where personal injury or death may occur. Should Buyer purchase or use Freescale Semiconductor products for any such unintended or unauthorized application, Buyer shall indemnify and hold Freescale Semiconductor and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Freescale Semiconductor was negligent regarding the design or manufacture of the part. RoHS-compliant and/or Pb-free versions of Freescale products have the functionality and electrical characteristics as their non-RoHS-compliant and/or non-Pb-free counterparts. For further information, see http://www.freescale.com or contact your Freescale sales representative. For information on Freescale’s Environmental Products program, go to http://www.freescale.com/epp. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners. © Freescale Semiconductor, Inc. 2007-2012. All rights reserved.