Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho...

18
Ottimizzazione del tempo morto Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT) per sapere il rate vero da quello acquisito Oppure per sapere quanto rate avremo rispetto al rate in ingresso: N=M/(1+MT) N/M=1/(1+M/M max ) avevo sbagliato il segno Se acquisisco N eventi/s l’acquisizione sarà stata bloccata per un tempo N*T con T tempo morto per evento Quanti eventi sono arrivati durante questo tempo? Se la frequenza di arrivo è M mediamente arriva un evento ogni 1/M s Mediamente ho perduto allora N*T/(1/M) eventi (tempo morto totale)/frequenza di arrivo degli eventi

Transcript of Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho...

Page 1: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

Ottimizzazione del tempo morto Ottimizzazione del tempo morto

Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata:

M=N + NMT N=M*(1-NT) M=N/(1-NT) per sapere il rate vero da quello acquisitoOppure per sapere quanto rate avremo rispetto al rate in ingresso:N=M/(1+MT) N/M=1/(1+M/Mmax) avevo sbagliato il segno

Se acquisisco N eventi/s l’acquisizione sarà stata bloccata per un tempo N*T con T tempo morto per evento

Quanti eventi sono arrivati durante questo tempo?

Se la frequenza di arrivo è M mediamente arriva un evento ogni 1/M sMediamente ho perduto allora N*T/(1/M) eventi (tempo morto totale)/frequenza di arrivo degli eventi

Page 2: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

Temporizzazione readout Temporizzazione readout seriale/parallelo seriale/parallelo

readout readout readout

conversione readout conversione readout

conversione conversione conversione conversione

Conversione random - Readout derandomizzato

Conversione e readout seguono l’andamento random dei segnali

Page 3: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

Elettronica per il trigger Elettronica per il trigger

Che modulistica usiamo per il trigger?

Il modulo principe di un sistema di trigger è il logic fan-in fan-out con il quale si possono effettuare molte operazioni

Con la modulistica di varie marche (LECROY-Ortec-Phillips-Caen…) possiamo fare:

l’or di sino a 16 segnali

avere sino a 16 copie di un segnale

Avere sino a 8 copie negate di un segnale

Fare l’and o altre funzioni logiche di più segnali

Page 4: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

Elettronica per il trigger Elettronica per il trigger

Come facciamo l’and di due segnali con un fan-in-fan-out?

Prendiamo due segnali

Prendiamo I negati

Facciamone l’or

Prendiamo il negato dell’or

Abbiamo costruito l’and

Page 5: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

Elettronica per il trigger Elettronica per il trigger

Ovviamente esistono dei moduli di coincidenza anche multipla di varie marche quindi non dovete fare tutto questo sistema complicato, ma dovete sapere che I moduli di coincidenza multipla funzionano così

Page 6: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

Per prendere decisioni più complicate? Per prendere decisioni più complicate?

Una volta si usavano le Programmable logic units

Sono essenzialmente delle memorie ad accesso rapido

strobe

10010011

Cosa c’è scritto in questo indirizzo di memoria?

11001111

Page 7: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

Per prendere decisioni più complicate? Per prendere decisioni più complicate?

Oggi non trovate più PLU nei cataloghi di elettronica sono sostituite dalle FPGA (Field Programmable Gate Array)

Le FPGA sono un insieme di blocchi logici circondati da varie unità di input-output.

L’utilizzatore può programmare sia le funzioni dei blocchi logici che i collegamenti tra inputs – blocchi logici ed outputs

Page 8: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

Per prendere decisioni più complicate? Per prendere decisioni più complicate?

Ci sono varie possibilità di implementazione dei blocchi logici nelle FPGA

Lo xilinx logic block implementa delle lookup table, cioè praticamente una PLU in ogni blocco logico. Questo permette di costruire funzioni logiche molto complesse tra gli input e gli output

Notiamo come uno degli input sia una linea di clock

che permette di temporizzare le uscite del

logic block

Page 9: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

Per prendere decisioni più complicate? Per prendere decisioni più complicate?

Delle memorie sram attivano o disattivano switch che permettono di mettere in comunicazione tra loro alcuni blocchi logici, input e output

Page 10: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

Elettronica per il trigger Elettronica per il trigger

VME - V1495

User customisable FPGA Unit (with preloaded demo code) LVDS/ECL/PECL inputs (differential) 64 inputs, expandable to 162 (with 32 outputs) 32 outputs, expandable to 130 (with 64 inputs) 405 MHz maximum frequency supported by clock tree for registered logic I/O delay smaller than 15 ns (in Buffer Mode) Programmable 3-color LED

Page 11: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

Elettronica per il trigger Elettronica per il trigger

VME - V1495

Page 12: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

Elettronica per il trigger Elettronica per il trigger

