|
|
@ -4,4 +4,53 @@ |
|
|
|
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 corre |
|
|
|
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. |
|
|
|
|