From: "Paul Koning" <pkoning at
equallogic.com>
>>>> "Jules" == Jules
Richardson <julesrichardsonuk at yahoo.co.uk> writes:
Jules> On Fri, 2005-03-11 at 07:51 +0000, Philip Pemberton wrote:
> ...
> Shift register + counter + high speed RAM. Could even do it with
> an FPGA if you wanted. Buffering an entire track with 8x
> oversampling is going to be hellishly memory intensive though.
Jules> Well if worst-case is 1mbps data rate at 300rpm and 8x
Jules> oversample, isn't that (8 * 10240 * 1024) / 5 = 1677722 bits
Jules> of memory maximum needed?
Jules> (div by 5 because 300rpm gives you a whole track in 1/5 of a
Jules> second)
Jules> So 256KBytes of RAM should always be enough to buffer a whole
Jules> track, regardless of what physical drive or media you use.
Even if you want 8 bits per sample, that's still only 1.5 MB, and the
data rate is 7.5 MB/s (since a track is 200 ms by your calculation).
That's a trivial bandwidth requirement; anything better than antique
DRAM will do the job easily, and the space requirement is tiny, too.
I'm wondering if you can do this job with a microcontroller similar to
a PIC, running the sampling loop in software. If not quite, it should
be pretty close.
paul
Hi
I've always been looking at using a DSP chip for this job.
I did expect to read parts of a track at a time and then
reassemble them as condensed data. Chips like the Analog
Devices 2181 have some 80Kbytes of onboard RAM. Although,
it can't all be used for storage at the same time and
some is needed for program space. These chips can be
implemented with a real minimum of outside circuits.
they even have a serial SPI that can be used to read
disk data at higher speeds. These processor run at 30 MIPs
plus. They can run some operations, such as data moving
to arrays in single cycles, including updating of pointers.
They can do as many as 5 operations in a single cycle.
The can bootstrap from simple slowspeed EPROM of FLASH.
One could easily connect one of these to that USB chip
that someone pointer to earlier.
Dwight