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



Transfer types

PrCONNECT/Pro 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
     o SFF-8020i
     o SFF-8070i
     o MMC-2(ATAPI) 
  • 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. 



High Portability

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



Operating environments

Successful operation of PrUSB 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. Please contact us for details about the compatible RTOS and development environments. 


Options and related products

Optional products: Class drivers

Mass Storage Class
Communication Device Class
Audio Class
HID Class

  • Other class drivers will be supported in the near future.