Il DAQ dei pixel per il fascio di test di BTeV S. Magni, D. Menasce L. Uplegger
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 2 Motivazioni del progetto Il read-out chip (ROC) del rivelatore a strip è lo stesso di quello dei pixel: è pertanto fondamentale avere a disposizione un sistema di lettura di questo chip per poter effettuare test su fascio. Come gruppo ci siamo quindi impegnati a sviluppare firmware e software per gestire il DAQ di questo tipo di chip e di applicare, per ora, questo software ai pixel (di cui esistono già dei prototipi e per i quali è in previsione un test-beam) In particolare il software è stato sviluppato per poter testare i rivelatori a pixel in modalità untriggered su fascio. Occorre allo scopo un sistema di read-out moderno, flessibile, a basso costo e portabile.
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 3 Filosofia generale del DAQ Sviluppato per piattaforma Linux Il protocollo adottato per il read-out è il PCI (moderno, efficiente, a basso costo, ben documentato e supportato) Utilizzo esclusivo di librerie Open Source (unica eccezione, per ora, il Driver della scheda PCI) Approccio altamente modulare, con minime interdipendenze reciproche fra le componenti (sviluppo e manutenzione del codice facilitato) Sviluppato interamente in C++ Sistema provvisto di interfaccia grafica e utilities di debug
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 4 Sviluppo del progetto Settembre 2001 Base esistente: la scheda PTA (interfaccia PCI), priva di firmware Ottobre 2001 – Marzo 2002 Sviluppato il firmware per la FPGA della PTA Febbraio 2002 – Marzo 2002 Disegnate le funzionalità del sistema di DAQ Aprile 2002 – Agosto 2002 Prima implementazione dell’infrastruttura del codice Settembre 2002 – Settembre 2003 Completo sviluppo di tutto il sistema di DAQ Maggio 2003 – Settembre 2003 Misura dell’angolo di Lorentz effettuata con la prime release ufficiale del software
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 5 Dettagli Il requisito di modalità untriggered implica un flusso di dati in uscita dal rivelatore ad un rate asincrono col clock del PC al quale i dati giungono. Occorre quindi bilanciare il flusso in ingresso col flusso in uscita, creando una sorta di camera di compensazione An FPIX read-out chip (ROC) An FPIX read-out chip (ROC) External data source subsystem, a Fermilab Pixel readout chip (FPIX) External data source subsystem, a Fermilab Pixel readout chip (FPIX) A Programmable Mezzanine Card (PMC) A Programmable Mezzanine Card (PMC) The PMC is intended to work in conjunction with a PTA card to serve as a flexible platform for building small DAQ systems for testing detectors and subsystems. The PMC is designed around the XilinxVirtex II FPGA which serves as an interface between the the PTA card resources and the external subsystem/detector. The PMC is intended to work in conjunction with a PTA card to serve as a flexible platform for building small DAQ systems for testing detectors and subsystems. The PMC is designed around the XilinxVirtex II FPGA which serves as an interface between the the PTA card resources and the external subsystem/detector. A PCI Test Adapter (PTA) plug-in card, compliant with the PCI protocol A PCI Test Adapter (PTA) plug-in card, compliant with the PCI protocol PCI-compliant card featuring: an Altera FPGA controlling all functions A PCI target interface (slave only) two SSRAM banks (1 Mb each) Daughter card interface for all links using IEEE1386 Mezzanine connectors JTAG interface to upload FPGA code PCI-compliant card featuring: an Altera FPGA controlling all functions A PCI target interface (slave only) two SSRAM banks (1 Mb each) Daughter card interface for all links using IEEE1386 Mezzanine connectors JTAG interface to upload FPGA code A host computer A host computer A host computer acting as a data-sink (The current implementation supports the Linux operating system) A host computer acting as a data-sink (The current implementation supports the Linux operating system)
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 6 Flusso dei dati PC Sensore FPIX… Read Out Chip PMC PTA
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 7 FPGA From PMC From PMC To host PC To host PC Interrupt PTA card SSRAM bank 1 SSRAM bank 2 Funzionalità di read-out suddivise fra PMC, PTA e PC Firmware della PMC a cura di Fermilab Firmware della PTA a cura di Milano Software sul PC a cura di Milano La camera di compensazione fra il rate del detector e quello del PC è implementata in due memorie a 1 Mb ciascuna sulla PTA. Scopo del firmware è quello di pilotare l’utilizzo delle due mem. durante il processo di acquisizione dati
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 8 Schema di funzionamento FPGA SSRAM bank 1 SSRAM bank 2 From PMC From PMC producer Interrupt Statically allocated shared memory consumer Mass storage Host PC PTA card producer consumer logger Graphical user interface Graphical user interface Hardware data-source Hardware data-source External mass-storage External mass-storage
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 9 Read-out process Read-out process Components (0) Basic mechanism of operation of the PCI card and the read-out: Bank0Bank1 FPGA 0 Interrupt handler Reset interrupt Shared memory Disk stager Consumer Process A Consumer Process A Consumer Process B Consumer Process B Skip animation
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 10 Components (1) Basic mechanism of operation of the PCI card and the read-out: Bank0 FPGA Time 0 Interrupt handler Bank1 Read-out process Read-out process Shared memory Reset interrupt Disk stager Consumer Process A Consumer Process A Consumer Process B Consumer Process B Let’s see how this works with a cartoon...
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 11 Components (2) Basic mechanism of operation of the PCI card and the read-out: Bank0 FPGA Time 0 Interrupt handler Bank1 Read-out process Read-out process Shared memory Reset interrupt Disk stager Consumer Process A Consumer Process A Consumer Process B Consumer Process B
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 12 Components (3) Basic mechanism of operation of the PCI card and the read-out: Bank0 FPGA Time 0 Interrupt handler Bank1 Read-out process Read-out process Shared memory Reset interrupt Disk stager Consumer Process A Consumer Process A Consumer Process B Consumer Process B
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 13 Components (4) Basic mechanism of operation of the PCI card and the read-out: Bank0 FPGA Time 0 Interrupt handler Bank1 Read-out process Read-out process Shared memory Reset interrupt Disk stager Consumer Process A Consumer Process A Consumer Process B Consumer Process B
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 14 Components (5) Basic mechanism of operation of the PCI card and the read-out: Bank0 FPGA Time 0 Interrupt handler Bank1 Read-out process Read-out process Shared memory Reset interrupt Disk stager Consumer Process A Consumer Process A Consumer Process B Consumer Process B
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 15 Components (6) Basic mechanism of operation of the PCI card and the read-out: Bank0 FPGA Time 0 Interrupt handler Bank1 Read-out process Read-out process Shared memory Reset interrupt Disk stager Consumer Process A Consumer Process A Consumer Process B Consumer Process B
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 16 Components (7) Basic mechanism of operation of the PCI card and the read-out: Bank0 FPGA Time 0 Interrupt handler Bank1 Read-out process Read-out process Shared memory Reset interrupt Disk stager Consumer Process A Consumer Process A Consumer Process B Consumer Process B
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 17 Components (8) Basic mechanism of operation of the PCI card and the read-out: Bank0 FPGA Time 0 Interrupt handler Bank1 Read-out process Read-out process Shared memory Reset interrupt Disk stager Consumer Process A Consumer Process A Consumer Process B Consumer Process B
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 18 Components (9) Basic mechanism of operation of the PCI card and the read-out: Bank0 FPGA Time 0 Interrupt handler Bank1 Read-out process Read-out process Shared memory Reset interrupt Disk stager Consumer Process A Consumer Process A Consumer Process B Consumer Process B
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 19 Components (10) Basic mechanism of operation of the PCI card and the read-out: Bank0 FPGA Time 0 Interrupt handler Bank1 Read-out process Read-out process Shared memory Reset interrupt Disk stager Consumer Process A Consumer Process A Consumer Process B Consumer Process B
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 20 Components (11) Basic mechanism of operation of the PCI card and the read-out: Bank0 FPGA Time 0 Interrupt handler Bank1 Read-out process Read-out process Shared memory Reset interrupt Disk stager Consumer Process A Consumer Process A Consumer Process B Consumer Process B
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 21 Components (12) Basic mechanism of operation of the PCI card and the read-out: Bank0 FPGA Time 0 Interrupt handler Bank1 Read-out process Read-out process Shared memory Reset interrupt Disk stager Consumer Process A Consumer Process A Consumer Process B Consumer Process B
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 22 Components (13) Basic mechanism of operation of the PCI card and the read-out: Bank0 FPGA Time 0 Interrupt handler Bank1 Read-out process Read-out process Shared memory Reset interrupt Disk stager Consumer Process A Consumer Process A Consumer Process B Consumer Process B
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 23 Components (14) Basic mechanism of operation of the PCI card and the read-out: Bank0 FPGA Time 0 Interrupt handler Bank1 Read-out process Read-out process Shared memory Reset interrupt Disk stager Consumer Process A Consumer Process A Consumer Process B Consumer Process B
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 24 Components (15) Basic mechanism of operation of the PCI card and the read-out: Bank0 FPGA Time 0 Interrupt handler Bank1 Read-out process Read-out process Shared memory Reset interrupt Disk stager Consumer Process A Consumer Process A Consumer Process B Consumer Process B
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 25 Beam Host computer PCI extender PMC FPGA Slot 1 Slot 2 PTA SSRAM 1 SSRAM 2 FPGA ROC A ROC B Detector A Detector B PMC FPGA Slot 1 Slot 2 PTA SSRAM 1 SSRAM 2 FPGA ROC C ROC D Detector C Detector D PMC FPGA Slot 1 Slot 2 PTA SSRAM 1 SSRAM 2 FPGA ROC Y ROC Z Detector Y Detector Z Interrupt handler Interrupt handler Interrupt handler Interrupt handler producer Shared memory Shared memory consumer mass storage GUI Interrupt handler Interrupt handler Il setup del test-beam consta di molti rivelatori di tipo diverso e tutti devono poter essere letti in modo da poter ricostruire in seguito le tracce passanti.
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 26
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 27
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 28
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 29
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 30 Gli istogrammi di monitor sono serviti tramite socket di rete, per cui i clienti per la visualizzazione non insistono sulla CPU che agisce come DAQ
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 31 Punti salienti del progetto Il software sviluppato è dotato di elevata flessibilità e non impone requisiti particolari sulla natura del ROC e quindi del particolare detector che si vuol leggere (limitazioni esistono invece per quanto riguarda il rate supportato e la dimensione degli eventi) Grazie a questa caratteristica il firmware sviluppato a Milano è attualmente in uso presso la Collaborazione CDF e a Brookhaven presso il gruppo diretto da Sergio Zimmerman
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 32 Punti salienti del progetto Il progetto fa uso di tecnologie software moderne, quali: - linguaggio ad oggetti (C++) - utilizzo del protocollo xml per la gestione dei file di configurazione (uso del parser) - uso del modello signal-slot per lo sviluppo delle GUI (Qt) - uso di root per la gestione/visualizzazione istogrammi - codice manutenuto in repository centrale mediante CVS - autodocumentazione su Web del codice mediante Doxygen
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 33
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 34
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 35
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 36
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 37 Utilizzo del DAQ Il test su fascio è previsto per metà novembre. Nel frattempo il sistema è stato utilizzato in laboratorio per la misura dell’angolo di Lorentz Questa misura è stata effettuata utilizzando un setup sperimentale molto semplice: ciò nonostante la misura fatta è risultata essere competitiva ed in accordo con le poche esistenti in letteratura.
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 38 E LL BB XX ZZ L = X Z Optical Fiber Focusing Lens Blue LED Light ~2 m X0X0 XLXL Pixel detector Misura dell’angolo di Lorentz La misura dell’angolo di Lorentz coincide con la misura dello spostamento laterale della carica raccolta in funzione del campo magnetico (e del bias applicato al sensore)
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 39 Optical Fiber Focusing Lens E Blue Light B Fringe B Field Experimental Setup
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 40 Experimental Setup X Y Bias E(V) B(KGauss) Lorentz Movement 400 m 50 m Pixel size in the Y direction = 400 m Pixel size in the X direction = 50 m B parallel to the Y direction Bias E along the Z direction Lorentz Movement mainly in the X direction
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 41 Il laser blu illumina diverse celle su due differenti colonne. Mediante uno scan della curva di soglia possiamo determinare la carica depositata in ogni singola cella. Questo permette di determinare con notevole accuratezza il baricentro della carica depositata globalmente dallo spot del laser. Y X 50 m 400 m
16 Settembre 2003Stato del progetto DAQ pixel in BTeV V 350 V300 V 250 V 200 V150 V 400 V L’ angolo di Lorentz varia al variare del bias applicato e del campo magnetico Per ogni bias (100V - 400V) viene fatta una stima del baricentro della carica depositata per valori del campo magnetico da –3 KGauss fino a +3 KGauss B field (KGauss) Displacement ( m)
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 43 Analisi dei dati B > 0 B < 0 L’angolo di Lorentz è proporzionale al campo magnetico
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 44 B > 0 B < 0 B > 0 B < 0 … ma i dati mostrano un andamento non lineare! Analisi dei dati
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 45 La situazione risulta ancora peggiore lungo l’asse Y (campo magnetico nullo) All’inversione del campo magnetico corrisponde un movimento della carica nella stessa direzione! Deve entrare in gioco qualche effetto meccanico! B > 0 B < 0
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 46 Il supporto della lente è in materiale ferromagnetico e probabilemente subisce l’effetto del campo magnetico. Se questo è vero e lo spostamento indotto corrispondente dipende solamente dal valore assoluto del campo, come deve essere in assenza di fenomeni di isteresi, possiamo rimuovere questo effetto e misurare l’angolo Lorentz. Infatti l’angolo di Lorentz è descritto da una funzione dispari del campo magnetico mentre il movimento meccanico indotto dal campo è descritto da una funzione pari. La differenza fra le posizioni misurate a campi opposti cancella quindi l’effetto meccanico, mentre la somma cancella l’effetto dell’angolo di Lorentz ( X B +X -B )/2 or ( Y B +Y -B )/2 = spostamento indotto dal movimento meccanico ( X B - X -B )/2 or ( Y B - Y -B )/2 = spostamento indotto dall’angolo di lorentz Occorre verificare l’assenza di isteresi!
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 47 Il movimento meccanico deve essere indipendente dal voltaggio applicato (dipende solamente dal campo magnetico). Un fit congiunto per vari valori di bias, mostra infatti che un’unica curva (in rosso) interpola bene i dati, confermando questa ipotesi. 100 V 350 V300 V 250 V 200 V150 V 400 V
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 48 Un fit alla differenza fra le coordinate misurate a valori di campo opposti (X B -X -B )/2 mostra in effetti un comportamento lineare, con spostamenti proporzionalmente inferiori a bias applicati pi ù grandi. 100 V 350 V300 V 250 V 200 V150 V 400 V Un ’ analisi analoga, anche se con qualche difficolt à in pi ù dovuta al minor numero di celle interessate dallo spot del laser, è stata fatta per le celle lungo l ’ asse Y.
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 49 Risultati L’angolo di Lorentz misurato è in ottimo accordo con precedenti misure –questa misura: 8.9º at 1.4 T and 150 V –ATLAS misura: 9º±0.4º±0.5º –CMS misura: 9º L’andamento in funzione del bias applicato segue il modello previsto Fit ai dati Modello teorico
16 Settembre 2003Stato del progetto DAQ pixel in BTeV 50 Prospettive per il 2004 Il test-beam proseguir à per tutto il 2004 (all’inizio debug del DAQ e poi partecipazione agli shift ed all’analisi) Stiamo lavorando ad una versione del driver PCI fatta in casa (per svincolarci dal Jungo Driver a licenza) Intendiamo proseguire la collaborazione coi gruppi che utilizzano il nostro firmware Il progetto ci ha permesso di apprendere e sviluppare tecnologie ed approcci moderni che avranno senz’altro un impatto significativo sul sistema di read-out dei pixel e delle strip