Date : Tue, 23 Nov 2010 10:39:21 +0000
From : philb@... (Phil Blundell)
Subject: Harddisc fakery using a microcontroller
On Tue, 2010-11-23 at 19:44 +1100, James McGill wrote:
> For a mock-HDD however I'd consider the ARM Cortex-M3 based STM32.
> This thing is a beast - a huge number of IO ports, hardware support
> for USB, and on some models SDIO for high(ish) speed access to an SD
> card, 96 MIPS (clocked at 72MHz). www.futurlec.com sell a development
> board and www.sparkfun.com sell a programmer. I use this on a few of
> my boards and love it.
>
> I'm not convinced that a AVR would be fast enough.
It rather depends what you're trying to do, I guess.
If all you want is a device which speaks SCSI on one side and, say, ATA
or SD on the other then there isn't any real "emulation" involved: it's
just a SCSI protocol converter along much the same lines as the old
Xebec bridge boards. Traditional SCSI uses an asynchronous handshake
and you can, within reason, run it as slowly as you like. Something
along the lines of:
http://copper.reciva.com/pb/scsi-ata.pdf
would, I think, be the kind of circuit that you'd need. (For some
reason the SCSI terminator packs seem to have gone missing in that copy
of the schematic, but I guess you get the idea.)
If you wanted to emulate an actual ST506 hard disk, i.e. something that
you could plug directly into an MFM/RLL controller card, then this
becomes a slightly lower level problem and it's possible you would need
something a bit faster. But I think there's a fair chance that an AVR
would be OK even for that, actually.
p.