Progettazione di un convertitore analogico digitale in architettura multistadio

41
1 Progettazione di un convertitore analogico digitale a 8 bit in architettura multistadio Ing. Nelson Firmani Dipartimento di Ingegneria Elettrica Università di L’Aquila, AQ 67040, Italy

Transcript of Progettazione di un convertitore analogico digitale in architettura multistadio

Page 1: Progettazione di un convertitore analogico digitale in architettura multistadio

1

Progettazione di un convertitore analogico digitale a

8 bit in architettura multistadio

Ing. Nelson Firmani

Dipartimento di Ingegneria Elettrica Università di L’Aquila, AQ 67040, Italy

Page 2: Progettazione di un convertitore analogico digitale in architettura multistadio

2

INDICE PREMESSA .................................................................................................................................... 3

1 INTRODUZIONE ................................................................................................................. 4 1.1 STRUTTURE DI CONVERTITORI A/D ............................................................................................... 5 1.1.1 CONVERTITORE A/D A RAMPA LINEARE....................................................................................... 5 1.1.2 CONVERTITORE A/D A DOPPIA RAMPA ......................................................................................... 6 1.1.3 CONVERTITORE A/D AD APPROSSIMAZIONE SUCCESSIVA...................................................... 6 1.1.4 CONVERTITORE A/D TIPO FLASH .................................................................................................... 7 1.1.5 CONVERTITORE A/D TIPO HALF -FLASH ....................................................................................... 7 1.2 PRESTAZIONI E SPECIFICHE DEI CONVERTITORI A/D e D/A ................................................. 8 1.3 ERRORE DI QUANTIZZAZIONE .............................................................................................. 10

2 PROGETTO DI UN ADC 8 BITS A 4 STADI ............................................................... 12 2.1 PRINCIPIO DI FUNZIONAMENTO DI UN ADC MULTISTADI O ............................................... 12 2.2 PROGETTO DELL’ADC 8 BITS A 4 STADI ...................................................................................... 14 2.2.1 Sub-ADC ................................................................................................................................................ 14 2.2.2 Sub-DAC ................................................................................................................................................ 15 2.2.3 Blocco tensioni di riferimento ................................................................................................................ 16 2.2.4 Blocco residuo-amplificazione ............................................................................................................... 17 2.3 SIMULAZIONI ..................................................................................................................................... 18

3 PARAMETRI STATICI DI UN ADC ............................................................................ 21 3.1 CASSIFICAZIONE DEGLI ERRORI STATICI DI UN ADC .......................................................... 21 3.2 METODI PER VALUTARE GLI ERRORI STATICI DI UN A DC ................................................. 23 3.2.1 PRIMO METODO: Misura dei punti di transizione e simulazione ..................................................... 23 3.2.2 SECONDO METODO : Code density test (histogram) e simulazione ................................................. 28 3.3 FUNZIONE DI TRASFERIMENTO DELL’ADC PROGETTATO ................................................ 34 CONCLUSIONI ..................................................................................................................................... 36

APPENDICE ........................................................................................................................................... 38

BIBLIOGRAFIA ................................................................................................................................... 40

Page 3: Progettazione di un convertitore analogico digitale in architettura multistadio

3

Simboli e abbreviazioni ABBREVIAZIONE

DESCRIZIONE

A/D ADC AMPS [b0…b7] CODE D-AMPS DC DNL GSM INL LSB MSB SA SNR V[j] Vdac Vin VFS Vrif

Analog to Digital Analog to Digital Converter Advanced Mobile Phone System Bit d’uscita dell’ADC Codice in uscita dell’ADC Digital AMPS Direct Current Differential Non-Linearity Global System for Mobile Comunication Integral Non-Linearity Least Significant Bit Most Significant Bit Successive Approximation Signal to Noise Ratio Tensioni nei punti di transizione di codice Tensione all’uscita del DAC Tensione all’ingresso dell’ADC Tensione di fondo scala Tensione di riferimento

Page 4: Progettazione di un convertitore analogico digitale in architettura multistadio

4

PREMESSA

Oggetto del seguente lavoro è la progettazione di un convertitore analogico digitale a 8 bit

utilizzando l’architettura multistadio.

Il pregio di questa architettura rispetto ad una architettura tipo FLASH con gli stessi bit di

risoluzione è la bassa complessità circuitale

che rende adatto questo tipo di convertitore A/D in tutte quelle

applicazioni dove è necessario alta integrabilità e basso consumo di potenza.

Tutto questo a spesa di una riduzione nella velocità di conversione.

Page 5: Progettazione di un convertitore analogico digitale in architettura multistadio

5

1 INTRODUZIONE La tendenza dei moderni sistemi di comunicazione è di rendere qualsiasi cosa digitale. Solo 15 anni fa la tecnologia radiomobile era dominata dai sistemi analogici TACS, NMT, AMPS. Questi sistemi sono ora completamente sostituiti dai sistemi digitali GSM e D-AMPS. Le ragioni di questo cambiamento sono:

• La rapida evoluzione tecnologica dei settori dell'elaborazione digitale dei segnali e l'integrazione dei componenti elettronici per effetto della disponibilità dei circuiti integrati VLSI.

• L’informazione può essere compressa inoltre si può utilizzare una frequenza per servire piú utenti, tramite l'utilizzo di tecniche TDM (Time Division Multiplexing)

• I sistemi digitali sono meno sensibili a rumore ed interferenze.

• Maggiore sicurezza nella trasmissione dati e maggiore riservatezza dei dati è consentito grazie agli algoritmi di cifratura

• L’informazione non solo può essere compressa o criptata ma può essere facilmente elaborata da software.

Quindi per tutte queste ragioni oggi l’informazione analogica, come suoni e immagini, viene convertita in segnale digitale mediante circuiti detti convertitori analogici-digitali (ADC), quindi elaborata e riconvertita mediante convertitori digitali-analogici (DAC). E più la comunicazione è digitale più cresce la domanda di ADC e DAC dalle caratteristiche performanti: alta velocità di conversione, alta risoluzione, basso costo di produzione, basso consumo di potenza. In questa tesina dopo una prima parte introduttiva dove vengono descritte le principali tecniche di conversione A/D nonchè i parametri che descrivono le prestazioni di un ADC, si procede alla realizzazione di un ADC a 8 bits quindi alla verifica del funzionamento mediante simulazione. E’ da tenere presente che non spendiamo particolare risorse nella progettazione dell’ADC a 8 bits, in quanto non abbiamo specifiche restrittive in termini di velocità, precisione o consumo di potenza da rispettare. Anche perché scopo di questa tesina non è tanto nella realizzazione di un ADC dalle caratteristiche peculiari, bensì è quello di mettere in evidenza i metodi che si impiegano per misurare (testare) le prestazioni dei convertitori A/D.

Page 6: Progettazione di un convertitore analogico digitale in architettura multistadio

6

