Scsi and FDD emulation with RPI

Peter Corlett abuse at cabal.org.uk
Sat Jan 26 03:50:45 CST 2019


On Fri, Jan 25, 2019 at 08:58:46PM -0700, Warner Losh via cctalk wrote:
> In Japanese, but interesting.
> http://www.geocities.jp/kugimoto0715/index.html
> Talks about interfacing old school high current 5V interfaces like FDD or
> SASI/SCSI into into lower voltage lower current RPI pins.

Converting between "high" voltage 5V TTL to contemporary 3V logic is a general
problem with a number of canned solutions offered by chip manufacturers.

My favourite hobbyist project in this particular vein is described at
http://amigadrive.blogspot.com/. It has a Raspberry Pi emulate the weird Amiga
floppy format, including a special built-in disk image that provides a menuing
system to manage the other images. That's a much more polished interface than
the Goteks offer.

The circuit diagram is of interest for those not specifically interested in
Amiga software. Since the Shugart interface does not have bidirectional or
tri-state signals, it is sufficient to use a couple of resistors as a voltage
divider to convert from 5V to 3V, and for the other direction, some sort of
buffer or inverter (they use a 74LS06) which is OK with "1"s as low as 3V. You
can't get cheaper than a couple of resistors and a random chip pried out of the
carpet.

Bidirectional/tri-state busses such as SCSI are much more annoying to interface
with, and generally need funkier components. Usually they're annoying
surface-mount packaging, but that Japanese article has chosen the 74LS641 which
is also available in DIP. Now I'm aware that a DIP level-shifter chip exists,
some of my projects that were on ice due to not wanting to deal with SMD
components might get dusted off.

I am quite surprised that the Raspberry Pi is fast enough for SCSI, and even
more so that it is apparently running stock Linux rather than something custom
to meet hard real-time requirements as is the case for the Amiga floppy
project.



More information about the cctalk mailing list