Vai al contenuto
Elettronica e Didattica

Risorse di elettronica, elettrotecnica e tecnologia varia per studenti curiosi.

Classe quarta

Reti combinatorie

Differenza fra reti combinatorie e sequenziali, funzioni booleane fondamentali con le relative porte logiche, esercizi e problemi, multiplexer, demultiplexer e comparatori.

Ragionare come una macchina

Da questo momento in poi occorre smettere di pensare al mondo reale come a una distesa di valori continui, descrivibili come grandezze analogiche, e iniziare a pensare in termini discreti, esprimendo le grandezze di interesse sotto forma di bit e sequenze di bit. Si ricorda brevemente la differenza fra analogico e digitale.

Confronto fra segnale analogico (onda continua) e segnale digitale (onda discreta)
Segnali analogici e digitali: la differenza.

Tutti i sistemi che si studieranno da questo momento sono descritti dalle regole dell’elettronica digitale. In particolare si distingue fra reti combinatorie e reti sequenziali.

Reti combinatorie: u=f(ingressi)u = f(\text{ingressi})

Sono sistemi caratterizzati dal non avere memoria, cioè la cui uscita dipende solo dall’ingresso nell’istante presente. Si chiamano combinatori perché l’uscita in qualunque istante di tempo si può scrivere semplicemente come combinazione degli ingressi.

Un classico esempio è la calcolatrice: il risultato dei calcoli si ottiene esclusivamente sulla base dei valori inseriti in quel momento; i calcoli fatti in precedenza non hanno alcuna influenza sul risultato attuale.

Se la calcolatrice ha la funzione memoria (M), il sistema non è più combinatorio, ma appartiene alle reti sequenziali.

Reti sequenziali: u=f(ingressi, stato interno)u = f(\text{ingressi},\ \text{stato interno})

Si vede che cosa succede quando la calcolatrice permette di memorizzare un risultato. Si eseguono le seguenti operazioni:

  • istante t1t_1: 3+4=73 + 4 = 7;
  • istante t2t_2: memorizzazione del risultato (M=7M = 7);
  • istante t3t_3: 12+M=1912 + M = 19.
Rete combinatoria senza memoria e rete sequenziale con memoria, con l'esempio della calcolatrice
Rete combinatoria (senza memoria) e rete sequenziale (con memoria).

L’uscita u=19u = 19 nell’istante t3t_3 dipende da ciò che è avvenuto nell’istante t2t_2. In particolare, la variabile di memoria MM rappresenta una variabile di stato del sistema.

Da questo concetto nasce il nome: i sistemi sequenziali sono così detti perché il valore delle uscite non dipende solo dalla combinazione degli ingressi, ma anche dalla loro sequenza temporale, cioè dalla loro storia, dall’ordine in cui avvengono, e questo è possibile solo se il sistema è dotato di memoria.

Le reti combinatorie

Alla base delle reti combinatorie ci sono le funzioni booleane note AND, OR e NOT, alle quali si affiancano i blocchi multiplexer e demultiplexer, amichevolmente detti MUX e DEMUX. Tramite la terna AND, OR e NOT è possibile realizzare qualunque funzione booleana (si dice che costituisce un insieme completo), mentre i MUX/DEMUX permettono di combinare più funzioni fra loro.

Funzione AND

ABY
000
010
100
111
Simbolo della porta AND, uscita A·B

Funzione OR

ABY
000
011
101
111
Simbolo della porta OR, uscita A+B

Funzione NOT

AY
01
10
Simbolo della porta NOT, uscita A negato

Funzione XOR (OR esclusiva)

ABY
000
011
101
110
Simbolo della porta XOR, uscita A⊕B

Funzione NAND (NOT AND)

ABY
001
011
101
110
Simbolo della porta NAND, uscita A·B negato

Funzione NOR (NOT OR)

ABY
001
010
100
110
Simbolo della porta NOR, uscita A+B negato

Esercizi e problemi

Es. 1 – Realizzare la funzione Y=(A+B)⋅CY = (A + B)\cdot C tramite porte logiche.

Es. 2 – Realizzare la funzione Y=(A‾+B)⋅C‾Y = (\overline{A} + B)\cdot\overline{C} tramite porte logiche.

Es. 3 – Realizzare la funzione Y=A+B⋅CY = A + B\cdot C tramite porte logiche.

Es. 4 – Realizzare la funzione Y=A‾+B⋅C‾Y = \overline{A} + B\cdot\overline{C} tramite porte logiche.

Es. 5 – Ricavare la funzione logica corrispondente all’uscita, dato il seguente circuito.

Circuito con una porta AND, una NAND e una OR, ingressi A, B e C

Es. 6 – Ricavare la funzione logica corrispondente all’uscita, dato il seguente circuito.

Circuito con NOT, OR, NAND e XOR, ingressi A, B e C

Problemi

