La realizzazione in parallelo dei componenti del sistema SPADA ha comportato la necessità di effettuare il testing delle singole unità in maniera indipendente dallo sviluppo delle altre. Questo ha significato, per quanto concerne il collaudo della scheda di Data-Processing (DPE), progettare e mettere a punto un sistema in grado di emulare i segnali provenienti dalla Detection Board (DBE), ovvero gli impulsi provenienti dai 60 sensori SPAD opportunamente catturati e
‘sagomati’ dai relativi circuiti di spegnimento.
Si procede quindi ad una descrizione accurata dei sensori in questione e della circuiteria ausiliaria di cui abbisognano per un loro corretto funzionamento.
Vengono poi fissate le specifiche del sistema da realizzare, dettate e dalla tipologia dei segnali da simulare e dal complesso degli esperimenti alla realizzazione dei quali è preposta la DPE ovvero :
¾ Fast Transient Imaging (FTI): per l’acquisizione di immagini ad alta velocità.
¾ Adaptive optics (AO): per la compensazione, durante l’acquisizione delle immagini, delle distorsioni introdotte dell’atmosfera;
¾ Layer Sensing (LS): per l’analisi degli strati costituenti l’atmosfera.
Infine vengono valutate alcune possibili implementazioni del sistema, e
motivate le scelte effettuate per quel che riguarda l’architettura del sistema, sulla
base delle risorse disponibili e delle effettive esigenze di progetto.
2.1 Il sensore SPAD
Nella misura di segnali luminosi deboli e di breve durata, il limite ultimo di risoluzione è il fotone. L’esigenza di rilevare i singoli fotoni nasce dal fatto che in queste particolari condizioni si è in presenza di livelli energetici talmente bassi che risulta indispensabile l’impiego di dispositivi molto sensibili. Già nel 1960 alcuni studi condotti soprattutto da R.H.Haitz, avevano dimostrato la possibilità, da parte dei diodi APD.(Avalanche Photo Diode), di rivelare minime quantità di luce; ma solo dopo gli anni ‘80 i miglioramenti conseguiti nella tecnologia di produzione dei dispositivi a semiconduttore, hanno portato alla realizzazione degli SPAD, rivelatori di singoli fotoni, rendendoli concorrenti ai tubi fotomoltiplicatori, nonché ai rivelatori a CCD.
2.1.1 Cenni sui rivelatori di singolo fotone
La rivelazione di fonti luminose è stata tradizionalmente affidata, ed in alcuni casi lo è ancora, ai tubi fotomoltiplicatori (Photomultiplier tubes, PMTs) prima, e ai CCD (Charge Coupled Device) in seguito.
I primi sono fotorivelatori di antica concezione, ormai quasi del tutto soppiantati nelle
applicazioni astronomiche da rivelatori di nuova generazione, ed il loro utilizzo si limita quasi
esclusivamente ad esperimenti di laboratorio, anche se, essendo dispositivi molto sensibili,
sono in grado di segnalare quantità anche minime di luce. Sono costituiti, essenzialmente, da
un tubo in cui è fatto il vuoto, all’interno del quale è contenuto un fotocatodo, uno svariato
numero di dinodi (stadi di guadagno) ed un anodo che rivela il segnale in uscita, fig. 2.1; la
tensione applicata crea un campo elettrico che accelera gli elettroni dal catodo all’anodo,
passando attraverso i dinodi, elettrodi ricoperti da materiale ad alto potere di emissione
secondaria di elettroni, che consentono di ottenere il processo di moltiplicazione necessario
per avere un’amplificazione interna. Tipicamente il numero di dinodi presenti all’interno del
PMT è pari a 9-12, e la tensione applicata ha un valore compreso tra 100 e 180 V per ogni
coppia di dinodi, di conseguenza la polarizzazione totale del PMT risulta superiore al migliaio
di Volt.
Fig. 2.1 : a ) PMT tradizionale.
b)Microchannel PMT : evoluzione più veloce del PMT tradizionale.
Per quanto riguarda il rumore presente in questi dispositivi, esso è dovuto principalmente alle fluttuazioni dell’emissione di elettroni da parte dei dinodi [3, 4].
I dispositivi ad accoppiamento di carica, o brevemente CCD, sono rivelatori il cui funzionamento è basato sull’effetto fotoelettrico. Sono, in genere, strutturati in matrici (solitamente di forma quadrata), di pixel, ciascuno dei quali è costituito dall’elemento base di un CCD, ovvero un transistore MOS. Applicando al gate una tensione positiva rispetto al substrato di tipo p si crea sotto il sottile strato di ossido una buca di potenziale destinata ad ospitare l’eventuale carica, generata per effetto fotoelettrico, qualora il sensore sia esposto a radiazione luminosa. Questa incidendo sul MOS, genera nel semiconduttore, delle coppie elettrone-lacuna: le lacune vengono spinte via dal campo elettrico, gli elettroni fluiscono nella buca di potenziale e vi rimangono confinati per il tempo necessario affinché sia letto il loro contenuto informativo; infatti la carica sviluppata sotto il gate è proporzionale all’intensità del segnale luminoso. Infine tali cariche vengono spostate fino a portarle ad un registro ‘di lettura’, pilotando i gate dei MOS con dei segnali di sincronismo opportunamente sfasati tra loro;
fig.2.2. Una successiva fase di estrazione della carica, ad opera di un opportuno circuito d’uscita, provvederà a prelevare le informazioni dal CCD.
Le principali fonti di rumore per questo tipo di dispositivi sono dovute alla disuniformità
del flusso di fotoni incidente su una determinata superficie (rumore fotonico), all’agitazione
termica degli elettroni all’interno del CCD e, in misura maggiore, alla presenza di componenti
elettronici necessari per il loro funzionamento (Read Out Noise), [5, 6, 7].
Fig. 2.2 : Struttura di un CCD a 4 fasi.
Le prestazioni sufficientemente alte di questi dispositivi, li rendono ancora largamente utilizzati in applicazioni astronomiche, fig. 2.3.
Fig. 2.3 : Subaru CCD Mosaic, per applicazioni astronomiche.
Tra i sensori di ultima generazione troviamo invece gli SPAD, i rivelatori al diamante
sintetico e gli IAPS (Intensified Active Pixel Sensor), [8].
elettromagnetici; inoltre, trattandosi di dispositivi a stato solido, se ne possono ridurre le dimensioni (scaling). I loro pregi nonché le ottime prestazioni, come vedremo, li rendono indispensabili nelle applicazioni più svariate: dall’astronomia, alla medicina, alla comunicazione sicura nello spazio libero (crittografia quantistica).
Il sensore SPAD è essenzialmente un fotodiodo a valanga (Avalanche Photon Diode:
APD) ottimizzato per funzionare in Geiger mode; si tratta in pratica di una giunzione p-n polarizzata inversamente oltre la propria tensione di breakdown, ma mentre gli APD operano in modalità lineare ad una tensione appena superiore, in modulo
1, a quella di breakdown, gli SPAD operano a tensioni ancora superiori (tipicamente 5-10 Volt più alte della tensione di breakdown)[2], con un conseguente aumento di guadagno; nelle fig. 2.4 e 2.5 sono riportati la struttura e la caratteristica tensione-corrente per questi dispositivi.
Fig. 2.4 : Struttura tipica di un sensore SPAD.
La giunzione rimane in uno stato quiescente, polarizzata sopra la soglia del breakdown (stato A in fig. 2.5), finché un fotone, incidendo sulla propria superficie, viene assorbito nella regione di svuotamento [21]. Questo evento determina un aumento della corrente inversa e,
1 Nel seguito ci si riferirà sempre a tensioni in modulo.
conseguentemente, l’innesco della valanga che si manifesta con una corrente macroscopica in uscita (A→B). Poiché quest’ultima si autosostiene, è necessario riportare la tensione ad un valore inferiore a quello di breakdown (B→C); successivamente, dopo un tempo detto di hold- off le condizioni iniziali di polarizzazione vengono ripristinate ed il diodo è pronto per rivelare un altro fotone (C → A). Il pilotaggio corretto del diodo avviene per mezzo di un opportuno circuito di spegnimento.
Fig. 2.5 : Caratteristica tensione-corrente di uno SPAD
Qualora due o più fotoni vengano assorbiti contemporaneamente, però, l’impulso di valanga che si osserva è unico ed ha la stessa forma e ampiezza di quello generato da un singolo fotone assorbito; questo costituisce un limite degli SPAD rispetto ai comuni PMT:
non consentono, infatti, di ottenere una informazione di tipo proporzionale al numero di fotoni assorbiti ad ogni istante, [9, 10, 11].
Come accade nei PMT, anche negli SPAD elettroni generati termicamente possono dare
origine ad impulsi anche in assenza di illuminazione e le fluttuazioni Poissoniane di questi
conteggi di buio (dark counts) rappresentano la principale fonte di rumore di questi dispositivi,
nonché il loro limite di rivelazione nella misura di flussi luminosi molto deboli. Si distinguono
due tipi di dark-counts : primari e secondari. I primi sono dovuti a portatori generati
termicamente nella giunzione, e di conseguenza il loro numero aumenta con la temperatura
(da cui la necessità di prevedere degli appositi stadi di raffreddamento: es. refrigeratori di
Peltier).
Fig. 2.6 : Dark-counts in funzione dell’area attiva degli SPAD. Ogni punto identifica la misura effettuata su dieci dispositivi situati in posizioni differenti di uno stesso wafer . Si osserva una rimarchevole uniformità nei dispositivi di terza generazione.
I dark-counts secondari sono invece dovuti a fenomeni di afterpulsing. Durante la valanga, infatti, alcuni portatori possono essere catturati da livelli intrappolanti nella regione di svuotamento e successivamente rilasciati dopo un tempo che dipende dall’energia dei livelli coinvolti. Se esso è superiore al tempo di hold-off, i portatori, una volta rilasciati, possono a loro volta innescare una ulteriore valanga generando afterpulsing. Si deduce che questo fenomeno risulta più rilevante tanto maggiore è il tempo necessario a spegnere la valanga, da cui l’importanza notevole che rivestono i circuiti di spegnimento per questo tipo di dispositivi, e tanto maggiore è la concentrazione di trappole all’interno del dispositivo, da cui la necessità di ridurla il più possibile tramite opportuni accorgimenti tecnologici.
Fig. 2.7.: Probabilità di afterpulsing in funzione della sovratensione applicata in dispositivi aventi diametro di 20 µm e 50 µm.
E’ inoltre dimostrato sperimentalmente [15] che il numero di dark-counts aumenta con l’aumentare dell’area attiva del dispositivo, come osservabile in fig. 2.6, e linearmente, anche con la sovratensione applicata; quest’ultimo fenomeno è evidenziato in fig. 2.7.
Altro parametro di merito dei sensori SPAD è l’efficienza quantica (QE), definita come il rapporto tra il numero di portatori fotogenerati (coppie elettrone-lacuna) che raggiungono i contatti esterni, e il numero di fotoni incidenti (entrambi valutati nell’unità di tempo). Si osserva sperimentalmente [15] che essa dipende e dal coefficiente di assorbimento del materiale, e dallo spessore della regione di assorbimento.
Fig. 2.8 : Efficienza quantica a tensioni di polarizzazione superiori del 10% rispetto a quella di breakdown.
Inoltre, sempre da risultati sperimentali [15], si è evidenziata la dipendenza della QE dalla
tensione applicata e in misura meno apprezzabile dalle dimensioni del dispositivo. In
particolare quest’ultima osservazione risulta inaspettata se si pensa che il parametro QE è
normalizzato rispetto all’area: una possibile giustificazione a quanto osservato è che vi è una
piccola regione, attorno al pixel, dotata di una minore sensibilità, il che può essere attribuito a
processi di fabbricazione non perfetti; questo effetto diventa però impercettibile nei dispositivi
con maggiore area attiva; fig. 2.8.
Fig. 2.9 : Curve di efficienza quantica di diversi fotorivelatori a confronto
Per quanto concerne invece l’aumento dell’efficienza quantica con la tensione applicata, la motivazione risiede nel fatto che la probabilità che la coppia primaria generi una valanga è incrementata da campi elettrici più elevati, di conseguenza da tensioni, in modulo, maggiori.
In fig. 2.9 è invece riportato l’andamento dell’efficienza quantica di alcuni sensori SPAD a confronto con quello di altri rivelatori; il comportamento è molto soddisfacente soprattutto nelle zone caratterizzate da una lunghezza d’onda compresa tra 600 nm e 1 µm.
Infine, le prestazioni degli SPAD nelle applicazioni di photon-timing sono caratterizzate attraverso la loro curva di risoluzione temporale, che è la distribuzione statistica del ritardo che intercorre tra il reale arrivo del fotone ed il tempo misurato, evidenziato dall’impulso di corrente rilevato.
Questa curva è brevemente chiamata risposta dello SPAD, e viene ottenuta utilizzando un opportuno apparato di TCSPC (Time Correlated Single Photon Counting). Il parametro che si usa in questo caso è il Full-Width at Half-Maximum (FWHM), e valori accettabili di quest’ultimo sono di qualche decina di picosecondi.
Un esempio di curva di risposta di uno SPAD è riportato in fig. 2.10, in cui si evidenzia un
picco dovuto ai fotoni assorbiti nella regione di svuotamento, ed una coda dovuta ai minoritari
fotogenerati nella regione neutra di tipo p che raggiungono la giunzione per diffusione.
Fig. 2.10 : Curva di risposta di uno SPAD avente diametro di 10µm.
La lunghezza della coda dipende fortemente dalla lunghezza d’onda della radiazione incidente, dato che quest’ultima influisce sul coefficiente di assorbimento della regione di svuotamento, [12, 13, 14, 15].
Per quanto riguarda invece l’integrazione di più sensori su di uno stesso chip (array di SPAD: fig. 2.11) il problema cui si va incontro è l’insorgere di un fenomeno di interferenza, noto con il nome di cross-talk; qualora infatti un solo sensore di un array sia illuminato, il numero di dark-counts rilevabile nei dispositivi adiacenti risulta incrementato rispetto al valore previsto.
Fig. 2.11 : Struttura di uno SPAD (sinistra) e di un array di SPAD (destra).
Questo fenomeno trova giustificazione nel fatto che alcuni portatori, generati nella valanga
del sensore colpito dalla radiazione luminosa, possono sconfinare nelle giunzioni adiacenti
innescando a loro volta breakdown indesiderati; fig. 2.12.
Fig.2.12 : Il fenomeno del cross-talk.
Per ridurre la rilevanza di questo fenomeno si può agire sia distanziando maggiormente i dispositivi sul chip, laddove possibile, sia inserendo tra i sensori delle zone in polisilicio atte all’assorbimento dei portatori sfuggiti alla giunzione illuminata durante la valanga, [14, 16, 17].
2.1.3 I Quenching Circuits
Un corretto pilotaggio dei sensori SPAD prevede, come precedentemente accennato, l’utilizzo di circuiti dedicati cui è richiesto di:
¾ rilevare prontamente il trigger di corrente all’innesco della valanga;
¾ generare in uscita un impulso ben sincronizzato con l’incremento della corrente di valanga;
¾ spegnere quest’ultima riportando la tensione fino al valore di breakdown o ad un valore più basso;
¾ ripristinare la tensione di polarizzazione del fotodiodo, portandola al livello operativo.
Questi circuiti sono noti come quenching circuit, e le loro caratteristiche influenzano drammaticamente le prestazioni del sensore SPAD.
I primi circuiti utilizzati a questi scopi sono stati i passive-quenching circuits PQC (circuiti
passivi di spegnimento), fig. 2.13: in questi lo SPAD è polarizzato inversamente attraverso una
elevata resistenza di zavorra (ballast resistor), RL; i principali limiti di questo tipo di circuiti
sono: il lungo tempo di hold-off, definito come il tempo oltre il quale è possibile ripristinare la
tensione ai capi del diodo oltre quella di breakdown, e quindi un basso valore della massima
velocità di conteggio (minore di 100 Kc/s).
Fig. 2.13 : Passive-quenching circuit..
L’evoluzione di questi circuiti è rappresentata dagli active-quenching circuit (AQC: circuiti attivi di spegnimento:fig. 2.14). Sono, questi, circuiti che, al rilevamento dell’impulso di valanga, mediante una retroazione sullo SPAD, forzano tramite una sorgente di tensione controllata, lo spegnimento della valanga ed il ripristino delle condizioni iniziali in tempi molto brevi. Un parametro importante nella stima della bontà di un QC (quenching circuit) è il dead-time dato dalla somma dell’ampiezza dell’impulso in uscita e del tempo di hold-off; infatti questo è il tempo necessario affinché, dopo un evento di generazione a valanga, sia possibile rivelare un altro fotone.
Fig. 2.14 : Active Quenching Circuit.
D’altra parte, fissata la durata dell’impulso d’uscita, il parametro critico risulterà essere
proprio il tempo di hold-off; per esso si desidera:
I risultati ottenuti con gli AQC sono molto soddisfacenti: breve dead-time e counting-rate superiore ad 1 Mcount/s; in fig. 2.15 è riportato l’andamento tipico di un impulso d’uscita.
Fig.2.15 : Impulso d’uscita di un AQC.
Negli ultimi anni, infine, è stato possibile realizzare dei circuiti di spegnimento completamente integrati (iAQC): in particolare è stato adottato un approccio misto di spegnimento passivo-attivo, come visibile in fig. 2.16.
Fig. 2.16 : Schema a blocchi di un iAQC.
Una elevata resistenza di zavorra (ballast resistor ) R
Bconnette il nodo IN alla tensione V
HIGH, mantenendo così lo SPAD pronto a rivelare un fotone; quando triggerato, la corrente di valanga prontamente scarica la capacità del nodo IN, dando inizio all’azione di spegnimento passivo. Il sensing stage subito rileva la caduta di tensione ai capi di R
Bed inizia l’azione di active-quench in cui si fa commutare S
quenchcreando per il nodo IN una via verso massa.
Fig. 2.17 : Tipica forma d’onda della tensione al catodo del rivelatore ( il nodo IN dell’iAQC); il tempo di hold-off è settato a 40 ns (scala delle tensioni: 5 V/div; scala dei tempi: 20 ns/div).
La logica di controllo a questo punto fornisce l’impulso d’uscita. Quest’ultimo oltre a costituire l’output del circuito, entra in un blocco di ritardo (hold.off delay block ), mediante il quale viene settato il tempo durante il quale lo SPAD deve rimanere spento (questo tempo è impostabile attraverso il piedino di controllo WIDTH); l’impulso arriva quindi al reset del monostabile che fa commutare nelle posizioni di off S
quenche S
feedback, e di on S
reset.
Fig. 2.18 : Stadio d’ingresso di un iAQC.
soprattutto di riduzione dell’afterpulsing e del cross-talk negli array di SPAD fanno di questi dispositivi degli ottimi strumenti nella realizzazione di applicazioni ad alta velocità, [18, 19, 20].
2.2 Il sistema di emulazione
Dopo aver introdotto i sensori SPAD ed i relativi circuiti di spegnimento evidenziandone le caratteristiche principali, le prestazioni ed i limiti, ci si accinge ora a fissare i parametri di riferimento, definiti nei precedenti paragrafi, in base alle specifiche dettate dal progetto SPADA. In particolare si precisano le caratteristiche degli impulsi generati dalla DEB (Detection Electronic Board), destinati alla DPB(Data Processing Board), ed i parametri critici delle applicazioni alla cui realizzazione quest’ultima è preposta.
2.2.1 Detection Electronic Board
La scheda di controllo ed individuazione degli eventi (DEB) è costituita da 60 iAQC, uno per ciascun pixel dell’array di sensori SPAD, e genera in uscita 60 canali attraverso due connettori SCSI a 68 pin con drivers d’uscita differenziali RS422; fig. 2.19.
Tutti gli iAQC sono montati come ‘chip-on-board-device ‘ , al fine di ottimizzare lo spazio e
migliorare l’affidabilità e la possibilità di manutenzione. Le dimensioni previste di ogni iAQC
sono di circa 2 mm x 1 mm; le tensioni di alimentazione positive sono quelle standard: +5 V e
+12 V, mentre l’anodo comune dello SPADA (SPAD Array) ad elevata tensione di
alimentazione varia tra –5V e –24V ed è programmabile dall’utente.
Power-supply for electronics
and SPADs
iAQC
diff.outiAQC
diff.outiAQC
diff.outiAQC
diff.outSCSI connector 68 pinSCSI connector 68 pin
1 2 3
60
Peltier Controller
Peltier e TermoR
µC
gate
interlock
RS232
Mains 230V ac Fiber
Optics Gate
In
driver diff.
Detection electronic board
gate
Vhigh
T.meas T.set
Common anode supply
fr om t h e S P A D A s e ns or to D ata -P ro ce si n g El ec tr o n ic s
to MACAO equipment
Inter diff. lock
gate
interlock
hold-off duration
overvoltage setting
to Data-Processing board
Fig. 2.19 : Schema a blocchi della Detection Electronic Board.
La durata tipica dell’impulso in uscita è di 10 ns mentre il tempo di hold-off è impostabile
dall’esterno: può variare tra 10 ns e 500 ns[27]. E’ previsto inoltre un segnale d’ingresso, Gate,
mediante il quale si può abilitare/disabilitare l’intero SPADA. Per quanto concerne le
prestazioni di quest’ultimo, sono garantiti un tasso massimo di conteggi di buio inferiore a 10
KHz a temperatura ambiente e un’efficienza quantica superiore al 40% alla lunghezza d’onda
di 600 nm[27]. La DEB è montata nelle immediate vicinanze dell’array di sensori, come
illustrato in fig. 2.20; la sezione di alimentazione è invece separata.
Fig.2.20 : Detection Electronic Board: è visibile, al centro, l’array circolare di sensori.
2.2.2 L’applicazione critica: Fast Transient Imaging
Nell’applicazione di Fast Transient Imaging (FTI) è necessario acquisire l’immagine rivelata dallo SPADA ad ogni finestra di integrazione temporale T
W, la cui durata è impostabile, tramite un’interfaccia utente, tra i valori 10 µs e 100 ms con una risoluzione di 14 bit[1].
L’immagine è costruita a partire dal numero di fotoni rivelati da ciascun pixel e contati dalla DPB nel periodo impostato T
W. Essendo 50 ns il minimo valore per il tempo di hold-off consentito dagli iAQC [1], la massima velocità di conteggio è di 20 Mcps. Quindi la DPB, configurata per l’applicazione di FTI (fig. 2.21), è dotata di 60 contatori, uno per ciascun canale, a 16 bit e con saturazione (ovvero ci si ferma quando il conteggio giunge al valore esadecimale FFFF); in questo modo l’operatore può decidere, laddove lo reputi necessario, di ridurre la finestra di integrazione per ottenere delle prestazioni migliori rispetto al time-tagging del flusso di fotoni entranti. L’utilizzo della connessione veloce Firewire verso il computer remoto è giustificato dalla elevata banda di uscita nel caso più critico della finestra di integrazione minima.
Per quanto concerne le applicazioni di Adaptive Optics e Layer Sensing, esse non risultano
critiche ai fini dello sviluppo del presente lavoro, di conseguenza si rimanda alla bibliografia per informazioni relative alla loro implementazione sulla DPB, [1, 2].
Power-supply 1st Counter Latch
Ck
Enable
Timing and control logic
Mains 230V ac
g
(FAST IMAGING)
SCSI connector 68 pinSCSI connector 68 pin
Ck
Shift Register
diff.
Gate In
diff.
Gate Out
diff.
Inter lock
from Data-Procesing Electronics
diff. USB
60th Counter Latch
Ck
Enable Ck
Shift Register
Enable Data Bus
Data shift clock
Fig. 2.21 : Data Processing Board configurata per FTI.
2.2.3 Specifiche di sistema e scelta delle risorse
In definitiva al sistema di emulazione dei segnali provenienti dalla Detection Board è
richiesto di generare 60 canali individualmente programmabili dall’esterno aventi le seguenti
caratteristiche:
ms
min 100
¾ frequenza massima: 20 MHz fissata dalle prestazioni degli iAQC;
¾ durata minima dell’impulso: 10 ns.
Quest’ultima specifica non risulta comunque critica ai fini del testing della DPB in quanto essa risulta sensibile ai fronti in salita dei segnali in ingresso, [1,2].
E’ inoltre richiesta la possibilità di generare frequenze governate da una pseudo-casualità:
questa esigenza è dettata dall’imprevedibilità dell’evento di illuminazione dei sensori; per contro un controllo sui segnali generati è necessario al fine di valutare le prestazioni della scheda di acquisizione ed elaborazione dati (DPB).
Per quanto concerne la scelta delle risorse da utilizzare, questa è stata pressoché immediata.
Infatti le esigenze avvertite nella realizzazione della DPB, hanno fatto propendere per la scelta, come scheda di sviluppo, della C6713Compact, assemblata e venduta dalla ditta tedesca Orsys.
Questa scheda
2è dotata di una grande quantità di logica programmabile, di una buona capacità di elaborazione aritmetica, nonché di una discreta quantità di memoria e della possibilità di gestire il protocollo di comunicazione IEEE1394 (Firewire).
La possibilità di un interfacciamento diretto tra la scheda di simulazione dei sensori SPAD (SPADA Emulator) e la DPB ha fatto prediligere la scelta della C6713Compact anche per lo sviluppo del sistema di testing; infatti una semplice connessione in pila delle due schede avrebbe consentito la possibilità, in fase di progetto, di testare in maniera immediata la DPB, senza l’ausilio di altre schede che invece sono state previste, come esposto nel seguito, nell’assemblaggio finale dei due sistemi (DPB ed Emulatore).
2 La descrizione della scheda è rimandata al capitolo 3
2.3 La sintesi digitale di frequenza
Il problema della sintesi digitale di segnali a frequenza variabile si riduce, nel presente caso, alla scelta di una tecnica che consenta un’implementazione del sistema su FPGA. Inoltre non essendo richiesta la sintesi di frequenze particolarmente elevate (si ricorda che la banda di interesse è 10Hz-20MHz), ci si sofferma ad analizzare tecniche di sintesi digitale diretta (Direct Digital Synthesizer: DDS).
2.3.1 Il DDS convenzionale
Le tecniche di sintesi diretta di frequenza operano in maniera diretta sul segnale prodotto da un oscillatore di riferimento producendo in uscita la frequenza desiderata. In particolare quest’ultima è variabile in funzione di una parola di controllo espressa su N bit.
I sintetizzatori che operano in modo diretto vantano tempi di commutazione tra le frequenze molto bassi, dell’ordine dei nanosecondi, e questo li rende preferibili, laddove siano richieste prestazioni più elevate in questi termini, a quelli realizzati con tecniche di sintesi indiretta; per contro, come già accennato, la frequenza massima sintetizzabile con questi approcci risulta notevolmente ridotta rispetto ai metodi tradizionali che sfruttano anelli ad aggancio di fase.
Fig. 2.22 : Schema a blocchi di un DDS convenzionale.
Un DDS convenzionale è costituito, come dimostra la fig. 2.22, da un accumulatore di fase
(Phase Acc.) un convertitore fase-ampiezza (tipicamente una ROM Look-up-Table: Sine
LUT), un convertitore analogico-digitale (DAC) cui segue, di solito, un filtro (LPF) atto a
prelevare la componente fondamentale dello spettro in uscita, eliminando le armoniche
ogni colpo di clock la parola di incremento della fase (∆P: Tuning Word o Frequency Control Word) è sommata al precedente contenuto del registro di fase che, di conseguenza, viene aggiornato. In definitiva si può affermare che questo modulo implementa un contatore ad N bit a passo variabile ∆P. Il numero di punti di fase è determinato dal numero di bit N del registro, e di conseguenza, fissa la risoluzione di frequenza al valore:
N
f
clkf = 2
∆
dove f
clkè la frequenza operativa del sistema, mentre la frequenza d’uscita è fissata dalla velocità degli overflow dell’accumulatore di fase, ovvero:
N clk
out P f
f = ∆ ∗ 2
L’operazione di conversione dell’informazione di fase, generata dall’accumulatore, in un valore sinusoidale è compiuta dalla ROM, che rappresenta un modulo critico in questo tipo di architettura; infatti le sue dimensioni crescono esponenzialmente con il numero N di bit dell’accumulatore di fase (ragion per cui per indirizzare la ROM si utilizzano un numero M di bit tali che M<N), causando un notevole aumento dell’area occupata e della potenza dissipata.
Naturalmente questa operazione di troncamento porta ad un errore di fase che causa la comparsa di spurie nel segnale sintetizzato.
Infine l’impiego di parti analogiche porta ulteriori svantaggi; in particolare l’uso di DAC molto veloci porta ad un notevole consumo di potenza (per questo motivo questi sistemi sono considerati hungry power ), mentre il filtro limita la massima frequenza sintetizzabile in uscita;
infatti se il teorema di Nyquist impone la seguente restrizione:
2
clk out
f ≤ f
condizioni relative alla pratica realizzabilità del filtro portano questo limite al valore: f
clk/3.
Gli svantaggi relativi all’impiego di componenti analogici ha portato allo studio ed alla
realizzazione di architetture DDS completamente digitali, quali il DDS ad interpolazione
digitale.
Al fine di realizzare un generatore di impulsi a frequenza variabile impostabile dall’esterno, il modulo su cui accentrare l’attenzione è comunque l’accumulatore di fase, fig. 2.24.
Fig. 2.24 : Struttura di un accumulatore di fase.
Il segnale in uscita da questo modulo è caratterizzato da una frequenza media uguale a quella della sinusoide prodotta dall’intero sistema. Per rendere ragione di ciò si riporta un esempio esplicativo: si consideri un accumulatore di fase con N=3 e ∆P=3, che produce in uscita la parola digitale ϑ di cui MSB è il bit più significativo, fig. 2.25, [23].
Fig. 2.25 : Forme d’onda generate dal circuito accumulatore.
N clk
MSB f
f = ∆ ∗ 2
L’architettura dell’accumulatore di fase è completamente implementabile su FPGA, come richiesto, e produce in uscita impulsi a frequenza media fissabile dall’esterno; per quanto concerne la frequenza massima ottenibile in uscita essa realizza le aspettative volute; essendo infatti la frequenza operativa del sistema di emulazione pari a 90MHz
3, ne segue che fissando ad 1 il limite inferiore di variabilità della tuning-word ∆P, al fine di ottenere i 10Hz richiesti come minimo valore della frequenza, si deve stabilire per N un valore pari a 24, ottenendo i risultati riassunti nella tabella 2.1.
Naturalmente, in conseguenza del fatto che i fronti in salita e discesa di MSB possono avvenire solo in corrispondenza di un fronte in salita del clock, la distanza tra due fronti può essere solo un multiplo temporale del periodo di clock T
clk. Per quanto riguarda la durata dell’impulso, invece, questa risulta variabile, ed il limite inferiore è fissato dal periodo di clock stesso. Per ovviare al problema della variabilità, sarebbe possibile inserire un monostabile a valle dell’acccumulatore; tale sistema tuttavia, nel suo complesso, non risolve il problema della generazione di impulsi pseudo-casuali, a meno di non innestare una pseudo-aleatorietà in qualche punto dello schema tradizionale.
f
Max20MHz ∆P
Max=3728271
f
min5,36Hz ∆P
min=1
Risoluzione 5,36Hz
Tab. 2.1
Di conseguenza si è pensato di ricorrere ad una valida alternativa: un contatore con
3 Cfr. capitolo 4.
caricamento sincrono opportunamente pilotato da un LFSR (Linear Feedback Shift Register)
4.
2.4 Il Linear Feedback Shift Register
Di seguito sono descritte la struttura e le caratteristiche dell’LFSR, che costituisce l’elemento chiave del sistema di emulazione proposto.
Gli LFSR sono sistemi che trovano un largo impiego in svariati ambiti: dalla crittografia alla comunicazione CDMA (Code Division Multiple Access), al collaudo di IC (BIST: Built In Self Test). Sono essenzialmente registri a scorrimento, dotati di un feedback interno, che producono in uscita delle sequenze che godono di interessanti proprietà matematiche. Di seguito si descrivono le possibili implementazioni degli LFSR, nonché le proprietà cui si è accennato.
2.4.1 Implementazioni possibili
Al fine di realizzare un LFSR si possono scegliere due stili architetturali differenti:
¾ l’implementazione di Fibonacci;
¾ l’implementazione di Galois;
Fig. 2.25: Implementazione di Fibonacci.
La prima, come evidenziato in fig. 2.25, consiste di un semplice shift register in cui una
4 L’architettura del sistema è presentata nel capitolo 4.
modificato ad ogni passo da un valore, sempre pesato, dello stadio d’uscita, fig. 2.26.
Fig. 2.26 : Implementazione di Galois.
L’implementazione in hardware della somma modulo due è realizzata mediante un Or esclusivo (XOR) in entrambe le architetture.
Un confronto attento tra le due implementazioni rivela che l’ordine dei ‘pesi’ di Galois è opposto a quello dei ‘pesi’ di Fibonacci, e che identici pesi applicati alle due implementazioni forniscono in uscita la stessa sequenza, pur con fasi differenti.
Un modo sintetico per indicare l’insieme dei tap per cui è prevista la connessione in feedback è il seguente:
¾ [f
1, f
2, …f
j]
g: nel caso dell’implementazione di Galois;
¾ [f
1, m-f
2, …m-f
j]
f: nel caso dell’implementazione di Fibonacci (si sottolinea che sottrarre il numero di ciascun tap ad m equivale a ribaltare l’ordine dei tap nella corrispondente sequenza di Galois).
dove m è il numero degli stadi dell’LFSR. Questi set di feedback tap sono comunemente
riferiti come feedback tap set.
2.4.2 Le sequenze di massima lunghezza
Gli LFSR producono quelle che sono comunemente chiamate sequenze ricorsive lineari (LRS), in quanto tutte le operazioni sono lineari. Generalmente la lunghezza della sequenza prima che essa si ripeta dipende:
¾ dal feedback tap set;
¾ dallo stato iniziale (seme della sequenza);
D’altra parte un LFSR di dimensione qualsiasi m (numero degli stadi del registro a scorrimento) è capace di produrre ogni possibile stato durante il periodo ( 2
m– 1 ), ma se e solo se il feedback tap set scelto è quello compatibile con questo risultato. In definitiva esistono dei feedback tap set che consentono di ottenere, a partire quindi da qualsiasi seme, le sequenze di lunghezza massima (maximal lenght sequence ). In alcuni ambiti ci si riferisce a queste sequenze con il termine pseudo-random noise (PN) data l’ottima somiglianza delle loro caratteristiche a quelle del rumore.
I generatori di massima lunghezza possono produrre due tipi di sequenze: una è quella banale, di lunghezza uno, che si presenta quando lo stato iniziale del generatore è caratterizzato dall’avere tutti i bit a ‘0’ (stato di blocco: lock); l’altra, ovvero la sequenza utile, che ha lunghezza 2
m– 1 .
I generatori di sequenze non di massima lunghezza possono invece produrre due o più sequenze uniche (più quella banale), determinate dallo stato iniziale (seme) oltre che dal feedback set tap. Le proprietà di queste sequenze sono generalmente inferiori rispetto a quelle caratteristiche delle maximal lenght sequence; di conseguenza nei sistemi reali è favorito l’uso di generatori di massima lunghezza.
2.4.3 Trattazione matematica
La teoria matematica dei campi finiti, dovuta a Galois, è utilizzata per determinare il feedback tap set che produce una sequenza di massima lunghezza.
Ciascun LFSR ad m stadi, infatti, può essere rappresentato come un polinomio di grado m
i
seconda che la connessione nel feedback sia presente o meno.
Il generatore polinomiale è detto primitivo qualora non sia fattorizzabile e sia, a sua volta, un fattore del polinomio ( X
N+ 1 ), dove N = 2
m– 1. E’ dimostrabile che un LFSR rappresentato da un polinomio primitivo produce una sequenza di massima lunghezza.
Dai coefficienti del polinomio si ricava il feedback tap set; si consideri, ad esempio, il seguente polinomio primitivo:
G ( X ) = X
3+ X
1+ 1
il corrispondente set risulta essere [ 3 , 1 ]
g, e l’implementazione secondo Galois di questo generatore è evidenziata in fig. 2.27.
Fig. 2.27 : Generatore polinomiale a tre stadi.
E’ interessante notare come, dato un LFSR di dimensione qualsiasi, ci sarà sempre un numero pari di feedback tap set che producono una sequenza di massima lunghezza
5; ciò trova giustificazione nel fatto che, dato un qualsiasi m-sequence feedback set:
[f
1, f
2, …f
j]
gesiste un corrispondente set:
[f
1, m-f
2, …m-f
j]
gche produce in uscita una sequenza tale da risultare l’immagine specchiata di quella d’origine.
5 Per brevità ci si riferirà nel seguito a questo tipo di sequenza con il nome m-sequence.