Sistema

Sezione dedicata ai Microcontrollori e ai Sistemi Embedded

Re: Problema con prototipo calcolatrice z80

Postby legacy » 17 Nov 2016, 13:04

anche da USB, screenshot su chiavetta
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: Problema con prototipo calcolatrice z80

Postby Just4Fun » 17 Nov 2016, 13:33

legacy wrote:anche da USB, screenshot su chiavetta


Giusto! mi sono talmente abituato bene con la lan che mi ero dimenticato dell'usb... :D
User avatar
Just4Fun
 
Posts: 153
Joined: 13 May 2016, 18:17

Re: Problema con prototipo calcolatrice z80

Postby legacy » 18 Nov 2016, 12:35

sul mio DSO la LAN non era opzionale
in compenso ho la USB device, ovvero potrei
vedere il DSO + o - come chiavetta usb

pero' e' + comodo usare una chiavetta usb da usb-host
sul frontale ho una presina dove infilare la chiavetta
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Re: Problema con prototipo calcolatrice z80

Postby legacy » 18 Nov 2016, 12:59

con Lan, il prox DSO che prendero'. Forse.
Last edited by legacy on 20 Nov 2016, 22:06, edited 1 time in total.
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

Postby alieno75 » 18 Nov 2016, 23:06

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

Re: Problema con prototipo calcolatrice z80

Postby Just4Fun » 19 Nov 2016, 19:35

Scusa un attimo.... ho riaperto lo schema della breadboard che avevi postato (ultima versione).

Mi sono accorto che dallo schema risulta che hai usato un integrato del tipo 74AC32N come porte OR...

Puoi verificare e confermare please...? (controlla ESATTAMENTE che integrato hai come porte OR, e per esattamente intendo ogni singola lettera o cifra stampigliata sull'integrato... )

X comodità riallego il tuo schema.
Attachments
schema.pdf.zip
(73.75 KiB) Downloaded 167 times
User avatar
Just4Fun
 
Posts: 153
Joined: 13 May 2016, 18:17

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 20 Nov 2016, 16:58

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

Re: Problema con prototipo calcolatrice z80

Postby Just4Fun » 20 Nov 2016, 17:57

Ed allora mi sa che ho trovato un altro inghippo.... :lol:

La serie 74HC NON E' COMPATIBILE in ingresso con i livelli TTL (e lo stesso vale x la serie 74AC), ed il tuo Z80 ha tutti i livelli TTL (se fosse stato di tipo CMOS forse avrebbe funzionato, perché sotto determinate condizioni ha i livelli logici compatibili con la serie 74HC)!!!!!!

X cui devi togliere il 74HC32 e sostituirlo con uno 74HCT32 oppure 74ACT32 oppure 74LS32!!!

Scommetto che una volta sostituito avrai una gradita sorpresa... ;)

Ovviamente tutto ciò è facilmente desumibile dai datasheet... as usual... :mrgreen:
User avatar
Just4Fun
 
Posts: 153
Joined: 13 May 2016, 18:17

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 20 Nov 2016, 21:48

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

Re: Problema con prototipo calcolatrice z80

Postby Just4Fun » 20 Nov 2016, 23:29

Direi proprio di sì....

Una prova che puoi fare è di saltare le porte OR e l'inverter IC31C e collegare il pin del clock dello 74LS374 direttamente al pin /IORQ dello Z80.
In teoria dovrebbe funzionare lo stesso usando il solito programmino di prova di 3 istruzioni...
User avatar
Just4Fun
 
Posts: 153
Joined: 13 May 2016, 18:17

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 22 Nov 2016, 20:30

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

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 22 Nov 2016, 21:01

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

Re: Problema con prototipo calcolatrice z80

Postby Just4Fun » 23 Nov 2016, 12:36

Just4Fun wrote:Una prova che puoi fare è di saltare le porte OR e l'inverter IC31C e collegare il pin del clock dello 74LS374 direttamente al pin /IORQ dello Z80.
In teoria dovrebbe funzionare lo stesso usando il solito programmino di prova di 3 istruzioni...


Ripeto...

Una prova che puoi fare è di saltare le porte OR e l'inverter IC31C e collegare il pin del clock dello 74LS374 direttamente al pin /IORQ dello Z80. Quindi non devi mettere in mezzo l'inverter...

