Elettronica di front-end per gli RPC dell esperimento NESSiE

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Elettronica di front-end per gli RPC dell esperimento NESSiE"

Transcript

1 Università degli studi di Bari Aldo Moro Facoltà di scienze matematiche, fisiche e naturali Corso di Laurea Magistrale in Fisica Tesi di Laurea Elettronica di front-end per gli RPC dell esperimento NESSiE Relatori: Prof. Saverio Simone Dott. Giuseppe De Robertis Laureando: Luigi Paparella Anno Accademico 2011/2012 Sessione Autunnale

2 Indice Introduzione 5 1 L esperimento NESSiE La fisica di NESSiE Oscillazioni di neutrino Esperimenti di short-baseline Modello Modello Modello con violazione di CPT Il fascio Il rivelatore Le LAr-TPC Gli spettrometri di NESSiE Gli spettrometri in ferro Gli spettrometri in aria I rivelatori Ricostruzione del momento L elettronica Il sistema di RPC di OPERA I rivelatori RPC Fisica del rivelatore Modello elettronico Regimi di funzionamento Gli RPC di OPERA Lo spettrometro di OPERA Elettronica degli RPC di OPERA La Front-End Board La Contoller Board La Trigger Board

3 3 La front-end board di NESSiE Il DAQ di NESSiE Specifiche della FEB Il formato della scheda Segnali di ingresso e uscita alla FEB Il time stamp Differenze con la FEB di OPERA Il progetto della FEB Discriminatori LVDS Il DAC L ADC Circuito di configurazione della FPGA La FPGA FPGA: overview FPGA: principio di funzionamento Risorse di clock Memoria RAM interna Risorse di I/O Scelta della FPGA Il progetto della FPGA I clock La logica di formazione del segnale La logica di mascheramento dei dati Il buffer circolare Il fast-or La logica di time stamp Il processore Il microcontrollore La memoria SFR Implementazione del V Mappatura della memoria SFR Teoria di funzionamento Domini di clock Test e simulazioni per la FEB di NESSiE Test del ricevitore LVDS Motivazioni Le misure Simulazione della FPGA Simulazione del buffer circolare

4 5.2.2 Simulazione della logica di time-stamp Simulazione Post Place and Route Verifica della FPGA con input simulati Conclusioni 116 Appendici 118 A Il Verilog 118 A.1 Gli hardware description languages A.2 Il linguaggio Verilog A.3 La sintassi del Verilog A.3.1 Registri e wires A.3.2 Blocchi initial e always A.3.3 Assegnamento blocking e non-blocking A.3.4 Costrutti di controllo A.4 Esempio: una macchina a stati B Sintesi di FPGA 129 B.1 L ambiente ISE B.2 Progetto di un cronometro B.2.1 Il top-level B.2.2 Sintesi B.2.3 Implementazione B.2.4 Programmazione C Sorgenti Verilog 140 D Schematico della FEB 147 Ringraziamenti 158 Bibliografia 160 4

5 Introduzione L esperimento NESSiE, previsto al CERN, indagherà la fisica del neutrino oltre il modello standard. Esso lavorerà con un fascio di neutrini prodotto dall acceleratore SPS. La fisica del neutrino secondo il Modello Standard, il quale assume nulla la massa del neutrino, è stata messa in discussione da recenti esperimenti che hanno fornito prova di oscillazioni di neutrino. Il fenomeno delle oscillazioni, teorizzato per la prima volta da B. Pontecorvo, è infatti possibile solo se i neutrini hanno massa non nulla. Oscillazioni di neutrino sono state osservate in esperimenti con neutrini solari, atmosferici e esperimenti con neutrini prodotti artificialmente per mezzo di reattori o acceleratori. I dati di questi esperimenti sono ben compresi nell ambito della teoria di mescolamento a tre neutrini, in cui i neutrini ν e, ν µ, ν τ, autostati di sapore, sono combinazioni lineari degli autostati di massa ν 1, ν 2, ν 3. Oltre a queste ben comprovate osservazioni di oscillazioni di neutrini, alcuni recenti esperimenti di short-baseline quali LSND, MiniBooNE e gli esperimenti radiochimici (GALLEX, SAGE), hanno prodotto risultati in apparente contraddizione con i risultati precedenti (sono le cosiddette neutrino anomalies ). I dati di questi esperimenti sembrerebbero infatti indicare oscillazioni di neutrino riconducibili ad un valore di m 2 di diversi ordini di grandezza superiore rispetto a quello trovato per i neutrini solari ed atmosferici. Questo risultato è incompatibile con la teoria che prevede solo tre specie attive di neutrino. Tra le diverse teorie proposte per spiegare queste anomalie, la più accreditata sembra essere quella che prevede l esistenza di uno o più neutrini cosiddetti sterili, ossia che non interagiscono mediante interazione debole, ma solo gravitazionalmente. L esistenza di un quarto neutrino spiegherebbe tra le altre cose la cosiddetta reactor neutrino anomaly, ossia una riduzione di circa il 3% dei rate di antineutrino misurata in passati esperimenti di reattori, e sarebbe consistente con i recenti fit dei parametri cosmologici che sembrerebbero suggerire un numero di neutrini superiore a 3. Il programma di esperimenti presso il fascio di neutrini del CERN-SPS 5

6 si inserisce in questo contesto. Scopo principale di questi esperimenti è quello di confermare o confutare le anomalie citate e, in caso di conferma, di caratterizzare il modello di neutrino sterile, determinando numero di neutrini sterili, i parametri del modello, l eventuale violazione di CP. L esperimento è basato su due LAr-TPC (ICARUS) seguite da spettrometri magnetici (NESSiE), che osserveranno gli eventi di neutrino in due siti a diversa distanza (Near detector, Far detector). I due spettrometri riveleranno muoni (e ne misureranno carica e momento) mediante rivelatori RPC immersi in un campo magnetico. In questo lavoro di tesi si è studiata e progettata una scheda di front-end (FEB) in grado di eseguire una lettura digitale degli RPC operanti in streamer mode, compatibilmente con le specifiche richieste dall esperimento. Nel capitolo 1 viene presentato l esperimento presso il fascio di neutrini del CERN-SPS, con un maggiore dettaglio sullo spettrometro per muoni di NESSiE. Nel capitolo 2 vengono descritti i rivelatori RPC e sono anche presentati lo spettrometro e l elettronica di OPERA, esperimento da cui trae spunto la concezione di NESSiE. Nel capitolo 3 viene descritta con maggiore dettaglio la FEB, discutendo nello specifico le funzionalità, il progetto e i principali componenti elettronici montati su di essa. Nel capitolo 4 è illustrato il progetto della FPGA, componente programmabile della FEB. Infine nel capitolo 5 sono discussi i test effettuati per verificare il funzionamento della FEB. Le due appendici A e B sono da intendersi come il resoconto dell attività di tirocinio svolta presso la Sezione INFN di Bari al fine di acquisire le competenze necessarie per lo svolgimento del lavoro di tesi. 6

7 Capitolo 1 L esperimento NESSiE L esperimento NESSiE (Neutrino Experiment with SpectrometerS in Europe) è un esperimento di short-baseline sulla fisica del neutrino. Esso utilizzerà un fascio di neutrini, prodotto dall acceleratore SPS presso la North Area del CERN (fig 1.1), in due posizioni differenti, la prima a 300 m dal bersaglio (Near detector), la seconda a 1, 6 km dal bersaglio (Far detector). L esperimento, inizialmente previsto presso l acceleratore PS, beneficerà di una baseline più lunga in virtù del maggiore spazio disponibile presso la North Area (nel precedente scenario le posizioni dei rivelatori Near e Far sarebbero state rispettivamente 127 m e 850 m dal bersaglio). L esperimento NESSiE [1] indagherà la fisica del neutrino oltre il modello standard. Esso affiancherà in questa ricerca l esperimento ICARUS [2]. Scopo principale dell esperimento è quello di fornire evidenza sperimentale dell esistenza di neutrini sterili, ossia neutrini non interagenti debolmente. La conferma della teoria del neutrino sterile, oltre a dare un senso ai risultati anomali trovati nei recenti esperimenti di short-baseline quali LSND [4] e MiniBooNE [5], avrebbe anche un grande impatto dal punto di vista astrofisico e cosmologico, dando un importante contributo alla questione della Materia Oscura. 1.1 La fisica di NESSiE Oscillazioni di neutrino Il fenomeno delle oscillazioni di sapore del neutrino è confermato da diverse osservazioni sperimentali ed è direttamente collegato alla questione della massa del neutrino. Esso è spiegato dalla teoria di mixing a tre neutrini, secondo la quale i neutrini interagiscono come autostati di sapore, ma si 7

8 Figura 1.1: Layout del fascio di neutrini presso la North Area del CERN. La figura mostra il luogo di estrazione del fascio primario, la posizione del bersaglio, la posizione dei due rivelatori Near e Far, un sito per un eventuale Middle detector posizionato tra il Near e il Far. [3] propagano nello spazio come una sovrapposizione di autostati di massa [6]. Gli autostati di interazione debole ν e, ν µ, ν τ sono quindi espressi come combinazioni lineari degli autostati di massa ν 1, ν 2, ν 3, i quali si propagano con frequenze leggermente differenti in virtù della diversa massa. Questo fatto ha come conseguenza che tra i diversi autostati di massa si sviluppano fasi differenti con la distanza percorsa; questo corrisponde a una variazione del sapore del neutrino, di qui le oscillazioni. Ad esempio, nel caso di due soli sapori ν e e ν µ, essi sono collegati agli autostati di massa ν 1 e ν 2 tramite una trasformazione unitaria che coinvolge un angolo di mixing θ: ( ) ( ) ( ) νµ cos θ sin θ ν1 = sin θ cos θ ν e La propagazione nello spazio degli stati ν 1 e ν 2, ipotizzando m i E i, è data da (nelle unità di misura in cui = c = 1): ν 1 (t) = ν 1 (0)e ıe 1t ν 2 (t) = ν 2 (0)e ıe 2t E i = p + m2 i 2p Nell ipotesi di avere solo neutrini muonici al tempo t=0 (ν µ (0) = 1, ν e (0) = 0), un calcolo diretto porta alla probabilità di trovare ν µ o ν e dopo 8 ν 2

9 un tempo t = L/c, dove L è la distanza percorsa: ( ) 1, 27 m P (ν µ ν e ) = sin 2 (2θ) sin 2 2 L (1.1) E P (ν µ ν µ ) = 1 P (ν µ ν e ) (1.2) In queste equazioni m 2 = m 2 2 m 2 1 è espressa in ev 2 ; E è l energia del neutrino ed è data in MeV; L è espressa in metri; il valore numerico 1,27 deriva da un prodotto di costanti fisiche fondamentali e dei fattori di conversione delle unità di misura. La formula precedente mostra che il sapore del neutrino oscilla con la distanza percorsa dal fascio. Dal teorema CPT che connette particella e antiparticella, segue che la probabilità di sopravvivenza P ( ν α ν α ) è uguale a P (ν α ν α ), dove α = e, µ, τ. Per quanto riguarda le probabilità di trasformazione, invece, la probabilità P ( ν α ν β ) non è in generale uguale a P (ν α ν β ) e la probabilità P (ν β ν α ) non è uguale a P (ν α ν β ). Queste relazioni sarebbero uguaglianze nel caso valesse l invarianza di CP, ma essa può essere violata nelle interazioni deboli. La teoria di mixing a tre neutrini è stata ampiamente verificata in esperimenti con neutrini solari, atmosferici e esperimenti di long-baseline con neutrini da reattore o acceleratore. I valori di m 2 derivanti da fit sui dati relativi ai neutrini solari (SOL) e atmosferici (ATM) sono [8]: m 2 21 = m 2 SOL ev 2 (1.3) m 2 31 m 2 32 = m 2 AT M ev 2 (1.4) dove m 2 jk = m2 j m 2 k e m j è la massa del neutrino ν j Esperimenti di short-baseline Come già accennato, NESSiE è un esperimento di tipo short-baseline (SBL). Tipicamente gli esperimenti SBL utilizzano una sorgente artificiale di neutrini (da acceleratore o reattore); un rivelatore è posto a una certa distanza L (detta baseline) dalla sorgente e misura il numero di interazioni di neutrini di un dato tipo. La ricerca di oscillazioni di neutrino richiede la conoscenza della sorgente, sia rispetto alla composizione in sapore che in termini di spettro di energia [4]. Ci sono due tipi di ricerche. Nel primo metodo si cerca di osservare una riduzione del numero di neutrini rivelati rispetto al numero atteso. Ricerche di questo tipo sono dette misure di scomparsa. Il secondo metodo si basa sulla ricerca di un numero di eventi maggiore di quello atteso per neutrini di 9

10 sapore non presente (o presente in minima quantità) nella sorgente. Ricerche di questo tipo sono denominate come esperimenti di comparsa. I rate di comparsa e di sparizione osservati sono ottenuti dal rapporto tra il numero di eventi osservati e di eventi attesi (il primo è dato dalle misure sperimentali, mentre il secondo è valutato in base all intensità della sorgente di neutrini, alle caratteristiche geometriche del rivelatore, alla sezione d urto neutrino/bersaglio, ecc. ed è solitamente calcolato mediante metodi Monte Carlo); di qui possono essere dedotte le rispettive probabilità di oscillazione e di sopravvivenza. Queste a loro volta possono essere inquadrate in un modello di mixing e descritte in termini di differenze di masse quadratiche e angoli di mixing. Solitamente i risultati degli esperimenti di SBL sono presentati in termini di regioni di confidenza nel piano (sin 2 2θ, m 2 ), con θ angolo di mixing e m 2 = m 2 i m 2 j (fig. 1.2). Esempi di esperimenti di short-baseline sono LSND [4] e MiniBooNE [5]. Il primo, pensato per ricercare oscillazioni ν µ ν e, ha riscontrato un segnale di produzione di ν e che se interpretato in termini di oscillazioni di neutrino comporterebbe un valore di m 2 di gran lunga superiore a quelli standard. L esperimento MiniBooNE, sebbene non abbia confermato il risultato di LSND, ha riscontrato una nuova anomalia. I risultati di questi esperimenti potrebbero essere interpretati in termini della esistenza di neutrini sterili. L esperimento ICARUS/NESSiE è pensato per indagare nell intervallo di valori m 2 new > 1 ev 2 e sin 2 new 0, 1, in cui i citati esperimenti di SBL hanno individuato un comportamento anomalo. L esperimento è basato su due rivelatori che osservano il segnale di neutrino nelle posizioni Near e Far. Differenze nelle distribuzioni di eventi osservate sperimentalmente dai due rivelatori possono essere attribuite alla presenza di oscillazioni. L esperimento ICARUS/NESSiE potrebbe dare una risposta definitiva riguardo la presunta esistenza di neutrini sterili, in quanto esso raccoglierà in tre anni di presa dati molta più statistica degli esperimenti suoi predecessori. Basti pensare che i 3300 eventi di neutrino raccolti dall esperimento CDHS [7] nel proprio Far detector corrispondo alla statistica che ICARUS/NESSiE raccoglierebbe in un solo giorno di presa dati; d altra parte esso raccoglierebbe la statistica dell esperimento LSND in circa 10 giorni. Sostanzialmente l esperimento ICARUS/NESSiE indagherà le seguenti anomalie [2]: le anomalie di neutrino e antineutrino elettronico degli esperimenti LSND e MiniBooNE; le anomalie di scomparsa di segnale di neutrino (antineutrino) elettronico negli esperimenti radiochimici e con reattore; 10

11 (a) (b) Figura 1.2: (a) Regioni consentite nel piano sin 2 2θ eµ m 2 41 e χ2 marginali per sin 2 2θ eµ e m 2 41 ottenuti dal fit globale dei dati SBL nello schema 3+1. Il punto di best-fit, corrispondente a χ 2 min, è indicato da una croce. [1] (b) Regioni consentite nei piani sin 2 2θ ee m 2 41 e sin2 2θ µµ m 2 41 e χ2 marginali per sin 2 2θ ee e sin 2 2θ µµ ottenuti dal fit globale dei dati SBL nello schema 3+1. I colori delle linee hanno lo stesso significato che in figura a. [1] 11

12 equivalente scomparsa nel segnale di neutrino muonico; la possibilità remota di violazione CPT, identificata da differenze tra le oscillazioni di neutrino e antineutrino. La scoperta di oscillazioni ν µ ν e è stata rivendicata dagli esperimenti LSND e MiniBooNE. Nessun esperimento ha però finora riportato evidenza di sparizione di ν µ o ν µ nella regione di m 2 consentita per i neutrini sterili. Una migliore misura di scomparsa di ν µ ( ν µ ) potrebbe mettere severamente in crisi i fit globali di neutrino sterile in caso di risultato nullo, o viceversa fornire una imprescindibile conferma in caso di osservazione di segnale. In caso di conferma dell esistenza di neutrini sterili, i dati raccolti dall esperimento ICARUS/NESSiE saranno inquadrati nell ambito di uno tra i modelli di mixing descritti nei paragrafi seguenti e ne saranno determinati i relativi parametri Modello La teoria del neutrino sterile prevede l esistenza di un ulteriore neutrino, oltre ai tre neutrini attivi, che interagirebbe solo gravitazionalmente. Tale neutrino è detto neutrino sterile (ν s ). Questa teoria è stata introdotta per dare una spiegazione ai segnali di oscillazione trovati negli esperimenti di short-baseline (SBL) corrispondenti a una differenza di massa quadratica insolitamente grande ( m 2 0, 1 ev 2 ). Questo valore di m 2 non è contemplato nella teoria di mixing a tre neutrini, la quale prevede valori di m 2 decisamente inferiori (equazioni 1.3 e 1.4). Pertanto si è resa necessaria l introduzione di un quarto neutrino leggero. Poiché il numero di neutrini attivi è limitato a tre dalla misura della larghezza della risonanza Z 0, neutrini leggeri aggiuntivi non possono avere accoppiamenti elettrodeboli, di qui il neutrino sterile. Nell approssimazione in cui m 2 21 m , la probabilità di apparizione SBL nello schema di (3 + 1) neutrini è equivalente al caso di due neutrini: ( ) m P SBL (ν α ν β ) = P SBL ( ν α ν β ) = sin 2 (2θ αβ ) sin L (1.5) 4E ( ) m P SBL (ν α ν α ) = P SBL ( ν α ν α ) = 1 sin 2 (2θ αα ) sin L (1.6) 4E per α, β = e, µ, τ, s, con sin 2 (2θ αβ ) = 4 U α4 2 U β4 2 (1.7) sin 2 (2θ αα ) = 4 U α4 2 (1 4 U α4 2 ) (1.8) 12

13 Nelle equazioni precedenti gli U αi sono gli elementi della matrice di mixing U, che consente il passaggio dalla base degli autostati di sapore (ν e, ν µ, ν τ, ν s ) a quella degli autostati di massa (ν 1, ν 2, ν 3, ν 4 ). Questa matrice in generale include 3(s + 1) angoli e (2s + 1) fasi, con s pari al numero di neutrini sterili introdotti nel modello. Nell approssimazione in cui m 2 21 = m 2 31 = 0 essa si semplifica, per cui gli esperimenti SBL dipendono da 2s angoli e (s 1) fasi. Il modello (3 + 1) dipende quindi da tre parametri: U 4e, U 4µ, m Caratteristiche salienti di questo modello sono le seguenti [1]: Le probabilità efficaci di oscillazione SBL dipendono solo dal più grande dei m 2, ossia dal valore assoluto di m Le ampiezze di oscillazione dipendono solo dai valori assoluti degli elementi nella quarta colonna della matrice di mixing, ossia da tre numeri reali con somma minore di 1, poiché l unitarietà della matrice di mixing comporta che α U α4 2 = 1. La violazione di CP non può essere osservata negli esperimenti di oscillazione SBL, per cui neutrini ed antineutrini hanno le stesse probabilità efficaci di oscillazione SBL Modello Un modello alternativo a quello esaminato nel paragrafo precedente è il modello che considera due neutrini sterili. È stato dimostrato [9] che questo modello fornisce un miglior fit dei dati sperimentali rispetto al modello La ragione per cui questo modello è preferito rispetto a quello è che risolve il conflitto sperimentale tra il segnale ν µ ν e dell esperimento LSND e la mancanza di oscillazioni ν µ ν e riportata dall esperimento MiniBooNE grazie all introduzione della violazione di CP, la quale richiede almeno due neutrini sterili. Nell ambito della teoria a (3 + 2) neutrini, nell approssimazione di SBL ( m 2 21 m ), la probabilità di apparizione di ν e è data da [9]: P (ν µ ν e ) = 4 U e4 2 U µ4 2 sin 2 φ U e5 2 U µ5 2 sin 2 φ U e4 U µ4 U e5 U µ5 sin φ 41 sin φ 51 cos(φ 54 δ) (1.9) con le definizioni: φ ij m2 ijl 4E, δ arg(u e4u µ4 U e5 U µ5) (1.10) 13

14 L equazione 1.9 vale per i neutrini; per quanto riguarda gli antineutrini l equazione analoga si ottiene con la sostituzione δ δ. La probabilità di sopravvivenza è data da: ( P (ν α ν α ) = ) U αi 2 U αi 2 sin 2 φ i1 4 U α4 2 U α5 2 sin 2 φ 54 i=4,5 i=4,5 (1.11) dove φ ij è lo stesso che in equazione Il modello possiede quindi sette parametri: U 4e, U 4µ, m 2 14, U 5e, U 5µ, m 2 15, s Modello con violazione di CPT Nell ambito dei modelli la sola variante che sembra in grado di interpolare i dati globali è il modello di Giunti-Laveder [10] che considera (3 + 1) neutrini e violazione di CPT. Il modello è stato ispirato dalle analisi sui dati di neutrino elettronico delle misure di calibrazione degli esperimenti radiochimici e dai dati di antineutrino elettronico degli esperimenti con reattore (Bugey, Chooz). Questi dati possono essere spiegati in termini di oscillazioni di neutrino aventi differenza di masse quadratiche e mixing di neutrini e antineutrini violanti CPT. In questo modello i parametri che governano le oscillazioni di neutrino e di antineutrino possono essere differenti (tab. 1.1). I neutrini possono avere solo transizioni ν e ν e, mentre gli antineutrini hanno una fenomenologia molto più ricca. m 2 41 U e4 U µ4 m 2 41 U e4 U µ Tabella 1.1: Parametri di best fit del modello con violazione CPT. 1.2 Il fascio L esperimento NESSiE utilizzerà un fascio di neutrini ν µ prodotto dall acceleratore SPS del CERN avente uno spettro di energia centrato intorno ai 2 GeV. I neutrini del fascio verranno prodotti in impulsi della durata di 10, 5 µs. L energia del fascio è stata raddoppiata rispetto al precedente scenario che prevedeva di utilizzare un fascio prodotto dall acceleratore PS. Nel più 14

15 recente proposal si prevede di utilizzare un nuovo fascio di neutrini dal SPS nella North Area. Lo spazio più ampio disponibile nella North Area consente una distanza più lunga (fino a 1, 6 km) che può essere sfruttata dal rivelatore Far, invece che la distanza di 850 m prevista nell ipotesi di utilizzare il fascio dal PS. Anche la distanza del rivelatore Near è stata aumentata da 127 m a circa 300 m. Per far fronte ad una baseline (L) lunga, anche il valore centrale dello spettro di energia del fascio di neutrini è stato corrispondentemente raddoppiato da E ν 1 GeV a E ν 2 GeV in modo da ottenere lo stesso rapporto L/E ν per l esperimento. Il fascio di neutrini viene prodotto nella maniera descritta di seguito. Un fascio di protoni di energia opportuna viene fatto incidere su un bersaglio. L interazione dei protoni con gli atomi del bersaglio produce diverse particelle, tra cui soprattutto pioni e muoni. Al bersaglio segue un sistema di focalizzazione che, per mezzo di campi magnetici, seleziona e concentra le particelle cariche di dato segno e momento. Infine, i neutrini derivano dal decadimento di pioni e muoni, secondo i seguenti modi di decadimento: π + µ + ν µ ; π + e + ν e π µ ν µ ; π e ν e (1.12) µ + e + ν e ν µ µ e ν e ν µ (1.13) Un focusing positivo consente di ottenere tramite il decadimento π + µ + ν µ un fascio principalmente composto da ν µ, con una piccola contaminazione derivante dagli altri modi di decadimento elencati nelle 1.12 e 1.13; d altro canto un focusing negativo permette di ottenere un fascio con prevalenza di ν µ, derivanti dal decadimento π µ ν µ. La figura 1.4 mostra i flussi di neutrino agli spettrometri Near e Far in focusing positivo e negativo. Essi sono stati calcolati per fascio di neutrini del PS mediante una simulazione al computer basata sul software GEANT4 Figura 1.3: Layout del fascio di neutrini dell acceleratore PS del CERN. [2] 15

16 Figura 1.4: Flussi ν µ (nero) e ν µ (rosso) agli spettrometri Near (colonna sinistra) e al Far (colonna destra) nel caso di focusing positivo (riga superiore) e focusing negativo (riga inferiore). [1] e FLUKA. La generazione di interazioni protone-bersaglio è stata effettuata mediante FLUKA-2008; è stato usato invece GEANT4 per seguire le tracce delle particelle nel campo magnetico e nei materiali e per il trattamento del decadimento dei mesoni. Il risultato della simulazione ha mostrato che in questa configurazione si ha un ν/p.o.t. (protons on target) di circa 10 2 nel rivelatore Near e una ulteriore riduzione di un fattore di circa 20 per quanto riguarda il rivelatore Far. Le frazioni di (ν µ, ν µ, ν e, ν e ) nello spettrometro Near sono (12.2, 86.6, 0.49, 0.75)% nella modalità di focusing positivo e (12.2, 86.6, 0.49, 0.75)% nella modalità di focusing negativo. Nel rivelatore Far le relative percentuali sono molto simili. Per il nuovo fascio di neutrini SPS si pensa di utilizzare come sorgente primaria protoni aventi energia intorno a 100 GeV, valore sufficientemente basso al fine di produrre neutrini di 2 GeV e mantenere sotto controllo il fondo. Inoltre la durata dell impulso di neutrini sarà di 10, 5 µs, valore comunque adeguato alle esigenze dell esperimento. 16

17 1.3 Il rivelatore Sia il rivelatore Near che il rivelatore Far sono composti da una camera a proiezione temporale ad argon liquido (LAr-TPC) e da uno spettrometro per muoni composto da rivelatori RPC (Resistive Plate Chamber) in campo magnetico (fig. 1.5). (a) (b) Figura 1.5: (a) Visione schematica d insieme del complesso sperimentale dell esperimento NESSiE (non in scala). (b) Layout generale del sito sperimentale che ospiterà il Far Detector. [3] 17

18 Le due LAr-TPC, di competenza del gruppo ICARUS [2], sono la parte principale dell esperimento. Esse, oltre ad essere di fatto il bersaglio per il fascio di neutrini con la loro grande massa attiva di argon liquido, costituiscono uno strumento di imaging molto sensibile per la rivelazione delle interazioni da neutrino. La parte degli spettrometri, di competenza del gruppo NESSiE, è complementare a quella delle TPC. Per mezzo di rivelatori RPC immersi in un campo magnetico, lo spettrometro sarà in grado di misurare momento e carica dei muoni provenienti da interazioni di neutrino nel LAr. Data la grande statistica che l esperimento è in grado di raccogliere, la sua sensibilità sarà dominata da errori sistematici. L informazione aggiunta dagli spettrometri sarà di fondamentale importanza al fine di mantenere gli errori sistematici quanto più bassi possibile. Gli spettrometri, con le misure del momento dei muoni, contribuiranno alla misura di scomparsa di ν µ e a fornire una misura precisa del flusso dei neutrini presso il rivelatore Near, misura cruciale dal punto di vista della riduzione degli errori sistematici. L informazione sulla carica dei muoni, invece, sarà determinante al fine di distinguere eventi di ν µ da eventi di ν µ Le LAr-TPC Il rivelatore che si prevede di utilizzare presso il sito Far è il rivelatore T600 dell esperimento ICARUS (fig. 1.6), attualmente in funzione presso la Hall B del complesso LNGS (Laboratori Nazionali del Gran Sasso), e che sarà trasportato al CERN e posizionato nel sito Far per il nuovo esperimento. Questo rivelatore è composto in realtà da due semi-moduli da 300 tonnellate di dimensioni interne 3, 6(w) 3, 9(h) 19, 6(l) m 3 ciascuno. Il rivelatore che sarà installato presso il sito Far è più grande rispetto a quello Near in virtù del fatto che, a causa della maggiore distanza, il fascio di neutrini ha un apertura maggiore e quindi deve essere maggiore l area del rivelatore. Nel sito Near verrà installata una LAr-TPC più piccola denominata T150 che sarà costruita apposta per l esperimento e sarà all incirca quattro volte più piccola rispetto al T600. Il T150 (fig. 1.7) sarà composto da una sola unità ed avrà stessa sezione del T600 (interna 3, 6(w) 3, 9(h) m 2 ; esterna 3, 9(w) 4, 2(h) m 2 ) e una lunghezza interna di 11, 8 m (12, 1 m quella esterna). Nelle LAr-TPC la grande massa di argon liquido ultrapuro (circa 760 t di cui 476 t attiva nel T600, 200 t di cui 119 t attiva ipotizzata per il T150) costituisce il bersaglio dell esperimento. Un sofisticato sistema di elettrodi a filo e fotomoltiplicatori acquisisce elettronicamente le informazioni riguardanti le interazioni di neutrino, ricostruendo le tracce di particelle 18

19 (a) (b) Figura 1.6: (a) Schema del rivelatore ICARUS T600 mostrante struttura interna e sistema di isolamento. (b) Sistema delle camere a filo del rivelatore T600. [3] 19

20 (a) (b) (c) Figura 1.7: (a) Schema del rivelatore ICARUS T150 mostrante struttura interna e sistema di isolamento. (b) Sistema delle camere a filo del rivelatore T150, (c) visione della sezione trasversale. [3] 20

