Tesi magistrale
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
6.2 KiB

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