DISTRETTO FORMATIVO ROBOTICA - Verona Convertitori Analogico/Digitali DISTRETTO FORMATIVO ROBOTICA - Verona 1. ADC “flash”. 2. ADC a reazione: 2.1 ADC ad approssimazioni successive; 2.2 ADC a gradinata (counter converter). 3. Parametri caratteristici degli ADC. 4. Interfacciamento ADCμP. 5. Esempio di dimensionamento di un sistema di acquisizione dati. DISTRETTO FORMATIVO ROBOTICA - Verona 1. ADC “flash”. DISTRETTO FORMATIVO ROBOTICA - Verona ADC ”flash” (1/8) • ADC flash è un convertitore veloce. • Infatti il risultato voluto si ottiene in modo quasi istantaneo applicando contemporaneamente in modo diretto (ADC a conversione diretta) la tensione di ingresso, Vin, a un numero di comparatori pari al numero degli intervalli di quantizzazione (2n-1). • In ciascun comparatore la tensione Vin viene confrontata con la tensione corrispondente al livello di quantizzazione considerato. • Nella figura seguente è riportato le schema di principio per un convertitore a n=2 bit. giugno 2008 Prof. Tozzi-ITIS Marconi-VR 4 DISTRETTO FORMATIVO ROBOTICA - Verona ADC ”flash” (2/8) • La tensione da convertire Vin, è applicata in parallelo a uno dei due ingressi di ciascun comparatore. • La tensione all’altro ingresso è ottenuta ripartendo la tensione di riferimento, Vref, in 2n intervalli di ampiezza Q, mediante delle resistenze tarate di valore R. • Soltanto la prima e l’ultima resistenza hanno valori diversi (R/2) al fine di minimizzare l’errore di quantizzazione. giugno 2008 Prof. Tozzi-ITIS Marconi-VR 5 DISTRETTO FORMATIVO ROBOTICA - Verona ADC ”flash” (3/8) giugno 2008 Prof. Tozzi-ITIS Marconi-VR 6 DISTRETTO FORMATIVO ROBOTICA - Verona ADC ”flash” (4/8) • Nell’esempio in figura (ADC a 3 bit) il valore analogico da convertire, Vin, è compreso fra le soglie di scatto (9/14)Vref e (11/14)Vref. giugno 2008 Prof. Tozzi-ITIS Marconi-VR 7 DISTRETTO FORMATIVO ROBOTICA - Verona ADC ”flash” (5/8) • In tal caso tutti i comparatori da 1 a 5 hanno uscita (per esempio) alta, mentre i restanti comparatori 6 e 7 hanno uscita bassa. giugno 2008 Prof. Tozzi-ITIS Marconi-VR 8 DISTRETTO FORMATIVO ROBOTICA - Verona ADC ”flash” (6/8) • L’uscita del comparatore 5 viene convertita dal codificatore a priorità nella corrispondente parola binaria b2 b1 b0 = 101(2) = 5(10). giugno 2008 Prof. Tozzi-ITIS Marconi-VR 9 DISTRETTO FORMATIVO ROBOTICA - Verona ADC ”flash” (7/8) • Vantaggio: la più alta velocità di conversione (250 Msps – 1 Gsps, dove sps = sample per second), ossia milioni di campioni al secondo, cioè piccolo tempo di conversione (tconv< 100 ns). • Impieghi: digitalizzazione di un segnale video; oscilloscopi digitali dove la risoluzione di 1/256 non è un fattore limitante. giugno 2008 Prof. Tozzi-ITIS Marconi-VR 10 DISTRETTO FORMATIVO ROBOTICA - Verona ADC ”flash” (8/8) • Svantaggi: 1) Generalmente consentono una bassa risoluzione, in quanto all’aumentare del numero di bit aumenta in modo proibitivo (~2n) il numero dei comparatori. Valore tipico: n=8 bit. 2) A causa dei diversi tempi di trasmissione dei comparatori, le loro uscite, con le relative informazioni, possono non essere contemporaneamente presenti agli ingressi dell’ encoder: ciò può generare dei glitch (codici errati corrispondenti a valori di tensione errati) prima che le uscite dell’ ADC assumano il loro stato definitivo. Per evitare questo inconveniente tra i comparatori e l’encoder vengono spesso interposti dei buffer-latches che trattengono in memoria i dati, per presentarli poi contemporaneamente all’ingresso del codificatore. giugno 2008 Prof. Tozzi-ITIS Marconi-VR approfondimento 11 DISTRETTO FORMATIVO ROBOTICA - Verona 2.1 ADC ad approssimazioni successive DISTRETTO FORMATIVO ROBOTICA - Verona ADC ad approssimazioni successive (1/6) • È la tecnica più utilizzata nella realizzazione degli ADC integrati. • Fa parte della categoria degli ADC “a reazione” in quanto la struttura prevede una retroazione dell’uscita digitale all’ingresso analogico dell’ADC, tramite l’impiego di un DAC. • Lo schema a blocchi è il seguente: giugno 2008 Prof. Tozzi-ITIS Marconi-VR 13 DISTRETTO FORMATIVO ROBOTICA - Verona ADC ad approssimazioni successive (2/6) • Il Comparatore d’ingresso confronta il valore analogico da convertire (Vin) con il valore VR originato dal DAC. • Il segnale all’uscita del comparatore indica alla logica di controllo del SAR (Registro ad Approssimazioni Successive) quale codice binario inviare al DAC prima di ricominciare un ulteriore confronto tra Vin e VR. giugno 2008 Prof. Tozzi-ITIS Marconi-VR approfondimento 14 DISTRETTO FORMATIVO ROBOTICA - Verona ADC ad approssimazioni successive (3/6) • Si ottiene così una sequenza di nuovi codici, tramite la quale, ad ogni periodo di clock, il codice viene “aggiustato”, migliorando l’approssimazione. • Il processo di conversione si conclude quando l’operazione ha coinvolto tutti gli n bit del SAR (del DAC), ossia quando sono stati generati n codici. • A questo punto il SAR contiene il codice finale e può essere trasferito in uscita tramite il buffer. • Es: n=3 bit, in cui il codice ottimale ottenuto è 011. giugno 2008 Prof. Tozzi-ITIS Marconi-VR 15 DISTRETTO FORMATIVO ROBOTICA - Verona ADC ad approssimazioni successive (4/6) • Il processo di conversione può essere schematizzato con il seguente flow-chart: giugno 2008 Prof. Tozzi-ITIS Marconi-VR 16 DISTRETTO FORMATIVO ROBOTICA - Verona ADC ad approssimazioni successive (5/6) • Esempio: convertire in un codice binario a 4 bit un campione Vin = 5,3 V. Sia Q=0,5V. 1. 2. 3. 4. 1° codice: b3b2b1b0 = 1000 VR = N·Q = (1·23+0·22+0·21+0·20)·0,5 = 4V (VR<Vin). 2° codice: mantengo b3=1; pongo b2=1. 1100 VR = (23+22)·0,5 = 6V (VR>Vin). 3° codice: pongo b2=0 e b1=1. 1010 VR = (23+21)·0,5 = 5V (VR<Vin). 4° codice: mantengo b1=1 e pongo b0=1. 1011 (ultimo codice), cui corrisponde VR = (23+21+20)·0,5 = 5,5V. • Il codice corrispondente alla tensione d’ingresso di 5,3 V è il quarto, ossia 1011. giugno 2008 Prof. Tozzi-ITIS Marconi-VR 17 DISTRETTO FORMATIVO ROBOTICA - Verona ADC ad approssimazioni successive (6/6) • Gli ADC ad approssimazioni successive sono molto diffusi , poiché rappresentano un buon compromesso tra velocità di conversione e complessità del circuito. • Vengono realizzati con differenti tecnologie (TTL, CMOS…) garantendo prestazioni di buon livello sia per quanto concerne la dissipazione di potenza sia per la velocità di conversione a costi relativamente contenuti. • La velocità di conversione è di circa 70ksps ÷ 250 ksps. • Il tempo di conversione di questo ADC risulta essere: tconv = n·Tck. giugno 2008 Prof. Tozzi-ITIS Marconi-VR approfondimento 18 DISTRETTO FORMATIVO ROBOTICA - Verona 2.2 ADC a gradinata DISTRETTO FORMATIVO ROBOTICA - Verona ADC a gradinata (1/2) • • • • E’ chiamato anche convertitore a rampa digitale. Lo schema a blocchi comprende: un contatore binario, un convertitore D/A un comparatore una logica di controllo. Il segnale SOC mette in moto il CONTATORE i cui bit di uscita vengono convertiti dal DAC in una tensione VR crescente con andamento “a gradinata”. Questa tensione viene confrontata dal COMPARATORE con il campione analogico, Vin, da convertire: quando Vin = VR l’uscita del comparatore commuta, fornendo il segnale di fine conversione il conteggio si arresta e il dato binario è disponibile in uscita. giugno 2008 Prof. Tozzi-ITIS Marconi-VR 20 DISTRETTO FORMATIVO ROBOTICA - Verona ADC a gradinata (2/2) • Si tratta di un sistema di conversione più lento del precedente, in quanto il tempo di conversione (nel caso peggiore) è tconv = 2n·Tck. • Inoltre il tempo di conversione dipende dal valore del campione Vin. • Per una data frequenza di campionamento e per un dato numero di bit di uscita, il convertitore a conteggio in genere richiede una frequenza di clock molto più elevata di quella richiesta dall’ADC ad approssimazioni successive. • Per tutti questi motivi gli ADC a gradinata si prestano in applicazioni in cui la frequenza di campionamento massima è dell’ordine dei kHz. • Es: ADC a 10 bit; fCK=10 MHz ( in soli 100 ns il contatore, il DAC e il comparatore devono assestare le proprie uscite!): TcampMAX=210(1/fCK)=102,4 μs fcamp=(1/TcampMAX) = 9,77 kHz fNYQ=fcamp /2 = 4,88 kHz. giugno 2008 Prof. Tozzi-ITIS Marconi-VR approfondimento 21 DISTRETTO FORMATIVO ROBOTICA - Verona 3. Parametri caratteristici degli ADC DISTRETTO FORMATIVO ROBOTICA - Verona Parametri caratteristici degli ADC (1/9) 1) Dinamica della tensione di ingresso. 2) Dynamic Range (DR). 3) Risoluzione. 4) Tempo di conversione (tconv). 5) Errori di conversione dovuti alla caratteristica I/O dell’ ADC reale. 6) Accuratezza e Precisione. giugno 2008 Prof. Tozzi-ITIS Marconi-VR 23 DISTRETTO FORMATIVO ROBOTICA - Verona Parametri caratteristici degli ADC (2/9) 1. Dinamica della tensione di ingresso (DR). Indica il campo di valori che può assumere la tensione di ingresso da convertire. Può essere espressa in Volt (=VFS) o in decibel: giugno 2008 Prof. Tozzi-ITIS Marconi-VR approfondimento 24 DISTRETTO FORMATIVO ROBOTICA - Verona Parametri caratteristici degli ADC (3/9) 2. Risoluzione. • È la variazione minima di Vin in grado di determinare la variazione del codice N di uscita. • Può essere fornita in due modi: 2.1 - Fornendo il numero di bit n della parola di uscita. 2.2 - Fornendo R = VinMAX /(2n-1) giugno 2008 Prof. Tozzi-ITIS Marconi-VR 25 DISTRETTO FORMATIVO ROBOTICA - Verona Parametri caratteristici degli ADC (4/9) 3. Tempo di conversione (tconv)e velocità di conversione (fconv). • tconv è definito come l’intervallo di tempo tra l’istante nel quale viene dato il comando di inizio conversione e quello in cui la conversione ha termine , ossia è il tempo necessario all’ADC per fornire in uscita la parola binaria corrispondente al campione analogico di ingresso. • Tale tempo dipende dal tipo di tecnica utilizzata per la conversione A/D e dal numero di bit del convertitore. fconv corrisponde al numero di conversioni a piena precisione che possono essere realizzate in 1 secondo. Può essere calcolata (se si trascurano i tempi del S/H) con la formula fconv = 1/tconv. giugno 2008 Prof. Tozzi-ITIS Marconi-VR 26 DISTRETTO FORMATIVO ROBOTICA - Verona Parametri caratteristici degli ADC (5/9) 4. Errori di conversione. • La caratteristica ingresso/uscita di un ADC reale si discosta dalla caratteristica rettilinea ideale, a causa della presenza di errori, fra i quali: l’errore di zero, o di offset; l’errore di guadagno; l’errore di non linearità. giugno 2008 Prof. Tozzi-ITIS Marconi-VR 27 DISTRETTO FORMATIVO ROBOTICA - Verona Parametri caratteristici degli ADC (6/9) • Errore di offset giugno 2008 • Errore di guadagno Prof. Tozzi-ITIS Marconi-VR 28 DISTRETTO FORMATIVO ROBOTICA - Verona Parametri caratteristici degli ADC (7/9) • Errore di Non Linearità: • Si considerano due diversi tipi di non linearità: • Quando, in un ADC, il DNL supera 1 LSB si parla di errore di missing code (codice mancante). 1. Differenziale (DNL): differenza tra la larghezza dell’n-esimo intervallo e la sua larghezza teorica di 1 LSB. 2. Integrale (INL): distanza fra i centri del gradino reale e di quello teorico. giugno 2008 Prof. Tozzi-ITIS Marconi-VR 29 DISTRETTO FORMATIVO ROBOTICA - Verona Parametri caratteristici degli ADC (8/9) 5) Accuratezza: Fornisce la misura dello scarto tra il valore analogico acquisito in ingresso e il valore analogico corrispondente al codice digitale generato in uscita. Può essere misurata: in Volt (% di VFS) o in frazioni di LSB. Tiene conto di tutti gli errori dell’ADC (errore di quantizzazione, rumore, non linearità, ecc.) e non deve risultare >(1/2)LSB. giugno 2008 Prof. Tozzi-ITIS Marconi-VR 30 DISTRETTO FORMATIVO ROBOTICA - Verona Parametri caratteristici degli ADC (9/9) 6) Precisione: è l’insieme delle caratteristiche che garantiscono la ripetibilità del risultato della conversione. Una buona precisione non implica in generale una buona accuratezza. Al contrario invece, una elevata accuratezza implica sempre una elevata precisione. Spesso i due termini vengono confusi! giugno 2008 Prof. Tozzi-ITIS Marconi-VR 31 DISTRETTO FORMATIVO ROBOTICA - Verona Approfondimenti giugno 2008 Prof. Tozzi-ITIS Marconi-VR 32 DISTRETTO FORMATIVO ROBOTICA - Verona ADC “flash” a 2 fasi • Il numero di comparatori richiesto può essere ridotto effettuando la conversione AD in due fasi: • Dapprima si realizza una conversione a bassa risoluzione con m bit e passo di quantizzazione Qm = VFS/2m. • Successivamente un DAC riconverte il codice a bassa risoluzione in un segnale analogico che viene sottratto dal segnale analogico originario. • Tale differenza, che risulta al massimo pari a Qm/2, viene codificata in un secondo ADC con k bit. • Si ottengono in tal modo due codici che rappresentano rispettivamente gli m bit più significativi ed i k bit meno significativi e costituiscono una parola di codice con n=m+k bit. • Il numero di comparatori complessivamente richiesto risulta (2m1)+(2k-1), contro i (2n-1) di un convertitore flash diretto. giugno 2008 Prof. Tozzi-ITIS Marconi-VR torna 33 Il SAR • • DISTRETTO FORMATIVO ROBOTICA - Verona Il SAR (Successive Approximation Register, SAR), può essere considerato il “cervello” di questo tipo di convertitore: fa partire la conversione (in corrispondenza del 1° impulso di clock) e determina la fine della conversione quando l’operazione ha coinvolto tutti gli n bit del S.A.R. All’interno del SAR vi è un contatore che ha la particolarità di portare a uno, in corrispondenza di ogni impulso di clock, una cifra binaria del codice d’uscita, a partire dal bit più significativo. giugno 2008 Prof. Tozzi-ITIS Marconi-VR torna 34 Tempistica DISTRETTO FORMATIVO ROBOTICA - Verona • Il periodo di campionamento Tck deve essere superiore alla somma dei ritardi di propagazione dei circuiti contenuti nell’anello di retroazione, cioè del contatore, del DAC e del comparatore. • Per questo motivo il convertitore ad approssimazioni successive non è un convertitore molto veloce, ma consente conversioni con buona risoluzione: per un convertitore a 12 bit un valore tipico del tempo di conversione è dell’ordine del microsecondo. giugno 2008 Prof. Tozzi-ITIS Marconi-VR torna 35 DISTRETTO FORMATIVO ROBOTICA - Verona ADC ad asservimento • Per limitare tali inconvenienti, sono stati introdotti i convertitori definiti ad asservimento o a inseguimento (track converter), più veloci dei convertitori a gradinata. • Essi differiscono da quelli appena descritti per il tipo di contatore, che ha la capacità di tener memorizzato il numero binario raggiunto nell’ultima conversione, e di poter effettuare un conteggio sia crescente (UP) che decrescente (DOWN). • In tal modo, all’avvio di una nuova conversione, il contatore fornirà al DAC il valore raggiunto nella precedente conversione. • La tensione in uscita dal DAC verrà confrontata con il segnale da convertire: se quest’ultimo sarà diminuito il comparatore si porterà allo stato logico basso, e la logica di controllo ordinerà al contatore di effettuare un conteggio decrescente; se invece sarà aumentato, il comparatore si porterà allo stato logico alto, e la logica di controllo ordinerà al contatore di effettuare un conteggio crescente. • La conversione terminerà quando in comparatore invertirà il suo stato logico. giugno 2008 Prof. Tozzi-ITIS Marconi-VR torna 36 DISTRETTO FORMATIVO ROBOTICA - Verona Altri tipi di ADC (1/4) • ADC a integrazione (a doppia rampa): Sono ADC che utilizzano un metodo di conversione indiretto. La tensione da digitalizzare viene convertita in un intervallo di tempo, che poi viene misurato facendo uso di un clock e di un contatore. Alla fine, il valore numerico contenuto nel contatore è proporzionale alla tensione da convertire. Notevole reiezione al rumore generato dalla tensione di rete; Lentezza, ma eccellente linearità della caratteristica statica. Elevata risoluzione (n > 18). Semplicità (non è necessario il DAC). giugno 2008 Prof. Tozzi-ITIS Marconi-VR torna 37 DISTRETTO FORMATIVO ROBOTICA - Verona Altri tipi di ADC (2/4) • ADC Delta-Sigma (Δ-Σ): Elevata risoluzione (16-20 bit); Velocità di conversione medio-bassa. Il loro funzionamento è basato su particolari tecniche di elaborazione dei segnali digitali (DSP, Digital Signal Processing). La denominazione Delta-Sigma deriva dalla presenza di un nodo differenza (Δ) e di un circuito integratore (Σ) che, assieme ad un comparatore (≈ Adc a 1 bit, che opera come un “quantizzatore”) e un DAC (nella catena di ritorno) costituiscono il Modulatore a integrazione. L’uscita del modulatore (un segnale a modulazione PWM) passa poi attraverso un filtro passa-basso digitale che estrae il valor medio della sequenza di bit prodotta dal comparatore e lo rende disponibile come parola di uscita a n bit. giugno 2008 Prof. Tozzi-ITIS Marconi-VR torna 38 DISTRETTO FORMATIVO ROBOTICA - Verona ADC multistadio con pipeline (3/4) • Recentemente, alle architetture di base si vanno affiancando architetture più complesse, di tipo multistadio. • Il convertitore viene cioè costruito collegando in serie o in parallelo strutture semplici, cioè a pochi bit, realizzate secondo gli schemi visti. • Particolarmente usate sono le organizzazioni di tipo flash e quelle con SAR. • Nelle combinazioni in serie vengono spesso usate pipeline (“linea di tubi”), per abbreviare i tempi di conversione. • Rispetto ad un ADC ad appr. succ. a 12 bit, lo schema a pipeline, ad N stadi, comporta un moderato incremento di complessità (costo) ma offre, in compenso, un tempo di conversione che è mediamente pari a 1/N della soluzione senza pipeline (la frequenza di Nyquist quindi aumenta di N volte). giugno 2008 Prof. Tozzi-ITIS Marconi-VR torna 39 DISTRETTO FORMATIVO ROBOTICA - Verona ADC multistadio con pipeline (4/4) • Un ADC a pipeline scompone la conversione di un campione in fasi successive (ad esempio 3). • Ad ogni inizio conversione il primo stadio comincia a produrre i 4 MSB del nuovo dato. Simultaneamente, lo stadio successivo converte i 4 bit intermedi del campione acquisito al passo precedente, mentre l’ultimo stadio converte i 4 LSB del campione acquisito due passi prima. • Trascurando i ritardi dei blocchi S/H, l’ADC completa la conversione di un dato in 1/3 del tempo richiesto da un ADC ad appr. succ. a 12 bit. • In figura è rappresentato un convertitore A/D a 12 bit ad appr. succ. ottenuto con una pipeline a 3 stadi e 3 ADC a 4 bit. giugno 2008 Prof. Tozzi-ITIS Marconi-VR torna 40 DISTRETTO FORMATIVO ROBOTICA - Verona Come scegliere un ADC: numero di bit • Esempio: volendo apprezzare una tensione Vin tra 10 mV e 10 V (quindi un DR di 60 dB) è necessario dotarsi di un ADC di almeno 60/6.02 = 10 bit. • In realtà non basta scegliere il numero n di bit dell’ ADC per ottenere un’accuratezza di misura proprio pari ad n bit. In generale è necessario valutare il rumore che si presenta all’ingresso dell’ADC. giugno 2008 Prof. Tozzi-ITIS Marconi-VR torna 41