21 cariche con un accuratezza dell ordine di 1 mm 3. Un complesso impianto criogenico mantiene l argon al disotto della temperatura di ebollizione (87,3 K) e provvede al ricircolo e alla purificazione dell argon liquido. L idea alla base del funzionamento del rivelatore T600 è la stessa delle camere TPC a gas, originariamente proposta da Charpak [11]. Le particelle ionizzanti rilasciano energia nel mezzo formando coppie elettrone-ione. Sugli elettroni formati dagli eventi di ionizzazione è indotto un moto di deriva grazie a un campo elettrico uniforme ed essi vengono raccolti alla fine del loro percorso da elettrodi a filo che individuano una coordinata nel piano xy. Il percorso della traccia nella direzione di drift z è ricostruito combinando l informazione del tempo assoluto dell evento di ionizzazione con quella sulla velocità di deriva degli elettroni. Questo permette di ricostruire una immagine tridimensionale della traccia. Condizione fondamentale per il funzionamento di una LAr-TPC è che gli elettroni prodotti dal passaggio delle particelle cariche debbano viaggiare imperturbati dal punto di produzione ai piani di fili. Questo richiede che le impurezze elettronegative (perlopiù O 2, H 2 O e CO 2 ) debbano essere tenute a un bassissimo livello di concentrazione. Il drift degli elettroni nell argon liquido richiede una purezza del mezzo decisamente superiore (meno di 0,1 ppb) rispetto alle TPC a gas, questo perché la densità è maggiore di un fattore circa Pertanto per le LAr-TPC è necessaria una complessa tecnologia che provvede al ricircolo del liquido e alla sua continua purificazione. Nel rivelatore T600 (fig. 1.6b) il campo elettrico applicato è di E D = 500 V/cm e induce per gli elettroni una velocità di deriva di v D 1.6 mm/µs. Ognuno dei due semi-moduli ospita due TPC separate da un catodo comune. Ciascuna TPC è formata da tre piani paralleli di fili orientati verso il cammino di drift (1, 5 m) e aventi una distanza di separazione di 3 mm; in ogni piano i fili sono orientati a un angolo di 0, ±60 rispetto all orizzontale. Globalmente nel rivelatore sono installati fili di lunghezza fino a 9 m. Il tempo assoluto dell evento di ionizzazione è misurato per mezzo di fotomoltiplicatori che rivelano la luce di scintillazione prodotta nel LAr dal passaggio di particelle ionizzanti. Una serie di PMT (Photo Multiplier Tube) è installata dietro ciascuna camera a fili; ciascun PMT è rivestito da wavelength shifter che consente la rivelazione di luce di scintillazione nell ultravioletto (λ = 128 nm). L elettronica del T600 è costruita in modo da permettere una continua lettura, digitalizzazione e registrazione della forma d onda dei segnali da ciascun filo delle TPC. L architettura di read-out consiste in un preamplificatore di front-end sensibile alla carica e a basso rumore; i segnali da ciascun filo sono digitalizzati indipendentemente ogni 400 ns da un FADC a 10 bit. 21

22 Questo schema è implementato su una singola scheda analogica in grado di gestire 32 canali; i dati sono inviati a una scheda digitale per il buffering. 1.4 Gli spettrometri di NESSiE I due spettrometri di NESSiE (Near e Far) sono basati sulla stessa concezione dello spettrometro di OPERA [12] (par. 2.2). La principale funzione a cui essi devono adempiere è quella di ricostruire carica e momento dei muoni provenienti dal LAr. Questa misura è eseguita determinando la deviazione che le particelle cariche subiscono a causa di un campo magnetico. La parte principale dello spettrometro è costituita da un grande magnete in ferro avente una struttura simile a quello di OPERA (Iron-Magnet). Esso ospiterà nella sua struttura piani di rivelatori RPC. I muoni a basso momento sono misurati da un sistema ausiliario che utilizza un campo magnetico in aria (Air-Magnet) Gli spettrometri in ferro Il magnete principale di ciascuno dei due spettrometri è un magnete dipolare costituito da due pareti verticali a sezione rettangolare e da due gioghi di ritorno di flusso posti in cima e alla base (fig. 1.8). Ciascuna parete è composta da 21 lastre di ferro spesse 5 cm, separate da 20 intercapedini in grado di ospitare rivelatori RPC. I due gioghi sono avvolti da una bobina di rame. Il magnete fondamentalmente sarà costruito assemblando lastre di ferro che nel caso dello spettrometro Far sono 5860 mm in altezza, 1246 mm in larghezza e 50 mm di spessore (per il Near 3515 mm l altezza, 1246 mm la larghezza e 50 mm lo spessore). Complessivamente occorreranno 294 lastre nel caso del Far e 210 lastre per il Near. La costruzione comincerà col posizionamento del giogo alla base del magnete. Si procederà quindi all installazione degli strati di ferro e degli RPC nei due bracci del magnete. L assemblaggio comincerà dai piani più interni dei due bracci e procederà via via verso quelli più esterni frapponendo tra uno strato di ferro e l altro elementi di rivelatori RPC, i piani di strisce di rame ortogonali e il materiale di isolamento, inserito per prevenire scariche di alta tensione verso le pareti in ferro. Una volta posizionato il giogo superiore del magnete, la struttura sarà in grado di auto-sostenersi dal punto di vista meccanico. Il campo magnetico del magnete sarà generato grazie a due bobine avvolte attorno ai gioghi di ritorno di flusso posti alla base e in cima al magnete. La 22

23 (a) (b) Figura 1.8: (a) Viste trasversa e longitudinale del magnete Far. (b) Viste trasversa e longitudinale del magnete Near. [3] forza magnetomotrice necessaria a produrre il campo magnetico nel ferro è fornita da alimentatori DC, posizionati in alto rispetto al magnete. Essi sono dei convertitori AC DC single-quadrant che forniscono una corrente massima di 1700 A e una tensione massima di 20 V. Il campo magnetico previsto sarà circa 1, 5 T dentro il ferro. Il profilo del campo magnetico è mostrato in figura 1.9. Il campo magnetico in ciascuno dei due bracci del magnete ha direzione verticale e verso opposto. L andamento periodico del campo magnetico rispecchia la struttura interna del magnete, in virtù della diversa permeabilità magnetica tra gli strati di ferro e il materiale frapposto. Il primo gradino in figura 1.9(b), di valore più basso, è il campo magnetico fornito dal magnete in aria. 23

24 (a) (b) Figura 1.9: (a) Distribuzione di campo magnetico simulata per lo spettrometro. L asse orizzontale è in metri; la scala dei colori è in tesla. (b) Profilo globale del campo magnetico (in aria e nel ferro). Lungo l asse delle ordinate è riportato il modulo del campo magnetico in tesla, lungo l asse delle ascisse è riportata la coordinata lungo il fascio in metri. [3] 24

25 1.4.2 Gli spettrometri in aria Per la misura di muoni a basso momento è stato introdotto un sistema che utilizza un campo magnetico uniforme in aria. Questo sistema ausiliario è necessario perché l effetto dello scattering multiplo nel ferro limita le performance del sistema di tracciamento del magnete in ferro. Il magnete (fig. 1.10) è costruito usando 80 bobine a pancake lunghe 9 m nella parte dritta, più due regioni di curvatura semicircolari per il ritorno dei conduttori, fuori dalla regione del fascio. Le connessioni e i controlli elettrici ed idraulici sono anch essi fuori dalla regione del fascio. Il disegno delle bobine e della struttura di sostegno tiene conto, oltre delle specifiche di campo magnetico, termiche e strutturali, anche della necessità di avere la minima quantità di materiale nella direzione del fascio. Per questo motivo il materiale che è stato scelto è l alluminio. (a) (b) (c) (d) Figura 1.10: (a) Struttura a pancake dello Air-Magnet. (b) Sezione trasversale di una bobina dello Air-Magnet. (c) Montaggio delle bobine dello Air-Magnet. (d) Modello 3D del campo magnetico in aria. [3] 25

26 Ciascun pancake è costituito da due strati di un conduttore cavo di alluminio avvolto in primo luogo dall esterno verso l interno, viceversa nel secondo strato. In questo modo sia l inizio che la fine di ciascun pancake sono sullo stesso lato e possono essere facilmente connesse elettricamente, lasciando accesso alle connessioni di ingresso e uscita del sistema di raffreddamento ad acqua. Il sistema dovrebbe garantire una regione magnetizzata in aria profonda circa 30 cm nella direzione del fascio e con un valore di campo magnetico tra 0, 1 0, 4 T I rivelatori Il sistema di tracciamento è basato sui rivelatori RPC sviluppati per l esperimento OPERA, con dimensioni di mm 2. Questi RPC opereranno in streamer mode e saranno dotati di lettura digitale. Gli RPC saranno dotati di strisce di lettura in rame mutuamente perpendicolari, in modo da ricostruire una informazione bidimensionale nel piano x y. Tali strisce avranno un passo di 2 3 cm in modo da ottenere una risoluzione di 1 cm e mantenere il numero totale di canali a un valore ragionevole. I rivelatori saranno disposti nel magnete principale tra uno strato di ferro e l altro, formando 20 piani sensibili in ciascun braccio del magnete. Nello spettrometro Near gli RPC sono disposti in piani da 3 righe e 2 colonne, per una superficie totale di circa 20m 2 ; un totale di 40 strati di rivelatori sarà dotato di 600 camere. Nello spettrometro Far gli RPC sono disposti in piani da 5 righe e 3 colonne, per un area di circa 50 m 2 ; i 40 piani saranno dotati in totale di 600 camere RPC. Ipotizzando una larghezza di strip di 2, 6 cm lungo la direzione verticale e 3, 5 cm lungo la direzione orizzontale, nel rivelatore Far ciascun piano sarà dotato di 160 strisce orizzontali e 336 strisce verticali, per un totale di circa 500 canali di elettronica per piano (circa in tutto il rivelatore); per il rivelatore Near, invece, il numero di canali elettronici sarà di circa 340 per piano, in totale. Per quanto riguarda i rivelatori degli Air magnets, sono state proposte diverse soluzioni tra cui l utilizzo di drift tubes (come negli High Precision Trackers dell esperimento OPERA), rivelatori RPC con lettura analogica, rivelatori RPC con lettura digitale in avalanche mode. Tra queste possibilità la più accreditata sembra essere quella degli RPC con lettura analogica. Con questi rivelatori è possibile raggiungere le performance richieste dall esperimento (risoluzione spaziale dell ordine di 1 mm) con un costo limitato. Per il fatto che i rivelatori RPC sono usati anche nella sezione in ferro dello 26

27 spettrometro, questa scelta comporterebbe di avere un solo tipo di rivelatore, con il conseguente risparmio in tempo e costi. Per la misurazione della carica di particelle a basso momento sono previsti 4 piani di RPC posti davanti al campo magnetico in aria e 4 piani posti dopo. La superficie del singolo RPC è di 2, 91 1, 13 m 2 ; ciascun piano di RPC nel Near (Far) Detector è organizzato in 3 righe e 2 colonne (5 righe e 3 colonne) per un totale di 48 (120) RPC. Per la parte in aria dello spettrometro la ricostruzione delle tracce è richiesta nel solo piano di curvatura, per cui la lettura analogica è implementata nella sola vista x-z. In aggiunta una lettura digitale sarà implementata anche nella vista y-z a un costo limitato. Questa vista aggiuntiva permetterà di ricostruire le tracce nelle tre dimensioni e di rigettare hit spuri dovuti a rumore elettronico o a raggi cosmici Ricostruzione del momento Nello spettrometro l impulso dei muoni viene determinato misurando la deflessione che le particelle cariche subiscono nell attraversare il campo magnetico. Nel sistema di coordinate in cui l origine è nel punto di interazione, l asse z punta nella direzione del fascio, l asse y punta verso l alto e l asse x è orizzontale, la traiettoria della particella carica entrante nel rivelatore subisce una deviazione nella direzione dell asse x, essendo z x il piano di curvatura. Carica e momento della particella possono essere dedotte dal segno e dall entità di questa deviazione (fig. 1.11). Il fatto di avere un fascio di energia relativamente bassa, permette di determinare l impulso dei muoni mediante misure di range in un ampio intervallo. Le simulazioni hanno mostrato che 2 m di ferro trattengono circa il 90% dei muoni in caso di focusing positivo ( 85% per focusing negativo). Per i muoni che riescono ad attraversare il rivelatore (E µ > 3GeV/c), la ricostruzione del momento può essere eseguita sfruttando la curvatura delle tracce nel campo magnetico. Una risoluzione per i rivelatori posti all interno del magnete di 1 cm è sufficiente a garantire una risoluzione σ p /p che varia dal 20% a 3 GeV/c fino al 30% a 10 GeV/c. Una tale risoluzione del sistema tracciante può essere ottenuta usando strisce con passo di 2 3 cm con lettura digitale. Per valori d impulso dell ordine di qualche centinaio di MeV/c, il fenomeno del Multiple Coulomb Scattering (MCS) limita la capacità di identificare il segno della carica, in quanto l effetto del MCS nel ferro è paragonabile alla deviazione da campo magnetico. Per questo motivo momenti inferiori a 1 GeV/c sono meglio misurati per mezzo del campo magnetico in aria. In questo caso è sufficiente una ricostruzione delle tracce nel solo piano di 27

28 Figura 1.11: Scostamento della traiettoria dei muoni nel piano di curvatura in funzione del momento dopo l attraversamento di una regione di campo magnetico in aria di 30 cm di spessore. Sono presi in considerazione diversi valori di campo magnetico nel range di valori 0, 1 0, 4 T. La direzione del muone entrante è perpendicolare ai piani del rivelatore. [3] curvatura (z-x), con una risoluzione ottimale dell ordine di 1 mm. Questa risoluzione può essere ottenuta utilizzando rivelatori RPC con una larghezza di strip di circa 1 cm e lettura analogica. La performance globale del sistema di tracciamento può essere visualizzata dalla charge mis-identification η, definita come la frazione dei muoni la cui carica non è assegnata correttamente. Questa quantità, nell approssimazione gaussiana della distribuzione di Moliere, è legata alla risoluzione in momento dalla relazione: η = 1 [ ] 2 erfc 1 (1.14) 2(σp /p) dove erfc è la funzione complementare di errore. Un grafico di η in funzione del momento per lo spettrometro è riportato in figura La mis-identification è più grande a bassi momenti per l effetto del MCS; per grandi valori di p essa aumenta a causa della ridotta capacità di curvatura per particelle ad alto momento. 28

29 Figura 1.12: Charge mis-identification dei muoni calcolata per diverse configurazioni dello Iron Magnet, con un campo magnetico B = 1,5 T. [3] L elettronica I rivelatori Iron-RPC di NESSiE saranno dotati di schede di front-end in grado di effettuare una lettura digitale dei segnali degli RPC e di inviare i dati al sistema di elaborazione. Le front-end board (FEB) dovranno inoltre fornire una marcatura temporale del segnale acquisito con una risoluzione di 5 10 ns. Ogni FEB ospiterà 64 canali elettronici. In totale per i circa canali elettronici dell esperimento saranno prodotte all incirca 600 front-end board. Lo studio e la progettazione della nuova front-end board per l esperimento NESSiE è proprio l argomento di questa tesi. La FEB sarà trattata in ampio dettaglio nel capitolo 3. 29

30 Capitolo 2 Il sistema di RPC di OPERA La concezione dello spettrometro di NESSiE trae spunto dal know-how dell esperimento OPERA [12] che possiede uno spettrometro per muoni simile a quello che sarà in costruito per NESSiE. Del resto i rivelatori RPC utilizzati in NESSiE saranno in parte recuperati dall esperimento OPERA, il quale è in procinto di terminare la fase di presa dati. In questo capitolo vengono trattati in dettaglio i rivelatori RPC e viene data una descrizione dello spettrometro di OPERA e della elettronica per suoi rivelatori RPC. 2.1 I rivelatori RPC I rivelatori RPC (Resistive Plate Chamber) sono un tipo di rivelatore a gas, sviluppato agli inizi degli anni 80 da Santonico e Cardarelli [13, 14]. Un RPC (fig. 2.1) è costituito da due elettrodi piani di bakelite che racchiudono il volume attivo riempito di gas (tipicamente 90% di tetrafluoroetano C 2 H 2 F 4 e 10% di isobutano i-c 4 H 10 ). Sulle due facce esterne delle lastre di bakelite è steso uno strato di grafite che fa da elettrodo per l applicazione della tensione di polarizzazione. Il campo elettrico presente tra i due elettrodi è uniforme e dell ordine di qualche decina di kv/cm (il sistema è a tutti gli effetti un condensatore a facce piane e parallele). Il segnale viene prelevato tramite delle strisce metalliche (strip) poste esternamente alla camera. Le caratteristiche più rilevanti di questi rivelatori sono l eccellente risoluzione temporale e la possibilità di operare ad alti rate. Anche la risoluzione spaziale è abbastanza buona; ad esempio in particolari condizioni il centroide del profilo di carica indotta è stato determinato con una risoluzione FWHM di 0, 12 mm [15]. Il costo moderato di questi rivelatori li rende una tecnologia molto utilizzata per la costruzione di rivelatori di grande area. 30

31 Figura 2.1: Rappresentazione schematica di un rivelatore RPC. [18] Fisica del rivelatore Come nelle altre tipologie di rivelatori a gas, il fenomeno sfruttato per la rivelazione delle particelle è quello della ionizzazione del mezzo da parte delle particelle cariche. Una particella carica che entra nell area attiva del rivelatore cede parte della sua energia al mezzo gassoso ionizzando alcune molecole di gas. Le cariche libere (coppia elettrone ione positivo) formate nel processo di ionizzazione vengono accelerate dal campo elettrico uniforme a una energia tale da produrre nuovi fenomeni di ionizzazione (ionizzazioni secondarie). Le cariche prodotte per ionizzazione secondaria danno origine a nuovi fenomeni di ionizzazione producendo un effetto a valanga, cioè si moltiplicano creando un flusso di elettroni e di ioni positivi da una piastra all altra del condensatore [16]. Gli elettroni rispetto agli ioni positivi possiedono una velocità di deriva più alta tipicamente di un fattore 10 3, perciò si trovano in testa alla valanga e formano il cosiddetto segnale veloce. La diversa mobilità di elettroni e ioni influisce anche sulla forma della valanga che assume una forma tipica a goccia (fig. 2.2). Le cariche prodotte dallo sviluppo della valanga si neutralizzano sugli elettrodi producendo una corrente nel circuito esterno ed una variazione localizzata, spazialmente e temporalmente, della differenza di tensione ai capi degli elettrodi. L utilizzo di piani resistivi garantisce la diffusione localizzata delle cariche così da lasciare costantemente inalterate le prestazioni della parte restante del rivelatore [17]. A differenza di altri tipi di rivelatore a gas, l intenso campo elettrico uniforme che si instaura tra i due elettrodi molto ravvicinati (distanza tipica di 2 mm) permette l istantanea formazione di una valanga, qualunque sia il punto del rivelatore in cui è passata la particella ionizzante (senza bisogno 31

32 Figura 2.2: Sviluppo della valanga in un rivelatore RPC. [17] di deriva delle cariche primarie prima dell innesco della valanga). Questo garantisce una migliore risoluzione temporale. Un elettrone libero nel volume di gas di un RPC tende a muoversi con una velocità di deriva costante v d verso l anodo, grazie all azione combinata del campo elettrico costante e delle interazioni con gli atomi del gas. Le ionizzazioni successive da parte degli elettroni in moto verso l anodo comportano una moltiplicazione della carica inizialmente presente, secondo la legge [17]: dn = n(α η)dx (2.1) dove α è il primo coefficiente di Townsend; il coefficiente η tiene conto del fenomeno di cattura degli elettroni da parte di atomi neutri che dà luogo a ioni negativi. L integrazione della equazione 2.1 tra x=0 e x=x porta a: n = n 0 e (α η)x (2.2) che comporta una moltiplicazione esponenziale di carica. Il guadagno di carica G = n/n 0 viene a dipendere dalla distanza del cluster di prima ionizzazione dall anodo. Le valanghe generate in prossimità dell anodo non hanno spazio per svilupparsi a sufficienza per essere rivelate. Nei più diffusi RPC a gap di 2 mm solo le valanghe generate dai cluster creati nei primi µm vicino al catodo (gap utile di ionizzazione) possono dare origine a un segnale rivelabile, avendo lo spessore restante del gap per svilupparsi (gap utile di moltiplicazione). Al limite in cui la ionizzazione parte vicino al catodo si ha il guadagno di moltiplicazione massimo di G = e (α η)d, con d lo spessore del gap. Con il processo di moltiplicazione a valanga generalmente si arriva fino alla produzione di 10 7 elettroni. Se questo numero diventa dell ordine di 10 8 si può avere la degenerazione in fenomeni di streamer o breakdown. 32

33 Il moto delle cariche libere nella gap genera una corrente data da [17]: I (t) = en 0v d e (α η)v d t d I + (t) = en 0v d+ d 0 t T (2.3) α α η (e(α η)d e (α η)v d+t ) T t T + (2.4) dove I è la corrente dovuta agli elettroni che arrivano sull anodo; I + è la corrente dovuta agli ioni positivi sul catodo, v d e v d+ rappresentano rispettivamente la velocità di deriva degli elettroni e degli ioni positivi; T = d/v d e T + = d/v d+ sono i tempi massimi di transito di elettroni e ioni rispettivamente. Se si considerano gli effetti di carica spaziale, situazione più simile al caso reale le equazioni 2.3 e 2.4 si complicano ulteriormente Modello elettronico Il funzionamento di una camera RPC è basato sul principio di scarica locale, ossia sul fatto che la carica generata nella valanga, una volta arrivata all elettrodo, a causa del suo carattere resistivo, non si disperde sulla intera superficie, ma lo attraversa fino a raggiungere lo strato di grafite [17]. Il rivelatore può essere pensato come una matrice di celle di rivelazione indipendenti tra loro; l estensione superficiale S di tali celle è proporzionale alla carica totale Q liberata nel gas e allo spessore d della gap. La singola cella può essere descritta dal modello elettronico in fig. 2.3 [18]. La corrente di ionizzazione è trattata come un generatore di corrente i (t); la strip di lettura, a causa della sua lunghezza, viene trattata come una linea di trasmissione terminata ad entrambe le estremità sulla sua impedenza caratteristica R 0 (da un lato back-end la terminazione verso massa è passiva, mentre dal lato di lettura front-end la terminazione è l ingresso del circuito di amplificazione e discriminazione). I condensatori C g = ɛ 0 S/d e C b = ɛ 0 ɛ r S/s sono rispettivamente le capacità del gap di gas e della bakelite (d e s sono gli spessori rispettivamente della gap e della bakelite, ɛ r è la costante dielettrica relativa della bakelite); C a e C c sono capacità di accoppiamento parassite. Le resistenze R b, R s e R c sono rispettivamente la resistenza della bakelite (R b = ρs/s), la resistenza superficiale della bakelite e la resistenza dello strato di grafite. Il movimento delle cariche nella gap gassosa induce un segnale sulle strip di campionamento esterne. La componente veloce di questa corrente, che costituisce il segnale utile, è dovuta al moto di deriva degli elettroni. L intensità della corrente indotta può essere dedotta col metodo del weighting field. Essa è proporzionale alla corrente di ionizzazione della gap secondo la 33

34 Figura 2.3: Modello elettronico di un rivelatore RPC. [18] formula: i(t) = kq(x) v d d (2.5) dove la costante di proporzionalità k è legata alla geometria della cella ed è data da [18]: k = C b C b + C g = ɛ d r s d ɛ r + 2 (2.6) s Dopo il passaggio di una particella ionizzante, la corrente nella gap di gas scarica il condensatore C g e la differenza di potenziale è spostata su C b. Il campo elettrico esterno è temporaneamente spento. Il tempo necessario affinché l area del rivelatore interessata dalla valanga S ritorni operativa è dato da: τ = R b (C g + 2C b ) = ρɛ 0 (ɛ r + 2 s d ) (2.7) Inserendo il valore della resistività della bakelite e considerando s/d 1 si trova che il tempo τ è dell ordine della decina di ms. 34

35 2.1.3 Regimi di funzionamento I rivelatori RPC possono operare in due regimi di funzionamento differenti: a scintilla (streamer) o a valanga (avalanche). I primi RPC utilizzavano il regime a scintilla in quanto il segnale fornito dalla carica indotta era più ampio di un fattore rispetto al regime a valanga [16]. Questo modo di funzionamento è caratterizzato dalla presenza localizzata di gas allo stato di plasma. Il fenomeno si manifesta quando il numero di elettroni nella valanga raggiunge un valore critico dell ordine di 10 8 (limite di Raether), per cui il campo elettrico generato dalla densità di carica spaziale diventa confrontabile con il campo elettrico esterno e influisce sul processo di sviluppo della valanga. Il funzionamento in regime streamer possiede tuttavia dei problemi, tra cui soprattutto un basso limite per il rate di eventi osservabili ( 10 Hz/cm 2 ), inferiore ai tipici 150 Hz/cm 2 della modalità a valanga. Il funzionamento in regime avalanche garantisce inoltre una maggiore longevità dei rivelatori e una minore dissipazione di potenza, data la minor corrente che attraversa il rivelatore. Con il funzionamento in regime a valanga si rende però necessario l utilizzo di uno stadio di ampilficazione nell elettronica di front-end, ed inoltre risulta più difficile la separazione fra segnale e rumore di fondo [17] Gli RPC di OPERA Il sistema degli RPC di OPERA è costituito da circa 1000 camere per una superficie totale di 3000 m 2. I rivelatori usati sono degli RPC a singolo gap operanti in streamer mode. I due elettrodi piani sono in bakelite e formano un gap di gas di 2 mm. Essi sono trattati all esterno con una vernice di grafite avente resistività superficiale di circa 100 kω/. La forma di questi RPC è rettangolare, con dimensioni 2904 mm di larghezza e 1128 mm in altezza. Al fine di assicurare l uniformità del campo elettrico, una griglia di spaziatori è inserita nel gap di gas, con una spaziatura di 10 cm. Ciascun RPC opera con una miscela di gas composta da Ar/C 2 H 2 F 4 / /I-C 4 H 10 /SF 6 nei rapporti di volume 75, 4/20, 0/4, 0/0, 6 [19]. Nei rivelatori il gas viene fatto fluire a un ritmo di cinque ricambi completi al giorno, con un sistema di tipo open flow. Con la miscela di gas suddetta i rivelatori RPC vengono fatti funzionare con una tensione di 5, 8 kv e una corrente inferiore a 100 na/m 2. L alta tensione è divisa simmetricamente tra l elettrodo positivo e l elettrodo negativo in modo da facilitare l isolamento dal ground. Le strip di lettura sono poste su entrambi i lati delle camere RPC in direzioni perpendicolari tra loro. Il segnale prelevato sulle strip poste in corrispondeza dell anodo è negativo; il segnale delle strip in corrispondenza 35

36 del catodo è positivo. Un tipico segnale di questi rivelatori ha ampiezza di qualche centinaio di mv e durata di qualche decina di ns. La figura 2.4 mostra un segnale di RPC proveniente da un test di laboratorio effettuato sugli RPC di OPERA. Figura 2.4: Segnale di un rivelatori RPC di OPERA alimentato a 8200 V letto dalle strip negative. 2.2 Lo spettrometro di OPERA L esperimento OPERA [20] è un esperimento di long-baseline sulla fisica del neutrino, attualmente operativo presso i laboratori sotterranei del Gran Sasso (LNGS). Scopo dell esperimento è quello di fornire dirette osservazioni di apparizione di ν τ dalle oscillazioni ν µ ν τ nel fascio di neutrini CNGS (CERN Neutrino to Gran Sasso). Il disegno del rivelatore è basato su un bersaglio di piombo massivo/emulsione nucleare (ECC) complementato da scintillatori plastici che consentono la localizzazione dell evento e pilotano la scansione delle emulsioni. Il bersaglio è seguito da uno spettrometro magnetico basato sull utilizzo a larga scala di rivelatori RPC come tracciatori. Esso ha la funzione di riconoscere la carica del muone per mezzo del campo magnetico e di ricostruire all indietro il punto di interazione del ν µ nel bersaglio. Grazie alle ottime caratteristiche temporali, gli RPC consentono di generare un segnale di 36

37 prompt per l elettronica dei drift tubes (DT), i quali rivelatori garantiscono una ricostruzione delle tracce con grande accuratezza. Lo spettrometro (fig. 2.5) è costituito da un magnete dipolare che garantisce un campo magnetico di 1, 55 T dentro il magnete. Quest ultimo è fatto da due pareti in ferro intervallate da tracciatori ad alta risoluzione che consistono in drift tubes verticali posizionati prima, in mezzo e dopo il magnete. Ciascuna parete è fatta da 12 strati di ferro spessi 5 cm. Essi sono separati da intercapedini larghe 2 cm dove sono inseriti i rivelatori RPC. Il ferro è magnetizzato da una corrente di circa 1200 A che circola in bobine di rame poste nella parte superiore e inferiore del magnete. Le dimensioni trasverse dell area utile del magnete sono 8 m in altezza e 8, 7 m in larghezza. Il bersaglio, con la relativa strumentazione, e lo spettrometro costituiscono un supermodulo. L esperimento OPERA è fatto da due supermoduli ospitati nella Hall C del LNGS. I rivelatori RPC utilizzati hanno un gap di gas di 2 mm e operano in streamer mode. I segnali indotti sono prelevati per mezzo di strisce di rame posizionate su entrambi i lati dei piani RPC. Le strisce corrono in due direzioni perpendicolari in modo da fornire una informazione bidimensionale. Esse hanno un passo di 26 mm e sono lunghe 8 m per la direzione verticale; hanno un passo di 35 mm e lunghezza di 8, 7 m nella direzione orizzontale. (a) (b) Figura 2.5: (a) Layout dello spettrometro di OPERA. (b) Layout degli RPC di OPERA. [20] 37

38 La carica indotta è dell ordine di 100 pc e l impulso ha un tempo di salita di qualche ns. I segnali dalle strip sono raccolti per mezzo di speciali schede chiamate Interconnection Boards (IB) e inviati alle schede di front-end (FEB) tramite cavi twisted-pairs (fig. 2.6). Le IB, oltre a far combaciare la modularità dei cavi con il passo delle strip, sono anche utilizzate per connettere la massa delle strip con il ground comune dello spettrometro. Sulle estremità lontane delle strip sono piazzate resistenze da 26 Ω per garantire l adattamento di impedenza e quindi evitare la riflessione del segnale. Ciascun piano di RPC copre una superficie di 70 m 2. Undici piani di RPC sono ospitati in ciascun braccio dello spettrometro, 44 per l intero apparato. In totale l area coperta dai rivelatori RPC è di 3000 m 2, per un numero totale di canali pari a Figura 2.6: Una Interconnection Board. [21] 2.3 Elettronica degli RPC di OPERA L elettronica di read-out degli RPC di OPERA [21] consiste in tre stadi separati: il sistema delle Front End Board (FEB), il sistema delle Controller Board (CB) e il sistema delle Trigger Board (TB). Le schede di elettronica sono ospitate in 26 crate EUROCARD 6U, ciascuno dei quali può contenere 19 schede. Le FEB hanno la funzione di discriminare e formare i segnali dalle strip e di generare un segnale di fast-or usato per triggerare l acquisizione di un piano. L acquisizione di un piano è gestita dalle CB, le quali provvedono anche ad impostare i parametri di funzionamento delle FEB (soglie, polarità dei segnali in ingresso, tempo di shaping, maschere di ingresso) tramite una connessione seriale con le FEB e a comunicare i dati acquisiti, assieme al tempo dell evento, al DAQ dell esperimento. Nove FEB e una CB sono usate per leggere il singolo piano. Infine le TB permettono di introdurre una correlazione tra i segnali entro ciascun braccio dello spettrometro. 38

