|
\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:my_label}
|
|
\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.
|
|
|
|
|
|
|
|
|