Forums

Disk drive on embedded system?

Started by Jack Crenshaw June 23, 2005
I'm curious.  Is anyone worrying about connecting a disk drive (floppy 
or HD) to an embedded system evaluation board?  Or is the general 
approach to just use the Ethernet connection to a host? I've got a few 
evaluation systems (EZ80, Rabbit, PowerPC, 68332) and I'd like to try 
providing them with their own, decicated bulk storage.  I've looked at 
USB, but the protocol seems horribly complex.

Or do folks just use flash RAM?

Jack
On Thu, 23 Jun 2005 14:53:22 GMT, Jack Crenshaw <jcrens@earthlink.net> wrote:

>I'm curious. Is anyone worrying about connecting a disk drive (floppy >or HD) to an embedded system evaluation board? Or is the general >approach to just use the Ethernet connection to a host? I've got a few >evaluation systems (EZ80, Rabbit, PowerPC, 68332) and I'd like to try >providing them with their own, decicated bulk storage. I've looked at >USB, but the protocol seems horribly complex. > >Or do folks just use flash RAM? > >Jack
Smartmedia cards are probably the easiest as they have a SPI type interface. Forget floppies - too fiddly and not enough capacity.
Both ATAPI (IDE) hard disks and compact flash cards use essentially the
same fairly simple interface which many people have managed to connect
to various microcontrollers - I had one running with a processor hosted
in an FPGA for a while.  If you only have an 8-bit bus you will
probably need something to get at the high half of the data lines, but
that shouldn't be too complicated.  If you don't need to be compatible
with anything else, you can also only use the low 8 data lines and
loose half the disk capacity by only utilizing every other byte.

A drive recent enough to support logical block addressing is pretty
much just a sea of sectors - you don't absolutely have to implement a
file system if you have another storage organization scheme, although
you may want to.  One common solution is a degenerate FAT file system -
readable by a pc, but only writeable by your device as you make
simplify assumptions about where everything goes which an operating
system FAT driver will not honor (some digital cameras are like this -
if you write to the card in a PC, you have to reformat it before the
camera can use it again).  Also, if you use a custom storage scheme, a
PC operating system like linux which allows you to access a physical
drive as if it were a file will let you write pc-software to interact
with your custom storage format, without having to have an OS driver
capable of understanding it.

There are SPI-USB modules available.  We are actually exporing such an
option right now on an application.  There are also SPI to CF modules
available.

Depends on specifics of your application and/or budget.

JW

Plenty of embedded systems have floppies (and hard drives). Many are
DOS formatted so that you can use an IBM-PC disk. There are embedded
operating systems that can support disks, and stand alone libraries
as well. Embedded Linux will also do that.

Jack Crenshaw wrote:
> I'm curious. Is anyone worrying about connecting a disk drive (floppy > or HD) to an embedded system evaluation board? Or is the general > approach to just use the Ethernet connection to a host? I've got a few > evaluation systems (EZ80, Rabbit, PowerPC, 68332) and I'd like to try > providing them with their own, decicated bulk storage. I've looked at > USB, but the protocol seems horribly complex. > > Or do folks just use flash RAM? > > Jack
cyberzl1@yahoo.com wrote:
> There are SPI-USB modules available. We are actually exporing such an > option right now on an application. There are also SPI to CF modules > available. > > Depends on specifics of your application and/or budget. > > JW >
Are these USB master or USB slave ??
Jack Crenshaw wrote:
> I'm curious. Is anyone worrying about connecting a disk drive (floppy > or HD) to an embedded system evaluation board? Or is the general > approach to just use the Ethernet connection to a host? I've got a few > evaluation systems (EZ80, Rabbit, PowerPC, 68332) and I'd like to try > providing them with their own, decicated bulk storage. I've looked at > USB, but the protocol seems horribly complex. > > Or do folks just use flash RAM? > > Jack
THE Jack Crenshaw? If so, I've got your MATH Toolkit for RT Programming Book. Nice work. Anyways, check out Atmel's archives for their Applications Journal, Issue 2 - Spring 2004. "Construct an ATA Hard Drive Controller". Here's a link; http://www.atmel.com/dyn/resources/prod_documents/ATA_HardDrive.pdf The archive is here; http://www.atmel.com/journal/Archive.asp Hope that helps... - Richard
On Thu, 23 Jun 2005 14:53:22 GMT, Jack Crenshaw <jcrens@earthlink.net>
wrote:

>I'm curious. Is anyone worrying about connecting a disk drive (floppy >or HD) to an embedded system evaluation board? Or is the general >approach to just use the Ethernet connection to a host? I've got a few >evaluation systems (EZ80, Rabbit, PowerPC, 68332) and I'd like to try >providing them with their own, decicated bulk storage. I've looked at >USB, but the protocol seems horribly complex.
We normally use Ethernet - it helps that our TCP/IP stack is fairly small. We have prototyped a USB interface to memory sticks using one of the Cypress chips, but found that we could only fit the sector read/write routines into the Cypresss chip internal RAM, and that only after serious hacking of the code supplied by Cypress. Stephen -- Stephen Pelc, stephenXXX@INVALID.mpeltd.demon.co.uk MicroProcessor Engineering Ltd - More Real, Less Time 133 Hill Lane, Southampton SO15 5AF, England tel: +44 (0)23 8063 1441, fax: +44 (0)23 8033 9691 web: http://www.mpeltd.demon.co.uk - free VFX Forth downloads