# Time to digital converter

Il Time to digital converter (letteralmente "convertitore tempo-digitale"), generalmente abbreviato in TDC, è uno strumento di misura digitale elettronico utilizzato per misurare intervalli temporali ad alta precisione che intercorrono tra eventi di varia natura. I TDC sono generalmente implementati all'interno di ASIC oppure programmati in un firmware per FPGA. La scelta di rendere digitale una parte o la totalità dei sistemi di misurazione elettronici è dettata dall’intento di sfruttare i ben noti vantaggi offerti da questa opzione; questo, unito alla facilità d'integrazione, sono le principali differenze rispetto al Time to Amplitude converter, altro metodo di misura del tempo.
Vista la diversa natura degli eventi misurati, vengono solitamente utilizzati dei trasduttori che si occupano di convertire il relativo fenomeno fisico in segnale elettrico utilizzabile direttamente dal TDC, come diodo fotorivelatore a singolo fotone (SPAD), Superconducting Nanowire Single Photon Detector (SNSPD), Silicon Photomultiplier (SiPM), Cross Delay Line (CDL).
Molti sono i campi in cui il TDC viene utilizzato, ad esempio applicazioni basate sulla misura del tempo di volo (e.g. LIDAR, TOF-PET, Spettrometria di massa a tempo di volo) oppure applicazioni basate sulla misura del tempo di decadimento di particelle (e.g. spettroscopia a risoluzione temporale, Time Correlated Single Photon Counting (TCSPC).

## Misura del tempo ad alta precisione

I sistemi di cronometraggio rilevano la differenza temporale che separa due eventi. Questo intervallo temporale può essere misurato tra due impulsi consecutivi sullo stesso canale di misura o come differenza temporale tra due segnali afferenti a due canali diversi. Essendo il TDC un circuito elettronico digitale, per poter misurare le distanze temporali di eventi fisici deve ricevere in ingresso un segnale rappresentativo dell'evento in oggetto compatibile con il dispositivo TDC. Per questa ragione viene solitamente posto un trasduttore ed uno stadio di condizionamento elettronico all'ingresso del TDC stesso. Il trasduttore si occupa di trasformare un evento fisico in un segnale elettrico che ne rappresenta l'evoluzione nel tempo. Lo stadio di condizionamento elettronico, anche chiamato discriminatore temporale (dall'inglese Time Discriminator TI), genera invece un segnale elettrico la cui unica funzione è trasportare l'informazione dell'istante d'arrivo dell'evento che ha attraversato tutta la catena di elaborazione. I discriminatori temporali sono circuiti elettronici molto sofisticati poiché devono generare impulsi temporalmente precisi a fronte di segnali d’ingresso che possono essere molto differenti in forma e dinamica. Infatti, identificare dagli eventi fisici grezzi la posizione precisa degli istanti temporali tra cui effettuare la misura, mantenendola indipendente dalla loro forma, è oggigiorno una delle sfide più difficili nell’ambito del timing, soprattutto se sono presenti fronti più lenti rispetto alla risoluzione che si vuole ottenere. Un esempio di discriminatore temporale è il discriminatore a frazione costante.
È diventato di uso comune chiamare il segnale che dà inizio al conteggio dell’intervallo temporale evento di start mentre quello che segnala la fine della misura è detto di stop. Nello scenario base lo strumento di misura TDC sfrutterà queste informazioni per calcolare l'intervallo di tempo $t_{\mathit {MEAS}}$ che intercorre tra i due segnali start e stop.
$t_{\mathit {MEAS}}=t_{\mathit {STOP}}-t_{\mathit {START}}$
Due applicazioni rappresentative possono essere il telemetro laser e la tecnica Time Correlated Single Photon Counting (TCSPC)

### Telemetro laser

Uno degli strumenti più popolari basato sulla misura di intervalli temporali ad alta risoluzione è il telemetro laser, nel quale cronometri ad alta risoluzione sono impiegati per misurare il tempo di volo di un raggio laser, stimando così la distanza che intercorre tra il bersaglio e la sorgente del laser.
La misura dello spazio è effettuata tramite una misura indiretta: un laser impulsato emette impulsi luminosi che viaggiano verso il bersaglio, per poi essere riflessi e rilevati da un fotodiodo posto in prossimità del laser. Il TDC misura il tempo di volo $t_{\mathit {FLY}}$, ovvero la distanza temporale che intercorre tra la partenza del raggio laser e l'arrivo della replica riflessa dal target. Conoscendo la velocità di propagazione $v$ della radiazione elettromagnetica nel mezzo in cui avviene la misura è quindi possibile ricavare la distanza $d$ percorsa dal fascio laser: $2\cdot d=v\cdot t_{\mathit {FLY}}$ $d={\frac {v}{2}}t_{\mathit {FLY}}$

### Time correlated single photon counting

