USB100 [FAIRCHILD]
Programmable Low-Cost USB Machine (PLUM); 可编程的低成本USB设备( PLUM )型号: | USB100 |
厂家: | FAIRCHILD SEMICONDUCTOR |
描述: | Programmable Low-Cost USB Machine (PLUM) |
文件: | 总8页 (文件大小:45K) |
中文: | 中文翻译 | 下载: | 下载PDF数据表文档文件 |
PRELIMINARY
January 1999
USB100
Programmable Low-Cost USB Machine (PLUM)
Single Chip Controller for Mouse, Trackball, Joystick and Gamepad Applications
General Description
Features
The USB100 is a Low cost, fully customizable controller for USB
HID-class pointing devices. It is in full compliance with REV 1.0
of the USB standard and implements the HID class specification
for mice, trackballs, joysticks and gamepads. This device inter-
prets the commands specified in the HID class document and
provides appropriate responses from an On-Chip EEPROM. It
also provides ability to customize the device according to indi-
vidualneedsofthedesigners. Programmingutilitiessuppliedwith
this device allow HID manufacturers to easily create the neces-
sary data to be programmed into the device.
■ USB 1.0 standard compliant
■ Has the necessary on-chip transceivers
■ Support for 2D and 3D mice with 2, 3 or more buttons
■ Supports 3 potentiometer mechanisms for joysticks
■ Up to 16 buttons for digital gamepads
■ Choice of 18-pin and 24-pin packages
■ Choice of 2Kbit and 4Kbit EEPROM densities
The device includes the necessary transceiver for USB operation
and meets all of the active and standby current specifications for
a bus-powered device.
Block Diagram
POWER
USB
X
SERIAL
INTERFACE
ENGINE
TX-FIFO
RX-FIFO
COMMAND
PROCESSOR
(HID)
C
V
R
USB CABLE
(D+, D-,
POWER &
GROUND)
STATE MACHINE
UP TO 3 ROLLER/
EEPROM
POTENTIOMETER
MECHANISMS
UP TO 16 BUTTONS
Use "A Diagram Number" Style Sheet"
1
USB100 rev.D
© 1999 Fairchild Semiconductor Corporation
www.fairchildsemi.com
Pinout
24 Pin Package
18 Pin 3D Package
OSC2
OSC1
VDD
USBD+
USBD-
GND
B1
OSC1
OSC2
H4
B8/F
RESET
H3
VDD
B6
USBD+
USBD-
GND
B7
H4
F
RESET
H3
H1
H2
B2
H1
B5
V1
B3
H2
B1
V2
O1
V1
B2
V2
B3
O2
B4
GND
O1
Pin Description
Pin
H4
Type
Description
Roller/Button/Joystick input.
Roller/Button/Joystick input.
Register output pin / Button input.
Crystal input number 1.
Crystal input number 2
Button input
I
H3
I
O2
I/O
OSC1
OSC2
B4
I
I
I
Reset
H1
I
Active high reset pin
Roller/Button/Joystick input.
Roller/Button/Joystick input.
Roller/Button/Joystick input.
Roller/Button/Joystick input.
Ground
I
H2
I
V1
I
V2
I
GND
B7
I
I
I
Button input
B6
Button input
B5
I
Button input
VDD
USBD+
USBD-
GND
B8/F
B1/CS
I
Positive power supply
USB D + line
O
O
I
USB D – line
Ground
I/O
I
Button input / LED driver
Button input and chip select to internal
EEPROM.*
B2/SK
B3/DI
I
I
Button input and system clock to internal
EEPROM.*
Button input and data in to internal
EEPROM.*
O1/DO
O
Button input and data out to read from
internal EEPROM.*
* See Programming internal EEPROM section
2
USB100 rev.D
www.fairchildsemi.com
Absolute Maximum Ratings
Ambient Storage Temperatures
Operating Conditions
Ambient Operating Temperature
Power Supply (VCC) Range
-65°C to + 150°C
0°C to +70°C
All Input or Output Voltages with
respect to ground
VCC + 1 to – 0.3V
4.4V to 5.5V
Lead Temperature
+300%
2000V
(Soldering, 10 seconds)
ESD Rating
DC and AC Electrical Characteristics 4.4V ≤ VCC ≤ 5.5V
Symbol
ICCA
ICCS
VIL
Parameter
Conditions
Min
Max
40
Units
mA
µA
V
Operating Current
USB interface in active mode
USB interface in suspend
Standby Current
500
0.8
Input Low Voltage
Input High Voltage
Output Low Voltage
Output High Voltage
Input Leakage Current
Output Leakage Current
SK Clock Frequency
SK High Time
VIH
2
V
VOL
0.4
V
VOH
IIL
2.4
V
2.5
2.5
1
µA
µA
MHz
ns
IOL
FSK
Note 3
Note 4
0
TSKH
TSKL
TCS
250
250
250
50
SK Low Time
ns
Minimum CS Low Time
CS Setup Time
ns
TCSS
TDH
ns
DO Hold Time
70
ns
TDIS
TCSH
TDIH
TPD1
TPD0
TSY
DI Setup Time
100
0
ns
CS Hold Time
ns
DI Hold Time
20
ns
Output Delay to “1”
Output Delay to “0”
CS to Status Valid
CS to DO in TRI-STATE
Write Cycle Time
500
500
500
100
10
ns
ns
ns
TDF
ns
TWP
ms
AC Test Conditions
Output Load
Timing Measurements Reference Level
1 TTL Gate
Input
1V and 2V
Input Pulse Levels
0.4V and 2.4V
Output
0.8V and 2.0V
Note 1: Stress ratings above those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. This is a stress rating only and operation of the
device at these or any other conditions above those indicated in the operational sections of the specification is not implied. Exposure to absolute maximum rating conditions for
extended periods may affect device reliability.
Note 2: The shortest allowable S clock period = 1/fSK (as shown under the fSK parameter). Maximum SK clock speed (minimum SK period) is determined by the interaction of
several AC parameters stated in the datasheet. Within this SK period, both tSKH and tSKL limits must be observed. Therefore, it is not allowable to set 1/fSK = tSKH(minimum) +
t
SKL(minimum) for shorter SK cycle time operation.
Note 3: CS (Chip Select) must be brought low (to VIL) for an interval of tCS in order to reset all internal device registers (device reset) prior to beginning another opcode cycle.
(This is shown in the opcode diagrams in the following pages.)
3
USB100 rev.D
www.fairchildsemi.com
O1, O2 Functionality. ICB register 1[3:2]
IOM[1:0] Function
Interface Pin Descriptions
H1, H2, H3, H4, V1, V2 (Roller/Joystick inputs)
When configured as roller inputs these pins function in pairs, H1
and H2, H3 and H4, V1 and V2 to allow photo diodes to be
attached in a mouse or trackball application. See the section
“Roller Movement Reporting” for a more detailed description.
When configured for a joystick only one of the inputs pairs is used.
A potentiometer is attached to track the movements of a joystick
lever. When these inputs are configured as buttons they all act
independently as active low button inputs. All of them have
internalpull-upsanddebouncecircuitrywhichcanbeprogrammed
using the ICB registers. These inputs also contain current sink
features so no external resistor is needed to sink current from the
photo diode.
00
01
11
Both O1 and O2 function as programmable
outputs.
O1 is a programmable output but O2 is a
standard button input.
Both O1 and O2 are standard inputs.
In case these are selected as outputs, their state (1 or 0) can be
set using the USB set_report command. These outputs are open-
collector.AtypicaluseoftheseoutputsisusingthemtodriveLEDs
(for example, a drag-lock function in a trackball). These pins have
a programmable current sink capability.
B1, B2, B3, B4, B5, B6, B7, B8/F (Button inputs)
B8/F
The button inputs to the USB100 have internal pull up resistors,
with active low inputs to the chip. These inputs also contain
debounce circuitry which can be programmed by the ICB regis-
ters.
When this pin is configured as an input it will behave as a standard
button input. But if the pin is disabled in the ICB registers then this
pin can be used to control the roller LEDS in powersave mode.
Using the B8/F pin to control the LEDs
Key Debounce Select Table (ICB register3[3:2])
KD[1:0]
VDD
00
01
10
11
15 ms
30 ms
45 ms
60 ms
USB100
F
USBD -, USBD +
This allows the LEDs to be shut off during powersave mode which
allows the USB100 to draw very little current. The official name for
powersave mode on a USB device is known as suspend mode
which is discussed in the section labeled Suspend Mode Opera-
tion.
These inputs are the serial bus lines which USB data is commu-
nicated. These bi – directional lines connect to the host, through
a USB type A or type B connector, and are used to communicate
all USB information to and from the host. The two lines must both
be wired through a 27 ohm resistor before being attached to the
USB connector. See Recommended Configuration for a detailed
diagram.
OSC1, OSC2
These two pins are the clock inputs into the USB100. The speed
atwhichthechiprunsatis6MHz. Theclocksigncanbegenerated
twoways.Thefirstistouseaparallelresonant,fundamentalmode
crystal circuit or a ceramic resonator circuit connected to the
OSC1 and OSC2 inputs. The other method is to use a crystal
oscillator connected to the OSC2 input and leaving the OSC1
input unconnected
Reset
This pin is used to reset the entire chip. It must be held high for
morethan10ns,toresetthechipandthenbroughtlowforthereset
of normal chip operation.
O1, O2
USB modes of operation
These two pins are wired to internal registers which can be
programmed with either a “1” or a “0” by a USB request. If this
command is sent to the USB100. INSERT COMMAND FROM
INSPECTOR. Then the O1 and O2 pins will be programmed with
the values that are in the second data package. These two pins
canalsobeconfiguredasstandardbuttoninputsbyoneoftheICB
registers.
The USB100 loads up its configuration from the EEPROM on
power-on reset, or when a USB reset command is issued. Upon
completion of reset, the device is in a operational mode, and
respondscorrectlytothevariouscommandsdescribedintheUSB
spec rev 1.0. The USB100 supports two endpoints – the default
endpoint (endpoint 0) and the interrupt endpoint (endpoint 1). The
supported packet size on both endpoints is 8 bytes. The endpoint
1 is an “IN” endpoint.
4
USB100 rev.D
www.fairchildsemi.com
Standard Requests
IS[3:0]
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
Current
0.1 mA
0.2 mA
0.3 mA
0.4 mA
0.5 mA
0.6 mA
0.7 mA
0.8 mA
0.9mA
The USB100 supports all of the required standard requests.
These requests are sent to the device using control transfers to
endpoint 0.
In USB terminology, the data transmitted by the mouse when
movement is detected is called a report. The reports are gener-
ated by the USB100 device in accordance to the USB HID spec
1.0 Final.
Programming the EEPROM
The on-chip EEPROM can be programmed in a special mode
which defines some of the button inputs/output as a microwire
port..Inthismode,theseinputsbehaveasaconventionalMicrowire
serial port. Data can be easily programmed and verified, by
executing simple EEPROM programming commands.
1.0mA
Initial Configuration Bytes (ICB) register
description
InputPinConfigurationByte0(ICB0)(Address1)
D7
D6 D5 D4
D3 D2 D1
D0
The first five bytes in the EEPROM are used to configure the
physical characteristics of the USB100 device, and are called the
Initial configuration Byte registers. Some of the bits in these
registers are reserved, and are referred to as RFU (reserved for
future use) in the following section.
B8
B7
B6
B5
B4
B3
B2
B1
B[7:0]: Input Pin Report Generator. A ‘1’ causes this bit to be
reported in the corresponding report generated when the device
is polled for the status. The device accepts only the following bit
patterns as valid. B[7:0] control the functionality for pin inputs
B[8:1] respectively.
Roller Configuration Byte (Address 0)
D7
D6 D5 D4
D3 D2 D1
D0
00000000
00000001
00000011
00000111
00001111
00011111
00111111
01111111
11111111
IS3
IS2
IS1
IS0
IOM1 IOM0
R1
R0
R[1:0]: No of roller pairs. This pair of bits configure the function-
ality of the three roller pair inputs – <H1, H2>, <V1,V2> and <H3,
H4>.
00: No rollers on this device, all roller inputs are available as
general purpose inputs
01: H1, H2 are the only roller mechanism active. The other
roller inputs are available as general purpose inputs.
10: H1, H2 and V1 and V2 are defined as roller mechanism
pairs. The other pair is still available as general purpose
inputs.
InputPinConfigurationByte1(ICB1)(Address2)
D7
D6 D5 D4
D3 D2 D1
D0
11: All the three pairs of roller inputs function as roller inputs.
IO1
IO0
EB5 EB4
EB3 EB2 EB1
EB0
It must be noted that the reassignment of the rollers must be done
onlyasfollows:Iftheapplicationneedstouseonlyoneroller–use
H1 and H2. Two rollers – use H1, H2 and V1, V2, Three rollers –
use H1, H2, V1, V2 and H3, H4. Any other choice for roller use is
illegal and results in unpredictable device behavior.
EB[5:0]: Input Pin Report Generator, Extended byte. The func-
tionality of this register is influenced by the roller configuration
byte.A‘1’causesthisbittobereportedinthecorrespondingreport
generated when the device is polled for the status. EB0 corre-
sponds to H3 and EB1 corresponds to H4. EB2 corresponds to V1
and EB3 corresponds to V2. EB4 corresponds to H1 and EB5
corresponds to H2.
IOM[1:0]: I/O functionality of the O0 and O1 pins. When IOM0 is
set to ‘0’, the O0 bit functions as an output. When set to ‘1’ it
becomes an input. . When IOM1 is set to ‘0’, the O1 bit functions
as an output. When set to ‘1’ it becomes an input. The only valid
combinations for these bits are 00, 01 and 11 respectively.
00000000
00000001
00000011
00000111
00001111
00011111
00111111
IS[3:0]: This 4-bit value is to set the amount of current that an
external device can sink into the H1, H2, V1, V2 and H3 and H4
inputs When these bits are set to 0000 the current sink is set to 0.1
mA on each of the inputs. In can be varied in steps of 0.1mA up
to a max of 1 mA.
5
USB100 rev.D
www.fairchildsemi.com
RFU: Reserved for future use, must be set to 0.
Descriptor Setup
IO[1:0]: When the IO pins are reconfigured as inputs, a ‘1’ in the
correspondingbitpositionwillcausetheinputtobeincludedinthe
report generator.
The EEPROM stores a Descriptor Description Table (DDT) fol-
lowed by the actual descriptors (DES). The DDT begins at byte
address 8 in the EEPROM. It consists of 14 Words. Each Word
consists of two bytes – The first byte is a byte indicating the type
of descriptor (these byte values are indicated in the USB specifi-
cation). Thesecondbyteisanaddress. Thisaddressindicatesthe
first byte of this descriptor in the EEPROM. An unimplemented
descriptor table entry begins with a 00. The following table shows
a possible configuration.
Application Configuration Byte (Address 3)
D7
D6 D5 D4
D3 D2 D1
D0
FIS3
FIS2 FIS1 FIS0
KD1 KD0
F1
F0
F[1:0]: Function Select. Selects between the following
Address Map
00 : Mouse operation
01: RFU
Memory AddressRange
Data type
Descriptor Description Table
Device Descriptor
10: Joystick Operation.
11: Digital Gamepad operation
KD[1:0]: Key Debounce Select:
08-35
36-53
54-62
63-71
72-78
79-86
87-118
Config Descriptor
00: 15 Ms
01: 30 Ms
10: 45 Ms
11: 60 Ms
Interface Descriptor
Mouse HID Class Descriptor
Endpoint Descriptor
String Descriptor
FIS[3:0]: These bits select the amount of current that the ‘F’ pin
can sink, in 1 mA increments. When FIS[3:0] = “0000” The current
sink is set at 2 mA. Incrementing this count by 1 will cause the
current to be increased by 1mA The maximum value is 10 mA.
DescriptorDescriptionTable(foraboveexample)
Address
Descriptor type
Memory Offset
Remote Resume Config Byte (Address 4)
08
10
12
14
16
18
20
22
24
26
28
30
32
34
Device
Config
Interface
Mouse-HID
Endpoint
String
00
36
54
63
72
78
87
00
00
00
00
00
00
00
00
D7
D6 D5 D4
D3 D2 D1
D0
RFU
RFU RFU RFU
RRES RRES RRES RRES
_EN
2
1
0
RRES_EN: Remote_resume enable. This bit, when set, enables
remote resume operation.
RRES[2:0]: Duration Select. When the device has entered in
suspend mode, these bits select the duration after which an
internal “momentary wakeup” is done to check whether there has
been any movement on the rollers in the mouse mode or the
potentiometers in the joystick mode. The RRES_EN bit must be
set to 1 to enable this feature.
00
00
00
000: 15 ms
001: 30 ms
010: 45 ms
011: 60 ms
100: 75 ms
101: 90 ms
110: 105 ms
00
00
00
00
Roller Movement Reporting
The roller mechanism built on the USB100 is capable of interfac-
ing either to a LED-chopper wheel-Phototransistor system or a
mechanical system using a commutator with wiper contacts.
111: Reserved for future use (do not use this combination,
unpredictable operation could result)
6
USB100 rev.D
www.fairchildsemi.com
H1 or V1 or H3
H2 or V2 or H4
Negative Counting
H1 or V1 or H3
H2 or V2 or H4
Positive Counting
v
Q1
USB100
D1
D2
Q2
H1
H2
F
Schematic 1: Roller Mode of Operation
When the Roller configuration register is used to define an input
pair as roller inputs, the corresponding roller movement reporting
is enabled. In this case, internally, the roller wheel pulses are
counted and registered into an 8 bit register. One register is
available per input pair. A total of three rollers movement registers
(RMRs) are available, corresponding to the three roller mecha-
nisms available. On all the input pairs (H1, H2 or V1, V2 or H3, H4)
the positive counting sequence is defined as (0,0), (0,1), (1,1) and
(0,0) and the same sequence repeating over again. Negative
counting sequence is defined as (0,0), (1,0), (1,1) and (0,1) and
thesamesequencerepeatingagain.Eachoftheabovetransitions
will result in the counter incrementing or decrementing by one
depending on whether the rollers are moving in the positive or
negativedirection.EachtimeanINqueryissentonendpoint1,the
counter contents are transferred to a temporary holding register
and queued for transmission on the USB. When an ACK is
received for the current transaction, the counter is cleared.
Hardware Features
Roller / Potentiometer Interface
One of the key differences between the mouse and joystick
hardware implementation is that themouse uses optical encoding
v
P1
USB100
P2
H1
V1
Schematic 2 : Potentiometer Mode of
Operation for Joystick
7
USB100 rev.D
www.fairchildsemi.com
andarollerwheeltodetectmousemovement. Incontrast, joystick
usesapotentiometertodetectangularmotion.Thefunctionselect
bits [F1:0] allow the designer
Suspend mode operation
When the PLUM device determines that the necessary conditions
(laid down in the USB standard), it goes into the suspend mode.
It wakes up on USB bus activity, or when any of the buttons are
depressed. There exists an internal timer, whose timing operation
could be selected via bits 3 through 0 in ICB register 5. The PLUM
device wakes up on the expiration of the timer. It senses the roller/
potentiometerinterfacetodetermineiftheseinputshavechanged
since the last poll. It does a remote wakeup, when such a
movement has occurred.
to set the bits. In a mouse mode, the H1, H2, V1,V2 and H3 & H4
inputsareselectedfortherollermechanismdecode.Inthejoystick
mode, it selects the potentiometer interface. The state machine
uses a different algorithm for interpreting the inputs to the chip.
This function selection also affects the format of the report that is
generated.The roller mode is shown in schematic 1 and the
potentiometer mode is shown in schematic 2.
In case of the roller mode of operation (mouse/trackball), the
transitionsontheHxandVxpairsareusedinthecountingprocess
to generate a digital estimate of the motion of the ball. In the
joystick mode of operation, the RC timing constant changes the
width of an internal digital pulse whose width is measured and
reported back. All of the buttons feature an internal pullup. The
actual switches used is a push button switch with one terminal
connected to a button input and the second terminal connected to
ground.
Remote Wakeup Support
This device supports the remote wakeup feature. This is indicated
to the host via the corresponding descriptor. Internally, the state
machine uses the values of the RRES_EN and RRES[2:0] bits in
theRemoteResumeconfigurationbytetoenablethisfeature, and
the amount of time between the “polls” to the roller/potentiometer
ports to determine whether the necessary conditions for wakeup
have been met.
Crystal / Crystal Oscillator combination
OSC1
OSC2
The above configuration is the recommended configuration for
use with a crystal or a ceramic resonator. The capacitors are
optional and if used, must be in the 10-30pf range. The resistor is
necessary and its value is 1MΩ. A metal-can oscillator may be
used too. In this case, the output of the oscillator must be
connected to OSC1 and OSC2 must be left unconnected.
Life Support Policy
Fairchild's products are not authorized for use as critical components in life support devices or systems without the express written
approval of the President of Fairchild Semiconductor Corporation. As used herein:
1. Life support devices or systems are devices or systems which,
(a)areintendedforsurgicalimplantintothebody,or(b)support
or sustain life, and whose failure to perform, when properly
used in accordance with instructions for use provided in the
labeling, can be reasonably expected to result in a significant
injury to the user.
2. A critical component is any component of a life support device
or system whose failure to perform can be reasonably ex-
pected to cause the failure of the life support device or system,
or to affect its safety or effectiveness.
Fairchild Semiconductor
Americas
Fairchild Semiconductor
Europe
Fairchild Semiconductor
Hong Kong
Fairchild Semiconductor
Japan Ltd.
Customer Response Center
Tel. 1-888-522-5372
Fax:
Tel:
Tel:
Tel:
Tel:
+44 (0) 1793-856858
8/F, Room 808, Empire Centre
68 Mody Road, Tsimshatsui East
Kowloon. Hong Kong
Tel; +852-2722-8338
Fax: +852-2722-8383
4F, Natsume Bldg.
Deutsch
English
Français
Italiano
+49 (0) 8141-6102-0
+44 (0) 1793-856856
+33 (0) 1-6930-3696
+39 (0) 2-249111-1
2-18-6, Yushima, Bunkyo-ku
Tokyo, 113-0034 Japan
Tel: 81-3-3818-8840
Fax: 81-3-3818-8841
Fairchild does not assume any responsibility for use of any circuitry described, no circuit patent licenses are implied and Fairchild reserves the right at any time without notice to change said circuitry and specifications.
8
USB100 rev.D
www.fairchildsemi.com
相关型号:
USB10HD87Z
Small Signal Field-Effect Transistor, 1.9A I(D), 20V, 2-Element, P-Channel, Silicon, Metal-oxide Semiconductor FET, SUPERSOT-6
FAIRCHILD
©2020 ICPDF网 联系我们和版权申明