39 Figura 2.7: Schema a blocchi di una Front End Board degli RPC di OPERA. [21] La Front-End Board Lo schema dell elettronica della Fron End Board di OPERA, disegnato per memorizzare al massimo un singolo evento per burst, è mostrato in figura 2.7. Ogni FEB raccoglie i segnali da 64 strip e fornisce discriminazione e shaping e produce una uscita fast-or che contribuisce alla costruzione del segnale di fast-or di piano. Lo stadio di ingresso utilizza ricevitori LVDS usati come comparatori. Questi dispositivi, in grado di accogliere segnali differenziali e dotati di un elevato rapporto di reiezione del modo comune, consentono una buona discriminazione dei segnali trasmessi per mezzo cavi twisted-pairs. I segnali in ingresso, dopo la discriminazione e il mascheramento, seguono due percorsi differenti. Nel primo percorso i segnali sono formati a 300 ns, messi in OR e inviati alla CB per generare il segnale di trigger di piano (Plane fast-or); nel secondo percorso i segnali sono formati a 2 µs per consentire la generazione del segnale di LOAD nella CB. Quando viene ricevuto un segnale LOAD dalla CB, i segnali formati a 2 µs sono memorizzati in uno shift register a 64 bit con ingresso parallelo e uscita seriale e sono letti dalla CB. Lo Slow Control consente di impostare le condizioni di lavoro della FEB. Esso consente di impostare soglie e polarità dei segnali in ingresso per ciascun gruppo di 32 canali; una maschera di input a 64 bit permette di escludere i canali rumorosi; una sequenza di test consente di verificare il collegamento 39

40 Figura 2.8: Schema a blocchi del sistema di readout degli RPC di OPERA. [20] FEB-CB. I comandi di Slow Control sono inviati dalla CB alla FEB per mezzo della stessa connessione seriale usata la lettura dei dati La Contoller Board Le Controller Board costituiscono l interfaccia tra il sistema delle FEB e il DAQ dello spettrometro. Il diagramma a blocchi di una CB è mostrato in figura 2.8. Ciascuna CB è in grado di leggere i segnali digitali immagazzinati negli shift register delle FEB e di gestire i segnali di Slow Control verso di esse. Essa inoltre riceve in ingresso nove segnali di fast-or dalle FEB e genera l output di fast-or di piano, usato per scopi di trigger. La CB ospita una scheda figlia detta mezzanino che fornisce il time stamp dell evento e permette di comunicare col DAQ tramite la connessione ethernet. Le CB possono operare in due modalità: auto-trigger e external trigger. Nella modalità auto-trigger un singolo fast-or fa partire l acquisizione dell intero piano; quando la CB è in modalità di external-trigger, invece, l acquisizione parte all occorrenza di un trigger esterno, ossia quando le condizioni 40

41 selezionate di trigger tra i vari piani RPC sono soddisfatte. Il segnale di trigger è contato e ne viene fatto un time stamp dal mezzanino. Quando le condizioni di trigger sono soddisfatte, la CB abilita un segnale di BUSY per indicare che la procedura di acquisizione è in corso e invia un segnale comune di LOAD alle FEB. Il segnale di LOAD è seguito da un treno di 64 colpi di clock alla frequenza di 10 MHz per eseguire la lettura degli shift register a 64 bit d ciascuna FEB (l acquisizione dei singoli shift register è seriale, mentre tutte le FEB sono lette in parallelo). La CB impiega circa 8 µs per completare l acquisizione di un piano di RPC; questo garantisce una velocità massima di acquisizione di circa 100 MHz per piano. L informazione dagli shift register è elaborata con un algoritmo di zero-suppression e organizzata in parole da 20 bit, prima di essere inviata al mezzanino. In seguito a un trigger il segnale di LOAD è trasmesso alle FEB solo se BUSY è disabilitato, questo per evitare l accavallamento tra l acquisizione e la trasmissione dei dati. I segnali di fast-or di piano e di trigger che arrivano durante il processo di acquisizione sono contati e caratterizzati temporalmente al fine di valutare l efficienza di trigger e di identificare i trigger persi. Il mezzanino esegue una semplice formattazione dei dati, aggiungendo il time stamp dell evento. La misura precisa (10 ns) del tempo dell evento è ottenuta per mezzo del sistema GPS (Global Position System) attraverso il clock PPS (Pulse Per Second). L informazione dell evento è trasmessa al sistema DAQ attraverso un protocollo Ethernet. Il mezzanino consente inoltre di impostare i parametri dello Slow Control all inizio del run. Una interfaccia seriale indipendente consente la gestione della CB per scopi di test La Trigger Board La Trigger Board è stata sviluppata al fine di minimizzare l effetto delle sezioni rumorose dell apparato imponendo condizioni di trigger speciali tra gli 11 piani dello spettrometro e un segnale esterno proveniente da altri rivelatori. Ogni TB gestisce l acquisizione di un intero braccio dello spettrometro. Il trigger generato viene distribuito solo alle CB che interessate dalle condizioni di trigger, in modo tale che l acquisizione dei dati cominci solo sui piani dove è capitato un segnale di Plane OR. La TB permette di selezionare 8 condizioni di trigger differenti tra i 16 canali di input (11 dagli RPC e 5 provenienti da altri rivelatori). Essa è in grado di rispondere ad ogni configurazione in ingresso entro 175 ns, ben 41

42 al disotto i 300 ns del segnale LOAD generato dalla CB. L elaborazione dei segnali di trigger è implementata per mezzo di LUT (Look Up Table). Una scheda mezzanino costituisce l interfaccia col DAQ ed è usata per impostare le condizioni dei canali in input (AND, FIXED PLANE, NOT, ENABLE) e il livello di maggioranza. Il mezzanino consente inoltre l acquisizione delle condizioni di trigger, il tempo di trigger e il trigger pattern, ossia i piani dello spettrometro che concorrono al trigger. 42

43 Capitolo 3 La front-end board di NESSiE Questo capitolo tratterà in dettaglio la scheda di front-end per i rivelatori Iron RPC dell esperimento NESSiE. La trattazione comincerà con la descrizione delle specifiche per la scheda per poi proseguire con il resoconto delle varie fasi del progetto della scheda. Infine verrà data una descrizione dei componenti elettronici principali presenti sulla scheda e delle loro funzionalità. Nel lavoro di tesi mi sono occupato da vicino del progetto della front-end board di NESSiE in tutte le sue fasi, in particolare per quanto riguarda la programmazione del firmware della FPGA. 3.1 Il DAQ di NESSiE Nell esperimento NESSiE il sistema di acquisizione dei dati per ciascun rivelatore sarà costituito dalle Front-End Board (FEB), dalle Controller-Trigger Board (CTB) e dallo Event Builder. Il sistema di Data Acquisition (DAQ) è costruito come una rete Ethernet i cui nodi sono le Front End Board, le quali sono provviste di un controller Ethernet (fig. 3.1). Le FEB sono state progettate per discriminare i segnali provenienti dai rivelatori RPC, memorizzarli e fornire per essi un time stamp. Le FEB inoltre forniscono in uscita un segnale di fast-or, il quale è messo alto per una durata fissa quando almeno uno dei canali in ingresso è attivo e viene usato dal DAQ per scopi di trigger (tramite le CTB). La rete Ethernet è usata per raccogliere i dati dalle FEB ed inviare alle FEB i comandi di configurazione, monitoraggio e slow control [1]. Il DAQ agisce in modo sincrono con il ciclo dell acceleratore SPS (fig. 3.2). Per ogni ciclo macchina sono previsti due spill da 10 µs ciascuno intervallati da un tempo di circa 50 ms e seguiti da una pausa di circa 6 s. Immediatamente prima del primo spill il DAQ invia a tutte le FEB un segnale di Beam 43

44 Figura 3.1: Schema semplificato del sistema di data acquisition di NESSiE (per il Far detector). Warning al fine di preparare le FEB alla scrittura dei dati. I dati relativi ai due spill vengono acquisiti durante le due finestre da 10 µs ed inviati dalle FEB al sistema di elaborazione durante il periodo di inter-spill. Il periodo di inter-spill è utilizzato anche per l acquisizione di raggi cosmici. Figura 3.2: Ciclo di spill dell esperimento NESSiE. 44

45 Complessivamente il sistema del DAQ sarà costituito da 600 FEB, ripartite come 360 per lo spettrometro Far e 240 per lo spettrometro Near. Nel Near detector ogni piano di rivelatori è acquisito da 6 FEB; nel Far detector ogni piano di rivelatori è acquisito da 9 FEB. Le FEB saranno ospitate in crate ognuno dei quali conterrà 18 FEB e una CTB. In totale si avranno 20 crate per il rivelatore Far e 14 crate per il rivelatore Near. 3.2 Specifiche della FEB Il progetto della scheda di front-end per i rivelatori RPC risponde alle richieste da parte del DAQ di NESSiE [22]. Esso segue lo schema a blocchi di figura 3.3. Figura 3.3: Schema a blocchi della FEB. La singola FEB legge 64 segnali elettronici da rivelatori RPC ed è in grado di gestire sia segnali negativi che segnali positivi. Il segnale dai rivelatori RPC è discriminato per mezzo di ricevitori LVDS (4 chip 75LVDS386, ognuno dei quali riceve 16 segnali) che agiscono come discriminatori e di qui inviati ad una FPGA. Le soglie per i discriminatori sono impostate mediante due DAC a 10 bit della serie DAC5652. Essi consentono di impostare separatamente le soglie per i 4 chip LVDS (ogni chip DAC5652 contiene due DAC fisici). I valori delle soglie sono letti per mezzo un ADC a 10 bit e a 4 canali 45

46 (ADC104S051). Poiché i segnali provenienti dai rivelatori RPC avranno ampiezza di mv, tipici valori di soglia saranno tra mv. I segnali una volta discriminati sono memorizzati in un buffer circolare, implementato su una FPGA (Field Programmable Gate Array). Oltre a fornire la funzionalità di buffer circolare, la FPGA deve implementare il time-stamp, il fast-or con la possibilità di mascheramento dei canali rumorosi, l interfaccia Ethernet. La scrittura nel buffer avviene in modo continuo con un clock da 10 ns (prodotto localmente sulla FEB). La scrittura sul buffer è abilitata dalla DAQ e parte e si ferma con un segnale di START WRITE BUF (HIGH) / STOP WRITE BUF (LOW). Il segnale è distribuito a tutte le schede FEB attraverso il modulo di trigger. Durante lo stop, il DAQ può avviare la lettura. Un segnale di ABORT può interrompere le operazioni di scrittura e predisporre la FEB per un nuovo ciclo. La FEB genera due segnali di fast-or organizzati a gruppi di 32 canali. I segnali di OR sono inviati sul backplane del crate in modo da essere resi disponibili a una scheda di trigger in grado di formare un OR di piano e di svolgere le funzioni di trigger supervisor. La lettura della scheda di front-end avviene tramite interfaccia Fast Ethernet 100BASE-TX con protocollo UDP. I parametri della FEB come soglie, maschere, ecc. possono anch essi essere impostati tramite l interfaccia Ethernet. È stata prevista, inoltre, la possibilità di aggiornare il firmware della FPGA mediante Ethernet. La comunicazione sulla Ethernet è mediata dal chip DP83848C PHYTER che gestisce il Physical Layer, ossia provvede alla ricezione e trasmissione dei segnali sul mezzo fisico (il cavo ethernet); il livello di protocollo è gestito internamente alla FPGA. La FPGA comunica con il PHYceiver tramite una interfaccia RMII (Reduced Media Independent Interface). FPGA e PHYceiver sono serviti da un clock a 50 MHz generato da un oscillatore al quarzo (tale frequenza è raddoppiata all interno della FPGA) Il formato della scheda La FEB ha un fattore di forma VME, compatibile con il crate EUROCARD 6U utilizzato nell esperimento OPERA (e che si prevede di riutilizzare in NESSiE). Il bus VME o VMEbus [23] è un bus standard per computer utilizzato ampiamente in applicazioni di informatica ed ingegneria. VME è acronimo di VERSABUS Module Eurocard. Il bus VME è dotato di due connettori separati, generalmente indicati con P1 e P2, entrambi dotati di 3 linee da 32 pin. Questo tipo di connettore è denominato come DIN (fig. 3.5(a)). 46

47 Figura 3.4: Crate EUROCARD 6U (vista frontale). [25] (a) (b) Figura 3.5: (a) Schema del connettore DIN [26] (b) Dimensioni fisiche delle schede VME. [27] 47

48 Il bus VME è basato sullo standard Eurocard. Eurocard [24] è un formato standard europeo per circuiti stampati, spesso anche detto scheda formato Europa. Schede Eurocard possono essere interconnesse in una struttura standardizzata chiamata subrack. Il subrack consiste in una serie di guide, posizionate in alto ed in basso, nei quali le schede possono scivolare e possano stare in verticale, come libri su uno scaffale. Sul retro di ciascuna scheda si trovano uno o più connettori, i quali a loro volta si inseriscono in un connettore fissato su una scheda (noto anche come Backplane ) che costituisce il retro del cassetto subrack. I subrack e le schede hanno dimensioni standardizzate sia in orizzontale che in verticale. L altezza è specificata mediante l unità U, dove 1U equivale a 1,75 pollici (44,45 mm). La larghezza è specificata dall unità HP, dove 1 HP equivale a 0,20 pollici (5,08 mm). U sta per Unit, unità e HP per Horizontal Pitch, ossia passo orizzontale. Le schede Eurocard vengono prodotte con profondità modulari, partendo da 100 mm e quindi aumentando a passi di 60 mm. Le dimensioni della FEB, vincolate da quelle del crate, sono di 233 mm in altezza e 160 mm in profondità Segnali di ingresso e uscita alla FEB I segnali di ingresso e di uscita alla FEB (fig. 3.6) sono di seguito elencati: 64 inputs dai rivelatori RPC (positivi e negativi). I segnali raccolti dalle strip dei rivelatori RPC sono inviati tramite cavi twisted pairs sul backplane del crate e di qui alle FEB. Anche se la FEB lavorerà con segnali single-ended (una delle due polarità sarà collegata con la massa), essa, per come è costruito lo stadio di ingresso, può anche gestire segnali bipolari. Segnale di WRITE BUF: esso abilita la scrittura dei dati sul buffer circolare. clock esterno (cycle): questo segnale è mandato dalla DAQ alla FEB con una periodo di 0,6 sec. Esso serve al fine della marcatura temporale del segnale in ingresso. Segnale di ABORT: permette di terminare qualsiasi processo e portare la FEB ad essere pronta per un nuovo ciclo di acquisizione. Segnali di fast-or: la FEB genera un segnale di OR a gruppi di 32 canali. 48

49 Segnale PULSE: segnale di diagnostica che può essere inviato dal DAQ per verificare il corretto funzionamento della FEB. Esso simula un segnale di RPC inviato su tutti i canali. segnali switch (SW[11:0]): questi segnali sono usati per impostare un MAC address Ethernet unico per ogni FEB, basato sulla localizzazione geografica (crate, posizione). Dei 12 bit che compongono questo bus, 6 identificano il crate e saranno impostati manualmente mediante DIP switch montati sul backplane; gli altri 6 bit saranno impostati elettronicamente mediante il backplane e identificheranno univocamente ognuna delle 19 schede montate sul crate. Interfaccia Ethernet: l interfaccia Fast Ethernet 100BASE-TX con protocollo UDP è utilizzata per la trasmissione dei dati al DAQ e la ricezione di segnali di controllo. La connessione ethernet avviene mediante un connettore di tipo RJ-45 posto sulla facciata anteriore della scheda. Infine, sulla parte anteriore della FEB sono presenti dei LED ad indicare lo stato della FEB. Figura 3.6: Schema della FEB indicante i segnali in ingresso e in uscita. 49

50 3.2.3 Il time stamp L implementazione del time-stamp è una tra le questioni più critiche del progetto della FEB. A tal proposito sono stati ipotizzati tre diversi scenari dal grado crescente di complessità [22]. 1. Nessun time stamp è prodotto dalla FEB. Il segnale di START WRITE BUF / STOP WRITE BUF viene marcato temporalmente esternamente alla FEB. La FEB conta il numero di START WRITE BUF / STOP WRITE BUF in modo da associare il contenuto del buffer ad un particolare ciclo. Il suo valore è memorizzato in un registro R/W. Il segnale di START WRITE BUF sincronizza la fase del clock interno. La marca temporale del segnale in ingresso alla FEB è data dalla sua posizione all interno del buffer circolare in quanto la scrittura nel buffer è sincrona con il clock interno. Questo sistema è di facile implementazione e di facile utilizzo in un setup di laboratorio in quanto per acquisire la scheda è sufficiente generare il segnale di START/STOP WRITE BUF e permette di studiare il funzionamento del buffer circolare. 2. Semplice time stamp prodotto dalla FEB. La marcatura temporale del segnale di ingresso è fatta nella FEB attraverso due contatori: il primo è un contatore fine che conta un segnale di clock 100 MHz prodotto localmente sulla FEB, il secondo è un contatore più grossolano che conta un segnale di clock esterno (cycle) mandato dalla DAQ alla FEB con una periodo di 0,6 sec. Quando arriva un segnale di STOP WRITE BUF il valore di questi due contatori vengono memorizzati all interno di due registi e poi mandati alla DAQ insieme al contenuto del buffer circolare alla fine del ciclo di lettura. Il contatore del clock a 100 MHz viene azzerato ad ogni inizio ciclo. Una soluzione simile è stata adottata nell esperimento OPERA (fig. 3.7). Nel caso di NESSiE il segnale di trigger riportato in figura 3.7 sarebbe il segnale STOP WRITE BUF. 3. White Rabbit. La terza soluzione prevede l utilizzo del protocollo White Rabbit (WR), protocollo di nuova generazione che si sta sviluppando al CERN. Il WR [29] è un protocollo basato su Ethernet che combina il protocollo IEEE 1588, anche noto come Precision Time Protocol (PTP), con il Synchronous Ethernet (SyncE). Il PTP è un protocollo che usa messaggi che trasportano precise informazioni di timing; il SyncE fornisce un meccanismo per trasferire una frequenza per mezzo della connessione 50

51 Figura 3.7: Schema del sistema di marcatura temporale di OPERA [28] Ethernet. Il nuovo protocollo WR, secondo recenti test, sarebbe in grado di fornire un timing con precisione inferiore al nanosecondo. Utilizzando il protocollo White Rabbit è possibile marcare temporalmente i segnali di ingresso alla FEB utilizzando un sistema di contatori simili a quelli descritti al punto 2). Tra le tre possibilità proposte è stata scelta la seconda, considerata la più fattibile. È stato scelto, almeno per il momento, di accantonare l utilizzo del protocollo White Rabbit, essendo questa tecnologia non ancora ben affermata. Per maggiori dettagli sull implementazione del time-stamp si rimanda al paragrafo Differenze con la FEB di OPERA Il modo di operare della nuova FEB si distingue da quello della vecchia FEB della elettronica di OPERA. Nel caso dell elettronica di OPERA, l acquisizione dei dati dalle FEB avveniva solo quando venivano soddisfatte delle condizioni di trigger, il quale era elaborato da una Trigger Board sulla base dei segnali di fast-or di piano (si veda il par. 2.3). La lettura dei dati dalle FEB era comandata da una Controller Board collegata alle FEB tramite connessioni seriali. Essa utilizzava un algoritmo di zero-suppression per ridurre il volume dei dati da inviare al DAQ tramite connessione Ethernet. Occorre osservare che nel caso dell esperimento OPERA il rate di evento è molto più basso rispetto a quello atteso per NESSiE, sia per la minore luminosità del fascio di neutrini e la maggiore distanza del rivelatore ( 800 km), ma anche per il fatto che le interazioni da radiazione cosmica sono notevolmente ridotte a causa dell ubicazione sotterranea dell esperimento. Questi fattori fanno sì che i dati relativi al singolo evento possano essere acquisiti 51

52 dal DAQ nel tempo che intercorre tra due eventi successivi senza una rilevante perdita di eventi. Quanto appena detto per l elettronica di OPERA non vale per l esperimento NESSiE, in cui il rate atteso nello spettrometro è di diverse decine di eventi per spill nel rivelatore Near e di alcuni eventi nel Far. A causa dell alto rate di eventi le FEB opereranno in modalità trigger-less, in cui l uscita dei discriminatori viene campionata e memorizzata in un buffer circolare per tutta la durata di una gate di spill esterna, la quale dovrebbe includere completamente il beam spill. La modalità trigger viene usata solo durante l acquisizione di raggi cosmici, in cui la scrittura dei dati sul buffer circolare avviene mediante una fake gate generata a livello della scheda di trigger. In questo caso non è rilevante la perdita di eventi durante la lettura delle FEB. Altra differenza rispetto alla elettronica di OPERA è che in NESSiE non è prevista zero-suppression sui dati a livello di FEB. Alla base di questa scelta c è la considerazione che, dato l alto rate di eventi e il fatto che ogni evento è distribuito in una finestra temporale di 50 ns a causa della lunghezza delle strip di lettura (8 9 m), la zero-suppression non comporterebbe un rilevante guadagno in termini di lunghezza dei dati da trasmettere, in quanto questa scelta significherebbe associare ad ogni hit una marcatura temporale, la quale ha una dimensione di 64 bit. Trasmettere tutti i dati in blocco, invece, rende necessari solo due time-stamp, ossia quelli di inizio e fine spill. Assumendo il caso peggiore, ossia il dover trasmettere il contenuto della memoria del buffer circolare per intero, la trasmissione di 32KB di dati per scheda (64 channels 4kb) su una connessione Fast Ethernet da 100 Mbps impiegherebbe un tempo di circa 1, 2 ms 300 FEBs. 3.3 Il progetto della FEB Si descriveranno nel seguito le varie fasi del progetto della front-end board, di cui mi sono occupato. Nella fase preliminare della progettazione ci si è occupati dello stadio di ingresso dei segnali della FEB. In questa fase sono state eseguite delle misure di laboratorio sui ricevitori LVDS per verificare il funzionamento di questi dispositivi come discriminatori (par. 5.1). Dopo che sono state ben delineate le specifiche della FEB, si è cominciato con il definire i componenti principali della FEB (FPGA, DAC, ADC, ecc.). Al progetto della FPGA, componente centrale nel progetto della FEB, è dedicato l intero capitolo 4 di questa tesi. Una volta definito il pin-out della FPGA si è proceduto con il disegnare lo schematico della scheda. Lo schematico mostra tutti i componenti elettronici 52

53 Figura 3.8: Disegno del circuito stampato per la FEB di NESSiE. 53

54 (comprese resistenze, condensatori, ecc.) presenti sulla scheda e le loro interconnessioni. La fase successiva è quella del disegno del layout della scheda, ossia la progettazione del circuito stampato (PCB), di cui è mostrato uno schema in figura 3.8. La realizzazione della PCB è stata affidata ad una ditta esterna. Una volta disponibili la PCB e tutti i componenti si procederà all assemblaggio della scheda. Sul prototipo della scheda sono stati eseguiti test in laboratorio sulla parte di discriminazione del segnale, mentre non essendo ancora disponibile la scheda si è proceduto alla simulazione per la FPGA. 3.4 Discriminatori LVDS Per quanto riguarda lo stadio di ingresso dei segnali degli RPC, poiché il segnale degli RPC (fig. 2.4) è sufficientemente ampio (> 100 mv ) e solo Figura 3.9: Esempio di segnali LVDS. Gli ingressi V IA e V IB assumono tipicamente i valori 1V - 1,4V, che corrispondono ad un segnale differenziale V ID di ±0, 4 V. Per il segnale in uscita sono mostrati i tempi caratteristici di salita/discesa (t r e t f ) e di attraversamento (t P HL e t P LH ). [31] 54

55 l informazione di tracciamento deve essere inviata al DAQ, sulle FEB non sono richiesti né preamplificatori e né comparatori ad alta sensibilità. Per questo motivo quindi, è stato disegnato uno stadio di ingresso con ricevitori LVDS usati come comparatori. Questa soluzione rispecchia quella adottata nell esperimento OPERA [30]. Normalmente i ricevitori LVDS sono utilizzati assieme a trasmettitori LVDS che funzionano sostanzialmente come dei generatori di corrente che forniscono una corrente di 3, 5 ma il cui verso (uscente/entrante) corrisponde al valore logico (H/L). Il segnale di corrente è inviato dal trasmettitore su un cavo che lo collega al ricevitore. Una resistenza di terminazione di 100 Ω è utilizzata per l adattamento di impedenza e quindi per evitare riflessioni del segnale. Il ricevitore LVDS è in sostanza un comparatore che, nella modalità comune di utilizzo, riceve in ingresso un segnale differenziale di ±3, 5 ma 100Ω = ±350 mv e fornisce in uscita il valore logico 0-3 V. Esso lavora normalmente con un modo comune di 1, 2 V. In figura 3.9 sono rappresentati alcuni tipici segnali LVDS. La figura 3.10 mostra come i ricevitori LVDS sono utilizzati nel circuito della FEB. Il segnale (bipolare) del rivelatore RPC è terminato sulla resistenza caratteristica dei cavi twisted-pairs (100 Ω) che collegano le strip degli RPC alle FEB; segue una rete di protezione a diodi (non mostrata in fig. 3.10(a)) che protegge il receiver 75LVDS386 [31] da sbalzi improvvisi di tensione che possono provenire dagli RPC; due condensatori da 100 nf collegano i segnali (a) (b) Figura 3.10: Schema dello stadio di ingresso della FEB. (a) Rete di polarizzazione d ingresso. (b) LVDS receiver SN75LVDS

56 positivi e negativi agli ingressi del ricevitore LVDS (essi isolano l ingresso dalla tensione continua della rete di polarizzazione per la soglia). La soglia per il segnale in ingresso è impostata agendo tramite i DAC sulle tensioni indicate come VUP e VDW in fig. 3.10(a). La rete di polarizzazione è costruita in modo che il range di soglia va da 500 mv a +500 mv. Il segnale di pulse è immesso all ingresso positivo del receiver LVDS tramite un condensatore da 100 pf. Il circuito in fig. 3.10(a) è relativo al singolo canale elettronico. Esso è replicato 64 volte sulla FEB per tutti i 64 canali in ingresso. Il singolo chip 75LVDS386 contiene 16 receiver, cosicché occorrono solo 4 chip per gestire 64 canali. Le uscite dei ricevitori LVDS sono collegate direttamente alla FPGA. 3.5 Il DAC Nel progetto della FEB è utilizzato un DAC per impostare le soglie di discriminazione (analogiche) per i segnali dei rivelatori RPC in ingresso alla FEB. Per come è stato progettato, il sistema consente di impostare le soglie in un range di 500 mv 500 mv e con una risoluzione di 1 mv. Un DAC (Digital to Analog Converter) è un dispositivo in grado di convertire un segnale digitale (solitamente in codice binario) in un segnale analogico (ad esempio di corrente, tensione o carica elettrica). La tabella di conversione dal valore digitale a quello analogico prende il nome di LUT (Look-Up Table) e può avere caratteristiche proporzionali, o può seguire un andamento del tutto arbitrario, a seconda del suo impiego [32]. Il DAC5652 della Texas Instruments [33] in uso sulla FEB contiene sullo stesso chip due DAC a 10 bit che forniscono due output complementari di corrente I OUT 1 e I OUT 2 che dipendono dal codice binario in ingresso. Il DAC5652 è costituito da una schiera di sorgenti di corrente in grado di fornire una corrente di fondoscala fino a 20 ma (fig. 3.11). Un decoder interno indirizza gli switch di corrente differenziali ogni volta che il DAC viene aggiornato; la corrispondente corrente in uscita è formata indirizzando tutte le correnti in uno dei nodi I OUT 1 o I OUT 2. La funzione di trasferimento del dispositivo è lineare per valori della corrente di fondoscala nel range 2 20 ma. Le correnti I OUT 1 e I OUT 2 possono essere espresse come: ( ) Code I OUT 1 = I OUT F S 1024 ( ) 1023 Code I OUT 2 = I OUT F S (3.1) (3.2)

57 dove Code è la rappresentazione decimale della parola binaria in ingresso; I OUT F S è la corrente di fondoscala ed è la somma delle due uscite complementari. La corrente di fondoscala è impostata mediante una resistenza esterna R SET collegata sul pin BIASJ che fornisce una tensione di riferimento di 1,2 V; la risultante corrente I REF è moltiplicata internamente di un fattore 32 per produrre una corrente effettiva in uscita che può andare da 2 ma a 20 ma, a seconda del valore di R SET : I OUT F S = 32 I REF = 32 V REF R SET (3.3) Nella modalità comune di utilizzo le uscite sono collegate a resistenze di carico R LOAD in modo da produrre i segnali di tensione: V OUT 1 = I OUT 1 R LOAD ; V OUT 2 = I OUT 2 R LOAD (3.4) La tensione differenziale è di: ( ) 2 Code 1023 V OUT DIF F = V OUT 1 V OUT 2 = I OUT F S R LOAD (3.5) 1024 I due DAC nel DAC5652 possono funzionare in due modalità differenti: nella modalità Dual-bus (fig. 3.12(a)) i due DAC agiscono come due DAC indipendenti; nella modalità Single-bus Interleaved (fig. 3.12(b)) i due DAC condividono il bus del dato in ingresso. I DAC5652 sono controllati da un ingresso WRT che abilita la scrittura del dato in ingresso su un latch interno e un segnale CLK che pilota il DAC. Gli ingressi WRT e CLK sono di solito collegati insieme. Figura 3.11: Uscite analogiche del DAC5652. [33] 57

58 (a) (b) Figura 3.12: (a) Modalità operativa Dual-bus. (b) Modalità operativa Single-bus Interleaved. [33] Figura 3.13: Schematico del DAC. 58