Rivediti come funziona il timing del ciclo macchine di I/O write. Il momento in cui "cloccare" il 73LS374 (che ha il clock sul fronte 0->1) è esattamente l'istante in cui /IORQ cambia da 0 -> 1 (che è l'istante in cui il bus dati dello z80 contiene il dato stabile). X cui niente inverter.... così dovrebbe funzionare.

Il resto non l'ho proprio capito.... se devi "fermare" i vari segnali in un certo punto, usa il pulsante del pic x arrivare al punto dove fermarti... e poi fai i controlli del caso...
User avatar
Just4Fun
 
Posts: 153
Joined: 13 May 2016, 18:17

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 23 Nov 2016, 18:24

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

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 23 Nov 2016, 21:08

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

Re: Problema con prototipo calcolatrice z80

Postby Just4Fun » 24 Nov 2016, 09:01

alieno75 wrote:Ho fatto un' ulteriore prova, dopo un secessivo reset ho cloccato fino al raggiungimento del livello basso di IORQ
e sono andato questa volta a misurare direttamente i valori in Volt sugli ingressi del 374 ed ottengo i seguenti valori:


Code: Select all

D0=1,87V  D1=4,76V D2=0V D3=0V D4=4,59V D5=0V D6=0V D7=2,80V




Qs è il giusto modo di procedere... ;)

Allora... i valori in Volt che hai misurato mi sembrano un pò "strani".... credo che ci sia qualche cosa in mezzo che crei "disturbo"... o un componente che funziona male (o non è correttamente alimentato) o una cattiva connessione... o una resistenza di pull-up o pull-down sbagliata...

Ora bisogna capire perchè.

A qs punto, visto che hai tutto l'occorrente x fare misure, proverei a staccare completamente il 74LS374 dal bus dati e a tenere collegato SOLO lo Z80 e la FLASH, ed effettuare una nuova misura delle tensioni sui vari pin del bus dati nello stesso punto del programmino di test (ovvero quando /IORQ è LOW).

Una cosa... oltre la FLASH e lo Z80 c'è qualche altro integrato collegato al bus dati (D0-D7)?
User avatar
Just4Fun
 
Posts: 153
Joined: 13 May 2016, 18:17

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 24 Nov 2016, 12:43

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

Re: Problema con prototipo calcolatrice z80

Postby Just4Fun » 24 Nov 2016, 13:40

Ma nello schema ultimo che hai postato c'era anche una RAM tipo CY62256... che fine ha fatto?
User avatar
Just4Fun
 
Posts: 153
Joined: 13 May 2016, 18:17

Re: Problema con prototipo calcolatrice z80

Postby alieno75 » 24 Nov 2016, 17:47

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

Re: Problema con prototipo calcolatrice z80

Postby Just4Fun » 25 Nov 2016, 09:28

Ok. Allora direi di scollegare il 74LS374 dal bus dati e misurare nuovamente il livello di D0-D7, esattamente come hai fatto prima, nello stesso punto del prog.

Visto che ci sei, misura anche sul bus dati quello che viene letto dallo Z80 durante il secondo ciclo macchina della prima istruzione del prog di test (lda, 0). Tieni presente che devi misurare il bus dati non quando /M1 è LOW (perchè in quel momento stai leggendo il codice della istruzione lda, 0), ma quando subito dopo /RD e /MREQ sono LOW e /M1 è HIGH. Questo è l'istante nel quale sul bus dati è presente il valore che verrà caricato in accumulatore (che nel tuo caso è pari a 0) e che poi viene scritto sulla periferica (questo perchè l'istruzione LDA, 0 è composta da 2 cicli macchina; il primo è un ciclo di opcode fetch che legge il codice della istruzione LDA, il secondo è un ciclo di memory read nel quale viene letto il dato da caricare in accumulatore. Ovviamente /M1 va LOW solo durante il primo ciclo, nel secondo /M1 rimane HIGH e solo /RD e /MREQ vanno LOW essendo una lettura da memoria.).
User avatar
Just4Fun
 
Posts: 153
Joined: 13 May 2016, 18:17

PreviousNext

Return to Microcontrollori e microprocessori

Who is online

Users browsing this forum: No registered users and 1 guest

cron