Problema 1. All’interno di un condominio si vuole installare un sistema di apertura remota del portone attraverso due pulsanti, P1P_1 e P2P_2, collocati rispettivamente nell’androne dell’edificio e nel citofono, all’interno di ciascuna abitazione, che quando premuti inviano un segnale alto (= 1). Tale sistema deve poter funzionare solamente quando il portiere non è in servizio, pertanto si decide di installare un interruttore TT nella guardiola, così da inviare un segnale alto quando la porta è chiusa. Sia YY lo stato del portone (aperto = 1, chiuso = 0): scrivere la funzione logica del sistema e la sua realizzazione circuitale.

Problema 2. Un condomino dell’edificio del problema precedente fa notare che, poiché il portiere lavora per 8 ore, cioè 1/3 della giornata, l’interruttore TT invia il segnale elettrico per 16 ore, cioè 2/3 della giornata, con conseguente dispendio di energia elettrica e aggravio sulla bolletta comune. Egli propone dunque di adottare una soluzione per cui l’interruttore TT invii il segnale alto per le sole 8 ore di servizio del portiere, mentre per le restanti 16 ore resti aperto, con conseguente risparmio collettivo. Pertanto l’interruttore TT viene montato in modo da restare chiuso quando la porta della guardiola è aperta, inviando così il segnale alto, mentre rimane nello stato aperto quando la porta è chiusa. Scrivere la nuova funzione logica e il relativo circuito.

Problema 3. In un impianto di produzione si costruiscono pezzi da montare sul cupolino degli aerei. Questi pezzi vengono analizzati nel reparto di controllo e collaudo ed eventualmente scartati o sottoposti a revisione. In particolare, ogni pezzo è trasportato da un nastro e sottoposto alla verifica di tre requisiti essenziali:

  • un controllo del peso, attraverso una bilancia: se superiore a 3,2 kg riceve una segnalazione;
  • un controllo dell’altezza, attraverso un tastatore: se superiore a 6,5 cm riceve una segnalazione;
  • un controllo della trasparenza, attraverso un fascio luminoso: se risulta più opaco del 20% riceve una segnalazione.

I pezzi con almeno due segnalazioni sono scartati, mentre gli altri sono sottoposti a revisione. Al termine del nastro un binario mobile sposta i pezzi da scartare in una vaschetta denominata «A», mentre gli altri in una vaschetta denominata «B». Scrivere la tabella di verità del sistema e ricavarne la funzione logica.

Soluzione dei problemi

Problema 1. Il portone si apre quando sono verificate sia la condizione T=1T = 1 sia una delle due: P1=1P_1 = 1 oppure P2=1P_2 = 1. La funzione logica in uscita è

Y=T⋅(P1+P2),Y = T\cdot(P_1 + P_2),

il cui circuito digitale è il seguente:

Circuito con porta OR su P1 e P2 seguita da porta AND con T

Problema 2. La nuova uscita del sistema deve tenere conto che, per aprire il portone, deve ora essere verificata la condizione T=0T = 0. L’uscita vale quindi

Y=T‾⋅(P1+P2)Y = \overline{T}\cdot(P_1 + P_2)

e il circuito corrispondente è il seguente:

Circuito con porta OR su P1 e P2, NOT su T e porta AND finale

Problema 3. Per ciascuna verifica si può definire una variabile logica, per un totale di 3 variabili S1S_1, S2S_2, S3S_3, imponendo che il valore alto indichi la presenza di una segnalazione. L’uscita logica YY è alta se il pezzo è da scartare, quindi destinato alla vaschetta «A», ed è bassa se il pezzo prosegue, quindi destinato alla vaschetta «B». Affinché il pezzo sia da scartare occorre che siano alte almeno due variabili, quindi Y=1Y = 1 solo in tal caso. La tabella di verità è la seguente:

S₁S₂S₃Y
0000
0010
0100
0111
1000
1011
1101
1111

Si ricava la funzione logica osservando la corrispondenza tra i valori dell’uscita e quelli dell’ingresso: l’uscita è alta se sono alte almeno due variabili di ingresso, quindi deve valere (S1 AND S2)=1(S_1 \text{ AND } S_2) = 1 oppure (S1 AND S3)=1(S_1 \text{ AND } S_3) = 1 oppure (S2 AND S3)=1(S_2 \text{ AND } S_3) = 1. La funzione logica dell’uscita si scrive allora

Y=(S1⋅S2)+(S1⋅S3)+(S2⋅S3).Y = (S_1\cdot S_2) + (S_1\cdot S_3) + (S_2\cdot S_3).

Il circuito corrispondente è il seguente:

Circuito con tre porte AND (S1S2, S1S3, S2S3) collegate a una porta OR

Multiplexer e demultiplexer

Il multiplexer è un componente che realizza una selezione fra i suoi ingressi e la trasferisce all’uscita. Ad esempio, un multiplexer (o mux) 4×1 è dotato di 4 linee di ingresso dati, 2 linee di selezione e 1 uscita, come in figura.

Simbolo del multiplexer 4x1 con ingressi dati D0-D3, abilitazione, ingressi di selezione B e A e uscita Y
Multiplexer 4×1.

