Il DAQ dei pixel
per il fascio di test di BTeV
S. Magni, D. Menasce
L. Uplegger
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 2003
Stato del progetto DAQ pixel in
BTeV
2
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 2003
Stato del progetto DAQ pixel in
BTeV
3
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 2003
Stato del progetto DAQ pixel in
BTeV
4
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)
A Programmable
Mezzanine
Card (PMC)
A PCI Test Adapter (PTA)
plug-in card, compliant
with the PCI protocol
External data
source
subsystem, a
Fermilab Pixel
readout chip
(FPIX)
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.
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
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
A host
computer
A host computer
acting as a
data-sink
(The current
implementation
supports the
Linux operating
system)
5
Sensore
Flusso dei dati
FPIX…
Read Out
Chip
PMC
16 Settembre 2003
PC
PTA
Stato del progetto DAQ pixel in
BTeV
6
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
To host
di pilotare l’utilizzo delle due mem.
PC
SSRAM
SSRAM
durante il processo di acquisizione
bank 2
bank 1
dati
PTA
card
From
PMC
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
Interrupt
FPGA
7
Schema di funzionamento
PTA card
SSRAM
bank 1
From
PMC
Hardware
data-source
SSRAM
bank 2
FPGA
Host
PC
Interrupt
producer
logger
consumer
Statically
allocated
shared memory
producer
consumer
Mass storage
Graphical user
interface
External
mass-storage
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
8
Components (0)
• Basic mechanism of operation of the PCI card and the read-out
Bank0
Bank1
Read-out
process
Shared
memory
Reset interrupt
FPGA
Interrupt handler
Disk stager
Consumer
Process A
Consumer
Process B
Skip animation
0
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
9
Components (1)
• Basic mechanism of operation of the PCI card and the read-out
Bank0
Bank1
Read-out
process
Let’s see how this
works with a
cartoon...
Shared
memory
Reset interrupt
FPGA
Interrupt handler
Disk stager
Consumer
Process A
Consumer
Process B
Time
0
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
10
Components (2)
• Basic mechanism of operation of the PCI card and the read-out
Bank0
Bank1
Read-out
process
Shared
memory
Reset interrupt
FPGA
Interrupt handler
Disk stager
Consumer
Process A
Consumer
Process B
Time
0
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
11
Components (3)
• Basic mechanism of operation of the PCI card and the read-out
Bank0
Bank1
Read-out
process
Shared
memory
Reset interrupt
FPGA
Interrupt handler
Disk stager
Consumer
Process A
Consumer
Process B
Time
0
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
12
Components (4)
• Basic mechanism of operation of the PCI card and the read-out
Bank0
Bank1
Read-out
process
Shared
memory
Reset interrupt
FPGA
Interrupt handler
Disk stager
Consumer
Process A
Consumer
Process B
Time
0
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
13
Components (5)
• Basic mechanism of operation of the PCI card and the read-out
Bank0
Bank1
Read-out
process
Shared
memory
Reset interrupt
FPGA
Interrupt handler
Disk stager
Consumer
Process A
Consumer
Process B
Time
0
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
14
Components (6)
• Basic mechanism of operation of the PCI card and the read-out
Bank0
Bank1
Read-out
process
Shared
memory
Reset interrupt
FPGA
Interrupt handler
Disk stager
Consumer
Process A
Consumer
Process B
Time
0
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
15
Components (7)
• Basic mechanism of operation of the PCI card and the read-out
Bank0
Bank1
Read-out
process
Shared
memory
Reset interrupt
FPGA
Interrupt handler
Disk stager
Consumer
Process A
Consumer
Process B
Time
0
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
16
Components (8)
• Basic mechanism of operation of the PCI card and the read-out
Bank0
Bank1
Read-out
process
Shared
memory
Reset interrupt
FPGA
Interrupt handler
Disk stager
Consumer
Process A
Consumer
Process B
Time
0
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
17
Components (9)
• Basic mechanism of operation of the PCI card and the read-out
Bank0
Bank1
Read-out
process
Shared
memory
Reset interrupt
FPGA
Interrupt handler
Disk stager
Consumer
Process A
Consumer
Process B
Time
0
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
18
Components (10)
• Basic mechanism of operation of the PCI card and the read-out
Bank0
Bank1
Read-out
process
Shared
memory
Reset interrupt
FPGA
Interrupt handler
Disk stager
Consumer
Process A
Consumer
Process B
Time
0
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
19
Components (11)
• Basic mechanism of operation of the PCI card and the read-out
Bank0
Bank1
Read-out
process
Shared
memory
Reset interrupt
FPGA
Interrupt handler
Disk stager
Consumer
Process A
Consumer
Process B
Time
0
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
20
Components (12)
• Basic mechanism of operation of the PCI card and the read-out
Bank0
Bank1
Read-out
process
Shared
memory
Reset interrupt
FPGA
Interrupt handler
Disk stager
Consumer
Process A
Consumer
Process B
Time
0
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
21
Components (13)
• Basic mechanism of operation of the PCI card and the read-out
Bank0
Bank1
Read-out
process
Shared
memory
Reset interrupt
FPGA
Interrupt handler
Disk stager
Consumer
Process A
Consumer
Process B
Time
0
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
22
Components (14)
• Basic mechanism of operation of the PCI card and the read-out
Bank0
Bank1
Read-out
process
Shared
memory
Reset interrupt
FPGA
Interrupt handler
Disk stager
Consumer
Process A
Consumer
Process B
Time
0
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
23
Components (15)
• Basic mechanism of operation of the PCI card and the read-out
Bank0
Bank1
Read-out
process
Shared
memory
Reset interrupt
FPGA
Interrupt handler
Disk stager
Consumer
Process A
Consumer
Process B
Time
0
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
24
Il setup del test-beam
consta di molti rivelatori
di tipo diverso e tutti
devono poter essere Detector A
letti in modo da poter Detector B
ricostruire in seguito
le tracce passanti.
PCI extender
PMC
PTA
ROC A
Slot 1
SSRAM 1
ROC B
Slot 2
SSRAM 2
FPGA
FPGA
PMC
PTA
ROC C
Slot 1
SSRAM 1
Detector D
ROC D
Slot 2
SSRAM 2
Beam
Detector C
16 Settembre 2003
FPGA
FPGA
PMC
PTA
Detector Y
ROC Y
Slot 1
SSRAM 1
Detector Z
ROC Z
Slot 2
SSRAM 2
FPGA
FPGA
Stato del progetto DAQ pixel in
BTeV
Host computer
Interrupt
handler
GUI
producer
Interrupt
handler
Shared
memory
consumer
mass storage
Interrupt
handler
25
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
26
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
27
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
28
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
29
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 2003
Stato del progetto DAQ pixel in
BTeV
30
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 2003
Stato del progetto DAQ pixel in
BTeV
31
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 2003
Stato del progetto DAQ pixel in
BTeV
32
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
33
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
34
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
35
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
36
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 2003
Stato del progetto DAQ pixel in
BTeV
37
Misura dell’angolo di Lorentz
Optical Fiber
QL = DX/DZ
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)
Focusing Lens
Blue LED Light
~2mm
Pixel
detector
DZ
Q
L
X0 DX
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
B
E
XL
38
Experimental Setup
Focusing Lens
Optical Fiber
B
Blue Light
E
Fringe B Field
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
39
Experimental Setup
• Pixel size in the Y direction = 400 mm
• Pixel size in the X direction = 50 mm
• B  parallel to the Y direction
 Lorentz Movement mainly in the X