La tecnica Time correlated single photon counting (TCSPC) è usata per analizzare la relazione di molecole da uno stato eccitato ad uno stato con minore energia. Visto che molte molecole in un campione emettono fotoni in istanti temporali differenti a seguito della stessa eccitazione, il decadimento deve essere pensato come un rate di arrivo piuttosto che un tempo fissato dopo l'eccitazione. Osservando quanto tempo impiegano le molecole ad emettere i loro fotoni e combinando tutti i dati, si può costruire un grafico dove, ponendo negli assi l'intensità ed il tempo, sarà evidente la curva di decadimento tipica di questo processo.
In questo caso lo start è dato dalla sorgente di eccitazione e lo stop da un sensore, normalmente con sensibilità a singolo fotone; il TDC misurerà il tempo intercorso tra start e stop generando i campioni per analizzare la statistica del processo.

## Tipologie

Esistono varie architetture di misuratori temporali che cadono sotto la definizione di TDC, tutte accomunate dal rappresentare le misure direttamente in forma digitale. Il metodo di elaborazione della misura può essere però molto differente, passando da soluzioni sincrone con un clock di sistema a soluzioni totalmente asincrone. La scelta di un'architettura rispetto ad un'altra varia in base all'applicazione, generalmente basando la decisione su costo, numero di canali, precisione, risoluzione e flessibilità nell'elaborazione della misura. Sono definiti come cronometri puramente digitali i Tapped Delay Line Time to Digital Converter (TDL-TDC), i Flash Time to Digital Converter (FTDC) e i contatori veloci a clock sfasato (Shift Clock Fast Counter, SCFC).

### Shift Clock Fast Counter

Il Shift Clock Fast Counter (SCFC) TDC utilizza dei contatori sincroni per calcolare il tempo intercorso tra due intervalli temporali. Lo start viene utilizzato per memorizzare il valore del contatore nell'istante d'avvio, mentre all'arrivo dello stop viene memorizzato il valore attuale del contatore; con una semplice differenza tra i due valori è quindi possibile calcolare il tempo trascorso. Sapendo che ad ogni incremento del contatore ad $n_{\mathit {bit}}$corrisponde un tempo $t_{\mathit {inc}}$si può calcolare il tempo massimo misurabile $\Delta t_{\mathit {MAX}}$:
$\Delta t_{\mathit {MAX}}=2^{n_{\mathit {bit}}}\cdot t_{\mathit {inc}}$
Per aumentare la risoluzione di questi misuratori si utilizza la tecnica di sfasamento del clock su multiple strutture di conteggio. Sfruttando strutture relativamente semplici è possibile ottenere contatori molto veloci con una occupazione di area o risorse ridotte, consentendo quindi la creazione di misuratori di tempo con un elevato numero di canali afferenti allo stesso circuito integrato (ASIC).

### Tapped Delay Line Time to Digital Converter

Il Tapped Delay Line Time to Digital Converter (TDL-TDC) inietta il segnale proveniente dal discriminatore temporale in una catena di elementi con ritardo tp (TDL); conoscendo a priori il ritardo generato da questi elementi è possibile ricavare la distanza temporale tra start e stop contando il numero di stadi che il segnale elettrico ha attraversato. In questa tipologia di TDC, lo start viene iniettato nella TDL mentre lo stop viene utilizzato per campionare lo stato della catena tramite flip-flop. Data la facilità di implementazione, questa struttura si presta ad essere integrata in dispositivi FPGA.
Se ogni elemento di ritardo presenta un ritardo di propagazione $t_{p}$ ed è presente un numero di elementi N, è possibile ricavare la massima distanza temporale misurabile con una catena $\Delta t_{\mathit {MAX}}$:
$\Delta t_{\mathit {MAX}}=\sum _{k=0}^{N-1}t_{p}$

### Flash Time to Digital Converter

Il Flash Time to Digital Converter (FTDC) sfrutta una serie di flip-flop per campionare un intervallo temporale. Il principio di funzionamento è simile a quanto accade con il flash ADC, dove invece la grandezza misurata è una tensione e non un tempo. L'ingresso start viene diviso in più rami ed in serie ad ogni percorso viene posto un elemento di ritardo con un tempo di propagazione $t_{pN}=t_{0}+\sum _{k=0}^{N}\tau$, dove $\tau$ è uguale al tempo di propagazione aggiuntivo ad ogni ramo. Tutti i rami vengono poi campionati contemporaneamente da dei flip-flop, dove lo stop TDC viene utilizzato come segnale di campionamento. Poiché l'elemento fondamentale di questo TDC si basa su elementi con ritardo arbitrario, sono state sviluppate nel tempo diverse soluzioni basate su fenomeni fisici differenti (come circuiti RC ad ogni ramo dove la costante di tempo $\tau$ aumenta in funzione della posizione dell'elemento).