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.

122 lines
6.2 KiB

4 years ago
4 years ago
  1. \chapter{Elettronica di controllo}
  2. \label{app:electronics}
  3. Il sistema elettronico che consente di applicare il ciclo di retroazione
  4. tra le posizioni rilevate delle microsfere nelle trappole e le posizioni 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 immagazzinato 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
  28. il tempo di esecuzione delle singole operazioni è deterministico e
  29. riproducibile tra iterazioni successive, a differenza di quanto accade
  30. nei PC dove l'accesso di ogni applicazione ai cicli di processore
  31. viene controllato da priorità 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 FPGA prodotta
  38. da National Instrument (USB-7855), programmabile attraverso
  39. interfaccia USB, dotata di 48 canali digitali configurabili come
  40. output o input e 8 convertitori analogico-digitali (ADC) integrati.
  41. La logica di funzionamento è stata definita utilizzando l'ambiente di
  42. sviluppo LabVIEW FPGA: questo permette di disegnare sotto forma di
  43. diagramma a blocchi la sequenza di funzioni da applicare sui dati in
  44. ingresso. A partire da questo diagramma LabVIEW FPGA è in grado di
  45. generare il circuito logico necessario e descriverlo (secondo le
  46. specifiche del linguaggio VHDL). Un ulteriore passaggio converte il
  47. codice VHDL in istruzioni di programmazione della scheda, che vengono
  48. eseguite attraverso la connessione USB.
  49. \begin{figure}[ht]
  50. \centering
  51. \includegraphics[width=\linewidth]{images/elettr.pdf}
  52. \caption{Schema delle connessioni tra fotodiodi a quadrante (QPD), scheda
  53. FPGA, generatori diretti di segnale (DDS) e deflettori acusto ottici (AOD).}
  54. \label{fig:elettr}
  55. \end{figure}
  56. Nel nostro caso, il segnale in ingresso è la tensione prodotta dagli
  57. amplificatori dei fotodiodi a quadrante. L'uscita di questi viene
  58. collegata direttamente ai convertitori analogico/digitali dell'FPGA.
  59. La differenza tra il segnale misurato in ingresso e il set-point viene
  60. trasformata, attraverso un fattore di conversione determinato in fase di
  61. calibrazione, in una variazione della frequenza del segnale elettronico
  62. inviato ai trasduttori presenti sui deflettori acusto ottici.
  63. La generazione del segnale elettronico alla frequenza richiesta è
  64. delegata a due generatori digitali di segnale (DDS, Direct Digital
  65. Synthetizer), forniti da Analog Devices (AD9852), in grado di
  66. modificare la frequenza generata a un rate di \SI{100}{\MHz}.
  67. L'impostazione della frequenza sui DDS si esegue attraverso
  68. l'immissione di tre \textit{word} di 8 bit in appositi registri su ciascuna
  69. delle schede utilizzate. Le schede presentano due \textit{bus}, uno per la
  70. selezione dell'indirizzo del registro, uno per la lettura o scrittura
  71. di una \textit{word} nel registro selezionato. Una volta impostati indirizzo e
  72. valori su ciascun \textit{bus} è necessario avviare il trasferimento
  73. della \textit{word} nel registro di memoria interno impostando su ON un
  74. ulteriore pin.
  75. La scheda FPGA, una volta determinata la frequenza da inviare a ciascun
  76. AOD, procede alla programmazione simultanea delle due schede Analog
  77. Devices, inviando in sequenza le tre \textit{word} necessarie e
  78. sincronizzandone il trasferimento nei registri di memoria.
  79. Il massimo rate di aggiornamento della frequenza che siamo riusciti a
  80. raggiungere è inferiore sia a quello supportato dai DDS sia al rate
  81. di esecuzione del ciclo di retroazione sulla FPGA.
  82. Infatti, tentando di comandare i DDS alla massima velocità possibile
  83. supportata dalla FPGA, si è osservata la comparsa di anomalie nel
  84. funzionamento dell'apparato in prossimità di certi valori di frequenza.
  85. Il \textit{debugging} di questa problematica non è stato affatto semplice
  86. e ha richiesto un'analisi precisa del segnale trasportato su ciascun
  87. conduttore del bus tra FPGA e DDS.
  88. In ultima analisi si è rilevato come fenomeni di \textit{diafonia} tra
  89. i vari conduttori presenti sul cavo utilizzato per connettore l'FPGA ai DDS
  90. (cavo fornito da National Instrument) portino ad un allungamento del
  91. transiente necessario affinché tutti i bit del bus raggiungano il valore
  92. impostato.
  93. Si è quindi dovuto procedere a rallentare la velocità di scrittura
  94. delle singole \textit{word} sui DDS, inserendo un piccolo tempo morto
  95. (nell'ordine dei nanosecondi) tra la scrittura della \textit{word} e
  96. il trasferimento nel registro di memoria.
  97. In conclusione si è osservata una completa risoluzione dei problemi
  98. osservati con una variazione dei tempi di reazione del sistema
  99. ampiamente trascurabile rispetto al limiti dettati dal rate di
  100. campionamento del segnale dei QPD.