Elettronica dei Sistemi Digitali

Docente: Prof. Fabio Campi (Tutore Aldo Romani )

Esercitazioni:

1

Interfaccia per Porta Parallela monodirezionale

Si supponga di volere leggere dati da un sistema elettronico realizzato su scheda PCB (Printed Circuit Board) attraverso la porta parallela di un generico Personal Computer:
Si utilizzi un componente FPGA della famiglia Altera Max 7000/Max 9000 per realizzare l'interfaccia che connetta la Parallela del PC con il Bus di sistema della PCB.
Il funzionamento dell'interfaccia deve essere il seguente. Le porte verso la scheda sono

CLK: Clock di sistema
ADDRESS_BUS [0 to 7] : Bus indirizzi
DATA_BUS [0 to 7] : Bus dati
BUSY : Segnalazione di trasmissione in corso
TR_ERROR : Segnala il presentarsi di una inconsistenza nel protocollo di trasmissione, che dovrà essere segnalata anche all'esterno per consentire la sincronizzazione dei dispositivi.

Quando sull'address bus compare l'indirizzo convenzionale "0x40" la porta parallela (se non gia' impegnata) viene attivata in trasmissione:
La parola presente sul data bus viene scritta su un registro interno, e una apposita macchina a stati si occupa di gestire la trasmissione verso il PC.
Per tutta la durata della trasmissione il bit "BUSY" viene mantenuto a 1.

Le porte verso il PC sono raccolte nel connettore di porta parallela (trascurando massa, alimentazione e segnali di controllo speciali):

PP_DATA [0 to 7] : Bus dati (Dalla PCB al PC)
PP_Handshake_out (Dalla PCB al PC)
PP_Handshake_in (Dal PC alla PCB)

La comunicazione PC/Interfaccia e' gestita con un protocollo di handshake a 4 fasi con valori "active low":

                        1  2        3  4
PCB/FPGA     : ---------____________------------------
PC : ------------____________---------------
Linee Dati : ---------DATO__VALIDO-----------------

---------+--+--------+--+-----------> t
La PCB (quando ha un dato da trasmettere) pilota le linee dati, ed attiva il segnale di strobe PP_HANDSHAKE_OUT. (fase 1)
In risposta a questo evento, il PC notifica l'avvenuta ricezione dello strobe attivando il segnale di acknowledge PP_HANDSHAKE_IN e campionando il dato. (fase 2)
Segue la chiusura del protocollo, in cui la PCB disattiva il segnale di strobe (fase 3), e il PC disattiva il segnale di acknowledge. (fase 4)
Se la porta non sta trasmettendo, le linee dati esterne devono essere mantenute in alta impedenza ('Z'). Si supponga inoltre che, al fine di evitare conflitti elettrici, che all'inizio di ogni trasmissione la porta parallela del PC sia già stata predisposta in ricezione.
Il dispositivo deve inoltre contenere un meccanismo di time out, in modo che se dopo un microsecondo il PC non risponde ad una commutazione del segnale di strobe, la trasmissione in corso viene annullata, e viene segnalato un errore di comunicazione con TR_ERROR
Richieste di trasmissione che avvengono mentre la periferica è impegnata in un'altra trasmissione vengono ignorate.


Il sistema su PCB deve funzionare ad una frequenza di 40 MHZ
Si scriva la descrizione vhdl del componente, e si determini
  1. Il dispositivo scelto per realizzare il componente
  2. Il pinout del dispositivo
  3. Il numero di LE occupati e di F/Fs utilizzati



Soluzione

Microelectronics Group Home Page Staff
Research Activities Teaching Activity
Publications Local Stuff
DEIS Home Page University of Bologna Home Page


External link, Local link, For local sites only, Stiil empty.