7
PS/2 Interface
The host driver determines the PS/2 mouse start up
sequence. However, to enable all PS/2 mice, a few stan-
dard commands must be sent. must be sent in order to
enable all PS/2 mice. The mouse is the clock master on
this bus. The host must request the mouse to clock data
into itself.
1. Device Plug-in
When a PS/2 mouse is fi rst connected to the bus, it is
powered and is running the system’s firmware. PS/2
communications generally begin with the host sending
a RESET command to the mouse. The mouse will not
report button, wheel, or movement back to the host until
the ENABLE command is sent. The start-up sequence is
dependant on the operating system the mouse is hooked
up to.
USB Interface
All USB Human Interface Device (HID) class applications
follow the same USB start-up procedure. The procedure
is as follows:
1. Device Plug-in
When a USB device is fi rst connected to the bus, it is
powered and running fi rmware, but communications on
the USB remain non-functional until the host has issued
a USB bus reset.
2. Bus Reset
The pull-up resistor on D– notifi es the hub that a low
speed (1.5 Mbps) device has just been connected. The
host recognizes the presence of a new USB device and
initiates a bus reset to that device.
3. Enumeration
The host initiates SETUP transactions that reveal general
and device specifi c information about the mouse. When
the description is received, the host assigns a new and
unique USB address to the mouse. The mouse begins
to respond, communicating with the newly assigned
address, while the host continues to ask for information
such as the device description, confi guration description
and HID report description. Using the returned informa-
tion from the mouse, the host now knows the number of
data endpoints supported by the mouse (2). At this point,
the process of enumeration is completed.
Note 1:
idVendor should be changed to the value as supplied by
the USB-IF
Note 2:
idProduct should be assigned for specifi c product.
Note 3:
MaxPower value should be changed as per specifi c circuit’s
current draw.
4. Post Enumeration Operation
Once communication between the host and mouse is
established, the mouse now has the task of sending and
receiving data on the control and data endpoints. In this
case, when the host confi gures endpoint 1, the mouse
starts to transmit button and motion data back to the
host when there is data to send. At any time, the periph-
eral may be reset or reconfi gured by the host.
USB Requests – Endpoint 0
Endpoint 0 acts as the control endpoint for the host.
On power-up, endpoint 0 is the default communication
channel for all USB devices. The host initiates Control-
Read and Control-Write (see Chapter 8 of the USB speci-
fi cation) to determine the device type, as well as how
to confi gure communications with the device. In this
particular design, only Control-Read transactions are re-
quired to enumerate a mouse. For a list of valid requests
see Chapter 9 of the USBG specifi cation. In addition to the
standard “Chapter 9” requests, a mouse must also support
all valid HID class requests for a mouse.
USB Requests – Endpoint 1
Endpoint 1 is the data transfer communications channel
for mouse button, wheel, and movement information. Re-
quests to this endpoint are not recognized until the host
confi gures endpoint 1. Once this endpoint is enabled,
then interrupt IN requests are sent from the host to the
mouse to gather mouse data. When the mouse is left idle
(i.e. no movement, no new button click, no wheel move-
ment) the fi rmware will NAK requests to this endpoint.
Data is only reported when there is a status change
within the mouse. Two HID report formats are used in this
design. The boot protocol, as defi ned by the HID specifi -
cation, is the default report protocol that all USB enabled
systems understands. The boot protocol has a three-byte
format, and does not report wheel information. The HID
report descriptor defi nes the report protocol format. This
format is four bytes and is the same as the report format
with the exception of the fourth byte, which is the wheel
information. Appendix F of this document lists the USB
Data Reporting Format.