G F Dalla Betta G Soncini Appunti di
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 v t
Elettronica analogica: sistemi di elaborazione di segnali analogici vi(t) Sistema elettronico analogico vo(t)=f[vi(t)] 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 intervallo di variazione Esempio: amplificatore vo(t)=A·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 B 1 B 2 B 3 Bn
Convertitore Digitale/Analogico (D/A) Segnale Digitale (binario) B 1 B 2 B 3 Bn D/A Segnale Analogico REF (riferimento analogico) f(B) = caratteristica di conversione (lineare o non lineare) Caso lineare:
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 • La forma d’onda del segnale binario raramente presenta un’alternanza di due soli valori (continuità della grandezza fisica 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”. 8 G H L t G H Fronte di salita Fronte di discesa L t
Esempio: controllo livello liquido in un serbatoio a) analogico b) digitale 9 Vcc va (t) vd (t) 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. Numero 10 : Alla posizione della cifra nel numero è associato un peso decimale Esempio (numero intero): migliaia centinaia decine Esempio (numero frazionario decimale): decine unità decimi unità 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
b) sistema binario: numerazione a base 2 Cifre CiÎ 0, 1. Binary digit=Bit=informazione elementare Numero 2: Alla posizione della cifra nel numero è associato un peso binario Esempio (numero intero): Esempio (numero frazionario): Il sistema binario è particolarmente vantaggioso per semplificare la realizzazione dei circuiti elettronici di elaborazione numerica e per interfacciarsi con calcolatori e microprocessori 13
14 c) sistema ottale: numerazione a base 8 Cifre CiÎ 0, 1, …, 7. Numero: esempio: d) sistema esadecimale: numerazione a base 16 Cifre CiÎ 0, 1, …, 9, A, B, C, D, E, F. Numero: esempio:
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=3 A 516 ( =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. 874 x 2=0. 748 parte intera 1 ( peso 2 -1 ) 0. 748 x 2=0. 496 parte intera 1 ( peso 2 -2) 0. 496 x 2=0. 992 parte intera 0 ( peso 2 -3) 0. 984 x 2=0. 968 parte intera 1 ( peso 2 -4) 0. 968 x 2=0. 936 parte intera 1 ( peso 2 -5) 0. 936 x 2=0. 872 parte intera 1 ( peso 2 -6) 0. 872 x 2=0. 744 parte intera 1 ( peso 2 -7) 0. 744 x 2=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. 3 x 16=0. 8 parte intera 4 ( bit più significativo: peso 16 -1) 0. 8 x 16=0. 8 parte intera 12 = C ( peso 16 -2) 0. 8 x 16=0. 8 parte intera 12 = C ( peso 16 -3) periodico. . . troncamento alla terza cifra dopo la virgola per cui: 40. 310=28. 4 CC 16 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 000 1102 Convertire i terzetti binari nel loro equivalente in base 8: 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 Convertire i quartetti binari nel loro equivalente in base 16: { 01102 { 0100 { 0110 { 1011 B 6 4 6 10110110010001102 = B 64616
Appendice A. 2. Sistema binario sistema di numerazione a base 2 Cifre CiÎ 0, 1. Binary digit=Bit=informazione elementare Numero 2: sequenza ordinata di bits 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 1111 (da 0 a 255 in decimale) Con 16 bits (word) si conta da 0 a 11111111 (da 0 a 65535 in decimale) 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 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
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 26
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 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
b) complemento ad 1 di un numero binario Il complemento ad 1 di un numero binario N 2 ad n cifre si ottiene sottraendo il numero stesso da (2 n– 1). In formule: Esempio: N 2=101 complemento ad 1: (23– 1) – 101= (1000 – 1) – 101=111 – 101=010 Esempio: N 2 =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: N 2 = 101101 (= 4510 ); complemento ad 1: 010010 N 2 = 100100 (= 3610 ); complemento ad 1: 011011 28
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 2 n. In formula: Esempio: N 2=101 complemento a 2: 23– 101= 1000 – 101= 011 Esempio: N 2=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: N 2= 101101(= 4510 ); complemento a 2: 010011 N 2= 100100(= 3610 ); complemento a 2: 011100
Convenzione: il numero binario negativo viene rappresentato dal suo compl. a 2 Esempio: +1110 = – 610 = +1010 = – 1410 = 0 1 1011 0110 1010 1110 0 1 1011 1010 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 30
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 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 log 2 M 33
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=b 3 b 2 b 1 b 0= 8´b 3+ 4´b 2 + 2´b 1 + 1´b 0 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 0010 0111 0100 1101 Altri codici vengono utilizzati per specifiche applicazioni. 34
35 Esempio: Calcolatrice tascabile Ingresso operandi Codice 1 su 10 Esecuzione operazione Codice BCD Uscita risultato Codice a 7 segmenti 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, 2 N tacche opache e trasparenti, disposte secondo il codice Gray (variazione di un solo bit nella codifica di settori contigui) Esempio (3 bit)
- Slides: 36