USB
stacks for embedded micros
If you are not familiar with the
details of interfacing to USB you may find our
Embedded USB tutorial
helpful.
Using a USB software stack allows your embedded application
to....
New product range to receive literature
fill in request
These software stacks are from Micro Digital and they may be
purchased separately to keep cost low or together for use in OTG controlled dual
role devices. FAT32 file handling software is available for creating Thumb Drive
based applications.
Written in ANSI C for portability.
Available for ARM, ColdFire, PPC and x86 processors
Fully compliant with the USB 2.0 specification
Support all 4 data transfer mechanisms ( Control,
Bulk, Isochronous and Interrupt)
Run standalone, under smx or portable to other OSs
Support a wide range of on and off chip USB interfaces
Class drivers are available for Mass storage, HID,
Printers, Audio, Modem, Hubs and Serial devices
Evaluation versions are available for a number of
popular boards
New interfaces are being added
rapidly so if you do not see the one you need do call us
| |
DEVICE STACK |
HOST STACK |
OTG STACK |
| External interfaces |
ISP 1161, 1181, 1362, 158x, 1761
|
EHCI, OHCI, UHCI
ISP 116X, 1362, 176x |
ISP 1362, 1761 |
| On Chip Interfaces |
ColdFire 525x, 532x, 537x, 547x, 548x
ARM AT91SAM7A3, AT91SAM7S, AT91SAM7SE, AT91SAM7X,
AT91RM9200, AT91SAM9260, AT91SAM9261,
LPC2xxx, LPC3xxx,
LH7A400,
LH7A404,
STR71x, STR91x,
MX1/MXL |
ColdFire 525x, 532x, 537x
ARM AT91RM9200, AT91SAM9260, AT91SAM9261,
LPC2xxx,LPC3xxx,
EP93xx,
LH7A404 |
ColdFire 525x, 532x, 537x
ARM LPC2xxx,LPC3xxx, |
|
Code Space |
~14KBytes
|
27-50KBytes |
~ 7KBytes |
|
Data Space |
2-6KBytes
|
6-20KBytes |
128 Bytes |
|
Typical cost |
£3,620
|
£5,670 |
£2,570 |
The Code space figures are for a CISC processor RISC is typically ~20% greater
Data space for the Host stack is much larger for UHCI interface
Interfacing to a Thumb Drive / Memory Stick
The most common question we get is "What do I need if I am going to interface
my micro to a Thumb drive ? " but often the problem needs some clarification.
There are two possible scenarios.....
1)
The questioner is building a product that already has some local storage and the
device will itself be connected via USB to a PC and will appear to the PC as a
Thumb Drive. To do this you need a Device stack and a FAT file system.
2) The questioner is building a product that requires some mass storage which
can also be used as a mechanism for transferring data from or too a PC.
USB on the product enables cheap and portable Thumb Drives to be used. To
do this you need a Host stack and FAT32 File System
The smxFS file system provides a way of handling mass storage that is Windows
compatible (FAT16,32,VFAT) including long names. It uses the "standard" C API (fopen,fread
etc) for ease of programming and is re-entrant so safe for use on multi-tasked
embedded systems. Its code and data footprints are ~12K/7K respectively.
Depending on the USB Host controller we have timed writes at 300KBytes -
7Mbytes/sec and reads at 300KBytes - 10MBytes/sec
We have packages that include Host or Device stacks integrated with FAT file systems to
simplify adding this functionality to USB enabled embedded systems.
|
Thumb drive bundle
including |
Device Stack,
Mass storage Class and FAT32 File system with suitable
mass storage driver |
Host Stack,
Mass storage Class and FAT32 File system |
|
Typical cost |
£5140
|
£7720 |
Demos available on common EVBs
We have a large number of preconfigured demonstration systems that run on the
most popular evaluation boards please copy the board number and use
our contact page to tell us
which you would like and we will be happy to supply you with a copy
| |
smxUSBD |
|
| |
|
|
| |
Each demo below includes up to 3 demos for different device
emulators. Mass storage is not included for boards with insufficient
RAM, such as for microcontrollers with no external memory bus.
Connect a terminal to the UART to see the status messages. See the
readme for specific instructions.
Mouse: Makes the target board look like a mouse. When you
connect a USB cable to a Windows host, the mouse pointer will move
for a few seconds, wait a few seconds, and then repeat.
Serial: Makes the target board look like a serial device.
Once connected to a USB host, you can use a terminal emulator such
as Hyperterminal or our TestComm program to send data to it, and the
demo echoes it back. TestComm sends a whole file so it lets you test
large transfers.
Mass Storage: Makes the target board look like a USB disk.
When you connect a USB cable to a Windows host, a new drive window
will open and you can drag and drop files onto it. You can do
"Safely Remove Hardware" in Windows and disconnect the USB cable, as
you would with a USB flash disk. Then you can plug it back in and
access the files that were previously stored on it.
|
|
| |
|
|
| |
| |
USB Controller |
Board |
| |
AT91RM9200 |
AT91RM9200-EK [10/9/07] 475K |
| |
AT91SAM7A3 |
AT91SAM7A3-EK [8/1/06] 261K |
| |
AT91SAM7S |
AT91SAM7S256-EK [7/7/06] 213K |
| |
AT91SAM7SE |
AT91SAM7SE512-EK [10/14/06] 368K |
| |
AT91SAM7X |
AT91SAM7X256-EK [8/1/06] 233K |
| |
AT91SAM9260 |
AT91SAM9260-EK [11/15/06] 417K |
| |
AT91SAM9261 |
AT91SAM9261-EK [8/1/06] 372K |
| |
AT91SAM9263 |
AT91SAM9263-EK [5/3/07] 435K |
| |
ISP1161 |
P2ARM-LPC2292 (Flash Tech board)
[9/27/06] 202K |
| |
ISP1362 |
ISP1362PCI (x86 PC) [7/20/06] 180K |
| |
ISP1761 |
ISP1761PCI (x86 PC) [7/11/06] 181K |
| |
LH7A400 |
SDK-LH7A400 (LogicPD board) [10/17/06]
549K |
| |
LH7A404 |
SDK-LH7A404 (LogicPD board) [7/14/06]
452K |
| |
LPC2148 |
MCB2140 (Keil board) [6/28/07] 303K
LPC2148 KickStart (IAR board) [6/28/07] 322K |
| |
LPC2378 |
MCB2300 (LPC2378) Eval Board (Keil board)
[1/31/07] 270K |
| |
LPC2468 |
LPC2468 OEM Board (Embedded Artists
board) [3/5/07] 336K |
| |
LPC3180 |
phyCORE-ARM9/LPC3180 Eval Board (Phytec
board) [3/15/07] 429K
LPC3180 Eval Board (Nohau board) [1/3/07] 388K |
| |
MCF523x |
M523xEVB [7/20/06] 229K |
| |
MCF525x |
M5251C3 [3/9/07] 258K |
| |
MCF532x |
M5329EVB [9/8/06] 247K |
| |
MCF537x |
M5373EVB [5/21/07] 270K |
| |
MCF548x |
M5485EVB [5/21/07] 301K |
| |
MX1/MXL |
M9328MXLADS (not MX1ADS) [8/2/06] 231K |
| |
STR71x |
STR710-EVAL [7/7/06] 430K
STR711 KickStart (IAR board) [7/7/06] 269K |
| |
STR91x |
STR912 KickStart (IAR board) [12/14/06]
314K |
|
|
| |
|
|
| |
smxUSBH |
|
| |
|
|
| |
This demo includes the USB host stack mass storage and mouse
class drivers. When you connect a USB drive to the USB host port,
the demo will automatically mount the FAT file system on the drive
and create some files on it and read back the contents of the file
to check if it works correctly. You can also plug in a USB mouse to
the host port and move it and press the buttons. Connect a terminal
to the UART to see the status messages. See the readme for specific
instructions.
|
|
| |
|
|
| |
| |
USB Controller |
Board |
| |
AT91RM9200 |
AT91RM9200-EK [7/7/06] 238K |
| |
AT91SAM9260 |
AT91SAM9260-EK [11/3/06] 183K |
| |
AT91SAM9261 |
AT91SAM9261-EK [8/1/06] 185K |
| |
AT91SAM9263 |
AT91SAM9263-EK [5/3/07] 217K |
| |
EP93xx |
EDB9315A [11/27/06] 192K |
| |
ISP1161 |
ISP1161ISA (x86 PC) [7/20/06] 181K
P2ARM-LPC2292 (Flash Tech board) [9/27/06] 168K |
| |
ISP1362 |
ISP1362PCI (x86 PC) [7/20/06] 90K |
| |
ISP1761 |
ISP1761PCI (x86 PC) [7/11/06] 92K |
| |
LH7A404 |
SDK-LH7A404 (LogicPD board)[7/18/07] 161K |
| |
LPC2468 |
LPC2468 OEM Board (Embedded Artists
board) [3/5/07] 176K |
| |
LPC3180 |
phyCORE-ARM9/LPC3180 Eval Board (Phytec
board) [3/15/07] 278K
LPC3180 Eval Board (Nohau board) [1/3/07] 192K |
| |
MAX3421 |
Maxim MAX3421EVKIT (and
Keil MCB2130 board) [10/9/07] 312K |
| |
MCF5221x |
M52223EVB [8/9/07] 49K |
| |
MCF5222x |
M52223EVB [8/9/07] 49K |
| |
MCF523x |
M523xEVB [7/20/06] 114K |
| |
MCF525x |
M5251C3 [3/8/07] 135K |
| |
MCF532x |
M5329EVB [8/30/06] 127K |
| |
MCF537x |
M5373EVB [5/21/07] 140K |
| |
MCF547x |
M5475EVB (LogicPD board) [4/9/07] 138K |
| |
MCF548x |
M5485EVB (LogicPD board) [4/9/07] 136K |
|
|
| |
|
|
| |
|
|
| |
smxFS |
|
| |
|
|
| |
This demo mounts the media and writes some files to it and reads
back the contents of the files to check if it works correctly.
Connect a terminal to the UART to see the status messages. See the
readme for specific instructions. We recommend you insert blank
media so it is easy to delete the files created by the demo.
|
|
| |
USB Driver |
|
| |
| |
USB Controller |
Board |
| |
AT91RM9200 |
AT91RM9200-EK [7/7/06] 238K |
| |
AT91SAM9260 |
AT91SAM9260-EK [11/3/06] 183K |
| |
AT91SAM9261 |
AT91SAM9261-EK [8/1/06] 185K |
| |
AT91SAM9263 |
AT91SAM9263-EK [5/3/07] 217K |
| |
EP93xx |
EDB9315A [11/27/06] 192K |
| |
ISP1161 |
ISP1161ISA (x86 PC) [7/20/06] 181K
P2ARM-LPC2292 (Flash Tech board) [9/27/06] 168K |
| |
ISP1362 |
ISP1362PCI (x86 PC) [7/20/06] 90K |
| |
ISP1761 |
ISP1761PCI (x86 PC) [7/11/06] 92K |
| |
LH7A404 |
SDK-LH7A404 (LogicPD board) [7/14/06]
211K |
| |
LPC2468 |
LPC2468 OEM Board (Embedded Artists
board) [3/5/07] 176K |
| |
LPC3180 |
phyCORE-ARM9/LPC3180 Eval Board (Phytec
board) [3/15/07] 278K
LPC3180 Eval Board (Nohau board) [1/3/07] 192K |
| |
MAX3421 |
Maxim MAX3421EVKIT (and Keil
MCB2130 board) [10/9/07] 312K |
| |
MCF5221x |
M52211EVB [8/9/07] 49K |
| |
MCF5222x |
M52223EVB [8/9/07] 49K |
| |
MCF523x |
M523xEVB [7/20/06] 114K |
| |
MCF525x |
M5251C3 [3/8/07] 135K |
| |
MCF532x |
M5329EVB [8/30/06] 127K |
| |
MCF537x |
M5373EVB [5/21/07] 140K |
| |
MCF547x |
M5475EVB (LogicPD board) [4/9/07] 138K |
| |
MCF548x |
M5485EVB (LogicPD board) [4/9/07] 136K |
|
|
| |
|
|
| |
Computer Solutions Ltd
1a New Haw Road, Addlestone, Surrey KT15 2BZ, England |
| |
| Telephone: +44 (0) 1932 829460 |
Fax: +44 (0) 1932 840603 |
| Email: sales@computer-solutions.co.uk |
Web: www.computer-solutions.co.uk |
| |
| Copyright ©
2008 Computer Solutions
Ltd |
|