Sistema

Sezione dedicata ai Microcontrollori e ai Sistemi Embedded

Sistema

Postby alieno75 » 29 Jun 2016, 10:19

Cancellato
Last edited by alieno75 on 29 May 2018, 18:16, edited 2 times in total.
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Problema con prototipo calcolatrice z80

Postby Just4Fun » 29 Jun 2016, 15:10

Ciao,
vedo che ti sei ispirato da qui: http://stor.altervista.org/elettronica/newtsp/newtsp.htm

Comunque mi sembra che hai fatto notevoli passi in avanti.

La 27SF010 è una FLASH e dal datasheet sembra che si possa programmare usando un EPROM programmer, ma la cancellazione ovviamente è elettrica: "In addition to EPROM functionality, these devices also support electrical Erase operation via an external programmer" (vedi datasheet http://www.batronix.com/pdf/SST27SF.pdf), anche se a mia memoria non saprei come come comandare il segnale di cancellazione della flash dal programmatore di Eprom...

Il resto di quello che hai scritto non l'ho capito, comunque prima di tutto ti consiglio la seguente prova visto che ora hai il led che ti segnala lo stato di Halt della CPU: programma nella flash una sola istruzione di HLT all'indirizzo 0x0000.
All'accensione si dovrebbe accendere il led di HALT, e lo stesso dopo aver premuto il tasto RESET.
Questo è la + basilare prova funzionale che mi viene in mente x sapere se la CPU riesce ad eseguire almeno una istruzione.

Se questa prova dà esito positivo si può andare avanti con test successivi (altrimenti sono dolori...)

Ciao.
User avatar
Just4Fun
 
Posts: 153
Joined: 13 May 2016, 18:17

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 29 Jun 2016, 18:53

Cancellato
Last edited by alieno75 on 26 May 2018, 06:35, edited 1 time in total.
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Problema con prototipo calcolatrice z80

Postby Just4Fun » 29 Jun 2016, 19:43

Allora sono cetrioli x diabetici......

Casistica:

1. c'è un problema nella flash (caso facile)
2. manca il clock o non è adeguato (caso facile)
3. qualsiasi altra cosa (amen)

Cominciamo con il punto 1.

Sei sicuro che la flash sia correttamente programmata (e funzionante)? Il tuo programmatore ti permettere di leggere e verificare che quanto supposto scritto sia EFFETTIVAMENTE presente nella flash...?

Voglio dire, come prima cosa verificherei con il programmatore se il contenuto dell'indirizzo 0x0000 della flash sia effettivamente pari a 0x76 (a memoria dovrebbe essere l'opcode hex della istruzione HLT, però controlla.... sono passati 30 anni da quando programmavo direttamente in esadecimale...).

Ciao
User avatar
Just4Fun
 
Posts: 153
Joined: 13 May 2016, 18:17

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 29 Jun 2016, 20:50

Cancellato
Last edited by alieno75 on 26 May 2018, 06:36, edited 1 time in total.
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Problema con prototipo calcolatrice z80

Postby Just4Fun » 29 Jun 2016, 21:47

Allora passiamo al punto 2.

Hai detto che stai usando un clock molto lento.
Okkio che se hai la versione NMOS dello Z80 (e non la + "recente" versione CMOS), potrebbe non gradire clock eccessivamente bassi...

Ho dato un'occhiata veloce in giro ed ho trovato qs interessante post sul tema: https://twitter.com/gsuberland/status/737412534257504258

Uno dei tizi dice chiaramente che x la versione NMOS si raccomanda un periodo LOW minimo del clock di 2 microsecondi, mentre può permanere in HIGH indefinitamente:

brouhaha ‏@brouhaha May 30

@gsuberland NMOS Z80 CPU is fully static with clock high, can stop however long you like. Max clock low is 2 us.


x cui applicare clock inferiori a 250KHz (LOW 2us, HIGH 2us, duty cycle 50%) non è cosa buona.

X cui ti suggerisco di rimettere la flash e applicare un clock non inferiore a 500Khz, duty cycle 50% circa (tanto x stare tranquilli).
Sarebbe alquanto opportuno controllare il segnale di clock con un oscilloscopio...
User avatar
Just4Fun
 
