Previous Topic

Next Topic

Book Contents

Book Index

Technology Overview

Overview

Universal Serial Bus (USB) is an industry standard developed in the mid-1990s that defines the cables, connectors and communication protocols used in a bus for connection, communication and power supply between various types of computers and peripheral electronic devices connected to them. The main design goal of USB was to join all ports into a common interface that allows plugging devices to a host in operational mode, as well as automatic configuration of these devices. Some of the outstanding advantages of USB are:

In order to employ the USB technology, you need a USB-compliant personal computer and USB peripheral devices.

USB employs a cable bus to exchange data between a host and a range of devices. All appliances share a common bandwidth that is scheduled by the host machine using token-based communication. USB outlines three parts in its communication chain: USB devices, USB host, and USB interconnect.

USB Devices

There are two types of USB devices: hubs and function devices. Hubs have several USB ports and allow you to attach multiple devices to the system using only one physical system port. Hub USB devices dispatch the outgoing traffic among the subordinate devices and concentrate the incoming data from them. Function devices are peripherals, and they add a certain functionality to the system.

Each hub holds an attachment indicator that the host periodically examines. If a new device is attached to the bus, the host enumerates it with a unique address composed of seven bits. While enumerated, the device announces its configuration to the host by identifying its accessible routes in the USB structure. Each route adds another address (endpoint) made of four bits. Finally, the host creates a pipe using the unique address together with an endpoint, and in this way it establishes a direct logical connection to the device.

An USB device is built functionally of three layers: bus interface for transmitting and receiving packets; logical device for handling data between the bus interface and the endpoints; and function that delivers the particular functionality of the device, f.e. the one of a mouse. Devices report information about their state and features using descriptors.

USB Host

An USB host contains three levels: host controller that receives and sends packets, and implements the specific functions of the host; system software that manages interaction between the host and the devices; and client software provides view to the USB processes and devices. The part that connects the client and system software, is the USB driver. The USB Driver Bundle implements it, and therefore offers means for building client programs for USB device management.

USB Interconnect

The USB interconnect has tiered-star topology. Generally, USB terms five tiers so that up to 127 devices can be simultaneously bound. The foundation of this architecture is the host (a PC or an embedded board) that holds the root USB hub. The root hub is the parent of all underlying appliances. Each star is centered by a hub that links the functions and hubs of the next level.


Although USB exposes a tiered physical structure, the logical connection is point-to-point. The host establishes independent communication channels (pipes) between the software running on the computer and the individual ports for data or controlling signals. The client software on the host views a device as a collection of endpoints and transfers data through the pipes.