1.1 STRUTTURE DI CONVERTITORI A/D In questa sezione descriviamo brevemente alcune strutture di convertitori A/D, informazioni più dettagliate possono essere trovate in [2], [3], [16]. Esistono diversi tipi di ADC, ma il principio di funzionamento può essere schematizzato come in figura 1.1. L’elemento fondamentale è il comparatore, che confronta il segnale in ingresso con un segnale generato localmente e rivela quale dei due è più grande fino a che quest’ultimo non diventa uguale al segnale in ingresso. Il generatore locale del segnale di confronto può essere realizzato con una rete a pesiera o con un circuito a rampa lineare, mentre i circuiti sequenziali di controllo sono un insieme di circuiti logici che, a seconda del segno della tensione in uscita al comparatore, danno i comandi al registro di conteggio.

Figura 1.1 Principio di funzionamento di un ADC

1.1.1 CONVERTITORE A/D A RAMPA LINEARE

In questo caso il generatore del segnale di confronto è un generatore di rampa lineare. In uscita al comparatore si ottiene un impulso rettangolare che inizia contemporaneamente alla rampa e termina quando questa eguaglia il segnale d’ingresso. La durata di questa impulso è perciò proporzionale al valore della tensione di ingresso. Un registro di bistabili conta i periodi di un oscillatore compresi entro la durata dell’impulso, durante il quale la porta lineare è aperta. Tale numero costituisce l’uscita del ADC ed è proporzionale al valore della tensione d’ingresso. La precisione e la risoluzione del ADC dipendono fondamentalmente dall’oscillatore e dal generatore di rampa.

Page 7: Progettazione di un convertitore analogico digitale in architettura multistadio

7

1.1.2 CONVERTITORE A/D A DOPPIA RAMPA

1.1.3 CONVERTITORE A/D AD APPROSSIMAZIONE SUCCESSIVA

Questo tipo di convertitore viene spesso impiegato in voltmetri digitali. Vediamone il funzionamento: All’inizio del processo (t=0) S1 è collegato alla tensione Va da convertire e l’integratore genera una rampa decrescente (Vo=-(t/t)Va). Il contatore viene incrementato dagli impulsi Ck fino a quando il FFn è portato con uscita Q=1 e tutti i bistabili del contatore sono nuovamente azzerati. In questo istante (t=T1) S1 si collega a -Vr e l’integratore genera una seconda rampa, questa volta crescente (Vo=-(t/t)Vr). Nuovamente il contatore è incrementato dagli impulsi Ck fino a quando Vo=0 ed il comparatore inibisce la porta G1. Si può dimostrare che il numero registrato nel contatore è proporzionale alla tensione Va ed indipendente dalla costante di tempo t .

Principio di funzionamento: Nel ADC per successive approssimazioni i circuiti sequenziali di controllo sono più complicati e permettono la generazione di un segnale che si confronta con l’ingresso a partire dal MSB (bit più significativo) fino al LSB (bit meno significativo) secondo la sequenza riportata in figura. In questo modo si raggiungono velocità di conversione più elevate ed indipendenti dal valore del segnale d’ingresso (infatti ogni conversione necessita di n periodi d’orologio, se n è il numero di bit di conversione).

Page 8: Progettazione di un convertitore analogico digitale in architettura multistadio

8

1.1.4 CONVERTITORE A/D TIPO FLASH

1.1.5 CONVERTITORE A/D TIPO HALF -FLASH

Questo tipo di ADC garantisce la massima velocità di conversione a discapito della complessità circuitale e quindi del costo. Infatti occorrono ben 2^n-l comparatori per convertire un segnale analogico in un numero di n bit. In figura è rappresentato un ADC FLASH a 3 bit. Il campo di variazione dell’ingresso viene suddiviso in 8 fasce (2^n con n=3) ed i comparatori determinano il numero di soglie che vengono superate dal segnale da convertire. Un codificatore di priorità genera il numero binario di uscita secondo la tabella di verità mostrata in figura.

I convertitori flash sono ottimi per il funzionamento ad alta velocità, ma la quantità di comparatori limita la risoluzione. I convertitori di tipo half flash utilizzano invece un processo a due stadi per raggiungere risoluzioni maggiori di quelle dei convertitori flash, oppure per raggiungere la stessa risoluzione con minori dimensioni del die. In altre parole l’ADC HALF FLASH sacrifica la velocità di conversione (dimezza circa rispetto al FLASH) ma diminuisce notevolmente la complessità circuitale. Infatti volendo realizzare un ADC 8bit FLASH sono necessari 2^8-1=255 comparatori mentre utilizzando un’architettura HALF FLASH occorrono 2*(2^4-1)=30 comparatori.

Page 9: Progettazione di un convertitore analogico digitale in architettura multistadio

9

1.2 PRESTAZIONI E SPECIFICHE DEI CONVERTITORI A/D e D/A Per valutare le qualità di un convertitore A/D o D/A si deve possedere una piena conoscenza dei seguenti parametri:

• Risoluzione (resolution) Per gli ADC è definita come la più piccola variazione di ingresso che fa commutare l’uscita ad un codice immediatamente successivo. Per i DAC è definita come la variazione di tensione che si ha in uscita quando il codice d’ingresso passa ad un codice immediatamente successivo. La risoluzione può essere espressa in bit o in % del fondo scala. Un convertitore ad N bit è in grado di convertire una informazione in 2^N combinazioni, così la risoluzione sarà ½^N. Es: N=10 ½^10=0.000977 => 0.0977%

• Precisione (accurancy) Negli ADC definisce la differenza tra l’effettivo segnale d’ingresso e il fondo scala equivalente del codice binario di uscita. Se un ADC a 12 bit ha una precisione stabilita di ±1LSB la sua precisione sarà pari a ±0.0245% cioè 2 volte il minimo errore possibile di quantizzazione. La precisione serve per avere un’idea di quanto il risultato è attendibile. Essa è la somma di tutti i possibili errori. Un DAC a 12 bit non potrebbe avere una precisione superiore ad ±1/2LSB cioè ±0.0122% del fondo scala. Da notare che ±0.0122% rappresenta la deviazione dal valore vero, cioè la precisione è pari a 99.9878%.

• Errore di quantizzazione (quantizing Error) E’ la massima deviazione da una funzione di trasferimeto a linea retta di un ADC perfetto. L’errore può essere ridotto a zero solo se (teoricamente) si porta ad infinito il numero di bit. (vedi paragrafo 1.3)

• Velocità di conversione (conversion rate) E’ la rapidità con la quale un ADC o un DAC può fare conversioni. Essa può essere espressa come numero di conversioni/sec oppure il tempo necessario per eseguire una conversione. Spesso è riferita ad una risoluzione inferiore a quella totale in modo da risultare falsamente elevata.

• Tempo di assestamento (settling time) Tale parametro riguarda i convertitori DAC, specifica il tempo intercorso tra una transizione di codice e l’istante in cui l’uscita è sufficientemente prossima al suo valore finale.

