\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 deflettori acusto ottici (AOD).} \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 AOD, 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.