4www.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.