Posts: 153
Joined: 13 May 2016, 18:17

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 30 Jun 2016, 11:57

Cancellato
Last edited by alieno75 on 26 May 2018, 06:37, edited 1 time in total.
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 30 Jun 2016, 14:43

Cancellato
Last edited by alieno75 on 26 May 2018, 06:37, edited 1 time in total.
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Problema con prototipo calcolatrice z80

Postby Just4Fun » 30 Jun 2016, 18:29

Allora..... come ti dicevo siamo in zona "cetrioli x diabetici"....

detto ciò:

1.5MHz può andare bene come clock. Considera che le prime versioni avevano come clock massimo 2.5MHz se ben ricordo, e poiché non è chiara che versione hai va bene così x adesso.

Inoltre se la CPU che stai usando è sempre la stessa delle prime prove, non è detto che nel frattempo non si sia fritta... Voglio dire che a qs punto non bisogna dare nulla x scontato....

Per quanto riguarda la EPROM lasca perdere... se riesci a scrivere e verificare la flash con il programmatore che hai va benissimo così.

L'esempio che hai trovato mi sembra di fatto equivalente a quello di Fin, solo che non c'è la parte I/O e la selezione degli spazi di indirizzamento usa uno schema un pò differente, forse un tantino + "veloce" e lineare.
Però ho visto che hanno collegato il pin 18 della CPU a Vcc. MALISSIMO!!!!!
Il pin 18 è l'uscita che indica lo stato di HALT, e così facendo friggeresti la CPU!!!

Allora, ti consiglio prima di tutto di prendere carta e matita e farti un TUO schema elettrico di quello che vuoi fare su breadboard.
Nello schema DEVE essere chiaro come è collegato (o non collegato) ciascun pin di OGNI integrato che usi.
Inoltre deve essere riportato per ogni pin sia il numero che il significato (es. pin 18 /HALT).
L'assegnazione dei pin prendila DIRETTAMENTE dai datasheet (es. questohttp://www.grimware.org/lib/exe/fetch.php/documentations/devices/z80/datasheets/z80.product.specification.1989.zilog.pdf per lo Z80) e non ti fidare MAI di schemi trovati in giro e non dare nulla x scontato. Nel (lungo) viaggio che stai x iniziare non sono ammessi errori, pena.... una bella frittura di silicio e cipolle....

Naturalmente grande attenzione alla tensione di alimentazione e, in genere, alla lunghezza delle connessioni.

Parti pure dall'ultimo esempio che hai postato, in cui inizierei solo con la CPU e la Flash più la logica di contorno e il clock.

Quando hai pronto lo schema elettrico postalo e vediamo come va...
L'obiettivo è quello di mandare in HALT la CPU. Se proprio non ci si riesce inizierei a pensare a sostituire la CPU con una nuova...
Valuta se usare sulla/sulle breadbord degli zoccoli ZIF... x la CPU e la flash...

PS: fossi in te comincerei a cercarmi un altro Z80, magari in versione CMOS, magari 2 o 3....

Ciao.
User avatar
Just4Fun
 
Posts: 153
Joined: 13 May 2016, 18:17

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 30 Jun 2016, 20:03

Cancellato
Last edited by alieno75 on 26 May 2018, 06:38, edited 1 time in total.
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Problema con prototipo calcolatrice z80

Postby legacy » 30 Jun 2016, 23:57

ma prenditi una calcolatrice con su un z80, la hacki, e vivi felice :D
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: Problema con prototipo calcolatrice z80

Postby Just4Fun » 01 Jul 2016, 12:52

legacy wrote:ma prenditi una calcolatrice con su un z80, la hacki, e vivi felice :D


eddai... lasciaci giocare.... :lol:


Allora... ho pensato ad uno schema ancora + semplice (vedi allegato) x provare a mandare in HALT la CPU.
Sono partito dal tuo ultimo schema (a proposito avevi tralasciato nel disegno il pin 28... :!: ).

In qs modo non serve neanche la flash, perché l'istruzione di HALT (0x76) è cablata sul bus dati... (il bus indirizzi A0-A15 non è collegato ad alcunché).
Di conseguenza, se tutto funziona, appena la CPU esce dal reset ed esegue la prima istruzione, va in HALT (x cui il pin 18 dovrebbe diventare LOW).

