• Non ci sono risultati.

4.4 La FPGA

4.4.6 Il packet formatter

I dati che sono inviati al FCM, alla velocit`a di 19.44 Mbps, devono com- prendere sia i dati acquisiti, presenti nella FIFO, che i dati relativi allo slow control locale, prodotti dal DSP. Il packet formatter si occupa della creazione della trama di questo flusso di dati.

I dati trasmessi sono organizzati in frame che possono essere di due tipi: gli Event Data Frame (EDF) contengono i dati relativi agli eventi fisici, mentre gli Slow Control Frame (SCF) contengono le informazioni di slow control.

Lo slow control locale produce una quantit`a di dati molto inferiore rispetto a quella prodotta dagli eventi fisici per cui uno SCF viene inviato dal packet formatter ad ogni evento di wrap del time register mentre il resto del tempo `

e dedicato alla trasmissione di EDF. Per il tipo di protocollo di trasmissione utilizzato, anche se non sono presenti dati nella FIFO il packet formatter deve generare degli opportuni EDF che non contengano dati fisici (zero padding). La struttura di questi frames `e molto flessibile e sar`a definita solo a sistema finito, per cui non ci si soffermer`a sulla loro descrizione.

Una delle possibilit`a attualmente prese in considerazione `e comunque quella di realizzare degli EDF a lunghezza variabile. Con tale scelta risulta possibile effettuare una ulteriore riduzione della data-rate da spedire. Infatti, tenendo conto del fatto che la maggioranza degli eventi fisici `e costituita da segnali di singolo fotoelettrone e considerando che l’ampiezza dei segnali di questo tipo `e relativamente bassa, non arrivando a raggiungere i 16 canali di conversione, sarebbe inutile inviare per ogni campionamento una parola da 8 bit. Strutturando l’EDF in modo che di ogni dato presente all’interno sia possibile descrivere il tipo di rappresentazione adottata, ovvero il numero di bit con cui viene rappresentato il campionamento, dovrebbe quindi essere possibile ottimizzarne la trasmissione.

Prendendo in considerazione i soli dati relativi ai campionamenti, trala- sciando cio`e i dati necessari per l’allineamento dei frame, i dati relativi alle informazioni temporali degli eventi e i dati per il controllo degli errori, `e stata

individuata una certa variet`a nelle possibilit`a di codifica. Considerando che la codifica deve essere effettuata in tempo reale, non `e comunque possibile spingersi verso l’applicazione di algoritmi troppo pesanti da un punto di vista computazionale.

Si `e quindi inizialmente studiato un sistema di compressione per cui ad ogni campione viene aggiunto un bit, chiamato “descrittore di parola”, che ne codifichi la lunghezza. Se il valore campionato `e inferiore a 16 il dato viene codificato con 4 bit e il descrittore di parola `e 0, altrimenti viene codificato con 8 bit e il descrittore di parola `e 1. Il “costo” di questa operazione `e che per ogni campione va comunque aggiunto un bit, per cui il numero di bit da inviare `e 5 oppure 9. Dipendentemente dalla statistica dei segnali acquisiti questo metodo pu`o risultare pi`u o meno conveniente. Ovviamente le classi scelte per questo primo esempio, 4 bit e 8 bit, sono poco pi`u che arbitrarie, per cui `e possibile studiare classi di configurazioni diverse: 5 bit e 8 bit, 6 bit e 8 bit etc.

Un’altra possibilit`a `e costituita dall’utilizzo di pi`u di un bit come descrit- tore di parola. Utilizzando due bit `e possibile codificare fino a quattro classi distinte. Si pu`o inoltre prendere in considerazione configurazioni per cui ogni classe definisce non solo il numero di bit con cui viene codificato il campiona- mento, ma anche il numero di campionamenti consecutivi che appartengono alla stessa classe. Un esempio di applicazione di questo metodo `e il seguente: Si consideri un descrittore di parola di 2 bit, che stabilisce la possibilit`a di definire 4 classi di codifica. La prima classe (descrittore=00) corrisponde ad un campionamento codificato con 8 bit; la seconda classe (descrittore=01) ad un campionamento a 6 bit; la terza classe (descrittore=10) a un campio- namento a 4 bit; la quarta classe (descrittore=11) a 10 campionamenti da 4 bit ciascuno.

Il vantaggio di questa codifica sarebbe sostanziale: poich´e la maggioranza degli eventi di singolo fotoelettrone producono 10 campionamenti sopra so- glia, con ampiezza al di sotto dei 16 canali, quasi tutti gli eventi potrebbero essere codificati secondo la quarta classe di compressione. La maggioran-

za degli eventi verrebbe codificata con 4 ∗ 10 + 2 = 42 bit invece dei 10 ∗ 8 = 80 bit necessari del caso senza compressione. Per segnali con ampiezze superiore questo metodo sarebbe per`o evidentemente ridondante, aggiungendo due bit per ogni campionamento.

Quello riportato non `e che un esempio, che mette per`o in luce quale sia la variet`a delle possibilit`a che possono essere esplorate rimanendo nell’ambito di una pur semplice struttura di codifica.

Utilizzando dei dati generati attraverso delle simulazioni sono state fatte alcune prove, esplorando codifiche con un numero di classi variabile da due a otto e un numero massimo di dieci campionamenti per classe. Il risulta- to `e che non si `e arrivati ad un fattore di compressione superiore al 25% circa. D’altra parte, considerando i dati relativi alle informazioni temporali e alle informazioni di allineamento necessarie, che per loro natura non pos- sono essere compressi, il fattore di compressione non supera il 15%. Ci`o porterebbe ad escludere la necessit`a di utilizzo di tali tecniche, ma `e comun- que opportuno attendere che le specifiche di progetto e utilizzo del sistema di acquisizione, fotomoltiplicatore incluso, vengano definite ulteriormente in modo da poter effettuare le prove sui dati veri.

Uno dei vantaggi della realizzazione del packet formatter all’interno del- la FPGA `e proprio questa possibilit`a di modificarlo, anche radicalmente, a scheda gi`a montata.

Documenti correlati