The CONNECT USB Host component takes responsibility for detecting insertion and removal of USB devices, providing power, assigning a unique address to the attached devices, and managing the control and data flow, thereby enabling developers to integrate USB host functionality easily into embedded products.
The CONNECT USB Host Architecture design conforms to USB v1.1 and v2.0 specifications, and has close integration with SuperLoop, Pre-emptive RTOS or NicheTask operating systems. Its modular design allows easy adaptation to different USB host controllers.
Applications can access the USB Host directly by using the USB host-programming interface, or by the APIs exposed by class drivers.
The USB Host Core manages the connected USB devices and provides a framework for the USB Class Drivers. The USB Host Core contains a Hub Driver, which monitors the hub ports for device attach, or detach events.
When a new USB device is attached, the Hub Driver enumerates the device and invokes the appropriate USB Class Driver. When the device is detached, it performs necessary steps to remove the device.
CONNECT USB Host can handle multiple hubs and devices simultaneously and supports hot plugging of hubs and devices.
The USB Host Controller Driver communicates with the controller hardware to transfer data across the USB bus. CONNECT USB Host provides drivers for full-speed OHCI and the high-speed EHCI interfaces.