Information Technology Reference
In-Depth Information
UHCI (universal host controller interface) . This method defines how the USB control-
ler talks to the host computer and its operating system. It is optimised to minimise host
computer design complexity and uses the host CPU to control the USB bus. Its main fea-
tures are:
Simple design reduces the transistor count required to implement the USB inter-
face on the host computer, thus reducing system cost.
Assurance of full compatibility with all USB devices.
The PCI bridge device (PIIX3/PIIX4) contains a USB host controller (HC) with a root hub
with two USB ports. This allows two USB peripheral devices to directly communicate with
the PCI bridge without an external hub. When more than two USB devices require to be con-
nected then an external hub can be added. The USB's PCI configuration registers are located
in the PCI configuration space.
The host controller uses the UHCI standard and thus uses UHCI standard software driv-
ers. It basically consists of two parts:
Host controller driver (HCD) . This is the software that manages the host controller
operation and is responsible for scheduling the traffic on USB by posting and maintain-
ing transactions in system memory. It interprets requests from the USBD and builds
frame list, transfer descriptor, queue head, and data buffer data structures for the host
controller. These data structures are built in system memory and contain all necessary
information to provide end-to-end communication between client software in the host
and devices on the USB. The host controller moves data between system memory and
devices on the USB by processing these data structures and generating the transaction
on USB. The host controller executes the schedule lists generated by HCD and reports
the status of transactions on the USB to HCD. Command execution includes generating
serial bus token and data packets based on the command and initiating transmission on
USB. For commands that require the Host Controller to receive data from the USB de-
vice, the host controller receives the data and then transfers it to the system memory
pointed to by the command. The UHCI's HCD provides sufficient commands and data
to keep ahead of the host controller execution and analyses the results as the commands
are completed.
Host controller (HC) . The host controller interfaces to the USB system software in the
host via the HCD.
Attachment of USB devices
All USB devices attach to the USB via a port on specialised USB devices known as hubs.
Hubs indicate the attachment or removal of a USB device in its per port status. The host que-
ries the hub to determine the reason for the notification. The hub responds by identifying the
port used to attach the USB device. The host enables the port and addresses the USB device
with a control pipe using the USB Default Address. All USB devices are addressed using the
USB Default Address when initially connected or after they have been reset. The host deter-
mines if the newly attached USB device is a hub or a function and assigns a unique USB
address to the USB device. The host establishes a control pipe for the USB device using the
assigned USB address and endpoint number zero. If the attached USB device is a hub and
USB devices are attached to its ports, then the above procedure is followed for each of the
Search WWH ::




Custom Search