G.- F. Dalla Betta, G. Soncini. Appunti di Elettronica 2.
Capitolo I
Introduzione ai circuiti elettronici digitali
I.1. Segnali analogici e digitali
Appendice
A.1. Sistemi di numerazione
A.2. Sistema binario
A.3. Codici
1
I.1. Segnali analogici e digitali
2
Segnale analogico: variabile continua
assume un numero infinito di valori entro l’intervallo di variazione
intervallo di variazione
v
t
Elettronica analogica: sistemi di elaborazione di segnali analogici
vi(t)
Sistema elettronico analogico
Esempio: amplificatore
vo(t)=f[vi(t)]
vo(t)=A·vi(t)
I segnali vi(t) e vo(t) per evitare distorsioni devono rimanere
intervallo di
variazione
in ogni istante all’interno dell’intervallo di variazione
caratteristico del funzionamento lineare del sistema
vo(t)=A·vi(t)
vi(t)
t
3
4
Segnale digitale: variabile discreta
intervallo di variazione
assume un numero finito di valori entro l’intervallo di variazione
Il segnale digitale approssima
v
il segnale analogico
t
intervallo di campionamento
L’approssimazione migliora al crescere del numero di valori discreti in cui viene
suddiviso l’intervallo di variazione e l’intervallo di campionamento temporale
5
Mondo digitale
Ingressi
digitali
Sistema
elettronico
digitale
(elaboratore)
Uscite
digitali
Sistema
elettronico
digitale
(elaboratore)
Convertitore
D/A
segnale
analogico
(sensor output)
Convertitore
A/D
Per comunicare con il mondo analogico ...
segnale
analogico
(actuator input)
Teorema del campionamento (Nyquist):
Ts = 1/(2×fmax)
Discretizzazione del tempo e delle ampiezze dei segnali
Convertitore Analogico/Digitale (A/D)
A
Sample&Hold
A*
Quantizzatore
(A/D)
REF
A* Valori continui tempo-discreti
B Valori discreti tempo-discreti
Classificazione dei convertitori A/D
• a contatore
• a integrazione
• ad approssimazioni successive
• paralleli
B1
B2
B3
Bn
Convertitore Digitale/Analogico (D/A)
Segnale
Digitale
(binario)

B1
B2
B3
A  REF  f ( B )
D/A
Segnale
Analogico
Bn
REF (riferimento analogico)
f(B) = caratteristica di conversione (lineare o non lineare)
n
Caso lineare:
f ( B )   Bi  2
i 1
i
8
Il segnale binario assume nominalmente due soli valori e costituisce
quindi il caso piu’ elementare di segnale discreto. La quasi totalità
delle apparecchiature digitali impiega segnali binari.
• Occorrono ovviamente più segnali
binari per sostituire un segnale discreto
G
• La forma d’onda del segnale binario
raramente presenta un’alternanza di
due soli valori (continuità della grandezza
fisica impiegata, disturbi, …)
L
• All’interno dell’intervallo di variabilità
sono definiti a priori due distinti valori di
soglia, H e L; normalmente il valore dei
segnali è sopra H o sotto L.
• Il passaggio nella fascia intermedia di
valori avviene con rapidi transitori, detti
“fronti di salita” e “fronti di discesa”.
H
t
G
H
Fronte di
salita
Fronte di
discesa
L
t
Esempio: controllo livello liquido in un serbatoio
a) analogico
b) digitale
9
Vcc
Vcc
va (t)
vd (t)
massa
massa
va , vd
Vcc
3
2
1
0
0
10
Digit di
ingresso
Sistema elettronico digitale
(elaboratore)
Digit di
uscita
• Sistema elettronico digitale combinatorio: il digit di uscita all’istante t
dipende dai digit di ingresso allo stesso istante t.
• Sistema elettronico digitale sequenziale: il digit di uscita all’istante t
dipende e dai digit di ingresso allo stesso istante t e dai digit di ingresso
agli istanti precedenti. Presuppone l’esistenza di circuiti di
memorizzazione dei dati. I sistemi sequenziali possono essere
ulteriormente classificati in:
Sistemi asincroni, ovvero privi di ogni riferimento temporale.
Sistemi sincroni, nei quali invece i segnali possono cambiare solo in
corrispondenza di istanti di tempo prefissati e, di norma, ugualmente
intervallati.
11
Vantaggi approssimazione (approccio) digitale:
• maggiore immunità ai disturbi, sia in fase di acquisizione che di
trasmissione dei dati
margine d’immunità ai disturbi
000
001
010
011
100
101
110
111
• facilità di elaborazione numerica e di memorizzazione del segnale
• bassi costi dell’elettronica integrata digitale
• versatilità e programmabilità
APPENDICE A.1. Sistemi di numerazione
a) sistema decimale: numerazione a base 10
Cifre (digits): Ci0, 1, 2, …9.
Numero10 : N10 
k  n 1
k
C

