PrUSB Host overview
PrUSB Host is a host-side protocol stack that complies with USB 1.1/2.0/3.0 (Full Speed/High Speed/Super Speed) for implementing a USB host function on an embedded system. Building a system by embedding PrUSB Host enables communication with USB devices without using a PC.
USB host functions
The following USB host functions that are defined by the USB specification are provided:
- Detection of USB device insertion/removal
- Management of USB standard requests via control transfers
- Management of data flow between host and devices
- Support for hubs to enable management of multiple USB devices
PrUSB Host supports the following transfer types:
- Control transfer: Control data transfer between host and target
- Bulk transfer: Transfer of relatively large amounts of data or non-periodic data transfer
- Interrupt transfer: Periodic transfer of relatively small amounts of data
- Isochronous transfer: Method used for transfer when real-time transfer is required
Includes sample class drivers
Includes sample classes that can be used as reference when creating a custom class driver.
Optional Class drivers available
The following class drivers are provided as an option:
- Mass Storage Class diver
- ACM (Abstract Control Model) supported Communication Device Class driver
- Audio Class driver
- HID Class driver
The Mass Storage Class driver provides a storage function when the connected device, such as a large-capacity device or digital camera, supports the Mass Storage Class. The features of the Mass Storage Class driver are as follows:
- Supports the Bulk-Only and CBI transfer protocols
- Supports the following subclasses:
o SCSI transparent command set
- Supports multiple LUNs
- A file system is required to operate Mass Storage Class (PrFILE2, PrFILE2 exFAT is recommended)
- Other class drivers will be supported in the near future
PrUSB Host itself is written in the C language and is not dependent on any CPU. Host controller drivers and code dependent on the operating system are separated to ensure easy porting to a different environment.
Supports T-Engine and T-Kernel
PrUSB Host supports T-Engine and T-Kernel.
Availability (Source code provided)
PrUSB Host is available in source code.
Maintenance service and customization service
The following maintenance service is provided. The maintenance service enables developers to use PrUSB Host with peace of mind.
- Response to email inquiries regarding the product
- Minor version upgrades
In addition, a customization service is available for supporting PrUSB Host in different environments, such as a custom real-time operating system (RTOS) or hardware.
PrUSB Architecture Diagram
Successful operation of PrUSB Host has been demonstrated in the following environments:
- * Host controller: UHCI/OHCI/EHCI/xHCI
- * Several built-in controllers: please contact us for details
An RTOS is required for operating PrUSB Host. Please contact us for details about the compatible RTOS and development environments.
Options and related products
- Mass Storage Class
- Communication Device Class
- Audio Class
- HID Class
- Other class drivers will be supported in the near future.