1 I.1. Segnali analogici e digitali Appendice A.1. Sistemi di numerazione A.2. Sistema binario A.3....
-
Upload
franca-diana -
Category
Documents
-
view
216 -
download
0
Transcript of 1 I.1. Segnali analogici e digitali Appendice A.1. Sistemi di numerazione A.2. Sistema binario A.3....
1
I.1. Segnali analogici e digitali
Appendice
A.1. Sistemi di numerazione
A.2. Sistema binario
A.3. Codici
Capitolo I
Introduzione ai circuiti elettronici digitali
G.- F. Dalla Betta, G. Soncini. Appunti di Elettronica 2.
2
Segnale analogico: variabile continuaassume un numero infinito di valori entro l’intervallo di variazione
v
t
inte
rval
lo d
i var
iazi
one
I.1. Segnali analogici e digitali
3Elettronica analogica: sistemi di elaborazione di segnali analogici
Sistema elettronico analogicovi(t) vo(t)=f[vi(t)]
Esempio: amplificatore vo(t)=A·vi(t)
I segnali vi(t) e vo(t) per evitare distorsioni devono rimanere in ogni istante all’interno dell’intervallo di variazione caratteristico del funzionamento lineare del sistema
tinte
rval
lo d
i v
aria
zion
e
vi(t)
vo(t)=A·vi(t)
4Segnale digitale: variabile discretaassume un numero finito di valori entro l’intervallo di variazione
t
vin
terv
allo
di v
aria
zion
e
L’approssimazione migliora al crescere del numero di valori discreti in cui viene suddiviso l’intervallo di variazione e l’intervallo di campionamento temporale
Il segnale digitale approssima il segnale analogico
intervallo di campionamento
5
Sistema elettronico
digitale(elaboratore)C
onve
rtit
ore
A/D
Con
vert
itor
e D
/A
segnaleanalogico
(sensor output)
segnale analogico
(actuator input)
Sistema elettronico
digitale(elaboratore)
Ingressidigitali
Uscitedigitali
Mondo digitale
Per comunicare con il mondo analogico ...
Teorema del campionamento (Nyquist): Ts = 1/(2×fmax)
Discretizzazione del tempo e delle ampiezze dei segnali
Convertitore Analogico/Digitale (A/D)
Sample&HoldA A*
REF
B1
B2
B3
Bn
Quantizzatore
(A/D)
A* Valori continui tempo-discretiB Valori discreti tempo-discreti
Classificazione dei convertitori A/D• a contatore• a integrazione• ad approssimazioni successive • paralleli
Convertitore Digitale/Analogico (D/A)
REF (riferimento analogico)
B1
B2
B3
Bn
D/ASegnale
AnalogicoSegnale
Digitale (binario)
A REF f B ( )
f(B) = caratteristica di conversione (lineare o non lineare)
Caso lineare: f B Bii
i
n
( )
2
1
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.
G
L
H
G
L
H
t
t
Fronte di salita
Fronte di discesa
• Occorrono ovviamente più segnali binari per sostituire un segnale discreto
• La forma d’onda del segnale binarioraramente presenta un’alternanza didue soli valori (continuità della grandezzafisica impiegata, disturbi, …)
• 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”.
9Esempio: controllo livello liquido in un serbatoioa) analogico b) digitale
massa
Vcc
va (t)
Vcc
vd (t)
massa
Vcc
va , vd
t00123
10
Sistema elettronico digitale(elaboratore)
Digit di ingresso
Digit di uscita
• Sistema elettronico digitale combinatorio: il digit di uscita all’istante tdipende 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 ingressoagli 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
• facilità di elaborazione numerica e di memorizzazione del segnale
• bassi costi dell’elettronica integrata digitale
• versatilità e programmabilità
000 001 010 011 100 101 110 111
margine d’immunità ai disturbi
12APPENDICE A.1. Sistemi di numerazionea) sistema decimale: numerazione a base 10Cifre (digits): Ci0, 1, 2, …9.
Numero10 :
1
010 10
nk
k
kiCN
Esempio (numero intero):0123
10 1091051041033459 unità
decine
centinaiamigliaia
Esiste una infinita possibilità di sviluppare diversi sistemi di numerazionemodificando la scelta della base.
Di fatto si usano un numero limitato di sistemi di numerazione
Esempio (numero frazionario decimale):2101
10 10910510410359.34
decine
unità decimi centesimi
Alla posizione della cifra nel numero è associato un peso decimale
13
b) sistema binario: numerazione a base 2
Cifre Ci0, 1. Binary digit=Bit=informazione elementare
Numero2:
1
02 2
nk
k
kiCN
Esempio (numero intero):
1001234
2 23212121202110111
Esempio (numero frazionario):
1032101
2 875.22121212021111.10
Il sistema binario è particolarmente vantaggioso per semplificare la realizzazione dei circuiti elettronici di elaborazione numerica
e per interfacciarsi con calcolatori e microprocessori
Alla posizione della cifra nel numero è associato un peso binario
14
c) sistema ottale: numerazione a base 8
Cifre Ci0, 1,…, 7.
Numero:
1
08 8
nk
k
kiCN
esempio: 10012
8 113818681161
d) sistema esadecimale: numerazione a base 16
Cifre Ci0, 1,…, 9, A, B, C, D, E, F.
Numero:
1
016 16
nk
k
kiCN
esempio:
100123
16 617861610165161161515 AF
15Conversione fra i diversi sistemi di numerazioneRegola generale: conversione del numero reale a (maggiore di 1) in base b=10nel 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 2in 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 )
16
Regola generale: conversione del numero reale a (minore di 1) in base b=10nel 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 2in 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 8in questo caso: c=?; a=119; b=10; d=8
Esempio 2: convertire 93310 nel suo equivalente in base 16in questo caso: c=?; a=933; b=10; d=16
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 )
933:16=58 resto 5 ( bit meno significativo: peso 160 ) 58:16=3 resto 10A ( peso 161 ) 3:16=0 resto 3 ( bit più significativo: peso 162 )
per cui: 93310=3A516 ( =3 162+ A 161+ 3 160 )
18
Esempio 3: convertire 207.87410 nel suo equivalente in base 2
Parte intera207: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)
per cui: 207.87410=11001111.110111112
... troncamento alla ottava cifra dopo la virgola
Parte frazionaria0.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)
19
Esempio 4: convertire 40.310 nel suo equivalente in base 16
Parte intera40:16=2 resto 8 ( bit meno significativo: peso 160 ) 2:16=0 resto 2 ( bit più significativo: peso 161 )
Parte frazionaria0.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
20
Esempio 5: convertire il numero binario 10110110010001102 nel suo equivalente in base 8.
Raggruppare le cifre in gruppi di tre partendo da destra, completandol’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:
001 011 011 001 000 1102
1 3 3 1 0 6
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
Convertire i quartetti binari nel loro equivalente in base 16:
1011 0110 0100 01102
B 6 4 6
10110110010001102 = B64616
{ { { {
22Appendice A.2. Sistema binariosistema di numerazione a base 2Cifre Ci0, 1. Binary digit=Bit=informazione elementare
Numero2:
1
02 2
nk
k
kiCN
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)
sequenza ordinata di bits
E’ possibile sviluppare una matematica binaria e definire regole di calcolo in binario in analogia al sistema decimale (Algebra di Boole)
12 nN max. numero decimale rappresentabile con n bit
23Sistema binario: operazioni aritmetiche elementari
a) somma di due numeri binari:
1 0 1+ 1 1 1= 1 1 0 0
Si applicano regole formalmente analoghe al sistema decimale
Esempio: 1012+1112= ?0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 0 con riporto 1
b) sottrazione di due numeri binari:
1 0 0 1 – 0 1 1 1= 0 0 1 0
Esempio: 10012 – 1112=?
0 – 0 = 01 – 0 = 11 – 1 = 00 – 1 = 1 con resto 1
1 1 riporto
1 1 prestito
24
c) moltiplicazione di due numeri binari:
1 0 1 1 0 = 0 0 0 1 0 1 1 0 1 0
Esempio:1012 102=?0 0 = 01 0 = 00 1 = 01 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.
25
Dividendo 1 0 0 1 0 1 1 Quoziente
Esempio: 10012 : 112=?
ADivisore 1 1
• 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.
Divisore 1 1Dividend o 1 0 0 1
B
Sottrazione 0 1
Dividend o 0 1 1Divisore 1 1C
Sottrazione 0 Resto
26
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
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).
27
Rappresentazione numeri negativia) bit di segnorappresentazione modulo preceduta dal bit di segno: 0 per +
1 per –Esempio: +4510 = 0 101101
– 4510 = 1 101101bit
di segnobit di
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:
1271212712 77 N
28
b) complemento ad 1 di un numero binario
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
Il complemento ad 1 di un numero binario N2 ad n cifre si ottiene
sottraendo il numero stesso da (2n–1). In formule:
212 12 NN n
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
29
c) complemento a 2 di un numero binario
Il complemento a 2 di un numero binario N ad n cifre si ottienesottraendo il numero stesso da 2n. In formula:
NN n 22
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
Esempio: N2=101
complemento a 2: 23– 101= 1000 –101= 011
Esempio: N2=10110
complemento ad 1: 25 – 10110 = 100000 - 10110 = 01010
30
Esempio: +1110 = 0 1011 0 1011 – 610 = 1 0110 1 1010
+1010 = 0 1010 0 1010 – 1410 = 1 1110 1 0010
In questa convenzione la somma algebrica tra due numeri binari si effettua sommando i due numeri, incluso il bit di segno
Convenzione:il numero binario negativo viene rappresentato dal suo compl. a 2
Esempio: +1110 = 0 1011 + 1010 = 0 1010 – 610 = 1 1010 – 1410 = 1 0010
+510 = 0 0101 –410 = 1 1100
complemento a 2 di –410
31
Esempio: + 310 = 0 0011 0 0011 – 610 = 1 0110 1 1010
1 1101 complemento a 2 di –310
Esempio: + 710 = 0 0111 0 0111 – 810 = 1 1000 1 1000
1 1111 complemento a 2 di –110
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).
32
Esempio: – 310 = 1 0011 1 1101 – 510 = 1 0101 1 1011
1 1000 complemento a 2 di –810
Esempio: + 2.7510 = 0 10.11 0 10.11 – 0.5010 = 1 00.10 1 11.10
0 10.01 (=2.2510)
Esempio: + 1.12510 = 0 01.001 0 01.001 – 3.37510 = 1 11.011 1 00.101
1 01.110 complemento a 2 di 1 10.0102 = –2.2510
33Appendice A.3. Codici
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:
NMIN = il più piccolo intero superiore a log2 M MN 2
34
A) codice BCD (Binary Coded Decimal), detto anche 8-4-2-1, dal valore dei pesi: NBCD=b3b2b1b0= 8b3+ 4b2 + 2b1 + 1b0
Le singole cifre decimali vengono rappresentate da 4 cifre binarie
Esempio: 92510 9 2 5
1001 0010 0101
decimale
Codice BCD
B) codice GrayLe 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 9Binario: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001Gray: 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101
Rappresentazioni convenzionali di numeri decimali con numeri binari
Altri codici vengono utilizzati per specifiche applicazioni.
35
Esempio: Calcolatrice tascabile
Ingresso operandi Esecuzione operazione Uscita risultato
Codice 1 su 10 Codice BCD Codice a 7 segmenti
Cifra Codice “1 su 10”9 8 7 6 5 4 3 2 1 0
Codice BCDx y z w
Codice a 7 segmentia b c d e f g
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 1 01 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 02 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 13 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 1 0 0 14 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 1 15 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 16 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 17 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 08 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 19 1 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 1 1
a
g
e
fb
c
d
36Esempio: 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)
Valori angolari ConfigurazioneGray a 3 bit
0° - 45° 00045° - 90° 001
90° - 135° 011135° - 180° 010180° - 225° 110225° - 270° 111270° - 315° 101315° - 360° 100
Esempio (3 bit)