ho per le mani un vecchio z80 acquistato su ebay alcuni mesi fa,ho montato il circuito classico per testarlo mettendo tutti i piedini di controllo in input ( cioe wait,int,ecc.. ) a livello alto, 4 led sui bit meno significativi del bus indirizzi e tutte le linee dati a massa con 8 resistenze da 560 ohm(per simulare l istruzione nop).
tutto funziona correttamente i segnali di read e write si comportano bene, il problema e dato dal fatto che questo z80 esegue nop all infinito a prescindere dallo stato delle linee dati, me ne sono accorto perche collegandolo alla eeprom lui continuava a incrementare il bus indirizzi all infinito ignorando i vari jump nel codice.
qualcuno sa aiutarmi? e normale, sto sbagliando qualcosa oppure e rotta la cpu?
z80 non esegue codice
Moderatori:
Paolino,
fairyvilje
7 messaggi
• Pagina 1 di 1
0
voti
SUppongo che tu abbia usato qualcosa del genere
http://www.z80.info/z80test0.htm
Però, se non hai un oscilloscopio a più canali, o meglio un analizzatore di stati logici, e neppure un circuito per lo step-by-step è difficile fare diagnosi con dei led.
Se tutta la circuiteria è a posto e se gli opcode nella EPROM sono a posto, sarà la CPU che non va.
Però prima di dire che è questo, occorre essere certi al 200% che l'hardware sia corretto.
http://www.z80.info/z80test0.htm
Però, se non hai un oscilloscopio a più canali, o meglio un analizzatore di stati logici, e neppure un circuito per lo step-by-step è difficile fare diagnosi con dei led.
Se tutta la circuiteria è a posto e se gli opcode nella EPROM sono a posto, sarà la CPU che non va.
Però prima di dire che è questo, occorre essere certi al 200% che l'hardware sia corretto.
-

Brianz
5.828 5 10 - CRU - Account cancellato su Richiesta utente
- Messaggi: 858
- Iscritto il: 24 mar 2016, 11:27
0
voti
Bei tempi quelli in cui programmavo lo Z80
Sicuramente lo hai già fatto ma hai dato l'impulto di reset?

Sicuramente lo hai già fatto ma hai dato l'impulto di reset?

http://millefori.altervista.org
Tool gratuito per chi sviluppa su millefori.
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)
Strumento per formule
Tool gratuito per chi sviluppa su millefori.
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)
Strumento per formule
-

posta10100
5.550 4 10 13 - Master EY

- Messaggi: 4832
- Iscritto il: 5 nov 2006, 0:09
0
voti
il reset dovrebbe essere apposto, ho un circuito rc da qualche secondo, comunque lo fornisco spesso manualmente.
il codice e caricato dentro la eeprom correttamente( sono solo 3 byte), penso sia qualcosa di hw, continuo a cercare
il codice e caricato dentro la eeprom correttamente( sono solo 3 byte), penso sia qualcosa di hw, continuo a cercare
0
voti
Sono andato a recuperare l'instruction set dello Z80.
Se sono solo 3 byte allora il programma dovrebbe essere questo:
ovviamente a partire dall'indirizzo 0x0000 della eprom.
Quindi dovresti vedere il bus indirizzi incrementare fino a 0x02 e poi tornare a 0x00.
Se sono solo 3 byte il jump è uno solo e vedere quello che fa è quasi impossibile senza almeno un oscilloscopio.
Per curiosità: che frequenza ha il clock?

Se sono solo 3 byte allora il programma dovrebbe essere questo:
- Codice: Seleziona tutto
C3 00 00
ovviamente a partire dall'indirizzo 0x0000 della eprom.
Quindi dovresti vedere il bus indirizzi incrementare fino a 0x02 e poi tornare a 0x00.
ramboluis ha scritto:continuava a incrementare il bus indirizzi all infinito ignorando i vari jump nel codice.
Se sono solo 3 byte il jump è uno solo e vedere quello che fa è quasi impossibile senza almeno un oscilloscopio.
Per curiosità: che frequenza ha il clock?

http://millefori.altervista.org
Tool gratuito per chi sviluppa su millefori.
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)
Strumento per formule
Tool gratuito per chi sviluppa su millefori.
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)
Strumento per formule
-

posta10100
5.550 4 10 13 - Master EY

- Messaggi: 4832
- Iscritto il: 5 nov 2006, 0:09
0
voti
si, il codice è quello.
comunque dopo un po di prove con clock step-by-step sono riuscito a seguire monitorando sia bus dati che indirizzi il programma e mi sono accorto che veniva eseguito perfettamente, semplicemente nei momenti in cui il bus indirizzi non viene usato mostra numeri strani, ma al momento del read l'indirizzo presente e quello giusto
comunque dopo un po di prove con clock step-by-step sono riuscito a seguire monitorando sia bus dati che indirizzi il programma e mi sono accorto che veniva eseguito perfettamente, semplicemente nei momenti in cui il bus indirizzi non viene usato mostra numeri strani, ma al momento del read l'indirizzo presente e quello giusto

7 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 11 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)

