Introduzione ai circuiti elettronici digitali

Slides:



Advertisements
Presentazioni simili
Dall’informazione al linguaggio macchina
Advertisements

Rappresentazioni numeriche
Sistemi di numerazione
MULTIVIBRATORI BISTABILI
Capitolo 4 Logica sequenziale
SISTEMA DI ACQUISIZIONE E DISTRIBUZIONE DATI
Informatica Generale Susanna Pelagatti
Rappresentazione di Numeri Reali
Convertitori D/A e A/D Enzo Gandolfi.
Elaborazione numerica del suono
Rappresentazioni numeriche
Cenni sul campionamento
Trasmissione delle informazioni
Sistemi di numerazione e codici
Circuiti sequenziali Capitolo 5.
Digital Data Acquisition
Il Convertitore Digitale – Analogico ( DAC )
MASOERO FEDERICA Progetto web cooperativo:
Reti Logiche A Lezione n.1.4 Introduzione alle porte logiche
ELABORAZIONE NUMERICA DEI SEGNALI AA
Rappresentazione dei dati e codifica delle informazioni
Circuiti di memorizzazione elementari: i Flip Flop
CONVERSIONE ANALOGICO-DIGITALE, A/D
CARATTERISTICHE DEI CONVERTITORI DIGITALI-ANALOGICI (DAC)
CONVERTITORI A/D ad ELEVATE PRESTAZIONI
INTRODUZIONE AI CONVERTITORI ANALOGICO-DIGITALI (ADC)
Cenni sugli amplificatori
ANALOGICO-DIGITALI (ADC) DIGITALE-ANALOGICI (DAC)
ANALOGICO-DIGITALI (ADC) DIGITALE-ANALOGICI (DAC)
ANALOGICO-DIGITALI (ADC) DIGITALE-ANALOGICI (DAC)
Autronica LEZIONE 3.
Processi Aleatori : Introduzione – Parte I
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Rappresentazioni numeriche
Corso Fisica dei Dispositivi Elettronici Leonello Servoli 1 Retta di carico (1) La retta dipende solo da entità esterne al diodo.
Conversione Analogico/Digitale
Convertitore A/D e circuito S/H
La conversione analogico-digitale, campionamento e quantizzazione
Laboratorio di El&Tel Elaborazione numerica dei segnali: analisi delle caratteristiche dei segnali ed operazioni su di essi Mauro Biagi.
Rappresentazioni numeriche. Introduzione Un calcolatore elettronico dispone di uno spazio finito per memorizzare le cifre che esprimono un valore numerico.
Lezione 8 Numerosità del campione
Num / 36 Lezione 9 Numerosità del campione.
Gli esseri viventi ricevono informazione direttamente dal mondo circostante e dai propri simili attraverso i sensi (percezione). La percezione, tuttavia,
Codifica binaria Rappresentazione di numeri
Programma del corso Dati e loro rappresentazione Architettura di un calcolatore Sistemi operativi Linguaggi di programmazione Applicativi: - fogli elettronici.
Rappresentazione di Numeri Reali
Rappresentazione dell’informazione
Convertitori Analogico-Digitali
INTRODUZIONE AI SEGNALI SEZIONE 7
Campionamento e ricostruzione di segnali SEZIONE 7
Sistemi di acquisizione
CONVERTITORE ANALOGICO / DIGITALE
TRASDUTTORI E SENSORI.
GRANDEZZE ANALOGICHE E DIGITALI
Rappresentazione dell’informazione nel calcolatore.
Capitolo 2 Architettura di un calcolatore
LATCH. Circuiti Sequenziali I circuiti sequenziali sono circuiti in cui lo stato di uscita del sistema dipende non soltanto dallo stato di ingresso presente.
DAC A RESISTORI PESATI.
Autronica 3.1 Autronica LEZIONE 3. Autronica 3.2 Il mondo esterno è caratterizzato da variabili analogiche  Un segnale analogico ha un’ampiezza che varia.
Fondamenti di Informatica
Segnali analogici : variano in modo continuo nel tempo e possono assumere tutti i valori compresi in un certo intervallo Segnali digitali: possono assumere.
Data Acquisition System I° Modulo(DAS) Corso di Elettronica1.
Conversione binario-ottale/esadecimale
Conversione Analogico/Digitale Le grandezze fisiche che vogliamo misurare variano con continuità in un dato intervallo ed in funzione del tempo: sono descrivibili.
Calcolatori Elettronici
Logica di base e Conversione analogico-digitale Lezione 3 / Prima parte Gaetano Arena e.mail: 1.
Rappresentazione delle informazioni negli elaboratori L’entità minima di informazione all’interno di un elaboratore prende il nome di bit (binary digit.
Laboratorio II, modulo Conversione Analogico/Digitale ( cfr.
Transcript della presentazione:

Introduzione ai circuiti elettronici digitali 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 Segnale analogico: variabile continua assume un numero infinito di valori entro l’intervallo di variazione v t intervallo di variazione 2

in ogni istante all’interno dell’intervallo di variazione Elettronica analogica: sistemi di elaborazione di segnali analogici vi(t) vo(t)=f[vi(t)] Sistema elettronico analogico vo(t)=A·vi(t) Esempio: amplificatore 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 vo(t)=A·vi(t) intervallo di variazione vi(t) t 3

Il segnale digitale approssima Segnale digitale: variabile discreta assume un numero finito di valori entro l’intervallo di variazione v Il segnale digitale approssima il segnale analogico intervallo di variazione 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 4

Per comunicare con il mondo analogico ... Mondo digitale Sistema elettronico digitale (elaboratore) Ingressi digitali Uscite digitali Per comunicare con il mondo analogico ... Sistema elettronico digitale (elaboratore) segnale analogico (sensor output) segnale analogico (actuator input) Convertitore A/D Convertitore D/A Teorema del campionamento (Nyquist): Ts = 1/(2×fmax) Discretizzazione del tempo e delle ampiezze dei segnali 8

Convertitore Analogico/Digitale (A/D) Sample&Hold Quantizzatore B1 A A* B2 B3 (A/D) REF Bn A* Valori continui tempo-discreti B Valori discreti tempo-discreti Classificazione dei convertitori A/D a contatore a integrazione ad approssimazioni successive paralleli

Convertitore Digitale/Analogico (D/A) B1 B2 Segnale Digitale (binario) B3 D/A Segnale Analogico Bn 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”. G H L t G H Fronte di salita Fronte di discesa L t 5

Esempio: controllo livello liquido in un serbatoio a) analogico b) digitale Vcc Vcc va (t) vd (t) massa massa va , vd Vcc 3 2 1 t 10