• Bias E along the Z direction
direction
50 mm
X
400 mm
Lorentz Movement
Y
B(KGauss)
16 Settembre 2003
Bias E(V)
Stato del progetto DAQ pixel in
BTeV
40
• 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.
50 mm
400 mm
Y
X
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
41
L’ angolo di Lorentz varia al variare del bias applicato e del campo magnetico
Displacement (mm)
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
100 V
150 V
200 V
250 V
300 V
350 V
400 V
B field (KGauss)
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
42
Analisi dei dati
L’angolo di Lorentz è proporzionale al campo magnetico
B<0
16 Settembre 2003
B>0
Stato del progetto DAQ pixel in
BTeV
43
Analisi dei dati
… ma i dati mostrano un andamento non lineare!
B
B<
<0
0
16 Settembre 2003
B
B>
>0
0
Stato del progetto DAQ pixel in
BTeV
44
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
16 Settembre 2003
B>0
Stato del progetto DAQ pixel in
BTeV
45
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
 ( XB +X-B)/2 or ( YB +Y-B)/2 = spostamento indotto dal movimento
meccanico
 ( XB - X-B)/2 or ( YB - Y-B)/2 = spostamento indotto dall’angolo di lorentz
Occorre verificare l’assenza di isteresi!
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
46
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
150 V
200 V
250 V
300 V
350 V
400 V
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
47
Un fit alla differenza fra le coordinate misurate a valori di campo opposti
(XB-X-B)/2 mostra in effetti un comportamento lineare, con spostamenti
proporzionalmente inferiori a bias applicati più grandi.
100 V
150 V
200 V
250 V
300 V
350 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 2003
Stato del progetto DAQ pixel in
BTeV
48
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º
Fit ai dati
• L’andamento in funzione del bias
Modello teorico
applicato segue il modello
previsto
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
49
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 mstrip
16 Settembre 2003
Stato del progetto DAQ pixel in
BTeV
50
Scarica

consumer - Open Access Repository