z80 noob needs help......

Thread Starter

dmowziz

Joined Jan 18, 2019
81
https://forum.allaboutcircuits.com/threads/partial-z-80-computer-something-seems-wrong.29202/
my question similar to this post

Hi masters, I want to enter the z80 world but seems it does not want me easily :(

please someone assist me..having a problem..Trying to perform no op but it seems not to be working...interrupt and non masking int I pulled high...wait, busrequest and reset also high through 2k resistors..data pins low with 2k resistors... my input V is about 6 volts.

I have 2 led's on A0 and M1..Expecting to atleast see A0 flash but it's not...looks like it's going from say 4 volts to 3 volts

my z80 is z84c0020pec...is this a problem?

Unfortunately I'm not home so no access to multimeter or oscilloscope.

Ideas please!!! I want to join you guys in knowledge. Thanks
 

Papabravo

Joined Feb 24, 2006
20,604
https://forum.allaboutcircuits.com/threads/partial-z-80-computer-something-seems-wrong.29202/
my question similar to this post

Hi masters, I want to enter the z80 world but seems it does not want me easily :(

please someone assist me..having a problem..Trying to perform no op but it seems not to be working...interrupt and non masking int I pulled high...wait, busrequest and reset also high through 2k resistors..data pins low with 2k resistors... my input V is about 6 volts.

I have 2 led's on A0 and M1..Expecting to atleast see A0 flash but it's not...looks like it's going from say 4 volts to 3 volts

my z80 is z84c0020pec...is this a problem?

Unfortunately I'm not home so no access to multimeter or oscilloscope.

Ideas please!!! I want to join you guys in knowledge. Thanks
What do you have for CLOCK Input?
 

Papabravo

Joined Feb 24, 2006
20,604
For that to work the internal circuitry must be static. If not then you are up a creek. If the internal circuitry is dynamic then it needs to be refreshed periodically. That is why in the AC characteristics you see a maximum on the the clock high and low time. 2000 nannoseconds or 2 microseconds. Minimum clock speed would be 250 kHz. A static design from that era would have required a much larger chip than was possible in that era (c. 1978)

EDIT: This is for the NMOS part only. Originally I failed to notice there were two sets of AC characteristics. I never saw a CMOS z80, back in the day.
 
Last edited:

Thread Starter

dmowziz

Joined Jan 18, 2019
81
please explain this "For that to work the internal circuitry must be static" thanks.

so I can't use 1hertz or like 5?
 

Papabravo

Joined Feb 24, 2006
20,604
please explain this "For that to work the internal circuitry must be static" thanks.

so I can't use 1hertz or like 5?
No, you cant use a very low frequency like 1 or 5 Hertz. What made you think that you could? Don't you read the datasheets? A "dynamic" memory cell such as you might use for a register needs a single transistor, and requires periodic refreshing. A "static" memory cell requires 6 transistors and will hold it's value down to a clock rate of DC or "stopped". This was only possible in fully CMOS designs as the transitors got smaller and smaller. It was not possible in the NMOS designs of the 1978 era. A fully CMOS Z80 might be able to do this.

https://en.wikipedia.org/wiki/Dynamic_random-access_memory
https://en.wikipedia.org/wiki/Static_random-access_memory
 
Last edited:

Thread Starter

dmowziz

Joined Jan 18, 2019
81
There are videos online of z90's running at very low frequencies..The z80 I have is different? uses dynamic ram and not static ram you mean?

Can I make a circuit so it can run at a low frequency?
 

Papabravo

Joined Feb 24, 2006
20,604
There are videos online of z90's running at very low frequencies..The z80 I have is different? uses dynamic ram and not static ram you mean?

Can I make a circuit so it can run at a low frequency?
Yes, I believe there are Z80's with "static" internal circuitry for the "registers". This has nothing to do with the external memory. We are talking about the Program Counter, A Register, Status Register and so forth. Your setup has the databus wired to zeros so all instruction fetches are NOP's. You want to see the Program Counter which is output to the Address Buss cycle through all the addresses, but the part you have cannot do that according to the datasheet at a frequency of less than 250 kHz. Although your part is a CMOS design it is implmented from the NMOS design which uses dynamic circuitry. If you can find a CMOS part that allows the clock to go to a very low frequency then you can do what you want to do.

EDIT: It looks like there are two sets of AC characteristics, one for the NMOS part and one for the CMOS part. Please confirm which part you have. The NMOS part has a minimum clock speed, but the CMOS part does not.

You need to post a schematic so we can see what else may be going on. Do you have bypass capacitors between Vcc(Vdd) and Ground?

What is the rise time and fall time of your 1 Hz. clock edges? For the -020 part the right answer is 10 nanoseconds or less.
 
Last edited:

Thread Starter

dmowziz

Joined Jan 18, 2019
81
Okay thanks

"according to the datasheet at a frequency of less than 250 kHz". Please what part of the datasheet?

So no way at all to do what i want to do with this part?
 

Papabravo

Joined Feb 24, 2006
20,604
Okay thanks

"according to the datasheet at a frequency of less than 250 kHz". Please what part of the datasheet?

So no way at all to do what i want to do with this part?
For the NMOS part, see items 2 & 3 on page 38 of the datasheet at your link in the first post.
For the CMOS part, see items 2 & 3 on page 35 to see there is no minimum clock frequency, because there is no maximum clock period.

I apologize for not noticing there were two sets of AC characteristics in this datasheet. I never got to work with a CMOS z80, back in the day.

If you have the CMOS part, then post a schematic because there is something else we cannot see from your verbal description.
 

Papabravo

Joined Feb 24, 2006
20,604
The Z80 used by the TS is of CMOS version capable of running from DC to 20MHz.
View attachment 168824
he full datasheet from Mouser is attached below...
@absf Maybe. He posted a link to the datasheet in his original post. If it is the CMOS part, we need to see a schematic to see if there is another problem, like rise time/fall time on the clock or lack of bypass capacitors or ??. Can you tell from the initial verbal description what might be wrong?

Q: Does the LED on A0 have a current limiting resistor. Is the TS expecting A0 to sink or source the LED current? 2 mA is not a lot of current for most LEDs.
 

Thread Starter

dmowziz

Joined Jan 18, 2019
81
Yes, I believe there are Z80's with "static" internal circuitry for the "registers". This has nothing to do with the external memory. We are talking about the Program Counter, A Register, Status Register and so forth. Your setup has the databus wired to zeros so all instruction fetches are NOP's. You want to see the Program Counter which is output to the Address Buss cycle through all the addresses, but the part you have cannot do that according to the datasheet at a frequency of less than 250 kHz. Although your part is a CMOS design it is implmented from the NMOS design which uses dynamic circuitry. If you can find a CMOS part that allows the clock to go to a very low frequency then you can do what you want to do.

EDIT: It looks like there are two sets of AC characteristics, one for the NMOS part and one for the CMOS part. Please confirm which part you have. The NMOS part has a minimum clock speed, but the CMOS part does not.

You need to post a schematic so we can see what else may be going on. Do you have bypass capacitors between Vcc(Vdd) and Ground?

What is the rise time and fall time of your 1 Hz. clock edges? For the -020 part the right answer is 10 nanoseconds or less.
no bypass..I'll check the times when I get to an oscilloscope
 

Papabravo

Joined Feb 24, 2006
20,604
why 11 uf? why 2 capacitors
Excellent question. The big one is there to supply current to keep the supply voltage from sagging when things are switching. The small one provides a low impedance path for high frequency noise from fast edges. The fast edges will come from the required rise and fall time on the clock. These must be 10 ns. or less. The truly paranoid designer will add some 0.1 uF capacitors in parallel on surrounding chips for even lower impedance at very high frequencies for a total of 11.04 uF.
 

MrChips

Joined Oct 2, 2009
29,849
10μF + 1μF + 0.1μF = 11.1μF

The tolerance of the 10μF could easily be 10% or 20%. Hence taking the sum of the values is irrelevant.

The important point is each capacitor presents a different frequency response and filters power supply noise at different frequencies.
 

Thread Starter

dmowziz

Joined Jan 18, 2019
81
Thanks MrChips...You think this will make it work? I'll be trying in less than 12 hours..I really need it to work(A0 to blink)
 

MrChips

Joined Oct 2, 2009
29,849
Thanks MrChips...You think this will make it work? I'll be trying in less than 12 hours..I really need it to work(A0 to blink)
I don't know what is the problem.
You need to post the full part number of the chip and a circuit schematic of your project.
 
Top