Gunze Electronics USA Corporation A Guide to An Analog Touch Panel Controller Chip Through Serial(CRS1-656),PS/2(CRS1-685) First Print: JUN. 21, 1999 Rev4 AUG.15, 2000 Gunze Electronics USA Corporation 2113 Wells Branch Parkway Austin, TX. 78728-6970 Telephone: (512) 252-1299 Fax: (512) 251-5687 This Guide contains the company’s copyright and knowledge. You are advised not to use this Guide for applications other than this product intent. Copies and disclosures to third parties of this guide are strictly forbidden without written consent of Gunze Electronics USA Corporation. Some alteration of the guide due to improvements of products may be made without prior notice. For questions regarding this product, please contact Gunze Electronics USA co.. SPEC 8.2.00 1 Table of Contents 1. General 2. Features (1) Power Supply (2) External Conditions Frequency (3) Electric Resolution (4) Communication (5) Output Rate (6) Output Mode (7) Adaptable Touch Panel 3. Pin Configuration (1) Terminal Arrangement Diagram (2) Function of Terminals 4. Connection for 12bit A/D Converter 5. Absolute Maximum Rating 6. External Circuits 7. Settings 8. Continuous Mode 9. Serial Communication (CRS1-656) (1) Communication Setting (2) Data Format (3) Response Speed (4) List of Commands 10. PS/2 Communication (CRS1-685) (1) Communication Setting (2) Data Format 11. Other Functions (1) Calibration (2) Stop Mode (3) Mouse Emulation 12. Warranty (1) Warranty Period (2) Warranty Clause Appendixes * Sample Schematic for serial communication (CRS1-656) * Sample Schematic for PS/2 communication (CRS1-685) * Package Outline * Storage and Soldering SPEC 8.2.00 2 1. General The CRS1 is an interface controller chip which senses pressed positions of a transparent analog resistive touch panel and can eliminate unstable data (voltage value) generated by softly pressing it or some external noises coming into the circuitry. By the internal filtering process, all of the pressed positions can be sensed with a high degree of accuracy and these data are sent to your host system with serial communication (CRS1-656) or PS/2 communication (CRS1-685). 2. Features (1) Power Supply 2.7 to 5.5 Volts 3.3 to 5.5 Volts (when using a 12bit external A/D converter) (2) External Clock Frequency 4 MHz (3) Electric Resolution 10 bit (1024 x 1024) or 12 bit (4096 x 4096 : with an external ADC) Note: These values are electrical resolutions for the controller. The physical resolution of the touch panel key area is lower than that value and varies depending on each touch panel. (4) Communication Serial Communication (CRS1-656) or PS/2 Communication (CRS1-685) (5) Output Rate 5-1 Serial Communication (CRS1-656) A. AHL Mode (Gunze original Mode) 87cps (Coordinate Per Second). B. ELO Emulation Mode Limited command supported. (more likely to work with 80cps Monitor Mouse for Windows supplied by ELO Touch Systems through COM port.) Under the condition of Baud Rate=9600bps,Parity=No,Data Length=8, and Stop Bit=1 5-2 PS/2 Communication (CRS1-685) about 100PPS (PPS: point per second) (6) Output Mode Continuously (When pressing the touch Panel, continuous data is being received.) (7) Adaptable Touch panel 4 & 8 - wire resistive analog touch panel made by Gunze. 8 - wire is highly recommended. The CRS1 controller is recommended only for Gunze’s touch panels. SPEC 8.2.00 3 3. Pin Configuration (1) Terminal Arrangement Diagram (2) Function of Terminals TERMINAL IN/OUT NAME V CC FUNCTION POWER SUPPLY PIN FUNCTION 8 SET FOR COM / PS2 TERMINAL NAME SET 0 VSS 11 SET FOR COM. SPEED IN/OUT PIN IN 12 SET 1 IN 13 GND REF. VOLTAGE FOR A/D CONVERTER R4.7k PULL DOWN V REF 5 SET FOR RESOLUTION SET 2 IN 14 CNVSS 7 SET 3 IN 15 TOUCH PANEL CONTROL SEL1 OUT 21 SET FOR GUNZE / ELO SET FOR COMMUNICATION FORMAT / STOP MODE SET 4 IN 16 TOUCH PANEL CONTROL SEL2 OUT 22 SERIAL DATA RECEIVE 4 RxD IN 26 SERIAL DATA TRANSMISION TOUCH PANEL CONTROL SEL3 OUT 23 TOUCH PANEL CONTROL SEL4 OUT 24 TOUCH PANEL CONTROL TxD OUT 27 PS2DATAIN IN 3 PS2 CLOCK IN PS2CLKIN IN 4 3 PS2 DATA IN 3 SEL5 OUT 25 1 ANALOG INPUT ANIN1 IN 31 PS2 DATA OUT PS2DATAOUT OUT 19 ANALOG INPUT1 ANIN2 IN 32 PS2 CLOCK OUT PS2CLKOUT OUT 18 ANALOG INPUT1 ANIN3 IN 1 RESET ~RESET IN 6 1 ANIN4 IN 2 STOP MODE RELEASING SBCAN IN 17 ~ADCS OUT 20 CLOCK IN XIN 9 CLOCK OUT IOUT 10 ANALOG INPUT EXTERNAL A/D CONTROL2 2 EXTERNAL A/D CONTROL ADCLK OUT 28 EXTERNAL A/D CONTROL2 ADDATA IN 29 EXTERNAL A/D CONTROL2 ADCTRL OUT 30 Footnote 1 : VSS for 12bit resolution with external A/D converter. Footnote 2: open for 10 bit resolution. Footnote 3: open for the CRS1-656 in serial communication. Footnote 4: Vss for the CRS1-685 in PS/2 communication. SPEC 8.2.00 4 4. Connection for 12 bit A/D Converter In the case of 12 bit resolution, need to wire lines with a A/D converter (Burr-Brown ADS7841) below. A/D CONVERTER CRS1 DCLK 16 28 ADCLK ~CS 15 20 ~ADCS DIN 14 30 ADCTRL 12 29 DOUT ADDATA * When using the external A/D converter, ANIN 1,2,3,4 should be connected to Vss. 5. Absolute Maximum Rating ITEM SYMBOL POWER VOLTAGE CONDITION RATING UNIT VCC - 0.3 ~ 7.0 V INPUT VOLTAGE VIN VSS - 0.3 ~ VCC + 0.3 V OUTPUT VOLTAGE VOUT VSS - 0.3 ~ VCC + 0.3 V POWER CONSUMPTION PD 300 mW POWER CURRENT I CC 3.5 - 6.5 150 mA OPERATING TEMPERATURE TOPR - 20o ~ 85o o STORAGE TEMPERATURE TSTG - 40o ~ 125o o Ta = 25 C 4Mhz - 5v STOP MODE µA C C 6. External Circuits i) Resonator ii) External Clock Fig-2 Clock Generating Circuit Fig-1 Reset Circuit 7. Settings SET 0 Mode OPEN Serial (CRS1-656) SHORT PS/2 (CRS1-685) SET 1 (only for CRS1-656) OPEN 9600bps Speed * ELO Driver requires 9600bps SHORT 19200bps SET 2 Resolution SHORT 12bit OPEN 10bit SPEC 8.2.00 5 SET 3 (only for CRS1-656) OPEN Gunze Emulation Mode SHORT ELO Emulation SET 4 (only for CRS1-656) OPEN Gunze Mode Stop Prohibited ELO Emulation Mode Binary SHORT Stop Permitted ASCII * ELO Driver Requires Binary 8. Continuous Mode When pressing the touch panel, the controller generates X-Y coordinates of the pressed position. If you maintain a continuous press, the controller keeps generating a string of data continuously. When releasing the press, a single data is generated. See below. Touching the panel Generating the data Touch Data Release Data 9. Serial Communication (CRS1-656) (1) Communication Setting ! Baud Rate: 9600, 19200 bps (ELO Mode: 9600 bps) ! Data Bits : 8 bit : unidentified ! Parity ! Stop Bit : 1 bit (2) Data Format A. AHL Mode (Gunze original Mode) Header ("T" or "R") X Data (4 bytes) Comma Y Data CR "," (4 bytes) (0D H ) 11 bytes/data are sent by 8 bits ASCII Format. * An example in Continuous Mode T0273, 0581 Press T0273,0582 T0272,0581 * * Continuing to press * T0273,0582 R0273,0581 Release ! ! ! T as a header for pressing the touch panel, and R as a header for releasing it Position values of both X and Y are from 0 to 1023 in decimal The origin of X and Y axes is at the bottom left corner with proper line connections. Note: By our experiment, the active position value is approximately from 20 to 1000 in usual. SPEC 8.2.00 6 B. ELO Emulation Mode ! Binary Format Byte 1 Lead-In-Byte (55h) 2 Touch Data Flag (54h) 3 Touch Status 4 X Lower Data (8 bit) 5 X Upper Data (4 bit) 6 Y Lower Data (8 bit) 7 Y Upper Data (4 bit) 8 Z Lower Data (FFh) 9 Z Upper Data (0h) 10 SumCheck *Touch Status:FirstTouch 01h MiddleTouch 02h Release 04h *SumCheck means all additions from Byte 1 to Byte 9 and AAh. *Z data is unavailable and fixed 255. ! ASCII Format 18 bytes/data are sent by 8 bits ASCII Format. X Data (4 bytes) Space Y Data (4 bytes) Z Data (4 bytes) Space Space T / U CR (0D H ) (3) Response Speed Touch Panel Output about 17 mS about 12 mS Note: Data shown are based on the following settings: Baud Rate ------------- 9600bps Parity ------------------ Unidentified Data Bits -------------- 8 Bit Stop Bit --------------- 1 Bit SPEC 8.2.00 7 (4) List of Commands A. AHL Mode (Gunze original Mode) Command RE Actuation Reset Note: If the controller receives the command while sending data, the data may be affected. DI Diagnose the controller board. If normal, it returns Pass $$$$. * $ stands for space. SR Stop sending transmission. Commands can be received while running. * While in data transmission, the transmission stops from the next data. BR Resume sending transmission CTRL-S (Same as "SR") CTRL-Q (Same as "SR") VE Return software version "V1.0$$" * $ stands for space. LF Make data delimiter CR (0D H) and LF (0A H) CR Make data delimiter CR (0D H) XL Return X-Low reference data (calibration data) <e g.> "0012" *Reference Data are the data of an electrode voltage of the touch panel. The X-Low Reference Data are the data expressing an electrode voltage of the lower potential when the panel in X direction is electrically impressed. XH Return X-High reference data (calibration data) <e g.> "1002" YL Return Y-Low reference data (calibration data) YH Return Y-High reference data (calibration data) SPEC 8.2.00 8 Note: i. Send command by ASCII Format. ii. When sending command, add CR (0DH) at the end. iii. Either capital letters or small letters are good. Command is executed immediately upon receiving it. Even if CRS1 is transmitting data, commands are received, and commands commanding response (e g. "DI", "VE" &.c) produce responding data followed by transmission of interrupted position data. <Example> "DI" Command case : : T0381, 0892 T0381, 0892 T0380, 0892 Pass T0380, 0892 T0381, 0892 : v. Responding data to the command are usually attached by CR (0DH) at the end vi. If a command is not duly received or if the command is not contained in the commands list, such the command is ignored (without output). vii. Take longer time than 15 mS between a command and the following command. B. ELO Emulation Mode Binary Mode i. Acknowledge ( a ) ii. Diagnostic ( d ) iii. ID ( i ) iv. Owner ( o ) v. Quiet ( q ) vi. Select Stop Mode ( z ) *Gunze original command SPEC 8.2.00 9 10. PS/2 Communication (CRS1-685) Communication is established by the clock line and the data line in synchronous with clock signal. Recommendation driver software is T5SETUP.EXE under Windows95. Caution :Some computers can not be used through PS/2 port with the CRS1 controller, because its function is hardware oriented. In the case of note book type computer, you should set up its internal pointing device prohibited because of conflict with the CRS1 and that device. (1) Communication Setting ! Data length :8bit ! Parity :Odd ! Stop bit : 1bit (2) Data Format 1st byte 2nd byte 3rd byte M SB 1 1 0 X9 X2 T/R X8 X1 Y5 X7 Y0 Y4 X6 Y9 Y3 X5 Y8 Y2 [T/R] 1: Touching 0: Releasing [X9-X0]X position data X9: MSB X0: LSB [Y9-Y0]Y position data Y9: MSB Y0: LSB *X and Y data consist of 10bit. *The range of X and Y data are from 0h to 3FFh( 00 0000 0000 SPEC 8.2.00 X4 Y7 Y1 • LSB X3 Y6 Y0 ---11 1111 1111 • ). 10 11. Other Functions (1) Calibration I. Auto-Calibration Vref 1 Wiring Section Key Area Vref 2 Wiring Section Illustration : Equivalent Circuit of Touch Panel Generally, touch panels have an equivalent circuit as the illustration above shows. When a DC voltage is applied to both terminal ends of the touch panel, the total voltage drop across the circuit is equal to the sum of the voltage drops of a key area and both wiring sections. Each voltage drop will vary when any resistance varies. It means that a position shift on the monitor will occur even on the same point to be pressed if any resistance changes. On the contrary, the combination of the controller and a 8-wire touch panel has an auto-calibration function which eliminates the resistance of both wiring sections by reading reference voltage, such as Vref 1, Vref 2. Those reference data are detected when powering on, sending reset command(only in serial communication), or returning from Stop Mode, and stored in the controller memory during powering on. After those processes, the controller generates data which are adjusted from 0 to 1023 over the key area. Therefore, you can get very stable data in various environmental conditions for a long period of time in use. Difference between 4-wire touch panel and 8-wire touch panel [ 4 wires Touch Panel ] xL xR yU yL The controller outputs the digital position data converted from the analog voltage of the pressed position. For example, when the analog voltage of the pressed point is 2(V) for applying 5(V) to the terminals, “409” is the outputted data. 2(V) / 5(V) x 1023 = 409 SPEC 8.2.00 11 [ 8 wires Touch Panel ] x L ref xL xR x R ref yU y U ref y L ref yL The controller reads reference voltages (xRref, xLref, yUref, yLref) and outputs a compensated pressed position data calculated on the basis with xRref=0, xLref=1023, yUref=0, yLref=1023. For example, when the analog voltage of the pressed point is 2(V) for applying 5(V) to the terminals and xRref=20, xLref=1000, “406” is the outputted data. 2(V) / 5(V) x 1023 = 409 , (409-20) x (1023 / (1000-20)) = 406 II. User-Calibration We strongly recommend you to match the pressed position data with the displayed position data by calculating relative positions on your system, so-called User-Calibration. You need to make it at least for the initial use or the time of recognizing an offset between a pressed position and a displayed one for any touch panels, even though they are totally in the same design. An example of User Calibration is shown below; Point-B ! ! Point-A *Position data of point-A : (Xa,Ya) *Position data of point-B : (Xb,Yb) Presumption : Xa<Xb and Ya<Yb *Displayed position of point-A : (DXa,DYa) *Displayed position of point-B : (DXb,DYb) Presumption : DXa<DXb and DYa<DYb The constant value in direct proportion of the resolution between the touch panel and the display monitor in the X direction is; CX=(DXb-DXa)/(Xb-Xa) ---------------------- A) in the Y direction is; CY=(DYb-DYa)/(Yb-Ya) ---------------------- B) SPEC 8.2.00 12 Consequently, the relationship between an arbitrary position on the touch panel(Xn,Yn) and an displayed position on the monitor(DXn,DYn) is; DXn=DXa+CX*(Xn-Xa) ------------------------- C) DYn=DYa+CY*(Yn-Ya) ------------------------- D) With the execution of Use Calibration, first of all, get the data Xa,Ya,Xb,Yb by pressing two points of the touch panel on the display monitor, and store them in the host system. Second of all, obtain the constant values of CX and CY from Eq.(A) and (B), and store them in the host systemwith DXa and DYa. After all of those processes, you can obtain accurate pressed positions on the display monitor (DXn,DYn) by getting the pressed data(Xn,Yn) and utilizing Eq.(C) and (D) while in ordinary operation. User Calibration should be done whenever you press the touch panel. (2) Stop Mode Stop Mode is a low power consumption mode that the touch panel controller is providing. In the case of setting Stop Mode on, it becomes in low power consumption state when not pressing the touch panel or not sending any commands to it for more than 30 seconds. During the state, no serial command is accepted. Sending Reset command or feeding a signal to SBSCAN terminal of the controller in low power consumption state make the controller resume. In the case of setting Stop Mode off, reading the reference voltages of Auto Calibration is made only when powering on or sending Reset command. (3) Mouse Emulation Gunze Electronics USA co. provides several device drivers for mouse emulation with PC/AT of IBM or IBM compatible computers and our controllers. Those drivers enable you to utilize the touch panel like a mouse on your system. We are providing device drivers as follows; Serial Communication (CRS1-656) TT-DOS under MS-DOS TT-OS/2 under OS/2 TT-WIN under Windows3.1 TT-WIN95 under Windows95/98 TT-WIN under WindowsNT PS/2 Communication (CRS1-685) TT-WIN95PS/2 under Windows95/98 SPEC 8.2.00 13 12. Warranty (1) Warranty Period One year after delivery (2) Warranty Clause Within the warranty period, in such a case of malfunction or breakdown caused by Gunze‘s failure, the product is exchanged or repaired. The following cases are exceptions to the warranty coverage. (i) After the product is delivered, such damage or breakdown from failing or collision which is caused by user‘s mishandling. (ii) Such damage or breakdown caused by natural or manmade disaster. (iii)Such damage or breakdown caused by alternation or repair of product which is made by the party other than Gunze. (iv)Such damage or breakdown caused by use or handling of the product in such a manner as against the instructions of this guide. Note: The warranty is limited to only the product itself and does not cover any subsequent damage, breakdown or loss which might be caused by malfunction of the product. We can not repair or exchange of the product on the site it is installed. SPEC 8.2.00 14 Appendixes *Sample Schematic for Serial Communication (CRS1-656) SPEC 8.2.00 15 Appendixes *Sample Schematic for PS/2 Communication (CRS1-685) SPEC 8.2.00 16 Appendixes *Package Outline SPEC 8.2.00 17 Appendixes *Storage and Soldering SMT(Surface Mount Type) ICs are sensitive for thermal stress with package absorbing moisture. So you should keep them not to absorb ambient moisture before soldering. MP(Moisture Proof) bags prevent ICs from absorbing moisture during transportation and storage at warehouses or factories. 1. Storage a) The unopened MP bag kept at 5 to 40’C / 20 to 80%RH could prevent moisture within two years. b) After opening MP bags, you should store ICs at 30’C / 70%RH or under and solder them within four days. c) When you must open MP bags temporarily, opening time should be within ten minutes. And then, you should fold the opening side of bags into two and close them with adhesive tape. d) Over the time period above, you are recommended to bake ICs at 125’C in 20 to 24 hours before using. (Four times maximum, less than 96 hours totally) 2. Recommended temperature profile of soldering (1) Reflow soldering method As for Infrared Reflow and Air Reflow, see Fig-1, and as for VPS Reflow, see Fig-2. Those temperature profiles show the temperature on the IC surface. You can apply a maximum of four times. SPEC 8.2.00 18 (2) Wave soldering method See Fig-3. The preheat temperature is depending on the type of flux. The temperature profile shows the temperature on the IC surface. You can apply just a time. 3. Cleaning If you need to clean the boards with solvents after soldering, you should pay attention to administrative guidance and regulation, residual ionic(non ionic) contamination, and solvent resistance of parts. SPEC 8.2.00 19