59 Nel circuito della FEB i due DAC5652 sono utilizzati in modalità Dual-bus (fig. 3.13). Dalla FPGA partono verso i DAC un bus a 10 bit del dato digitale, collegato in parallelo a tutti i DAC fisici, e quattro linee di scrittura collegate ai rispettivi ingressi WRT e CLK di ogni DAC. L invio di un segnale di clock su una di queste quattro linee aggiorna le uscite del DAC selezionato con il nuovo valore presente sul bus a 10 bit. Le uscite dei DAC sono terminate su resistenze di carico da 56 Ω e collegate ad amplificatori CMOS AD8652 che fungono da buffer. Le uscite di questi amplificatori costituiscono le tensioni VUP e VDW della rete di figura 3.10(a). Utilizzando l equazione 3.3 con V REF = 1, 2 V e R SET = 2, 2 kω si trova che la corrente di fondoscala è pari a I OUT F S = 17, 45 ma; le tensioni VUP e VDW possono andare da 0 a 2 V (gli amplificatori introducono un guadagno di un fattore 2) e i relativi valori di soglia hanno un range 500 mv 500 mv. 3.6 L ADC L ADC è utilizzato nella FEB al fine di rileggere i valori di soglia impostati per mezzo dei DAC. La possibilità di monitorare le soglie consente di avere una sorta di processo di feedback per cui il DAQ può modificare opportunamente le soglie in base al valore letto tramite l ADC. Un ADC (Analog to Digital Converter) [34], è un circuito elettronico in grado di convertire un segnale Analogico con andamento continuo (ad es. una tensione) in una serie di valori discreti. La maggior parte degli ADC sono lineari, il che significa che sono progettati per produrre in uscita un valore che è funzione lineare del segnale di ingresso (fig. 3.14). La risoluzione di un ADC indica il numero di valori discreti che può produrre. È usualmente espressa in Bit. Per esempio, un ADC che codifica un ingresso analogico in 256 livelli discreti ha una risoluzione di 8 bit, essendo 2 8 = 256. La risoluzione può anche essere definita elettricamente, ed espressa in volt. La risoluzione in volt di un ADC è uguale alla minima differenza di potenziale tra due segnali che vengono codificati con due livelli distinti adiacenti. Essa può essere espressa come il range della misura di tensione diviso il numero di valori discreti: Q = E F SR 2 M (3.6) dove M è la risoluzione dello ADC in bit e E F SR dato da: E F SR = V RefHi V RefLow (3.7) dove V RefHi e V RefLow sono gli estremi superiore ed inferiore delle tensioni che possono essere codificate. 59

60 Figura 3.14: Caratteristica ideale di un ADC a 8 livelli. [34] Lo ADC104S051 della National Semiconductor [35], utilizzato nel progetto della FEB per leggere i valori VUP delle soglie, è un ADC CMOS a 10 bit e a 4 canali dotato di una interfaccia seriale ad alta velocità. Esso è basato su una architettura ad approssimazioni successive con un circuito interno di track-and-hold. Un ADC ad approssimazioni successive (SAR - Successive Approximation Register) usa un comparatore e un convertitore digitale-analogico; ad ogni passaggio l ADC prova a impostare un bit, partendo dal MSB (Most Significant Bit, bit con peso maggiore) e usando il DAC confronta il segnale campionato con il segnale di ingresso in feedback. Questo convertitore individua un bit ad ogni iterazione in una sorta di ricerca binaria e la risoluzione è limitata solo dalle esigenze di sample-rate e dal rumore in ingresso. L architettura dello ADC104S051 è basata su un convertitore digitale-analogico a ridistribuzione di carica; il funzionamento è mostrato in figura Nella modalità track lo switch SW1 collega il condensatore di campionamento ad uno dei quattro canali di ingresso analogico attraverso un multiplexer; l interruttore SW2 chiuso bilancia gli ingressi del comparatore. Nella modalità hold lo switch SW1 connette a massa il condensatore di campionamento mantenendo la tensione campionata e lo switch SW2 (aperto) sbilancia il comparatore; la logica di controllo comanda il DAC a ridistribuzione di carica di aggiungere delle quantità fisse di carica al condensatore di campionamento finché il comparatore non è bilanciato; quando il condensatore è bilanciato, la parola digitale fornita dal DAC è la rappresentazione digitale della tensione 60

61 Figura 3.15: Schema operativo dello ADC104S051 (in Track Mode). [35] analogica in ingresso. Lo ADC104S051 comunica con la FPGA con un protocollo seriale SPI (Serial Peripheral Interface). Lo SPI è un sistema di comunicazione tra un microcontrollore e altri circuiti integrati o tra più microcontrollori. La trasmissione avviene tra un dispositivo detto master e uno o più slave. Il master controlla il bus, emette il segnale di clock, decide quando iniziare e terminare la comunicazione. Il bus SPI (fig. 3.16(a)) si definisce: di tipo seriale sincrono per la presenza di un clock che coordina la trasmissione e ricezione dei singoli bit e determina la velocità di trasmissione full-duplex in quanto il colloquio può avvenire contemporaneamente in trasmissione e ricezione. Esso si basa su 4 segnali (sui datasheets possono essere trovati nomi differenti): SCLK - SCK: Serial Clock (emesso dal master) SDI - MISO - SIMO - DI - SI: Serial Data Input, Master Input Slave Output (ingresso per il master ed uscita per lo slave) SDO - MOSI - SOMI - DO - SO: Serial Data Output, Master Output Slave Input (uscita dal master) CS - SS - ncs - nss - STE: Chip Select, Slave Select, emesso dal master per scegliere con quale dispositivo slave vuole comunicare 61

62 (a) (b) Figura 3.16: (a) Il bus SPI. (b) Trasferimento di dati sul bus SPI. [36] La trasmissione dei dati sul bus SPI (fig. 3.16(b)) si basa sul funzionamento dei registri a scorrimento (shift register). Ogni dispositivo sia master che slave è dotato di un registro a scorrimento interno i cui bit vengono emessi e, contemporaneamente, immessi, rispettivamente, tramite l uscita SDO/MOSI e l ingresso SDI/MISO. Il registro può avere dimensione arbitraria (ma uguale per i dispositivi master e slaves) anche se usualmente ha la dimensione di 8 bit. Il registro a scorrimento è un interfaccia completa mediante la quale vengono impartiti comandi e trasmessi dati che arrivano in modo seriale ma che internamente sono prelevati, a fine trasmissione, in modo parallelo. Ad ogni impulso di clock i dispositivi che stanno comunicando sulle linee del bus emettono un bit dal loro registro interno rimpiazzandolo con un bit emesso dall altro interlocutore. Il protocollo dello ADC104S051 utilizza una parola a 16 bit (fig.3.17). Il clock seriale SCLK controlla sia il processo di conversione che il timing del dato seriale. Il dato in ingresso codifica su quale dei 4 ingressi analogici effettuare il campionamento; il risultato della conversione è inviato su DOUT come un flusso di dati seriale. Un frame seriale è inizializzato in corrispondenza del fronte di discesa di CS e termina sul fronte di salita di CS. Ciascun frame deve contenere 16 fronti di salita di SCLK. L uscita DOUT è in uno stato di alta impedenza quando CS è High ed è attivo quando CS è Low. Durante i primi 3 cicli di SCLK l ADC è in track mode e acquisisce la tensione 62

63 Figura 3.17: Diagramma temporale del funzionamento dello ADC104S051. [35] in ingresso; nei successivi 13 cicli di SCLK è effettuata la conversione e il dato è inviato in uscita, il MSB (Most Significant Bit) per primo, a partire dal 5 clock. Se c è più di una conversione in un frame, l ADC rientrerà in track mode sul fronte di discesa di SCLK dopo N 16 fronti di salita di SCLK, e si porterà in modalità hold sul (N )-esimo fronte di salita di SCLK, dove N è un intero. 3.7 Circuito di configurazione della FPGA Nel progetto della FEB la FPGA (una Spartan-6 XC6SLX9 della Xilinx) è il componente principale. Essa gestisce i segnali di controllo del DAQ, riceve e memorizza i segnali discriminati, gestisce DAC e ADC, provvede alla comunicazione dei dati sulla Ethernet. Della FPGA si parlerà in dettaglio nel capitolo 4; in questo paragrafo anticipiamo la discussione sulla configurazione della FPGA al fine di descrivere il circuito per la configurazione della FPGA. Le FPGA sono componenti programmabili che possono essere programmati caricando dei dati di configurazione (un bitstream) nella loro memoria interna [37]. Le FPGA della serie Spartan-6 sono in grado di caricare un programma in modo automatico da una memoria non volatile o possono essere configurate da una sorgente esterna come un microprocessore. Poiché i dati di configurazione sono immagazzinati in latch di configurazione CMOS, la FPGA deve essere riconfigurata ogni volta che è tolta l alimentazione. Il bitstream è caricato nel dispositivo attraverso dei pin speciali di configurazione. La procedura di inizializzazione della FPGA è avviata al momento dell accensione oppure quando il segnale di PROGRAM B viene messo basso per più di 500 ns (PROGRAM B fa il reset generale della FPGA). 63

64 Tra le diverse modalità consentite per la configurazione, è stato scelto il Master Serial, il quale fa uso di una memoria flash seriale di tipo SPI (fig. 3.18). Questa modalità è stata scelta poiché essa permette la riscrittura del bitstream nella memoria di configurazione, come richiesto dalle specifiche. Il circuito per la configurazione è mostrato in figura Figura 3.18: Schema di configurazione Master Serial con flash SPI. [37] La memoria flash usata è una M25P80 della Micron, la quale ha una dimensione di 8 Mb. La sua dimensione è stata scelta in modo che essa possa contenere due immagini dei dati di configurazione (la FPGA Spartan-6 XC6SLX9 richiede bit di configurazione). Questo accorgimento è dovuto al fatto che, se si vuole riscrivere la memoria flash con nuovi dati inviati tramite la connessione Ethernet, occorre comunque mantenere una immagine funzionante in maniera tale da poter riavviare la FPGA nel caso l operazione di riprogrammazione non vada a buon fine (la riscrittura dei dati sulla flash attraverso il protocollo SPI è gestita da un processore implementato sulla FPGA stessa). Un altra questione che è stata presa in considerazione è il fatto che all accensione la memoria flash potrebbe non essere ancora pronta a rispondere ai comandi della FPGA (in questo caso la configurazione fallirebbe). La flash M25P80 possiede un circuito di power-on-reset che fa in modo che il dispositivo sia in uno stato di reset in cui non risponde ad alcun comando esterno finché la tensione di alimentazione non supera un determinato valore; la FPGA stessa tollera un ramp time della tensione di alimentazione tra 0,20 e 50 ms [38]. Per ovviare a questo problema è stato introdotto nel progetto della FPGA il circuito di reset MAX6443 della Maxim, il quale mantiene basso il segnale di PROGRAM B finché la tensione di alimentazione non raggiunge 3, 1 V ; la riconfigurazione della FPGA è triggerata dal fronte di salita di PROGRAM B. 64

65 Figura 3.19: Interfaccia di configurazione SPI per la FPGA Xilinx Spartan-6. [37] 65

66 Capitolo 4 La FPGA La FPGA è stata una delle parti più importanti di questo lavoro. Il progetto del firmware della FPGA e le relative simulazioni hanno interessato una buona parte dell attività di tesi. Come in parte anticipato nel capitolo precedente, la FPGA nella FEB di NESSiE riceve i segnali discriminati, li forma a 30 ns e li memorizza in un buffer circolare di profondità 4kb per canale (32KB). Essa inoltre implementa le funzionalità di fast-or, di mascheramento dei canali rumorosi e di time-stamp dei segnali in ingresso. Un processore implementato sulla FPGA controlla la rilettura del buffer circolare, gestisce il traffico dei dati da e verso il DAQ attraverso un controllore ethernet, consente di impostare maschere e soglie. Le varie unità logiche implementate sulla FPGA sono interconnesse come in figura 4.1. In questo capitolo verranno trattate in una prima sezione le FPGA in generale, per poi entrare nello specifico del progetto della FPGA per la FEB di NESSiE. Infine saranno esaminate singolarmente le varie unità logiche del progetto della FPGA. 4.1 FPGA: overview Una FPGA (Field Programmable Gate Array) è un dispositivo VLSI (Very Large Scale of Integration) a logica programmabile. Essa è un circuito integrato digitale la cui funzionalità è programmabile via software. Come avviene per una PLA (Programmable Logic Array), è possibile programmare una FPGA con una qualsiasi funzione logica voluta dall utente. A differenza di una PLA, una FPGA può implementare sia logica combinatoria che sequenziale; inoltre essa può contenere una vastissima quantità di logica. 66

67 Figura 4.1: Schema a blocchi della FPGA. Spesso le FPGA sono paragonate agli ASIC (Application Specific Integrated Circuit) per la loro elevata complessità e potenziale velocità. Un ASIC è un circuito integrato creato appositamente per risolvere un applicazione di calcolo ben precisa (specific purpose). Il grande vantaggio rispetto agli ASIC è che le FPGA permettono di apportare eventuali modifiche o correggere errori semplicemente riprogrammando il dispositivo in qualsiasi momento. Per questo motivo esse sono utilizzate ampiamente nelle fasi di prototipizzazione, in quanto eventuali errori possono essere risolti semplicemente riconfigurando il dispositivo. Di contro, per applicazioni su grandi numeri sono antieconomiche perché il prezzo unitario del dispositivo è superiore a quello degli ASIC (che di converso hanno elevati costi di progettazione) FPGA: principio di funzionamento Una FPGA è costruita sulla base di una unità logica fondamentale detta CLB (Configurable Logic Block), duplicata centinaia o migliaia di volte. Una cella logica (fig 4.2) è fondamentalmente una piccola lookup table (LUT), un flipflop-d e un multiplexer 2-to-1 (per bypassare il flipflop all occorrenza). 67

68 La LUT è come una piccola ROM che può implementare qualsiasi funzione logica. Figura 4.2: Un modello semplice di cella logica. [40] Ciascuna cella logica può essere connessa ad altre CLB per mezzo delle risorse di interconnessione (fili/multiplexers piazzati intorno le celle logiche). I fili di interconnessione, inoltre, si estendono anche alle estremità del dispositivo, dove sono implementate le celle di I/O che connettono ai pins della FPGA (fig 4.3). Figura 4.3: Interconnessioni tra celle logiche. [40] In aggiunta alle risorse di interconnessione general-purpose, le FPGA hanno delle line veloci dedicate tra celle logiche adiacenti. Il tipo più comune di linee veloci dedicate sono le carry chains. Le carry chains consentono di creare funzioni aritmetiche (come contatori e sommatori) in maniera efficiente (basso utilizzo di logica ed elevata velocità operativa). Ad esempio la FPGA Spartan-6 XC6SLX9 [41] contiene al suo interno 9152 celle logiche. Ogni CLB è connessa a una switch matrix che consente l accesso alla matrice di routing generale. Ciascuna CLB contiene due slices; ciascuna di queste contiene quattro LUT e otto flip-flops (fig 4.4). La figura 4.5 [42] ad esempio mostra lo schema logico di una SLICEX. La SLICEX è la slice di base di una Spartan-6. Altri tipi di slices sono le SLICEL e le SLICEM: Le SLICEL contengono in più rispetto alle SLICEX 68

69 Figura 4.4: Disposizione delle slices all interno di una CLB. [42] Figura 4.5: Diagramma logico di una SLICEX. [42] 69

70 una struttura di carry aritmetico e multiplexer di funzionalità più ampia; le SLICEM forniscono in aggiunta le funzionalità di memoria distribuita e di shift register a lunghezza variabile Risorse di clock Oltre alle CLB una FPGA contiene altre importanti risorse. Tra queste molto importanti sono le risorse di clock. In un disegno dove è utilizzata logica sincrona, un singolo clock può pilotare un gran numero di flip-flop simultaneamente. Questo può causare problemi elettrici e di timing all interno della FPGA. Affinchè una FPGA lavori propriamente, i costruttori di FPGA forniscono dei collegamenti interni speciali chiamati global routing o global lines. Essi consentono di distribuire il segnale di clock in tutta la FPGA con un basso skew (bassa differenza fra i tempi di arrivo dei segnali ai vari flip-flop). Ulteriori risorse per la gestione del clock sono i DCM (Digital Clock Manager) e i PLL (Phase-Locked Loops). In primo luogo i DCM eliminano il clock skew, quindi migliorando le performance del sistema. Un DCM consente inoltre di: shiftare di fase il clock in uscita rispetto al clock in ingresso di una frazione del periodo del clock; moltiplicare o dividere la frequenza del clock in ingresso per sintetizzare una nuova frequenza di clock. I DCM si integrano direttamente con la rete globale di distribuzione del clock. Un PLL è un sistema di controllo che genera un segnale di output la cui fase è collegata alla fase di un segnale in input di riferimento. Esso è un circuito elettronico che consiste in un oscillatore a frequenza variabile e un rivelatore di fase. Questo circuito confronta la fase del segnale in ingresso con quella del segnale derivato dall oscillatore in uscita e regola la frequenza del suo oscillatore in modo da mantenere i due segnali in fase tra loro. Il segnale dal rivelatore di fase è usato per controllare l oscillatore in un anello di reazione. L utilizzo principale dei PLL è come sintetizzatore di frequenze, e come filtro di jitter per i clock. Il funzionamento di un DCM (fig 4.6) è basato su un dispositivo detto DLL (Delay-Locked Loop). Tale dispositivo ha un funzionamento simile a quello dei PLL, con la differenza che l oscillatore controllato in tensione è rimpiazzato da linee di ritardo. Una FPGA Spartan-6 XC6SLX9 ad esempio ha al suo interno due CMT (Clock Management Tile) ciascuno dei quali contiene due DCM e un PLL. 70

71 4.1.3 Memoria RAM interna In aggiunta alla logica, tutte le FPGA hanno dei blocchi dedicati di memoria RAM statica, controllata dagli elementi logici e distribuita tra essi. In una FPGA ci sono due tipi di RAM: RAM a blocchi (Block RAM) e RAM distribuita. La dimensione della RAM di cui si ha bisogno di solito determina quale tipo è da utilizzarsi. Se la dimensione della memoria necessaria è superiore a qualche centinaio di bytes è preferibile implementare tale memoria in una Block-RAM. I blocchi di RAM più piccoli sono organizzati nella memoria distribuita. La memoria distribuita permette di utilizzare le celle logiche come minuscole RAM, il che fornisce una distribuzione di RAM all interno della FPGA molto flessibile. Altro fattore che caratterizza una RAM è il numero di agenti che possono accedere alla RAM simultaneamente. Le RAM si distinguono in: RAM single-port : solo un agente può leggere/scrivere la RAM. RAM dual-port o quad-port : 2 o 4 agenti possono leggere/scrivere. In una RAM multi-port ogni agente ha il proprio bus di dati/indirizzi dedicato. Caratteristica importante delle RAM multi-port è che ciascun agente può usare un clock differente, il che è utile se si vuole trasferire dati tra due domini di clock differenti. Figura 4.6: Diagramma a blocchi funzionale di una DCM. [44] 71

72 Nelle FPGA della serie Spartan-6 la blockram è organizzata in blocchi da 18kb (fig 4.7), utilizzabili all occorrenza come due blocchi indipendenti da 9kb. Ciascun blocco di memoria può funzionare sia come single-port RAM che come double-port RAM. Figura 4.7: 18kb dual-port block RAM. [47] Risorse di I/O Le FPGA tendono ad avere moltissimi pin. Essi si possono distinguere in pin utente e pin dedicati. I pin utente sono pin configurabili dall utente come input, output o bidirezionali; molti standard di I/O sono supportati (sia single-ended che differenziali e con tensioni di riferimento che vanno da 1,2V a 3,3V). I pin dedicati sono pin che hanno funzionalità specifica: essi comprendono i pin di alimentazione, i pin di configurazione e gli ingressi di clock. Alcuni pin di configurazione diventano pin utente una volta terminata la fase di configurazione della FPGA. Ciascun pin utente della FPGA è gestito da un IOB. Gli IOB sono organizzati in banchi. Ciascun banco può lavorare con una propria tensione di alimentazione, anche diversa dalle altre. In una FPGA della serie Spartan-6 ci sono da quattro a sei banchi di I/O, a seconda del modello e del package. 72

73 Ciascun IOB, oltre a supportare diversi standard di I/O, può essere configurato per fornire un dato valore di corrente, supporta tre diverse impostazioni di slew rate e per ciascuna uscita può impostare un pullup/pulldown interno. Altra risorsa molto utile è il IODELAY2 che consente di impostare per un segnale di input o di output un ritardo fisso o variabile tra il pin di I/O e la logica interna della FPGA. 4.2 Scelta della FPGA La FPGA scelta per la FEB di NESSiE è una FPGA della serie Spartan-6, precisamente la XC6SLX9-2FT256C. La scelta della FPGA è stata determinata essenzialmente da due fattori: la quantità di memoria richiesta dall applicazione; il numero di ingressi/uscite. La prima delle due è quella che si è rivelata più limitante nella scelta della FPGA, dato che il nostro progetto richiede una grande quantità di memoria (256kb solo per il buffer circolare; in più la PROM del processore (8kB), la XRAM del processore (4kB), la FIFO della ethernet (2kB),... ). Tra le FPGA della serie Spartan-6 la scelta è ricaduta sulla XC6SLX9, la quale possiede un quantitativo di block RAM pari a 576kb [41], sufficiente per la nostra applicazione. Il numero di pin di ingresso/uscita (120) ha invece condizionato la scelta del package tra quelli disponibili per il modello XC6SLX9. La scelta è ricaduta sul package FT256, per cui sono disponibili 186 I/O utente [48]. Questo package è di tipo BGA, cioè ha i pin alla base del chip, disposti come una matrice quadrata di sfere Un package di questo tipo è più compatto ma più difficile da saldare sulla scheda rispetto a quelli con i pin ai lati. Lo speed grade scelto per la FPGA è il Il progetto della FPGA La progettazione della FPGA ha seguito lo schema generale di figura 4.8 [50]. In primo luogo si è descritto il progetto in linguaggio HDL (Hardware description language). Un linguaggio HDL consente una descrizione di un componente digitale di tipo behavioral, ossia che prescinde dai dettagli della implementazione hardware. I linguaggi HDL permettono una descrizione FPGA-indipendente. Tra i due linguaggi HDL più diffusi (VHDL e Verilog) in questo lavoro è stato utilizzato il Verilog, linguaggio dalla sintassi 73

74 Figura 4.8: Flusso di progettazione di una FPGA. [50] molto simile al C. In questo linguaggio le varie unità logiche del progetto sono descritte come una serie di moduli. In questo primo stadio (Design Entry) il progetto è costituito da una serie di file sorgenti, ognuno dei quali descrive un modulo Verilog. Il progetto viene verificato mediante simulazione comportamentale, la quale permette di verificare che la descrizione in HDL implementi l algoritmo voluto (è stato utilizzato il simulatore NCverilog, simulatore di linguaggio Verilog della Cadence). L implementazione del progetto a partire dai sorgenti HDL è effettuata mediante il software propretario dei costruttori della FPGA (ISE nel caso della Xilinx). Esso è in grado di tradurre i sorgenti in notazione HDL in un circuito specifico per la FPGA selezionata. Questa operazione, molto simile alla compilazione di un programma, è detta di sintesi. Alla sintesi segue la fase di implementazione, la quale: Mappa il circuito nelle risorse del dispositivo selezionato; Realizza le interconnessioni fra IOB, CLB etc; Ottimizza il layout per tentare di ottenere le velocità richieste dal progettista; 74

75 Genera un modello del circuito completo dei ritardi reali. Il modello Verilog post-implementazione, comprensivo dei ritardi reali del circuito della FPGA, è stato risimulato al fine di verificare che il circuito finale realizzasse le funzioni richieste alle velocità necessarie. L ultimo stadio del progetto di una FPGA prevede di generare il bitstream di programmazione e di scaricare il firmware nella FPGA, ad esempio con un cavo JTAG o mediante PROM. Si analizzeranno nel seguito una per una le unità logiche implementate sulla FPGA. Per maggiori dettagli sul linguaggio Verilog e sulla sintesi di FPGA si rimanda alle Appendici I clock Nel disegno della FPGA sono state utilizzate due frequenze: una da 100 MHz e una da 50 MHz. L uso della frequenza di clock a 100 MHz è vincolata dalle specifiche di progetto. Il clock a 100 MHz è utilizzato dalla logica di formazione del segnale, dal buffer circolare, nonché dalla logica di time-stamp. La frequenza a 50 MHz è utilizzata dal processore, il quale possiede della logica più lenta e non può lavorare alla frequenza di 100 MHz, e dalla Ethernet, che necessariamente deve andare a 50 MHz. Le due frequenze sono generate tramite una DCM. Essa utilizza come riferimento un segnale generato da un oscillatore esterno a frequenza 50 MHz. In uscita fornisce una frequenza clone a 50 MHz e una frequenza doppia a 100 MHz. In fig.4.9 sono mostrati i clock generati tramite la DCM. La scelta di entrare nella FPGA con un clock da 50 MHz anziché da 100 MHz è dovuta al fatto che il PHY della Ethernet necessita di un ingresso di clock a 50 MHz. L alternativa sarebbe stata entrare con un clock da 100 MHz, dividerlo internamente alla FPGA, e uscire con una frequenza a 50 MHz verso il PHY della Ethernet La logica di formazione del segnale I segnali in ingresso provenienti dai discriminatori LVDS sono segnali logici del tipo 0-3.3V (sia positivi che negativi) e hanno una durata di pochi ns, seguendo il profilo del segnale del rivelatore RPC. Si vuole formare tale segnale a una durata di 30 ns. La soluzione classica di campionare il segnale introducendolo all ingresso di un flip-flop-d pilotato dal clock a 100 MHz risulta inadeguata in quanto 75

76 Figura 4.9: Nello schema extclk50 è il clock esterno in ingresso alla FPGA; clk50 e clk100 sono i clock generati tramite la DCM; IBUFG è un buffer di input; i BUFG sono linee globali di clock. in questa maniera un segnale di durata inferiore al periodo di clock potrebbe non essere rivelato. Per essere sensibili anche a segnali di durata inferiore al periodo di clock è stato scelto di introdurre il segnale nell ingresso di clock di un flip-flop-d con ingresso fisso ad 1. In questa maniera l uscita q1 del flip-flop scatta ad 1 all arrivo del segnale indipendentemente dal clock da 100 MHz. Il segnale q1 è ritardato in tre successivi flip-flop-d pilotati dalla frequenza a 100 MHz Figura 4.10: Schema del circuito di formazione del segnale a 30 ns. 76

77 (a) (b) Figura 4.11: (a) risposta del circuito in fig.4.10 a un segnale positivo (screenshot simulatore ISim, simulazione Post-Route). (b) risposta del circuito in fig.4.10 a un segnale negativo (screenshot simulatore ISim, simulazione Post-Route). 77

78 (le relative uscite sono indicate q2, q3, q4 nello schema del circuito fig.4.10). Tali uscite sono messe in un AND a tre ingressi, il cui segnale in uscita fa un reset asincrono del primo flip-flop. In questa maniera q1 è riportato a zero e il circuito può rispondere ad un nuovo segnale in ingresso; q2 risulta essere della durata richiesta (30 ns) e sincrono con il clock, per cui può essere preso come segnale in uscita. Altro fatto da tenere in considerazione è che il circuito deve poter rispondere sia a segnali positivi che a segnali negativi. Per questo motivo è stato introdotto un registro di controllo per la polarità del segnale. A seconda di come è impostato il bit di polarità il circuito inverte o lascia inalterato il segnale in ingresso prima di introdurlo nell ingresso di clock del primo flip-flop. In questa maniera il circuito può rispondere alla stessa maniera a segnali di entrambe le polarità. Il circuito completo è mostrato in fig. 4.10; la figura 4.11, invece, mostra le forme d onda del circuito in risposta a un segnale positivo (fig. 4.11a) o a un segnale negativo (fig. 4.11b) La logica di mascheramento dei dati Il mascheramento dei dati consente di escludere all occorrenza uno o più canali in ingresso, ad esempio se rumorosi. Se un canale è mascherato, esso non viene considerato nella logica di fast-or; inoltre i dati in ingresso relativi a tale canale non sono memorizzati nel buffer circolare. Il mascheramento è implementato semplicemente come un AND bit a bit tra i 64 bit del dato e un registro maschera a 64 bit (fig 4.12). In questa maniera ponendo a 1 (0) i bit del registro maschera si abilita (disabilita) il canale corrispondente. Il dato mascherato è fornito in input al buffer circolare e alla unità di fast-or. Le maschere sono caricabili via Ethernet Il buffer circolare Il dato in ingresso deve essere memorizzato in un buffer circolare di profondità 4096 bit. La scrittura avviene quando è attivo il segnale di WRITE BUF inviato dal DAQ. La rilettura avviene sotto il controllo del processore. Data la grande quantità di memoria richiesta dall applicazione (64 4k = 256k bit di memoria), il buffer circolare è stato implementato come una block RAM, al fine di sfruttare al meglio le risorse presenti all interno della FPGA. Poiché la scrittura e la lettura avvengono in maniera indipendente, la block RAM è stata configurata come una RAM dual-port, con una porta di scrittura (port A) e una porta di lettura (port B). Questa scelta semplifica il problema dell attraversamento tra domini di clock in quanto le due porte 78

79 Figura 4.12: Logica di mascheramento dei dati. possono essere pilotate da due clock distinti: la porta di scrittura è sincrona con il clock a 100 MHz; la porta di lettura è sincrona con il clock a 50 MHz. In fig è rappresentato il principio di funzionamento dello stadio: un contatore modulo-n pilota gli input di indirizzo di una block RAM; ad ogni ciclo di clock il contatore indirizza la locazione di memoria successiva, dove viene scritto il dato. La circolarità sta nel fatto che il contatore quando va in overflow ricomincia a contare da zero; in tal modo la scrittura sulla memoria continua senza discontinuità dall ultima locazione alla prima. Avere una memoria dimensionata come una potenza di due semplifica l hardware del contatore in quanto in tale maniera non è necessaria ulteriore logica per l azzeramento del contatore. Nel nostro caso sono stati utilizzati due contatori: uno per la scrittura e uno per la lettura. La RAM è abilitata alla scrittura quando è attiva la linea WRITE BUF del DAQ; questo segnale, dopo essere opportunamente sincronizzato con il clock, è collegato all ingresso WE (write enable) della port A. Lo stesso segnale abilita il contatore dell indirizzo di scrittura in modo tale che ad ogni ciclo di clock punta alla locazione successiva. La porta di lettura (port B) è sempre abilitata. Un contatore, abilitato da un segnale di READ, pilota l indirizzo di lettura della port B. Le operazioni di lettura della RAM prevedono che essa venga riletta un dato numero di posizioni prima dell ultimo dato scritto. Un segnale di REWIND riposiziona l indirizzo di lettura indietro rispetto all indirizzo di scrittura di un valore 79

