ADC a pipeline: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
Ho cercato di riscrivere alcune parti perchè si leggessero in maniera più fluida. La parte dul tempo di latenza è stata ampiamente modificata per rendere più chiara la tabella |
||
Riga 25:
Il pipeline è composto da più stadi collegati in cascata.
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
Riga 38:
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
Il campione
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.
==== Esempio di funzionamento ====
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.
Riga 72 ⟶ 73:
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
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.
{|class="wikitable"
Riga 86 ⟶ 87:
|-
|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.
|