FC5025 USB 5.25 floppy controller - first report

Tony Duell ard at p850ug1.demon.co.uk
Wed Feb 24 14:58:07 CST 2010


> Fair enough :-).  The TTL chips of which you speak are bidi bus 
> transceivers, correct?  Would you use the R/W line to switch directions, 
> or is there other magic involved?

No, they're just palin unidirectional buffers, open collector outputs. 
Look up the 7406 (inverting) and 7407 (non inverting) data sheets. I am 
sure they're on the web somewhere (I've not checked, I've got several 
paper TTL data books here).

The lines to a floppy dirve do not reverse direction. Eachg signal is 
either controller to drive (for example, the drive select lines, write 
data, write gate, step, direction, etc) or drive to controller (e.g. read 
data, index, track 0, etc). 

You need to buffer the signals from controller to drive, certainly. I'd 
use a circuit like this for each signal -- and put it close to the 
controller board. : 
                               +5V
                               ---
                                |
                                / 1k
                                \
                                /
                                |
                                |    |\ 
  Controller output signal -----+----||>--------------- Drive input signal
                                     |/

                                  1/6 7407 buffer

Each 7407 will buffer 8 signala. The 1k resistor is a pull-up and is 
necessary if teh controller has open-collector outputs (as it should do, 
bit I bet some don't). ou need to fit the 150 Ohm terminating resistors 
in the drive, which will act as pull-ups on the 7407 open-collector outputs.

You can probably get away with leaving the input signals alone. If you 
want to do things properly, you might try putting a termination resistor 
between each input signal and +5V at the controler end of the cable. If 
the cotnroller has 1k pull-ups, then try a 180 Ohm resistor (180 // 1k 
gives about 150 Ohms). 

If you are a purist (as I guess I am :-)), you might try something like 
: 

               +5V
               ---
                |
                \
                / 150 Ohm
                \
                /
                |   |\     |\
Drive output----+---|#>o---|#>o------Controller input
                    |/     |/

                    2/6 74LS14 Schmitt trigger inverter

Each 74LS14 contains 6 schmitt trigger inverters, you need 2 for each 
signal (since you don't want ot invert the signal, and AFAIK there is no 
non-onverting schmitt trigger in the TTL range). So each 74LS14 will 
buffer 3 signals. Again, you want to put this as close to the cotnroller 
as you can.

-tony



More information about the cctech mailing list