Computer Solutions is now supplying the Micro Digital range of USB drivers:
- smxUSBD - a USB Device stack
- smxUSBH - a USB Host stack
- smxOTG - an On the Go stack for dual-role devices
All of these will help embedded systems developers by providing easy interfacing between embedded systems and USB.
The smxUSBD USB device stack is designed for situations in which a developer wants the embedded application to plug into a PC and exchange data with the PC or to be controlled by the PC.
The smxUSBH USB host stack is used where a developer wants an embedded application to act like a PC and control a USB network. This allows the embedded device to use a USB keyboard or mouse, collect data from an array of USB sensors, or allow a memory stick (Thumb Drive) to be read or written by the embedded application.
An On-The-Go (OTG) stack is also available for use where dual-role devices need to function as a limited-capability host or a USB peripheral (eg a printer being able to link to a camera without requiring a PC).
Cost-effective and compatible
These stacks are offered separately to minimise system cost and memory usage for projects that only need one function. They are all compliant with the USB v2 specification to support low-, full- and high-speed USB operation in all four modes (control, bulk, interrupt and isochronous).
Support is provided for the most popular USB interface chips from Phillips as well as common on-chip interfaces provided in ARM, ColdFire and PPC microcontrollers. Host stack support is available for interface chips that conform to the EHCI, OHCI and UHCI specification, with more interfaces being added to the list every month.
For easy connectivity to a PC or laptop, the smxUSBD includes three class emulators: serial, mouse, and mass storage. Each is compatible with the corresponding Windows USB class driver. Thus a device using smxUSBD does not require a custom Windows driver in order to connect to a PC or laptop. All that is needed is to decide on the most appropriate device connection and to use the corresponding API for that device.
All drivers are written in C and can be ported to any 32-bit hardware platform with ARM, ColdFire, Power PC and x86 versions being available off-the-shelf. Although optimised for Micro Digital's real-time operating system (smx), they can be ported to other RTOSs or can be run in a standalone environment. Modular design ensures that only what is needed will be linked into the final application.
Both host and device drivers are available integrated into the smxFS FAT 32 file system so that PC-compatible files can be created, read and written to memory sticks or so that the embedded device can appear to act like a mass storage device.
Literature on these drivers is available from COMSOL's website:
Demo programs that use these USB stacks and access Thumb Drives are also available for a number of the most popular CPU evaluation boards.
If you are still grappling with USB terminology you may find COMSOL's tutorial USB for Embedded Engineers of use. See it at www.computer-solutions.co.uk/info/Embedded_tutorials/usb_tutorial.htm.
COMSOL's website www.computer-solutions.co.uk also has an Information Zone where the company has published a number of free services for embedded engineers:
- Tutorials on USB, CAN, TCP/IP and microprocessor families
- Support Tools Directory - shows the development tools available for over 100 microprocessor families
- The Embedded Web - 330+ links to useful sites, from chip manufacturers to software algorithms