80 Figura 4.13: Implementazione di un buffer circolare usando block RAM e contatore. [49] fornito da un registro speciale (comunque modificabile all occorrenza). Riposizionato il puntatore di lettura, si procede alla lettura delle successive locazioni di memoria ponendo alto il segnale di READ. Si è previsto, inoltre, un segnale di CLEAR che fa il reset sincrono dei contatori di scrittura e di letttura. I segnali di READ, REWIND, CLEAR sono forniti mediante il processore. Il segnale di ABORT inviato dal DAQ tra le altre cose fa il CLEAR del buffer circolare. Essendo il processore un processore ad 8 bit mentre il buffer circolare ha una dimensione di 64 bit, è stata prevista una interfaccia tra CPU e buffer circolare che consente al processore di leggere 8 bit per volta. Ad ogni richiesta di lettura da parte della CPU viene incrementato un selettore a 3 bit che pilota un multiplexer che pone in uscita, disponibili al processore, gli 8 bit selezionati tra i 64 bit che la RAM rende disponibili in uscita. Quando il selettore arriva a sette è attivata la linea di READ verso il buffer circolare in modo tale da leggere la locazione di memoria successiva. Il circuito completo è mostrato in figura Il fast-or La logica di fast-or è stata organizzata a gruppi di 32 canali. Nella FPGA pertanto sono state previste due unità di fast-or la prima delle quali processa i segnali provenienti dai primi 32 canali, la seconda processa gli altri 32. Ciascuna unità di fast-or produce un segnale di trigger se almeno una delle 32 linee è attiva. Tale segnale è dimensionato ad una durata di 100 ns. La lunghezza del segnale designata rappresenta un compromesso tra la necessità che il segnale sia breve per un miglior timing e il fatto che il segnale non deve essere troppo breve, in modo tale da essere correttamente trasmesso 80

81 Figura 4.14: Schema completo del buffer circolare. ed elaborato. La durata di 100 ns è un valore ragionevole, anche per il fatto che, a causa della lunghezza delle strip dei rivelatori RPC (circa 8 m), i segnali relativi ad un dato evento giungono all elettronica in una finestra temporale di circa 50 ns. Nella progettazione della logica di fast-or sono state valutate due possibilità: costruire il fast-or in maniera retriggerabile o non retriggerrabile. Tra le due alternative è stata scelta la prima. Il circuito retriggerabile ha lo svantaggio che se si presentano in ingresso due segnali vicini entro i 100 ns, il segnale in uscita risulta più lungo rispetto ai 100 ns preventivati, di una lunghezza che dipende dal tempo di arrivo dei due segnali. Questo inconveniente non è presente se si opera nella modalità non retriggerabile, per la quale se il circuito scatta su un dato segnale, esso rimane inattivo per i successivi 100 ns e non reagisce ad altri segnali che dovessero arrivare in questa finestra temporale. La questione dell allungamento del segnale di fast-or è tutto sommato di scarsa importanza perché, dato il basso rate di eventi attesi in fase di acquisizione di raggi cosmici, la probabilità di occorrenza di due segnali entro 100 ns è molto bassa. La ragione per cui si è optato per la soluzione retriggerabile è perché essa ha un miglior comportamento rispetto al rumore (fig. 4.15). Infatti, se si 81

82 opera in modalità non retriggerabile, é possibile che il circuito non risponda a un dato segnale in ingresso perché bloccato dall arrivo di un segnale spurio di rumore occorso immediatamente prima. Questo potrebbe risultare nella perdita di un evento, in quanto la coincidenza di questo segnale di fast-or con altri fast-or generati su altre FEB potrebbe risultare compromessa. Questo problema non è presente se si opera in maniera retriggerabile: in questo caso se il circuito di fast-or è scattato a causa del rumore, esso è comunque in grado di rispondere a un segnale in ingresso che dovesse arrivare subito dopo, allungando la durata del fast-or in uscita. Il fast-or è generato nella maniera seguente: innanzi tutto i 32 ingressi Figura 4.15: Comportamento del circuito di fast-or rispetto al rumore. Nella parte superiore dello schema sono rappresentati alcuni segnali di esempio (per semplicità è visualizzata una sola linea di segnale anziché 32, si può pensare come l OR dei 32 canali). Sulla linea 2 è presente un impulso spurio dovuto a rumore (evidenziato in rosso) che si presenta poco prima dell evento vero. La parte centrale e inferiore dello schema rappresentano la risposta del circuito di fast- OR rispettivamente nella versione non retriggerabile e retriggerabile. Si vede che per qusti ipotetici segnali in ingresso nel caso del modo non retriggerabile non vi è coincidenza tra le linee 2 e 4, mentre il problema non è presente nel modo retriggerabile. 82

83 del dato mascherato sono messi in OR tra loro. Questo segnale attiva un contatore alla rovescia che mantiene alta una linea di segnale per il tempo voluto; quando il contatore si azzera, esso si ferma e riporta a zero la linea di segnale in uscita. Il segnale controllato dal contatore è messo in OR con il segnale proveniente dall OR di tutti i canali per avere un segnale in uscita il più rapido possibile La logica di time stamp La logica di time stamp è fondamentale se si vuole che un evento sia localizzato temporalmente nella maniera più corretta. A tal fine sono stati previsti una serie di contatori e registri che tengono conto dell informazione temporale e la memorizzano al momento opportuno. Un contatore fine (risoluzione di 10ns) misura il tempo trascorso contando sul clock a 100 MHz. Il riferimento temporale viene fornito dal DAQ attraverso un segnale denominato CYCLE. All arrivo del segnale di CYCLE vengono effettuate le seguenti due operazioni: viene azzerato il contatore temporale fino e viene incrementato un contatore di cycle. L unicità del riferimento temporale è garantita dal fatto che il segnale di CYCLE è sincronizzato con il clock e reso della durata di un periodo di clock all interno della FPGA. Il contatore fine è dimensionato a 32 bit, dimensione più che sufficiente a garantire che esso non vada in overflow nel periodo di tempo tra l arrivo di due segnali di CYCLE (il contatore andrebbe in overflow dopo 42, 95 sec, tempo superiore sia al periodo tra due cycle atteso essere 0, 6 ms, che al ciclo di spill dell esperimento circa 6 sec ). Il contatore di cycle è dimensionato anch esso a 32 bit. L informazione del numero di cycle e del tempo dall ultimo CYCLE consentono una completa ricostruzione temporale da parte del DAQ. Un ulteriore contatore di dimensione 16 bit ha lo scopo di contare la durata dello spill. Questo contatore di durata dello spill rimane a zero per tutto il tempo in cui il segnale di WRITE BUF è basso; quando WRITE BUF è attivo esso conta sul clock da 100 MHz; al termine del ciclo di scrittura WRITE BUF torna a zero e il valore del contatore viene memorizzato prima che quest ultimo sia azzerato nuovamente. La soluzione che è stata pensata per la memorizzazione dell informazione temporale e della durata dello spill prevede l utilizzo di una macchina a stati finiti (FSM, Finite State Machine) e di una FIFO a due posizioni. La macchina a stati è una semplice FSM a due stati. Essa è normalmente nello stato IDLE; quando viene attivato WRITE BUF si porta nello stato RUN; quando WRITE BUF si riporta a zero (alla fine del ciclo di scrittura) la FSM memorizza il valore dei vari contatori di tempo e torna nello stato IDLE. I valori dei vari contatori sono memorizzati in una FIFO a due posizioni 83

84 in maniera tale che viene mantenuta sempre memoria delle informazioni riguardanti gli ultimi due cicli di scrittura. Un segnale di ABORT proveniente dal DAQ porta la FSM nello stato IDLE. Il funzionamento della FSM è illustrato in figura Figura 4.16: Schema di funzionamento della logica di time stamp. Pensata in questo modo, questa logica si adatta bene al modo di operazione della FEB, per il quale sono previste due fasi di scrittura in ogni ciclo di spill. Alla fine del primo semi-spill i valori dei tre contatori sono memorizzati rispettivamente nei registri time stamp2, cycle stamp2 e spill duration2; alla fine del successivo semi-spill i valori memorizzati in precedenza vengono shiftati nei registri time stamp1, cycle stamp1 e spill duration1 mentre i registri time stamp2, cycle stamp2 e spill duration2 vengono caricati con i nuovi valori. Il processore provvederà durante la fase di inter-spill a leggere questi registri. Esso utilizzerà l informazione della durata del ciclo di lettura per rileggere il buffer circolare dalla giusta posizione ed invierà al DAQ l informazione di time stamp assieme ai dati. Per quanto riguarda la fase di acquisizione di raggi cosmici i registri time stamp2 e cycle stamp2 conterranno l informazione temporale relativa all istante in cui il DAQ mette basso il segnale di WRITE BUF per richiedere i dati alla FEB. La logica di time stamp, così come è stata ideata, è robusta rispetto al tempo di durata del segnale di WRITE BUF. Inoltre essa è facilmente generalizzabile nel caso che si vogliano aggiungere ulteriori fasi di scrittura all interno del ciclo di spill (o anche ridurle a una sola fase di scrittura): in questo caso sarebbe sufficiente aumentare la profondità della FIFO da due al nuovo numero di fasi di scrittura previsto. 84

85 4.4 Il processore La descrizione del processore e delle sue funzionalità merita un paragrafo a parte. Un processore è un dispositivo programmabile, ma in maniera diversa rispetto a una FPGA: esso esegue un set di istruzioni in maniera sequenziale. Un processore può essere programmato a fare diverse operazioni: esso legge le istruzioni dalla memoria, legge i dati dalla memoria, può eseguire operazioni aritmetiche e logiche sui dati, scrive i risultati sulla memoria, può svolgere funzioni di controllo. L avere un processore dentro la FPGA è utile per realizzare tutte quelle funzionalità che possono essere meglio implementate in maniera software. Nel nostro caso il processore è utilizzato per gestire il buffer circolare, selezionare i dati da inviare via Ethernet, decodificare e gestire i comandi provenienti dal DAQ, gestire il protocollo di comunicazione con le periferiche. Il modello di processore implementato sulla FPGA è basato sull architettura del microcontrollore Intel 8051, modello molto diffuso e per cui esistono diversi compilatori. Il modello Verilog del processore (denominato d ora in avanti V51) è stato disegnato presso il Servizio elettronico della Sezione I.N.F.N. di Bari ed utilizzato in vari altri progetti, per cui esso è ampiamente collaudato e verificato Il microcontrollore 8051 Il microcontrollore 8051 è un microcontrollore ad 8 bit basato su architettura Harvard, ossia vi è separazione tra la memoria contenente i dati e quella contenente le istruzioni. L architettura dello 8051 è schematizzata in figura Un microcontrollore 8051 integra le funzionalità seguenti [52]: CPU a 8 bit Registri, accumulatore e unità aritmetico-logica ALU a 8 bit bus dati a 8 bit Bus indirizzi a 16 bit (spazio indirizzabile complessivo: 2 16 = 64 kb indipendenti su RAM e ROM) RAM interna (memoria dati) byte ROM interna (memoria programma) - 4kB 85

86 Figura 4.17: Diagramma a blocchi dello [51] Quattro porte di I/O orientate al byte UART (porte seriali) di tipo sincrono e asincrono Due contatori/timer a 16 bit Gestore di interrupt a due livelli di priorità Controllo del consumo (modalità di risparmio energetico) Una caratteristica particolarmente utile dell 8051 è la possibilità di elaborare direttamente e in modo efficiente variabili booleane a un solo bit, nei registri e nella RAM. Un 8051 può gestire tre tipi di memoria (fig 4.18) [53]: Memoria On-Chip (RAM interna e SFR, 128 Byte); 86

87 Memoria di programma esterna, 64 kbyte; RAM esterna (max 64 kbyte). Figura 4.18: Tipi di memoria dello [54] In particolare la memoria On-Chip comprende (fig 4.19): RAM interna (banchi di registri, memoria a bit, memoria utente e stack) e area registri speciali (SFR memory) La memoria SFR I registri speciali (SFR, Special Function Register) sono aree di memoria che controllano specifiche funzionalità dell 8051, quali l accesso alle 32 linee di I/O, l accesso in lettura e scrittura sulla porta seriale (e l impostazione del suo baud rate), l accesso ai timer e la configurazione del sistema degli interrupt. L 8051 standard è dotato di 21 registri SFR (fig 4.20) che permettono, mediante lettura o modifica del loro contenuto attraverso il programma u- tente, di impostare i diversi modi operativi del microcontrollore. L accesso ai registri, ognuno identificato con un proprio nome ed indirizzo, avviene come se questi fossero parte della normale RAM interna: la sola differenza è che la RAM interna è compresa fra gli indirizzi da 00h a 7Fh, mentre i registri SFR risiedono nell area dall indirizzo 80h all indirizzo FFh. Anche se questo range di indirizzi offre 128 possibili byte, ci sono solo 21 registri SFR nell 8051 standard (mostrati in figura 4.20); tutti gli altri indirizzi sono considerati non validi, e la loro lettura può produrre un valore indefinito. 87

88 Figura 4.19: Organizzazione della memoria On-Chip. [53] Figura 4.20: Registri SFR dell 8051 standard. I registri in celeste sono poste di I/O; i registri in giallo sono SFR di controllo; i registri in verde sono altri SFR. I registri della prima colonna sono accessibili a bit e sono evidenziati in rosso. [54] 88

89 4.4.3 Implementazione del V51 Il modello Verilog del processore V51 rispetta sostanzialmente l architettura del microcontrollore 8051 (fig 4.17), ma con alcune differenze: essendo il V51 essenzialmente un modello software (tradotto in hardware mediante software fornito dal costruttore della FPGA), è possibile svincolarsi dal modello fisico dell 8051 ed adattarlo alle proprie esigenze. Ad esempio nel V51 è stata eliminata la UART ed introdotta una interfaccia Ethernet; è stato aumentato il numero di ingressi e uscite rispetto alle 32 linee di I/O costituite dalle porte P0, P1, P2 e P3, non presenti nel modello del V51; è stato introdotto un timer di periodo fisso a 1 ms, per verificare periodicamente il contenuto dei registri di stato; è stato aumentato da cinque a sette il numero di interrupt gestibili. Al fine di ampliare le funzionalità del V51, sono state utilizzate quelle locazioni di memoria dell area SFR normalmente non indirizzabili nello 8051 fisico. Il V51 ha in uscita un bus indirizzi a 7 bit (in realtà un indirizzo di lettura e uno di scrittura) che consente di indirizzare dei registri esterni (external SFR, XSFR). Esso inoltre ha in uscita una linea di scrittura, una linea di lettura, un bus di uscita a 8 bit per trasmettere i dati in scrittura, un bus di ingresso ad 8 bit per ricevere i dati in lettura (fig 4.21). Ad ogni XSFR corrisponde una linea di scrittura. Quando il V51 mette Figura 4.21: Schema a blocchi del V51. 89

90 alta la sua linea esterna di scrittura, esso attiva una delle linee di scrittura degli XSFR, a seconda dell indirizzo puntato. Quando una di queste linee è attive, al successivo fronte positivo del clock viene effettuata l operazione di scrittura, che può essere per esempio la scrittura di un dato a 8 bit sullo XSFR, il quale può essere per esempio un bus in uscita. In lettura si utilizza un meccanismo simile: il V51 scrive su un bus in uscita l indirizzo di lettura; esso viene decodificato da un decoder; viene fornito in ingresso al V51 il dato dallo XSFR indirizzato, il quale può essere pensato come un bus in ingresso al processore Mappatura della memoria SFR In riferimento alla figura 4.22 descriviamo la funzionalità dei vari registri SFR che sono stati introdotti nel V51: La porta P0, non utilizzata nel modello del V51, è stata riconfigurata come flag in uscita per la polarità del segnale in ingresso (DPOL). Figura 4.22: Mappatura della memoria SFR del V51. In grigio sono evidenziati gli SFR mantenuti rispetto allo 8051 fisico; in giallo sono evidenziati gli SFR aggiuntivi rispetto allo 8051 fisico. 90

91 La porta P1, non utilizzata nel modello del V51, è una porta di I/O per i dispositivi seriali SPI (memoria flash e ADC). Esso è stato posizionato in una locazione accessibile a bit al fine di facilitare la programmazione. Il registro CBDIN/CLR ha una doppia funzione: in lettura legge 8 bit dal buffer circolare; in scrittura attiva la linea di CLEAR verso il buffer circolare. Il registro CBREW, se indirizzato in scrittura, attiva la linea REWIND verso il buffer circolare. I due registri POSREW contengono il valore a 12 bit di quante posizioni il puntatore di lettura del buffer circolare si deve portare indietro rispetto al puntatore di scrittura in seguito a una operazione di rewind. Essi sono accessibili solo in scrittura. I registri a 16 bit SP DUR1 e S DUR2 contengono l informazione sulla durata degli ultimi due cicli di lettura. La porta P2, non utilizzata nel modello del V51, è stata rinominata come DACWR ed è utilizzata come un bus a 4 bit in uscita. Quando è messa alta una di queste linee è abilitata la scrittura sul DAC corrispondente. Esso è un registro accessibile a bit. I registri DACTH contengono il valore a 10 bit da scrivere sui DAC. I registri a 32 bit TIME STAMP1, TIME STAMP2, CYCLE STAMP1, CYCLE STAMP2 contengono l informazione di time stamp riguardante gli ultimi due cicli di scrittura. Il registro CYCLR se indirizzato in scrittura azzera il contatore di cycle. Le quattro locazioni da C0h a C3h sono quattro registri che consentono la gestione della Ethernet. Il registro TIMER consente di gestire il timer di periodo fisso di 1 ms. Scrivere su questo registro consente di riportare a zero la linea di interrupt del timer, che scatta ogni volta che questo si azzera. Il registro LEDS/TP consente di gestire i LEDs (4 bit in scrittura) e test-points (4 bit in lettura). Il registro SWITCH consente al processore di leggere un valore a 12 bit impostato mediante switch. 91

92 Il registro a 48 bit ETHMACADD consente al processore di impostare l indirizzo MAC della Ethernet. Gli 8 registri DATAMASK costituiscono la maschera a 64 bit per i segnali in ingresso. Per i registri POSREW e DACTH, che occupano due locazioni di memoria, affinché il dato non venga aggiornato parzialmente alla scrittura della parte alta e della parte bassa, è stato messo a punto questo sistema: viene effettuata prima la scrittura sulla parte alta, che viene memorizzata in un latch; alla scrittura della parte bassa il registro è aggiornato per intero Teoria di funzionamento Si illustra di seguito la maniera in cui deve funzionare il processore una volta programmato. Al termine delle due fasi di scrittura il DAQ richiede attraverso la Ethernet (la comunicazione avviene attraverso un protocollo UDP) i dati presenti in memoria sul buffer circolare. Il processore procede a rileggere la memoria del buffer circolare e contemporaneamente a formare un pacchetto di dati da inviare sulla porta Ethernet. Esso calcola di quante posizioni riportare indietro il buffer circolare, sommando il contenuto dei registri SP DUR1 e SP DUR2; tale valore viene scritto nel registro POSREW. Tramite una scrittura sul registro CBREW, il puntatore di lettura del buffer circolare è posizionato in corrispondenza dei primi dati scritti. Il processore procede alla lettura dei dati 8 bit alla volta leggendo dal registro CBDIN/CLR. Per leggere tutti i dati memorizzati durante il primo semi-spill occorrono [SP DUR1] 8 operazioni di lettura. Al termine di queste operazioni il processore legge le informazioni di time stamp dai registri TIME STAMP1 e CYCLE STAMP1 e le invia sulla Ethernet. Fatto ciò, il processore riprende la lettura del buffer circolare leggendo i dati memorizzati nel secondo semi-spill. Questa procedura richiede [SP DUR2] 8 operazioni di lettura, al termine delle quali il processore accoda le informazioni di time-stamp, lette dai rispettivi registri TIME STAMP2 e CYCLE STAMP2. Conclusa la trasmissione dei dati il processore resetta il buffer circolare effettuando una operazione di scrittura su CBDIN/CLR. Il funzionamento in modalità di acquisizione di raggi cosmici è simile. In fase di raggi cosmici il buffer circolare è scritto in continuazione. Quando il DAQ riconosce l arrivo di un raggio cosmico, esso mette giù la linea di WRITE BUF per interrompere la scrittura e fare richiesta dei dati alla FEB. All interruzione della scrittura i registri TIME STAMP2 e CYCLE STAMP2 92

93 vengono caricati con l informazione temporale dai rispettivi contatori, mentre il registro SP DUR2 non conterrà informazione significativa. La rilettura dei dati scritti avviene come in precedenza, con la differenza che il numero di posizioni indietro a cui rileggere il dato è fornito dal DAQ tramite la Ethernet. Al termine della trasmissione dei dati viene accodato il time stamp, letto dai registri TIME STAMP2 e CYCLE STAMP2. La ricezione di un ABORT da parte del DAQ interrompe la trasmissione dei dati (il segnale di ABORT è collegato al processore a uno degli ingressi di interrupt). Oltre che a supervisionare alla trasmissione dei dati, il processore dovrà essere in grado di rispondere a richieste da parte del DAQ riguardanti la gestione di DAC e ADC o la abilitazione/disabilitazione di un canale in ingresso. Il processore dovrà inoltre poter riprogrammare la memoria flash di programmazione della FPGA, acquisendo i nuovi dati di configurazione tramite la Ethernet. 4.5 Domini di clock Poiché nel nostro progetto della FPGA sono utilizzati due clock a frequenza differente (100 MHz e 50 MHz), occorre fare molta attenzione ai segnali che passano da un dominio di clock all altro. Il non trattare adeguatamente questi segnali può portare a risultati impredicibili. Un segnale che passa da un dominio di clock all altro necessita di essere sincronizzato con il clock del dominio di arrivo. Questo è fatto per mezzo di una serie di buffer. Il circuito utilizzato è quello di figura 4.23a, per il caso di passaggio dal dominio di clock a 100 MHz a quello a 50 MHz; il circuito di figura 4.23b, invece, è stato utilizzato per i segnali che passano dal dominio di clock a 50 MHz a quello a 100 MHz. L idea dietro questi due circuiti è la seguente: essendo tutta logica sincronizzata sul fronte positivo del clock, è possibile campionare un segnale stabile sul fronte negativo del clock a 100 MHz, che tra i due è quello a frequenza più alta; questo segnale intermedio è sincronizzato al dominio di arrivo passando per un altro flip-flop-d. Facciamo una breve rassegna di tutti quei segnali che attraversano i domini in una direzione e nell altra. Per quanto riguarda il buffer circolare, come già detto, i domini di clock sono ben separati per il fatto di avere utilizzato una RAM dual-port. L unico segnale che attraversa i due domini è il segnale di CLEAR, il quale è fornito dal processore (clock 50 MHz), ma azzera sia l indirizzo di lettura (clock 50MHz) che quello di scrittura (clock 100 MHz). Per questo segnale è stato utilizzato il circuito in figura 4.23(b) per la parte che azzera l indirizzo di scrittura. 93

94 (a) (b) Figura 4.23: (a) Circuito di sincronizzazione per un segnale passante dal dominio di clock a 100 MHz a quello a 50 MHz; (b) Circuito di sincronizzazione per un segnale passante dal dominio di clock a 50 MHz a quello a 100 MHz. Altri segnali che vanno dalla logica a 50 MHz verso quella a 100 MHz sono: il flag della polarità del segnale, impostato mediante il processore; il segnale di reset sincrono del contatore di cycle, fornito dal processore; il registro di mascheramento dei segnali in ingresso, caricato mediante il processore. I segnali che fanno il percorso inverso sono i seguenti: i registri di durata scrittura spill duration1 e spill duration2, caricati dalla logica a 100 MHz e letti dal processore (clock 50 MHz); i registri di time stamp (time stamp1, time stamp2, cycle stamp1, cycle stamp2), anch essi caricati dalla logica a 100 MHz e letti dal processore. Per questi registri è stato utilizzato il circuito in figura 4.23(a). 94

95 Capitolo 5 Test e simulazioni per la FEB di NESSiE Il capitolo è diviso in due sezioni. Nella prima si descriverà il test preliminare effettuato sui ricevitori LVDS; la seconda parte del capitolo illustrerà le simulazioni effettuate sul progetto della FPGA. 5.1 Test del ricevitore LVDS Motivazioni Nell esperimento OPERA il read-out delle strips dei rivelatori RPC avviene per mezzo di ricevitori LVDS usati come comparatori. Lo standard LVDS è stato scelto per l elettronica di front-end dell esperimento OPERA per le sue caratteristiche di pregio di elevata velocità e alta immunità al rumore. In figura 5.1 [30] è mostrato lo stadio di ingresso della scheda di front-end degli RPC dell esperimento OPERA. Il segnale proveniente dalla strip di un RPC è terminato sulla resistenza caratteristica del cavo di collegamento R in, di valore 100 Ω. Sono stati utilizzati segnali single-ended (una delle due polarità è a massa). I due condensatori servono ad isolare il segnale dalla componente continua. Il componente SN74LVDS386 è un chip contenente 16 ricevitori LVDS. Esso, come anticipato, è utilizzato come comparatore. L ingresso del ricevitore LVDS è polarizzato con tensioni di soglia, impostate da una scheda di controllo che imposta i valori di tensione V a e V b in fig Essi sono stabilizzati mediante i condensatori C 1 e C 2. L uscita cambia stato se il segnale in ingresso dalla strip è superiore al valore di soglia. 95

96 Figura 5.1: Schema circuitale dello stadio di ingresso della FEB degli RPC dell esperimento OPERA [30] Nell esperimento NESSiE si è pensato di adottare per lo stadio di ingresso della FEB una soluzione simile a quella adottata nell esperimento OPERA, basata anch essa sull uso di ricevitori LVDS. A tal fine si è verificata la fattibilità del progetto eseguendo dei test sui ricevitori LVDS, avendo presente che essi dovranno essere operativi per segnali di ingresso attesi dai rivelatori RPC pari a circa 100 mv Le misure È stato realizzato il circuito in figura 5.2. Si è utilizzato il componente 75LVDS390 che è della stessa serie del 75LVDS386 e che rispetto a quest ultimo possiede le stesse caratteristiche elettriche ma ha al suo interno 4 ricevitori anziché 16. Il chip è montato su zoccolo (l integrato è mostrato in fig. 5.3). Il segnale in ingresso con la sua massa sono isolati dalla tensione continua con due condensatori da 100 nf e sono inviati sui pin 1 e 2 del discriminatore. Le due soglie sono modificabili agendo sulle due resistenze variabili da 10kΩ che consentono di modificare i valori di tensione chiamati V a e V b in figura 5.1 nel range 0 3, 3 V. Il massimo sbilanciamento possibile si ha quando V a = 3, 3 V e V b è a massa (o viceversa) ed è pari a 3, 3V 5kΩ/35kΩ = 471mV ; il minimo sbilanciamento si ha quando V a = V b. I due pin 1 e 2 (fig. 5.3) sono facilmente accessibili all esterno per consentire una rapida lettura della soglia nominale per mezzo di un tester digitale. Il segnale in uscita è prelevato sul pin 15 dell integrato e inviato all oscilloscopio. In fig. 5.3 è mostrato lo schema completo dell apparato di misura. L oscilloscopio è un oscilloscopio digitale LeCroy WaveRunner 104Xi, 1GHz di banda, rate di campionamento massimo 10 GS/s. 96

97 Figura 5.2: Schema circuitale del circuito usato per il test del 75LVDS390 Un generatore di impulsi è stato utilizzato per simulare il segnale di un RPC. Lo strumento che è stato utilizzato è un Agilent 81110A pulse generator. Esso è stato impostato per fornire impulsi con frequenza di 1kHz di forma trapezoidale con leading edge di 2 ns, larghezza di 10 ns, trailing edge impostata uguale al leading edge e altezza variabile. Il generatore di impulsi fornisce inoltre un segnale di trigger sincronizzato con l istante di formazione del segnale di impulso in uscita; esso è stato usato come trigger per l oscilloscopio. La larghezza di impulso di 10 ns è stata scelta in modo tale da simulare al meglio un segnale proveniente da un rivelatore RPC, i quali tipicamente forniscono segnali molto rapidi e di breve durata. Poiché il generatore non era in grado di fornire segnali troppo piccoli (inferiori a 75 mv ), è stato utilizzato un attenuatore da 20 db (non mostrato in figura) per attenuare il segnale in uscita dal generatore di impulsi di un fattore 10. Le connessioni tra i vari dispositivi sono state realizzate con connettori BNC di impedenza caratteristica di 50 Ω. Il fatto che la resistenza di 97

98 Figura 5.3: Apparato di misura per il test del 75LVDS390, schema completo ingresso del circuito fosse diversa (110 Ω) dalla impedenza caratteristica del cavo utilizzato ha comportato qualche problema di riflessione del segnale. Nonostante ciò le misure effettuate sono risultate sufficientemente accurate allo scopo di verificare la linearità del discriminatore LVDS e di verificare che i segnali logici in uscita da esso siano compatibili le specifiche di ingresso della FPGA. Sono state effettuate misure sia per segnali positivi che per segnali negativi. Per segnali positivi è stata impostata una soglia negativa. In questa configurazione l uscita è normalmente a zero in assenza di segnale; essa scatta a 3V quando il segnale in ingresso supera la soglia. La figura 5.4(a) è un esempio di segnale positivo. Le oscillazioni di rimbalzo sono presumibilmente dovute al disadattamento di impedenza. È mostrato anche il segnale di trigger dell oscilloscopio (in rosso). Per segnali negativi, al contrario, la soglia è positiva e l uscita è normalmente al livello alto di tensione e va a zero quando il segnale supera la soglia. Un esempio di uscita con segnale negativo è in fig. 5.4(b). Per entrambi i due tipi di segnali, agendo con un cacciavite sui due trimmer, sono stati impostati diversi valori della soglia nominale a partire da circa 50 mv fino a circa 500 mv. In corrispondenza di ogni valore si è misurata la soglia effettiva. 98

99 (a) (b) Figura 5.4: Segnali di uscita visualizzati sulla schermata dell oscilloscopio LeCroy WaveRunner 104Xi. (a) canale C2, rosso: segnale di trigger; canale C3, blu: uscita in risposta a segnale positivo. (b) canale C2, rosso: segnale di trigger; canale C3, blu: uscita in risposta a segnale negativo. 99

