I've been tinkering with this idea for quite some
time and have a couple of
observations.
The project I'm been pondering would use AVR micro along with an IDE disk to
emulate a CS80 drive. The IDE interface is pretty simple although like the
HPIB it does requires a lot of I/O lines. Between all the handshaking and
IIRC, the interface to a CF card is essentially IDE, so you could use
non-rotating memory if you wanted to.
control signals with the IDE and HPIB devices, it
would require a TON of
I/O. Either that or you have to do some fancy muxing of the I/O.
Or you could use a microprocssor rather than a microcontroller with
external ROM and RAM chips. Then hange the iDE drive off the bus as was
origianlly intended, and connect up an HPIB controller chip or a parallel
port chip to bang out the HPIB protocol. It puts the chip count right up,
but it means the only programmed drvice is the firmware EPROM (which is
easy to provgram)m and it's a lot easier to debug the firmware (you can
use a logic analyser on the processor bus).
So, to make the HPIB control simpler, I'd prefer to use a HPIB controller
chip like the NEC7210. That chip just hangs on an 8-bit bus and uses
internal registers to free up some of the I/O lines on the micro. The
biggest problem is finding a reliable supply of HPIB controller chips.
Yes, that's the problem. Most of the traditional HPIB interface chips
have long beend discontinued. And ehile you might be able to fet them for
repair purposed, I'd rahter not such a device in a new design.
My solution to this would be to break this project in
to two separate
smaller projects. Firstly, use a separate microprocessor to emulate the 7210
controller chip. This would provide several advantages:
Why do you need 2 mircoprocessors? The HPIB low-level protocol is simple
enough that it could easily be handled by whatever chip is running the
main software
3.) The 75160/1 pairs are still available. I think
DIGIKEY has them in stock
at a reasonable price. Note that these are not "just" I/O buffers. There are
a few additional gates in the devices that add some more logic that one
might expect.
So, the AVR could eliminate the need for the 75160/1 bus driver chips. If
you fry a $4 AVR... Who cares? It doesn't cost much more than the dedicated
drivers.
The problem is that the AVR needs to be programmed, It's a lot easier to
replace a DIL packaged IC (particularly if you put it in a socket) than
have to program a new AVR and plug it in.
I am also not sure (I would have to check) if the AVR (or any other
mcirocontoller) poer pins meet the specs for driving/sensing an HPIB
line.
4.) You might be able to build a simple
"adapter" board and use the AVR in
place of hard-to-find 7210's in existing equipment.
I doubt it. I don't think an AVR on its own would be able to respond to
the states of the host-interface address/data/control lines quickly
enough. You'd need some hardware to provide the actually 'registers'. OK,
it could be a CPLD or something, but this makes things ever more
complicated. If you're goign to use CPLDs of FPGAs, you might as well
make the entire HPIB interface in one and not use the AVR at all.
-tony