10
 i
k 0
Alla posizione della cifra nel numero è associato un peso decimale
Esempio (numero intero):
345910  3  103  4  10 2  5  101  9  10 0
migliaia centinaia decine
Esempio (numero frazionario decimale):
unità
34.5910  3  101  4  10 0  5  10 1  9  10 2
decine
unità
decimi
centesimi
Esiste una infinita possibilità di sviluppare diversi sistemi di numerazione
modificando la scelta della base.
Di fatto si usano un numero limitato di sistemi di numerazione
12
13
b) sistema binario: numerazione a base 2
Cifre Ci0, 1. Binary digit=Bit=informazione elementare
Numero2:
N2 
k  n 1
k
C

2
 i
k 0
Alla posizione della cifra nel numero è associato un peso binario
Esempio (numero intero):
101112  1 2 4  0  2 3  1 2 2  1 21  1 2 0  2310 
Esempio (numero frazionario):
10.1112  1 21  0  2 0  1 2 1  1 2 2  1 2 3  2.87510 
Il sistema binario è particolarmente vantaggioso per semplificare
la realizzazione dei circuiti elettronici di elaborazione numerica
e per interfacciarsi con calcolatori e microprocessori
14
c) sistema ottale: numerazione a base 8
Cifre Ci0, 1,…, 7.
Numero:
esempio:
N8 
k  n 1
k
C

8
 i
k 0
1618  1 8 2  6  81  1 80  11310 
d) sistema esadecimale: numerazione a base 16
Cifre Ci0, 1,…, 9, A, B, C, D, E, F.
Numero:
N16 
k  n 1
k
C

16
 i
