'Pic's and Floppy interfacing'
|Vincent Himpe <MIETEC.BE> wrote: vi_himpe
> Bitbanging a floppy disk controller ?. Do you know that a floppy disk needs
> an ANALOG signal to write and gives you an analog signal when it reads ?
A floppy DISK needs an analog signal, but a floppy disk DRIVE takes a digital
signal. That's why there's a board full of electronics on the drive itself.
(These days it's a pretty small board.)
> The floppy disk controller is not just another bunch of logic. It includes
The modulator and demodulator are for MFM, which is very simple and can be
done in software.
> and a bunch of PLL's.
An FDC contains a single PLL which is used as a data separator, to separate
the clock and data pulses received from the drive during a read. The PLL can
be implemented digitally, and often is. Typically a digital PLL (DPLL) would
be implemented entirely inside the FDC, but there are also complete data
separator chips which incorporate a DPLL, such as the SMC 9216, 9229, and
> When you read data the controller demodulates this analog signal,
No, as described above the analog signal is converted to digital by the drive
electronics, although the MFM demodulation still needs to be done.
> What i am trying to tell you is that either way you !WILL! need a Floppy disc
No. I've implemented a floppy disk controller in software on a Motorola 56001
DSP chip. Before you say "Yes, but that's a DSP and we're talking PICs!", I
should explain that my FDC code didn't take advantage of any of the "special"
abilities of the DSP (such as single-cycle multiply and accumulate) except for
the 100 nS instruction cycle time. The PIC16C5x family and some PIC16Cxx
parts can run with a 200 nS instruction cycle, which might actually be fast
enough. If not, you can just use an external data separator chip as described
above, and the PIC will certainly be fast enough to do the rest of the work.
My point is that it is entirely possible to implement disk controllers in
software on a sufficiently fast microprocessor. Is it useful to do so?
Probably not. On a small PIC it would take up most of your I/O pins and
memory. On a large PIC it's a little more practical, but still probably not
worth the effort when FDC chips are so inexpensive.
> The same goes for the ''old'' MFM or RLL Harddisks. Here you must
> also supply the analog signals to the drive.
No, these take digital signals also. They are simply faster digital signals.
With a Alpha you still might be able to implement a controller in software.
> The Analog signal i mentioned above is really a special kind of BITSTREAM.
Bit streams are not analog signals. They can be converted to or from analog
signals. (The hardware implementation of any digital signal is in fact
analog, but this is mostly irrelevant at frequencies below 40 MHz.)
> It is still at some logic level when sent to the drive.The drive then makes
> this signal more analog (no sharp edges etc)
It has to do several things to the signal, but yes, filtering is one of them.
More... (looser matching)
- Last day of these posts
- In 1995
, 1996 only
- New search...