|
Universal Serial Bus (USB) is a plug-and-play protocol widely used in embedded devices, ranging from set-top boxes, printers, web and digital cameras to modems, speakers, zip drives, industrial control devices, card readers and cable/DSL modems. Because of its flexibility, simplicity, speed and low-cost, USB connectivity has moved from the PC world to the embedded market. There has been an explosion of plug-and-play, consumer friendly USB peripherals that has resulted in making USB a standard requirement for embedded device products.
Embedded Access provides our EUSB software stacks for both USB Host
and USB Device applications, as well as USB Class Drivers and implementations designed
to speed products to market with advanced USB connectivity. Each
stack provides complete source code, example drivers and
detailed documentation. Designed for integration with the MQX RTOS, and portable to almost any other RTOS, USB software is a great way to jump-start USB product
development.
Features | Class Drivers Implementation | Mass Storage | Communications Device | Media Transfer Protocol | Reliable File Interface | Optimized for ColdFire and PowerPC | Licensing | Compatible Products
The EUSB Device Embedded USB Device stack has been designed for use in embedded devices that require to connect to a PC or another USB host. The EUSB Device stack consists of a USB device API and a USB device controller interface.
The stack supports all four USB transfer types: Control, Interrupt, Bulk and Isochronus. The EUSB Device stack conforms to the USB 1.1 and USB 2.0 standards and protocols. It allows you to use a USB connection as a simple data pipe and also provides USB Class implementations for Mass Storage, HID and CDC devices.
- USB 1.1 and 2.0 compliant
- Supports Control, Bulk, Interrupt and Isochronous transfers
- Support Low-speed (1.5 Mb/s), Full Speed (12Mb/s) and High speed (480 Mb/s) operation
- Include device drivers for on-chip device controllers for ColdFire processors and off-chip NXP device controllers
- Provides a full range of example USB Class implementation
- Full source code provided
- Royalty-Free licensing
- Integrated with the MQX RTOS and MFS FAT file system but desiged to work with any RTOS
The EUSB Device stack is provided with a Human Interface Device implementation and many other USB Device Class implementations are available including Mass Storage, Communication Device, Media Transfer Protocol and Reliable File Interface. These device class implementations enable developers to quickly use the EUSB Device stack in real-world applications by leveraging these example implementations of these USB classes. Because these device class implementation are provided with full source code they can be easily customized to meet the specific need of a customer's application.
The EUSB HID Class Implementation provides support for Human Interface Devices such as a mouse, keyboard or joystick. This class is provided as standard with the EUSB Device stack package. The HID class uses the Isochronous transfer type.

The EUSB Mass Storage Class Implementation allows an embedded device to act as a flash drive and plug into any host system (such as Window or Linux PC) and to be read by the host's file system. This implementation of a mass storage device is provided together with optimized drivers for accessing MMC/SD cards or other devices. The EUSB Mass Storage Class Implementation is fully compatible with the MFS FAT file system to allow file access directly on the embedded platform or from a connected USB host.

The EUSB Communications Class Implementation supports standard communication ports. An API is provided which allows the embedded device to act as a virtual Windows COMM port or it can actually provide a virtual Windows COMM port that has its input and output connected to a serial port on the embedded device. The software is provided with a sample application, which has an embedded command line terminal which can be accessed by the standard Windows terminal program (e.g. HyperTerm) through a COMM port over USB interface.

The EUSB Media Transfer Protocol is an implementation of the Media Transaction Protocol which allows the MFS FAT file system to be seen as a standard drive on a host system which supports the MTP protocol (e.g. Windows Vista or Windows Media Player). Using MTP, as an alternative to the USB Mass Storage Class has the following advantages:
- Connect a failsafe file system to a host
- Control access to the target file system through an API
- Simultaneous host and target access to the file system

The EUSB Reliable File Interface is an alternative USB Windows driver to MTP and Mass Storage. It is available for Windows XP and Vista. This driver implements an NFS-like protocol over USB for connecting remote drives into Windows Explorer. This yields several advantages to the embedded device developer:
- The host accesses the file system as any other user on the target - thus all access is synchronized and there is no need to disconnect the local drive when the host is connected.
- Any file system can be used on the target - the logic and reliability of the file system is determined on the target not by the system running on the host.
- A protocol designed specifically with small scale embedded systems in mind.
Embedded Access specializes in solutions for ColdFire and PowerPC processors. Our engineers have been working with ColdFire and PowerPC architectures since their launch and with the 68K architecture before that. This level of understanding for the ColdFire and PowerPC processor architectures results in the EUSB Device product being specifically optimized and pre-integrated for these platforms. The EUSB Device stack includes USB device controller drivers for ColdFire MCF527x, MCF532x, MCF537x and MCF5222x on-chip device controllers and for the PowerPC MPC834x on-chip device controllers. Where on-chip USB device controllers are not present EUSB provides device controller drivers for many popular NXP USB device controllers such as the the ISP1161, ISP1183, ISP1361, ISP1561 and ISP1761 which are commonly integrated with ColdFire and PowerPC processors on Freescale development boards. This level of integration ensures a very good out-of-box experience with ColdFire and PowerPC development boards and easy integration of the EUSB Device stack with a customer's hardware.
The EUSB Device Embedded USB Device stackis licensed and delivered with full source code, so there are no mysteries about how the EUSB Device stack operates. The source code includes all of the USB device controller driver code so that users can quickly adapt it and reuse the provided code to port the USB stack to their own hardware.
The simple EUSB licensing terms ensures there are no legal ambiguities. ESBU Device provides excellent source code without leaving you wondering about potential exposure to the open-source legal issues. Whatever our customers develop is theirs; their proprietary features and code can remain as private as they decide. What's more, the EUSB Device stack is licensed without royalties, so it offers a blend of the best of both the professional software world and the open-source world.
The following products enhance the MQX RTOS for more advanced applications:
 |