USB Host Controller Driver Architecture (Windows CE 5.0)
The universal serial bus (USB) driver architecture consists of a host computer, a physical bus, and one or more USB devices. The host computer contains two layers: an upper software layer, which includes USB device drivers, and a host controller hardware layer, also known as an adapter layer. The main responsibility of the host computer is to control data transfers to and from USB devices. USB devices are peripherals that use the USB electrical and data format specifications to communicate with the host computer. The physical bus is the set of USB cables that links the controller with the peripherals.
The following list shows the layers of the USB driver architecture:
- Host computer
- Upper software layer with USB device drivers
- Host controller layer or adapter layer
- Physical bus
- USB device
USB Topology
The host computer is the root node of the USB tree and contains an implicit hub, called the root hub. A hub is a USB function that propagates USB data to one or more ports, thereby increasing the total number of functions that share the bus. A hub has one connection, called an upstream port, to higher levels of the USB tree. A hub can have any number of ports for connecting peripheral devices and other hubs. You can connect up to 127 devices, including hubs, to the host computer. Peripheral devices are always leaf nodes within a USB bus. However, as a matter of practical implementation, many USB peripheral devices have hubs integrated into them, so a user might not have to use separate USB hubs.
The following illustration shows a USB bus with several common peripherals connected.
In this example, the association of the mouse with the keyboard's internal hub and the speakers with the monitor's internal hub is arbitrary. You can connect the mouse to the monitor's internal hub, the modem to the keyboard's internal hub, and the speakers to the stand-alone hub in Tier 1 without affecting the system's functionality and without having to reconfigure software on the host computer. USB devices and their corresponding USB device drivers behave identically, regardless of the specific bus topology.
See Also
USB Transfer Types | USB Devices | USB System Software
Send Feedback on this topic to the authors