ChipFind - документация

Электронный компонент: USB100

Скачать:  PDF   ZIP
1
www.fairchildsemi.com
USB100 Programmable Low-Cost USB Machine (PLUM)
USB100 rev.D
USB100
Programmable Low-Cost USB Machine (PLUM)
Single Chip Controller for Mouse, Trackball, Joystick and Gamepad Applications
General Description
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-
vidual needs of the designers. Programming utilities supplied with
this device allow HID manufacturers to easily create the neces-
sary data to be programmed into the device.
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
PRELIMINARY
January 1999
Features
s
USB 1.0 standard compliant
s
Has the necessary on-chip transceivers
s
Support for 2D and 3D mice with 2, 3 or more buttons
s
Supports 3 potentiometer mechanisms for joysticks
s
Up to 16 buttons for digital gamepads
s
Choice of 18-pin and 24-pin packages
s
Choice of 2Kbit and 4Kbit EEPROM densities
Use "A Diagram Number" Style Sheet"
STATE MACHINE
USB
COMMAND
PROCESSOR
(HID)
SERIAL
INTERFACE
ENGINE
X
C
V
R
POWER
EEPROM
TX-FIFO
RX-FIFO
USB CABLE
(D+, D-,
POWER &
GROUND)
UP TO 16 BUTTONS
UP TO 3 ROLLER/
POTENTIOMETER
MECHANISMS
1999 Fairchild Semiconductor Corporation
2
www.fairchildsemi.com
USB100 Programmable Low-Cost USB Machine (PLUM)
USB100 rev.D
Pin Description
Pin
Type
Description
H4
I
Roller/Button/Joystick input.
H3
I
Roller/Button/Joystick input.
O2
I/O
Register output pin / Button input.
OSC1
I
Crystal input number 1.
OSC2
I
Crystal input number 2
B4
I
Button input
Reset
I
Active high reset pin
H1
I
Roller/Button/Joystick input.
H2
I
Roller/Button/Joystick input.
V1
I
Roller/Button/Joystick input.
V2
I
Roller/Button/Joystick input.
GND
I
Ground
B7
I
Button input
B6
I
Button input
B5
I
Button input
VDD
I
Positive power supply
USBD+
O
USB D + line
USBD-
O
USB D line
GND
I
Ground
B8/F
I/O
Button input / LED driver
B1/CS
I
Button input and chip select to internal
EEPROM.*
B2/SK
I
Button input and system clock to internal
EEPROM.*
B3/DI
I
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
Pinout
24 Pin Package
18 Pin 3D Package
OSC1
VDD
OSC2
B6
H4
USBD+
B8/F
USBD-
RESET
GND
H3
B7
H1
B5
H2
B1
V1
B2
V2
B3
O2
B4
GND
O1
OSC2
OSC1
H4
VDD
F
USBD+
RESET
USBD-
H3
GND
H1
B1
H2
B2
V1
B3
V2
O1
3
www.fairchildsemi.com
USB100 Programmable Low-Cost USB Machine (PLUM)
USB100 rev.D
Absolute Maximum Ratings
Ambient Storage Temperatures
-65
C to + 150
C
All Input or Output Voltages with
V
CC
+ 1 to 0.3V
respect to ground
Lead Temperature
+300%
(Soldering, 10 seconds)
ESD Rating
2000V
Operating Conditions
Ambient Operating Temperature
0
C to +70
C
Power Supply (V
CC
) Range
4.4V to 5.5V
DC and AC Electrical Characteristics 4.4V
V
CC
5.5V
Symbol
Parameter
Conditions
Min
Max
Units
I
CCA
Operating Current
USB interface in active mode
40
mA
I
CCS
Standby Current
USB interface in suspend
500
A
V
IL
Input Low Voltage
0.8
V
V
IH
Input High Voltage
2
V
V
OL
Output Low Voltage
0.4
V
V
OH
Output High Voltage
2.4
V
I
IL
Input Leakage Current
2.5
A
I
OL
Output Leakage Current
2.5
A
F
SK
SK Clock Frequency
Note 3
0
1
MHz
T
SKH
SK High Time
250
ns
T
SKL
SK Low Time
250
ns
T
CS
Minimum CS Low Time
Note 4
250
ns
T
CSS
CS Setup Time
50
ns
T
DH
DO Hold Time
70
ns
T
DIS
DI Setup Time
100
ns
T
CSH
CS Hold Time
0
ns
T
DIH
DI Hold Time
20
ns
T
PD1
Output Delay to "1"
500
ns
T
PD0
Output Delay to "0"
500
ns
T
SY
CS to Status Valid
500
ns
T
DF
CS to DO in TRI-STATE
100
ns
T
WP
Write Cycle Time
10
ms
AC Test Conditions
Output Load
1 TTL Gate
Input Pulse Levels
0.4V and 2.4V
Timing Measurements Reference Level
Input
1V and 2V
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/f
SK
(as shown under the f
SK
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 t
SKH
and t
SKL
limits must be observed. Therefore, it is not allowable to set 1/f
SK
= t
SKH
(minimum) +
t
SKL
(minimum) for shorter SK cycle time operation.
Note 3: CS (Chip Select) must be brought low (to V
IL
) for an interval of t
CS
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.)
4
www.fairchildsemi.com
USB100 Programmable Low-Cost USB Machine (PLUM)
USB100 rev.D
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
internal pull-ups and debounce circuitry which can be programmed
using the ICB registers. These inputs also contain current sink
features so no external resistor is needed to sink current from the
photo diode.
B1, B2, B3, B4, B5, B6, B7, B8/F (Button inputs)
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.
Key Debounce Select Table (ICB register3[3:2])
KD[1:0]
00
15 ms
01
30 ms
10
45 ms
11
60 ms
USBD -, USBD +
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.
Reset
This pin is used to reset the entire chip. It must be held high for
more than 10ns, to reset the chip and then brought low for the reset
of normal chip operation.
O1, O2
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
can also be configured as standard button inputs by one of the ICB
registers.
O1, O2 Functionality. ICB register 1[3:2]
IOM[1:0]
Function
00
Both O1 and O2 function as programmable
outputs.
01
O1 is a programmable output but O2 is a
standard button input.
11
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. A typical use of these outputs is using them to drive LEDs
(for example, a drag-lock function in a trackball). These pins have
a programmable current sink capability.
B8/F
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
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.
OSC1, OSC2
These two pins are the clock inputs into the USB100. The speed
at which the chip runs at is 6MHz. The clock sign can be generated
two ways. The first is to use a parallel resonant, fundamental mode
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
USB modes of operation
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
responds correctly to the various commands described in the USB
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.
USB100
F
VDD
5
www.fairchildsemi.com
USB100 Programmable Low-Cost USB Machine (PLUM)
USB100 rev.D
Standard Requests
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.. In this mode, these inputs behave as a conventional Microwire
serial port. Data can be easily programmed and verified, by
executing simple EEPROM programming commands.
Initial Configuration Bytes (ICB) register
description
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.
Roller Configuration Byte (Address 0)
D7
D6
D5
D4
D3
D2
D1
D0
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.
11: All the three pairs of roller inputs function as roller inputs.
It must be noted that the reassignment of the rollers must be done
only as follows: If the application needs to use only one roller 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.
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.
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.
IS[3:0]
Current
0000
0.1 mA
0001
0.2 mA
0010
0.3 mA
0011
0.4 mA
0100
0.5 mA
0101
0.6 mA
0110
0.7 mA
0111
0.8 mA
1000
0.9mA
1001
1.0mA
Input Pin Configuration Byte 0 (ICB0) (Address 1)
D7
D6
D5
D4
D3
D2
D1
D0
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.
00000000
00000001
00000011
00000111
00001111
00011111
00111111
01111111
11111111
Input Pin Configuration Byte 1 (ICB1) (Address 2)
D7
D6
D5
D4
D3
D2
D1
D0
IO1
IO0
EB5
EB4
EB3
EB2
EB1
EB0
EB[5:0]: Input Pin Report Generator, Extended byte. The func-
tionality of this register is influenced by the roller configuration
byte. A `1' causes this bit to be reported in the corresponding report
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.
00000000
00000001
00000011
00000111
00001111
00011111
00111111