|
|
- \chapter{Elettronica di controllo}
- \label{app:electronics}
-
- Il sistema elettronico che consente di applicare il ciclo di retroazione
- tra la posizione rilevate della microsfera nelle trappole e la posizione di
- queste ultime nel campione è reso particolarmente complesso dalla necessità
- di operare le correzioni in un tempo estremamente breve, per raggiungere un tempo
- di reazione significativamente inferiore al tempo di rilassamento diffusivo
- (\SI{100}{\us}, limite inferiore dei tempi di vita osservabili).
-
- Per questo motivo, e per rendere il processo di controllo del ciclo di
- retroazione indipendente da eventuali rallentamenti dei computer utilizzati
- per il controllo dell'esperimento, si è scelto di utilizzare una scheda FPGA
- dedicata.
-
- Una scheda FPGA (\textit{Field Programmable Gate Array}) è un dispositivo
- utilizzato in elettronica digitale costituito essenzialmente da una matrice
- di \textit{blocchi logici programmabili} interconnessi.
- Questi possono essere configurati, in fase di programmazione della scheda,
- per eseguire determinate funzioni logiche.
- Una volta programmata, la scheda è in grado di eseguire le funzioni logiche
- impostate e elaborare segnali proveniente dall'esterno attraverso dei \textit{pin} di input.
- Il risultato dell'elaborazione può essere immagazzinati in appositi registri
- (code) e letto su richiesta (ad esempio di un computer esterno), oppure
- utilizzato per comandare dei \textit{pin} di output presenti sulla scheda.
-
- La programmazione della scheda FPGA consiste nel descrivere e formalizzare
- le componenti del circuito logico richiesto e quindi configurare i blocchi
- della scheda per \textit{realizzare} le funzioni del circuito integrato
- disegnato.
-
- Uno dei principali vantaggi dell'uso di schede FPGA sta nel fatto che il tempo
- di esecuzione delle singole operazioni è deterministico e riproducibile tra una
- iterazione e all'altra, a differenza di quanto accade nei PC dove l'accesso
- di ogni applicazione ai cicli di processore viene controllato da priorità
- e schedulatori del sistema operativo.
-
- Per gli scopi di questa tesi è stata programmata una scheda FPGA per leggere
- i valori dei fotodiodi a quadrante (da cui si può estrapolare la posizione
- relativa delle microsfere rispetto al centro della trappola) e controllare
- l'angolo di deflessione dei laser delle trappole (e quindi la loro posizione
- nel campione).
-
- Per ottenere questo risultato è stata scelta una scheda prodotta FPGA prodotta
- da National Instrument (USB-7855), programmabile attraverso interfaccia USB,
- dotata di 48 canali digitali configurabili come output o input e 8 convertitori
- analogico-digitali (ADC) integrati.
-
- La logica di funzionamento è stata definita utilizzando l'ambiente di sviluppo
- LabVIEW FPGA: questo permette di disegnare sotto forma di diagramma a blocchi
- la sequenza di funzioni da applicare sui dati ingresso.
- A partire da questo diagramma LabVIEW FPGA è in grado di generare il circuito
- logico necessario e descriverlo (secondo le specifiche del linguaggio VHDL).
- Un ulteriore passaggio converte il codice VHDL in istruzioni di programmazione
- della scheda, che vengono eseguite attraverso la connessione USB.
-
- \begin{figure}[ht]
- \centering
- \includegraphics[width=\linewidth]{images/elettr.pdf}
- \caption{Schema delle connessioni tra fotodiodi a quadrante (QPD), scheda
- FPGA, generatori diretti di segnale (DDS) e modulatori acusto ottici (AOM).}
- \label{fig:elettr}
- \end{figure}
-
- Nel nostro caso, il segnale in ingresso è la tensione prodotta dagli
- amplificatori dei fotodiodi a quadrante. L'uscita di questi viene
- collegata direttamente ai convertitori analogico/digitali dell'FPGA.
-
- La differenza tra il segnale misurato in ingresso e il set-point viene
- trasformata, attraverso un fattore di conversione determinato in fase di
- calibrazione, in una variazione della frequenza del segnale elettronico
- inviato ai trasduttori presenti sui modulatori acusto ottici.
-
- La generazione del segnale elettronico alla frequenza richiesta è
- delegata a due generatori digitali di segnale (DDS, Direct Digital
- Synthetizer), forniti da Analog Devices (AD9852), in grado di
- modificare la frequenza generata a un rate di \SI{100}{\MHz}.
-
- L'impostazione della frequenza sui DDS si esegue attraverso
- l'immissione di tre \textit{word} di 8 bit in appositi registri su ciascuna
- delle schede utilizzate. Le schede presentano due \textit{bus}, uno per la
- selezione dell'indirizzo del registro, uno per la lettura o scrittura
- di una \textit{word} nel registro selezionato. Una volta impostati indirizzo e
- valori su ciascun \textit{bus} è necessario avviare il trasferimento
- della \textit{word} nel registro di memoria interno impostando su ON un
- ulteriore pin.
-
- La scheda FPGA, una volta determinata la frequenza da inviare a ciascun
- AOM, procede alla programmazione simultanea delle due schede Analog
- Devices, inviando in sequenza le tre \textit{word} necessarie e
- sincronizzandone il trasferimento nei registri di memoria.
-
- Il massimo rate di aggiornamento della frequenza che siamo riusciti a
- raggiungere è inferiore sia a quello supportato dai DDS sia al rate
- di esecuzione del ciclo di retroazione sulla FPGA.
-
- Infatti, tentando di comandare i DDS alla massima velocità possibile
- supportata dalla FPGA, si è osservata la comparsa di anomalie nel
- funzionamento dell'apparato in prossimità di certi valori di frequenza.
- Il \textit{debugging} di questa problematica non è stato affatto semplice
- e ha richiesto un'analisi precisa del segnale trasportato su ciascun
- conduttore del bus tra FPGA e DDS.
- In ultima analisi si è rilevato come fenomeni di \textit{diafonia} tra
- i vari conduttori presenti sul cavo utilizzato per connettore l'FPGA ai DDS
- (cavo fornito da National Instrument) portino ad un allungamento del
- transiente necessario affinché tutti i bit del bus raggiungano il valore
- impostato.
-
- Si è quindi dovuto procedere a rallentare la velocità di scrittura
- delle singole \textit{word} sui DDS, inserendo un piccolo tempo morto
- (nell'ordine dei nanosecondi) tra la scrittura della word e il trasferimento
- nel registro di memoria.
-
- In conclusione si è osservata una completa risoluzione dei problemi osservati
- con una variazione dei tempi di reazione del sistema ampiamente trascurabile
- rispetto al limiti dettati dal rate di campionamento del segnale dei QPD.
-
-
-
-
|