Z80 Single Board Computer (SBC)

Sistema Embedded con Z80 CPU Board – Prima Parte

A partire da questo articolo viene illustrata la realizzazione di un computer per applicazioni embedded utilizzando un microprocessore storico e che tuttora viene ancora utilizzato nel campo dell’automazione industriale, lo Zilog Z80.


Vi starete chiedendo quale fosse l’utilità di utilizzare un sistema che tutti crederanno obsoleto soprattutto dopo l’avvento di Arduino. La risposta a questo interrogativo la si può dare semplicemente ricordando che lo Z80 è una CPU CISC (CISC = set istruzioni completo) ed al contrario dei microcontrollori diventa un sistema espandibile soprattutto quando si necessita di molta memoria RAM.


Zilog Z80 Single Board Computer può indirizzare direttamente fino a 64K di memoria che l’utente gestirà in funzione delle sue necessita ripartendola tra RAM e Memoria Programma.
E’ possibile, in alternativa, aumentare questa disponibilità di memoria mediante l’utilizzo di un gestore di memoria.


Il primo prototipo è stato realizzato creando un PCB per ogni singolo stadio che compone il sistema; successivamente è stato realizzato un secondo prototipo con tutti gli stadi su un solo PCB.


Iniziamo l’avventura cercando di capire la composizione dei singoli stadi:

.: IL CIRCUITO :.

Data la complessità circuitale, per capire come questo progetto lavora bisognerà innanzitutto conoscere il funzionamento del microprocessore, lo Z80. Cercherò, di seguito, di sintetizzarne il funzionamento in modo da poterne comprendere le varie funzionalità.

.: Z80 – PIEDINATURA E CONNESSIONI :.

  • i piedini A0 – A15 corrispondono alle connessioni del BUS INDIRIZZI mediante il quale il microprocessore imposta l’indirizzo di una locazione di memoria o di una periferica;
  • D0 – D7 corrispondono al BUS DATI mediante il quale il microprocessore trasferisce i dati dai propri registri verso la memoria e/o le periferiche e viceversa;
  • MREQ, IORQ, WR e RD corrispondono ai segnali di controllo della MEMORIA e delle PERIFERICHE;
  • RESET, CLK, VCC, GND corrispondono all’ALIMENTAZIONE ed ai segnali di base per il funzionamento del MICRO;
  • INT e NMI corrispondono ai segnali di INTERRUPT esterni;
  • BUSRQ e WAIT sono dei segnali di ingresso che solitamente non sono utilizzati;
  • il resto dei piedini normalmente non è utilizzato. Per la spiegazione completa vi rimando al datasheet.

Per poter funzionare, quindi, il microprocessore, oltre all’alimentazione, necessità di due unità “satellite” che generano rispettivamente il segnale di CLOCK ed il segnale di RESET.
I piedini INT, NMI, WAIT e BUSRQ dovranno essere collegati al livello logico 1 (VCC) tramite una resistenza di PULL-UP da 10Kohm.

Gli Schemi elettrici

.: CIRCUITO DI CLOCK :.

Questo è un semplice generatore di clock realizzato con la configurazione classica di oscillatore con porte logiche.

.: Z80 CIRCUITO DI RESET :.

Questo invece è il circuito di RESET.
Dispone di un POR (Power On Reset) e di un RESET manuale mediante la pressione del pulsante.

.: CPU-BOARD CIRCUITO COMPLETO :.

Come si può vedere dallo schema, i piedini INT, NMI, WAIT e BUSRQ sono collegati al livello logico 1 (VCC) mediante la resistenza R6.
Al piedino 26 è applicato il segnale di RESET proveniente dal circuito di POR ed al piedino 6 è applicato il segnale di CLOCK proveniente dal generatore di CLOCK.
C3 funge da disaccoppiamento sull’alimentazione.
SV1, SV2 e SV3 permettono al MICROPROCESSORE di comunicare con il mondo esterno (MEMORIA e PERIFERICHE).

La realizzazione del primo prototipo

.: CPU-BOARD PCB :.

L’immagine quì sopra mostra la disposizione dei componenti sul circuito stampato della scheda CPU-BOARD.
Sulla scheda è anche previsto un led di segnalazione della presenza dell’alimentazione.

.: BOARD 3D :.

Questa è la realizzazione virtuale 3D della scheda CPU-BOARD del progetto Zilog Z80 Single Board Computer.
Il software utilizzato è Eagle3D per il quale ho realizzato la traduzione in italiano dell’intero pacchetto.

.: CPU-BOARD PROTOTIPO :.

Questa è la realizzazione della scheda.
A fianco ai BUS di uscita sono riportati i nomi di tutte le linee in modo da identificarle rapidamente senza l’ausilio del layout dei componenti.
Nel prossimo articolo verrà descritta la scheda BUS-BOARD che consente di collegare ed isolare elettricamente la scheda CPU-BOARD dal resto delle altre schede.


Di seguito sono forniti per il download, in formato PDF, lo schema elettrico, il circuito stampato ed il layout dei componenti insieme alla lista dei componenti.
Se qualcuno di voi non avesse la possibilità di produrre il PCB o semplicemente vorrebbe averne uno già pronto per montare la scheda, può contattarmi mediante il link CONTATTI nel menù.

Attenzione!!! il lato giusto per l’esposizione del master nella realizzazione del circuito stampato è quello che permette di leggere il testo.
Così come è riportato nel LAYOUT, l’insieme è visto dal lato componenti.
Dovrete, quindi, eventualmente fare un mirror della stampa.
Il file è in formato PDF in modo da evitare degli errori di proporzione.
Suggerisco, comunque, prima di stampare di verificare la scala di stampa 1:1 e di non selezionare “adatta alla pagina”.