This embedded USB hub host class driver controls USB hubs. A USB hub is a device that expands one USB port into multiple ports, providing more ports for connecting devices to a host system. The hub class driver is a passive component of the system; once configured and running, it automatically handles connected hubs without any requirement for application control. The class driver supports multiple nested hubs.

The hub package provides a hub host class driver for a USB stack.

Features
  • Conforms to the HCC Advanced Embedded Framework.
  • Designed for integration with both RTOS and non-RTOS based systems.
  • Compatible with all HCC USB host controllers.
  • Supports all devices that conform to the USB Hub specification.
  • Supports multiple devices connected simultaneously.
  • Supports multiple nested hubs.
  • Uses a system of callbacks for user-specified events.
Architecture
Hub USB host class driver

Note: Root hubs contained in the host controller are handled automatically by the port manager and are completely independent of this module.

The package provides a set of API functions for controlling the device. The lower layer interface is designed to use HCC Embedded’s USB Host Interface Layer. This layer is standard over different host controller implementations; this means that the code is unchanged, whichever HCC USB host controller it is interfaced to. For detailed information about this layer, see the HCC USB Host Base System User Guide that is shipped with the base system.