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.
| | | | || | |
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
- Provides a full range of example USB Class implementation
- Full source code provided
- Royalty-Free licensing
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 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.
- 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 and Power Architecture processors. Our engineers have been working with and Power Architecture architectures since their launch and with the 68K architecture before that. This level of understanding for the and Power Architecture 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 MCF527x, MCF532x, MCF537x and MCF5222x on-chip device controllers and for the Power Architecture 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 and Power Architecture processors on Freescale development boards. This level of integration ensures a very good out-of-box experience with and Power Architecture 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: