2003-07-10 | Example Xfig Diagrams | Z-80 Homebrew Computer - Parallel Port Opto-isolator
My Z-80 homebrew computer communicates via the PCs parallel printer port. I designed a circuit that uses opto-isolators to protect the PC from rogue voltages. Also, if the wiring in your house is funky, opto-isolators can help quite a bit with line noise. Even if you have no interest in building a Z-80 homebrew computer, this circuit could be used if you want to, say, hook your lab experiments up to the parallel port on your PC. Warning: you could very well electrocute yourself or destroy your PC. Don't tinker with this unless you are absolutely sure about what you are doing.
Let's build an optoisolator interface for the parallel port! I have these most fabulous NEC PS9601 optoisolators with gates for the output. Since we aren't going bidirectional on the printer port, our design challenge is pretty easy.
The first problem in interfacing this, is that we should really buffer the parallel port outputs before we do anything else with the lines. We are only gauranteed the specs of a 74ls374 on the output, so driving the LED on the optoisolator is a little sketchy. Also, we want to fully isolate in the other direction too, so we need to power the optoisolators coming in. Here is how I got the 5v power out by hooking up a wire to my graphics/parallel card:
Most circuit boards will have decoupling capacitors between +5 and ground. They are used to reduce glitches in the power supply when the circuits switch, particularly with TTL. I just found the decoupling capacitor for the 74ls244 and soldered onto that. I drilled a hole through the mounting plate of my parallel port board, put heat shrink tubing around the wire for flex and wear protection, and put an insulated connector on the end of the wire. If you prefer, you could just use a power-y to get the power out of the pc. Yet another option is to use a separate power supply with a common ground via pin 25 on the parallel port. I think this kind of defeats the purpose, since the main thing is to avoid touching the ground of the pc with any other source.
OK the first step after coming up with the rough design is to breadboard the circuit. I have a lot of .1 and .01 microfarad caps spread around for decoupling. I also have some electrolytics to temper the power I'm getting from long supply lines. Now to write up the schematic in Xfig and build the puppy.
Here is a png of the schematic:
There is a lot of room in the circuit for additional control, since there are a lot of chip select signals that are wired selected. This could easily be modified for bi-directional data. You might also be able to design in some safeguards, like requiring the homebrew and the PC to enable the buffers before transfer takes place. This isn't as critical for only one direction, but might be useful if you wanted to share the same i/o port on the device (Homebrew computer). You would then want to disable the output from the isolator circuit until you are reading from the PC. This would keep you from blowing up your PIO if you wrote to the same port that was hooked up to the PC/Isolator circuit.
I've really over-designed this. The outputs of the 9601 can sink an absolute maximum of 50 milliamps, and the printer port is fully buffered with '244s. Some parallel ports could probably drive the 9601 directly. I probably could also have used optoisolators that had multiple detector/LEDs on in one package. It seemed though, that the 9601 was optimized for digital data, so I figured this would be the safest route.
If you can view this in XFIG, it is much nicer. Here is the fig file. The interface, soldered up and ready to stick in a box:
Here is the constructed interface:
Saturday, 2018-08-11 13:13:44: This held up my homebrew completion for quite awhile. I think I built most of this in 1998.diagrams xfig homebrew z_80
Articles tagged with diagrams on O.R.N.G.:
Articles tagged with xfig on L1G3R Information Systems:
Articles tagged with homebrew on O.R.N.G.:
2004-06-06: Paging 2K ROMS With the Odyssey 2
2004-05-15: Installing 4K EPROMs in 2K Odyssey 2 Cartridges
2004-02-29: Replacing the ROM in the Odyssey 2
2003-07-14: Z-80 Homebrew Computer - Interfacing With Windows 2000
2003-07-13: Z-80 Homebrew Computer - Dirt Cheap Bootstrap Loader
2003-07-11: Z-80 Homebrew Computer - Interfacing with an IBM XT
2003-07-09: Z-80 Homebrew Computer - Yet More Pictures
2003-07-08: Z-80 Homebrew Computer - More Pictures
2003-07-07: Z-80 Homebrew Computer - Pictures!
2003-07-05: Z-80 Homebrew Computer - Introduction
1991-09-22: Putting the Homebrew Away