Apparatus and method for initializing a universal serial bus...

Electrical computers and digital data processing systems: input/ – Intrasystem connection – System configuring

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S009000

Reexamination Certificate

active

06415343

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This apparatus and method relates to initializing a Universal Serial Bus device and, in particular, to assigning a unique functional address to a Universal Serial Bus device.
2. Description of the Related Art
Universal Serial Bus (USB) is a standard peripheral interface for attaching personal computers to a wide variety of devices: e.g., digital telephone lines, monitors, modems, mice, printers, scanners, game controllers, keyboards, and other peripherals. A USB thus replaces existing interfaces such as the RS-232C serial ports, parallel ports, PS/2 interface and game/MIDI ports.
In accordance with USB, all attached devices connect to a personal computer through a single connector type using a tiered-star topology. A host personal computer includes a single USB controller. The host controller provides the interface between the USB network and the host personal computer. The host controller controls all accesses to USB resources and monitors the-bus topology. A USB hub provides USB attachment points for USB devices.
An example of the tiered-star topology of a USB network is shown in FIG.
1
. Host PC 100 is a typical personal computer having a USB port connection via host controller
102
. Host controller
102
connects directly to hub
110
. Compound device
120
, hub
130
, and device
140
connect to the host controller
102
through hub
110
. Devices
132
and
134
connect to the host controller
102
through hub
130
and through hub
110
.
Compound device
120
includes devices
124
,
126
and hub
122
. Hub
122
of compound device
120
connects to the host controller through hub
110
. Devices
124
and
126
of compound device
120
connect to the host controller
102
through hub
122
and through hub
110
. A practical example of a compound device would be an integrated printer and fax. The printer could be device
124
, and the fax could be device
126
.
The tiered-star topography illustrated in
FIG. 1
allows data to be transmitted into and out of the host PC 100 to the various devices. When data is transmitted from the host to a device it is transmitted downstream through the interconnecting hubs. When data is transmitted from a device to the host it is transmitted upstream through the interconnecting hubs.
USB hubs and devices may be connected and disconnected without completely re-starting the USB network. Upon connection of a device or hub to an upstream hub the upstream hub will notify the host controller of a change in status. Following USB protocol, the host controller will enable the port of the hub to which the device is connected. The host controller will then assign a unique functional address to each device. Ports are enabled one at a time as the host controller
102
assigns unique functional addresses. Upon connection of a compound device, the host controller assigns a unique functional address to each device contained within the compound device. Returning to
FIG. 1
, devices
124
,
126
,
132
,
134
, and
140
in addition to hubs
110
,
122
, and
130
will each be assigned a unique functional address upon attachment to the USB network.
Devices
124
,
126
,
132
,
134
, and
140
in addition to hubs
110
,
122
, and
130
will each respond to a default address of
00
h until they are assigned the unique functional address. Each of the devices include registers which may be read by the host controller. The registers include a default (DEF) bit, a functional address enable (AE) bit, and a functional address register (FAR). The default bit indicates whether the device will respond to the default address. If it is set, the device will respond to the default address, if it is cleared it will not. The functional address enable bit indicates whether the device will respond to the address stored in the functional address register. If it is set, the device will respond to the address stored in the functional address register, if it is cleared it will not.
All of the devices
124
,
126
,
132
,
134
, and
140
attach to the host controller
102
through at least one hub. Each hub has one upstream port and at least one downstream port. Upon attachment or removal of a device on a downstream port, a hub will notify the host controller of a change in status. The host controller then queries the hub to determine the change in status on the hub's ports.
Upon attachment of a device to one of a hub's downstream ports, the above procedure is followed to notify the host controller of the attachment of a new device. A hub's downstream ports are by default disabled until the host controller enables them. Consequently, the host controller will enable the port.
Upon removal of a device from one of a hub's downstream ports, the hub automatically disables the appropriate port and notifies the host of the change. The host controller updates the topography status to reflect the change.
The process of activating a newly attached device will now be described in greater detail. When a device is attached to a downstream port of a hub, the hub will notify the host controller of the change in status via a status change pipe. The host controller queries the hub to determine which of the downstream ports have experienced a connection. The host controller then issues a port enable and reset command to the appropriate port. The enable command enables the port and provides power to the device. The reset command resets all of the devices registers and state information. The device will respond to a default address and is accessible over a default pipe. The host controller then reads a device descriptor to determine the characteristics of the default pipe. The host then assigns a unique functional address to the device thereby moving the device to the addressed state. The host then reads the configuration information from the device, and writes a configuration value to the device. This moves the device to the configured state.
The transaction for assigning a unique functional address during the above described activation process will now be described in greater detail. These transactions are first described generally, then are described as applied to assigning a unique functional address.
The USB specification defines a control transfer protocol for use in configuring a device. A control transfer is composed of a setup transaction which moves request information from the host to the device, optional data transactions which send data in the direction indicated by the setup transaction, and a status transaction which returns status information from the device to the host.
The occurrence of an IN or OUT data transaction in the control transaction provide three possible transaction sequences: a control write sequence, a control read sequence, and a control no-data sequence. Each of these will now be described in greater detail.
Turning to
FIG. 4A
, a control write sequence is shown. The control write sequence includes three stages: a setup stage, a data stage and a status stage. The setup stage consists of a SETUP transaction
410
having a DATA
0
PID. The SETUP transaction
410
specifies that an OUT data stage will follow. The data stage consists of an OUT transaction
412
having a DATA
1
PID. The OUT transaction
412
is followed by an OUT transaction
414
having a DATA
0
PID. This transaction is followed by as many transactions as are required to transmit the necessary data from the host. This will depend both upon the size of the data in the host and the size of the transmitted packets. The DATA PID alternates between 1 and 0 for the OUT transactions used in the data stage. The final OUT transaction
416
ends the data stage. The status stage consists of a single IN transaction
418
having a DATA
1
PID.
Turning to
FIG. 4B
, a control read sequence is shown. The control data IN sequence includes three stages: a setup stage, a data stage and a status stage. The setup stage consists of a SETUP transaction
420
having a DATA
0
PID. The SETUP transaction
420
specifies that an IN data stage will

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Apparatus and method for initializing a universal serial bus... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Apparatus and method for initializing a universal serial bus..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Apparatus and method for initializing a universal serial bus... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2863863

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.