ETC UR7HCDMP

HulaCoder™ UR7HCDMP
HulaPoint™ Ergonomic Mouse
PS/2 and RS232 Encoder
HID & SYSTEM MANAGEMENT PRODUCTS, MOUSECODER® FAMILY
DESCRIPTION
PRELIMINARY
FEATURES
The HulaCoder™ UR7HCDMP is an
easy-to-use single-chip encoder
that interfaces to an innovative
sensor developed by Fujitsu. The
IC and sensor together make the
HulaPoint™ ergonomic mouse.
Equipped with an advanced motion
algorithm, the HulaCoder™ offers
low power consumption in a smallfootprint package. The device
connects to either a serial or a PS/2
mouse port on the host system.
• Equipped with advanced motioncontrol algorithm
• Low power consumption in a
3-volt 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
The HulaCoder™ is compatible with
the communication protocols for
IBM and Microsoft two-button mice
and Logitech three-button mice.
The IC automatically detects the
port type (serial or PS/2) and uses
the appropriate protocol for that port
type.
• Embedded HulaPoints™
• Industrial panels
• Works with innovative, proprietary
sensor technology developed by
Fujitsu Microelectronics
• Responds to feather-light touch
without resistance
• Available in a small 18-pin plastic
SOIC package
• Autoselects RS232 or PS/2
hardware interface
APPLICATIONS
• Industrial keyboards
• Instrumentation
Serial communication by the
HulaCoder™ 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.
CHX
1
RTS
2
TxD
3
RESET
4
VSS (GND)
5
PS2CLK
6
PS2DAT
7
RIGHTSW
8
LEFTSW
9
UR7HCDMP-DW
SOIC
PIN ASSIGNMENTS
18
CHY
17
PWRON
16
OSCIN
15
OSCOUT
14
VDD (+V)
13
DA2
12
DA1
11
DA0
10
MIDDLESW
The HulaCoder™ 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.
Semtech and MouseCoder are registered
trademarks of Semtech Corporation. HulaCoder
and Hulapoint are trademarks of Semtech
Corporation. All other trademarks belong to their
respective companies.
Copyright ©1995-2002 Semtech Corporation
DOC7-DMP-DS-109
1
www.semtech.com
ORDERING CODE
Package options
18-pin SOIC
18-pin SOIC
Sensor
orientation
Inverted
Normal
Pitch
TA =
-40°C TO +85°C
UR7HCDMP-A-DW
UR7HCDMP-B-DW
1.270 mm
1.270 mm
Note: See the sensor orientation section for sensor orientation diagrams.
FUNCTIONAL DESCRIPTION
The HulaCoder™ 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-2002 Semtech Corporation
DOC7-DMP-DS-109
2
www.semtech.com
Resolution
Enhancement D/A
Sensor Power
Strobe
AUTODETECT
PIN DESCRIPTION
At power-up the HulaCoder™
automatically detects the host
interface type (PS/2 or serial), and
uses the correct protocol.
Pin Numbers
Mnemonic
CHX
RTS
Pin
1
2
Type
Analog Input
I/O
_TxD
_RESET
3
4
O, Open Drain
I
GND
PS2CLK
PS2DAT
_RIGHTSW
_LEFTSW
_MIDDLESW
DA0
5
6
7
8
9
10
11
Power
I/O
I/O
I w/ Pullup
I w/ Pullup
I w/ Pullup
O
DA1
12
O
DA2
13
O
VCC
_OSCOUT
OSCIN
_PWRON
14
15
16
17
Power
O
I
O
CHY
18
Analog Input
PS/2 MODE
At start-up or upon receiving a reset
command, clock and data lines of
the HulaCoder™ can be pulled to a
positive level. The IC 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
disables itself until it receives a
command from the host.
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
ERROR HANDLING
For every correct command or
parameter received from the host,
the HulaCoder™ sends an
Acknowledge (0xFA). If an invalid
command or parameter is received,
the HulaCoder™ 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 25
milliseconds have elapsed.
Copyright ©1995-2002 Semtech Corporation
DOC7-DMP-DS-109
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, then 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 HulaCoder™
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
transmission from the HulaCoder™.
The HulaCoder™ 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
HulaCoder™ 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; and the
HulaCoder™ is still able to respond
to commands. If the Disable
Command is issued while the
device is transmitting a report, the
HulaCoder™ immediately stops the
transmission and disables itself.
If the HulaCoder™ is in Incremental
Stream Mode, the Enable
Command (0xF4) allows 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 reports of motion or button
data to the host.
Byte 1
b0
b1
b2
b3
b4
b5
b6
b7
Left Button status
Right Button Status
Middle Button Status
Always = 1
X8: MSB (sign) of X data
Y8: MSB (sign) of Y data
X data overflow
Y data overflow
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
Byte 3
b0
b1
b2
b3
b4
b5
b6
b7
Y0: LSB of Y data
Y1
Y2
Y3
Y4
Y5
Y6
Y7
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
Copyright ©1995-2002 Semtech Corporation
DOC7-DMP-DS-109
1 = depressed
1 = depressed
1 = depressed
4
Current sampling rate
www.semtech.com
PS/2 COMMANDS (CONT’D)
When the HulaCoder™ receives the
Set Sampling Rate Command
(0xF3), it responds in both stream
and prompt modes, but updates its
internal status only in stream mode.
The HulaCoder™ 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 reported only in
response to a Read Report
Command (0xEB).
The Set Echo Mode Command
(0xEE) is enables echo mode; with
this mode enabled, the
HulaCoder™ immediately returns
any data bytes except 0xFF or
0xEC.
The Reset Echo Mode
Command (0xEC) disables echo
mode. If this command occurs
while the HulaCoder™ is in either
stream or prompt Modes, the
command is ignored.
SEQUENTIAL COMMANDS
A sequential command consists of a strictly specified, unbroken sequence
of individual commands.
The HulaCoder™ implements a special sequential command that can be
used to determine its ability to report three buttons. This sequential
command is a series of commands to the HulaCoder™ that cause the IC to
give a special response to the last command (Read Status).
Sequence of commands:
1. Set Resolution = one count/mm
Direct: 0xE8,0x00 BIOS: INT0x15, AX=0xC203, BX=0
2. Set Scaling = 1:1
Direct: 0xE6
BIOS: INT0x15, AX=0xC206, BX=1
3. Set Scaling = 1:1
Direct: 0xE6
BIOS: INT0x15, AX=0xC206, BX=1
4. Set Scaling = 1:1
Direct: 0xE6
BIOS: INT0x15, AX=0xC206, BX=1
5. Read Status
Direct: 0xE9
BIOS: INT0x15, AX=0xC206, 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)
Byte 3: Firmware Revision Number (encoded)
The Read Report Command
(0xEB) prompts the HulaCoder™ for
a report. The report occurs even if
the device has not moved and the
status of the switches has not
changed. The report is sent by the
HulaCoder™ following an
Acknowledge.
The individual commands that comprise this sequential command have
been designed so that a sequential command can be sent to the
HulaCoder™ via the standard IBM PS/2 BIOS calls, and the IC 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 is returned
accurately 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 Set Incremental Stream
Mode Command (0xEA) sets the
HulaCoder™ to stream mode and
disables the device.
Copyright ©1995-2002 Semtech Corporation
DOC7-DMP-DS-109
5
www.semtech.com
PS/2 COMMANDS (CONT’D)
The Status Request command
(0xE9) returns a 3 byte status
report.
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.
SERIAL DATA REPORT FORMAT TABLE
Byte 1
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-2002 Semtech Corporation
DOC7-DMP-DS-109
6
www.semtech.com
HULAPOINT™ SENSOR ORIENTATION
HulaCoder UR7HCDMP-B-DW: normal sensor orientation
HulaCoder UR7HCDMP-A-DW: inverted sensor orientation
Copyright ©1995-2002 Semtech Corporation
DOC7-DMP-DS-109
7
www.semtech.com
Copyright ©1995-2002 Semtech Corporation
DOC7-DMP-DS-109
8
4
3
2
1
FFCC4
JP3
4
3
2
1
FFCC4
JP1
GND
GND
0.01µF
GND
C4
MOSFET_P
Q1
VCC
R9
R10
499KΩ R11
499KΩ R12
249KΩ
249KΩ
NOT_MIDDLE_SW
NOT_LEFT_SW
NOT_RIGHT_SW
487Ω
R14
487Ω
R13
4.00MHz
VCC
GND
Y1
VCC
C5
10µF
2
D1A
3
www.semtech.com
GND
V
S
S
1
10µF
25V
C6
680Ω
GND
1
1
TC55RP5002ECB713
3 VOUT VIN 2
680Ω
D1B
R6
680Ω
680Ω
R19
9
8
7
6
5
4
3
2
1
U3
R18
GND
LEFTSW
RIGHTSW
PS2DAT
PS2CLK
VSS(GND)
RESET
TxD
RTS
CHX
0.1µF
C3
UR7HCDMP-DW
MIDDLESW
DA0
DA1
DA2
VDD(+V)
OSCOUT
OSCIN
PWRON
CHY
R17
10
11
12
13
14
15
16
17
18
U1
GND
VCC
Q3
NPN
Q4
PNP
5
R1
R2
3
2
GND
100KΩ
R7
100KΩ
R8
1
VCC
U2
4.7KΩ
4.7KΩ
VCC
4.7KΩ
R5
47pF
C2
47pF
C1
47Ω
47Ω
Q2
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
SAMPLE SCHEMATIC FOR THE HULAPOINT™
MECHANICALS FOR THE HULACODER™ UR7HCDMP-DW
B
e
18
10
E
1
H
9
α
C
L
MILLIMETERS
D
Base Plane
CP
A1
A
Copyright ©1995-2002 Semtech Corporation
DOC7-DMP-DS-109
9
DIM MIN MAX
0
a
0
80
A 2.362 2.641
A1 0.101 0.299
B 0.355 0.482
C 0.241 0.317
D 11.35 11.73
E 7.416 7.594
e 1.270 1.270
H 10.00 10.64
L 0.406 1.143
0.101
CP
M 50
10 0
N 0.13 0.17
Q 0 0
70
R 0.13 .30
S 12.95 13.45
T 0.13
U 00
V 12.95 13.45
W 0.40 X
1.6 REF
www.semtech.com
INCHES
MIN MAX
80
00
0.093 0.104
0.004 0.011
0.014 0.019
0.009 0.012
0.447 0.046
0.292 0.299
0.050 0.050
0.394 0.419
0.016 0.045
0.004
50
10 0
0.005 0.007
0 0
7 0
0.005 0.012
0.510 0.530
0.005 00
0.510 0.530
0.016 0.063 REF
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
ESD rating (human body model)
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
TBD
°C
°C
°C
KV
Tstg
Tbias
VESD
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-2002 Semtech Corporation
DOC7-DMP-DS-109
10
www.semtech.com
This Page Left Intentionally Blank
Copyright ©1995-2002 Semtech Corporation
DOC7-DMP-DS-109
11
www.semtech.com
For sales information
and product literature,
contact:
Semtech Corporation
Human Interface Device (HID)
and System Management Division
200 Flynn Road
Camarillo, CA 93012-8790
[email protected]
http://www.semtech.com/
(805)498-2111 Telephone
(805)498-3804 Fax
Copyright ©1995-2002 Semtech Corporation. All rights reserved.
Semtech and MouseCoder are registered trademarks of Semtech
Corporation. HulaCoder and HulaPoint are trademarks 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-2002 Semtech Corporation
DOC7-DMP-DS-109
12
www.semtech.com