• Velocità di risposta (slew rate) La velocità di risposta riguarda soprattutto l’amplificatore d’uscita di un DAC. Esso non può fornire in uscita il valore di tensione corretto all’istante.

• Glitches Se la commutazione di un bit ha velocità diversa da quella degli altri, si ha il passaggio per stati digitali non voluti che sull’uscita analogica si presentano come brevi impulsi o “glitch”

Page 10: Progettazione di un convertitore analogico digitale in architettura multistadio

10

• Errore di fuori zero (offset error) Negli ADC è la tensione richiesta in ingresso per fissare in uscita il codice zero. Nei DAC è la tensione di uscita con codice zero in ingresso.

• Errore di guadagno (gain error) Negli ADC è lo scostamento dal valore teorico del segnale d’ingresso per un codice di uscita di fondo scala. Nei DAC è la deviazione dal valore teorico del segnale d’uscita per un dato codice di ingresso, di solito di fondo scala

• Errore di non linearità

Sono quelli che portano ad un deviazione da una curva di trasferimento lineare, riguarda sia gli ADC che i DAC.

Gli errori di non linearità insieme agli errori di offset e di guadagno costituiscono i parametri statici di un ADC. Un analisi dettagliata di questi parametri e i metodi di valutazione verrà fatta nel capitolo 3.

Page 11: Progettazione di un convertitore analogico digitale in architettura multistadio

11

1.3 ERRORE DI QUANTIZZAZIONE Il segnale di ingresso di un ADC è un segnale continuo con un infinito numero di possibili stati, mentre l’uscita digitale è una funzione discreta con un numero di stati differenti determinato dalla risoluzione dell’ADC. Ne segue che nella conversione A/D parte del segnale analogico d’ingresso viene rappresentato dallo stesso codice digitale in uscita. In altre parole parte dell’informazione all’ingresso dell’ADC va persa nella conversione. Quindi nel processo di quantizzazione (rappresentazione o meglio approssimazione del segnale analogico d’ingresso mediante un segnale costituito da ampiezze discrete) si introduce un errore (errore di quantizzazione).

Figura 1.1 Errore di quantizzazione Consideriamo la funzione di trasferimento ideale di un ADC (figura 1.1a). Possiamo definire l’errore di quantizzazione al j-esimo passo la grandezza: Ej=Vin-Vj I valori assunti dalla variabile Ej saranno compresi nell’intervallo ± ½ LSB o ± ½ q dove q è l’ampiezza di un passo (figura 1.1b). Se q è sufficientemente piccolo, è ragionevole ritenere Ej una variabile aleatoria uniformemente distribuita su q con una funzione di densità di probabilità data da:

Page 12: Progettazione di un convertitore analogico digitale in architettura multistadio

12

p(ε) = q

1

22

qq ≤≤− ε

p(ε) = 0 altrove Pertanto possiamo determinare il valore quadratico medio dell’errore di quantizzazione:

12

1 22/

2/

22 qd

q

q

q

== ∫−

εεσ

Questo risultato ci permette di valutare il rapporto segnale rumore (SNR) di un ADC ideale. Se consideriamo un segnale di ingresso sinusoidale:

)sin()( tAtVin ω∗= la cui potenza è:

2)(sin

2

1)(

22

2

0

2 AdttAsP == ∫ ϖ

π

π

si ha:

12/

2/log10

)(

)(log10)(

2

2

q

A

P

sPdBSNR ==

ε ma

122

21 −===

nn

AALSBq

sostituendo:

dBndBSNRn

76.102.6)2

