HulaCoder™ UR7HCDMP HulaPoint™ Ergonomic Mouse PS/2 and RS232 Encoder HID & SYSTEM MANAGEMENT PRODUCTS, MOUSECODERTM FAMILY DESCRIPTION The HulaCoder™ UR7HCDMP is an easy-to-use single-chip encoder that interfaces an innovative sensor developed by Fujitsu. Together they make the HulaPoint™. Equipped with an advanced motion algorithm, the UR7HCDMP offers low power consumption in a small footprint package. The device can be linked through either the serial or PS/2type mouse port of the host system. FEATURES • Equipped with advanced motion control algorithm • Low power consumption in a 3 to 6 Volt operating range • Effortless and accurate cursor control with 10 degree movement in every direction • Compatible with IBM/Microsoft two-button mice and Logitech three-button mice • Works with innovative proprietary sensor technology developed by Fujitsu Microelectronics • Responds to feather-light touch without resistance • Small 18 pin plastic PDIP and SOIC Packages available • Autoselectable RS232 or PS/2 hardware interface APPLICATIONS The UR7HCDMP is compatible with the IBM and Microsoft two-button and the Logitech three-button mouse communication protocols. The device will auto switch between the Serial and the PS/2 mouse communication protocol depending on the port to which the device is actually connected. • Embedded HulaPoints™ • Industrial panels • Industrial keyboards • Instrumentation PIN ASSIGNMENTS Communication through the serial port is half-duplex at a fixed speed of 1200 Baud. PS/2 communication is bidirectional at 10 Kbps. The HulaCoder™ implements all commands to and from the host system, as defined in the IBM PS/2 mouse communication protocol. The UR7HCDMP is a CMOS device operating at 4 MHz. The low power consumption of the IC makes it suitable for battery operated systems. In serial mode, like any standard serial mouse, the IC can draw power from the RS232 lines of the host system. CHX 1 18 CHY RTS 2 17 PWRON TxD 3 16 OSCIN RESET 4 15 OSCOUT VSS (GND) 5 14 VDD (+V) PS2CLK 6 13 DA2 PS2DAT 7 12 DA1 RIGHTSW 8 11 DA0 LEFTSW 9 10 MIDDLESW DIP/ SOIC HulaCoder, Hulapoint, and MouseCoder are trademarks of Semtech Corporation. All other trademarks belong to their respective companies. Copyright ©1995-2001 Semtech Corporation DOC7-DMP-DS-107 1 www.semtech.com ORDERING CODE Package options 18-pin, Plastic Dip 18-pin,SOIC TA = -40OC TO +85OC UR7HCDMP-P UR7HCDMP-DW FUNCTIONAL DESCRIPTION The UR7HCDMP consists functionally of five major sections (see Functional Diagram below). These are the Sensor Interface, the Sixteen Bit Timer, the Oscillator Circuit, the PS/2 Communication Port and the RS232 Communication Port. All sections communicate with each other and operate concurrently. FUNCTIONAL DIAGRAM LEFT MIDDLE RIGHT BUTTON BUTTON BUTTON Data Buffer Switch Interface PS2CLK PS2DAT TXD RTS PS/2 Communication Port X Input CHX Y Input CHY 3 Control RS232 Communication Port HulaPoint Interface 16 bit Timer Power-On Reset Oscillator Circuit OSCIN-OSCOUT 2 Copyright ©1995-2001 Semtech Corporation DOC7-DMP-DS-107 2 www.semtech.com Resolution Enhancement D/A Sensor Power Strobe AUTOSELECT PIN DESCRIPTION At power-up the HulaCoder performs a power-on reset and determine the mode of operation. Pin Numbers Mnemonic DIP CHX 1 RTS 2 SOIC 1 2 Type Analog Input I/O PS/2 MODE _TxD _RESET 3 4 3 4 O, Open Drain I GND PS2CLK PS2DAT _RIGHTSW _LEFTSW _MIDDLESW DA0 5 6 7 8 9 10 11 5 6 7 8 9 10 11 Power I/O I/O I w/ Pullup I w/ Pullup I w/ Pullup O DA1 12 12 O DA2 13 13 O VCC _OSCOUT OSCIN _PWRON 14 15 16 17 14 15 16 17 Power O I O CHY 18 18 Analog Input TM At start-up or upon receiving a reset command, clock and data lines of the HulaCoder™ can be pulled to a positive level. The UR7HCDMP then waits between 300 and 500 milliseconds before sending an 0xAA to the host followed by a device ID of 0x00. Then the IC sets itself to its default values, i.e. Incremental Stream Mode with 1:1 scaling, and a report rate of 100 Hz. The device then disable itselfs until it receives a command from the host. ERROR HANDLING For every correct command or parameter received from the host, the UR7HCDMP sends an Acknowledge (0xFA). If an invalid command or parameter is received, the UR7HCDMP issues a Resend Request (0xFE). If an invalid input is again received, the device transmits an Error Code (0xFC) to the host. Both Error and Resend Request responses are sent by the device within 25 milliseconds. The host may not issue any new commands until either the HulaCoder™ has responded or until 25 milliseconds have elapsed. Copyright ©1995-2001 Semtech Corporation DOC7-DMP-DS-107 Name and Function Horizontal input Ready To Send (RTS) sense, power save out Transmit serial data Reset: apply 0 V for orderly start up. Ground PS/2 clock PS/2 data Right switch: low = on Left switch: low = on Middle switch: low=on Resolution enhancement D/A 0: least significant bit (LSb) Resolution enhancement D/A 1 Resolution enhancement D/A 2: most significant bit (MSb) Power supply Oscillator output Oscillator input Sensor power strobing control Vertical input Note: An underscore before a pin mnemonic denotes an active low signal. PIN DESCRIPTION NOTES The internal oscillator has a built-in feedback resistor. Only one external component is needed for clock generation. Semtech recommends a 4.00 MHz ceramic resonator with built-in load capacitors. RIGHTSW, LEFTSW, and MIDDLESW inputs have built-in pull-up resistors. No additional components are required for a three-button design. However, if high levels of ESD and EMI are expected, than series protection resistors (47 Ohms to 1K Ohms) are recommended between the switches and the switches’ inputs on the IC. 3 www.semtech.com PS/2 MODE COMMANDS PS/2 DATA FORMAT When the Reset Command (0xFF) is enacted, the UR7HCDMP sets the following default parameters: Incremental Stream Mode, 1:1, scaling, disabled, and a report rate of 100 Hz and then sends 0xAA to the host followed by a device ID of 0x00. The following table shows the data report format. Values are expressed in a two’s complement format with a separate sign bit. If there is an overflow of the accumulator, the maximum positive or negative count is reported and the corresponding overflow bit is set. The host sends the Resend Last Data Stream Command (0xFE) when it detects an error in any UR7HCDMP transmission. The device then resends the last output data stream to the host. This transmission occurs after a HulaCoder™ transmission and before the host enables the interface allowing the next HulaCoderTM output. The Set Default Status Command (0xF6) re-initializes the device to its condition at power-up. The Disable Command (0xF5) stops the device from transmitting all reports. However, the mode does not change; the HulaCoder™ is still able to respond to commands. If the Disable Command is issued while the device is transmitting a report, the UR7HCDMP immediately stops the transmission and disables itself. If the HulaCoder™ is in Incremental Stream Mode, the Enable Command (0xF4) will allow it to begin data transmission. If the device is in Prompt Mode, the Enable Command updates the internal status of the HulaCoder™, but does not allow the device to transmit data to the host either while it is moving or when a button is depressed. Copyright ©1995-2001 Semtech Corporation DOC7-DMP-DS-107 Byte 1 b0 b1 b2 b3 b4 b5 b6 b7 Left Button status Right Button Status Middle Button Status Always = 1 X data sign Y data sign X data overflow Y data overflow 1 = depressed 1 = depressed 1 = depressed 1 1 1 1 = = = = negative negative overflow overflow Byte 2 b0 b1 b2 b3 b4 b5 b6 b7 X0: LSB of X data X1 X2 X3 X4 X5 X6 X7: MSB of X data Byte 3 b0 b1 b2 b3 b4 b5 b6 b7 Y0: LSB of Y data Y1 Y2 Y3 Y4 Y5 Y6 Y7: MSB of Y data Status Report Format Table Byte 1 b0 b1 b2 b3 b4 b5 b6 b7 Right Button 1 = depressed Middle Button 1 = depressed Left Button 1 = depressed Always = 0 Scaling - 1:1 (0) / 2:1 (1) Disable - (0) / enable (1) Stream - (0) / prompt (1) mode Always = 0 Byte 2 b0 - 1 Current resolution setting b2 - 7 Always = 0 Byte 3 b0-7 4 Current sampling rate www.semtech.com PS/2 COMMANDS, (CONT’D) The HulaCoder™ will respond to the Set Sampling Rate Command (0xF3) in both Stream and Prompt Modes, but will only update its internal status if the command is enacted while the device is in Stream Mode The UR7HCDMP responds to the the Read Device Type Command (0xF2) immediately after the Acknowledge with a 0x00. The Set Prompt (Remote) Mode Command (0xF0) sets the device to Prompt Mode. Data values are then only reported in response to a Read Report Command (0xEB). If the Set Echo Mode Command (0xEE) is enacted, the HulaCoderTM will immediately return any data bytes except 0xFF or 0xEC. The Reset Echo Mode Command (0xEC) returns the device to its previous mode disabled. If this command occurs while the UR7HCDMP is in either Stream or Prompt Modes, the command is ignored. SEQUENTIAL COMMANDS Unlike normal commands, sequential commands must be enacted with a sequence of commands. If the sequence is not consecutive or is incorrect, the HulaCoder™ aborts the detection and responds the way it would normally respond to a command. The individual commands that comprise a sequential command have been designed so that the elements of a sequential command can be sent to the HulaCoder™ via the standard IBM PS/2 BIOS calls and the device only returns a valid response to the Standard Status Request. This ensures that, if the sequential command is sent via the BIOS, the status response will be accurately returned even if the BIOS does error detection. Thus, a programmer can have complete control of the mouse without having to access the device hardware port directly. The HulaCoder™ implements a special sequential command that can be used to determine its ability to report three buttons. The sequential command is a series of commands to the HulaCoder™ that cause the device to respond to the last command (Read Status) with alternate information. Sequence of commands: 1. Set Resolution = one count/ mm Direct: E8H,00H BIOS: INT15H, AX=C203H, BX=0 2. Set Scaling = 1:1 Direct: E6H BIOS: INT15H, AX=C206H, BX=1 3. Set Scaling = 1:1 Direct: E6H BIOS: INT15H, AX=C206H, BX=1 4. Set Scaling = 1:1 Direct: E6H BIOS: INT15H, AX=C206H, BX=1 The Read Report Command (0xEB) prompts the HulaCoder™ for a report. The report occurs even if the device did not move or if the status of the switches did not change. The report is sent by the UR7HCDMP following an Acknowledge. 5. Read Status Direct: E9H The Set Incremental Stream Mode Command (0xEA) sets the HulaCoder™ to Stream Mode and disables the device. Byte 3: Firmware Revision Number (encoded) Copyright ©1995-2001 Semtech Corporation DOC7-DMP-DS-107 BIOS: INT15H, AX=C206H, BX=0 The response to the Read Status Command is in the form: Byte 1: Standard Status Information (buttons, scaling, etc.) Byte 2: Number of mouse buttons (3) 5 www.semtech.com PS/2 MODE COMMANDS, (CON’T) SERIAL DATA REPORT FORMAT TABLE The Status Request command (0xE9) returns a 3 byte status report. Byte 1 The Set Resolution command (0xE8) controls resolution, and the Set 2:1 Scaling Command (0xE7) enables a coarse/fine tracking response. The HulaCoder™ uses its advanced motion algorithm, so although Set Resolution and Scaling commands are acknowledged and reported as activated, their content is ignored. The Set 1:1 Scaling Command (0xE6) enables the values of movements to be transmitted to the host without any scaling. SERIAL MODE Communication through the serial port is half-duplex at a fixed speed of 1200 Baud, 7N2 protocol. At start-up and after each RTS toggle the HulaCoder™ sends a two-character ASCII string “M3” indicating 3-button capability to the host. b0 b1 b2 b3 b4 b5 b6 X6 X7: MSB of X Data Y6 Y7: MSB of Y Data Right Button Status Left Button Status Always=1 1 = depressed 1 = depressed Byte 2 b0 b1 b2 b3 b4 b5 b6 X0: LSB of X data X1 X2 X3 X4 X5 Always=0 Byte 3 b0 b1 b2 b3 b4 b5 b6 Y0: LSB of Y data Y1 Y2 Y3 Y4 Y5 Always=0 Byte 4 b0 - 4 b5 b6 Always = 0 Middle Button Status 1=depressed Always=0 A data report is sent if motion is detected, or if buttons are pressed or released. Motion is reported relative to the last report sent, in a two’s complement form and eight (8) bit resolution. In other words, the maximum motion values are 128 to +127, saturated at min/max for faster speeds. Byte 4 is sent only if the middle button is pressed, held-down, or released. Copyright ©1995-2001 Semtech Corporation DOC7-DMP-DS-107 6 www.semtech.com HULAPOINT™ SENSOR DIMENSIONS Copyright ©1995-2001 Semtech Corporation DOC7-DMP-DS-107 7 www.semtech.com HULAPOINT™ EVALUATION BOARD MECHANICAL Copyright ©1995-2001 Semtech Corporation DOC7-DMP-DS-107 8 www.semtech.com HULAPOINT™ ALTERNATE KIT WITH RUBBER OVERLAY MATERIAL Copyright ©1995-2001 Semtech Corporation DOC7-DMP-DS-107 9 www.semtech.com Copyright ©1995-2001 Semtech Corporation DOC7-DMP-DS-107 10 4 3 2 1 FFCC4 JP3 4 3 2 1 FFCC4 JP1 GND GND 0.01µF GND C4 MOSFET_P Q1 VCC NOT_MIDDLE_SW NOT_LEFT_SW NOT_RIGHT_SW 499k 499k R14 487 249k 249k 487 R13 R9 R10 R11 R12 4.00MHz VCC GND Y1 VCC 680 680 GND LEFTSW RIGHTSW PS2DATA PS2CLK VSS(GND) www.semtech.com 10µF 680 R19 GND V S S 1 10µF 25V R6 2 D1A 3 D1B 680 1 1 GND 9 8 7 6 5 4 3 2 1 C6 TC55RP5002ECB713 3 VOUT VIN 2 U3 R18 C5 TxD RTS CHX RESET .1µF C3 UR7HCDMP-AKTA-DW MIDDLESW DA0 DA1 DA2 VDD(+V) OSCOUT OSCIN PWRON CHY R17 10 11 12 13 14 15 16 17 18 U1 GND VCC L1 NPN Q4 PNP Q3 12µH 5 U2 47 VCC 47pF C2 47pF C1 47 Q2 4.7k R5 4.7k 4.7k D2A D2B 53048_0910 CTS/PS2+5V TxD <<<< RI/PS2DATA DTR <<<< GND SHIELD DCD/PS2CLK RTS <<<< RxD >>>> JP2 1 3 SHIELD_CON SH2 SH4 SH1 SH3 9 8 7 6 5 4 3 2 1 R3 R4 1 2 DUAL_SCHOTTKY_DIODE VCC MOSFET_P VOLT_DET R1 R2 3 2 GND R7 100k 100k R8 1 VCC SAMPLE SCHEMATIC OF THE HULAPOINT™ ELECTRICAL SPECIFICATIONS FOR HULACODER™ UR7HCDMP Absolute Maximum Ratings Ratings Supply voltage Input voltage Current drain per pin (not including Vss or Vdd) Operating temperature UR7HCDMP-xx Storage temperature range Ambient temperature under bias Symbol Vdd Vin I Value 0 to 7.5 Vss -0.6 to Vdd +0.6 20 Unit V V mA Ta T low to T high -40 to +85 -65 to +150 -55 to +125 °C °C °C Tstg Tbias DC Electrical Characteristics, Temperature range=T low to T high unless otherwise noted) Characteristic Symbol Min Typ Max Supply voltage 3.0 5.0 6.0 Output voltage Voh Vdd–0.1 Vol 0.1 Input high voltage Vih 0.7xVdd Vdd Input low voltage Vil Vss 0.2xVdd Input current Iin +/- 1 Internal pull-up current Ipup 50 250 500 Supply current Vdd=0 Idd 2.0 3.5 5. Vdc+/-10%, Vss=0 Unit V V V V µA µA mA Control Timing (Vdd=5.0 Vdc +/-10%, Vss=0 Vdc, Temperature range=T low to T high unless otherwise noted) Characteristic Symbol Min Typ Max Unit Frequency of operation Crystal option fosc 4.0 MHz External clock option fosc 4.0 MHz Copyright ©1995-2001 Semtech Corporation DOC7-DMP-DS-107 11 www.semtech.com For sales information and product literature, contact: HID & System Mgmt Division Semtech Corporation 652 Mitchell Road Newbury Park, CA 91320 [email protected] http://www.semtech.com/ 805 498 2111 Telephone 805 498 3804 Telefax Semtech Western Regional Sales 805-498-2111 Telephone 805-498-3804 Telefax Semtech Central Regional Sales 972-437-0380 Telephone 972-437-0381 Telefax Semtech Eastern Regional Sales 203-964-1766 Telephone 203-964-1755 Telefax Semtech Asia-Pacific Sales Office +886-2-2748-3380 Telephone +886-2-2748-3390 Telefax Semtech Japan Sales Office +81-45-948-5925 Telephone +81-45-948-5930 Telefax Semtech Korea Sales Sales +82-2-527-4377 Telephone +82-2-527-4376 Telefax Northern European Sales Office +44 (0)2380-769008 Telephone +44 (0)2380-768612 Telefax Southern European Sales Office +33 (0)1 69-28-22-00 Telephone +33 (0)1 69-28-12-98 Telefax Central European Sales Office +49 (0)8161 140 123 Telephone +49 (0)8161 140 124 Telefax Copyright ©1995-2001 Semtech Corporation. All rights reserved. HulaCoder, HulaPoint, and MouseCoder are trademarks of Semtech Corporation. Semtech is a registered trademark of Semtech Corporation. All other trademarks belong to their respective companies. INTELLECTUAL PROPERTY DISCLAIMER This specification is provided "as is" with no warranties whatsoever including any warranty of merchantability, fitness for any particular purpose, or any warranty otherwise arising out of any proposal, specification or sample. A license is hereby granted to reproduce and distribute this specification for internal use only. No other license, expressed or implied to any other intellectual property rights is granted or intended hereby. Authors of this specification disclaim any liability, including liability for infringement of proprietary rights, relating to the implementation of information in this specification. Authors of this specification also do not warrant or represent that such implementation(s) will not infringe such rights. Copyright ©1995-2001 Semtech Corporation DOC7-DMP-DS-107 12 www.semtech.com