====== 23C - Conversione A/D ======
===== 1 La distinzione da analogico a digitale =====
I convertitori analogico/digitali (ADC) fanno l'operazione inversa dei DAC, cioè convertono un segnale analogico (in genere una tensione) in un numero intero codificato in binario. Nella conversione gli infiniti valori che può assumere il segnale analogico sono tradotti un numero limitato di combinazioni di bit ((2n combinazioni con //n// bit)); questo comporta inevitabilmente un **errore di quantizzazione**, definito come differenza tra il valore analogico in ingresso e quello corrispondente alla sua rappresentazione in digitale. Ogni combinazione di bit rappresenta un intero intervallo di valori analogici e l'ampiezza di questo intervallo, dipendente dal numero di bit dell'ADC, è il **quanto di conversione Q** del convertitore A/D. La //figura 1// aiuta a chiarire questi concetti: se Vi è la tensione in ingresso all'ADC e Do il dato digitale in uscita, vale:
`V_i = Q cdot D_o +- epsilon`
dove Q è il quanto di conversione e ε l'errore di quantizzazione.
Se in un DAC la tensione in uscita rappresenta esattamente il dato digitale, negli ADC non c'è più una corrispondenza esatta: dal dato digitale in uscita non è possibile risalire al valore analogico in ingresso ma solo all'intervallo in cui è compreso. Negli ADC gli intervalli di quantizzazione sono centrati in corrispondenza dei multipli del quanto Q; questo permette di minimizzare l'errore di quantizzazione, che al massimo sarà Q/2 (la //figura 2// mostra come questa scelta sia da preferire rispetto a quella di delimitare gli intervalli in corrispondenza dei multipli di Q)((questo problema somiglia un po' a quello dell'approssimazione di un numero, dove conviene arrotondare al decimale più vicino piuttosto che troncare i decimali in eccesso)).
Anche nei convertitori A/D, come nei DAC, la risoluzione è indicata da un numero di bit //n// in cui è suddivisa una tensione di fondo scala VFS, per cui vale:
`Q=V_(FS)/2^n`
e la tensione in ingresso Vi sarà convertita in una delle 2n possibili combinazioni di bit.
La //figura 3// mostra la caratteristica di trasferimento di un ADC a 3 bit((si tratta di un esempio didattico, un numero così basso di bit non è realistico)); osserviamo che:
* VFS è il valore massimo della tensione in ingresso
* il valore digitale più grande corrisponde alla tensione VFS - Q
* l'errore di quantizzazione massimo è Q/2
* il LSB diventa 1 quando Vi vale Q/2
* tutti gli intervalli - tranne il primo - hanno ampiezza pari a Q
===== 2 L'errore di quantizzazione come rumore =====
Interpretando l'errore di quantizzazione come rumore è possibile caratterizzare le prestazioni di un convertitore A/D con un rapporto segnale/rumore definito così:
`(S/N)_(dB)=20 log (V_(ieff)/V_(reff))`
dove Vieff e Vreff sono i valori efficaci del segnale in ingresso e dell'errore di quantizzazione inteso come rumore. Il valore effettivo di questo parametro dipenderà dalla risoluzione dell'ADC - quindi dal numero di bit - e dall'ampiezza del segnale in ingresso.
L'interpretazione dell'errore di quantizzazione come rumore sovrapposto al segnale in ingresso non è intuitiva ma può essere spiegata così:
* immaginiamo di collegare l'uscita di un ADC ad un DAC con la stessa risoluzione e la stessa tensione di fondo scala (//figura 4a//)
* se applichiamo un segnale in ingresso in uscita avremo un segnale a gradini che differisce da quello in ingresso per l'errore di quantizzazione (vedi il grafico di //figura 4b//)
* rappresentando solo l'errore possiamo osservare che ha un andamento a dente di sega (//figura 5b//)((questo è rigorosamente vero solo se l'ingresso è a rampa, ma con altri tipi di segnali la forma d'onda dell'errore non è molto diversa))
* l'uscita può essere interpretata come somma del segnale in ingresso e del rumore a dente di sega
Con queste premesse è possibile esprimere il valore efficace del rumore in funzione del numero di bit e della tensione di fondo scala dell'ADC e calcolare il rapporto segnale/rumore.
===== 3 Principio di funzionamento degli ADC =====
Il funzionamento di tutti i convertitori A/D è basato sull'uso dei comparatori. Il comparatore infatti ha un'uscita a due livelli e può essere pensato come un convertitore analogico/digitale a 1 bit: se l'ingresso supera la tensione di soglia l'uscita è alta, altrimenti è bassa. Scegliendo opportunamente la tensione di soglia (metà della tensione massima in ingresso) in uscita abbiamo una rappresentazione digitale del segnale in ingresso, anche se con una risoluzione di un solo bit.
I convertitori A/D commerciali hanno una risoluzione di almeno 8 bit ed esistono in due diverse tipologie:
* i **convertitori flash** usano molti comparatori con soglie diverse e una rete logica combinatoria per generare il dato digitale in uscita
* i **convertitori a retroazione** usano un solo comparatore con una soglia variabile: una rete logica sequenziale genera una serie crescente di valori digitali che, convertiti in una tensione analogica da un DAC, vengono confrontati con la tensione in ingresso; quando il comparatore commuta il valore digitale viene inviato in uscita (vedi //figura 8//)((questo è il principio di funzionamento dei DAC a conteggio (o a gradinata) che vengono usati molto raramente perché esistono DAC in retroazione più complicati ma più veloci))
Le due soluzioni presentano vantaggi e svantaggi:
* i comparatori flash sono semplici e molto veloci ma hanno una risoluzione limitata e un costo elevato perché un ADC da //n// bit richiede 2n-1 convertitori (255 comparatori per un ADC a 8 bit)
* i comparatori a retroazione sono più lenti e hanno un funzionamento più complicato ma sono più economici e permettono di ottenere risoluzioni elevate
===== 4 Il convertitore parallelo (flash) =====
La //figura 9// mostra lo schema di principio di un ADC flash a 3 bit. Osserviamo che:
* con 3 bit servono 7 comparatori (23 - 1)
* le tensioni di soglia, ottenute con una rete resistiva, sono multiple di Q e vanno da Q/2 a 13/2 Q; questa soluzione permette di minimizzare l'errore di quantizzazione, che al massimo sarà Q/2 (vedi [[sezione_23c?la_distinzione_da_analogico_a_digitale|paragrafo 1]])
* le uscite dei comparatori vengono convertite in un codice binario da una rete combinatoria((esistono applicazioni che non prevedono la rete combinatoria, ad esempio negli hi-fi per pilotare una colonna di LED che indica il livello audio))
Gli ADC flash sono intrinsecamente veloci: il tempo di conversione, somma del tempo di commutazione dei comparatori e di quello di propagazione della rete logica, può scendere fino a poche decine di nanosecondi. Questa caratteristica li rende adatti per tutte quelle applicazioni dove la conversione deve avvenire in tempo reale (ad esempio la codifica audio/video). Il difetto principale è che con risoluzioni elevate la complessità circuitale dell'integrato diventa proibitiva e il costo elevato (per un ADC a 12 bit servono 212 - 1 = 4095 comparatori!).
==== Extra ====
* scheda di laboratorio 23C.1: simulazione di un ADC flash (eventualmente prova al banco con LM339)
===== 5 ADC ad approssimazioni successive =====
Questa tipologia di convertitore A/D è la più usata in assoluto perché:
* ha un basso costo
* permette risoluzioni elevate
* è abbastanza veloce
I convertitori ad approssimazioni successive sono ADC a retroazione che usano una rete sequenziale detta **SAR** (//Successive Approximations Register//) per generare una tensione di riferimento del comparatore via via più vicina alla tensione in ingresso. Per individuare la giusta combinazione di bit non si provano tutti i possibili valori digitali((è il metodo a cui si accennava nel [[sezione_23c?principio_di_funzionamento_degli_adc|paragrafo 3]])) ma si usa un metodo molto più efficiente: l'**algoritmo di ricerca dicotomica**. Questo algoritmo è usato per per trovare un elemento in una sequenza ordinata e funziona così:
* si suddivide l'insieme di possibili valori in due intervalli uguali
* si individua in quale intervallo è contenuto l'elemento cercato
* si ripetono i passaggi precedenti considerando solo i valori contenuti in questo intervallo
Il SAR implementa questo algoritmo in questo modo:
* inizialmente tutti i bit sono a zero
* scorrendo tutti i bit dal MSB fino al LSB
* si imposta il bit a 1
* un DAC converte la combinazione di bit in una tensione VREF da confrontare con quella di ingresso nel comparatore
* se VREF > Vi si riporta il bit a zero altrimenti resta a 1
* si passa al bit successivo
Questo metodo è particolarmente efficiente perché la conversione avviene nel tempo necessario a confrontare //n// bit (quindi nell'ordine di //n·T// con T periodo di clock del SAR); se avessimo esaminato uno a uno tutti i possibili valori fino a trovare quello giusto avremmo avuto un tempo di conversione non costante che nel peggiore dei casi - a fondo scala - è nell'ordine di 2n·T (con 8 bit 256·T invece che 9·T !).
Per capire come funziona l'algoritmo esaminiamo la //figura 11//, riferita ad un ADC a 8 bit con tensione di fondo scala 10 Volt e tensione di ingresso pari a 6 Volt. Per ognuno degli 8 bit viene fatto un confronto tra la tensione di ingresso e una tensione di riferimento ottenuta impostando il bit a 1; ad ogni passaggio si dimezza l'intervallo di ricerca, passando da 256 valori a 128, 64, 32 ... e così via fino ad individuare, dopo 8 tentativi, il quanto che contiene la tensione in ingresso.
===== 6 Gli ADC a integrazione =====
I convertitori ad integrazione vengono usati solo negli strumenti digitali perché sono molto lenti e hanno un tempo di conversione non costante. A parte questo sono semplici, economici e precisi; possono raggiungere risoluzioni elevate e hanno una buona immunità ai disturbi((quelli a valor medio nullo e quelli in alta frequenza sono eliminati dallo stadio integratore)).
Il convertitore a integrazione più diffuso è quello a **doppia rampa**, rappresentato in //figura 12//. Nello schema riconosciamo:
* un integratore a cui è applicato il segnale in ingresso o una tensione di riferimento a seconda della posizione del commutatore comandato SW2
* un contatore binario a //n + 1// stadi (NB: un ADC a //n// bit prevede un contatore a //n + 1// bit)
* un comparatore che abilita il clock del contatore con una porta AND
Considerando Vi costante nel breve periodo, il principio di funzionamento è il seguente:
* inizialmente il RESET azzera il contatore e scarica il condensatore (chiude SW1)
* il commutatore SW2, comandato da //bn//, seleziona la tensione incognita Vi
* questa tensione, applicata all'integratore, produce una rampa decrescente e negativa in uscita
* la tensione vo fa commutare il comparatore che abilita il clock del contatore (porta AND)
* il condensatore si carica e il conteggio avanza
* quando //bn// passa a 1 il commutatore SW2 seleziona la tensione di riferimento negativa VR all'ingresso dell'integratore
* il condensatore si scarica con una rampa crescente
* quando la scarica è completa il comparatore commuta nuovamente e il contatore si ferma
* il dato digitale N, corrispondente a primi //n// bit del contatore (da //b0// a //bn-1//), è proporzionale alla tensione Vi e viene inviato in uscita dall'ADC
L'andamento della carica e scarica è rappresentato in //figura 12//. Qualche osservazione:
* il ciclo di carica ha durata costante (2n volte il tempo di clock Tck) e pendenza variabile (dipende da Vi e da RC)
* il ciclo di scarica ha durata variabile (N·Tck) e pendenza costante (dipende da VR e da RC)
* la carica accumulata e restituita nelle due fasi è uguale, per questo il convertitore è detto a bilanciamento di carica
* la scarica deve essere più breve della carica, altrimenti il contatore si azzera; questo implica che Vi deve essere minore di VR
Il dato digitale che rappresenta la tensione analogica incognita Vi non dipende né dal tempo di clock né da RC e si calcola con:
`N = V_i/V_R 2^n`
Per un buon funzionamento è necessario che R e C siano costanti nel breve periodo e che la tensione di riferimento VR sia stabilizzata.
===== 7 L'interfacciamento di un ADC a un sistema a bus =====
Gli argomenti di questo paragrafo competono alla materia di sistemi. Di seguito solo qualche cenno sui pin presenti negli ADC commerciali((i nomi dei pin e lo stato attivo (alto o basso) possono cambiare da integrato a integrato)).
Per potersi interfacciare a un bus un ADC deve avere un'**uscita 3-state**, dove oltre ai due stati logici 0, 1 ce n'è un terzo ad alta impedenza che scollega il dispositivo. Il pin OE (Output Enable) presente negli ADC serve ad abilitare l'uscita e ad uscire dallo stato di alta impedenza. Nei dispositivi sequenziali, come i convertitori ad approssimazioni successive, sono presenti anche il pin di ingresso SC (Start Conversion) e quello di uscita EOC (End Of Conversion) che servono rispettivamente ad avviare la conversione e a segnalarne la fine.
===== 8 Il numero effettivo di bit di un ADC: l'ENOB =====
Nel paragrafo 2 abbiamo visto come è possibile caratterizzare l'errore di quantizzazione di un ADC con un rapporto segnale/rumore. Questo parametro, che dipende dal numero di bit e dall'ampiezza del segnale in ingresso, può essere confrontato con un rapporto segnale/rumore vero e proprio dovuto a disturbi. Da questo confronto è possibile stabilire se l'impiego di un ADC con una determinata risoluzione è effettivamente vantaggioso o se i disturbi non permettono di sfruttarne appieno la risoluzione. Questa valutazione si fa calcolando il numero di bit effettivi - detto ENOB (//Effective Number Of Bits//) - che si ottiene sostituendo il rapporto segnale/rumore dovuto ai disturbi nella relazione che esprime il rapporto segnale/rumore dovuto all'errore di quantizzazione. Se l'ENOB è minore del numero di bit dell'ADC il convertitore non è sfruttato appieno ed è inutile scegliere un ADC con risoluzione maggiore.
===== 9 La conversione A/D e il problema dell'acquisizione di grandezze variabili nel tempo =====
==== Il teorema del campionamento di Shannon ====
Fino a qui abbiamo considerato il problema della conversione A/D di segnali costanti nel tempo, almeno nel breve periodo. In questo paragrafo vedremo quali problemi si pongono se il segnale da convertire cambia nel tempo e quali sono le soluzioni adottate negli ADC.
Nella conversione analogico/digitale il segnale in ingresso viene reso:
* discreto nei valori, con la quantizzazione
* discreto nel tempo, con il campionamento
La quantizzazione infatti approssima l'ampiezza del segnale analogico rappresentando infiniti valori con un numero finito di combinazioni di bit((ricordiamo che la combinazione di bit in uscita corrisponde all'intervallo (grande un quanto) che comprende il valore analogico)). Questa conversione però non avviene istantaneamente e il dato digitale viene aggiornato solo al termine della conversione; allora in uscita è presente un segnale che è discreto anche nel tempo. In pratica negli ADC il segnale analogico viene **campionato**, cioè prelevato ad intervalli regolari di tempo, e convertito in digitale. Si pongono allora due problemi:
* con quale frequenza bisogna campionare un segnale che cambia nel tempo per non perdere informazioni?
* cosa succede se il segnale in ingresso cambia mentre avviene la conversione?
La risposta al primo problema è data dal **teorema del campionamento di Shannon**, che dice che è possibile ricostruire un segnale a partire dai suoi campioni se la frequenza di campionamento //fc// è almeno doppia rispetto alla frequenza massima //fMAX// del segnale, intesa come il limite superiore dello spettro del segnale rappresentato nel domino della frequenza secondo il teorema di Fourier((NB se lo spettro parte dalla continua //fMAX// coincide con la banda del segnale)). Questa condizione è espressa analiticamente con:
`f_c >= 2 f_(MAX)`
La dimostrazione del teorema di Shannon è molto complicata ma intuitivamente può essere giustificata così:
* è possibile scomporre un segnale nelle sue armoniche, cioè sinusoidi di frequenza multipla rispetto a quella del segnale
* se è nota la frequenza è possibile individuare univocamente una sinusoide imponendo il passaggio per due punti, quindi con due campioni ((si tratta di impostare un sistema di equazioni per trovare gli altri due parametri: ampiezza e fase))
* se si vuole ricostruire completamente il segnale bisogna individuare tutte le armoniche fino a quella di frequenza più elevata //fMAX//
* allora sono necessari almeno due campioni nel periodo corrispondente T = 1///fMAX// cioè occorre campionare il segnale con frequenza maggiore di //fMAX//
Il teorema di Shannon ci dice qual è la frequenza minima con cui campionare un segnale per ricostruirlo completamente, cioè la frequenza di campionamento minima per non perdere informazione. A frequenze inferiori si verifica il fenomeno detto **aliasing** illustrato in //figura 16//: campionando con una frequenza troppo bassa si ottengono dei campioni che non corrispondono solo al segnale campionato - la sinusoide con frequenza maggiore - ma anche ad una sinusoide a bassa frequenza che non era presente in ingresso; queste componenti estranee non permette di ricostruire univocamente il segnale dai suoi campioni.
La //figura 17// illustra cosa succede se si campiona il segnale a frequenze maggiori di //fMAX//, dove //(a)// rappresenta il segnale da campionare, //(b)// il suo spettro nel dominio della frequenza, //%%(c)%%// è il segnale campionato e //(d)// il suo spettro. Osserviamo che lo spettro del segnale campionato contiene, oltre allo spettro originale, anche una serie di spettri immagine di ampiezza decrescente che replicano lo spettro originale e il suo simmetrico a frequenze multiple della frequenza di campionamento. Allora per ricostruire il segnale originale non è sufficiente campionare ad una frequenza adeguata ma bisogna anche eliminare gli spettri immagine indesiderati con un **filtro passa-basso**((se //fc// < //fMAX// lo spettro principale si sovrappone al primo spettro immagine alterando irrimediabilmente il segnale)). Il progetto del filtro risulterà più facile se //fc// %%>>%% //fMAX//, perché lo spettro immagine risulterà più distanziato.
Per non essere costretti a campionare a frequenze troppo elevate si può utilizzare un **filtro anti-aliasing** da applicare al segnale in ingresso prima del campionamento. Questo è utile per eliminare l'aliasing dovuto ad eventuali disturbi in alta frequenza ma anche quando la parte più significativa del segnale è concentrata in un range di frequenze limitato. Questa tecnica è impiegata ad esempio nella telefonia dove, non essendo richiesta una buona qualità del segnale audio, la banda è ridotta da 20 KHz a circa 3 kHz con un filtro anti-aliasing; questo permette di campionare il segnale a 8 kHz invece che a 40 kHz.
Applicando il teorema di Shannon e considerando che la frequenza di campionamento //fc// è legata al tempo di conversione //tconv// dell'ADC((il tempo con cui si campiona il segnale non può essere minore del tempo di conversione)), si può ricavare la **frequenza di Nyquist**((la definizione che dà il testo della frequenza di Nyquist sembra riferita al solo caso degli ADC; più in generale la frequenza di Nyquist è la minima frequenza con cui campionare un segnale per non perdere informazione, ovvero fN = 2 fMAX, secondo il teorema di Shannon)):
`f_B = 1/(2 t_(conv))`
Questa frequenza esprime la banda passante (teorica) di un ADC, cioè la frequenza massima del segnale in ingresso che permette di campionare e quantizzare il segnale senza perdita di informazione.
==== L'uso del sample & hold (S&H) ====
All'inizio del paragrafo ci siamo chiesti cosa succede se il segnale analogico cambia mentre avviene la conversione. Nel caso degli ADC ad approssimazioni successive la situazione è illustrata dalla //figura 18//: il dato digitale non corrisponde al valore del segnale a inizio conversione ma al suo valore finale. Conoscendo il tempo di conversione è possibile calcolare la frequenza massima che deve avere il segnale per limitare l'errore a un quanto, ma se non si vuole limitare pesantemente la banda dell'ADC conviene aggirare il problema "bloccando" il valore del segnale durante la conversione con un circuito detto **sample and hold**.
La //figura 19// mostra lo schema di un circuito sample and hold (S&H). Sono presenti due operazionali utilizzati come buffer e un condensatore collegato alla tensione di ingresso da un interruttore analogico. Il principio di funzionamento è il seguente:
* nella fase //tracking// o //sample// l'interruttore è chiuso la tensione in uscita coincide con quella di ingresso; infatti i due operazionali funzionano da buffer e il condensatore segue la tensione di ingresso perché si carica attraverso la resistenza di uscita del primo operazionale che vale zero
* nella fase //hold// l'interruttore è aperto la tensione di uscita è costante e coincide con l'ultimo valore della tensione di ingresso prima dell'apertura dell'interruttore; infatti il condensatore non può scaricarsi perché è collegato alla resistenza di ingresso infinita del secondo operazionale, che continua a funzionare da buffer
Per un buon funzionamento del circuito sono necessari alcuni accorgimenti:
* il condensatore deve essere di piccola capacità per "agganciare" rapidamente il segnale di ingresso nel passaggio da //sample// a //hold//
* il condensatore deve essere a bassa perdita per mantenere il valore nella fase //hold//
* la retroazione del primo operazionale sull'uscita del secondo serve a diminuire l'offset di tensione ma porta il primo operazionale in saturazione nella fase di //hold// (una soluzione più semplice è quella della sezione //non solo teoria 1//)
==== Extra ====
* non solo teoria 1: simulazione di un circuito //sample and hold//
* scheda di laboratorio 23C.2: simulazione con l'ADC di Multisim (pin di controllo e //free-running-mode//)
* scheda di laboratorio 23C.3: voltmetro digitale con ADC0801
===== 10 La modulazione Sigma-Delta =====
La **modulazione** è una soluzione tecnica che permette di veicolare l'informazione di un segnale //modulante// attraverso un altro segnale //modulato// più adatto alla trasmissione. Esistono varie tipologie di modulazione, sia analogiche che digitali, utilizzate nella trasmissione dei segnali e nelle telecomunicazioni.
La modulazione Sigma-Delta è usata nei convertitori A/C per ottenere buone prestazioni, sia come risoluzione che come immunità al rumore, a basso costo. La maggiore immunità al rumore è ottenuta grazie al **sovracampionamento**, cioè campionando il segnale a una frequenza multipla rispetto a quella richiesta dal teorema di Shannon. La //figura 20// illustra gli effetti positivi del sovracampionamento: la potenza associata al rumore è distribuita uniformemente fino alla frequenza di campionamento (area chiara); sovracampionando si distribuisce la stessa potenza in una banda maggiore (area scura) che può essere filtrata alla frequenza massima del segnale originale per eliminare gran parte del rumore. Questi ADC sono a basso costo perché realizzati in forma integrata perlopiù con componenti digitali.
Un modulatore sigma-delta si comporta come un convertitore A/D a 1 bit. Il valore analogico in ingresso, sovracampionato, diventa un treno di impulsi di valore 0 o 1 il cui valore medio è proporzionale al segnale analogico in ingresso. Questa modulazione è chiamata anche PDM (//pulse density modulation//) perché la densità degli 1 nel segnale digitale rappresenta il valore analogico.
La //figura 21// mostra lo schema di principio di un modulatore e demodulatore sigma-delta; il modulatore effettua la conversione A/D (trasforma la tensione Vi in un flusso di bit) mentre il demodulatore quella D/A (converte i dati digitali nella tensione Vo).
Il modulatore è un sistema a retroazione con un nodo sommatore (//delta// sta per differenza), un integratore (//sigma// sta per somma), un comparatore a soglia zero, un flip-flop e un DAC a 1 bit. Il principio di funzionamento è il seguente:
* il nodo sommatore sottrae una tensione di valore fisso e segno opportuno (VREF o -VREF) alla tensione Vi
* la differenza viene integrata producendo una rampa crescente o decrescente di tensione
* la rampa è applicata al comparatore generando un segnale a due livelli
* il flip-flop sovracampiona questo segnale producendo il segnale digitale in uscita
* nel ramo di retroazione il segnale digitale viene convertito nel valore analogico VREF o -VREF
Il demodulatore è più semplice e contiene un convertitore D/A a 1 bit che trasforma il dato digitale in un segnale analogico a due livelli e un filtro passa basso che estrae il valore medio di questo segnale.
La //figura 22// mostra l'uscita dell'integratore e il dato digitale corrispondente con tensione di ingresso zero e con tensione maggiore di zero:
* con Vi = 0 le rampe hanno la stessa pendenza perché i valori VREF e -VREF si alternano all'ingresso del comparatore; il segnale digitale corrispondente è una sequenza con lo stesso numero di 0 e 1
* con Vi > 0 la rampa crescente ha una pendenza maggiore di quella decrescente perché rispettivamente dovute a Vi + VREF e Vi - VREF; il segnale digitale presenta più 1 che 0 e il valore medio del flusso di bit deve essere maggiore di zero
===== 11 Struttura complessiva di un sistema di elaborazione e/o trasmissione digitale di un segnale analogico: tecniche PCM e DSP =====
Il paragrafo accenna soltanto ad argomenti molto complessi. Ci limitiamo a qualche osservazione sulla //figura 23//, che mostra lo schema di un sistema di elaborazione e/o trasmissione digitale:
* la grandezza analogica in ingresso viene amplificata e condizionata opportunamente
* un filtro anti-aliasing elimina le componenti a frequenza più elevata per garantire una corretta rappresentazione del segnale campionato (la frequenza di campionamento può essere ridotta senza incorrere nel fenomeno dell'aliasing)
* se necessario ((si veda la formula 27 del paragrafo 9)), per una corretta conversione, si ricorre ad un circuito sample-and-hold
* l'ADC converte il segnale analogico campionato in un segnale digitale discreto nel tempo e nei valori
* la sequenza di bit corrispondente viene elaborata/trasmessa
* il segnale digitale viene riconvertito in analogico da un DAC
* il fitro di ricostruzione passa-basso elimina gli spettri immagine e ricostruisce il segnale di partenza (o quello elaborato in digitale)
Questa tecnica di trasmissione è detta PCM (vedi //sezione 26A//) e viene usata anche in telefonia.
===== 12. Convertitore A/D National ADC0801 =====
L'ADC0801 (e i modelli simili, come l'ADC0804 disponibile in laboratorio) è un convertitore ad approssimazioni successive semplice ed economico con le seguenti caratteristiche:
* risoluzione di 8 bit
* tempo di conversione 100 μs
* clock interno
* ingresso differenziale
La tensione di fondo scala è 5 Volt ma può essere regolata col pin VREF/2. L'uscita digitale è del tipo 3-state. I pin di controllo hanno il seguente significato:
* `bar(CS)`: pin di ingresso di abilitazione generale((come sempre il segno posto sopra la sigla significa attivo basso))
* `bar(WR)`: pin di ingresso che fa partire la conversione (SOC nel paragrafo 7)
* `bar(RD)`: pin di ingresso che abilita l'uscita (OE nel paragrafo 7)
* `bar(INT)`: pin di uscita che segnala il termine della conversione (EOC nel paragrafo 7)
Il convertitore può funzionare anche in una modalità di acquisizione continua, detta free-running o stand-alone, senza essere collegato ad un bus. Questa modalità si ottiene collegando il pin `bar(INT)` al pin `bar(WR)`, in modo che la fine di una conversione faccia partire immediatamente quella successiva. In questo caso occorre comunque abilitare l'integrato (`bar(CS)` a massa) e collegare un gruppo RC per il clock interno (per un'esperienza completa si veda lo schema proposto nella sezione //non solo teoria 2// o nel datasheet).
==== Extra ====
* datasheet dell'ADC0801
* non solo teoria 2: ADC0801 in modalità free-running con LED (NB la segnalazione dei LED è invertita per le limitazioni sulle correnti dell'integrato)
* scheda di laboratorio 23C.3: voltmetro digitale con ADC0801 con display a 7 segmenti
===== Navigazione =====
Torna all'[[start#indice|indice]].