23log(10)(

2

+=⋅=

Questo è il valore ideale per un ADC a n bit. Il risultato mette in evidenza che ogni bit di risoluzione in più fornisce un miglioramento nel SNR di circa 6dB. OSSERVAZIONI: Gli errori di non linearità provocano una riduzione nel SNR, infatti supponiamo una forte non linearità differenziale che provoca un missing code. Questo è equivalente a una riduzione di 1bit di risoluzione e cioè ad una riduzione di 6dB nel rapporto segnale rumore (SNR).

Page 13: Progettazione di un convertitore analogico digitale in architettura multistadio

13

2 PROGETTO DI UN ADC 8 BITS A 4 STADI Questo capitolo inizia con una trattazione teorica del principio di funzionamento di un ADC multistadio. Dopo aver analizzato le caratteristiche i vantaggi e gli svantaggi di questa struttura si passa al progetto di un ADC 8 bits a 4 stadi e quindi alla trattazione delle singole parti – sub ADC – sub DAC e blocco amplificatore-residuo. Infine si procede alla verifica del funzionamento mediante simulazione. 2.1 PRINCIPIO DI FUNZIONAMENTO DI UN ADC MULTISTADI O Come nell’ADC HALF FLASH la conversione avviene in 2 passi, nell’ADC multistadio la conversione avviene in più passi. In altre parole possiamo vedere ogni stadio come un ADC a bassa risoluzione, quindi collegando più stadi possiamo ottenere una risoluzione più fine.

Figura 2.1 Flowchart di come lavora un ADC MULTISTADIO In figura 2.1 è mostrato in un flowchart come lavora un ADC MULTISTADIO (in questo caso per semplicità supponiamo 1 bit per stadio). Nel primo passo (i=0) otteniamo il bit più significativo b0 (MSB). Se l’ingresso è maggiore del livello di riferimento allora b0=1 inoltre si calcola il residuo sottraendo l’ingresso dal livello di riferimento. Il residuo è moltiplicato per 2^B (in questo caso un bit per stage => B=1) e riportato all’ingresso per il secondo passo. Sempre in figura 2.1 si può vedere come l’uscita digitale si forma durante i vari passi ovvero nei diversi stadi. In figura 2.2 è mostrato la struttura di un ADC MULTISTADIO il principio di funzionamento è il seguente: In primo luogo viene eseguita una quantizzazione approssimativa dell’ingresso (normalmente con un convertitore flash a B bits ‘sub-ADC’ ). L’uscita digitale del sub-ADC è applicata ad un

Page 14: Progettazione di un convertitore analogico digitale in architettura multistadio

14

convertitore D/A (sub-DAC) che genera un’uscita analogica Vdac, quindi si determina il residuo sottraendo dal segnale d’ingresso il segnale all’uscita del sub-DAC (RESIDUO=Vin-Vdac). Il residuo è quindi amplificato e applicato allo stadio successivo. Le tre fasi precedenti sono ripetute ciclicamente fino all’ultimo stadio che fornisce i bits meno significativi del codice digitale formatosi nei vari stadi (codice digitale che rappresenta il segnale analogico dell’ingresso).

Figura 2.2 Struttura di un ADC MULTISTADIO I vantaggi di questa struttura rispetto ad una struttura tipo FLASH con gli stessi bit di risoluzione sono:

• Bassa complessità hardware (ad esempio per un ADC ad N bit a M stadi sono necessari ( )12 / −∗ MNM comparatori invece di 12 −N necessari per un ADC flash ad N bits)

• Basso consumo di potenza • Alta integrabilità.

Gli svantaggi sono:

• La velocità di conversione diminuisce con l’aumentare degli stadi • La velocità di conversione è limitata dall’amplificatore. • Le cause di errore non risiedono soltanto nei comparatori (errore di offset) ma anche nel

convertitore D/A, nel dispositivo impiegato per calcolare il residuo e nell’amplificatore

Page 15: Progettazione di un convertitore analogico digitale in architettura multistadio

15

2.2 PROGETTO DELL’ADC 8 BITS A 4 STADI In figura 2.3 è presente lo schema elettrico dell’ADC 8 bit a 4 stadi. Possiamo suddividere l’analisi dello schema in 4 punti:

• Blocco sub-ADC • Blocco sub-DAC • Blocco residuo-amplificazione

2.2.1 Sub-ADC Il blocco sub-ADC è costituito da un ADC di tipo flash (figura 2.4). Tutti i comparatori hanno un ingresso in comune (Vin), mentre l’altro ingresso è collegato ad una tensione di riferimento (v1,v2, v3). Se l’ingresso analogico è superiore al riferimento di un comparatore, la sua uscita è alta; in caso contrario, l’uscita è bassa. Infine un circuito di codifica (U1) esamina le transizioni fra le uscite alte e basse dei comparatori, codificandole in modo da ottenere un’uscita digitale (bit1,bit0). Il numero dei comparatori dipende dalla risoluzione (B bits) del sub-ADC: Numero comparatori = numeri livelli di rif. – 1 = 12 −B Per minimizzare il ritardo di ogni stadio e il consumo di potenza dell’ADC la risoluzione di ogni stadio dovrebbe essere mantenuta piccola (minore di 4bit ,con 4bit sono richiesti 15 comparatori per stadio). Questo perché il numero di comparatori nel sub-ADC cresce esponezialmente con il numero di bit di risoluzione. Un grande numero di comparatori determina un maggior consumo di potenza, più spazio nel chip, rallenta il circuito e produce un carico maggiore all’uscita dello stadio precedente. Nel nostro progetto usiamo una risoluzione per stadio pari a 2 bits (B=2) quindi abbiamo 3 livelli di riferimento e sono necessari 3 comparatori. La scelta (progetto) del comparatore va fatto tenendo conto di alcune specifiche:

• Il tempo di comparazione deve essere molto piccolo.

• La tensione di OFFSET del comparatore deve essere la più piccola possibile (in genere si richiede che sia <1/2LSB dell’ADC, quindi per un ADC a 8 bits con un fondo scala di 5V (VFS=5V) si ha che OFFSET<1/2*(5/2^8)=9.8mV)

• Il consumo di potenza deve essere il più piccolo possibile

• Infine bisogna tener conto del carico d’ingresso del sub-DAC che il comparatore va a pilotare.

La scelta del comparatore è caduta sul noto LM311. LM 311 non è un comparatore molto veloce (il tempo di risposta è di 200ns contro i 40ns del LM106 o del LM710) ma in compenso è più stabile, non vengono innescate oscillazioni spurie

Page 16: Progettazione di un convertitore analogico digitale in architettura multistadio

16

inoltre LM311 presenta una tensione di offset massima di 7.5mV quindi inferiore a 1/2LSB (9.8mV) dell’ADC 8bit. Infine l’uscita del LM311 è compatibile con i segnali delle porte logiche TTL quindi non presenta problemi nell’interfacciamento con l’encoder 74F148. 2.2.2 Sub-DAC Il sub-DAC (figura 2.5) riceve all’ingresso il codice digitale del sub-ADC, e il corrispondente valore analogico d’uscita (Vdac) viene sottratto dal segnale d’ingresso dello stadio considerato per formare il segnale (residuo) inviato all’ingresso dello stadio successivo. Poiché usiamo 2 bit per stadio è necessario avere un DAC a 2 bit in ogni stadio. Quindi abbiamo 2^2-1=3 livelli di tensione di riferimento (v1, v2, v3) che creano l’uscita del sub_DAC (Vout) secondo la parola binaria di lunghezza 2 bits posta all’ingresso (bit0, bit1) del decoder 74F139.

Un problema da tener conto nella progettazione del sub_DAC è la formazione dei cosidetti “glitches” impulsi spuri determinati dalla differenza nei tempi di propagazione dei segnali nel circuito. Consideriamo ad esempio la transizione dell’ingresso digitale del DAC da codice b1b0=10 a b1b0=01, bene se la commutazione di b0 avviene un’istante prima di b1 in quell’istante si crea un ingresso digitale ‘11’ non voluto “glitches”. Questi glitches oltre ad aumentare il consumo di potenza del convertitore causa un aumento del tempo di assestamento (settling time) e quindi una riduzione della velocità di conversione.

Page 17: Progettazione di un convertitore analogico digitale in architettura multistadio

17

2.2.3 Blocco tensioni di riferimento Sia nel Sub-ADC che nel Sub-DAC abbiamo bisogno di tensioni di riferimento. Queste tensioni possono essere generate ai capi di 2^N resistori (nel nostro caso N=2 quindi 4 resistori) connessi come in figura.

Vrif

Ri

RiVrk N

i

k

i

=

==2

1

1

La non idealità delle tensioni di riferimento influenza la distribuzione delle occorrenze dei codici di uscita dell’ADC in altre parole accentua gli errori di non linearità dell’ADC. Le cause della non idealità delle tensioni di riferimento sono: resistori non ideali, dipendenza dalla temperatura e variazioni della tensione di alimentazione. 2.2.4 Blocco residuo-amplificazione L’operazione che deve compiere questo blocco è sottrarre dal segnale d’ingresso V(+) il segnale proveniente dal Sub-DAC V(-) quindi amplificare il tutto per 2^2=4 Residuo = V(+) – V(-)

22)]()([ ∗−−+= VVVd Si utilizza due amplificatori operazionali in cascata. Il primo in configurazione invertente cambia di segno al segnale d’ingresso V(+) portandolo a V0 = -V(+). Il secondo effettua la somma tra V0 = - V(+) e V(-) e amplifica di 2^2, inoltre essendo in configurazione invertente cambia di segno al segnale di uscita Vd:

22 2)]()([2)]()([ ∗−−+=∗−++−−= VVVVVd che è quanto si voleva.

Page 18: Progettazione di un convertitore analogico digitale in architettura multistadio

18

1) stadio amplificatore op. in configurazione invertente con A=-1

)(012

)(1

20

+−=⇒=

+∗−=

VVRR

VR

RV

2) stadio sommatore segnali

45

0

