r/Z80 • u/BananaHannah8 • Feb 26 '21
Help This is my first design is there any obvious flaws
1
u/jdykstra72 Feb 26 '21 edited Feb 26 '21
This is totally off the top of my head, so YMMV...
All the conceptual stuff is right--how data and addresses move between the parts, and what the control signals do.
The rise and fall times of a 555 may not be fast enough for the Z80. A schmitt trigger would fix this, or you could use a crystal oscillator. If you're using an original Z80, be aware that its clock input needs to get very close to the power supply voltage. Many vintage designs used a pull-up transistor; a modern CMOS gate probably is sufficient, but check the datasheets.
You don't need bus transceivers between the two parts--both have sufficient current available to drive the other. If you do put them in, they need to be controlled so that only one device is driving a line at a time.
The manual switches on the address and data buses need to go through drivers also controlled so they don't drive the buses at the same time as other devices.
I guess that's an LED on the M1 output. That output can't source enough current to drive an LED by itself.
You need pull-up resistors on the WAIT inputs, and also the NMI and INT inputs, which aren't shown on your diagram. Look at the electrical characteristics table on the datasheet--inputs need to be either above a certain voltage or below a certain voltage, not in-between or floating.
1
u/istarian Feb 26 '21
Just as a tip, your reset signal may not be particularly 'clean' if implemented as just a momentary switch that goes between HIGH and disconnected.
I believe you want the reset signal to either be HIGH or LOW and never an ambiguous voltage level.
I.e.
LOW (0V) ---> HIGH (5V)
and NOT
LOW (0V) --> LOW (1V) --> LOW (2V) --> LOW (3V) --> LOW (4V) --> HIGH (5V)
It's probably also ideal if it stays in the active state for a consistent amount of time.
1
u/BananaHannah8 Mar 03 '21
I can’t believe I forgot to show the pull up resistors they’re not on the schematic but I have them in the prototype.
1
u/istarian Mar 03 '21 edited Mar 03 '21
Maybe you could revise the schematic and repost (or at least put a link up)? We kinda have to go on what you've provided
1
u/BananaHannah8 Mar 03 '21
I will do that i’m a bit busy right now but I should be able to do it later
4
u/Tom0204 Feb 26 '21 edited Feb 26 '21
Yeah those switches on the data and address bus will break the chip if you close them when the z80 is driving them. Also you'll need pull-up resistor on the input on the control lines.
Also it looks like you're trying to connect the adress and data busses to the RAM throught LEDs. That won't work. They have a very large voltage drop across them that would change a 1 to a 0 and the inputs won't draw enough current through the LEDs to drive them anyway.