Chapter 3. Overview in use

We shall now examine how a typical USB is implemented and how all the different software and hardware parts fit together.

USB Host/Device Detailed View

The USB system software is responsible for collecting and buffering the data transfer requests from the client applications running on the host computer before passing them to the USB host controller driver. In the diagram below, the client application communicates with the USB driver and associated host control software which uses the HC Driver to talk to the host controller hardware. This HC driver provides a high level of hardware abstraction so that neither the applications or the USB system need to know anything about the actual hardware used to drive the bus. This allows many different types of host controller (or multiple controllers) to be used without the need to completely rewrite the USB software each time, be it for a podule, ISA card, PCI or embedded controller.

Host Communications