A ogni ingresso D0,D1,D2,D3D_0, D_1, D_2, D_3 è associato un indice, cioè 0, 1, 2 e 3. Gli ingressi di selezione BB e AA sono 2 bit che insieme determinano un numero compreso fra 0 e 3, come gli indici (BB è il bit più significativo, secondo l’ordine «B A» riportato sul simbolo). In tal modo l’ingresso determinato da BB e AA viene inviato in uscita. Ad esempio, se B=1B = 1 e A=0A = 0, allora BABIN=10=2DECBA_{BIN} = 10 = 2_{DEC} e quindi il dato selezionato è D2D_2, per cui Y=D2Y = D_2.

Più in generale, nn ingressi di selezione comandano 2n2^n ingressi dati.

Il bit E‾\overline{E}, presente fra gli ingressi, rappresenta il cosiddetto bit di abilitazione (Enable) che, come si vede dal simbolo, è negato, cioè attivo a livello basso: funziona quando vale 0. Esso permette di abilitare o disabilitare completamente il multiplexer; solo quando il multiplexer è abilitato l’uscita presenta il nuovo dato selezionato.

La tabella di verità del multiplexer 4×1 è la seguente:

BAY
00D₀
01D₁
10D₂
11D₃

Si può inoltre realizzare un mux 4×1 attraverso la seguente rete logica:

Rete logica del multiplexer 4x1 con quattro porte AND, due inverter e una porta OR
Realizzazione di un mux 4×1 con porte logiche.

Dalle etichette delle porte AND si legge l’espressione dell’uscita:

Y=B A D3+B A‾ D2+B‾ A D1+B‾ A‾ D0.Y = B\,A\,D_3 + B\,\overline{A}\,D_2 + \overline{B}\,A\,D_1 + \overline{B}\,\overline{A}\,D_0 .

È importante notare che i costruttori non utilizzano 0 e 1 per rappresentare i livelli basso e alto, ma le lettere L e H. Inoltre si possono adottare sia le notazioni in logica positiva (H=1H = 1 e L=0L = 0) sia quelle in logica negativa (H=0H = 0 e L=1L = 1). L’ingresso di abilitazione (E‾\overline{E}) del multiplexer visto più su è un classico esempio di logica negativa.

Il demultiplexer svolge la funzione inversa del multiplexer, in quanto invia l’unico ingresso II verso una fra 2n2^n uscite YiY_i, individuata dagli ingressi di selezione BB e AA. In figura sono mostrati il blocco e la realizzazione con porte logiche del demultiplexer 1×4.

Simbolo e rete logica del demultiplexer 1x4
Demultiplexer 1×4: blocco e realizzazione con porte logiche.

Infine, la tabella di verità del demux 1×4 è la seguente:

BAY₀Y₁Y₂Y₃
00I000
010I00
1000I0
11000I

I comparatori

Un componente molto utilizzato in elettronica (sia digitale sia analogica) è il comparatore, che effettua un confronto fra due ingressi indicando quale dei due è il maggiore.

Simbolo circuitale del comparatore con ingressi Vi e VREF e caratteristica di ingresso e uscita con saturazione a ±Vs
Simbolo circuitale e caratteristica ingresso-uscita del comparatore.

La figura rappresenta il simbolo circuitale e la caratteristica di ingresso e uscita. I due ingressi sono ViV_i e VREFV_{REF}, confrontati l’uno con l’altro. L’uscita è al valore alto se Vi≥VREFV_i \ge V_{REF} ed è bassa se Vi<VREFV_i < V_{REF}.

Un comparatore utilizzato spesso è l’integrato 74LS85, mostrato in figura.

Piedinatura del comparatore a 4 bit 74LS85
Integrato 74LS85.

I pin sono descritti come segue:

  1. data input: A0,A1,A2,A3,B0,B1,B2,B3A_0, A_1, A_2, A_3, B_0, B_1, B_2, B_3 rappresentano le 4 cifre binarie dei due numeri da confrontare;
  2. output: i pin 5, 6 e 7 forniscono il risultato del confronto, secondo quanto indicato in figura e nella tabella seguente;
  3. cascading input: si usano per espandere il numero di ingressi, collegando altri comparatori in serie.

La tabella che mostra le uscite è la seguente:

Confrontopin 5pin 6pin 7
A>BA > B100
A=BA = B010
A<BA < B001

In dettaglio, il comparatore 74LS85 effettua un confronto bit a bit, partendo da quelli più significativi e procedendo poi verso i restanti: confronta quindi prima A3A_3 e B3B_3 e, solo se questi due sono uguali, passa a A2A_2 e B2B_2, e così via.

Esempio. Siano A=1011A = 1011 e B=1010B = 1010.

Numeri A = 1011 e B = 1010 con i bit A3-A0 e B3-B0 indicati

Si confronta nell’ordine seguente:

  • A3=B3=1A_3 = B_3 = 1;
  • A2=B2=0A_2 = B_2 = 0;
  • A1=B1=1A_1 = B_1 = 1;
  • A0=1>B0=0A_0 = 1 > B_0 = 0.

Quindi A>BA > B.