100 Il metodo di misura è di seguito illustrato. Idealmente si dovrebbe avere una commutazione da livello basso a livello alto non appena il segnale in ingresso supera, anche di poco il valore di soglia effettivo. In realtà al segnale è sempre inevitabilmente sovrapposto del rumore elettronico, per cui quando il segnale in ingresso è prossimo alla soglia l uscita oscilla casualmente tra i due stati logici. Essendo il rumore elettronico distribuito statisticamente come una gaussiana, il valore della soglia effettivo si può valutare come il valore dell altezza del segnale in ingresso per cui l uscita è nel 50% dei casi nello stato L e nel 50% dei casi nello stato H. Non avendo a disposizione una maniera immediata per contare direttamente gli impulsi, si è adottato un metodo di misura indiretto. Si è osservato che lavorando con impulsi positivi, il segnale in uscita era normalmente a 0V e rimbalzava a circa 4V quando l ingresso superava la soglia. Tra le varie misure automatiche realizzabili con l oscilloscopio LeCroy WaveRunner ci sono le misure di massimo e minimo del segnale. Esso per queste misure fornisce oltre al valore istantaneo anche media e deviazione standard su più misure. È stato possibile caratterizzare la soglia effettiva variando l ampiezza dell impulso in ingresso e guardando al valor medio del massimo: se oltre 4V (l uscita sul fronte di salita si porta per alcuni istanti a un valore superiore ai 3, 3 V nominali, a causa dei rimbalzi da disadattamento di impedenza) significa che il circuito risponde a tutti gli impulsi in ingresso e si è ben al di sopra della soglia; se esso è intorno a 2 V (intermedio tra 0 V e 4 V) significa che il circuito risponde la metà delle volte e quindi si è in prossimità della soglia. In tabella 5.1 sono riportati i risultati delle misure. È da notare che nel prendere queste misure non si è tenuto conto della prescrizione di mantenere il modo comune a 1, 2 V in quando secondo quanto scritto sul datasheet del ricevitore LVDS esso continua a dare i livelli corretti di tensione fintantoché il modo comune è in un range di 1V attorno al livello tipico per lo standard LVDS. Si è proceduto alla stessa maniera per su segnali negativi. In questo caso il livello di tensione di uscita in assenza di impulsi è di circa 3 V, scatta a un minimo di circa -1 V quando il circuito risponde ad un impulso sopra soglia (il motivo per cui l uscita si porta a una tensione negativa sul fronte di discesa è sempre dovuto ai rimbalzi da disadattamento di impedenza). In questo caso per determinare la soglia effettiva si è utilizzata la misura di minimo anziché di massimo, assumendo che si è in prossimità della soglia quando il valor medio del minimo è pari a circa 1 V (intermedio tra 3 V e -1 V). Le misure per segnali negativi sono riportate in tab Si osserva qui che il circuito risponde anche con impulsi di ampiezza inferiore alla soglia. Questo può essere dovuto al fatto che, a causa del 100

101 V+ (V) V- (V) V (mv) Vth (mv) Voth (mv) 0,897 0, ,5 82 1,000 1, ,220 1, ,565 1, ,363 1, ,558 2, Tabella 5.1: Risultato delle misure di soglia effettiva su segnali positivi. In tabella V+ e V- sono i valori di tensione DC misurati con il tester digitale nei punti TestPoint+ e TestPoint- nel circuito in fig. 5.2; V è la differenza di potenziale misurata tra i due punti suddetti ( soglia nominale ); Vth è la soglia effettiva, misurata come descritto nel testo; Voth è il valore dell ampiezza degli impulsi in ingresso oltre il quale l uscita non manifesta comportamento rumoroso. V+ (V) V- (V) V (mv) Vth (mv) Voth (mv) 2,000 1, ,800 1, ,800 1, ,800 1, ,699 1, ,691 1, ,693 1, ,020 1, Tabella 5.2: Risultato delle misure di soglia effettiva su segnali negativi. Il significato dei simboli adottati è lo stesso che per la tabella 5.1. disadattamento di impedenza, il segnale di tensione all ingresso del circuito è maggiore dell ampiezza dell impulso segnata sul pulse generator. Nonostante ciò dal plot della soglia misurata in funzione della soglia nominale (fig. 5.5) si nota una buona linearità. Questo plot si può confrontare con il plot (fig. 5.6) contenuto nell articolo di Dusini [30] in cui sono state fatte misure molto fitte nel range di valori compresi tra ±100 mv, dove il costruttore del ricevitore LVDS non garantisce il corretto funzionamento del dispositivo. Infine si è voluto misurare il tempo di propagazione attraverso il dispositivo e il jitter temporale. Si è impostato l oscilloscopio in modalità persistenza e si è impostata la misura automatica di delay, che misura il ritardo temporale del fronte di salita del segnale rispetto al trigger. Si osserva un jitter temporale 101

102 Figura 5.5: Soglia effettiva in funzione della soglia nominale. I valori di soglia sono dati in mv. Le soglie sono assunte di segno positivo per segnali negativi e negative per segnali positivi. Figura 5.6: Soglia effettiva in funzione della soglia nominale. Il riquadro mostra uno zoom del grafico per i valori di soglia compresi tra ±100mV. [30] 102

103 (a) (b) Figura 5.7: Segnali visualizzati sulla schermata dell oscilloscopio LeCroy Wave- Runner 104Xi in modalità persistenza. Sul canale C2 è campionato il segnale di trigger; sul canale C3 l uscita al circuito in risposta a segnale positivo. La scala temporale è di 500 ps/div; il rate di campionamento è di 10 GS/s. 103

104 (sdev in fig. 5.7) inferiore a 50 ps, valore molto basso. Il ritardo di 23 ns in fig. 5.7(a) è dovuto alla diversa lunghezza dei cavi utilizzati per le connessioni. Per una significativa misura del tempo di propagazione si è ritardato il segnale di trigger con un cavo da 20 ns in maniera tale da rendere minimo lo sfasamento temporale tra il segnale di trigger e il segnale in ingresso al circuito (misurato circa 300 ps). Il valore di circa 3 ns letto sull oscilloscopio è consistente con quanto indicato sul datasheet del dispositivo che fornisce un t P LH tipico di 2, 5 ns. 5.2 Simulazione della FPGA Sul progetto della FPGA sono state eseguite diverse simulazioni al fine di verificare che esso funzionasse correttamente. In una fase preliminare sono state eseguite delle simulazioni sui singoli moduli Verilog che compongono il progetto. Per il progetto della FPGA sono stati scritti diversi moduli Verilog, di cui si danno degli esempi in appendice C. Per ogni modulo (buffer circolare, fast-or, ecc.) è stato elaborato un testbench in cui il modulo sotto verifica era testato con degli stimoli in ingresso che simulassero il modo di funzionamento del modulo nel progetto finale. Nella simulazione con il software NC-Verilog i segnali sono state memorizzati per poi essere visionati con il visualizzatore di forme d onda SimVision e quindi sottoposti a verifica. Ad esempio, per quanto riguarda il modulo di fast-or, è stato verificato che per segnali in ingresso della durata di 30 ns si avesse in uscita un segnale della durata richiesta di 100 ns. Una volta definito il progetto della FPGA con tutti i moduli, esso è stato simulato nel suo complesso. In una prima fase è stata eseguita una simulazione comportamentale del modello Verilog del progetto al fine di verificare che i singoli moduli Verilog interagissero tra loro come voluto. È stato messo a punto un testbench che simulasse i 64 segnali discriminati in ingresso alla FPGA, il clock da 50 MHz e i segnali di controllo WRITE BUF, CYCLE e ABORT (fig. 5.8(a)). Gli stimoli in ingresso sono stati implementati in modo da rispecchiare al meglio i segnali attesi nell applicazione reale della FEB di NESSiE (le tempistiche dei segnali sono leggermente diverse da quelle reali al fine di avere un tempo di simulazione ragionevole). La linea WRITE BUF viene attivata per 10 µs e poi per altri 10 µs dopo una breve pausa, in maniera da simulare un ciclo di scrittura dei dati. Esso è preceduto da un impulso sulla linea CYCLE. A questa fase nell applicazione reale della FEB segue l invio dei dati al DAQ, terminato il quale il DAQ può mettere la FEB in modalità di acquisizione di raggi cosmici tenendo alta la linea di WRITE BUF (ciclo lungo di WRITE BUF in fig. 5.8(a)). L invio di 104

105 un impulso sulla linea ABORT induce l interruzione di qualsiasi operazione sui dati e può essere usato dal DAQ per preparare la FEB all acquisizione dei dati del burst in caso fosse in modalità di acquisizione di raggi cosmici. In corrispondenza degli spill da 10 µs (WRITE BUF in stato High) sono inviati alcuni segnali di test ai 64 ingressi. Alcuni impulsi sono generati in maniera pseudo-casuale in modo da simulare la presenza di rumore/segnali da raggi cosmici. A un certo punto della simulazione la polarità dei segnali di input è invertita al fine di verificare il funzionamento del sistema sia per segnali positivi che per segnali negativi. Le figure 5.8(b) e 5.8(c) mostrano a una scala temporale più ristretta alcuni segnali di input rispettivamente positivi e negativi. Tali segnali sono assunti provenire dai discriminatori LVDS, per cui essi sono segnali logici di una durata di ns. Le figure mostrano inoltre le rispettive uscite fast-or. Nella figura 5.8(b) i due segnali sulle linee 4 e 62 danno luogo a due fast-or indipendenti della durata di 100 ns in quanto essi non appartengono allo stesso gruppo di 32 canali che danno luogo ai due fast-or; nella figura 5.8(c) i due segnali sulle linee 1 e 22, in quanto separati da un tempo inferiore ai 100 ns, danno luogo a un fast-or di durata più lunga (il fast-or è implementato in maniera retriggerabile). Il tempo di occorrenza del fast-or rispetto al segnale in ingresso è molto breve e varia tra 0 10 ns (nella simulazione comportamentale il segnale di fast-or sale sul fronte positivo del clock a 100 MHz immediatamente successivo all arrivo del segnale). Nella fase di simulazione comportamentale si è voluto verificare in particolare il funzionamento nel loro complesso di logica di formazione del segnale, buffer circolare, fast-or e logica di time-stamp, dando per scontato il corretto funzionamento di processore e del controller ethernet, già usati e sottoposti a verifica in precedenti progetti. Le simulazioni di buffer circolare e logica di time-stamp sono descritte nei paragrafi seguenti, mentre per quanto riguarda la logica di formazione del segnale è stata già mostrata una simulazione post-implementazione in figura Al fine di verificare al meglio buffer circolare e logica di time-stamp è stato introdotto nella simulazione un ulteriore modulo di test che simulasse il comportamento del processore. Fondamentalmente questo modulo acquisisce dai registri di time-stamp l informazione sulla durata dei due spill e la utilizza per rileggere i dati memorizzati sul buffer circolare agendo sui controlli REWIND e READ. Il modulo verifica inoltre durante la rilettura del buffer circolare che i segnali di test siano stati memorizzati correttamente e stampa a video un messaggio di errore nel caso trovasse una incongruenza. 105

106 (a) (b) (c) Figura 5.8: Segnali in ingresso per la simulazione della FPGA e uscite fast-or. (b) Dettaglio dei segnali di fast-or per due segnali positivi. (c) Dettaglio dei segnali di fast-or per due segnali negativi. 106

107 5.2.1 Simulazione del buffer circolare La simulazione in figura 5.9 mostra il funzionamento del buffer circolare. La figura 5.9 è mostrato come alcuni segnali di test sono memorizzati nella memoria del buffer. I segnali sono forniti in maniera tale da rispecchiare il comportamento reale dei rivelatori RPC, per cui ci si aspetta che un dato evento interessi più strip vicine (cluster). Sulle linee di ingresso sono simulati due cluster, il primo centrato sulla linea 5, il secondo sulla 14. Il segnale di WRITE BUF è tenuto alto per 100 ns in modo da registrare i segnali forniti nelle prime 10 locazioni di memoria. I segnali in ingresso prima di essere memorizzati nella memoria del buffer vengono formati a 30 ns. I segnali formati a 30 ns sono mostrati in figura di seguito rispetto ai segnali in input. I segnali in uscita dal circuito di formazione vengono memorizzati sul buffer circolare sul fronte di salita del clock a 100 MHz. Il buffer circolare non è pilotato direttamente dal segnale esterno WRITE BUF, ma dalla sua versione sincronizzata con il clock a 100 MHz, indicata in figura come write. Quando write è alto i 64 segnali in uscita dai rispettivi circuiti di formazione vengono memorizzati nella memoria b del buffer circolare. Essa è indirizzata da due puntatori a 12 bit, Wadd per l indirizzo di scrittura e Radd per l indirizzo di lettura (la memoria del buffer è implementata come una RAM dual-port). In corrispondenza del segnale write si vede come ad ogni ciclo di clock il puntatore di scrittura del buffer circolare Wadd sia incrementato di una unità in modo da scrivere il segnale formato su locazioni di memoria successive. Il contenuto della memoria del buffer dopo la scrittura dei dati è mostrato in figura 5.10 dove viene mostrato a una scala temporale più grande il processo di rilettura del buffer circolare. Tramite il modulo del processore si imposta a 10 il bus posrew e si invia un segnale di REWIND al buffer al fine di posizionare il puntatore di lettura Radd 10 posizioni indietro rispetto a quello di scrittura; vengono quindi inviate una serie di richieste di lettura sulla linea XSFRrd. Il buffer circolare rende dispnibile al processore i dati memorizzati 8 bit per volta; ogni 8 richieste di lettura viene incrementato il puntatore Radd in modo da leggere dalla locazione di memoria successiva. 107

108 108 Figura 5.9: Simulazione della scrittura sul buffer circolare.

109 109 Figura 5.10: Simulazione della rilettura dal buffer circolare.

110 5.2.2 Simulazione della logica di time-stamp La figura 5.11(a) illustra il funzionamento della logica di time-stamp. In essa sono mostrati i segnali esterni di WRITE BUF e di CYCLE, i contatori di tempo, di cycle e durata spill e gli associati registri di time stamp per il primo spill e per il secondo spill. Il contatore di tempo (in figura timecounter) è incrementato in maniera continua sul clock a 100 MHz e si azzera quando arriva un segnale di cycle; il contatore di cycle (cyclecounter) conta gli impulsi di cycle; il contatore di durata spill (in figura spillcounter) conta il numero di clock per cui il segnale WRITE BUF è mantenuto alto. La scala temporale di figura 5.11(a) non consente di apprezzare la variazione dei contatori di tempo e di durata spill, per cui è fornita in figura 5.11(b) una visualizzazione a una scala più ristretta, presa a un tempo nelle vicinanze della chiusura del secondo spill. La figura 5.11 fa vedere come alla chiusura del primo spill i registri cycle- Stamp2, timestamp2 e spillstamp2 vengano caricati rispettivamente con il contenuto dei rispettivi contatori cyclecounter, timecounter e spillcounter. Alla chiusura del secondo spill il contenuto dei registri cyclestamp2, time- Stamp2 e spillstamp2 viene trasferito sui registri cyclestamp1, timestamp1 e spillstamp1 e i primi vengono caricati col contenuto dei rispettivi contatori associati. Si può osservare come al termine dei due spill i registri cyclestamp1, timestamp1 e spillstamp1 contengono le informazioni di time stamp relative al primo spill e i registri cyclestamp2, timestamp2 e spillstamp2 contengono le analoghe informazioni riguardanti il secondo spill. È stato verificato che i registri di time-stamp contenessero il valore corretto. Ad esempio per quanto riguarda il primo spill, esso è stato aperto al tempo di 2000 ns e chiuso a ns ed è stato fornito un impulso di cycle a 1010 ns; per cui i registri cyclestamp1, timestamp1 e spillstamp1 una volta concluso il ciclo di scrittura contengono rispettivamente i valori: 1 che sta ad indicare che è stato fornito un solo impulso di cycle prima dello spill, 1098 che rappresenta il tempo espresso in multipli di 10 ns tra il cycle e la chiusura dello spill (i valori sono indicati in figura in notazione esadecimale), e 999 che indica una durata di spill di 9990 ns. 110

111 (a) (b) Figura 5.11: (a) Simulazione della logica di time-stamp. (b) Zoom della simulazione sul secondo fronte di discesa di WRITE BUF. 111

112 5.2.3 Simulazione Post Place and Route Una volta effettuata la sintesi e l implementazione del progetto della FPGA, si è eseguita la simulazione del modello Post Place and Route della FPGA, comprensivo dei ritardi reali del circuito. Nella simulazione Post-PAR è più difficile verificare il funzionamento delle varie unità logiche nella FPGA in quanto la gerarchia dei moduli Verilog del progetto non viene mantenuta nel processo di sintesi; segnali interni e registri, inoltre, possono risultare ridefiniti nel modello Post-Route con nomi diversi da quelli assegnati nei file sorgenti. Nella simulazione del modello Post-PAR gli unici segnali che possono essere sottoposti a verifica sono quelli in uscita dalla FPGA. Tra l altro questo è il motivo per cui nell implementazione dello I/O del processore è stato configurato il registro SFR LED/TP, il quale fornendo delle linee di output dal processore in uscita alla FPGA, consente di verificare il funzionamento del processore nella simulazione Post-PAR. Ad esempio la figura 5.12 mostra una simulazione Post-PAR delle uscite fast-or effettuata col simulatore ISim, simulatore di linguaggio Verilog integrato nell ambiente ISE. In figura sono mostrati gli stessi segnali di fig. 5.8 in maniera tale da mettere in evidenza il fatto che in quest ultima simulazione, la quale tiene conto dei ritardi reali del circuito, il tempo di salita dei segnali di fast-or sono differenti rispetto alla simulazione comportamentale e la salita e la discesa del fast-or non occorrono immediatamente dopo il fronte positivo del clock. Figura 5.12: Simulazione Post Place and Route delle uscite fast-or. Con la simulazione Post-PAR si è voluto verificare che il circuito finale della FPGA si comportasse come richiesto. In particolare si è testato il funzionamento della Ethernet simulando l invio e la ricezione di dati sottoforma di pacchetti e verificando che i dati in uscita dalla FPGA verso il chip ethernet esterno avessero il giusto timing, come richiesto dalle specifiche di questo dispositivo. 112

113 5.2.4 Verifica della FPGA con input simulati Come verifica finale del progetto della FPGA è stata eseguita una simulazione in cui sono stati forniti in ingresso dei segnali simulati mediante metodo Monte Carlo. Scopo di questa simulazione è quello di fornire una ulteriore prova della validità della logica implementata sulla FPGA, mostrando che è possibile ricostruire in maniera ottimale una certa distribuzione di hit forniti in ingresso. I dati per la simulazione sono stati ottenuti generando la produzione di particelle cariche nel mezzo attivo, aventi una distribuzione in impulso simile a quella attesa per l eperimento in preparazione, e seguendone la traiettoria fino alla interazione col rivelatore. I dati relativi all interazione col rivelatore sono ricavati come strip accesa e tempo di occorrenza del segnale e memorizzati in un file di output; questo file è fornito in input al simulatore di linguaggio Verilog. La simulazione Monte Carlo tiene inoltre conto del tempo di propagazione del segnale elettrico lungo le strip (lunghe circa 8 m). È stato prodotto un campione di dati corrispondente a due spill da 10 µs, ognuno dei quali contenente circa 50 eventi (più o meno la quantità di eventi attesa nello spettrometro Near). Nella simulazione Verilog sono stati forniti due segnali di write buf da 10 µs, il primo che inizia al tempo 152 ns, il secondo a ns; in corrispondenza di questi segnali sono stati forniti gli input come prescritto dalla simulazione Monte Carlo, con una risoluzione sul tempo pari ad 1 ns. I dati sono riletti dal buffer circolare mediante un modulo di test che simula il comportamento del processore, simile a quello descritto in precedenza. Esso scrive su un file di output il time-stamp relativo al primo spill; legge dalla memoria del buffer per un numero di locazioni dato dal valore del registro di durata dello spill scrivendo in output il dato a 64 bit; le stesse operazioni sono ripetute per il secondo spill. Il risultato è che i dati letti dal buffer sono resi disponibili su un file di output come una matrice di zeri e di uno avente 64 colonne e un numero di righe dipendente da quanto tempo è stato tenuto alto il segnale di write buf. Il file di output della simulazione Verilog è stato elaborato mediante una macro di ROOT avente la funzione di riconoscere gli hit nei dati del buffer e di confrontare gli hit ricostruiti con i dati forniti in input alla simulazione. Gli hit sono stati trovati cercando per ogni canale (le colonne della matrice di dati) sequenze di tre 1. L informazione di time-stamp permette di ricostruire il tempo di inizio della scrittura sul buffer con una risoluzione di 10 ns, ad esempio 160 ns per il primo spill. A questo punto un segnale che arriva in ingresso ad esempio tra 160 e 170 ns viene memorizzato con tre 1 nelle prime tre righe nella matrice dei dati in output (nella colonna 113

114 corrispondente alla strip colpita); a tale segnale dovrebbe essere assegnato un tempo di 165 ns, e così via. Sulla base di queste considerazioni il tempo degli hit ricostruiti è stato calcolato come: t rec = t spill + n 10 ns + 5 ns dove t spill è il tempo di inizio della scrittura sul buffer e n è il numero della riga della matrice di dati in cui è stato individuato l hit. Il tempo t spill a sua volta è stato calcolato come t spill = t cycle + (timestamp spillstamp) 10 ns + 5 ns dove t cycle è il tempo a cui viene inviato l impulso di cycle alla FPGA (assunto noto); timestamp è il valore letto dal registro di time stamp; spillstamp è il valore letto dal registro di durata spill. L errore su t rec è dato da ɛ = 10 ns/ ns che deriva dalla somma in quadratura dell incertezza relativa al tempo di arrivo del segnale di cycle rispetto al fronte positivo del clock di periodo 10 ns (la quale influisce su t spill ) e dell incertezza relativa al tempo di arrivo dei segnali in input rispetto al clock. La figura 5.13(a) mostra la distribuzione temporale degli hit ricostruiti sovrapposta alla distribuzione degli hit forniti in ingresso. In figura sono evidenziate le regioni relative ai due spill e l area su cui viene fatto lo zoom di figura 5.13(b). Dalla figura 5.13(a) si vede che tutti i segnali posti in ingresso sono stati riconosciuti e se si guarda a una scala di 100 ns (fig. 5.13(b)) si vede che essi sono in effetti ricostruiti entro 10 ns. Dalla figura 5.13(c), che rappresenta un istogramma delle differenze tra il tempo degli hit ricostruiti e il tempo fornito per gli hit simulati, si vede che esso è compreso tra ±5 ns per tutti gli hit. Possiamo concludere questo capitolo affermando che i test effettuati sui ricevitori LVDS e le simulazioni sul progetto della FPGA indicano che la FEB possa funzionare come richiesto. Naturalmente una parola definitiva riguardo il perfetto funzionamento della FEB può essere data solo dopo i test di laboratorio sulla FEB ultimata. 114

115 (a) (b) (c) Figura 5.13: (a) Distribuzione tempo/strip degli hit in input alla simulazione e degli hit ricostruiti dai dati scritti sul buffer. (b) Zoom tra ns. (c) Distribuzione delle differenze dei tempi di hit ricostruiti e simulati. 115

116 Conclusioni In questo lavoro di tesi si è studiata l elettronica di front-end per gli RPC dell esperimento NESSiE dedicato alla fisica del neutrino. Il risultato è stato il progetto e la realizzazione di un prototipo di una scheda elettronica di front-end (FEB). Tale scheda è in grado di effettuare una lettura digitale di rivelatori RPC operanti in modo streamer, permettendo il tracciamento dei muoni, prodotti nelle interazioni di neutrino, con risoluzione sufficiente a determinarne il momento e la carica per energie > 1 2 GeV. Lo sviluppo della scheda di front-end (FEB) di NESSiE ha richiesto dapprima il test del funzionamento di ricevitori LVDS, utilizzati come discriminatori, per la digitalizzazione dei segnali analogici provenienti dagli RPC. Successivamente il progetto è proseguito con lo sviluppo del firmware per una FPGA, che rappresenta il cuore della FEB, nonché la parte principale del lavoro fatto per questa tesi di laurea. Attraverso questo lavoro, ciascuna scheda FEB immagazzina in modo continuo, con una risoluzione di 10 ns, i dati provenienti dagli RPC associandoli ad un time stamp. Inoltre ciascun modulo FEB appare come un nodo Ethernet per il sistema di acquisizione dati dell esperimento. Allo scopo di verificare il funzionamento della FPGA, si è prodotto un esteso lavoro di simulazione dei vari moduli che compongono la FPGA, nonché del suo funzionamento post implementazione. L assemblaggio del prototipo della scheda è stato completato, a cura di una ditta specializzata, e consegnato nel momento in cui viene completata la stesura di questa tesi (fig. 5.14). Nel prossimo futuro, dopo i test di laboratorio, una piccola produzione di tali schede verrà testata in connessione ad RPC, con strip lunghe 8 metri, disponibili presso i Laboratori Nazionali del Gran Sasso. Il progetto dovrà essere completato con alcuni moduli per la gestione del trigger e la distribuzione dei segnali. Per l esperimento NESSiE è prevista una produzione di circa 600 di tali schede FEB. 116

117 Figura 5.14: Foto del primo prototipo della FEB di NESSiE. 117

118 Appendice A Il Verilog A.1 Gli hardware description languages Il linguaggio Verilog [55, 56] è un Hardware Description Language (HDL). Un linguaggio HDL è un linguaggio usato per descrivere i sistemi digitali. I sistemi digitali possono essere molto complessi: possono consistere di milioni di transistor o porte logiche. La complessità degli hardware è cresciuta negli ultimi decenni così tanto che la pratica del disegno schematico con le porte logiche le loro interconnessioni è andata in disuso, perché non più di grande aiuto a comprendere la funzionalità di un dato progetto. Fin dagli anni 70 gli ingegneri elettronici ed informatici sono passati agli HDL. Essi consentono ai progettisti hardware di ideare i loro disegni per mezzo di modelli comportamentali, declinando i dettagli dell implementazione a uno stadio più avanzato del progetto. Una rappresentazione astratta aiuta il progettista a valutare diverse soluzioni architetturali mediante simulazione. Per mezzo di un HDL è possibile descrivere un sistema digitale a diversi livelli. Per esempio un HDL può descrivere il layout di fili, resistori e transistor su un circuito integrato (switch level); può descrivere porte logiche e flip flop in un sistema digitale (gate level); o ancora, a un livello più elevato, descrive registri e il trasferimento di vettori di informazione tra registri (Register Transfer Level, RTL). Sebbene il Verilog supporti tutti e tre questi livelli, nella progettazione ci si concentra in genere sul livello RTL. Esistono software che compilano programmi in notazione Verilog al livello di circuiti consistenti in porte logiche e flip flop. Altri tools sono in grado di tradurre programmi scritti in Verilog nelle maschere per i circuiti integrati VLSI (Very Large Scale Integration). Non da ultimo gli HDL sono i linguaggi che sono compresi dai programmi per la sintesi delle FPGA, come ISE per le FPGA della Xilinx e Quartus per le FPGA della Altera. 118

119 A.2 Il linguaggio Verilog Verilog è uno dei due più diffusi HDL usato dai progettisti hardware (l altro è il VHDL). VHDL è uno standard IEEE dal 1987; Verilog lo è dal Il linguaggio Verilog fu introdotto nel 1985 dalla Gateway Design System Corporation, divenuta in seguito parte della Cadence Design Systems. Nel maggio 1990, con la formazione dell Open Verilog International (OVI), Verilog HDL diventa un linguaggio di pubblico dominio. Nel 1995 il linguaggio Verilog diventa uno standard IEEE (Std )[57]. A.3 La sintassi del Verilog Il linguaggio Verilog ha una sintassi molto simile a quella del C. Il linguaggio Verilog descrive un sistema digitale come una serie di moduli, ognuno dei quali è di solito scritto su un file separato (l estensione dei sorgenti Verilog è.v ). Essi possono rappresentare pezzi di hardware, ad esempio una porta logica, un multiplexer, un microprocessore, ecc. Ciascun modulo possiede una interfaccia verso gli altri moduli. La struttura di un modulo è la seguente: module <nome modulo> (<port list>); <dichiarazioni> <module items> endmodule Un modulo è introdotto dalla parola chiave module seguita dall identificativo del modulo e dalla lista di ingressi e uscite. Nel corpo del modulo si trovano le dichiarazioni degli oggetti interni al modulo (registri, memorie, wires), costrutti initial e always, istanziazioni di altri moduli. Un modulo termina con la parola chiave endmodule. Per invocare l istanza di un modulo la sintassi generale è la seguente: <nome modulo><lista parametri><nome istanza> (<port list>); Il seguente esempio di codice Verilog è un contatore modulo 10 con reset sincrono e asincrono. Ad ogni fronte positivo di clock il contatore è incrementato se l enable in ingresso è a 1. L enable in uscita diventa 1 quando è attivo l enable in ingresso e il conteggio ha raggiunto la cifra 9. Ingresso e uscita di enable consentono di mettere più unità in cascata al fine di realizzare un contatore di più cifre decimali. 119

120 Source A.1: counter.v timescale 1ns/100ps module COUNTER( enin, CLK, RESET, srst, BCD, enout ); input enin, CLK, RESET, srst; output [3:0] BCD; output enout; reg [3:0] BCD; posedge CLK or posedge RESET ) begin if ( RESET ) BCD <= 0; else if ( srst ) BCD <= 0; else if ( enin ) BCD <= (BCD==9 )? 0 : BCD+1; end assign enout= ( BCD==9 && enin )? 1 :0; endmodule A.3.1 Registri e wires L esempio precedente comincia con la dicitura timescale 1ns/100ps. Questa direttiva stabilisce l unità temporale (1ns), seguita dalla precisione usata per calcolare le espressioni di tempo (100ps). Nel linguaggio Verilog il simbolo # seguito da un valore numerico introduce un delay temporale. Ad esempio la dicitura #2.44 sarebbe stata tradotta in un ritardo di 2, 4ns (arrotondato alla precisione di 100ps). Alla direttiva sulla scala temporale seguono la dichiarazione del modulo e la dichiarazione delle variabili di ingresso e uscita. Nel Verilog esistono due tipi fondamentali di dato: registri (reg) e fili (wire). La differenza fondamentale tra questi due tipi è il fatto che il primo possiede memoria, ossia i reg memorizzano l ultimo valore assegnato ad essi; i wire al contrario non possiedono la capacità di immagazzinare dati e possono essere pensati come dei fili. Le variabili reg sono utilizzate di solito come flip flop e registri, i wire sono utilizzati per implementare logica combinatoria e interconnessioni. Le variabili di input e output sono implicitamente dichiarate come wire, se non altrimenti specificato. Una variabile dichiarata come reg o wire è di default ad un solo bit. È possibile avere registri o wire a più bit specificando un range di bit nella 120

121 dichiarazione. Ad esempio: reg [3 : 0] BCD; wire [7 : 0] bus8; reg [7 : 0] mem[0 : 255]; Il primo è un registro a 4 bit; il secondo è un bus a 8 bit; il terzo è una memoria di dimensione bit (in Verilog non sono ammessi array multidimensionali, ma è possibile indicare una memoria come un array di registri). È possibile riferirsi ai bit di un registro o wire con la notazione [<start-bit>:<end-bit>]. Gli oggetti reg o wire possono assumere i seguenti valori: 0 zero logico o false 1 uno logico o true x valore logico ignoto z stato di alta impedenza I valori numerici in Verilog sono comunemente espressi nella seguente forma generale: <size><base format><number> dove <size> specifica il numero di bit della costante numerica; <base format> è il carattere seguito da una lettera tra b, d, o e h, che stanno rispettivamente per base binaria, decimale, ottale e esadecimale; <number> contiene le cifre della costante numerica, compatibilmente con il <base format>. Ad esempio: 123 numero in base decimale h5b numero in base esadecimale 4 b10 numero binario a 4 bit b10x numero binario a 3 bit il cui LSB non è noto Oltre a registri e wire, altri tipi di variabili del Verilog sono integer, real e time. Integer e real si comportano in maniera simile al linguaggio C: un integer è un intero con segno a 32 bit, un real è un numero reale a virgola mobile. Variabili di tipo time hanno dimensione 64 bit e sono usate in combinazione con la funzione $time che restituisce il tempo corrente della simulazione. A.3.2 Blocchi initial e always Un blocco sequenziale è un gruppo di istruzioni tra un begin e un end. Le diciture begin e end hanno nel Verilog la stessa funzione delle parentesi graffe 121