Sistema elettronico digitale 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. 9

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à margine d’immunità ai disturbi 000 001 010 011 100 101 110 111 12

APPENDICE A.1. Sistemi di numerazione a) sistema decimale: numerazione a base 10 Cifre (digits): CiÎ 0, 1, 2, …9. Numero10 : Alla posizione della cifra nel numero è associato un peso decimale Esempio (numero intero): migliaia centinaia decine unità Esempio (numero frazionario decimale): 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 13

b) sistema binario: numerazione a base 2 Cifre CiÎ 0, 1. Binary digit=Bit=informazione elementare Numero2: 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 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: 15

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 ) 16

conversione del numero reale a (minore di 1) in base b=10 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 ) 18

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) 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

{ { { { { { 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: 1 3 3 1 0 6 10110110010001102 = 1331068 { { { { { {

{ { { { 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 { { { {

Appendice A.2. Sistema binario sistema di numerazione a base 2 Cifre CiÎ 0, 1. Binary digit=Bit=informazione elementare Numero2: 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 11111111 (da 0 a 255 in decimale) Con 16 bits (word) si conta da 0 a 1111111111111111 (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) 19

Sistema binario: operazioni aritmetiche elementari Si applicano regole formalmente analoghe al sistema decimale a) somma di due numeri binari: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 con riporto 1 Esempio: 1012+1112= ? 1 1 riporto 1 0 1+ 1 1 1= 1 1 0 0 b) sottrazione di due numeri binari: 0 – 0 = 0 1 – 0 = 1 1 – 1 = 0 0 – 1 = 1 con resto 1 Esempio: 10012 – 1112=? 1 1 prestito 1 0 0 1 – 0 1 1 1= 0 0 1 0 20

c) moltiplicazione di due numeri binari: Esempio:1012 ´ 102=? 0 ´ 0 = 0 1 ´ 0 = 0 0 ´ 1 = 0 1 ´ 1 = 1 1 0 1 ´ 1 0 = 0 0 0 1 0 1 1 0 1 0 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. 21

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=? Dividendo 1 0 0 1 0 1 1 Quoziente A Divisore 1 1 Dividend o 1 0 0 1 B Divisore 1 1 Sottrazione 0 1 Dividend o 0 1 1 C Divisore 1 1 Sottrazione 0 Resto

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 di segno bit 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: 22

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: 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 23

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: 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 24

il numero binario negativo viene rappresentato dal suo compl. a 2 Convenzione: il numero binario negativo viene rappresentato dal suo compl. a 2 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 Esempio: +1110 = 0 1011 + 1010 = 0 1010 – 610 = 1 1010 – 1410 = 1 0010 +510 = 0 0101 –410 = 1 1100 complemento a 2 di –410 25

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 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 26

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 27

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 log2 M 28

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 9 2 5 decimale Esempio: 92510 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.

Esempio: Calcolatrice tascabile Ingresso operandi Esecuzione operazione Uscita risultato Codice 1 su 10 Codice BCD Codice a 7 segmenti a f b g e c d

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) 31