CONNECT USB Host
The CONNECT USB Host component enables developers to integrate USB host functionality easily into embedded products.
It 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.
- Compact & full featured embedded USB Host software component
- Supports Mass Storage, HID, Printer, CDC and Audio class drivers
- Supports OHCI and EHCI controller standards
- Supports all Transfer types: Control, Bulk, Interrupt and Isochronous
- Compliant with USB v1.1 and USB v2.0
- Low-speed 1.5 Mb/s, full-speed 12Mb/s and high-speed 480 Mb/s
- Optimized for use with FreeRTOS, OPENRTOS and SAFERTOS
- Delivers high levels of data throughput, whilst utilizing minimum system resources
USB HOST Architecture
The CONNECT USB Host Architecture design (shown above), conforms to USB v1.1 and v2.0 specifications, and is optimized for tight integration with FreeRTOS, OPENRTOS or SAFERTOS. 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.
USB Host Core
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 the necessary steps to remove the device.
CONNECT USB Host can handle multiple hubs and devices simultaneously and supports hot plugging of hubs and devices.
USB Host Controller Driver
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.