122 aperte e chiuse nel C (in Verilog {, } è l operatore di concatenazione; congiunge i bit di due o più espressioni separate da virgole). Un blocco sequenziale è trattato alla stessa maniera di un istruzione singola; è possibile annidare blocchi sequenziali uno nell altro. Un blocco sequenziale può comparire dopo una direttiva initial oppure always. Nel primo caso esso viene eseguito una sola volta, nel secondo caso viene eseguito ripetitivamente. Ad ogni modo, se compaiono più blocchi initial o always, essi sono eseguiti in parallelo. È possibile programmare l esecuzione di una istruzione procedurale in modo tale da essere innescata da un cambio di valore su un registro o wire o dall accadimento di un certo evento. Un controllo su un evento è introdotto dal seguito dalla lista delle variabili su cui è fatto il controllo (sensitivity list). Ad a = or s) a = clock) a = clock) a = b+c; // eseguito a ogni cambio di valore // nel registro r // eseguito a ogni cambio di valore // nei registri r o s // eseguito sul fronte di salita // del clock // eseguito sul fronte di discesa // del clock Le diciture posedge e negedge devono essere seguite da una espressione ad 1 bit, tipicamente un clock. La prima individua una transizione da 0 a 1, la seconda individua una transizione da 1 a 0. Una istruzione può essere triggerata da più eventi se separati dal comando or all interno della parentesi. La seguente struttura, ad esempio, è utilizzata molto spesso ed implementa della logica sincrona sul fronte di salita del clock, con reset asincrono attivo alto: posedge clk or posedge reset) begin if (reset)... // reset instructions else... // some procedural instructions end Altro costrutto molto utilizzato è seguito da un asterisco la sensitivity list viene determinata automaticamente dal simulatore, guardando alle variabili nel blocco procedurale che segue la direttiva. Questo costrutto 122

123 risulta particolarmente utile nel caso si voglia descrivere della logica combinatoria. Altro costrutto di controllo temporale è la direttiva wait. Essa consente di ritardare una istruzione finché una data condizione non si verifica. A differenza sensibile alle transizioni del segnale, la direttiva wait è level sensitive. A.3.3 Assegnamento blocking e non-blocking Sui data object del Verilog possono agire operatori molto simili a quelli del C, con regole di priorità analoghe. Ad esempio == rappresenta l uguaglianza logica, && è l AND logico, la negazione bitwise, ecc. Discorso a parte meritano gli operatori di assegnamento, per cui si distinguono un assegnamento continuo e due forme di assegnamento procedurale. L assegnamento continuo riguarda le variabili dichiarate come wire ed è introdotto dalla parola chiave assign. Quando una data espressione è assegnata ad un oggetto wire, esso è aggiornato ogniqualvolta uno degli operandi cambia valore. L assegnamento continuo pertanto si presta alla descrizione di logica combinatoria. L assegnamento procedurale riguarda le variabili reg e se ne distinguono due forme: blocking e non-blocking. Essi sono indicati rispettivamente dagli operatori = e <=. L assegnamento blocking (=) agisce in maniera simile ai linguaggi di programmazione tradizionali, essendo l operazione eseguita per intero prima che il controllo passi all operazione successiva. L operatore di assegnamento non-blocking (<=) valuta tutte le espressioni a destra di esso per un dato valore di tempo e le assegna a sinistra alla fine dell unità temporale. Solitamente l uso dell assegnamento non-blocking è preferibile rispetto al blocking, in quanto esso consente di descrivere in maniera più appropriata le transizioni di livelli logici, che nei circuiti reali non avvengono mai istantaneamente, ma sempre con un certo ritardo temporale, seppur minimo. L assegnamento non-blocking è spesso usato in combinazione con il delay temporale. La sintassi generale è la seguente: <reg var> <= # <delay> <expression>; In questo caso l espressione a destra è calcolata e viene assegnata a sinistra soltanto dopo il delay temporale. 123

124 A.3.4 Costrutti di controllo Il Verilog possiede una ricca collezione di costrutti di controllo che possono essere usati nelle parti procedurali del codice (cioè tra un begin e un end). Tra i costrutti di selezione troviamo if/else e case. Il costrutto if consente di eseguire una data istruzione se una data condizione è verificata. Esso può essere seguito da un else, che specifica le istruzioni che sono eseguite se la condizione non è verificata. A differenza di if/else, che consente di scegliere solo tra due alternative, il costrutto case consente una selezione tra più possibilità. Il seguente esempio mostra l utilizzo di if/else e case. Esso descrive un decoder che codifica un valore BCD (Binary Coded Decimal) in una codifica per un display a sette segmenti. Esso possiede inoltre un ingresso di enable; viene visualizzato un trattino se esso è a zero. Source A.2: BCD7segmenti.v timescale 1ns/100ps module BCD7segmenti( EN, A, dis ); input EN; input [3:0] A; output [6:0] dis; reg [6:0] dis; begin if ( EN ) case(a) 0: dis <= 7 b ; 1: dis <= 7 b ; 2: dis <= 7 b ; 3: dis <= 7 b ; 4: dis <= 7 b ; 5: dis <= 7 b ; 6: dis <= 7 b ; 7: dis <= 7 b ; 8: dis <= 7 b ; 9: dis <= 7 b ; default: dis <= 7 hxx; endcase else dis <= 7 b ; end endmodule 124

125 In Verilog i costrutti di iterazione sono: for, while, repeat, forever. I costrutti for e while funzionano allo stesso modo che nel linguaggio C (con l eccezione che in Verilog non esistono gli operatori di incremento ++ e decremento ). Il costrutto repeat consente di ripetere un blocco di istruzioni per un dato numero di volte. Il costrutto forever esegue un ciclo infinito. Le seguenti istruzioni, ad esempio, descrivono l azzeramento di un registro a 16 bit con tre costrutti differenti: for(i=0; i<=15; i=i+1 ) data[i]<=0; i=0; while(i<=15) begin data[i]<=0; i=i+1; end repeat(16) begin data[i]<=0; i=i+1; end A.4 Esempio: una macchina a stati Vediamo un esempio un po più complesso di codice Verilog, in cui si vuole descrivere un cronometro con le seguenti funzionalità: se viene premuto il pulsante START/STOP parte un conteggio che si arresta quando esso viene premuto nuovamente; il conteggio riparte da dove era stato interrotto a un nuovo START; il cronometro si azzera alla pressione del pulsante CLEAR. Il cronometro è stato implementato mediante una macchina a stati che costituisce la logica di controllo e da un contatore. La macchina a stati ha come ingressi START/STOP e CLEAR e in uscita pilota gli ingressi di enable (EN) e di reset sincrono (CZ) del contatore nel paragrafo A.3(fig. A.1). Figura A.1: Schema a blocchi del cronometro. Una macchina a stati finiti (Finite State Machine, FSM) [58] è una struttura conveniente per realizzare una funzione logica sequenziale in cui le uscite vengono aggiornate in sincronia con le transizioni di un segnale di clock. Lo schema generale di una FSM è in figura A.2 [59]. La macchina cambia stato ad ogni fronte attivo del clock. La memoria di stato è un registro realizzato con k flip-flop edge triggered che memorizzano le variabili interne (lo stato presente) del circuito sequenziale. Ad ogni transizione attiva del clock, il contenuto della memoria di stato (cioè, lo stato presente) viene aggiornato e passa da S(n) a S(n+1), dove l indice n numera progressivamente i periodi del segnale di clock, mentre le uscite assumono 125

126 Figura A.2: Schema a blocchi di una generica FSM. [59] il valore Y(n). Sia il valore S(n+1) dello stato futuro che il valore Y(n) dell uscita asincrona sono funzioni combinatorie del valore X(n) dell ingresso e del valore S(n) dello stato presente: { S(n + 1) = F [S(n), X(n)] Y (n) = G[S(n), X(n)] Le FSM vengono normalmente distinte in macchine di Mealy, in cui il valore delle uscite Y(n) dipende sia dal valore dello stato presente S(n) che dal valore degli ingressi X(n), e macchine di Moore, in cui Y(n) è solo funzione del solo stato presente S(n). È stato scelto di implementare il cronometro come una macchina di Moore a cinque stati. Si può utilizzare una rappresentazione grafica per descrivere l evoluzione degli stati. In questo tipo di grafo, detto State Transition Diagram (STD) [60], i nodi (i pallozzi ) rappresentano gli stati, le frecce rappresentano le transizioni tra stati. In gergo si parla di pallogramma. Lo STD della macchina a stati del cronometro è mostrato in figura A.3. La FSM dopo un reset è nello stato IDLE. In questa configurazione le uscite EN e CZ sono rispettivamente a 0 e 1, quindi la permanenza nello stato IDLE comporta anche l azzeramento del contatore. La FSM si riporta nello stato IDLE ogniqualvolta è attivo CLEAR, che ha precedenza sul segnale di START/STOP. Quando START=1 e CLEAR=0 la FSM si porta nello stato CONTA e vi rimane finché gli ingressi hanno questo valore. Quando START 126

127 Figura A.3: State Transition Diagram della macchina a stati del cronometro. In corrispondenza di ogni stato (i box) sono indicati i valori delle uscite (nell ordine EN e CZ); in corrispondenza di ogni transizione (le frecce) sono indicati i valori degli ingressi (nell ordine START/STOP e CLEAR). torna a zero (rilascio del pulsante) la FSM si porta nello stato CONTA1. Negli stati CONTA e CONTA1 si ha in uscita EN=1 e CZ=0 cosicché il contatore è abilitato al conteggio. Quando si ha nuovamente START=1 e CLEAR=0 la FSM si porta dallo stato CONTA1 allo stato PAUSA e rimane in questo stato finché permane questa combinazione degli ingressi. Nel momento in cui START torna a zero (rilascio del pulsante) la FSM si va nello stato PAUSA1. Negli stati PAUSA e PAUSA1 le uscite assumono valore EN=0 e CZ=0, cosicché il contatore è fermo e mantiene memoria dell ultimo valore segnato prima dello stop. Quando si ha nuovamente START=1 la FSM si porta nello stato CONTA e il conteggio riprende da dove si era interrotto. Il codice Verilog che descrive questa macchina a stati è il seguente: Source A.3: cronofsm.v timescale 1ns/100ps module cronofsm( RESET, CLK, START, CLEAR, EN, CZ ); input RESET, CLK, START, CLEAR; output EN, CZ; reg EN,CZ; reg [4:0] cur state; parameter IDLE= 5 b00001; parameter CONTA= 5 b00010; parameter CONTA1= 5 b00100; 127

128 parameter PAUSA= 5 b01000; parameter PAUSA1= 5 b10000; posedge CLK or posedge RESET ) begin if(reset) cur state<= IDLE; else if (CLEAR ) cur state<= #1 IDLE; else case(cur state) IDLE: if (START) cur state<= #1 CONTA; CONTA: if ( START) cur state<= #1 CONTA1; CONTA1: if (START) cur state<= #1 PAUSA; PAUSA: if ( START) cur state<= #1 PAUSA1; PAUSA1: if (START) cur state<= #1 CONTA; default: cur state<= #1 IDLE; endcase end case(cur state ) IDLE: {EN,CZ} <= #1 2 b01; CONTA: {EN,CZ} <= #1 2 b10; CONTA1: {EN,CZ} <= #1 2 b10; PAUSA: {EN,CZ} <= #1 2 b00; PAUSA1: {EN,CZ} <= #1 2 b00; default: {EN,CZ} <= #1 2 b00; endcase endmodule Un registro a 5 bit contiene lo stato presente. Nel codice sono ben separate una parte sequenziale (primo blocco always), che ad ogni ciclo di clock aggiorna il registro di stato, e una parte combinatoria (secondo blocco always), che determina le uscite a seconda dello stato presente. Nel codice riportato gli stati della FSM sono dichiarati come parametri. La direttiva parameter consente di fornire un nome ad un valore costante. Usare i parametri permette di scrivere codice più generalizzabile e di più facile manutenzione. Ad esempio, se nel codice volessimo cambiare la codifica degli stati della FSM (è stata utilizzata una codifica one-hot), sarebbe sufficiente solamente cambiare la definizione dei parametri e non sarà necessario cambiare nulla nel resto del codice. Oltre a parameter, un altro modo per definire delle costanti è tramite la direttiva define. I parametri all interno di un modulo hanno visibilità locale; le costanti definite con define hanno visibilità globale. 128

129 Appendice B Sintesi di FPGA B.1 L ambiente ISE Solitamente i produttori di FPGA forniscono, oltre che le FPGA stesse, anche il software per programmarle. L ambiente ISE [61] della Xilinx non è semplicemente un software in grado di programmare FPGA, ma un ambiente di sviluppo a tutti gli effetti. Il software ISE è in grado di supportare il progettista in ogni fase dello sviluppo, fornendo diversi tool dall interfaccia grafica. ISE supporta sia la progettazione basata su HDL che la progettazione basata su schematico. L approccio usato in questo lavoro è quello basato su HDL; in particolare è stato utilizzato il linguaggio Verilog. In questo approccio il progetto da implementare viene innanzi tutto descritto con codice Verilog a livello RTL. A questo punto il software ISE, attraverso dei tool di sintesi, traduce il codice Verilog in hardware implementabile sulla FPGA. Seguono diverse fasi di implementazione, il cui fine ultimo è quello di creare un file di programmazione caricabile sulla FPGA. B.2 Progetto di un cronometro In questa sezione si analizzerà nelle sue varie fasi un semplice progetto di un cronometro, pensato per funzionare sulla scheda Spartan-3 Starter Kit [62]. In questo progetto la FPGA prende in ingresso: un clock a 50 MHz, da un oscillatore presente sulla scheda; gli ingressi RESET, START/STOP, CLEAR, provenienti da pulsanti sulla scheda. I segnali di START/STOP e CLEAR gestiscono il cronometro nella maniera già indicata nel paragrafo A.4 (la macchina a stati del paragrafo A.4 è parte integrante del cronometro). 129

130 (a) (b) Figura B.1: (a) Schema del display al LED della scheda Spartan-3 Starter Kit. La figura illustra il funzionamento degli 8 segnali e dei 4 anodi mostrando la combinazione che visualizza la cifra 2 sul primo display. [62] (b) Schematico delle connessioni dalla FPGA verso il display al LED. La figura mostra in particolare che i segnali AN3... AN0 provenienti dalla FPGA sono invertiti dai transistor Q4... Q1. [62] Figura B.2: Multiplexaggio dei segnali di controllo del display al LED. [62] 130

131 In uscita essa deve pilotare un display sette-segmenti a LED composto da quattro caratteri (si vuole contare con una precisione al centesimo di secondo). Il display (fig. B.1(a)) è di tipo common anode, ossia l anodo comune fornisce l alimentazione ai LED che compongono il display; i segnali ai catodi determinano se i LED sono accesi o spenti. Nel display le quattro cifre hanno in comune i segnali di controllo dei catodi che determinano l accensione dei singoli segmenti LED; ciascun carattere possiede un ingresso di controllo di anodo separato in modo tale da poter controllare quali dei quattro caratteri che compongono il display debbano essere accesi. In definitiva il display è controllato da: un bus a 8 bit che corrisponde ai sette segmenti (denominati a, b,..., g) e al punto decimale; un bus a 4 bit che controlla l anodo di ciascuno dei quattro caratteri di cui è composto il display; sia i primi che i secondi segnali sono attivi bassi (ciascun segnale di anodo è collegato a un transistor che lo inverte, fig B.1(b)). Affinché il dato sia visibile su tutti e quattro i caratteri, i segnali di controllo dei LED sono multiplexati temporalmente come in figura B.2. I quattro caratteri sono attivati uno alla volta in rapida successione ponendo basso il segnale di anodo corrispondente. Se la transizione avviene a una frequenza sufficientemente rapida, l occhio umano non è in grado di percepirla e l impressione è che i quattro caratteri appaiono simultaneamente. B.2.1 Il top-level La prima fase del progetto della FPGA è stata quella di sviluppare del codice Verilog che ne descrivesse il funzionamento a livello RTL. Tra i moduli Verilog che costituiscono il progetto deve esserci un modulo top-level, i cui ingressi e uscite coincidono con quelli del progetto della FPGA e che richiama gli altri sottomoduli della gerarchia. Il codice del top-level per il progetto del cronometro è riportato di seguito; una rappresentazione schematica è data in figura B.3. Source B.1: cronometro.v timescale 1ns/100ps module cronometro( EXTCLK, RESET, START, CLEAR, A, DIS ); input EXTCLK, RESET, START, CLEAR; output [3:0] A; output [7:0] DIS; wire clk; wire en, en0, en1, en2, en3, srst; wire [3:0] B3, B2, B1, B0; reg [3:0] BCDbus, A; reg [1:0] selector; wire [6:0] segmenti; 131

132 wire dec point; //// modulo prescaler PRESCALER my prescaler(.inclk(extclk),.outclk(clk),.reset(reset) ); //// logica selezione dispositivo posedge clk or posedge RESET ) if ( RESET ) selector<=0; else selector <=selector+1; case( selector ) 2 b00: begin A<= 4 b1110; BCDbus<= B0; end 2 b01: begin A<= 4 b1101; BCDbus<= B1; end 2 b10: begin A<= 4 b1011; BCDbus<= B2; end 2 b11: begin A<= 4 b0111; BCDbus<= B3; end endcase //////// macchina a stati cronofsm my crono(.reset(reset),.clk(clk),.start(start),.clear(clear),.en( en),.cz( srst) ); /////// contatori COUNTER my counter3(.enin( en3),.clk( clk ),.RESET( RESET ),.srst( srst ),.BCD( B3 ),.enout() ); COUNTER my counter2(.enin( en2),.clk( clk ),.RESET( RESET ),.srst( srst ),.BCD( B2 ),.enout(en3 ) ); COUNTER my counter1(.enin( en1),.clk( clk ),.RESET( RESET ),.srst( srst ),.BCD( B1 ),.enout(en2 ) ); COUNTER my counter0(.enin( en0),.clk( clk ),.RESET( RESET ),.srst( srst ),.BCD( B0 ),.enout(en1 ) ); COUNTER ghost counter(.enin( en),.clk( clk ),.RESET( RESET ),.srst( srst ),.BCD(),.enOut(en0 ) ); 132

133 //// decoder BCD-7segmenti BCD7segmenti my BCD(.EN( RESET ),.A( BCDbus ),.dis( segmenti ) ); assign dec point= (selector==2 b10)? 0 :1; assign DIS= {segmenti, dec point}; endmodule Il modulo PRESCALER ha in ingresso il clock da 50 MHz e fornisce in uscita un clock da 100 khz, frequenza a cui gira tutto il resto del progetto. Oltre a questo modulo, il top-module richiama i moduli cronofsm (par. A.4), COUNTER (par. A.3) e BCD7segmenti (par. A.3.4). I segnali di START/STOP e CLEAR sono gestiti dalla macchina a stati (modulo cronofsm). La FSM ha in uscita un segnale di enable (il quale abilita i contatori) e un segnale di azzeramento (esso fa il reset sincrono dei contatori). Vi sono cinque istanze del modulo contatore; esse sono collegate in cascata. Il segnale di enable è collegato al primo contatore, il quale conta i millesimi di secondo (questa cifra non è visualizzata sul display). L uscita di enable di questo contatore è collegato all ingresso di enable dello stadio successivo, e Figura B.3: Schema a blocchi del progetto del cronometro. 133

134 così via. Il segnale di reset sincrono è collegato in parallelo a tutti i contatori. Ogni contatore ha in uscita un bus a 4 bit che rappresenta la cifra segnata in codice BCD. Un multiplexer seleziona a rotazione uno dei quattro caratteri del display mettendo basso uno dei quattro segnali anodici e selezionando uno dei quattro bus BCD dai contatori verso il decoder BCD-7segmenti. Quando è selezionato il secondo carattere del display, è messo basso il segnale relativo al punto decimale, in modo da illuminare il punto decimale della cifra dei secondi. L uscita del decoder BCD-7segmenti e il segnale del punto decimale formano un bus a 8 bit in uscita dalla FPGA verso il display. Una volta delineato il progetto in codice Verilog, esso è stato verificato mediante il simulatore NCverilog [63] della Cadence. A questo scopo è stato messo a punto un modulo di testbench che fornisse una serie di stimoli in ingresso al modello Verilog del progetto. Tipicamente un file di testbench comprende [64]: Un blocco initial per inizializzare tutte le variabili al tempo zero e per abilitare il salvataggio del database di simulazione; Un blocco always per la generazione dei segnali di clock; Una istanza del modulo Verilog da sottoporre a verifica; Un blocco initial per la generazione degli stimoli; Istruzioni di chiusura del database e di terminazione della simulazione ($finish). Il risultato della simulazione può essere analizzato con un visualizzatore di forme d onda. Oltre ai sorgenti Verilog, un altro file sorgente che occorre preparare è il file di constraints (UCF, User Constraints File). Esso consente di: impostare la localizzazione di ingressi e uscite sui pin della FPGA; creare dei timing constraints, ad esempio sul periodo del clock. Questo può essere fatto sia scrivendo il file UCF con un editor di testo che usando dei tool ad interfaccia grafica come il Constraint Editor di ISE o il Plan Ahead. B.2.2 Sintesi Alla creazione di un nuovo progetto, il programma ISE chiede all utente alcune informazioni fondamentali sul progetto: il tipo dei sorgenti (HDL/schematico), la FPGA usata (modello, package, speed grade), il linguaggio HDL preferito (VHDL/Verilog), il tool di sintesi, il simulatore HDL, ecc. Nel 134

135 nostro caso si è selezionato il Verilog come linguaggio HDL e la FPGA XC3S200FT256 della serie Spartan-3 (quella montata sulla scheda Starter Kit). Una volta fornite al programma le informazioni che esso richiede, l utente può aggiungere al progetto il top-level e gli altri sorgenti. La schermata principale di ISE apparirà come in figura B.4. Nel Project Navigator il pannello in alto a sinistra mostra il top-module con tutta la gerarchia di sottomoduli e i sorgenti cui fanno riferimento; il riquadro sotto di esso consente di eseguire i diversi stadi dell implementazione e di richiamare diversi tool; il riquadro a destra mostra all utente lo stato dell implementazione, le statistiche di utilizzo della FPGA, messaggi di errore e di warning, ecc. Lo stadio successivo del progetto è costituito dalla sintesi. A questo scopo è stato utilizzato il tool di sintesi XST (Xilinx Synthesis Technology). Esso controlla la sintassi del codice sorgente; traduce e ottimizza il codice HDL in un set di componenti che il tool di sintesi può riconoscere (compilazione); Figura B.4: Schermata di ISE Project Navigator. 135

136 infine traduce i componenti dallo stadio di compilazione nelle componenti primitive della FPGA (map). Il risultato di questo processo è la creazione di una netlist (file.ngc). Una netlist è una descrizione testuale della connettività di un circuito; fondamentalmente essa è una lista di connettori, istanze, segnali. Per il processo di sintesi l utente puó impostare una serie di opzioni che influenzano il modo in cui sono impiegate le risorse sulla FPGA e la velocità del progetto finale in termini di massima frequenza di clock. Ad esempio, se il progetto è critico dal punto di vista della velocità, il register balancing, l utilizzo di registri duplicati e la riduzione del massimo fan-out consentono di ottenere una maggiore frequenza massima; viceversa se il goal è l area, conviene disabilitare la creazione di registri duplicati e attivare il resources sharing al fine di ridurre le risorse utilizzate dal progetto. Al termine del processo di sintesi l utente può visualizzare una rappresentazione schematica del progetto sia a livello RTL che a livello di circuito post-sintesi attraverso i tool View RTL Schematic e View Technology Schematic. La figura B.5 mostra lo schematico del circuito generato dal tool di sintesi. Esso è descritto in termini di primitive relative alla FPGA Spartan-3 XC3S200. Figura B.5: Schermata di ISE Schematic Viewer. 136

137 B.2.3 Implementazione Alla fase di sintesi segue quella di implementazione. Lo stadio di implementazione comprende tre sottoprocessi: Translate, Map, Place & Route. Durante il processo di Translate il programma NGDBuild converte le netlist di input in una singola merged netlist (file.ngd) contenente le informazioni sulla logica di tutto il progetto e ogni constraint di posizionamento e di timing (in questa fase i vincoli impostati dall utente tramite il file.ucf sono aggiunti alla netlist). Il Map svolge le seguenti funzioni: alloca le risorse di CLB e IOB per tutti gli elementi del progetto; elabora tutti i constraint di posizionamento e di timing. Il Place & Route (PAR) piazza e collega i vari elementi sulla FPGA, ottimizzando la netlist al fine di rispettare i timing constraints. Il PAR, inoltre, valuta i ritardi reali (pessimistici) delle connessioni nel circuito, tenendo conto anche del ritardo dovuto agli elementi parassiti. Questa informazione è memorizzata in un file dalla estensione SDF e può essere utilizzata nella simulazione. Figura B.6: Schermata di Xilinx FPGA Editor. 137

138 L analisi temporale statica [50] permette di verificare che i ritardi dei segnali nella FPGA siano coerenti con i vincoli impostati ed evidenzia i percorsi dei segnali che violano i vincoli. Ad esempio, se si è impostato un constraint sul periodo del clock, il programma verifica che tutti i percorsi di segnale tra due flip flop siano più brevi della durata impostata del periodo del clock. A questo stadio dell implementazione è possibile utilizzare il tool FPGA Editor che consente di verificare le connessioni del progetto finale, o anche di piazzare manualmente alcuni componenti critici. Questo tool permette di visualizzare tutti i percorsi che i segnali fanno dentro la FPGA. La figura B.6 mostra come appare il progetto del cronometro dopo il PAR. Il tool XPower Analyzer, invece, fornisce all utente una stima del consumo di potenza della FPGA. Questa stima è molto accurata in quanto esso utilizza per il calcolo le informazioni di connettività del progetto finale. Per ognuno degli stadi dell implementazione è possibile generare un modello HDL simulabile con ISim (simulatore HDL integrato dentro ISE) o con altri simulatori. Il modello ultimo, quello post-par, tiene conto dei ritardi reali delle interconnessioni tramite il processo di back annotation. La simulazione temporale [50] permette di verificare che il circuito finale realizzi le funzioni richieste alle velocità necessarie. B.2.4 Programmazione L ultimo stadio dell implementazione porta alla creazione un file bitstream (estensione.bit), che è essenzialmente una sequenza di zeri e di uno che contiene tutta l informazione per la configurazione della FPGA. Il file.bit può essere caricato dentro la FPGA stessa o utilizzato per formattare un file (esadecimale) di programmazione di una PROM. Il programma che assolve a questo compito è impact (fig. B.7). Dopo aver collegato la scheda Starter Kit al computer tramite il cavo JTAG, la FPGA Spartan-3 XC3S200 è stata programmata utilizzando il programma impact. Una volta scollegato il cavo il programma è rimasto memorizzato nella PROM di configurazione, che è una XCF02S da 2Mbit. La figura B.8 mostra la scheda durante il funzionamento. 138

139 Figura B.7: Schermata di impact. Figura B.8: Progetto del cronometro in funzione sulla scheda Spartan-3 Starter Kit. Il cronometro è stato fermato sul tempo di 2.66 secondi. 139

LA CORRENTE ELETTRICA CONTINUA

LA CORRENTE ELETTRICA CONTINUA LA CORRENTE ELETTRICA CONTINUA (Fenomeno, indipendente dal tempo, che si osserva nei corpi conduttori quando le cariche elettriche fluiscono in essi.) Un conduttore metallico è in equilibrio elettrostatico

Dettagli

13. Campi vettoriali

13. Campi vettoriali 13. Campi vettoriali 1 Il campo di velocità di un fluido Il concetto di campo in fisica non è limitato ai fenomeni elettrici. In generale il valore di una grandezza fisica assegnato per ogni punto dello

Dettagli

SENSORI E TRASDUTTORI

SENSORI E TRASDUTTORI SENSORI E TRASDUTTORI Il controllo di processo moderno utilizza tecnologie sempre più sofisticate, per minimizzare i costi e contenere le dimensioni dei dispositivi utilizzati. Qualsiasi controllo di processo

Dettagli

LA CORRENTE ELETTRICA Prof. Erasmo Modica erasmo@galois.it

LA CORRENTE ELETTRICA Prof. Erasmo Modica erasmo@galois.it LA CORRENTE ELETTRICA Prof. Erasmo Modica erasmo@galois.it L INTENSITÀ DELLA CORRENTE ELETTRICA Consideriamo una lampadina inserita in un circuito elettrico costituito da fili metallici ed un interruttore.

Dettagli

La corrente elettrica

La corrente elettrica PROGRAMMA OPERATIVO NAZIONALE Fondo Sociale Europeo "Competenze per lo Sviluppo" Obiettivo C-Azione C1: Dall esperienza alla legge: la Fisica in Laboratorio La corrente elettrica Sommario 1) Corrente elettrica

Dettagli

19 Il campo elettrico - 3. Le linee del campo elettrico

19 Il campo elettrico - 3. Le linee del campo elettrico Moto di una carica in un campo elettrico uniforme Il moto di una particella carica in un campo elettrico è in generale molto complesso; il problema risulta più semplice se il campo elettrico è uniforme,

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Generatore radiologico

Generatore radiologico Generatore radiologico Radiazioni artificiali alimentazione: corrente elettrica www.med.unipg.it/ac/rad/ www.etsrm.it oscar fiorucci. laurea.tecn.radiol@ospedale.perugia.it Impianto radiologico trasformatore

Dettagli

RIVELAZIONE DELLE RADIAZIONI IONIZZANTI. Nelle tecniche di rivelazione delle radiazioni ionizzanti le grandezze da rivelare possono essere diverse:

RIVELAZIONE DELLE RADIAZIONI IONIZZANTI. Nelle tecniche di rivelazione delle radiazioni ionizzanti le grandezze da rivelare possono essere diverse: RIVELAZIONE DELLE RADIAZIONI IONIZZANTI Nelle tecniche di rivelazione delle radiazioni ionizzanti le grandezze da rivelare possono essere diverse: -Fluenza di particelle -Fluenza di energia -Informazioni

