ADC a pipeline: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m +W +cat
fix incipit
 
(20 versioni intermedie di 12 utenti non mostrate)
Riga 1:
{{Controlcopy|motivo=testo abbastanza lungo senza alcuna fonte. Data la necessità di wikificare la voce è auspicabile quanto più possibile integrare e riformulare il testo a scopo precauzionale.|argomento=ingegneria|data=maggio 2024}}
{{W|elettronica|marzo 2011}}
 
IlUn Pipeline'''ADC a pipeline''' è un [[convertitore analogico-digitale]] (ADC) che offre ottime prestazioni dal punto di vista del [[throughput]] (èsebbene secondo soloinferiori al convertitore [[flash ADC]]) 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 tipiche vanno dagli 8 ai 24 bit.
Le risoluzioni vanno dagli 8 ai 24 bit.
 
Il Pipeline è largamente usato 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.
 
Nella tabella è riportato anche il caso più generale di un convertitore a m bit. In questo caso con p indichiamo il numero di stadi da cui è composto il pipeline e con n il numero di bit in uscita da ogni singolo stadio.
 
{|class="wikitable"
Line 19 ⟶ 20:
|}
 
== Principio di funzionamento ==
[[File:Pipeline generale1.jpg|thumb|upright=1.4|Schema a blocchi di un ADC a pipeline]]
 
Come si vede dalla prima immagine ilIl pipeline è composto da più stadi collegati in cascata.
[[Immagine:Pipeline generale1.jpg]]
Il circuito logico non modifica l'uscita dei singoli stadi, ma introduce solo un ritardo, in quanto prima di rendere il campione disponibile in uscita, devobisogna aspettare che sia passato attraverso tutti gli stadi. Quindi l'uscita finale ad m bit altro non è che la sequenza delle uscite dei singoli stadi. Quindi alla fine hosi ottiene un numero di bit pari al numero di bit in uscita da ogni stadio moltiplicati per il numero p di stadi(nello schema sopra abbiamo 4 stadi).
 
=== Analisi di un singolo stadio ===
Come si vede dalla prima immagine il pipeline è composto da più stadi collegati in cascata.
[[File:Pipeline stadio.jpg|thumb|upright=1.4|Primo stadio di un ADC a pipeline]]
Il circuito logico non modifica l'uscita dei singoli stadi, ma introduce solo un ritardo, in quanto prima di rendere il campione disponibile in uscita, devo aspettare che sia passato attraverso tutti gli stadi. Quindi l'uscita finale ad m bit altro non è che la sequenza delle uscite dei singoli stadi. Quindi alla fine ho un numero di bit pari al numero di bit in uscita da ogni stadio moltiplicati per il numero p di stadi(nello schema sopra abbiamo 4 stadi).
 
===Analisi di un singolo stadio===
 
[[Immagine:Pipeline stadio.jpg]]
 
Analizziamo ora il primo stadio. È 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 sulin corrispondenza del fronte di salita(o di discesa) del segnale di clock e lo mantiene costante fino al fronte di salita successivo.
 
Il campione cosìva ottenutoin viene mandato all'ingresso dia un convertitore flash a n bit che ne fa la conversione analogica digitale. Il campione digitale così ottenuto costituisce l'uscita dello stadio.
 
L'Il campione digitale in uscita deldal flash, oltre che costituireessere l'uscita dello stadio, viene mandata incostituisce l'ingresso adi un [[convertitore digitale-analogico]], che mi dàfornisce in uscita nuovamente un segnale costantecampione analogico, che però differisce da quello originale, in quanto è affetto dall'[[Quantizzazione (elettronica)|errore di quantizzazione]] introdotto dal flash.
 
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.
LInfine l'errore di quantizzazione cosìva ottenuto vienein mandato all'ingresso dia un amplificatore di guadagno ''2''<sup>n</sup>, in modo da poter sfruttare al massimo l'intervallo di conversione del flash e l'uscita dell'amplificatore va incostituisce l'ingresso aldel 2ºstadio. Gli stadi successivi al primo quindi non fanno altro che convertire l'errore di quantizzazione.
 
Analizziamo==== meglioEsempio ildi funzionamento tramite un esempio numerico.====
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 ''V''<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 ε<sub>Q</sub>=4,3-4=0,3V
Line 52 ⟶ 51:
Questa tensione viene convertita dal secondo flash ottenendo il codice binario 010 corrispondente a 2.
 
Se andiamo a leggere le uscite dei 2 stadi in sequenza otteniamo il codice 100 &nbsp;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.
Di contro l'aumento del numero di stadi fa aumentare anche proporzianalmenteproporzionalmente il costo del Pipeline oltre che il [[throughput]].
 
L'esempio rende chiaro che dal primo stadio si ottengono gli [[bit più significativo|MSB]] e via via i bit meno significativi dagli altri stadi. Quindi il primo stadio è il punto più critico del sistema in quanto è quello dove commetto l'errore più significativo, e che quindi devo progettare con maggior cura. Proprio per questo motivo spesso il primo stadio ha un flash con più bit rispetto agli stadi successivi, sia per ridurre l'errore di quantizzazione, sia per rendere meno significativi eventuali errori nella conversione.
 
==Tempo di latenza e Tempo di conversione==
 
== Tempo di latenza e Tempo di conversione ==
Si definisce [[latenza|tempo di latenza]] il tempo necessario 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é il primo campione sia passato attraverso tutti gli stadi, quindi sarà uguale al tempo di clock moltiplicato il numero di stadi.
 
È da notare che il '''tempo di conversione''' differisce dal tempo di latenza, in quanto già dal secondo campione devoè aspettarenecessario attendere un solo intervallo di clock per avere il dato disponibile sull'uscita.
 
La tabella sottostante chiarisce quanto appena detto. Sulla prima colonna sono indicati gli istanti di clock e sulla prima riga gli stadi del pipeline. D1 rappresenta il primo campione, che durante il primo periodo di clock si troverà nel primo stadio. Al secondo istante di clock il primo stadio avrà terminato di elaborare D1 che passerà al secondo stadio; quindi il primo stadio inizierà ad elaborare il secondo campione D2. La procedura continuerà iterativamente, finché D1 non arriverà al quarto e ultimo stadio. A questo punto dopo 4 istanti di clock D1 sarà disponibile in uscita al pipeline. Si nota che non è necessario aspettare altri 4 istanti di clock perché anche il secondo campione D2 sia disponibile in uscita. Infatti D2 sarà presente in uscita all'istante di clock. Questo esempio chiarisce come il tempo di conversione sia pari a un periodo di clock, in quanto ad ogni istante di clock ho un nuovo campione disponibile in uscita. Il tempo di latenza invece sarà di 4 istanti di clock, in quanto è il tempo necessario affinché il primo campione sia presente in 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"
Line 80 ⟶ 78:
|-
|4Tck||D4||D3||D2||D1
|-
|5Tck
|D5
|D4
|D3
|D2
|}
 
Da questa tabella si capisce anche la necessità del circuito logico, che deve introdurre dei ritardi alle uscite dei singoli stadi 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.
 
== Altri progetti ==
{{interprogetto}}
 
{{Portale|Elettronica}}
 
[[Categoria:Convertitori elettronici]]