As mentioned in the last post, the design I came up with back
in the day ended up being across multiple boards and, to an extent, followed
what “Build Your Own Z80 Computer” described. There was
a discrete clock circuit, a de-bounced reset circuit, the Z80 CPU, a few
EPROMs, a few static RAMs, and some address decoder, buffer, and glue logic
circuits. It was quite a lot of stuff for just the basic workings of a computer
system.
The EPROMs were a huge issue in themselves. First, I didn't
have a way to program them. I did build up a circuit to provide the correct
voltages and timing but I still had to run everything manually. Imagine having
to set the address on a set of DIP
switches, then set the data byte on another set of DIP switches, then press a
button that would apply the correct programming pulse. This had to be done for
every byte programmed. Miss a bit? Start over! And by starting over, I mean
putting the EPROM in the UV eraser (at least I had one of those) for a few
hours.
I still don't have a chip programmer but I believe I have
come up with a design that eliminate the need for one, at least, directly. The
schematic is linked at the end of this post. The design has been simplified as
follows. The discrete clock circuit has been replaced by a 2 MHz crystal
oscillator (Digikey XC232-ND, $2.98 USD). The Z80 is a standard, 40 pin DIP.
The memory will consist of a single 128Kx8 static RAM chip (Digikey
1450-1017-ND, $2.53 USD). There will be no non-volatile storage. There will be
an integrated programmer that will load the RAM chip through a USB serial
connection. The chip has both an active high and active low enable and that
made it extremely easy to interface to the Z80 by using both IORQ an MREQ
lines. Since the Z80 only has 64K of memory address space, I will be
"wasting" half of the chip but the ease of implementation makes up
for it.
I initially had the Z80, RAM, and programmer all on a single
board. I ended up splitting the programmer from the CPU section out of convenience.
By splitting the circuit, I was able to piggy back the smaller boards onto
other orders rather than having to place a unique order for the one board. It's
a long story but it works the best for me.
The remainder of the schematic is the interface to the
programmer and an expansion port for future I/O.
No comments:
Post a Comment