Dettagli

~ Copyright Ripetizionando - All rights reserved ~ http://ripetizionando.wordpress.com STUDIO DI FUNZIONE

~ Copyright Ripetizionando - All rights reserved ~ http://ripetizionando.wordpress.com STUDIO DI FUNZIONE STUDIO DI FUNZIONE Passaggi fondamentali Per effettuare uno studio di funzione completo, che non lascia quindi margine a una quasi sicuramente errata inventiva, sono necessari i seguenti 7 passaggi: 1.

Dettagli

APPUNTI SUL CAMPO MAGNETICO ROTANTE

APPUNTI SUL CAMPO MAGNETICO ROTANTE APPUTI UL CAPO AGETICO ROTATE Campo agnetico Rotante ad una coppia polare Consideriamo la struttura in figura che rappresenta la vista, in sezione trasversale, di un cilindro cavo, costituito da un materiale

Dettagli

CAPACITÀ DI PROCESSO (PROCESS CAPABILITY)

CAPACITÀ DI PROCESSO (PROCESS CAPABILITY) CICLO DI LEZIONI per Progetto e Gestione della Qualità Facoltà di Ingegneria CAPACITÀ DI PROCESSO (PROCESS CAPABILITY) Carlo Noè Università Carlo Cattaneo e-mail: cnoe@liuc.it 1 CAPACITÀ DI PROCESSO Il

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

CORRENTE ELETTRICA Intensità e densità di corrente sistema formato da due conduttori carichi a potenziali V 1 e V 2 isolati tra loro V 2 > V 1 V 2

CORRENTE ELETTRICA Intensità e densità di corrente sistema formato da due conduttori carichi a potenziali V 1 e V 2 isolati tra loro V 2 > V 1 V 2 COENTE ELETTICA Intensità e densità di corrente sistema formato da due conduttori carichi a potenziali V 1 e V isolati tra loro V > V 1 V V 1 Li colleghiamo mediante un conduttore Fase transitoria: sotto

Dettagli

E l e t t r o m a g n e t i s m o. Saggio Finale

E l e t t r o m a g n e t i s m o. Saggio Finale Corso abilitante IX ciclo Classe di concorso A038 ( Fisica ) Anno Accademico 2007 / 2008 (1 anno ) Specializzando: ( matr. 3801/SS ) E l e t t r o m a g n e t i s m o prof. Saggio Finale 1. Presentazione

Dettagli

Università degli studi di Messina facoltà di Scienze mm ff nn. Progetto Lauree Scientifiche (FISICA) Prisma ottico

Università degli studi di Messina facoltà di Scienze mm ff nn. Progetto Lauree Scientifiche (FISICA) Prisma ottico Università degli studi di Messina facoltà di Scienze mm ff nn Progetto Lauree Scientifiche (FISICA) Prisma ottico Parte teorica Fenomenologia di base La luce che attraversa una finestra, un foro, una fenditura,

Dettagli

Esercitazione N. 1 Misurazione di resistenza con metodo volt-amperometrico

Esercitazione N. 1 Misurazione di resistenza con metodo volt-amperometrico Esercitazione N. 1 Misurazione di resistenza con metodo volt-amperometrico 1.1 Lo schema di misurazione Le principali grandezze elettriche che caratterizzano un bipolo in corrente continua, quali per esempio

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro.

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro. PREMESSA: Anche intuitivamente dovrebbe a questo punto essere ormai chiaro

Dettagli

a.a. 2005/2006 Laurea Specialistica in Fisica Corso di Fisica Medica 1 Utilizzo ECG

a.a. 2005/2006 Laurea Specialistica in Fisica Corso di Fisica Medica 1 Utilizzo ECG a.a. 2005/2006 Laurea Specialistica in Fisica Corso di Fisica Medica 1 Utilizzo ECG 27/4/2006 Cuore come dipolo elettrico Il cuore considerato come un generatore elettrico complesso, in cui sono presenti

Dettagli

LA CORRENTE ELETTRICA

LA CORRENTE ELETTRICA L CORRENTE ELETTRIC H P h Prima che si raggiunga l equilibrio c è un intervallo di tempo dove il livello del fluido non è uguale. Il verso del movimento del fluido va dal vaso a livello maggiore () verso

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE. Operare con i numeri

Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE. Operare con i numeri COMPETENZA CHIAVE MATEMATICA Fonte di legittimazione Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE L alunno utilizza il calcolo scritto e mentale con i numeri

Dettagli

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre 2010. Prof. L.

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre 2010. Prof. L. Parte 3 Aggiornamento: Settembre 2010 Parte 3, 1 Trasformata di Laplace e Funzione di trasferimento Prof. Lorenzo Marconi DEIS-Università di Bologna Tel. 051 2093788 Email: lmarconi@deis.unibo.it URL:

Dettagli

Visione d insieme DOMANDE E RISPOSTE SULL UNITÀ

Visione d insieme DOMANDE E RISPOSTE SULL UNITÀ Visione d insieme DOMANDE E RISPOSTE SULL UNITÀ Che cos è la corrente elettrica? Nei conduttori metallici la corrente è un flusso di elettroni. L intensità della corrente è il rapporto tra la quantità

Dettagli

La propagazione delle onde luminose può essere studiata per mezzo delle equazioni di Maxwell. Tuttavia, nella maggior parte dei casi è possibile

La propagazione delle onde luminose può essere studiata per mezzo delle equazioni di Maxwell. Tuttavia, nella maggior parte dei casi è possibile Elementi di ottica L ottica si occupa dello studio dei percorsi dei raggi luminosi e dei fenomeni legati alla propagazione della luce in generale. Lo studio dell ottica nella fisica moderna si basa sul

Dettagli

TERZA LEZIONE (4 ore): INTERAZIONE MAGNETICA

TERZA LEZIONE (4 ore): INTERAZIONE MAGNETICA TERZA LEZIONE (4 ore): INTERAZIONE MAGNETICA Evidenza dell interazione magnetica; sorgenti delle azioni magnetiche; forze tra poli magnetici, il campo magnetico Forza magnetica su una carica in moto; particella

Dettagli

Università del Salento Corso di Laurea Triennale in Ingegneria Industriale Appello di FISICA GENERALE 2 del 27/01/15

Università del Salento Corso di Laurea Triennale in Ingegneria Industriale Appello di FISICA GENERALE 2 del 27/01/15 Università del Salento Corso di Laurea Triennale in Ingegneria Industriale Appello di FISICA GENERALE 2 del 27/01/15 Esercizio 1 (9 punti): Una distribuzione di carica è costituita da un guscio sferico

Dettagli

SymCAD/C.A.T.S. modulo Canali Schema

SymCAD/C.A.T.S. modulo Canali Schema SymCAD/C.A.T.S. modulo Canali Schema Il modulo Ventilazione Standard permette di effettuare la progettazione integrata (disegno e calcoli) in AutoCAD di reti di canali aria (mandata e ripresa). Il disegno

Dettagli

INTEGRALI DEFINITI. Tale superficie viene detta trapezoide e la misura della sua area si ottiene utilizzando il calcolo di un integrale definito.

INTEGRALI DEFINITI. Tale superficie viene detta trapezoide e la misura della sua area si ottiene utilizzando il calcolo di un integrale definito. INTEGRALI DEFINITI Sia nel campo scientifico che in quello tecnico si presentano spesso situazioni per affrontare le quali è necessario ricorrere al calcolo dell integrale definito. Vi sono infatti svariati

Dettagli

E 0 = E 1 2 + E 0. 2 = E h. = 3.2kV / m. 2 1 x. κ 1. κ 2 κ 1 E 1 = κ 2 E 2. = κ 1 E 1 x ε 0 = 8

E 0 = E 1 2 + E 0. 2 = E h. = 3.2kV / m. 2 1 x. κ 1. κ 2 κ 1 E 1 = κ 2 E 2. = κ 1 E 1 x ε 0 = 8 Solo Ingegneria dell Informazione e Ingegneria dell Energia (Canale 2 e DM 59) Problema Due condensatori piani C e C, uguali ad armature quadrate separate dalla distanza, sono connessi in parallelo. Lo

Dettagli

Grandezze scalari e vettoriali

Grandezze scalari e vettoriali Grandezze scalari e vettoriali Esempio vettore spostamento: Esistono due tipi di grandezze fisiche. a) Grandezze scalari specificate da un valore numerico (positivo negativo o nullo) e (nel caso di grandezze

Dettagli

Le fattispecie di riuso

Le fattispecie di riuso Le fattispecie di riuso Indice 1. PREMESSA...3 2. RIUSO IN CESSIONE SEMPLICE...4 3. RIUSO CON GESTIONE A CARICO DEL CEDENTE...5 4. RIUSO IN FACILITY MANAGEMENT...6 5. RIUSO IN ASP...7 1. Premessa Poiché

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Modello generale di trasduttore Come leggere la scheda tecnica di un trasduttore

Modello generale di trasduttore Come leggere la scheda tecnica di un trasduttore Modello generale di trasduttore Come leggere la scheda tecnica di un trasduttore Modello generale di trasduttore Informazioni sulle caratteristiche fisiche Sistema di misura Catena di misura Dati numerici

Dettagli

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi.

IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi. IL RISPARMIO ENERGETICO E GLI AZIONAMENTI A VELOCITA VARIABILE L utilizzo dell inverter negli impianti frigoriferi. Negli ultimi anni, il concetto di risparmio energetico sta diventando di fondamentale

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Transitori del primo ordine

Transitori del primo ordine Università di Ferrara Corso di Elettrotecnica Transitori del primo ordine Si consideri il circuito in figura, composto da un generatore ideale di tensione, una resistenza ed una capacità. I tre bipoli

Dettagli

MOTO DI UNA CARICA IN UN CAMPO ELETTRICO UNIFORME

MOTO DI UNA CARICA IN UN CAMPO ELETTRICO UNIFORME 6. IL CONDNSATOR FNOMNI DI LTTROSTATICA MOTO DI UNA CARICA IN UN CAMPO LTTRICO UNIFORM Il moto di una particella carica in un campo elettrico è in generale molto complesso; il problema risulta più semplice

Dettagli

TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA

TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA SCUOLA PRIMARIA DI CORTE FRANCA MATEMATICA CLASSE QUINTA TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA L ALUNNO SVILUPPA UN ATTEGGIAMENTO POSITIVO RISPETTO ALLA MATEMATICA,

Dettagli

Matematica e Statistica

Matematica e Statistica Matematica e Statistica Prova d esame (0/07/03) Università di Verona - Laurea in Biotecnologie - A.A. 0/3 Matematica e Statistica Prova di MATEMATICA (0/07/03) Università di Verona - Laurea in Biotecnologie

Dettagli

Ing. Simone Giovannetti

Ing. Simone Giovannetti Università degli Studi di Firenze Dipartimento di Elettronica e Telecomunicazioni Ing. Simone Giovannetti Firenze, 29 Maggio 2012 1 Incertezza di Misura (1/3) La necessità di misurare nasce dall esigenza

Dettagli

Usando il pendolo reversibile di Kater

Usando il pendolo reversibile di Kater Usando il pendolo reversibile di Kater Scopo dell esperienza è la misurazione dell accelerazione di gravità g attraverso il periodo di oscillazione di un pendolo reversibile L accelerazione di gravità

Dettagli

Sensori a effetto Hall bipolari con ritenuta stabilizzati e non stabilizzati con circuito chopper

Sensori a effetto Hall bipolari con ritenuta stabilizzati e non stabilizzati con circuito chopper Sensori a effetto Hall bipolari con ritenuta stabilizzati e non stabilizzati con circuito chopper I risultati dei test mostrano che è possibile ottenere prestazioni significativamente maggiori impiegando

Dettagli

GEOMETRIA DELLE MASSE

GEOMETRIA DELLE MASSE 1 DISPENSA N 2 GEOMETRIA DELLE MASSE Si prende in considerazione un sistema piano, ossia giacente nel pian x-y. Un insieme di masse posizionato nel piano X-Y, rappresentato da punti individuati dalle loro

Dettagli

I poli magnetici isolati non esistono

I poli magnetici isolati non esistono Il campo magnetico Le prime osservazioni dei fenomeni magnetici risalgono all antichità Agli antichi greci era nota la proprietà della magnetite di attirare la limatura di ferro Un ago magnetico libero

Dettagli

9. Urti e conservazione della quantità di moto.

9. Urti e conservazione della quantità di moto. 9. Urti e conservazione della quantità di moto. 1 Conservazione dell impulso m1 v1 v2 m2 Prima Consideriamo due punti materiali di massa m 1 e m 2 che si muovono in una dimensione. Supponiamo che i due

Dettagli

Grandezze fisiche e loro misura

Grandezze fisiche e loro misura Grandezze fisiche e loro misura Cos è la fisica? e di che cosa si occupa? - Scienza sperimentale che studia i fenomeni naturali suscettibili di sperimentazione e caratterizzati da entità o grandezze misurabili.

Dettagli

Classificazione dei Sensori. (raccolta di lucidi)

Classificazione dei Sensori. (raccolta di lucidi) Classificazione dei Sensori (raccolta di lucidi) 1 Le grandezze fisiche da rilevare nei processi industriali possono essere di varia natura; generalmente queste quantità sono difficili da trasmettere e

Dettagli

Complementi di Analisi per Informatica *** Capitolo 2. Numeri Complessi. e Circuiti Elettrici. a Corrente Alternata. Sergio Benenti 7 settembre 2013

Complementi di Analisi per Informatica *** Capitolo 2. Numeri Complessi. e Circuiti Elettrici. a Corrente Alternata. Sergio Benenti 7 settembre 2013 Complementi di Analisi per nformatica *** Capitolo 2 Numeri Complessi e Circuiti Elettrici a Corrente Alternata Sergio Benenti 7 settembre 2013? ndice 2 Circuiti elettrici a corrente alternata 1 21 Circuito

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

ISTITUTO COMPRENSIVO MONTEGROTTO TERME SCUOLA PRIMARIA DISCIPLINA: MATEMATICA - CLASSE PRIMA OBIETTIVI DI APPRENDIMENTO

ISTITUTO COMPRENSIVO MONTEGROTTO TERME SCUOLA PRIMARIA DISCIPLINA: MATEMATICA - CLASSE PRIMA OBIETTIVI DI APPRENDIMENTO PRIMA DELLA DISCIPLINA: MATEMATICA - CLASSE PRIMA L alunno si muove con sicurezza nel calcolo scritto e mentale con i numeri naturali. Legge e comprende testi che coinvolgono aspetti logici e matematici.

Dettagli

GIROSCOPIO. Scopo dell esperienza: Teoria fisica. Verificare la relazione: ω p = bmg/iω

GIROSCOPIO. Scopo dell esperienza: Teoria fisica. Verificare la relazione: ω p = bmg/iω GIROSCOPIO Scopo dell esperienza: Verificare la relazione: ω p = bmg/iω dove ω p è la velocità angolare di precessione, ω è la velocità angolare di rotazione, I il momento principale d inerzia assiale,

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Tensioni variabili nel tempo e Oscilloscopio

Tensioni variabili nel tempo e Oscilloscopio ensioni variabili nel tempo e Oscilloscopio RIASSUNO: ensioni variabili e periodiche Ampiezza, valor medio, ed RMS Generatori di forme d onda ensioni sinusoidali Potenza : valore medio e valore efficace

Dettagli

Esercizi su elettrostatica, magnetismo, circuiti elettrici, interferenza e diffrazione

Esercizi su elettrostatica, magnetismo, circuiti elettrici, interferenza e diffrazione Esercizi su elettrostatica, magnetismo, circuiti elettrici, interferenza e diffrazione 1. L elettrone ha una massa di 9.1 10-31 kg ed una carica elettrica di -1.6 10-19 C. Ricordando che la forza gravitazionale

Dettagli

Metodologia di monitoraggio Impianti fotovoltaici

Metodologia di monitoraggio Impianti fotovoltaici Metodologia di monitoraggio Impianti fotovoltaici Per effettuare il monitoraggio degli impianti fotovoltaici è stato scelto il metodo di acquisizione dati proposto dal Dott. Ing. F. Spertino, Dott. Ing.

Dettagli

ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 2004

ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 2004 ESAME DI STAT DI LICE SCIENTIFIC CRS SPERIMENTALE P.N.I. 004 Il candidato risolva uno dei due problemi e 5 dei 0 quesiti in cui si articola il questionario. PRBLEMA Sia la curva d equazione: ke ove k e

Dettagli

MISURA DEL FLUSSO DI RAGGI COSMICI IN FUNZIONE DELL ANGOLO DI INCIDENZA

MISURA DEL FLUSSO DI RAGGI COSMICI IN FUNZIONE DELL ANGOLO DI INCIDENZA MISURA DEL FLUSSO DI RAGGI COSMICI IN FUNZIONE DELL ANGOLO DI INCIDENZA Scopo dell esperienza Misura mediante calorimetro (lead glass) a luce Čerenkov del flusso di muoni cosmici Studenti: Balata Claudio

Dettagli

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1

LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 LA TRASMISSIONE DELLE INFORMAZIONI QUARTA PARTE 1 I CODICI 1 IL CODICE BCD 1 Somma in BCD 2 Sottrazione BCD 5 IL CODICE ECCESSO 3 20 La trasmissione delle informazioni Quarta Parte I codici Il codice BCD

Dettagli

L analisi dei dati. Capitolo 4. 4.1 Il foglio elettronico

L analisi dei dati. Capitolo 4. 4.1 Il foglio elettronico Capitolo 4 4.1 Il foglio elettronico Le più importanti operazioni richieste dall analisi matematica dei dati sperimentali possono essere agevolmente portate a termine da un comune foglio elettronico. Prenderemo

Dettagli

Lezione 18. Magnetismo WWW.SLIDETUBE.IT

Lezione 18. Magnetismo WWW.SLIDETUBE.IT Lezione 18 Magnetismo Cenni di magnetismo Già a Talete (600 a.c.) era noto che la magnetitite ed alcune altre pietre naturali (minerali di ferro, trovati a Magnesia in Asia Minore) avevano la proprietà

Dettagli

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

Circuiti amplificatori

Circuiti amplificatori Circuiti amplificatori G. Traversi Strumentazione e Misure Elettroniche Corso Integrato di Elettrotecnica e Strumentazione e Misure Elettroniche 1 Amplificatori 2 Amplificatori Se A V è negativo, l amplificatore

Dettagli

Elettrostatica dei mezzi materiali

Elettrostatica dei mezzi materiali Elettrostatica dei mezzi materiali Nel caso dei conduttori si è visto che: Il campo elettrico farà muovere le cariche all interno del conduttore in modo tale che: Tutte le cariche sono sulla superficie

Dettagli

IL CAMPO MAGNETICO. V Scientifico Prof.ssa Delfino M. G.

IL CAMPO MAGNETICO. V Scientifico Prof.ssa Delfino M. G. IL CAMPO MAGNETICO V Scientifico Prof.ssa Delfino M. G. UNITÀ - IL CAMPO MAGNETICO 1. Fenomeni magnetici 2. Calcolo del campo magnetico 3. Forze su conduttori percorsi da corrente 4. La forza di Lorentz

Dettagli

Corso di. Dott.ssa Donatella Cocca

Corso di. Dott.ssa Donatella Cocca Corso di Statistica medica e applicata Dott.ssa Donatella Cocca 1 a Lezione Cos'è la statistica? Come in tutta la ricerca scientifica sperimentale, anche nelle scienze mediche e biologiche è indispensabile

Dettagli

1. Scopo dell esperienza.

1. Scopo dell esperienza. 1. Scopo dell esperienza. Lo scopo di questa esperienza è ricavare la misura di tre resistenze il 4 cui ordine di grandezza varia tra i 10 e 10 Ohm utilizzando il metodo olt- Amperometrico. Tale misura

Dettagli

STUDIO DI UNA FUNZIONE

STUDIO DI UNA FUNZIONE STUDIO DI UNA FUNZIONE OBIETTIVO: Data l equazione Y = f(x) di una funzione a variabili reali (X R e Y R), studiare l andamento del suo grafico. PROCEDIMENTO 1. STUDIO DEL DOMINIO (CAMPO DI ESISTENZA)

Dettagli

1-LA FISICA DEI CAMPI ELETTRICI E MAGNETICI.

1-LA FISICA DEI CAMPI ELETTRICI E MAGNETICI. 1-LA FISICA DEI CAMPI ELETTRICI E MAGNETICI. Tutti i fenomeni elettrici e magnetici hanno origine da cariche elettriche. Per comprendere a fondo la definizione di carica elettrica occorre risalire alla

Dettagli

Gestione dei segnali analogici nei sistemi di automazione industriale con PLC.

Gestione dei segnali analogici nei sistemi di automazione industriale con PLC. Gestione dei segnali analogici nei sistemi di automazione industriale con PLC. Nelle automazioni e nell industria di processo si presenta spesso il problema di gestire segnali analogici come temperature,

Dettagli

CONTINUITÀ E DERIVABILITÀ Esercizi proposti. 1. Determinare lim M(sinx) (M(t) denota la mantissa di t)

CONTINUITÀ E DERIVABILITÀ Esercizi proposti. 1. Determinare lim M(sinx) (M(t) denota la mantissa di t) CONTINUITÀ E DERIVABILITÀ Esercizi proposti 1. Determinare lim M(sin) (M(t) denota la mantissa di t) kπ/ al variare di k in Z. Ove tale limite non esista, discutere l esistenza dei limiti laterali. Identificare

Dettagli

APP_PIT_Comparazione Pile Dynamics Inc. Rev.01-012015

APP_PIT_Comparazione Pile Dynamics Inc. Rev.01-012015 Pile Integrity Tester PIT Caratteristiche Tecniche Serie PIT-X, PIT-X2, PIT-V e PIT-FV La strumentazione Pile Integrity Tester serie PIT è disponibile in 4 versioni, con 1 (PIT-X e PIT- V) o 2 (PIT-X2

Dettagli

CONDUTTORI, CAPACITA' E DIELETTRICI

CONDUTTORI, CAPACITA' E DIELETTRICI CONDUTTORI, CAPACITA' E DIELETTRICI Capacità di un conduttore isolato Se trasferiamo una carica elettrica su di un conduttore isolato questa si distribuisce sulla superficie in modo che il conduttore sia

Dettagli

Controllo di Gestione - Guida Operativa

Controllo di Gestione - Guida Operativa Controllo di Gestione - Guida Operativa Il modulo software di Controllo di Gestione, meglio denominato Monitoraggio e Controllo del piano degli obiettivi permette di monitorare, durante l esercizio, gli

Dettagli

RAPPORTO DI PROVA Venezia,. Foglio n. 1 di 7. Protocollo: Luogo e Data della prova: Richiedente: Materiale testato:

RAPPORTO DI PROVA Venezia,. Foglio n. 1 di 7. Protocollo: Luogo e Data della prova: Richiedente: Materiale testato: Foglio n. 1 di 7 Protocollo: Luogo e Data della prova: Mestre, Richiedente: Materiale testato: Prova eseguita: Conducibilità termica Riferimento Normativo: UNI EN 12667 DESCRIZIONE DEL CAMPIONE SOTTOPOSTO

Dettagli

QUANTIZZAZIONE diverse fasi del processo di conversione da analogico a digitale quantizzazione

QUANTIZZAZIONE diverse fasi del processo di conversione da analogico a digitale quantizzazione QUANTIZZAZIONE Di seguito lo schema che illustra le diverse fasi del processo di conversione da analogico a digitale. Dopo aver trattato la fase di campionamento, occupiamoci ora della quantizzazione.

Dettagli

METODO PER LA DESCRIZIONE DEL CAMPO MAGNETICO ROTANTE

METODO PER LA DESCRIZIONE DEL CAMPO MAGNETICO ROTANTE Ing. ENRICO BIAGI Docente di Tecnologie elettrice, Disegno, Progettazione ITIS A. Volta - Perugia ETODO PER LA DESCRIZIONE DEL CAPO AGNETICO ROTANTE Viene illustrato un metodo analitico-grafico per descrivere

Dettagli

Principi costruttivi e progettazione di Gioacchino Minafò IW9 DQW. Tratto dal sito web WWW.IT9UMH.ALTERVISTA.ORG

Principi costruttivi e progettazione di Gioacchino Minafò IW9 DQW. Tratto dal sito web WWW.IT9UMH.ALTERVISTA.ORG Principi costruttivi e progettazione di Gioacchino Minafò IW9 DQW Le antenne a quadro (o telaio) Il principio di funzionamento di un'antenna a quadro è differente da quello delle comuni antenne filari

Dettagli

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1) Transitori Analisi nel dominio del tempo Ricordiamo che si definisce transitorio il periodo di tempo che intercorre nel passaggio, di un sistema, da uno stato energetico ad un altro, non è comunque sempre

Dettagli

Statistica. Lezione 6

Statistica. Lezione 6 Università degli Studi del Piemonte Orientale Corso di Laurea in Infermieristica Corso integrato in Scienze della Prevenzione e dei Servizi sanitari Statistica Lezione 6 a.a 011-01 Dott.ssa Daniela Ferrante

Dettagli

Il potenziale a distanza r da una carica puntiforme è dato da V = kq/r, quindi è sufficiente calcolare V sx dovuto alla carica a sinistra:

Il potenziale a distanza r da una carica puntiforme è dato da V = kq/r, quindi è sufficiente calcolare V sx dovuto alla carica a sinistra: 1. Esercizio Calcolare il potenziale elettrico nel punto A sull asse di simmetria della distribuzione di cariche in figura. Quanto lavoro bisogna spendere per portare una carica da 2 µc dall infinito al

Dettagli

Indagine sismica. MASW - Multichannel Analysis of Surface Waves

Indagine sismica. MASW - Multichannel Analysis of Surface Waves Indagine sismica MASW - Multichannel Analysis of Surface Waves relativa alla determinazione della stratigrafia sismica VS e del parametro VS30 in un'area di Sestri Levanti NS rif 09140SA Dott. Geol. Franco

Dettagli

IL TRASFORMATORE Prof. S. Giannitto Il trasformatore è una macchina in grado di operare solo in corrente alternata, perché sfrutta i principi dell'elettromagnetismo legati ai flussi variabili. Il trasformatore

Dettagli

Condensatore elettrico

Condensatore elettrico Condensatore elettrico Sistema di conduttori che possiedono cariche uguali ma di segno opposto armature condensatore La presenza di cariche crea d.d.p. V (tensione) fra i due conduttori Condensatore piano

Dettagli

PROGRAMMA DEFINITIVO di Tecnologie Elettrico-Elettroniche e Applicazioni. Docente: VARAGNOLO GIAMPAOLO. Insegnante Tecnico Pratico: ZANINELLO LORIS

PROGRAMMA DEFINITIVO di Tecnologie Elettrico-Elettroniche e Applicazioni. Docente: VARAGNOLO GIAMPAOLO. Insegnante Tecnico Pratico: ZANINELLO LORIS ISTITUTO VERONESE MARCONI Sede di Cavarzere (VE) PROGRAMMA DEFINITIVO di Tecnologie Elettrico-Elettroniche e Applicazioni Docente: VARAGNOLO GIAMPAOLO Insegnante Tecnico Pratico: ZANINELLO LORIS Classe

Dettagli

Spettrofotometria. Le onde luminose consistono in campi magnetici e campi elettrici oscillanti, fra loro perpendicolari.

Spettrofotometria. Le onde luminose consistono in campi magnetici e campi elettrici oscillanti, fra loro perpendicolari. Spettrofotometria. Con questo termine si intende l utilizzo della luce nella misura delle concentrazioni chimiche. Per affrontare questo argomento dovremo conoscere: Natura e proprietà della luce. Cosa

Dettagli

Laboratorio di Fisica 3 Ottica 2. Studenti: Buoni - Giambastiani - Leidi Gruppo: G09

Laboratorio di Fisica 3 Ottica 2. Studenti: Buoni - Giambastiani - Leidi Gruppo: G09 Laboratorio di Fisica 3 Ottica 2 Studenti: Buoni - Giambastiani - Leidi Gruppo: G09 24 febbraio 2015 1 Lunghezza d onda di un laser He-Ne 1.1 Scopo dell esperienza Lo scopo dell esperienza è quello di

Dettagli

nei materiali (Inserendo un materiale all interno di un campo magnetico generato da un magnete permanente)

nei materiali (Inserendo un materiale all interno di un campo magnetico generato da un magnete permanente) COMPORTAMENTO MAGNETICO DEI MATERIALI a) nel vuoto B = μ0 H μ0 = 4 π 10-7 H/m b) nei materiali (Inserendo un materiale all interno di un campo magnetico generato da un magnete permanente) Il materiale

Dettagli

Le immagini digitali. Le immagini digitali. Caterina Balletti. Caterina Balletti. Immagini grafiche. Trattamento di immagini digitali.

Le immagini digitali. Le immagini digitali. Caterina Balletti. Caterina Balletti. Immagini grafiche. Trattamento di immagini digitali. 1 Le immagini digitali Le immagini digitali Università IUAV di venezia Trattamento di immagini digitali immagini grafiche immagini raster immagini vettoriali acquisizione trattamento geometrico trattamento

Dettagli

COS'E' UN IMPIANTO FOTOVOLTAICO E COME FUNZIONA

COS'E' UN IMPIANTO FOTOVOLTAICO E COME FUNZIONA COS'E' UN IMPIANTO FOTOVOLTAICO E COME FUNZIONA Il principio di funzionamento: la cella fotovoltaica Le celle fotovoltaiche consentono di trasformare direttamente la radiazione solare in energia elettrica,

Dettagli

G3. Asintoti e continuità

G3. Asintoti e continuità G3 Asintoti e continuità Un asintoto è una retta a cui la funzione si avvicina sempre di più senza mai toccarla Non è la definizione formale, ma sicuramente serve per capire il concetto di asintoto Nei

Dettagli

C) DIAGRAMMA A SETTORI

C) DIAGRAMMA A SETTORI C) DIAGRAMMA A SETTORI Procedura: Determinare la percentuale per ciascuna categoria Convertire i valori percentuali in gradi d angolo Disegnare un cerchio e tracciare i settori Contrassegnare i settori

Dettagli

Sistema di diagnosi CAR TEST

Sistema di diagnosi CAR TEST Data: 30/09/09 1 di 7 Sistema di diagnosi CAR TEST Il sistema di diagnosi CAR TEST venne convenientemente utilizzato per: - verificare che la scocca di un veicolo sia dimensionalmente conforme ai disegni

Dettagli

Capitolo 12 La regressione lineare semplice

Capitolo 12 La regressione lineare semplice Levine, Krehbiel, Berenson Statistica II ed. 2006 Apogeo Capitolo 12 La regressione lineare semplice Insegnamento: Statistica Corso di Laurea Triennale in Economia Facoltà di Economia, Università di Ferrara

Dettagli