Computer Solutions Ltd
Whats New | Advanced Search
Downloads | Exchange Rates

Celebrating over 28 years
supplying all your Embedded Development Tool needs


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....

Device Stack Link to a PC that can control your device and exchange data with it using USB pipes USB Device Stack Literature
Appear to a PC as a Thumb Drive, Serial device or a Mouse
Host Stack Control a network of up to 127 devices  USB Host Stack Literature
Use a Thumb Drive as data storage that is then PC readable
Use USB devices that conform to the USB standard ( eg Keyboard, Printer, Serial or Mass Storage)

OTG

The On-The-Go standard allows your device to decide if it is going to act as a Slave or as the Networks Host  USB On The Go Stack Literature

 

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.USB Drivers for Embedded Micros

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)Thumb Drive 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
 
     


 

Home Shop Products Supported Chips Information Zone Contact Site Map
 
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