Esercitazione : REALIZZAZIONE IMPIANTO SEMAFORICO 1 Blocco

Esercitazione : REALIZZAZIONE IMPIANTO SEMAFORICO
Strumenti utilizzati
Strumento
Alimentatore
Marca e modello
Topward electronics TPS4000
Caratteristiche
Alimentatore
stabilizzato
con
tensione variabile 0÷20 V su due
canali accoppiabili
Scheda ALTERA
ALTERA Max
EPM7128SLC84-15
ALTERA University Program
Fotocamera digitale
Olympus C-40 zoom
Fotocamera digitale con sensore 4
Mpixel
Descrizione sintetica degli obiettivi
Realizzazione della logica di gestione di un impianto semaforico per un incrocio semplice, con due
diversi linguaggi :
- linguaggio grafico : permette di effettuare descrizioni hardware tramite uno schema logico
- linguaggio VHDL : permette di descrivere hardware tramite un codice
Attraverso l’apposito software MAX Plus II, sarà poi possibile effettuare le seguenti operazioni:
- simulazione grafica attraverso il tool Waveform
- download del firmware sulla scheda ALTERA Max EPM7128SLC84-15 con le successive
considerazioni dei risultati ottenuti
Nell’ultima parte della relazione si è costruito il blocco logico di decodifica utilizzando il procedimento
delle macchine a stati.
1 Blocco semaforico
1.1 Caratteristiche
La durata di accensione delle luci dell’impianto che si vuole realizzare è la seguente:
10 secondi per la luce semaforica rossa;
9 secondi per la luce semaforica verde ;
1 secondo per la luce semaforica gialla ;
Qui in seguito è invece indicata la sequenza temporale di accensione e spegnimento delle sei luci che
compongono l’impianto semaforico
Page 1 of 10
1.2 Divisione in frequenza
La scheda utilizzata possiede un Global Clock, interno, ad una frequenza elevata pari a 25MHz.
Poiché bisogna gestire la durata dell’accensione e dello spegnimento delle singole luci semaforiche in
termini di secondi, si è dovuta ridurre la frequenza di Global Clock e adattarla il più possibile alle nostre
esigenze.
Si è dovuto realizzare un rapporto di riduzione pari a:
 25MHz 
n

≅2
1
Hz


dove una frequenza di 1Hz corrisponde ad un periodo di un secondo, e n indica il numero di flip-flop
necessari da collegare in cascata.
Il numero di flip-flop risultante che realizza il divisore di frequenza, è stato approssimato per difetto ed è
pari a ventiquattro. Inizialmente si è creato un divisore che riduce la frequenza di sedici volte, mediante
quattro flip-flop.
Per comodità poi, questi quattro flip-flop sono stati racchiusi in un unico blocco logico che è stato
successivamente utilizzato sei volte.
Page 2 of 10
Page 3 of 10
1.3 Logica combinatoria
Per determinare gli istanti di accensione e spegnimento delle luci semaforiche, si è utilizzato un
contatore il quale viene incrementato ad ogni colpo di clock.
In uscita da questo si ottiene una codifica del tempo trascorso su cinque bit come segue:
Cod. DECIMALE
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Rosso_1
Si è pensato di codificare il
periodo dei 10 secondi iniziali
analizzando solo i due bit più
significativi per i primi otto a
intervalli ai quali si è aggiunta
l’intera codifica del nono e del
decimo
Rosso_2
Negazione della fase di
accensione di Rosso_1
Cod. BINARIA
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
Semaforo #1
Giallo_1
Verde_1
Si sono codificati gli intervalli
undicesimo e dodicesimo per
intero; gli intervalli dal dodicesimo
escluso al sedicesimo compreso
Si è codificata la sequenza di bit
considerando i tre bit più
corrispondente al diciannovesimo
significativi; gli ultimi tre intervalli
intervallo temporale
sono codificati con il bit più
significativo, curandosi di
escludere il diciannovesimo
intervallo
Semaforo #2
Giallo_2
Si è codificata la sequenza di bit
corrispondente al decimo
intervallo
Verde_2
Si sono codificati i primi otto
intervalli considerando i due bit
più significativi, e il nono a parte
2 Circuito
A questo punto si è passati alla realizzazione del sistema semaforico in due differenti modi:
Metodo 1: attraverso le normali funzioni logiche offerte da MAX Plus II
Metodo 2: attraverso l’utilizzo del linguaggio hardware VHDL che ha reso possibile la
realizzazione in tempi ridotti del medesimo progetto
Page 4 of 10
2.1 Circuito logico (I)
Page 5 of 10
2.2 Circuito logico (II)
Da ricordare è che nello schema finale, sono state aggiunte delle porte not davanti a tutte le sei uscite
per tener conto del fatto che i diodi led, implementati sulla scheda ALTERA, sono realizzati con una
configurazione di tipo pull-up.
Il blocco INCROCIO, è stato realizzato a partire dal seguente file .vhd
Page 6 of 10
dove:
Entity
Architecture
Tale funzione descrive l’interfaccia esterna del
blocco logico incrocio.
Num è l’ingresso che può assumere un valore
compreso tra 0 e 19.
Le uscite: Rosso1, Rosso2, Verde1, etc… sono
codificate su di un singolo bit.
Tale funzione descrive la funzionalità del blocco
logico incrocio.
All’interno di questa si è indicato in quali istanti ogni
luce semaforica deve essere accesa o spenta.
Il blocco DIV_FREQ4 invece, era invece il blocco contenente la serie di flip-flop precedentemente
illustrata.
3 Simulazione
3.1 Waveform
Prima di scaricare sulla scheda il programma, se ne è simulato il comportamento, attraverso il Waveform
di MAX Plus II visualizzando più cicli:
Page 7 of 10
4 Prova al banco
4.1 Download firmware
Una volta alimentata la scheda a +9V, si è passati alla fase di scaricamento del firmware attraverso il
cavo di interfaccia opportunamente collegata con il PC attraverso la porta parallela.
Anche in questa fase occorre però alimentare la scheda
ad una tensione continua di ≅ +9V.
Onde evitare sbalzi di tensione tali da poter danneggiare
la scheda, occorre ricordare sempre di collegare tutti i
cavi, prima di alimentare il tutto.
4.2 Piedinatura chip
Una volta compilato il file .gdf contenente il circuito dell’impianto semaforico, si è fatto riferimento alla
piedinatura della MAX Flex, in modo da poter collegare con i giusti riferimenti, la varie uscite.
Page 8 of 10
5 Analisi risultati
5.1 Delay Matrix
E’ stata fatta una verifica sui vari
tempi di ritardo che il circuito
realizzato presentava, attraverso il
Timing Analyzer.
Si è potuto riscontrare come
entrambi i segnali di uscita
commutassero stato logico dopo
151ns dalla commutazione di stato
del clock.
Inoltre è stata eseguita una ulteriore verifica sempre attraverso il
Timing Analyzer di MAX Plus II. E’ stata quindi verificata la
massima frequenza di funzionamento del circuito la quale è di
147.05 MHz.
Page 9 of 10
6 Semaforo attraverso le macchine a stati
6.1 Schema
6.2 Descrizione SEM_MACHINE
Page 10 of 10