ADC a pipeline: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nuova pagina: Il Pipeline è un convertitore analogico-digitale che offre ottime prestazioni dal punto di vista del throughput(è secondo solo al convertitore flash) e che c...
 
Wikipedia:Bot/Richieste/Errori comuni, refusi, ecc., replaced: perchè → perché (2), finchè → finché (2), typos fixed: 2° → 2º (6) using AWB
Riga 1:
Il Pipeline è un [[convertitore analogico-digitale]] che offre ottime prestazioni dal punto di vista del [[throughput]](è secondo solo al convertitore [[flash]]) e che copre un ampio range di risoluzioni. Per quanto riguarda il '''throughput''' ad oggi andiamo da velocità di conversione di 200 [[Sample per second|MSPS]] per le risoluzioni più basse a 1 MSPS per le risoluzioni più alte.
Le risoluzioni vanno dagli 8 ai 24 bit.
Il Pipeline è largamente usato perchèperché accompagna, accanto ad elevate velocità di conversione, anche costi di costruzione e ingombro molto inferiori ai flash di uguale risoluzione.
Questa considerazione è verificabile nella tabella sottostante che mette a confronto un flash a 9 bit con un pipeline di eguale risoluzione.
 
Riga 15:
|9 bit||512||511||24||21
|-
|m bit||<i>''2</i>''<sup>m</sup>||<i>''2</i>''<sup>m</sup>-1||p*<i>''2</i>''<sup>n</sup>||p*(<i>''2</i>''<sup>n</sup>-1)
|}
 
==Principio di funzionamento==
 
[[Immagine:Pipeline_generale1Pipeline generale1.jpg]]
 
Come si vede dalla prima immagine il pipeline è composto da più stadi collegati in cascata.
Riga 27:
===Analisi di un singolo stadio===
 
[[Immagine:Pipeline_stadioPipeline stadio.jpg]]
 
Analizziamo ora il primo stadio. E'È da notare che tutti gli stadi sono uno identico all'altro, quindi è sufficiente spiegare il funzionamento del primo per capire come funziona tutta la struttura.
 
Innanzitutto il segnale analogico d'ingresso viene campionato da un campionatore [[Sample and hold|Sample&Hold]], che ne preleva l'ampiezza sul fronte di salita(o di discesa) del segnale di clock e lo mantiene costante fino al fronte di salita successivo.
Riga 38:
 
Il campione così ottenuto va in ingresso a un sommatore che ne fa la differenza col campione analogico originale, ottenendo come risultato appunto l'errore di quantizzazione.
L'errore di quantizzazione così ottenuto viene mandato all'ingresso di un amplificatore <i>''2</i>''<sup>n</sup>, in modo da poter sfruttare al massimo l'intervallo di conversione del flash e l'uscita dell'amplificatore va in ingresso al 2°ºstadio. Gli stadi successivi al primo quindi non fanno altro che convertire l'errore di quantizzazione.
 
Analizziamo meglio il funzionamento tramite un esempio numerico.
Poniamo di avere un pipeline a 2 stadi e che in ogni stadio ci sia un flash con risoluzione di 3 bit in grado di convertire tensioni in un range da 0 a 8 volt.
Definiamo <i>''V</i>''<sub>ref</sub> come la massima tensione convertibile dal flash. La risoluzione del flash in termini di ampiezza sarà: <math>R</math>=<math>\frac{Vref}{2^n}</math>=<math>\frac{8}{2^3}</math>=<math>1V</math>
 
A questo punto supponiamo di avere in ingresso al flash un campione di 4,3 V. Il sistema tradurrà questo campione con il codice binario 100, ossia con un 4. A questo punto all'uscita del sommatore avrò appunto la differenza tra la tensione originale e quella convertita ossia l'errore di quantizzazione &epsilon;ε<sub>Q</sub>=4,3-4=0,3V
 
Si nota subito che l'errore di quantizzazione per sua definizione è inferiore alla risoluzione del convertitore, infatti si genera proprio per questo motivo.
Quindi per essere convertito dal 2°ºflash(che è identico al primo) deve necessariamente essere amplificato. In uscita dall'amplificatore otteniamo una tensione 0,3*2<sup>3</sup>=2,4V
 
Questa tensione viene convertita dal secondo flash ottenendo il codice binario 010 corrispondente a 2.
Riga 53:
Se andiamo a leggere le uscite dei 2 stadi in sequenza otteniamo il codice 100 010, ossia <math>\frac {2^5+2^1}{2^3}</math>=<math>\frac{34}{8}</math>=4,25V
 
Notiamo che con l'aggiunta del secondo stadio l'errore di quantizzazione si riduce, passando da 0,3 V a 0,05V .
 
Continuando ad aggiungere stadi si va a diminuire l'errore di quantizzazione, ottenendo così approssimazioni sempre migliori del segnale originale.
Riga 62:
==Tempo di latenza e Tempo di conversione==
 
Si definisce [[latenza|tempo di latenza]] il tempo necessario affinchèaffinché il primo campione convertito sia disponibile in uscita al convertitore.
Nel caso del pipeline il tempo di latenza sarà uguale al tempo necessario affinchèaffinché il primo campione sia passato attraverso tutti gli stadi, quindi sarà uguale al tempo di clock moltiplicato il numero di stadi.
 
E'È da notare che il '''tempo di conversione''' differisce dal tempo di latenza, in quanto già dal secondo campione devo aspettare un solo intervallo di clock per avere il dato disponibile sull'uscita.
 
Questo fatto si capisce bene leggendo la tabella sottostante; si nota infatti che mentre il primo campione passa da uno stadio all'altro, lo stesso viene fatto dal secondo campione che non deve aspettare che il primo campione siastato elaborato da tutti gli stadi per partire, ma bensì già al secondo istante di clock passa attraverso il primo stadio senza disturbare il primo campione che si trova già al secondo stadio.
 
{|class="wikitable"
|||1°º stadio||2°º stadio||3°º stadio||4°º stadio
|-
|Tck||D1||X||X||X
Riga 80:
|4Tck||D4||D3||D2||D1
|}
Da questa tabella si capisce anche la necessità del circuito logico, che deve introdurre dei ritardi alle uscite dei singoli stadi perchèperché appunto il campione convertito non è tutto disponibile subito in uscita, ma deve passare attraverso tutti gli stadi e per fare questo impiega diversi istanti di clock.