Mantenendo premuto il pulsante di reset il pin 18 dovrebbe tornare HIGH (ma appena lo rilasci esegue la prima istruzione x cui torna in HALT...).

Ciao.
Attachments
test_1.zip
(164.94 KiB) Downloaded 607 times
User avatar
Just4Fun
 
Posts: 153
Joined: 13 May 2016, 18:17

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 01 Jul 2016, 12:57

Cancellato
Last edited by alieno75 on 26 May 2018, 06:39, edited 1 time in total.
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 01 Jul 2016, 13:04

Cancellato
Last edited by alieno75 on 26 May 2018, 06:39, edited 1 time in total.
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Problema con prototipo calcolatrice z80

Postby Just4Fun » 01 Jul 2016, 13:21

Il pin 28 si usava con le Ram dinamiche.... è una uscita e non la devi collegare ad alcunchè... però è comunque un pin e quindi deve essere presente nel disegno/"progetto"...

Comunque questo lo trovi nel datasheet (http://www.zilog.com/appnotes_download.php?FromPage=DirectLink&dn=PS0178&ft=Product%20Specification%20(Data%20Sheet)%20%20&f=YUhSMGNEb3ZMM2QzZHk1NmFXeHZaeTVqYjIwdlpHOWpjeTk2T0RBdmNITXdNVGM0TG5Ca1pnPT0=), che deve diventare la tua Bibbia e il tuo Vangelo... non credere a niente e a nessuno se non ai tuoi datasheet... neanche a me... :lol:
User avatar
Just4Fun
 
Posts: 153
Joined: 13 May 2016, 18:17

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 01 Jul 2016, 16:55

Cancellato
Last edited by alieno75 on 26 May 2018, 06:39, edited 1 time in total.
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 01 Jul 2016, 19:28

Cancellato
Last edited by alieno75 on 26 May 2018, 06:40, edited 1 time in total.
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Re: Problema con prototipo calcolatrice z80

Postby Just4Fun » 01 Jul 2016, 21:56

E' possibile, come è possibile che il clock non funzioni o il segnale di reset non vada... o tutte e tre le cose insieme, compresa una cattiva alimentazione. Almeno ora abbiamo un pò ristretto la casistica...

Visto che hai una breadboard abbastanza grande, comincerei con lo staccare ogni "cordone ombelicale" con quella che chiami "scheda madre", (alimentazione compresa) ed a realizzare il clock e il circuito di reset direttamente sulla breadboard, in modo da accorciare al massimo la lunghezza del filo che trasporta il clock.

Mandare in giro una onda quadra da 1,5MHz con quei filetti non è il massimo....

Ti consiglio prima di "ripulire" la breadboard da eventuali componenti e fili non utili x l'ultimo schema che ho postato.

Di che strumentazione disponi oltre il multimetro della foto:

* oscilloscopio?
* frequenzimetro?
* generatore di funzioni?


Hai una scheda Arduino Uno?

Che cosa usi come alimentatore?

Hai controllato quanto è la tensione di alimentazione direttamente sui pin di alimentazione della CPU?
User avatar
Just4Fun
 
Posts: 153
Joined: 13 May 2016, 18:17

Re: Problema con prototipo calcolatrice z80

Postby legacy » 01 Jul 2016, 22:10

Just4Fun wrote:eddai... lasciaci giocare.... :lol:


vero vero :lol: :lol: :lol:

pero' l'hack di un sistema esistente e funzionante (come hw)
non e' affatto una cattiva idea *per giocare*, non e' nemmeno banale
cioè dovrebbe cmq offrire parecchie ore di divertimento
con pero' la possibilita' di giocarsela + sulla malizia dei trucchi sw||hw
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 02 Jul 2016, 08:02

Cancellato
Last edited by alieno75 on 26 May 2018, 06:41, edited 1 time in total.
alieno75
 
Posts: 135
Joined: 21 Apr 2013, 19:39

Next

Return to Microcontrollori e microprocessori

Who is online

Users browsing this forum: No registered users and 2 guests

cron