j.castelo, e.fullana 9/7/2003 tilecal readout system diseño de un sistema de adquisición de datos...
Post on 23-Jan-2016
219 Views
Preview:
TRANSCRIPT
J.C
ast
elo
, E
.Fulla
na 9
/7/2
00
3
TILECAL ReadOut System
Diseño de un sistema de adquisición de datos entre los niveles 1 y 2 de
trigger para el calorímetro hadrónico de ATLAS en LHC
Jose Castelo, Esteban Fullana
XXIX Reuniones Bienales de Física y Química
Madrid, 9 de Julio 2003
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Sumario
Introducción al sistema de adquisición RoD del calorímetro hadrónico tilecal
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03
ATLAS TDAQ: Sistema de disparo y adquisición de datos
Decisión de LVL1 es tomada con los datos del calorímetro (basta granularidad) y los datos de trigger de las cámaras de muones. El “buffering” de eventos se hace en la electrónica dentro del detector (FEB).
Decisión de LVL2 se realiza teniendo en cuenta Regiones de Interés ROIs (hasta un 4% del evento completo) con granularidad total y combinando información de todos los detectores. El “buffering” se realiza en RoBs.
El EF refina la selección, puede realizar la reconstrucción de eventos con granularidad total. El “buffering” se hace en EB y EF.
RODs
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03
PARTIONMASTER 4
PARTIONMASTER 3
PARTIONMASTER 2
PARTION MASTER 1
ROD CRATE 2
32 RODs/ 64ROBsROD/ROB Mapping
1:2
ROD Crate
RO
D C
rate C
ontroller
TB
M M
od
ule
RO
D 1
RO
D 2
RO
D 3
RO
D 8
TBM Bus (VME P3 backplane)
DAQ On-line software (network)
VME Bus (VME P1/P2 backplane)
BUSYTTC
TO/FROMCTP or TTCvi
ROD CRATE 2
S-Link Output:Dataflow to LVL2 ROB
ROD CRATE 1
ROD 1 ROD 8
S-Link Output:Dataflow to LVL2 ROB
ROD CRATE 4
ROD 32
S-Link Output:Dataflow to LVL2 ROB
TileCal Detector. 64 Modules
64 MODULES
FEB ROBFEB ROB8 8
2 2
DRAWER D32 channels
Extended Barrel
64 Drawers(2048ch )
DRAWER A45 channels
Barrel
64 Drawers(2880-ch )
DRAWER B45 channels
Barrel
64 Drawers(2880-ch )
DRAWER C32 channels
Extended Barrel
64 Drawers(2048ch )
Sistema de adquisición de datos RoD Flujo de datos y particiones de disparo (TTC)
9856 canales del calorímetro . (Dos fibras/drawer. 19712 ch con información redundante)
Usando la nueva tarjeta más integrada: sólo 8 RODs/partición. Total 32 RODs en vez de 64 (especificación de TDR)
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Instalación Tilecal RoD: LEVEL 1 of USA15
USA15
Detector Cavern UX15
Level 1104 racks
Level 2134 racks
USA15
Level 1 Of USA 15
Tilecal2 rows: 19 and 16
7 x 52 U high racks/row
Row 19
Row 16
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Esquema de Particiones TTC
Número de particiones TTC: 4
Organizados en [0, 2]: EB(<0), CB(<0), CB(0), EB(0)
Esta distribución nos permite trabajar con independencia en los barriles del calorímetro.
Cada RODcrate conforma una Partición TTC con un TBM (Trigger and Busy Module) cada una
RO
DC
TB
M
RO
D1
RO
D2
RO
D3
RO
D4
RO
D5
RO
D6
RO
D7
RO
D8
RO
D C
rate
39
U (
10
U)
Detector FEBs(Front panel fibres)
TTC and BUSY Bus
To ROBs(Rear transition module)
2
RO
DC
TB
M
RO
D1
RO
D2
RO
D3
RO
D4
RO
D5
RO
D6
RO
D7
RO
D8
RO
D C
rate
49
U (
10
U)
TTC and BUSY Bus
TT
CP
art
itio
n 1
&3
6U
(7
U)
CO
NT
RO
LL
ER
DC
TP
I
TT
Cvi
TT
Ce
x
RO
D B
usy
‘OR
’
LT
P
CTP
DataBase
Partition Master
4
2
LAN (e.g. ethernet)
DC
TP
I
TT
Cvi
TT
Ce
x
RO
D B
usy
‘OR
’
LT
P
TT
CP
art
itio
n 2
&4
6U
(7
U)
CO
NT
RO
LL
ER
DC
TP
I
TT
Cvi
TT
Ce
x
RO
D B
usy
‘OR
’
LT
P
DC
TP
I
TT
Cvi
TT
Ce
x
RO
D B
usy
‘OR
’
LT
P
2
RO
DC
TB
M
RO
D1
RO
D2
RO
D3
RO
D4
RO
D5
RO
D6
RO
D7
RO
D8
RO
D C
rate
29
U (
10
U)
TTC and BUSY Bus
RO
DC
TB
M
RO
D1
RO
D2
RO
D3
RO
D4
RO
D5
RO
D6
RO
D7
RO
D8
RO
D C
rate
19
U (
10
U)
TTC and BUSY Bus
To ROBs(Rear transition module)
To ROBs(Rear transition module)
To ROBs(Rear transition module)
Detector FEBs(Front panel fibres)
Detector FEBs(Front panel fibres)
Detector FEBs(Front panel fibres)
RO
DC
TB
M
RO
D1
RO
D2
RO
D3
RO
D4
RO
D5
RO
D6
RO
D7
RO
D8
RO
D C
rate
19U
(10
U)
TTC and BUSY Bus
To ROBs(Rear transition module)
Detector FEBs(Front panel fibres)
TT
CP
arti
tio
n 1
&2
CO
NT
RO
LLE
R
DC
TP
I
TT
Cvi
TT
Cex
RO
D B
usy
‘OR
’
LTP
DC
TP
I
TT
Cvi
TT
Cex
RO
D B
usy
‘OR
’
LTP
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03
Módulo ROD final: Funcionalidades básicas
Flujo de datos: Procesado de datos: Envío y procesado de Raw Data desde FEB a los
ReadOut buffers (ROB) con una frecuencia de eventos de L1A de 100KHz. Es decir, se dispone de 10s para procesar un total ~10.000 canales (celdas) de datos digitalizados de un par PMT/centelleador.
Detección de Errores: Cada módulo debe chequear BCid y EvtID con los recibidos con los datos de FE. También se comprueban los datos para detectar alineación y consistencia (paridad, CRC).
Enlaces/links de datos: Entrada: Fibra óptica. Enlaces integrados basados en G-link como capa física. Salida: Fibra óptica. Basados en estandar s-link, y con formato de datos
estándar de atla (DAQ-1 req.) Interfase con Procesador central de trigger (CTP):
TRIGGER o DISPARO: Las señales de TTC serán recibidas por cada módulo con una latencia de ~2s para habilitar de sincronismo al sistema (EvtID, TType, BCx).
Generación de señal OCUPADO/BUSY: Retroalimentación al CTP para parar la generación de triggers de nivel 1. Cada unidad de proceso genera un Busy que es una función OR de todos los BUSY de una partición.
Control y Monitoreo de información: Provee acceso a la tarjeta sin introducir tiempos-muertos al flujo de datos. Cada
Placa madre ROD provee de acceso VME en modo esclavo comandado por el Controlador de la Crate ROD.
Configura y hace booting de firmware (FPGAs y DSPs) así como de constantes de calibración y otros parámetros.
9U ROD Motherboard (i+1)/2
PROCESSING UNIT 1
InputFPGA
InputFPGA
DSP
OutputFPGA
DSP
FIFO
FIFO
P3
(1
60p
in)
P2
(1
60p
in)
P1
(1
60p
in)
16@80MHz
16@80MHz
OutputController
FPGA
OutputController
FPGA
16@80MHz
16@80MHz
32@40MHz
32@40MHz
Se
rial
ize
r*
LVDSreceiver
SDRAM32
2
2
2
2
8
TTCFPGA+TTCrx
40MHz
VMEFPGA
128@40MHz
16@80MHz
16@80MHz
16@80MHz
16@80MHz
J3 (
16
0pi
n)J2
(1
60
pin)
9U Transition Module (i+1)/2
32@40MHz
32@40MHz
32@40MHz
32@40MHz
16
64
LV
DS D
rive
r
32
P0
De
Se
ria
lize
r*
64
FIF
O
32@40MHz
32@40MHz
32@40MHz
32@40MHz
LVDSdriver16
LinkControlFPGA
S-LINK MezzanineDUAL ODIN or HOLA
S-LINK MezzanineDUAL ODIN or HOLA
Link
Con
nect
or
32
32
32
32
CONTROLBus
128@40MHz
8 control
ROBi/4
*Serializers/Deserializers40MHz => 280MHz
Unipolar => Differential
1 Partition = 64
Drawers
i=1...64
16@40MHz
16@40MHz 16@40MHz
16@40MHz
16@40MHz
16@40MHz
StagingFPGA
16@40MHz
16@40MHz
16@40MHz 16@40MHz
16@40MHz
16@40MHz
16@40MHz
StagingFPGA
16@40MHz
5v
5v
5v
5v
5v
5v
5v
5v
G-LINKRX
HDMP1024
G-LINKRX
HDMP1024
G-LINKRX
HDMP1024
G-LINKRX
HDMP1024
G-LINKRX
HDMP1024
G-LINKRX
HDMP1024
G-LINKRX
HDMP1024
G-LINKRX
HDMP1024
80MHz 40MHz
16@40MHz 16@40MHz
16@40MHz
16@40MHz
16@40MHz
StagingFPGA
16@40MHz
16@40MHz
16@40MHz 16@40MHz
16@40MHz
16@40MHz
16@40MHz
StagingFPGA
16@40MHz
16@40MHzDra
wer
i+1
Dra
wer
i+2
Dra
wer
i+6
ROBi/4 -1
S-LINKControl
lines
Dra
wer
i+7
Dra
wer
i+5
Dra
wer
i+4
Dra
wer
i+3
Dra
wer
i SDRAM32
PROCESSING UNIT 4
InputFPGA
InputFPGA
DSP
OutputFPGA
DSP
FIFO
FIFO
Link
Con
nect
or
PROCESSING UNIT 2
InputFPGA
InputFPGA
DSP
OutputFPGA
DSP
FIFO
FIFO
OutputController
FPGA
SDRAM32
SDRAM32
OutputController
FPGA
PROCESSING UNIT 3
InputFPGA
InputFPGA
DSP
OutputFPGA
DSP
FIFO
FIFO
S-LINK MezzanineDUAL ODIN or HOLA
Link
Con
nect
or
S-LINK MezzanineDUAL ODIN or HOLA
Link
Con
nect
or
2 Prototipos
disponibles en
Septiembre de 2003
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Sumario
Introducción al sistema de adquisición RoD del calorímetro hadrónico tilecal
Estudio de algoritmos de reconstrucción on-line
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Introducción
4 Algoritmos han sido estudiados: Ajuste de la señal (FIT). Actualmente no
implementable debido al alto coste computacional iterativo.
Algoritmo de Filtrado Óptimo (Optimal Filtering OF).
Algoritmo de Filtrado Plano (Flat Filtering FF).
Algoritmo de Muestra Máxima (Maximum Sample MS).
Se han aplicado a datos reales del testbeam de Julio 2002
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Algoritmo de Ajuste o FIT
CIS
NTUPLE
Reconstrucción de la forma de onda para cada
canal y ganancia
Ajuste a una función analítica con 4 parámetros como salida
45·2 conjuntos de 4 parámetros
Ganancia
Canal
{S’i} {S’i}
t
et
Atf )(
f(t) Ajuste evento a evento con 2
parámetros como salida y un Chi2
E & τ
χ2
0 20 40 60 80 100 120 140 160 180 2000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Eje X: n=kT
Eje
y:
Am
plitu
d
Señal Shaper de 200 muestras normalizada
x
xx
xx
x
xxx
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Algoritmo de Optimal Filtering (OF)
n
i iiOF aSKE1
'
{S’i}
Gain
Channel
f(t) f’(t)
45 conjuntos de matrices Rij
CIS NTUPLE
PEDESTAL
EVENTS
45·2 conjuntos de
pesos de Optimal Filtering.
ai bi
Ch & g Ch & g
bi
{S’i}
ai
n
i ii bSE1
'
E
χ2
τ
samplesn
i ii EfSABS1
'2 )(
45·2 conjuntos de 4
parámetros
0 20 40 60 80 100 120 140 160 180 2000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Eje X: n=kT
Eje
y:
Am
plitu
d
Señal Shaper de 200 muestras normalizada
x
xx
xx
x
xxx
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Algoritmo de Flat Filtering (FF)
{S’i}
Ganancia
Canal
'iFF SKE
El algoritmo empleado actualmente en el testbeam.
No hay información del tiempo ni factor de calidad de la reconstrucción
0 20 40 60 80 100 120 140 160 180 2000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Eje X: n=kT
Eje
y:
Am
plitu
d
Señal Shaper de 200 muestras normalizada
x
xx
xx
x
xxx
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Algoritmo de Máximo Sample (MS)
{S’i}
Ganancia
Canal
})({ 'iMS SMaxKE
Extremadamente sencillo
y rápido !!
No hay información del tiempo ni factor de calidad de la reconstrucción
Pero demasiado sensible a la variación de fase0 20 40 60 80 100 120 140 160 180 200
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Eje X: n=kT
Eje
y:
Am
plitu
d
Señal Shaper de 200 muestras normalizada
x
xx
xx
x
xxx
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Características de los datos de CIS
Amplia gama de cargas inyectadas Disponibilidad de muestras
(samples) para las dos ganancias. Para cada carga hay un barrido de
fases en pasos de (7*0.1024 ns). Amplitud y fase pueden ser
fácilmente calculados desde la NTUPLE.
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03
Resolución de la Amplitud vs. intervalo de fase permitida Desfase máximo
esperado en ATLAS ~3ns => OF~FIT!!!
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Reconstrucción de fase (3pC)
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Reconstrucción: Ruido (I)
Reconstruction carried on with empty events
Flat Filtering Optimal Filtering
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Reconstrucción: Ruido (II)
Reconstruction carried on with empty events
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Conclusiones del estudio de algoritmos
OF y SM son muy sensibles con la fase pero pueden ser tan buenos como un ajuste dentro del intervalo adecuado de fases.
OF tiene una resolución en la reconstrucción temporal de menos de 1 ns.
OF reduce el ruido electrónico en un factor dos.
Algoritmo ONLINE
actual:
Optimal F
ilterin
g
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Sumario
Introducción al sistema de adquisión RoD del calorímetro hadrónico tilecal
Estudio de algoritmos de reconstrucción on-line
Rendimiento e implementación de algoritmos de reconstrucción en procesadores digitales de señal (DSP)
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03
Unidad de Proceso (PU): Texas C6202 DSP
DSP: 250 MHz TMS320C6202 DSP con 256K Bytes de memoria de programa interna y 128K Bytes de memoria de datos.
Input FPGA: recibe FEB data e información de TTC. Chequea la consistencia de los datos y los direcciona a la Memoria de doble-puerto.
Dual Port Memory: Los eventos son almacenados en esta memoria (128), disponible para el DSP como memoria externa asíncrona de sólo lectura. También se usa para inicializar el programa de la memoria interna del DSP (booting) después de un reset.
Output FPGA: Depués de procesar el evento se almacena en la memoria FIFO de salida con el formato de datos adecuado. También provee de una FIFO para almacenar histogramas en tiempo real y es responsable del “booting” VME de la Input FPGA y el DSP.
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Arquitectura interna del DSP
Arquitectura Harvard: Memoria de Programa y Datos accessibles simultáneamente.
FCLK = 250Mhz . Cycle time = 4ns. 2000 MIPs
Data/Program Memory: 1Mbit (128kbyte)/ 2Mbit (64k 32bits)
Canales DMA : 4 EMIF & HPI: 32bits McBSP: 3 Timers: 2 (32 bit) VCORE: 1.8v / VI/O: 3.3v 8 ALUs
independientes. Arquitectura Load-Store con 32 registros de propósito general de 32-Bit (dos bancos de 16). Todas las instrucciones son condicionales
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Operación de la PIPELINE
Característica VLIW (Very Long Instruction Word): Código de instrucción de 256 bits (8 instrucciones de 32 bits).
La Pipeline puede atender 8 intrucciones paralelas por ciclo. Las intrucciones paralelas, avanzan simultáneamente durante la misma fase pipeline.
El código en Ensamblador debe de ser optimizado en este punto para que todas las instrucciones parezcan ser ejecutadas en 1 ciclo máquina evitando “pipeline stalls” Se contruyen Gráficos de Interdependencia
Fases Pipeline:Fetch: fijo, 4 ciclos
Decode: fijo, 2 ciclosExecute: variable, 1-10
ciclos
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03
Implementación de Optimal Filtering
Calculamos Energía, , y factor de calidad 2.
La implementación de hace considerando 7 Muestras de 10 bits y considerando el mismo set de coeficientes para todos los canales (misma tabla de constantesde calibración).
Los cálculos son realizados con operaciones sobre una ALU entera, siempre intentando sacar la máxima resolución/precisión en todas las operaciones (coeficientes en formato Q15, operaciones en 32bits, excepto multiplicación (16bits), etc...)
Código en C y en Ensamblador han sido desarrollados para comparar el rendimiento del compilador con estos dos lenguajes.
n
i iiOF aSKE1
'
n
i ii bSE1
' samplesn
i ii EfSABS1
'2 )(
Etc...
Data word, high/low gain sample 1
Header event i+1
Data word, high/low gain sample 7 Last W ord
Data word, high/low gain sample 6
Data word, high/low gain sample 5
Data word, high/low gain sample 4
Data word, high/low gain sample 3
Data word, high/low gain sample 2
Data word, high/low gain sample 1
Header event i First W ord
MSB LSB
0 PData ch 1 (10 bits)
Data ch 2 (10 bits)
Data ch 3 (10 bits)
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Perfilando compilación con “Code Composer v2”
Dos formas rápidas de desarrollar código: Ensamblador Programación en C/C++
Opción Code Composer v2:PBC Option (Profile Based Compilation)
Nos ofrece la posibilidad de elegir entre el tamaño del código y el rendimiento para cada función de nuestra aplicación dentro de diferentes opciones de compilación.
Tamaño Programa (código máquina) aumenta => Velocidad de ejecución disminuye.
Disponibilidad de Memoria de programa vs. Velocidad de ejecución
Este programa permite compilar el código con diferentes opciones y comparar el resultado.
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Gráfico de rendimiento en 'C'
Flags de compilación para "Maximum Speed“: -o3 -oi0
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Gráfico de rendimiento de “Ensamblador”
Para compilación de ensamblador todas las configuraciones son idénticas como era de esperar (982 cycles)
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 C vs. Assembler
Algoritmo Energy//2 para 45 canales y 7 muestras de 10bit. Comparativa de de compilación para la opción de “best speed performance profiling”
N u m b ercycles
C od e S ize
(b y te s )
T ota l tim e forE n erg y, tim e and 2
(C y c le = 4 n s )
T ota l tim e for D S Pp rog ra m : A lg o r i th m ,D M A s c h ed u le , B u sy
L o g ic , f i l te rh is to g ra m s ,...
M ain ta inab ilityS ou rce
C od e L in es
A ssem b ler 9 8 226976(2 7 k b ) 3 ,9 2 8s
5 ,4 2 8s
(~1,5s overhead)D iffic u lt 7 2 7 1
C co d e 3 5 2 42228
(2 ,1 7 k b ) ss
(~1,5s overhead)E a sy 1 6 0
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03
Conclusiones de la implementación del algotimo de Filtrado Óptimo
Podemos procesar en ensamblador un EB (32ch) y un CB(45ch) en menos de 10s (lvl1 100kHz rate) con esta Unidad de proceso TMS320C6202@250MHz.
La unidad de proceso actual contiene 2 DSPs TMS320C6414@720MHz con lo que la capacidad de proceso se multiplica directamente por 3/DSP, a parte de una controladora de DMAs mejorada para una E/S más rápida y mejor set de instrucciones (ej: MPY2 multiplicación de 32bits).
Esto nos permite reducir el número de unidades de proceso, debido a una mejor relación de MIPs/€ o bien, probar algoritmos online con mayor carga computacional (ajustes, algoritmos adaptativos,...).
Estudio de resolución vs. Coste computacional: Usando 5 muestras en vez de 7 el alogoritmo sería 7/5 veces más rápido.
Procesar ~10.000
canales online en
menos de 10s
J.C
ast
elo
, E.F
ulla
na
9/7
/20
03 Sumario
Introducción al sistema de adquisión RoD del calorímetro hadrónico tilecal
Estudio de algoritmos de reconstrucción on-line
Rendimiento e implementación de algoritmos de reconstrucción en procesadores digitales de señal (DSP)
top related