E il ciel ne guardi dalla tosse, e da quei che ha il pelo rosso
ELETTRONICA DIGITALE
… studiare, studiare ed ancora studiare,
è il solo modo di capire quanto possa
essere grande sia la propria ignoranza!
CIRCUITI COMBINATORI
I circuiti combinatori hanno l’uscita che dipende soltanto
dagli stati logici degli ingressi e non dall’istante in cui tali
ingressi vengono applicati.
In altri termini l’uscita dipende dagli ingressi e non dal tempo.
Sintesi di circuiti combinatori
I circuiti combinatori servono a implementare una qualsiasi
funzione booleana che può consistere in un calcolo, una codifica,
una decodifica, un controllo.
Per la sintesi di questi circuiti è necessario seguire una procedura
che si può riassumere in una serie di passi di seguito riportati.
•
Individuazione (dall’enunciato del problema) della funzione logica che il circuito
deve svolgere.
•
Individuazione delle variabili booleane dipendenti e indipendenti.
•
Assegnazione degli stati 0 e 1 alle variabili.
•
Costruzione della tabella di verità.
•
Ricerca della forma minima della funzione logica.
•
Realizzazione del circuito che implementa la funzione minimizzata.
•
Realizzazione (eventuale) del circuito con sole porte NAND o NOR.
Esempio 1
In una camera per miscelazioni vengono inviati tre gas .
La presenza di un solo gas, come pure la miscela di tutti
e tre i gas, dà luogo a una situazione di pericolo che deve
essere segnalata da un circuito di allarme.
Per la sintesi di questo circuito si può seguire la procedura
sopra enunciata.
•
Individuazione della funzione che il circuito deve
svolgere.
Dall’enunciato del problema si evince che l’uscita del
circuito deve azionare un allarme (per esempio una
suoneria) quando nella centralina è presente uno solo
oppure tutti e tre i gas contemporaneamente.
•
Individuazione delle variabili booleane dipendenti e indipendenti.
Nella centralina devono essere posti dei sensori con il compito di rilevare la presenza dei
tre gas.
A ogni sensore si associa una variabile booleana indipendente A, B, C.
L’uscita del circuito, rappresentata con Y, è invece una variabile booleana dipendente
(funzione), poiché il suo livello logico dipende dallo stato dei tre sensori.
•
Assegnazione degli stati 0 e 1 alle variabili.
Si può adottare la seguente convenzione:
1 = presenza di gas,
0 = assenza di gas.
Per l’uscita invece si può assegnare:
1 = situazione di pericolo,
0 = assenza di pericolo.
•
Costruzione della tabella di verità.
Si costruisce la sottostante tabella per una funzione a tre variabili .
Per l’attribuzione dei valori all’uscita Y bisogna tenere
presente quanto richiesto dal problema: è stato assegnato
il valore 1 quando vi è situazione di pericolo (presenza di
uno solo o di tutti e tre i gas contemporaneamente).
Ricerca della forma minima della funzione.
Disegnata la mappa di Karnaugh
(a lato) e riportata la funzione su
di essa, si nota che non è pos-
-sibile nessuna semplificazione.
Realizzazione del circuito a parti-
-re dalla funzione minimizzata.
In questo caso la realizzazione del circuito parte dalla
funzione in forma canonica, somma di mintermini, poiché
non è stato possibile trovare una forma minima:
Camera per la miscelazione di tre gas
(esempio 1)
Funzione per la segnalazione di
pericolo (esempio 1)
A
B
C
Y
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
La funzione è data quindi dalla somma di quattro termini realizzabile con un OR a quattro
ingressi. Ciascun mintermine è ottenuto con un AND a tre ingressi.
Il circuito complessivo è sotto riportato.
Circuito combinatorio per la generazione
dell’allarme (esempio 1).
• Realizzazione del circuito con sole porte NAND
o NOR.
In questo caso è da escludere perché si otterrebbe
un circuito più complesso.
Esempio 2
Si vuole progettare un circuito in grado di controllare il motorino di una spazzola
tergicristallo. La spazzola viene comandata manualmente e deve tornare sempre in
posizione di riposo dovunque si trovi al momento dello spegnimento.
La sintesi del circuito si ottiene con i seguenti passi.
• Individuazione della funzione che il circuito deve svolgere.
L’azionamento manuale del tergicristallo è possibile mediante un interruttore,
mentre per il ritorno nella posizione di riposo è necessario prevedere un contatto
di finecorsa azionato dal movimento del tergicristallo stesso.
• Individuazione delle variabili booleane dipendenti e indipendenti.
L’interruttore A, da azionare manualmente, e il contatto di finecorsa B sono due
variabili indipendenti; l’uscita Y, che deve comandare il motorino del tergicristallo,
è la variabile dipendente.
• Assegnazione degli stati 0 e 1 alle variabili.
Si può adottare la convenzione indicata
in tabella
• Costruzione della tabella di verità.
Si costruisce la tabella con le due
variabili indipendenti A e B.
Assegnazione degli stati alle variabili (esempio 2)
Interruttore
A=1
Tergicristallo in azione
Interruttore
A=0
Tergicristallo fermo
Finecorsa
B=1
Tergicristallo in posizione di
riposo
Finecorsa
B=0
Tergicristallo fuori posizione
Comando
tergicristallo
Y=1
Comando di movimento
tergicristallo
Comando
tergicristallo
Y=0
Comando di fermo tergicristallo
Tabella di verità (esempio 2)
A
B
Y
DESCRIZIONE
0
0
1
Ritorno a riposo
0
1
0
Posizione di riposo
1
0
1
Tergicristallo in movimento
1
1
1
Azionamento da posizione di
partenza
•
Ricerca della forma minima della funzione.
L’equazione logica del circuito dopo la
semplificazione è la seguente:
• Realizzazione del circuito a partire dalla
funzione minimizzata.
La forma minima della funzione logica
porta al seguente circuito:
Circuito combinatorio per il comando
del tergicristallo (esempio 2).
•
Realizzazione del circuito con sole porte NAND o NOR.
Applicando il teorema di De Morgan all’equazione logica in forma minima si ottiene:
A questa equazione corrisponde il circuito, a sole porte NAND, di figura:
Circuito combinatorio implementato
con sole porte NAND (esempio 2).
Analisi di circuiti combinatori
L’analisi consiste nel determinare la funzione logica implementata dal circuito e nel
valutare tale funzione in corrispondenza di tutte le combinazioni degli ingressi.
L’analisi può essere eseguita secondo due diverse procedure:
• costruendo la tabella della funzione logica;
• determinando la funzione logica in forma algebrica.
Costruzione della tabella della funzione logica di un circuito
La conoscenza della tabella è fondamentale per definire in modo completo la funzione
svolta dal circuito combinatorio. La tabella si costruisce provando tutte le possibili
combinazioni d’ingresso e rilevando i livelli logici delle uscite delle porte logiche, fino ad
arrivare all’uscita del circuito combinatorio.
Esempio 3
Si vuole rilevare la tabella del circuito combinatorio di
figura a lato. Il circuito ha tre ingressi (A, B, C) e
pertanto tutte le possibili configurazioni sono otto.
Nella tabella a lato è stata riportata anche la variabile
C perché la porta logica AND 1 elabora i segnali A e C.
La porta logica AND 2 invece combina le variabili B e C.
Nella tabella le uscite delle porte AND 1 e AND 2 sono
state indicate rispettivamente con X A = C e Z = BC.
A loro volta X e Z costituiscono gli ingressi della porta
OR e quindi Y = X + Z.
Gli stati della Y sono le uscite del circuito che unitamente
alle variabili A, B e C ne descrivono il funzionamento.
Tabella della funzione logica del
circuito combinatorio (esempio 3)
A
B
C
C
X
Z
Y
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
1
1
0
1
1
0
1
1
1
1
0
0
1
1
Determinazione della funzione logica da un circuito
È possibile ricavare la funzione logica del circuito anche
senza conoscere la tabella della verità.
A tal fine si esamina il circuito e si individua la porta
logica di primo livello, cioè quella d’uscita; di solito è un
OR e quindi si scrive la somma dei termini entranti.
Si procede poi a ritroso con le porte di secondo livello, che normalmente sono AND, le
quali producono i mintermini in ingresso alla porta OR. Si giunge così alle porte logiche
d’ingresso, definendo la relazione ingresso/uscita.
Esempio 4
Si vuole ricavare la funzione booleana del circuito
disegnato a lato; come si può notare, sono evide-
-nziati i tre livelli presenti, caratterizzati da NOT,
AND e OR. La porta AND1 ha come ingressi A e B
e quindi l’uscita è data da X = AB.
Per la porta AND2, che elabora i segnali B e C, lo
stato dell’uscita è Z= B C, mentre l’uscita della
porta AND3 è T= C D.
X, Y e T sono a loro volta ingressi per la porta OR,
quindi si ha Z = X + Y + T. Sostituendo a X, Y e T
le loro espressioni, si ottiene:
Itinerari e livelli
Si definisce itinerario tra un ingresso e l’uscita del circuito combinatorio ogni
percorso che porta da quell’ingresso a quell’uscita.
Si definisce livello di un ingresso rispetto all’uscita il numero di porte logiche dislocate
lungo l’itinerario considerato.
La numerazione dei livelli ha inizio dalla porta logica di uscita.
Nel circuito combinatorio della soprastante figura, gli itinerari che portano l’ingresso B
all’uscita sono due:
• porta AND 1 e porta OR;
• porta NOT, porta AND 2 e porta OR.
Il circuito combinatorio della menzionata figura è caratterizzato da tre livelli poiché
seguendo tutti i possibili itinerari dagli ingressi alle uscite si attraversano massimo
tre porte logiche.
Circuito combinatorio (esempio 4):
livelli e itinerari.
Esempio 5
Progettare un impianto di controllo e di segnalazione semaforica di una stazione
ferroviaria. La stazione, schematizzata a lato, è prov-
-vista di quattro binari ai quali si accede tramite gli
scambi S1, S2, S3.
Un impianto semaforico a monte dello scambio S1 segnala
con la luce verde la possibilità di accedere alla stazione se
vi è un binario libero. In caso contrario viene acceso il
semaforo rosso per arrestare la marcia dei treni.
Indicare la presenza dei treni con le variabili P1, P2, P3, P4 associate ai binari B1, B2,
B3, B4.
Nell’eventualità che più binari siano liberi, occupare binari con indice più basso.
La segnalazione semaforica è rappresentata con la variabile S. La sintesi del circuito
si ottiene con i seguenti passi.
• Si associano i livelli 0 e 1 alle variabili:
– le variabili sono a livello 0 se si trovano nella posizione superiore; in posizione
contraria si assegna lo stato 1;
– alle variabili si assegna lo 0 logico se non vi è presenza di treni sui binari, in caso
contrario si associa lo stato 1.
• Si individuano le variabili booleane indipendenti che sono P1, P2, P3, P4 e quelle
dipendenti S1, S2, S3;
• Si scrive la sottostante tabella di verità .
• Le mappe di Karnaugh sono sotto rappresentate.
• Le funzioni semplificate, ricavate dalle mappe di Karnaugh, sono le seguenti:
Tabella della verità (esempio 5)
P1
P2
P3
P4
S1
S2
S3
S
Commento
0
0
0
0
0
0
x
0
Tutti i binari liberi, ricevere si B1
0
0
1
0
0
0
x
0
Ricevere treno su B1, semaforo verde
0
0
1
0
0
0
x
0
Ricevere treno su B1, semaforo verde
0
0
1
1
0
0
x
0
Ricevere treno su B1, semaforo verde
0
1
0
0
0
0
x
0
Ricevere treno su B1, semaforo verde
0
1
0
1
0
0
x
0
Ricevere treno su B1, semaforo verde
0
1
1
0
0
0
x
0
Ricevere treno su B1, semaforo verde
0
1
1
1
0
0
x
0
Ricevere treno su B1, semaforo verde
1
0
0
0
0
1
x
0
Ricevere treno su B1, semaforo verde
1
0
0
1
0
1
x
0
Ricevere treno su B2, semaforo verde
1
0
1
0
0
1
x
0
Ricevere treno su B2, semaforo verde
1
0
1
1
0
1
x
0
Ricevere treno su B2, semaforo verde
1
1
0
0
1
x
0
0
Ricevere treno su B3, semaforo verde
1
1
0
1
1
x
0
0
Ricevere treno su B3, semaforo verde
1
1
1
0
1
x
1
0
Ricevere treno su B4, semaforo verde
1
1
1
1
x
x
x
1
Semaforo rosso
• Il circuito combinatorio che si ottiene è mostrato nella sottostante figura.
Esempio 6
Di un liquido contenuto in un serbatoio si vuole
controllare e mantenere entro un dato intervallo:
• il grado di concentrazione di una certa sostanza
disciolta;
• l’altezza del liquido nel serbatoio.
Si indica con:
• Comin e Comax rispettivamente il limite minimo
e massimo della concentrazione;
• Hmin e Hmax rispettivamente l’altezza minima e
massima del liquido nel serbatoio.
Per mantenere i parametri del liquido negli intervalli
desiderati si utilizzano tre elettrovalvole:
• E1 per svuotare il serbatoio nell’eventualità che non
sia possibile apportare alcuna correzione;
• E2 per aggiungere acqua nel caso in cui la conce-
-ntrazione superiore al valore massimo Cmax;
• E3 per aggiungere sostanza concentrata nel caso
in cui la concentrazione sia al di sotto del limite
minimo Cmin
Controllo della concentrazione e dell’altezza di
un liquido in un serbatoio (esempio 6)
Mappe di Karnaugh (esempio 6)
La sintesi del circuito si ottiene attraverso i
seguenti passi.
• Individuazione delle variabili booleane
dipendenti e indipendenti:
– variabili indipendenti: Comin, Comax,
Hmin, Hmax;
– variabili dipendenti: E1, E2, E3.
A tutte le variabili è associato un livello 0 se
sono sotto il valore di riferimento oppure un
livello 1 se sono sopra.
Alle elettrovalvole è assegnato il livello 0 se
non devono essere azionate oppure il livello 1
in caso contrario.
• La tabella di verità è rappresentata nella
sottostante tabella.
• Le mappe di Karnaugh sono rappresentate
nella soprastante figura.
• Le funzioni semplificate, ricavate dalle mappe di Karnaugh, sono le seguenti:
Circuito combinatorio per il controllo della
concentrazione e dell’altezza del liquido in
un serbatoio (esempio 6)
Tabella della verità (esempio 5)
CO
mn
CO
max
H
min
H
max
E1
E2
E3
Commento
0
0
0
0
0
1
1
Concentrazione e altezza sotto il minimo
0
0
0
1
x
x
x
Condizione di indifferenza
0
0
1
0
0
0
1
Concentrazione sotto il livello minimo
0
0
1
1
1
0
0
Liquido da scaricare, sopra livello massimo
0
1
0
0
x
x
x
Condizione di indifferenza
0
1
0
1
x
x
x
Condizione di indifferenza
0
1
1
0
x
x
x
Condizione di indifferenza
0
1
1
1
x
x
x
Condizione di indifferenza
1
0
0
0
0
1
0
Altezza sotto il minimo
1
0
0
1
x
x
x
Condizione di indifferenza
1
0
1
0
0
0
0
Non intervento
1
0
1
1
1
0
0
Liquido da scaricare, sopra livello massimo
1
1
0
0
0
1
0
Aggiungere acqua
1
1
0
1
1
x
0
Ricevere treno su B3, semaforo verde
1
1
1
0
1
x
1
Ricevere treno su B4, semaforo verde
1
1
1
1
1
0
0
Liquido da scaricare, sopra livello massimo