3

)(

045

0

3

)(

453

R

Vd

R

V

R

V

VNalemassavirtuAidealeR

VdVN

R

VNV

R

VNV

IRIRIR

−=+−⇒=⇒⇒∞→

−=−+−−=+

se R3=R5=R si ha :

[ ]0)(4

VVR

RVd +−∗−= ma V0=-V(+) quindi : [ ])()(

4 −−+= VVR

RVd

con R4=4R si ha : )]()([4 −−+∗= VVVd Considerazioni: Il blocco residuo-amplificazione rappresenta una reale limitazione alla velocità di conversione dell’ADC. Inoltre le non idealità dell’amplificatore operazionale (si pensi alla tensione di offset) determinano errori nel calcolo del residuo che si propagano nei vari stadi, questo determina un aumento della non linearità differenziale del convertitore A/D. Come ampl. operazionale si è scelto LF411 grazie soprattutto all’alta velocità (slew rate: 15V/us) e alla bassa tensione di offset (0.8 mV) nonché per l’alta impedenza di ingresso e l’ampia larghezza di banda.

Page 19: Progettazione di un convertitore analogico digitale in architettura multistadio

19

2.3 SIMULAZIONI Riassumiamo brevemente le caratteristiche di progetto dell’ADC di figura 2.3 :

• Uscita digitale a 8bits (risoluzione N=8bits) • Formato unipolare delle tensioni di riferimento. • Campo di variabilità dell’ingresso analogico da 0V a 5V (VFS=5V è la tensione di fondo

scala)

• Ampiezza massima dell’errore di quantizzazione è 1LSB = mVVVFS

N53.19

2

5

2 8==

Da quest’ultimo dato ci aspettiamo la commutazione dell’uscita digitale ad un codice immediatamente successivo quando la tensione dell’ingresso analogico subisce una variazione di 1LSB=19.53mV.

Verifichiamo il funzionamento dell’ADC progettato mediante simulazione. Una prima simulazione consiste nella misura approssimativa del tempo di conversione.

Figura 2.9 Tempo di conversione dell’ADC

Page 20: Progettazione di un convertitore analogico digitale in architettura multistadio

20

Dal tracciato della simulazione (figura 2.9) si nota che l’uscita digitale si stabilizza dopo 1.7 us. Nelle simulazioni successive verifichiamo la corretta conversione analogica digitale (figura 2.10 e figura 2.11) applicando all’ingresso dell’ADC diversi livelli di tensione di durata di 2us e leggendo il corrispondente codice digitale di uscita: In figura 2.10 si può ad esempio osservare che quando il livello di tensione d’ingresso passa da 0 a 20 mV (≅1LSB) l’uscita digitale dal codice 00000000 passa al codice 00000001.

Figura 2.10 Conversione A/D con livelli di tensione di ingresso cha vanno da 0 a 1V

Page 21: Progettazione di un convertitore analogico digitale in architettura multistadio

21

Figura 2.11 Conversione A/D con livelli di tensione di ingresso cha vanno da 0 a 5V Dai tracciati di figura 2.10 e 2.11 risulta una corretta conversione A/D per tutti i livelli del segnale di ingresso che abbiamo scelto.

Page 22: Progettazione di un convertitore analogico digitale in architettura multistadio

22

3 PARAMETRI STATICI DI UN ADC In questo capitolo dopo una trattazione teorica degli errori statici di un ADC verranno presentati due metodi per la loro valutazione. Quindi si procede alla simulazione dell’ADC 8bits a 4 stadi da noi progettato. Dai dati della simulazione e con l’ausilio del software matematico matlab valutiamo i parametri statici dell’ADC mediante un algoritmo che esegue i metodi descritti. Infine si procede ad una analisi dei risultati ottenuti.

3.1 CASSIFICAZIONE DEGLI ERRORI STATICI DI UN ADC

• GAIN ERROR (Errore di guadagno) • OFFSET ERROR (Errore di offset) • DNL (Errore di non linearità differenziale) • INL (Errore di non linearità integrale)

Offset error: E’ il valor medio di tensione richiesto in ingresso per fissare in uscita il codice zero. E’ causato dall’amplificatore o dall’ingresso di tensione e di corrente offset del comparatore. L’errore di offset è molto importante nei sistemi DC (es. voltmetro digitale). Esso può essere espresso in % del fondo scala (%FSR) o in frazione di LSB.

Gain error: E’ la massima deviazione della curva caratteristica dell’ADC dalla curva ideale per un codice di uscita di fondo scala. Esso può essere causato da vari fattori : errori nelle tensioni di riferimento, dal passo standard delle resistenze di riferimento, dal guadagno dell’amplificatore ecc. Può essere minimizzato regolando il guadagno dell’amplificatore o la tensione di riferimento.

Page 23: Progettazione di un convertitore analogico digitale in architettura multistadio

23

Errore di non linearità differenziale: I gradini della caratteristica di conversione dovrebbero avere larghezza pari a s1=1LSB, ma nella caratteristica reale i gradini hanno larghezza s2, diversa da s1. La differenza s1-s2 è l’errore di non linearità differenziale. In presenza di forte non linearità differenziale, un gradino può essere totalmente assorbito da quelli adiacenti e il codice corrispondente al gradino eliminato viene perso “missing code (codice mancante)”

Errore di non linearità integrale: E’ una misura di come la funzione di trasferimento dell’ADC complessivamente devia da una funzione di trasferimento perfettamente lineare. La INL può essere determinata anche mediante l’integrazione degli errori DNL. Considerazioni: L’importanza della INL o DNL dipende dall’applicazione dell’ADC. Se la precisione è fondamentale (esempio nella misura di tensione o corrente in un processo industriale) allora la INL è più importante. Ma in un’applicazione audio la INL rappresenta un errore complessivo di amplificazione che è poco rilevante mentre la DNL da una migliore idea delle distorsioni udibili prodotte dall’ADC

Page 24: Progettazione di un convertitore analogico digitale in architettura multistadio

24

3.2 METODI PER VALUTARE GLI ERRORI STATICI DI UN A DC

Il primo metodo consiste nell’aumentare il segnale di ingresso analogico dell’ADC lentamente, quindi memorizzare il valore dell’ingresso analogico quando l’uscita digitale cambia (punto di transizione). Dai punti di transizione si può calcolare l’errore di offset, l’errore di guadagno e l’errore di non linearità differenziale e integrale. Il secondo metodo (metodo statistico) consiste nell’applicare un segnale noto (es. onda triangolare, onda sinusoidale) all’ingresso analogico del convertitore e misurare il numero delle occorrenze di ogni codice. Dall’istogramma ottenuto possiamo determinare la non linearità differenziale e la non linearità integrale dell’ADC. Per avere un risultato affidabile è necessario un numero sufficientemente grande di occorrenze quindi la frequenza del segnale d’ingresso non è del tutto arbitraria. In genere si utilizza come segnale d’ingresso un onda sinusoidale in quanto si può rilevarne l’esatta ampiezza di banda. 3.2.1 PRIMO METODO: Misura dei punti di transizione e simulazione

• Applicare un segnale lentamente variabile all’ingresso analogico dell’ADC (Figura 3.1) • Quindi memorizzare i valori dell’ingresso analogico Vin quando l’uscita digitale cambia di

1LSB (es. da 0010 a 0011) • I valori memorizzati costituiscono i punti di transizione dell’uscita digitale:

Figura 3.18 Caratteristica di un ADC con un range d’ingresso unipolare. In evidenza i punti di transizione della Vin (V[j]) tra il codice j-1 e il codice j

Page 25: Progettazione di un convertitore analogico digitale in architettura multistadio

25

Calcolo dei parametri statici dai punti di transizione Consideriamo un ADC con un range d’ingresso unipolare (Vin va da 0V a VREF) e con N bits di risoluzione. Siano V[j] j = 1…2^N-1 i punti di transizione ovvero le tensioni misurate all’ingresso dell’ADC quando si verifica la transizione tra il codice j-1 e il codice j. Definiamo inoltre: VZS = V[1] è la tensione Vin nella transizione tra il codice zero e il codice successivo (fig. 3.18) VFS_1=V[2^N-2] è la tensione Vin nella transizione tra il codice di FS meno 1 e il codice FS LSB (in volt) = VREF/2^N è l’ampiezza teorica della tensione di 1 LSB ALSB (in volt) = (VFS_1-VZS)/(2^N-2) è l’attuale ampiezza della tensione di ogni LSB.

• Offset Error (in LSB) = LSB

LSBVZS ∗− 5.0

• Gain Error (in LSB) = ( )[ ]

LSB

VZSVFSLSBVREF −−∗− 1_2

• DNL[j] (in LSB) = 1][]1[ −−+

ALSB

jVjV

• INL[j] (in LSB) = ( )( )[ ]

ALSB

VZSjALSBjV +−∗− 1][

E’ da osservare che nel calcolo di offset error e di gain error compare LSB mentre nel calcolo di DNL e INL compare ALSB. Questo perché nelle specifiche di molti ADC si assume che offset e gain error siano riferiti a un ideale LSB mentre INL e DNL siano riferiti a un reale LSB. Comunque la differenza tra ALSB e LSB è tipicamente molto piccola. SIMULAZIONE Di seguito vengono riportate le opzioni da abilitare nello SPICE per la simulazione e la registrazione in un file ascii (out.vec) dei dati necessari per il calcolo dei punti di transizione e quindi dei parametri DNL e INL secondo il metodo appena descritto. In figura 3.1 è presente il tracciato della simulazione mentre in figura 3.2 si può osservare il grafico della DNL e INL.

Page 26: Progettazione di un convertitore analogico digitale in architettura multistadio

26

SIMULAZIONE SPICE

Figura 3.3 Opzioni da abilitare per catturare in un file ascii gli istanti di transizione (da 0s fino a 16.7ms)

Abilitando l’opzione capture test vector (vedi figura 3.3) e utilizzando il dispositivo vector (vedi figura 3.4) viene generato il file out.vec contenente gli istanti di transizione dei codici

File out.vec * Created by PSpice HEX( b7 b6 b5 b4 ) HEX( b3 b2 b1 b0 ) 0s 00 1.989us 01 9.989us 02 15.525us 03 19.903us 04 25.989us 05 32.989us 06

Con un editor ascii adattiamo il file out.vec in modo tale da essere caricato dal software matematico matlab e quindi mediante il programma di figura 3.5 si calcola DNL e INL

File out.dat 0 00 1.989*e-6 01 9.989*e-6 02 15.525*e-6 03 19.903*e-6 04 25.989*e-6 05 32.989*e-6 06

Page 27: Progettazione di un convertitore analogico digitale in architettura multistadio

27

% Programma per calcolare e graficare DNL e INL clear; % Il segnale di ingresso è una rampa lineare: v0(t0=0)=0V; v1(t1=0.0167s)=5V v1=5; t1=0.0167; lsb=5/(2^8); %Carica il file out.dat , matlab vede la variabile out come un array rettangolare load out.dat %Calcolo dei punti di transizione V[i] for i=1:255, v([i])=out([i,1])*v1/t1 ;end %Calcolo della dnl e inl for i=1:255 dnl([i])=(v([i+1])-v([i]))/lsb-1; inl([i])=((v([i])-lsb*(i-1))+v([1]))/lsb; end xlabel(‘Codice’); ylabel(‘INL & DNL’); plot((1:255),dnl,’b’,(1:255),inl,’r’);

Figura 3.4 Il dispositivo vector da collegare all’uscita del’ADC. Questo dispositivo, durante la simulazione, registra in un file ascii gli istanti di transizione di codice

Figura 3.5 Programma per calcolare e graficare DNL e INL dell’ADC.

Page 28: Progettazione di un convertitore analogico digitale in architettura multistadio

28

Figura 3.1 Simulazione dell’ADC con un segnale d’ingresso a rampa lineare

0 5 0 1 0 0 1 5 0 2 0 0 2 5 0

- 0 . 2 5

- 0 . 2

- 0 . 1 5

- 0 . 1

- 0 . 0 5

0

0 . 0 5

0 . 1

0 . 1 5

0 . 2

0 . 2 5

C o d i c e

DN

L

0 5 0 1 0 0 1 5 0 2 0 0 2 5 00

0 . 0 5

0 . 1

0 . 1 5

0 . 2

0 . 2 5

0 . 3

0 . 3 5

0 . 4

0 . 4 5

0 . 5

C o d i c e

INL

Figura 3.2 Grafico della DNL (in LSB) e INL (in LSB) ottenuti mediante il programma di figura 3.5

Page 29: Progettazione di un convertitore analogico digitale in architettura multistadio

29

3.2.2 SECONDO METODO : Code density test (histogram) e simulazione

Nel code density test, la conoscenza della distribuzione delle ampiezze del segnale di ingresso (Vin) permette di stimare il numero di occorrenze ideali dei codici digitali. Una qualsiasi deviazione delle occorrenze misurate dalle occorrenze ideali denota un errore di non linearità differenziale. I passi dacompiere nel code density test sono:

• Applicare un segnale noto all’ingresso analogico dell’ADC quindi memorizzare i codici all’uscita digitale.

• Misurare il numero delle occorrenze di ogni codice

• Comparando le occorrenze osservate (observed[i]) di ogni codice, dalle occorrenze ideali (ideal[i]) si può calcolare l’errore di non linearità differenziale (DNL[i]) e l’errore di non linearità integrale(INL[i]) mediante le formule:

• DNL[i] = ][

][][

iideal

iidealiobserved −

• INL[i] = ∑=

i

J

jDNL1

][ (INL=∫DNL )

SIMULAZIONE Applichiamo all’ingresso dell’ADC un segnale sinusoidale di f = 60Hz. Dopo aver settato le opzioni nello spice secondo come mostrato in appendice A avviamo la simulazione. Dal tracciato della simulazione si può contare il numero delle occorrenze di ogni codice quindi creando un file out.dat contenente le occorrenze di ogni codice grazie al programmino di seguito riportato (figura 3.19) si può caricare il file out.dat quindi graficare l’istogramma delle occorrenze (figura 3.7) e calcolare la DNL (figura 3.9) e INL (figura 3.10) secondo il metodo sopra descritto. Per verificare l’equivalenza tra il metodo dei punti di transizione e il metodo code density test possiamo effettuare una nuova simulazione con un segnale d’ingresso pari alla rampa lineare di figura 3.1 che abbiamo usato per testare l’ADC mediante il metodo 1. Quindi dai risultati della simulazione e utilizzando il programmino di figura 3.19 possiamo graficare l’istogramma delle occorrenze (figura 3.12) e calcolare la DNL (figura 3.14) e INL (figura 3.15) nel caso di segnale di ingresso a rampa lineare. Dalle figure 3.2 e 3.14 risulta evidente che i grafici DNL e INL dei rispettivi metodi coincidono.

Page 30: Progettazione di un convertitore analogico digitale in architettura multistadio

30

% Programma per calcolare e graficare DNL e INL mediante il metodo2 clear; %Carica il file out.dat , matlab vede la variabile out come un array %rettangolare contenente le occorrenze di ogni codice e il codice load out.dat for i=1:255, observed([i])=out([i,1]) ;end %Calcolo della dnl e inl inl([1])=0; for i=1:255 dnl([i])=(observed([i])-ideal([i]))/ideal([i]); for j=1:i inl([i])=inl([i])+dnl([j]); end end % istogramma delle occorrenze bar((1:255),observed) % grafico DNL e INL plot((1:255),dnl,’b’,(1:255),inl,’r’);

Figura 3.19 : Script matlab per graficare l’istogramma delle occorrenze e l’errore DNL e INL

Page 31: Progettazione di un convertitore analogico digitale in architettura multistadio

31

Figura 3.6 : Simulazione dell’ADC con un segnale d’ingresso sinusoidale

Figura 3.7 :Istogramma delle occorrenze di ogni codice quando il segnale d’ingresso è una sinusoide

0102030405060708090

100110120130140150160170180190200210220230240250260270280290300310320

1 10 19 28 37 46 55 64 73 82 91 100 109 118 127 136 145 154 163 172 181 190 199 208 217 226 235 244 253

Codice

N. d

i occ

orr

enze

Page 32: Progettazione di un convertitore analogico digitale in architettura multistadio

32

Figura 3.8 Misura delle occorrenze di ogni codice comparate con le occorrenze ideali Curva blu occorrenze ideale, curva rossa occorrenze misurate (simulate)

Fig 3.9 NON LINEARITA DIFFERENZIALE calcolata dalle occorrenze mostrate in figura 3.8 (MAX DNL=0.124LSB)

Fig 3.10 NON LINEARITA INTEGRALE calcolata dalle occorrenze mostrate in figura 3.8 (MAX INL=0.548LSB)

0 5 0 1 0 0 1 5 0 2 0 0 2 5 0

- 0 . 1

- 0 . 0 5

0

0 . 0 5

0 . 1

C o d i c e

DN

L

0 5 0 1 0 0 1 5 0 2 0 0 2 5 0

- 0 . 5

- 0 . 4

- 0 . 3

- 0 . 2

- 0 . 1

0

0 . 1

0 . 2

C o d i c e

INL

0 50 100 150 200 2500

50

100

150

200

250

300

C od ice

N. d

i occ

orre

nze

Page 33: Progettazione di un convertitore analogico digitale in architettura multistadio

33

Figura 3.11 Simulazione dell’ADC con un segnale d’ingresso a rampa lineare

Figura 3.12: Istogramma delle occorrenze di ogni codice quando il segnale d’ingresso è una rampa

22

24

26

28

30

32

34

36

38

40

1 10 19 28 37 46 55 64 73 82 91 100 109 118 127 136 145 154 163 172 181 190 199 208 217 226 235 244 253

Codice

N. d

i occ

orr

enze

63

127191

Page 34: Progettazione di un convertitore analogico digitale in architettura multistadio

34

Figura 3.13 Misura delle occorrenze di ogni codice comparate con le occorrenze ideali (Vin rampa lineare di figura 3.11) Curva blu occorrenze ideali, curva rossa occorrenze misurate (simulate)

Figura 3.14 NON LINEARITA DIFFERENZIALE calcolata dalle occorrenze mostrate in figura 3.13 (MAX DNL=0.295LSB)

Figura 3.15 NON LINEARITA INTEGRALE calcolata dalle occorrenze mostrate in figura 3.11 (MAX INL=0.46LSB)

0 5 0 1 0 0 1 5 0 2 0 0 2 5 02 2

2 4

2 6

2 8

3 0

3 2

3 4

3 6

3 8

4 0

4 2

C o d ic e

N. d

i occ

orre

nze

0 5 0 1 0 0 1 5 0 2 0 0 2 5 0

- 0 . 2 5

- 0 . 2

- 0 . 1 5

- 0 . 1

- 0 . 0 5

0

0 . 0 5

0 . 1

0 . 1 5

0 . 2

0 . 2 5

C o d i c e

DN

L

0 5 0 1 0 0 1 5 0 2 0 0 2 5 00

0 . 0 5

0 . 1

0 . 1 5

0 . 2

0 . 2 5

0 . 3

0 . 3 5

0 . 4

0 . 4 5

0 . 5

C o d i c e

INL

Page 35: Progettazione di un convertitore analogico digitale in architettura multistadio

35

3.3 FUNZIONE DI TRASFERIMENTO DELL’ADC PROGETTATO Dai punti di transizione possiamo ricavare la funzione di trasferimento dell’ADC (figura 3.20)

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

50

100

150

200

250

Vin

Cod

ice

Figura 3.20 Confronto tra la caratteristica ideale e la caratteristica reale (in rosso la caratteristica ideale in blu la caratteristica simulata) Nel grafico di figura 3.20 non sono visibili gli effetti degli errori di non linearità in quanto è stato rappresentato tutta la scala dei valori del segnale d’ingresso. Se apriamo delle finestre ingrandite (figura 3.21) si può notare lo scostamento della caratteristica reale (in blu) dalla caratteristica ideale (in rosso). In particolare si può notare che in corrispondenza dei codici 64, 128, 192 lo scostamento è più evidente. Questo è in accordo con l’istogramma delle occorrenze di figura 3.12 dove nei codici 64, 128, 192 presenta un marcato buco, ed è in accordo col grafico della DNL di figura 3.14 dove negli stessi codici l’ampiezza dell’errore di non linearità differenziale è maggiore.

Page 36: Progettazione di un convertitore analogico digitale in architettura multistadio

36

3.6 3.65 3.7 3.75 3.8 3.85 3.9

184

186

188

190

192

194

196

198

Vin

Cod

ice

2.35 2.4 2.45 2.5 2.55 2.6 2.65

120

122

124

126

128

130

132

134

Vin

Cod

ice

Figura 3.21 Dettagli della funzione di trasferimento dell’ADC

Quindi l’ADC esaminato presenta una grande non linearità quando il bit più significativo cambia stato (esempio andando da 00111111 a 01000000). Questo è determinato dal fatto che il livello di decisione di 00111111 è effettivamente un po’ più alto di 01000000 quindi in presenza di un segnale d’ingresso lentamente variabile (rampa lineare) l’ADC può a volte saltare direttamente da 00111111 a 01000001, e il codice 01000000 è perso (MISSING CODE).

1.15 1.2 1.25 1.3 1.35 1.4

56

58

60

62

64

66

68

70

Vin

Cod

ice

Page 37: Progettazione di un convertitore analogico digitale in architettura multistadio

37

CONCLUSIONI Dalle simulazioni risulta:

• L’ADC progettato presenta una velocità di conversione bassa (1.7us contro i 100-150ns di un half flash). Questo è dovuto alla bassa velocità del sub-ADC dove si è utilizzato come comparatore LM311 che presenta un tempo di risposta di 200ns contro i 40ns di comparatori più veloci (come LM106), naturalmente l’utilizzo di comparatori ad alta velocità comporta accorgimenti per evitare oscillazioni spurie (instabilità). Un’altra causa della limitata velocità è da ricercarsi nel blocco residuo-amplificazione.

• Con un segnale d’ingresso sinusoidale lentamente variabile (f<60Hz) (figura 3.6) l’istogramma delle occorrenze di ogni codice di uscita si avvicina al caso ideale, infatti l’errore di non linearità differenziale massimo misurato col metodo statistico è di 0.124LSB mentre la INL massima è di 0.548LSB

• Con un segnale d’ingresso a rampa lineare (Figura 3.11) l’istogramma delle occorrenza di ogni codice di uscita si discosta in diversi punti dal caso ideale in particolare nei codici 64,128,192 l’istogramma presenta un marcato buco che fa aumentare l’ampiezza dell’errore di non linearità differenziale (in questo caso DNL max = 0.295LSB) come è evidente dal grafico di figura 3.14. In altre parole si verifica un errore più grande del solito quando il bit più significativo cambia stato (esempio andando da 01111111=>127 a 10000000=>128). Questo è determinato dal fatto che il livello di decisione di 01111111 è effettivamente un po’ più alto di 10000000 come si può osservare dalla tensione d’ingresso dell’ultimo stadio (residuo_stadio4) mostrato in figura

Quindi in presenza di un segnale d’ingresso lentamente variabile (rampa lineare) l’ADC può a volte saltare direttamente da 01111111 a 10000001, e il codice 10000000 è perso (MISSING CODE). Dalle tensioni residue di ogni stadio di figura 3.22 si può osservare come l’errore appena visto, dovuto principalmente all’offset del comparatore e alle non idealità delle tensioni di riferimento, si propaga nei vari stadi.

Page 38: Progettazione di un convertitore analogico digitale in architettura multistadio

38

Figura 3.22 :Tensione d’ingresso dei vari stadi

Page 39: Progettazione di un convertitore analogico digitale in architettura multistadio

39

APPENDICE A

• Software utilizzato per la simulazione:

Microsim Design 8.0 http://www.orcad.com

• Software utilizzato per l’analisi dei dati: Matlab versione 4.2c.1 http://www.mathworks.com

• Opzioni da abilitare per la simulazione: setup base

opzioni da abilitare per ottenere il file contenente gli istanti di transizione

Page 40: Progettazione di un convertitore analogico digitale in architettura multistadio

40

BIBLIOGRAFIA [1] B. Razavi, Principles of Data Conversion System Design, The IEEE Press, New York 1995. [2] I convertitori A/D e D/A, Valerio Alessandroni, Elettronica Oggi N. 272 - 15 Aprile 1999 [3] A.M.J. Daanen, Classification of DA and AD Conversion Techniques, Report of the Graduation Work, Technical University, Eindhoven, Dec. 1986. [4] J.ÊDoernberg, H.-S.ÊLee, and D.ÊA.ÊHodges, “Full-speed testing of A/D converters,” IEEE J. Solid-State Circ., vol. SC-19, pp. 820-827, Dec. 1984. [5] Texas Instruments Application Report,” Understanding Data Converters”, SLAA013, July 1995. [6] Adc characterisation using the code density test method with deterministic sampling, Valentino Liberali, Franco Maloberti, and Massimo Stramesi, Department of Electronics, University of Pavia Via Ferrata 1, 27100 Pavia, Italy [7] J. E. Franca and Y. Tsividis, Editors, Design of Analog-Digital VLSI Circuits for Telecommunications and Signal Processing”, Chapters 9 and 10,Prentice Hall, Englewood Cliffs,1994 [8] S. Franco, “Design with Operational Amplifiers and Analog Integrated Circuits”, McGraw-Hill, Boston, 1998. [9] Integrated Analog-to-Digital and Digital-to-Analog Converters, R. van de Plasche, Kluwer Academic Publishers, 1994 [10] M. F. WAGDY “Diagnosing ADC Nonlinearity at the Bit Level” IEEE iransactions on instrumentation and Measurements, December 1989, pp. 1139-1141. [11] J. BLAIR “Histogram Measurement of ADC Nonlinearities using Sine Waves” IEEE Transactions on Instrumentation and Measurements, June 1994, pp.373-383. [12] M. F. WAGDY AND S. S. AWAD “Determining ADC Ef fective Number of Bits Via Histogram Testing” IEEE Transactions on Instrumentation and Measurements, August 1991, pp. 770-772. [13] DC Specifications of ADCs and DACs http://www.hit.bme.hu/people/papay/edu/ABCsoup.ht [14] INL/DNL Measurements for High-Speed ADCs http://www.maxim-ic.com/StartPage.htm

Page 41: Progettazione di un convertitore analogico digitale in architettura multistadio

41

[15] Defining and Testing Dynamic Parameters in High-Speed ADCs, Part 1 http://dbserv.maxim-ic.com/tarticle/view_article.cfm?article_id=112 [16] descrizione tipi di convertitori http://users.unimi.it/metis/METIS-3MKB/courseware/convertitori/Adc/indicein.htm [17] Correzione delle non linearita’ nei convertitori A-D ad alta velocita http://www.teoresi.it/meet_2000/conf/atti/cover.htm [18] Design Of A High-Performance Analog-To-Digital Converter http://www.csdmag.com/main/9810/9810feat2.htm [19] Evaluating Data Acquisition Specifications by Jonathan L. Tucker, Keithley Instruments http://www.evaluationengineering.com/index.html [20] HABIST (Histogram-based Analog Built-In Self-Test) http://www.fluence.com/bistmaxx/habist_tk1.html

Author: Ing. Nelson Firmani ([email protected])