Express Logic Embedded RTOS Solutions Express Logic RTOS Embedded Solutions Partners ThreadX RTOS Real-Time Preemption Threshold TCP/IP White Papers
The Real Time Operating Systems Solutions Company - RTOS
Express Logic RTOS Embedded Solutions
ThreadX
FileX
NetX
PegX
USBX
ThreadX and Embedded RTOS Training
Files to Download
Files to Download

 

USBX™ Technical Features

USBX™ is Express Logic’s high-performance USB host and device embedded stack. It is fully integrated with ThreadX and is available for all ThreadX supported processors. Like ThreadX, USBX is designed to have a small footprint and high-performance, making it ideal for today’s deeply embedded applications that require to interface with USB devices or be connected with a Windows/Apple/Linux desktop over USB.

Small Footprint

USBX is implemented as a C library. Only the features used by the application are brought into the final image. The minimal footprint of USBX is as small as 32KB on RISC processors.

Easy To Use

USBX is very easy to use. The USB API is both intuitive and highly functional. In addition, the API names are made of real words and not the “alphabet soup” names that are common to other file system products. Building a USBX application is also easy. Simply include the UX_API.H fill in the application software and link the application objects with the USBX library. The resulting image is ready for execution – it’s that simple!

Major Features

  • Available for the host side, the device side and a combination of both with/without support for OTG.
  • USB low speed, full speed and high speed are supported
  • Supports all embedded CPUs
  • Supports many USB host/device and OTG controllers in discrete or IP form integrated with a SOC including Synopsis, Philips, Atmel, NEC …
  • Supports most of the standard USB class drivers including mass storage, printer, HID, Audio, Hub …
  • Can be ported to different CPU and memory architecture.
  • Integrated with Express Logic components (FileX and NetX)

USBX components : USBX Host mode

USBX in host mode is used when the application requires communication with certain USB devices such as a USB keyboard, a USB printer or USB Flash disk. UBX host is divided in 3 components :

  1. The USBX core stack which is responsible for the detection of device insertion and removal as well as all the protocols available to USB (Control, Bulk, Interrupt and Isochronous). The core stack ensures that all device are properly detected and configured and its plug and play mechanism searches for a USB class driver responsible for this device.
     
  2. The USB Controller driver which is specific to a USB host chip or USB host IP. USBX supports major USB standards like OHCI and EHCI in addition to proprietary discrete USB chips from Philips and other vendors. It is possible for a single host system to have multiple host controllers.
     
  3. The USB Class Driver(s) which are responsible for driving each USB device once they have been enumerated. A USB class can either fall into the standard category (such as HID, printer, storage …) or be proprietary to a specific device. USBX host mode can support cascading hubs, multiple configuration devices, composite devices…

USBX components : USBX Device mode

USBX in device mode is used when the application requires communication with a windows/Apple/Linux desktop. In this case the embedded device is considered to be a USB device or slave.

The architecture for the device side is similar to the host although simplified

USBX device core stack which is responsible for handling the USB host enumeration requests.

The USB Device Controller driver which is specific to a USB device chip or USB device IP.

The USB Device driver Class which is responsible for driving the USB device once it has have been enumerated by the host.

USBX in device mode can support a complex device framework including multiple configurations, multiple interfaces, multiple alternate settings. In addition, the definition of the device string framework can support multiple languages.

USBX components : USBX OTG mode

This mode is a combination of both the host and the device mode. The OTG standard allows for 2 devices to negotiate, during a session, the role of the host and the role of the device.

In addition to the host and device stack, the OTG implementation contains all the glue logic for handling the Host Negotiation Protocol and the OTG transceiver.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ThreadX Embedded RTOS Home Page ThreadX Embedded RTOS Inquiry ThreadX RTOS Embedded News