Progettazione di un convertitore analogico digitale in architettura multistadio

2,326 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,326
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Progettazione di un convertitore analogico digitale in architettura multistadio

  1. 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 1
  2. 2. INDICEPREMESSA .................................................................................................................................... 31 INTRODUZIONE ................................................................................................................. 41.1 STRUTTURE DI CONVERTITORI A/D ............................................................................................... 51.1.1 CONVERTITORE A/D A RAMPA LINEARE....................................................................................... 51.1.2 CONVERTITORE A/D A DOPPIA RAMPA ......................................................................................... 61.1.3 CONVERTITORE A/D AD APPROSSIMAZIONE SUCCESSIVA...................................................... 61.1.4 CONVERTITORE A/D TIPO FLASH .................................................................................................... 71.1.5 CONVERTITORE A/D TIPO HALF -FLASH ....................................................................................... 71.2 PRESTAZIONI E SPECIFICHE DEI CONVERTITORI A/D e D/A ................................................. 81.3 ERRORE DI QUANTIZZAZIONE .............................................................................................. 102 PROGETTO DI UN ADC 8 BITS A 4 STADI ............................................................... 122.1 PRINCIPIO DI FUNZIONAMENTO DI UN ADC MULTISTADIO ............................................... 122.2 PROGETTO DELL’ADC 8 BITS A 4 STADI...................................................................................... 142.2.1 Sub-ADC ................................................................................................................................................ 142.2.2 Sub-DAC ................................................................................................................................................ 152.2.3 Blocco tensioni di riferimento ................................................................................................................ 162.2.4 Blocco residuo-amplificazione ............................................................................................................... 172.3 SIMULAZIONI ..................................................................................................................................... 183 PARAMETRI STATICI DI UN ADC............................................................................ 213.1 CASSIFICAZIONE DEGLI ERRORI STATICI DI UN ADC .......................................................... 213.2 METODI PER VALUTARE GLI ERRORI STATICI DI UN ADC................................................. 233.2.1 PRIMO METODO: Misura dei punti di transizione e simulazione ..................................................... 233.2.2 SECONDO METODO : Code density test (histogram) e simulazione ................................................. 283.3 FUNZIONE DI TRASFERIMENTO DELL’ADC PROGETTATO ................................................ 34CONCLUSIONI..................................................................................................................................... 36APPENDICE ........................................................................................................................................... 38BIBLIOGRAFIA ................................................................................................................................... 40 2
  3. 3. Simboli e abbreviazioniABBREVIAZIONE DESCRIZIONEA/D Analog to DigitalADC Analog to Digital ConverterAMPS Advanced Mobile Phone System[b0…b7] Bit d’uscita dell’ADCCODE Codice in uscita dell’ADCD-AMPS Digital AMPSDC Direct CurrentDNL Differential Non-LinearityGSM Global System for Mobile ComunicationINL Integral Non-LinearityLSB Least Significant BitMSB Most Significant BitSA Successive ApproximationSNR Signal to Noise RatioV[j] Tensioni nei punti di transizione di codiceVdac Tensione all’uscita del DACVin Tensione all’ingresso dell’ADCVFS Tensione di fondo scalaVrif Tensione di riferimento 3
  4. 4. PREMESSAOggetto 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. 4
  5. 5. 1 INTRODUZIONELa tendenza dei moderni sistemi di comunicazione è di rendere qualsiasi cosa digitale. Solo 15 annifa la tecnologia radiomobile era dominata dai sistemi analogici TACS, NMT, AMPS. Questi sistemisono ora completamente sostituiti dai sistemi digitali GSM e D-AMPS.Le ragioni di questo cambiamento sono: • La rapida evoluzione tecnologica dei settori dellelaborazione digitale dei segnali e lintegrazione 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 lutilizzo 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, vieneconvertita in segnale digitale mediante circuiti detti convertitori analogici-digitali (ADC), quindielaborata e riconvertita mediante convertitori digitali-analogici (DAC).E più la comunicazione è digitale più cresce la domanda di ADC e DAC dalle caratteristicheperformanti: alta velocità di conversione, alta risoluzione, basso costo di produzione, bassoconsumo di potenza.In questa tesina dopo una prima parte introduttiva dove vengono descritte le principali tecniche diconversione A/D nonchè i parametri che descrivono le prestazioni di un ADC, si procede allarealizzazione 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 potenzada rispettare. Anche perché scopo di questa tesina non è tanto nella realizzazione di un ADC dallecaratteristiche peculiari, bensì è quello di mettere in evidenza i metodi che si impiegano permisurare (testare) le prestazioni dei convertitori A/D. 5
  6. 6. 1.1 STRUTTURE DI CONVERTITORI A/DIn 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 infigura 1.1. L’elemento fondamentale è il comparatore, che confronta il segnale in ingresso con unsegnale generato localmente e rivela quale dei due è più grande fino a che quest’ultimo non diventauguale al segnale in ingresso. Il generatore locale del segnale di confronto può essere realizzato conuna rete a pesiera o con un circuito a rampa lineare, mentre i circuiti sequenziali di controllo sonoun insieme di circuiti logici che, a seconda del segno della tensione in uscita al comparatore, dannoi comandi al registro di conteggio. Figura 1.1 Principio di funzionamento di un ADC1.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. 6
  7. 7. 1.1.2 CONVERTITORE A/D A DOPPIA RAMPA 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 .1.1.3 CONVERTITORE A/D AD APPROSSIMAZIONE SUCCESSIVA 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). 7
  8. 8. 1.1.4 CONVERTITORE A/D TIPO 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.1.1.5 CONVERTITORE A/D TIPO HALF -FLASH 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. 8
  9. 9. 1.2 PRESTAZIONI E SPECIFICHE DEI CONVERTITORI A/D e D/APer valutare le qualità di un convertitore A/D o D/A si deve possedere una piena conoscenza deiseguenti 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” 9
  10. 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 staticidi un ADC. Un analisi dettagliata di questi parametri e i metodi di valutazione verrà fatta nelcapitolo 3. 10
  11. 11. 1.3 ERRORE DI QUANTIZZAZIONEIl 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 dallarisoluzione dell’ADC.Ne segue che nella conversione A/D parte del segnale analogico d’ingresso viene rappresentatodallo stesso codice digitale in uscita. In altre parole parte dell’informazione all’ingresso dell’ADCva persa nella conversione.Quindi nel processo di quantizzazione (rappresentazione o meglio approssimazione del segnaleanalogico d’ingresso mediante un segnale costituito da ampiezze discrete) si introduce un errore(errore di quantizzazione).Figura 1.1 Errore di quantizzazioneConsideriamo 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-VjI 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 uniformementedistribuita su q con una funzione di densità di probabilità data da: 11
  12. 12. 1 q qp(ε) = − ≤ε ≤ q 2 2p(ε) = 0 altrovePertanto possiamo determinare il valore quadratico medio dell’errore di quantizzazione: q/2 1 q2σ = ∫ ε 2 dε = 2 q −q / 2 12Questo risultato ci permette di valutare il rapporto segnale rumore (SNR) di un ADC ideale. Seconsideriamo un segnale di ingresso sinusoidale:Vin(t ) = A ∗ sin(ωt )la cui potenza è: 2π 1 A2P( s) = ∫ A sin (ϖt )dt = 2 2 2π 0 2si ha: P( s) A2 / 2 2A ASNR (dB ) = 10 log = 10 log 2 ma q = 1LSB = = n −1 P (ε ) q / 12 2 n 2sostituendo: 3 ⋅ 2 2nSNR (dB ) = 10 log( ) = 6.02n + 1.76dB 2Questo è 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 SNRdi circa 6dB.OSSERVAZIONI:Gli errori di non linearità provocano una riduzione nel SNR, infatti supponiamo una forte nonlinearità differenziale che provoca un missing code. Questo è equivalente a una riduzione di 1bit dirisoluzione e cioè ad una riduzione di 6dB nel rapporto segnale rumore (SNR). 12
  13. 13. 2 PROGETTO DI UN ADC 8 BITS A 4 STADIQuesto capitolo inizia con una trattazione teorica del principio di funzionamento di un ADCmultistadio. Dopo aver analizzato le caratteristiche i vantaggi e gli svantaggi di questa struttura sipassa 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 funzionamentomediante simulazione.2.1 PRINCIPIO DI FUNZIONAMENTO DI UN ADC MULTISTADIOCome nell’ADC HALF FLASH la conversione avviene in 2 passi, nell’ADC multistadio laconversione avviene in più passi. In altre parole possiamo vedere ogni stadio come un ADC a bassarisoluzione, quindi collegando più stadi possiamo ottenere una risoluzione più fine.Figura 2.1 Flowchart di come lavora un ADC MULTISTADIOIn figura 2.1 è mostrato in un flowchart come lavora un ADC MULTISTADIO (in questo caso persemplicità supponiamo 1 bit per stadio).Nel primo passo (i=0) otteniamo il bit più significativo b0 (MSB). Se l’ingresso è maggiore dellivello di riferimento allora b0=1 inoltre si calcola il residuo sottraendo l’ingresso dal livello diriferimento. Il residuo è moltiplicato per 2^B (in questo caso un bit per stage => B=1) e riportatoall’ingresso per il secondo passo. Sempre in figura 2.1 si può vedere come l’uscita digitale si formadurante i vari passi ovvero nei diversi stadi.In figura 2.2 è mostrato la struttura di un ADC MULTISTADIO il principio di funzionamento è ilseguente:In primo luogo viene eseguita una quantizzazione approssimativa dell’ingresso (normalmente conun convertitore flash a B bits ‘sub-ADC’). L’uscita digitale del sub-ADC è applicata ad un 13
  14. 14. convertitore D/A (sub-DAC) che genera un’uscita analogica Vdac, quindi si determina il residuosottraendo 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 sonoripetute ciclicamente fino all’ultimo stadio che fornisce i bits meno significativi del codice digitaleformatosi nei vari stadi (codice digitale che rappresenta il segnale analogico dell’ingresso).Figura 2.2 Struttura di un ADC MULTISTADIOI vantaggi di questa struttura rispetto ad una struttura tipo FLASH con gli stessi bit di risoluzionesono: • Bassa complessità hardware (ad esempio per un ADC ad N bit a M stadi sono necessari ( ) M ∗ 2 N / M − 1 comparatori invece di 2 N − 1 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 14
  15. 15. 2.2 PROGETTO DELL’ADC 8 BITS A 4 STADIIn figura 2.3 è presente lo schema elettrico dell’ADC 8 bit a 4 stadi. Possiamo suddividere l’analisidello schema in 4 punti: • Blocco sub-ADC • Blocco sub-DAC • Blocco residuo-amplificazione2.2.1 Sub-ADCIl blocco sub-ADC è costituito da un ADC di tipo flash (figura 2.4). Tutti i comparatori hanno uningresso 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; incaso contrario, l’uscita è bassa. Infine un circuito di codifica (U1) esamina le transizioni fra le uscitealte e basse dei comparatori, codificandole in modo da ottenere un’uscita digitale (bit1,bit0). Ilnumero dei comparatori dipende dalla risoluzione (B bits) del sub-ADC:Numero comparatori = numeri livelli di rif. – 1 = 2 B − 1Per minimizzare il ritardo di ogni stadio e il consumo di potenza dell’ADC la risoluzione di ognistadio dovrebbe essere mantenuta piccola (minore di 4bit ,con 4bit sono richiesti 15 comparatori perstadio). Questo perché il numero di comparatori nel sub-ADC cresce esponezialmente con ilnumero di bit di risoluzione. Un grande numero di comparatori determina un maggior consumo dipotenza, più spazio nel chip, rallenta il circuito e produce un carico maggiore all’uscita dello stadioprecedente.Nel nostro progetto usiamo una risoluzione per stadio pari a 2 bits (B=2) quindi abbiamo 3 livelli diriferimento 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 delLM106 o del LM710) ma in compenso è più stabile, non vengono innescate oscillazioni spurie 15
  16. 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 presentaproblemi nell’interfacciamento con l’encoder 74F148.2.2.2 Sub-DACIl sub-DAC (figura 2.5) riceve all’ingresso il codice digitale del sub-ADC, e il corrispondentevalore analogico d’uscita (Vdac) viene sottratto dal segnale d’ingresso dello stadio considerato performare 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 abbiamo2^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 nelcircuito. Consideriamo ad esempio la transizione dell’ingresso digitale del DAC da codice b1b0=10a b1b0=01, bene se la commutazione di b0 avviene un’istante prima di b1 in quell’istante si crea uningresso digitale ‘11’ non voluto “glitches”.Questi glitches oltre ad aumentare il consumo di potenza del convertitore causa un aumento deltempo di assestamento (settling time) e quindi una riduzione della velocità di conversione. 16
  17. 17. 2.2.3 Blocco tensioni di riferimentoSia nel Sub-ADC che nel Sub-DAC abbiamo bisogno di tensioni di riferimento. Queste tensionipossono essere generate ai capi di 2^N resistori (nel nostro caso N=2 quindi 4 resistori) connessicome in figura. k ∑ Ri Vrk = i =1 2N Vrif ∑ Ri i =1La non idealità delle tensioni di riferimento influenza la distribuzione delle occorrenze dei codici diuscita 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 dallatemperatura e variazioni della tensione di alimentazione.2.2.4 Blocco residuo-amplificazioneL’operazione che deve compiere questo blocco è sottrarre dal segnale d’ingresso V(+) il segnaleproveniente dal Sub-DAC V(-) quindi amplificare il tutto per 2^2=4Residuo = V(+) – V(-)Vd = [V (+ ) − V (−)] ∗ 2 2Si utilizza due amplificatori operazionali in cascata.Il primo in configurazione invertente cambia di segno al segnale d’ingresso V(+) portandolo aV0 = -V(+).Il secondo effettua la somma tra V0 = - V(+) e V(-) e amplifica di 2^2, inoltre essendo inconfigurazione invertente cambia di segno al segnale di uscita Vd:Vd = −[−V (+ ) + V (−)] ∗ 2 2 = [V (+ ) − V (−)] ∗ 2 2che è quanto si voleva. 17
  18. 18. 1) stadio amplificatore op. in configurazione invertente con A=-1 R2 V0 = − ∗ V (+) R1 R 2 = R1 ⇒ V 0 = −V (+ ) 2) stadio sommatore segnali IR3 + IR5 = IR 4 V (−) − VN V 0 − VN VN − Vd + = R3 R5 R4 Aideale → ∞ ⇒ massavirtuale ⇒ VN = 0 ⇒ V ( −) V 0 Vd + =− R3 R5 R4 se R3=R5=R si ha : ∗ [V (−) + V 0] [V (+) − V (−)] R4 R4 Vd = − ma V0=-V(+) quindi : Vd = R R con R4=4R si ha : Vd = 4 ∗ [V (+ ) − V (−)]Considerazioni:Il blocco residuo-amplificazione rappresenta una reale limitazione alla velocità di conversionedell’ADC.Inoltre le non idealità dell’amplificatore operazionale (si pensi alla tensione di offset) determinanoerrori nel calcolo del residuo che si propagano nei vari stadi, questo determina un aumento dellanon linearità differenziale del convertitore A/D.Come ampl. operazionale si è scelto LF411 grazie soprattutto all’alta velocità (slew rate: 15V/us) ealla bassa tensione di offset (0.8 mV) nonché per l’alta impedenza di ingresso e l’ampia larghezzadi banda. 18
  19. 19. 2.3 SIMULAZIONIRiassumiamo 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) VFS 5V • Ampiezza massima dell’errore di quantizzazione è 1LSB = N = 8 = 19.53mV 2 2Da quest’ultimo dato ci aspettiamo la commutazione dell’uscita digitale ad un codiceimmediatamente successivo quando la tensione dell’ingresso analogico subisce una variazione di1LSB=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 19
  20. 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 efigura 2.11) applicando all’ingresso dell’ADC diversi livelli di tensione di durata di 2us e leggendoil 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 a20 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 20
  21. 21. Figura 2.11 Conversione A/D con livelli di tensione di ingresso cha vanno da 0 a 5VDai tracciati di figura 2.10 e 2.11 risulta una corretta conversione A/D per tutti i livelli del segnaledi ingresso che abbiamo scelto. 21
  22. 22. 3 PARAMETRI STATICI DI UN ADCIn questo capitolo dopo una trattazione teorica degli errori statici di un ADC verranno presentatidue metodi per la loro valutazione. Quindi si procede alla simulazione dell’ADC 8bits a 4 stadida noi progettato. Dai dati della simulazione e con l’ausilio del software matematico matlabvalutiamo 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. 22
  23. 23. Errore di non linearità differenziale:I gradini della caratteristica diconversione dovrebbero averelarghezza pari a s1=1LSB, ma nellacaratteristica reale i gradini hannolarghezza s2, diversa da s1. Ladifferenza s1-s2 è l’errore di nonlinearità differenziale.In presenza di forte non linearitàdifferenziale, un gradino può esseretotalmente assorbito da quelli adiacentie il codice corrispondente al gradinoeliminato viene perso “missing code(codice mancante)”Errore di non linearità integrale:E’ una misura di come la funzione ditrasferimento dell’ADCcomplessivamente devia da unafunzione di trasferimentoperfettamente lineare.La INL può essere determinata anchemediante l’integrazione degli erroriDNL.Considerazioni:L’importanza della INL o DNLdipende dall’applicazione dell’ADC.Se la precisione è fondamentale(esempio nella misura di tensione ocorrente in un processo industriale)allora la INL è più importante. Ma inun’applicazione audio la INLrappresenta un errore complessivo diamplificazione che è poco rilevantementre la DNL da una migliore ideadelle distorsioni udibili prodottedall’ADC 23
  24. 24. 3.2 METODI PER VALUTARE GLI ERRORI STATICI DI UN ADCIl 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 ditransizione). Dai punti di transizione si può calcolare l’errore di offset, l’errore di guadagno el’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 diogni codice. Dall’istogramma ottenuto possiamo determinare la non linearità differenziale e la nonlinearità integrale dell’ADC. Per avere un risultato affidabile è necessario un numerosufficientemente grande di occorrenze quindi la frequenza del segnale d’ingresso non è del tuttoarbitraria. 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 ditransizione della Vin (V[j]) tra il codice j-1 e il codice j 24
  25. 25. Calcolo dei parametri statici dai punti di transizioneConsideriamo un ADC con un range d’ingresso unipolare (Vin va da 0V a VREF) e con N bits dirisoluzione.Siano V[j] j = 1…2^N-1 i punti di transizione ovvero le tensioni misurate all’ingresso dell’ADCquando 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 FSLSB (in volt) = VREF/2^N è l’ampiezza teorica della tensione di 1 LSBALSB (in volt) = (VFS_1-VZS)/(2^N-2) è l’attuale ampiezza della tensione di ogni LSB. VZS − 0.5 ∗ LSB • Offset Error (in LSB) = LSB • Gain Error (in LSB) = [VREF − 2 ∗ LSB − (VFS _ 1 − VZS )] LSB V [ j + 1] − V [ j ] • DNL[j] (in LSB) = −1 ALSB • INL[j] (in LSB) = [V [ j ] − ( ALSB ∗ ( j − 1) + VZS )] ALSBE’ da osservare che nel calcolo di offset error e di gain error compare LSB mentre nel calcolo diDNL e INL compare ALSB.Questo perché nelle specifiche di molti ADC si assume che offset e gain error siano riferiti a unideale LSB mentre INL e DNL siano riferiti a un reale LSB. Comunque la differenza tra ALSB eLSB è tipicamente molto piccola.SIMULAZIONEDi seguito vengono riportate le opzioni da abilitare nello SPICE per la simulazione e laregistrazione in un file ascii (out.vec) dei dati necessari per il calcolo dei punti di transizione equindi 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 graficodella DNL e INL. 25
  26. 26. SIMULAZIONE SPICE File out.vec * Created by PSpiceAbilitando l’opzione capture test HEX( b7 b6 b5 b4 ) HEX( b3 b2 b1 b0 )vector (vedi figura 3.3) eutilizzando il dispositivo vector 0s 00(vedi figura 3.4) viene generato il 1.989us 01file out.vec contenente gli istanti 9.989us 02di transizione dei codici 15.525us 03 19.903us 04 25.989us 05 32.989us 06 File out.datCon un editor ascii adattiamo ilfile out.vec in modo tale da esserecaricato dal software matematico 0 00matlab e quindi mediante il 1.989*e-6 01programma di figura 3.5 si calcola 9.989*e-6 02DNL e INL 15.525*e-6 03 19.903*e-6 04 25.989*e-6 05 32.989*e-6 06Figura 3.3 Opzioni da abilitare per catturare in un file ascii gli istanti di transizione (da 0s fino a 16.7ms) 26
  27. 27. 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 % 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.5 Programma per calcolare e graficare DNL e INL dell’ADC. 27
  28. 28. Figura 3.1 Simulazione dell’ADC con un segnale d’ingresso a rampa lineare 0 .2 5 0 .2 0 .1 5 0 .1 0 .0 5 DNL 0 - 0 .0 5 -0 .1 - 0 .1 5 -0 .2 - 0 .2 5 0 5 0 1 0 0 1 5 0 2 0 0 2 5 0 C o d ic e 0 .5 0 .4 5 0 .4 0 .3 5 0 .3 INL 0 .2 5 0 .2 0 .1 5 0 .1 0 .0 5 0 0 5 0 1 0 0 1 5 0 2 0 0 2 5 0 C o d ic eFigura 3.2 Grafico della DNL (in LSB) e INL (in LSB) ottenuti mediante il programma di figura 3.5 28
  29. 29. 3.2.2 SECONDO METODO : Code density test (histogram) e simulazioneNel 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 nonlinearità 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: observed [i ] − ideal[i ] • DNL[i] = ideal[i ] i • INL[i] = ∑ DNL[ j ] J =1 (INL= ∫ DNL )SIMULAZIONEApplichiamo all’ingresso dell’ADC un segnale sinusoidale di f = 60Hz.Dopo aver settato le opzioni nello spice secondo come mostrato in appendice A avviamo lasimulazione.Dal tracciato della simulazione si può contare il numero delle occorrenze di ogni codice quindicreando un file out.dat contenente le occorrenze di ogni codice grazie al programmino di seguitoriportato (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 testpossiamo effettuare una nuova simulazione con un segnale d’ingresso pari alla rampa lineare difigura 3.1 che abbiamo usato per testare l’ADC mediante il metodo 1. Quindi dai risultati dellasimulazione e utilizzando il programmino di figura 3.19 possiamo graficare l’istogramma delleoccorrenze (figura 3.12) e calcolare la DNL (figura 3.14) e INL (figura 3.15) nel caso di segnale diingresso a rampa lineare.Dalle figure 3.2 e 3.14 risulta evidente che i grafici DNL e INL dei rispettivi metodi coincidono. 29
  30. 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 30
  31. 31. Figura 3.6 : Simulazione dell’ADC con un segnale d’ingresso sinusoidale 320 310 300 290 280 270 260 250 240 230 220 210 200N. di occorrenze 190 180 170 160 150 140 130 120 110 100 90 80 70 60 50 40 30 20 10 0 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 Figura 3.7 :Istogramma delle occorrenze di ogni codice quando il segnale d’ingresso è una sinusoide 31
  32. 32. 300 250N. di occorrenze 200 150 100 50 0 0 50 100 150 200 250 C o d ice Figura 3.8 Misura delle occorrenze di ogni codice comparate con le occorrenze ideali Curva blu occorrenze ideale, curva rossa occorrenze misurate (simulate) 0 .1 0 .0 5 0DNL - 0 .0 5 - 0 .1 0 5 0 1 0 0 1 5 0 2 0 0 2 5 0 C o d ic e Fig 3.9 NON LINEARITA DIFFERENZIALE calcolata dalle occorrenze mostrate in figura 3.8 (MAX DNL=0.124LSB) 0 .2 0 .1 0 - 0 .1 INL - 0 .2 - 0 .3 - 0 .4 - 0 .5 0 5 0 1 0 0 1 5 0 2 0 0 2 5 0 C o d ic e Fig 3.10 NON LINEARITA INTEGRALE calcolata dalle occorrenze mostrate in figura 3.8 (MAX INL=0.548LSB) 32
  33. 33. Figura 3.11 Simulazione dell’ADC con un segnale d’ingresso a rampa lineare 40 63 38 127 36 191 34N. di occorrenze 32 30 28 26 24 22 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 Figura 3.12: Istogramma delle occorrenze di ogni codice quando il segnale d’ingresso è una rampa 33
  34. 34. 42 40 38 36 N. di occorrenze 34 32 30 28 26 24 22 0 50 100 150 200 250 C o d ic eFigura 3.13 Misura delle occorrenze di ogni codice comparate con le occorrenze ideali (Vin rampa lineare di figura 3.11) Curvablu occorrenze ideali, curva rossa occorrenze misurate (simulate) 0 .2 5 0 .2 0 .1 5 0 .1 0 .0 5 DNL 0 - 0 .0 5 -0 .1 - 0 .1 5 -0 .2 - 0 .2 5 0 5 0 1 0 0 1 5 0 2 0 0 2 5 0 C o d ic eFigura 3.14 NON LINEARITA DIFFERENZIALE calcolata dalle occorrenze mostrate in figura 3.13 (MAX DNL=0.295LSB) 0 .5 0 .4 5 0 .4 0 .3 5 0 .3 INL 0 .2 5 0 .2 0 .1 5 0 .1 0 .0 5 0 0 5 0 1 0 0 1 5 0 2 0 0 2 5 0 C o d ic eFigura 3.15 NON LINEARITA INTEGRALE calcolata dalle occorrenze mostrate in figura 3.11 (MAX INL=0.46LSB) 34
  35. 35. 3.3 FUNZIONE DI TRASFERIMENTO DELL’ADC PROGETTATODai punti di transizione possiamo ricavare la funzione di trasferimento dell’ADC (figura 3.20) 250 200 150 Codice 100 50 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 VinFigura 3.20 Confronto tra la caratteristica ideale e la caratteristica reale (in rosso la caratteristica ideale inblu la caratteristica simulata)Nel grafico di figura 3.20 non sono visibili gli effetti degli errori di non linearità in quanto è statorappresentato tutta la scala dei valori del segnale d’ingresso.Se apriamo delle finestre ingrandite (figura 3.21) si può notare lo scostamento della caratteristicareale (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, 192presenta un marcato buco, ed è in accordo col grafico della DNL di figura 3.14 dove negli stessicodici l’ampiezza dell’errore di non linearità differenziale è maggiore. 35
  36. 36. 134 70 132 68 130 66 128 Codice Codice 64 126 62 124 60 122 58 120 56 1.15 1.2 1.25 1.3 1.35 1.4 2.35 2.4 2.45 2.5 2.55 2.6 2.65 Vin Vin 198 196 194 192 Codice 190 188 186 184 3.6 3.65 3.7 3.75 3.8 3.85 3.9 VinFigura 3.21 Dettagli della funzione di trasferimento dell’ADCQuindi l’ADC esaminato presenta una grande non linearità quando il bit più significativo cambiastato (esempio andando da 00111111 a 01000000). Questo è determinato dal fatto che il livello didecisione di 00111111 è effettivamente un po’ più alto di 01000000 quindi in presenza di unsegnale d’ingresso lentamente variabile (rampa lineare) l’ADC può a volte saltare direttamente da00111111 a 01000001, e il codice 01000000 è perso (MISSING CODE). 36
  37. 37. CONCLUSIONIDalle 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. 37
  38. 38. Figura 3.22 :Tensione d’ingresso dei vari stadi 38
  39. 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 39
  40. 40. BIBLIOGRAFIA[1] B. Razavi, Principles of Data Conversion System Design, The IEEE Press, New York1995.[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 theGraduation 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 forTelecommunications and Signal Processing”, Chapters 9 and 10,Prentice Hall, EnglewoodCliffs,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 oninstrumentation and Measurements, December 1989, pp. 1139-1141.[11] J. BLAIR “Histogram Measurement of ADC Nonlinearities using Sine Waves” IEEETransactions on Instrumentation and Measurements, June 1994, pp.373-383.[12] M. F. WAGDY AND S. S. AWAD “Determining ADC Effective Number of Bits ViaHistogram Testing” IEEE Transactions on Instrumentation and Measurements, August 1991,pp. 770-772.[13] DC Specifications of ADCs and DACshttp://www.hit.bme.hu/people/papay/edu/ABCsoup.ht[14] INL/DNL Measurements for High-Speed ADCshttp://www.maxim-ic.com/StartPage.htm 40
  41. 41. [15] Defining and Testing Dynamic Parameters in High-Speed ADCs, Part 1http://dbserv.maxim-ic.com/tarticle/view_article.cfm?article_id=112[16] descrizione tipi di convertitorihttp://users.unimi.it/metis/METIS-3MKB/courseware/convertitori/Adc/indicein.htm[17] Correzione delle non linearita’ nei convertitori A-D ad alta velocitahttp://www.teoresi.it/meet_2000/conf/atti/cover.htm[18] Design Of A High-Performance Analog-To-Digital Converterhttp://www.csdmag.com/main/9810/9810feat2.htm[19] Evaluating Data Acquisition Specifications by Jonathan L. Tucker, Keithley Instrumentshttp://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 (nfirmani@gmail.com) 41

×