appunti elettronica digitale

APPUNTI
DI
ELETTRONICA DIGITALE
ITIS MARCONI-GORGONZOLA
docente :dott.ing. Paolo Beghelli
pag.1/24
Indice
1.ELETTRONICA DIGITALE
4
1.1 Generalità
4
1.2 Sistema di numerazione binario
4
1.3 Operazioni con i numeri binari
5
1.3.1 Somma
5
1.3.2 Differenza
6
1.3.3 Moltiplicazione
6
1.3.4 Divisione
6
1.3.5 Complemento di un numero
7
1.4 Altri sistemi di numerazione
9
1.4.1 Sistema esadecimale
9
1.4.2 Sistema ottale
9
1.4.3 Perché altri sistemi di numerazione ?
9
1.5 I codici
10
1.5.1 Codice BCD ( Binary Coded Decimal )
10
1.5.2 Codice ASCII ( American Standard Code for Information Interchange )
11
1.5.3 Codice EBCDIC ( Extended Binary Coded Decimal Interchange Code )
11
1.6 La logica combinatoria
12
1.6.1 Operatori fondamentali
12
1.7 Regole fondamentali dell’algebra di Boole
14
1.7.1 Proprietà della somma logica (OR)
14
1.7.2 Proprietà del prodotto logico ( AND)
14
1.7.3 Proprietà della negazione (NOT)
14
1.8 Teoremi fondamentali dell’algebra di Boole
15
1.8.1 Teorema dell’Idempotenza
15
1.8.2 Teoremi dell’assorbimento
15
1.8.3 Teoremi di De Morgan
15
1.9 Forme canoniche delle funzioni di commutazione
16
pag.2/24
1.9.1 Prima forma canonica
16
1.9.2 Seconda forma canonica
16
1.10 Le mappe di Karnaugh
17
ESERCIZI
18
pag.3/24
1.ELETTRONICA DIGITALE
1.1 Generalità
L’elettronica digitale si occupa dell’elaborazione di segnali elettrici per eseguire operazioni di carattere
matematico o logico.
I segnali elettrici vengono elaborati sotto due stati diversi :
- ON ( acceso )
= percorso da corrente
- - OFF ( spento )
= non percorso da corrente
Alla base della elettronica digitale c’è il :
1.2 Sistema di numerazione binario
Ogni sistema di numerazione si basa sulla seguente EQUAZIONE FONDAMENTALE
N = Cn• bn + Cn-1• bn-1+ C1• b1 + C0 + b0
b
Ci
N
=
=
=
dove:
base del sistema
numero qualsiasi compreso tra 0 e b-1 (=cifra)
esponente
La generica cifra è detta anche DIGIT.
IMPORTANTE : LE CIFRE 0 E 1 VENGONO CHIAMATE BIT ( = BInary digiT )
Il sistema decimale comunemente usato non è altro che ricavato dalla E.F. con base b = 10
Esempio
:
432
4•102+3•101+2•100
=
432
La posizione occupata dalla cifra (DIGIT) indica il peso della cifra stessa ( centinaia, decine, unità …)
NEL SISTEMA BINARIO:
b
Ci
=
=
2
può essere 1 oppure 0
L’equazione fondamentale diventa :
N = Cn•2n+Cn-1•2n-1+
C1•21+C0•20
Perciò: i numeri sono esprimibili nel sistema binario come successione di 1 e 0
Esempio
:
2 = 1•21+0•20
C1 C0
(=2+0)
pag.4/24
Quindi, siccome
Esempio
N= C1C0
:
Per cui 9
, nel sistema binario 2 diventa
9 = 1•23+0•22+0•21+1•20
:
10
(=uno, zero)
(=8+0+0+1)
1001 nel sistema binario
PASSAGGIO DAL SISTEMA DECIMALE AL SISTEMA BINARIO
Per passare dal sistema binario al decimale basta applicare l’equazione fondamentale.
Per passare invece dal decimale al binario, occorre invece dividere successivamente il numero per 2
segnando i resti, ordinandoli poi in modo inverso.
ESEMPIO
N=27
27:2 = 13
13:2 = 6
6:2 = 3
3:2 = 1
1:2 = 0
resto 1
resto 1
resto 0
resto 1
resto 1
Quindi 27
1 1 0 1 1
Infatti : 1•24+1•23+0•22+1•21+1•20 = 16+8+0+2+1 = 27
1.3 Operazioni con i numeri binari
( da non confondere con la LOGICA BINARIA )
1.3.1 Somma
Le regole della somma sono :
0+0
0+1
1+0
1+1
Esempio :
=
=
=
=
13 +
8
------21
0
1
1
0
senza riporto
senza riporto
senza riporto
con riporto
1101
1000
-------10101
16+0+4+1 = 21
pag.5/24
1.3.2 Differenza
Le regole della differenza sono :
0-0
1-0
0-1
1-1
Esempio :
=
=
=
=
0
1
1
1
senza richiamo
senza richiamo
con richiamo
senza richiamo
110101
1000
---------01101
21
8
-----13
0+8+4+0+1 = 13
1.3.3 Moltiplicazione
Le regole della moltiplicazione sono:
0•0
0•1
1•0
1•1
=
=
=
=
0
0
0
1
esempio : 8•7=56
senza riporti
1000 •
111
----------------1000
10001000-----------------111000
32+16+8+0+0+0=56
1.3.4 Divisione
La divisione si esegue per sottrazioni successive come nel caso decimale
Esempio :
72=
------52=
------32=
-------resto 1
7:2
111 10 =
---------1101 –
10 =
----------011 –
10 =
----------001
Risultato : 3 con resto 1 ( sia nel caso decimale che binario )
pag.6/24
Nota : in seguito useremo più sovente la somma e la moltiplicazione, mentre per la differenza vedremo il
sistema del COMPLEMENTO in quale è più usato in quanto più adatto all’elaborazione nei circuiti
elettronici.
IMPORTANTE : LE CIFRE 0 E 1 VENGONO CHIAMATE BIT ( = BInary digiT )
1.3.5 Complemento di un numero
Si definisce complemento di un numero, qualunque sia la base del sistema di numerazione, la differenza tra
la potenza n-esima della base e il numero stesso, dove n è il numero di cifre del numero
Esempio :
complemento a 10 del numero 127
103-127 = 873
Lo stesso risultato si può ottenere facendo il complemento a 9 e aggiungendo 1
Complemento a 9 di 1 =
Complemento a 9 di 2 =
Complemento a 9 di 7 =
8
7
2
872+1 = 873
In matematica binaria si preferisce pertanto calcolare il complemento a 1 e sommare successivamente 1 per
ottenere il COMPLEMENTO a 2
Ciò perché il complemento a 1 è presto ricavato invertendo tutti i bit
Esempio :
N
=
1011
Complemento a 1:
=
0100
Complemento a 2
=
0100+
1=
-------0101
A questo punto possiamo eseguire la DIFFERENZA BINARIA come somma del complemento a 2
Esempio :
27 – 11 = 16
27
11
11011
1011
Il complemento a 2 di 01011 è :
10100+
1=
-----------10101
complemento a 1
complemento a 2
pag.7/24
Eseguo :
11011+
10101 =
---------110000
Eliminando la prima cifra a sinistra si ottiene : 1000 = 16 ( nel sistema decimale )
Note :
1)
2)
3)
prima di eseguire il complemento a 1 devo pareggiare le cifre del sottraendo con quelle
del minuendo aggiungendo a sinistra degli 0
eseguita la somma con il complemento a 2, il risultato ottenuto va privato del primo 1 a
sinistra
nei sistemi elettronici si usa il sistema del complemento a 1, perché più semplice ed
immediato ( basta invertire i bit )
pag.8/24
1.4 Altri sistemi di numerazione
1.4.1 Sistema esadecimale
E’ un sistema a base 16 in cui le cifre vengono indicate con i simboli:
0
1
2
Esempio :
3
4
5
6
7
8
9
A B C D E F
(10) (11) (12) (13) (14) (15)
il numero E2B in esadecimale, corrisponde a :
14•162+2•161+11•160 = 14•256+2•16+11•1 = 3627
1.4.2 Sistema ottale
E’ analogo al precedente ma utilizza le cifre : 0 1 2 3 4 5 6 7
1.4.3 Perché altri sistemi di numerazione ?
I motivi per cui sono stati introdotti questi due sistemi derivano dalla necessità di codificare in modo binario
il nostro sistema decimale.
Ora se utilizzo n. 3 bit, non riesco a codificare tutte l cifre da 0 a 9, infatti:
decimale
0
1
2
3
4
5
6
7
binario
000
001
010
011
100
101
110
111
Se invece utilizzo 4 bit, questi non sono sfruttati per le massime prestazioni possibili, perché con 4 bit posso
rappresentare 16 cifre
decimale
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
binario
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
pag.9/24
1.5 I codici
In generale la codifica è un metodo per rappresentare determinate informazioni per mezzo di simboli.
I simboli normalmente usati sono le lettere dell’alfabeto e le cifre da 0 a 9.
I simboli disponibili, invece, nel sistema binario sono esclusivamente 0 e 1.
Per poter quindi utilizzare questi simboli per rappresentare informazioni in modo comprensibile, sia di tipo
numerico che non, sono stati formulati dei CODICI.
1.5.1 Codice BCD ( Binary Coded Decimal )
E’ un sistema di codifica soltanto numerico ed utilizza la rappresentazione binaria delle cifre da 0 a 9
ordinandole ( dando perciò un “ peso “ ) come nel sistema decimale.
Per ogni cifra si utilizzano 4 bit.
decimale
0
1
2
3
4
5
6
7
8
9
Esempio :
binario
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
N10
=
427
NBCD
=
4
2
7
0100 / 0010 / 0111
Con il codice BCD il numero di bit necessari per rappresentare un numero è sempre maggiore dei
corrispondenti in Binario puro, ma l’interpretazione è più semplice.
pag.10/24
1.5.2 Codice ASCII ( American Standard Code for Information Interchange )
E’ un sistema di codifica per rappresentare oltre ai numeri e alle lettere anche i simboli di punteggiatura,
nonché alcuni comandi già formulati ( il codice ASCII era nato inizialmente per le telescriventi ).
Esso utilizza 7 bit , per cui sono possibili 27 = 128 rappresentazioni di simboli diversi.
I primi 3 bit hanno un “ peso “ maggiore ed indicano grosso modo la famiglia di appartenenza del simbolo,
mentre gli altri 4 bit lo individuano esattamente.
Esempio :
DEC
ASCII
65
A
26 25 24
100
(famiglia delle
lettere maiuscole)
Binario
23 22 21 20
0001
HEX
161 160
4
1
Viene aggiunto poi un ottavo bit di controllo parità.
Esso non ha significato per la codifica, ma serve solo come controllo di eventuali errori.
Vale 1 se i bit a 1 della codifica sono dispari, vale 0 se viceversa sono pari.
Per quanto riguarda la codifica dei 128 simboli del codice ASCII, si fa riferimento alla tabella allegata.
NOTA : l’insieme di 8 bit è molto utilizzato in elettronica.
Esso si chiama comunemente byte.
Un insieme di 4 bit si chiama semibyte o nible.
Un Kbyte vale 210 = 1024 byte
1.5.3 Codice EBCDIC ( Extended Binary Coded Decimal Interchange Code )
E’ un codice che utilizza 8 bit, per cui consente 28= 256 rappresentazioni di simboli per le quali si rimanda
alla tabella allegata.
E’ un codice utilizzato in particolare dall’IBM per i grossi calcolatori.
pag.11/24
1.6 La logica combinatoria
Un sistema che utilizza segnali di tipo binario ( 0-1 ) si può definire sistema di COMMUTAZIONE.
Le funzioni che studiano un sistema di COMMUTAZIONE, si chiamano FUNZIONI DI
COMMUTAZIONE.
In esse il valore di uscita può essere solo 0 oppure 1 e dipende dallo stato degli ingressi ( 0 o 1 ) e non dalla
“ storia “ degli stessi ( esempio : tempo di applicazione )
Y = f(x)
X1 (0,1)
f.c.
y (0,1)
X2 (0,1)
Rappresentazione schematica di una funzione di
commutazione
Le regole che permettono lo studio di questi tipi di funzione, sono contenute nell’ALGEBRA di BOOLE.
NOTA : nell’Algebra di Boole tutte le variabili dipendenti e indispensabili possono avere solo valore 0
oppure 1.
Variabili indipendenti::
Variabili dipendenti
x :
:
y
;
ingressi
uscite
1.6.1 Operatori fondamentali
Gli operatori fondamentali dell’Algebra di Boole sono :
- la NEGAZIONE
- la SOMMA LOGICA
- il PRODOTTO LOGICO
=
=
=
NOT
OR
AND
Il significato di queste operazioni è esaminabile tramite le TABELLE DI VERITA’.
Esse consistono in tabelle dove vengono rappresentati gli stati degli ingressi con i corrispondenti stati delle
uscite.
NOT
negazione
x
tabella di verità
simbolo
x
y
x
0
1
y
1
0
l’uscita è allo stato opposto dell’ingresso
pag.12/24
OR
somma logica x1+x2
simbolo
X1
0
0
1
1
X2
0
1
0
1
Y
0
1
1
1
X1
0
0
1
1
X2
0
1
0
1
Y
0
0
0
1
l’uscita è a 1 se almeno un ingresso è a 1
AND
prodotto logico
x1•x2
simbolo
l’uscita è a 1 quando tutti gli ingressi sono a 1
pag.13/24
1.7 Regole fondamentali dell’algebra di Boole
1.7.1 Proprietà della somma logica (OR)
a)
b)
c)
d)
e)
x+1
x+0
x1+x2
x1+x2+x3
x1•x2+x1•x3
=
=
=
=
=
1
x
x2+x1
(x1+x2)+x3
x1•( x2+x3)
1.7.2 Proprietà del prodotto logico ( AND)
a)
b)
c)
d)
e)
x•0
=
x•1
=
=
x1•x2
x1•x2•x3
(x1+x2)•(x1+x3) =
0
x
x2•x1
=
(x1•x2)•x3
x1+ x2•x3
1.7.3 Proprietà della negazione (NOT)
a)
b)
c)
d)
e)
o
1
x
x+x
x•x
=
=
=
=
=
0
1
x
1
0
pag.14/24
1.8 Teoremi fondamentali dell’algebra di Boole
1.8.1 Teorema dell’Idempotenza
a)
b)
x+x+x =
x•x•x =
x
x
1.8.2 Teoremi dell’assorbimento
a)
b)
c)
d)
x1+ x1•x2
x1• (x1+ x2)
x 1+ x 1 x 2
x1•( x 1+ x2)
=
=
=
=
x1
x1
x1+x2
x1•x2
1.8.3 Teoremi di De Morgan
a) Il negato di un prodotto logico è uguale alla somma dei negati dei singoli fattori:
x1• x2•.......•xn =
x 1+ x 2+..........+ x n
b) Il negato di una somma logica è uguale al prodotto dei negati dei singoli addendi
x1+ x2+.......+xn =
x 1• x 2•..........• x n
pag.15/24
1.9 Forme canoniche delle funzioni di commutazione
Scopo dell’algebra di commutazione è quella di rappresentare i problemi logici partendo dalla tabella
di verità nel modo più semplice, dopodiché trasformarlo in un circuito logico realizzabile con le PORTE
LOGICHE a disposizione.
Un metodo di rappresentazione è quello delle FORME CANONICHE:
1.9.1 Prima forma canonica
Esempio :
Data la tabella di verità
x1
0
0
0
0
1
1
1
1
x2
0
0
1
1
0
0
1
1
x3
0
1
0
1
0
1
0
1
y
0
1
1
0
0
0
1
1
: Mintermine
: Mintermine
: Mintermine
: Mintermine
Si definiscono MINTERMINI gli stati in cui y = 1.
Essi sono determinati dai valori che assumono gli ingressi in quella situazione.
Ogni MINTERMINE, per la precisione, è rappresentato dal prodotto logico degli ingressi che sono a 1 e dai
negati di quelli che sono a 0.
La funzione di commutazione nella PRIMA FORMA CANONICA è data dalla somma logica dei vari
MINTERMINI.
Nel nostro caso :
x1•x2•x3 + x1•x2•x3 + x1•x2•x3 + x1•x2•x3
mintermini
1.9.2 Seconda forma canonica
Nella seconda forma canonica si considerano invece gli stati in cui y = 0 definiti MAXTERMINI.
Ogni MAXTERMINE è definito dalla somma logica degli ingressi che hanno valore 0 e dei negati di quelli
che hanno valore 1.
La seconda forma canonica è data dal prodotto logico di tutti i maxitermini.
Nel caso dell’esempio precedente essa sarebbe :
(x1+x2+x3) • (x1+x2+x3) • (x1+x2+x3) • (x1+x2+x3)
maxtermini
pag.16/24
1.10 Le mappe di Karnaugh
Le mappe di Karnaugh sono un metodo grafico per la soluzione di problemi in logica di commutazione
consentendo di rappresentare la funzione di commutazione in forma già semplificata, senza dover ricorrere
molto all’algebra di commutazione.
L’uso delle mappe è comunque comodo per problemi con al massimi 6 ingressi.
La mappa viene realizzata partendo dalla tabella di verità, riportando nelle caselle gli stati in cui y = 1.
Dall’esempio di prima :
x2 x3
0
x1
1
00
0
1
01
1
11
10
1
x1•x2•x3
x1•x2•x3
1
x1•x2•x3
1
x1•x2•x3
Praticamente è un metodo grafico di rappresentazione dei MINTERMINI.
La funzione di commutazione si ottiene dai raggruppamenti formati da caselle adiacenti in cui lo stato è 1.
I mintermini sono formati dal prodotto logico degli ingressi che nel passaggio da una casella all’altra del
raggruppamento si mantengono costanti allo stato 1 e dei negati di quelli che si mantengono a 0.
Un raggruppamento deve avere i lati costituiti da un numero di caselle pari a una potenza di 2 ( 1,2,4,8, ....).
Nel nostro caso :
x2 x3
0
x1
1
x1•x2•x3
00
01
1
11
10
1
1
x1•x2
1
x2•x3
La funzione così ottenuta può essere ulteriormente semplificata.
pag.17/24
ESERCIZI
1. Rappresentare nel sistema binario i seguenti numeri espressi nel sistema decimale:
162
:
9
:
10
:
121
:
85
:
2. Convertire in sistema decimale i seguenti numeri binari :
11001
:
00100
:
00010
:
01110
:
01111
:
10101
:
3. Eseguire le seguenti somme di numeri binari ( con verifica ) :
12 +
7 =
------19
27 +
5=
------32
pag.18/24
4.
Rappresentare i complementi a 1 e a 2 dei seguenti numeri binari :
complemento 1
complemento 2
1101
0101
1110
0001
5. Eseguire le seguenti sottrazioni di numeri binari con metodo normale e del complemento a 2 ( verificare i
risultati ) :
15 3=
-----12
31 17 =
-------
pag.19/24
Esercizi su logica combinatoria
Date le seguenti tabelle di verità , scrivere le corrispondenti funzioni combinatorie complete , lo
schema a contatti e lo schema con porte logiche .
Eseguire le opportune semplificazioni e riportare gli schemi semplificati .
1)
X1
0
0
1
1
X2
0
1
0
1
Y
0
1
1
0
X2
0
1
0
1
Y
1
1
0
1
X2
0
1
0
1
Y
0
1
0
1
2)
X1
0
0
1
1
3)
X1
0
0
1
1
pag.20/24
4)
X1
0
0
0
0
1
1
1
1
X2
0
0
1
1
0
0
1
1
X3
0
1
0
1
0
1
0
1
Y
0
0
1
0
0
1
1
1
X2
0
0
1
1
0
0
1
1
X3
0
1
0
1
0
1
0
1
Y
1
0
1
1
0
0
1
0
X2
0
0
1
1
0
0
1
1
X3
0
1
0
1
0
1
0
1
Y
5)
X1
0
0
0
0
1
1
1
1
6)
X1
0
0
0
0
1
1
1
1
pag.21/24
7)
X1
0
0
0
0
1
1
1
1
X2
0
0
1
1
0
0
1
1
X3
0
1
0
1
0
1
0
1
Y
MAPPE DI KARNAUGH
pag.22/24
ESERCIZI :
problema :
Supponiamo di avere al contatore un limitatore di potenza per 1,5 Kw , Voglio avere un
avvertimento se la potenza dei carichi supera 1,2 kW
televisione : 350 W
frigorifero : 250 W
boiler
: 1100 W
ferro da stiro : 900 W
pag.23/24
PROGETTARE UN SISTEMA DI COMANDO PER MONTACARICHI COME IN FIGURA :
finecorsa piano 1 f.c1 = X1
finecorsa piano 2 f.c2 = X2
pulsante chiamata piano 1
pulsante chiamata piano 2
f.c.2 = X3
p2 = X4
salita motore K1 = Y1
discesa motore K2= Y2
tabella di verità per i movimenti salita e discesa :
x1
x2
x3
x4
y1
y2
assegnazione ingressi e uscite
eseguire programma plc:
pag.24/24