k 0
esempio:
F15 A16  15  163  1 16 2  5  161  10  16 0  6178610 
Conversione fra i diversi sistemi di numerazione
Regola generale:
conversione del numero reale a (maggiore di 1) in base b=10
nel corrispondente numero reale c in base d.
c si ottiene dividendo a per d.
I resti ad ogni passo della divisione rappresentano le cifre di c.
Esempio: convertire 2710 nel suo equivalente in base 2
in questo caso: c=?; a=27(decimale >1); b=10; d=2
27:2=13 resto 1 ( bit meno significativo: peso 20 )
13:2=6 resto 1 ( peso 21 )
6:2=3 resto 0 ( peso 22 )
3:2=1 resto 1 ( peso 23 )
1:2=0 resto 1 ( bit più significativo: peso 24 )
per cui: 2710=110112 (=1 24+ 1 23+ 0 22+ 1 21+ 1 20 )
15
16
Regola generale:
conversione del numero reale a (minore di 1) in base b=10
nel corrispondente numero reale c in base d.
c si ottiene moltiplicando a per d. Le parti intere ad ogni passo
della moltiplicazione rappresentano le cifre di c.
Esempio: convertire 0.37510 nel suo equivalente in base 2
in questo caso: c=?; a=0.375(decimale <1); b=10; d=2
0.375×2 = 0.750 parte intera 0; parte frazionaria 0.750; ( peso 2 1 )
0.750×2 = 1.500 parte intera 1; parte frazionaria 0.500; ( peso 2 2 )
0.500×2 = 1.000 parte intera 1; parte frazionaria 0.000; ( peso 2 3 )
per cui: 0.37510=0.0112 (=0+0 2 1 + 1 2 2 + 1 2 3)
Per convertire un numero frazionario, basta procedere separatamente
alla conversione della parte intera e della parte frazionaria
Analogamente per le conversioni da decimale in altri sistemi numerici
17
Esempio 1: convertire 11910 nel suo equivalente in base 8
in questo caso: c=?; a=119; b=10; d=8
119:8=14 resto 7 ( bit meno significativo: peso 80 )
14:8=1 resto 6 ( peso 81 )
1:8=0 resto 1 ( bit più significativo: peso 82 )
per cui: 11910=1678 ( =1 82+ 6 81+ 7 80 )
Esempio 2: convertire 93310 nel suo equivalente in base 16
in questo caso: c=?; a=933; b=10; d=16
933:16=58 resto 5 ( bit meno significativo: peso 160 )
58:16=3 resto 10A ( peso 161 )
3:16=0 resto 3 ( bit più significativo: peso 162 )
per cui: 93310=3A516 ( =3 162+ A 161+ 3 160 )
Esempio 3: convertire 207.87410 nel suo equivalente in base 2
Parte intera
207:2=103 resto 1 ( peso 20 )
103:2=51 resto 1 ( peso 21 )
51:2=25 resto 1 ( peso 22)
25:2=12 resto 1 ( peso 23)
12:2= 6 resto 0 ( peso 24)
6:2= 3 resto 0 ( peso 25)
3:2= 1 resto 1 ( peso 26)
1:2= 0 resto 1 ( peso 27)
18
Parte frazionaria
0.874x2=0.748 parte intera 1 ( peso 2-1 )
0.748x2=0.496 parte intera 1 ( peso 2-2)
0.496x2=0.992 parte intera 0 ( peso 2-3)
0.984x2=0.968 parte intera 1 ( peso 2-4)
0.968x2=0.936 parte intera 1 ( peso 2-5)
0.936x2=0.872 parte intera 1 ( peso 2-6)
0.872x2=0.744 parte intera 1 ( peso 2-7)
0.744x2=0.488 parte intera 1 ( peso 2-8)
... troncamento alla ottava
cifra dopo la virgola
per cui: 207.87410=11001111.110111112
Esempio 4: convertire 40.310 nel suo equivalente in base 16
Parte intera
40:16=2 resto 8 ( bit meno significativo: peso 160 )
2:16=0 resto 2 ( bit più significativo: peso 161 )
Parte frazionaria
0.3x16=0.8 parte intera 4 ( bit più significativo: peso 16-1)
0.8x16=0.8 parte intera 12 = C ( peso 16-2)
0.8x16=0.8 parte intera 12 = C ( peso 16-3) periodico ...
... troncamento alla terza cifra dopo la virgola
per cui: 40.310=28.4CC16
19
20
Esempio 5: convertire il numero binario 10110110010001102
nel suo equivalente in base 8.
Raggruppare le cifre in gruppi di tre partendo da destra, completando
l’ultimo terzetto a sinistra con degli zeri se necessario:
001
011
011
001
000
1102
Convertire i terzetti binari nel loro equivalente in base 8:
011
011
001
000
1102
1
3
3
1
0
6
{
{
{
{
{
{
001
10110110010001102 = 1331068
21
Esempio 6: convertire il numero binario 10110110010001102
nel suo equivalente in base 16.
Raggruppare le cifre in gruppi di quattro partendo da destra,
completando l’ultimo quartetto a sinistra con degli zeri se necessario:
1011
0110
0100
01102
{
1011
{
0110
{
0100
{
Convertire i quartetti binari nel loro equivalente in base 16:
B
6
4
6
10110110010001102 = B64616
01102
Appendice A.2. Sistema binario
sistema di numerazione a base 2
Cifre Ci0, 1. Binary digit=Bit=informazione elementare
Numero2:
N2 
k  n 1
k
C

2
 i
sequenza ordinata di bits
k 0
I numeri binari sono convenzionalmente suddivisi in gruppi di 4 bits
Con 4 bits (nibble) si conta da 0 ad 1111 (da 0 a 15 in decimale)
Con 8 bits (byte) si conta da 0 ad 11111111 (da 0 a 255 in decimale)
Con 16 bits (word) si conta da 0 a 1111111111111111
(da 0 a 65535 in decimale)
N  2 n  1 max. numero decimale rappresentabile con n bit
E’ possibile sviluppare una matematica binaria e definire regole di
calcolo in binario in analogia al sistema decimale (Algebra di Boole)
22
Sistema binario: operazioni aritmetiche elementari
Si applicano regole formalmente analoghe al sistema decimale
a) somma di due numeri binari:
Esempio: 1012+1112= ?
11
riporto
1 0 1+
1 1 1=
110 0
b) sottrazione di due numeri binari:
Esempio: 10012 – 1112=?
11
prestito
1001–
0 1 1 1=
0010
0+0=0
0+1=1
1+0=1
1 + 1 = 0 con riporto 1
0–0=0
1–0=1
1–1=0
0 – 1 = 1 con resto 1
23
24
c) moltiplicazione di due numeri binari:
Esempio:1012  102=?
101
10=
000
101
1010
00=0
10=0
01=0
11=1
d) La divisione di due numeri binari non e’ immediata e si basa sul
seguente procedimento:
• si pone il divisore sotto il dividendo in modo che le cifre piu’
significative coincidano;
• si confronta il divisore con la porzione del dividendo equivalente;
• se questa porzione e’ maggiore o uguale al divindendo, si scrive un
1 nel quoziente e il divisore e’ sottratto alla porzione del dividendo,
altrimenti si pone uno zero nel quoziente; altrimenti si scrive uno 0
nel quoziente.
• si sposta il divisore di una posizione verso destra e si ripete la
procedura finche’ la cifra meno significativa del divisore e’ allineata
con la cifra meno significativa del dividendo.
Esempio: 10012 : 112=?
A Dividendo 1 0 0 1
Divisore 1 1
Dividend o 1 0 0 1
B
Divisore
11
Sottrazione 0 1
Dividend o 0 1 1
C Divisore
11
Sottrazione
0
0 1 1 Quoziente
Resto
25
26
La moltiplicazione (divisione) è riconducibile ad una semplice
operazione di scorrimento o shift a sinistra (destra) di m posizioni del
moltiplicando (dividendo) nel caso in cui il valore del moltiplicatore
(divisore) coincida con una potenza intera m della base (2).
Esempi:
1012  102 = 10102
scorrimento a sinistra di una posizione
11102  1002 = 1110002 scorrimento a sinistra di due posizioni
1010102 : 102 = 101012
scorrimento a destra di una posizione
10112 : 10002 = 1.0112
scorrimento a destra di tre posizioni
Rappresentazione numeri negativi
a) bit di segno
rappresentazione modulo preceduta dal bit di segno: 0 per +
1 per –
Esempio: +4510 = 0 101101
– 4510 = 1 101101
bit
bit di
di segno modulo
Con questa convenzione una parola di 8 bit
(di cui uno di segno e sette di modulo)
può rappresentare numeri decimali interi nell’intervallo:




 27  1  127  N   27  1  127
27
28
b) complemento ad 1 di un numero binario
Il complemento ad 1 di un numero binario N2 ad n cifre si ottiene
sottraendo il numero stesso da (2n–1). In formule:
N 2 1  2 n  1  N 2
Esempio: N2=101
complemento ad 1: (23–1) – 101= (1000 –1) – 101=111 – 101=010
Esempio: N2 =10110
complemento ad 1: (25–1) – 10110 = 11111 – 10110=01001
Cambia ogni cifra del numero binario con il suo opposto: 0 per 1
1 per 0
Esempio: N2 = 101101 (= 4510 ); complemento ad 1: 010010
N2 = 100100 (= 3610 ); complemento ad 1: 011011
29
c) complemento a 2 di un numero binario
Il complemento a 2 di un numero binario N ad n cifre si ottiene
sottraendo il numero stesso da 2n. In formula:
N 2  2 n  N
Esempio: N2=101
complemento a 2: 23– 101= 1000 –101= 011
Esempio: N2=10110
complemento ad 1: 25 – 10110 = 100000 - 10110 = 01010
Si copia ogni cifra del numero binario partendo dall’ultimo bit
(bit meno significativo) fino al primo 1 incluso, quindi si procede
sostituendo i bit successivi con il loro opposto: 0 per 1 e 1 per 0
Esempio: N2= 101101(= 4510 ); complemento a 2: 010011
N2= 100100(= 3610 ); complemento a 2: 011100
30
Convenzione:
il numero binario negativo viene rappresentato dal suo compl. a 2
Esempio: +1110 =
– 610 =
+1010 =
– 1410 =
0 1011
1 0110
0 1010
1 1110
0 1011
1 1010
0 1010
1 0010
In questa convenzione la somma algebrica tra due numeri binari
si effettua sommando i due numeri, incluso il bit di segno
Esempio: +1110 = 0 1011
– 610 = 1 1010
+510 = 0 0101
+ 1010 = 0 1010
– 1410 = 1 0010
–410 = 1 1100
complemento a 2 di –410
31
L’utilizzo della rappresentazione convenzionale in complemento a 2
del numero binario negativo si rivela in generale vantaggiosa, poiché
semplifica la realizzazione dei circuiti elettronici di elaborazione nel
sistema binario (basta realizzare circuiti sommatori).
Esempio: + 310 = 0 0011
– 610 = 1 0110
0 0011
1 1010
1 1101
complemento a 2 di –310
Esempio: + 710 = 0 0111
– 810 = 1 1000
0 0111
1 1000
1 1111
complemento a 2 di –110
32
Esempio: – 310 = 1 0011
– 510 = 1 0101
1
1
1101
1011
1 1000
complemento a 2 di –810
Esempio: + 2.7510 = 0 10.11
– 0.5010 = 1 00.10
0 10.11
1 11.10
0
Esempio: + 1.12510 = 0 01.001
– 3.37510 = 1 11.011
10.01
(=2.2510)
0 01.001
1 00.101
1 01.110
complemento a 2 di 1 10.0102 = –2.2510
Appendice A.3. Codici
33
E’ denominato Codice Binario ogni regola che stabilisce una funzione
dall’insieme formato dalle configurazioni binarie di N bit ad un
insieme costituito da simboli, oggetti, o da eventi mutuamente
esclusivi.
Proprieta’ dei codici binari:
• non si devono utilizzare necessariamente tutte le possibili
configurazioni di N bit;
• la stessa informazione può essere associata a più configurazioni, ma
ogni configurazione utilizzata deve avere significato univoco;
• per stabilire un codice è necessario che il numero delle
configurazioni rese disponibili dagli N bit di codifica sia maggiore o
uguale al numero M degli elementi dell’insieme che si vuole
rappresentare, ovvero:
2N  M
NMIN = il più piccolo intero superiore a log2 M
34
Rappresentazioni convenzionali di numeri decimali con numeri binari
A) codice BCD (Binary Coded Decimal), detto anche 8-4-2-1, dal
valore dei pesi: NBCD=b3b2b1b0= 8b3+ 4b2 + 2b1 + 1b0
Le singole cifre decimali vengono rappresentate da 4 cifre binarie
decimale
9
2
5
Esempio: 925
10
1001
0010
0101
Codice BCD
B) codice Gray
Le singole cifre decimali vengono rappresentate da cifre binarie
che variano sempre di un solo bit nel procedere con il conteggio:
Decimale : 0
1
2
3
4
5
6
7
8
9
Binario: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Gray: 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101
Altri codici vengono utilizzati per specifiche applicazioni.
35
Esempio: Calcolatrice tascabile
Ingresso operandi
Codice 1 su 10
Esecuzione operazione
Codice BCD
Uscita risultato
Codice a 7 segmenti
Cifra Codice “1 su 10” Codice BCD Codice a 7 segmenti
9876543210
xyzw
abcdefg
0
0000000001
0000
1111110
1
0000000010
0001
0110000
2
0000000100
0010
1101101
3
0000001000
0011
1111001
4
0000010000
0100
0110011
5
0000100000
0101
1011011
6
0001000000
0110
0011111
7
0010000000
0111
1110000
8
0100000000
1000
1111111
9
1000000000
1001
1110011
a
f
b
g
e
c
d
36
Esempio: Position encoders ottici (trasduttori che forniscono in
forma digitale ed in parallelo la posizione angolare di un albero rotante).
N corone circolari, 2N tacche opache e trasparenti, disposte secondo
il codice Gray (variazione di un solo
bit nella codifica di settori contigui)
Esempio (3 bit)
V a lo ri a n g o la ri
0° - 45°
45° - 90°
90° - 135°
135° - 180°
180° - 225°
225° - 270°
270° - 315°
315° - 360°
C o n fig u ra z io n e
G ra y a 3 b it
000
001
011
010
110
111
101
100
Scarica

cap.1 - introduzione