XLM72 Universal Logic Module - JTEC ( Jan Toke Roechester )

72 programmable front-panel ECL ports, configurable in quartets as either inputs or outputs, organized in three 34-pin connectors and one 8-pin connectors. Four ports can be used as external clock ports, supporting rates of up to 110 MHz.One user-programmable Field Programmable Gate Array (FPGA), XCS40XL by Xilinx, clocked at 80 MHz.One user-programmable, 900-MFlops/s floating-point Digital Signal Processor (DSP), TMS320C6711 by Texas Instruments.

Page 13: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

Elettronica per il trigger Elettronica per il trigger

XLM72 Universal Logic Module - JTEC ( Jan Toke Roechester )

Page 14: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

Elettronica per il trigger – MUSE Elettronica per il trigger – MUSE

Vediamo ora come funziona un trigger reale di un acquisizione

Page 15: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

Single event readout

Data conversion

New event?

Data readout

Network block full?

Net data transfer

yes

yesno

Page 16: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

Multi-event readout

Data conversion

New event?

Data readout

Network block full?

Net data transfer

Counter+1+1

-1-1

no

yes

yes

Page 17: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

MULT

BUILDER

LOGICSIGNALS P

ATTERN

UNIT

MULTIPL.FROM

CFD

DETECTORFAST OR

ZEROLEVEL

TRIGGERLOGICSIGNALS

PATTERNMEMORY

GATEENABLE

OKEVENT

EXTERNALTIME

REFERENCEGATE GENERATOR

SYSTEM

VALIDPATTERNTO VME

BADEVENT

CLEARGENERATOR

STOPGATE

FDLCONTROLLER

SYSTEM

EVENTCOUNTER

QDCBUSY

END CPUBUSY

FDLSTROBE

OKZERO

CLEAR

GATES

MAINTRIGGER

FIG.1

Page 18: Ottimizzazione del tempo morto Un piccolo recupero sul tempo morto in caso di eventi random vi ho dato una formala sbagliata: M=N + NMT N=M*(1-NT) M=N/(1-NT)

INPUTPRE-COINC.REGISTER0-100 nS

11

EXT TRIGGER

W R

FDL STROBE

RECOGNIZE END

CPU BUSY

START ACQ "VME"

STOP ACQ "VME"

1

8

ECLINPUT ADC

BUSY

END CPU BUSY

PULSER

EXTERNAL

COINCIDENCE

WINDOW15ns-2us

15ns-10us

OUT1

OUT8

GATE QDC

START/STOP TDCDOUBLE OUTPUT

ONE FOR EXPERIMENTAL ROOMONE FOR ACQUISITION ROOM

RESET

DEAD TIME

DEADTIME

OK EVENT

FIFO

EVENT

COUNTER

FIFOEVENT

PATTERN

V

M

E

BAD

EVENT

(CONSUMER)

TWOEXT.

VETO IN

D0

D1

D2

D3

FIFO

DEAD TIME

MANAGERADC'S BUSY OR

(PRODUCER) OK

BADPRE-TRIGGER

MEM4Mx4

TA 25ns

TA 25ns

MEMCHECK

MEM4Mx1

TA 25ns

FRONT PANELAND

REMOTE CONTROL

DELAY

AND

GATE

QDC

STOP

TDC

OK PRE TRIGGGER

16 BIT

22 BIT

MULTIPLICITYCHIMERA DET.

Mpx Out

All Chimera detector (8 input)Analog Or

MPX

SUB-SET 1

SUB-SET 2

SUB-SET 3

SUB-SET 4

SUB-SET 5

SUB-SET 6

SUB-SET 7

SUB-SET 8

NIM

ECL

Rings Sum

Sphera Sum

LATCH

DISCR

LATCH

DISCR

LATCH

DISCR

LATCH

DISCR

LATCH

DISCR

LATCH

DISCR

LATCH

DISCR

LATCH

DISCR

LATCH

DISCR

LATCH

DISCR

LATCH

DISCR

LATCH

DISCR

LATCH

DISCR

MEMORYCHECK

ECL MEMORY

TA 4,5ns

L

A

T

C

H

A0

A1

A2

A3

A4

A6

A7

A8

A9

A10

A5

A11

A12

L.E.

A0

A21

A0

A21

A21

OK EVENT

Reset

Q0

Q1

Q2

Q3

FDLPATTERNTRIGGER

EVENTMANAGER

16 EVENT COUNTERFULL EVENT COUNTER

END OF BLOCKREGISTER

CLEARGENERATOR

OUT1

OUT8

FAST CLEARTO QDC-TDC

EVENT

COUNTER

W

LATCH

LATCH

11 LOGIC NIMEXT. TRIGGER

A0

A21

RF

EXTERNALSTART

ONE/

MULTI

EVENT

REGISTER

MUSE BLOCK DIAGRAM