Nella comunicazione seriale dei dati digitali, il recupero dell’orologio è il processo di estrazione delle informazioni di temporizzazione da un flusso di dati seriale per consentire al circuito ricevente di decodificare i simboli trasmessi. Il recupero dell’orologio dal flusso di dati viene accelerato modificando i dati trasmessi. Ovunque un canale di comunicazione seriale non trasmetta il segnale di clock insieme al flusso di dati, l’orologio deve essere rigenerato sul ricevitore, utilizzando le informazioni di temporizzazione dal flusso di dati. Il recupero dell’orologio è un componente comune dei sistemi che comunicano su fili, fibre ottiche o via radio.
Alcuni flussi di dati digitali, in particolare i flussi di dati seriali ad alta velocità (come il flusso grezzo di dati dalla testina magnetica di un’unità disco e le reti di comunicazione seriale come Ethernet) vengono inviati senza un segnale di clock di accompagnamento. Il ricevitore genera un orologio da un riferimento di frequenza approssimativo e quindi allinea in fase l’orologio alle transizioni nel flusso di dati con un ciclo bloccato in fase (PLL). Questo è un metodo per eseguire un processo comunemente noto come clock and Data Recovery (CDR). Altri metodi includono l’uso di un ciclo bloccato dal ritardo e il sovracampionamento del flusso di dati.
Il sovracampionamento può essere eseguito alla cieca utilizzando più fasi di un orologio a funzionamento libero per creare più campioni dell’input e quindi selezionare il campione migliore. Oppure, è possibile utilizzare un contatore guidato da un orologio di campionamento in esecuzione su un multiplo della frequenza del flusso di dati, con il reset del contatore su ogni transizione del flusso di dati e il flusso di dati campionato a un conteggio predeterminato. Questi due tipi di sovracampionamento sono talvolta chiamati rispettivamente spazio e tempo. Il miglior bit Error ratio (BER) si ottiene quando i campioni vengono prelevati il più lontano possibile da eventuali transizioni del flusso di dati. Mentre la maggior parte dei progetti di sovracampionamento utilizzando un contatore impiegano una frequenza di clock di campionamento che è un multiplo pari del flusso di dati, un multiplo dispari è meglio in grado di creare un punto di campionamento più lontano da qualsiasi transizioni di flusso di dati e può farlo a quasi la metà della frequenza di un progetto utilizzando un multiplo pari. Nei CDR di tipo oversampling, il segnale utilizzato per campionare i dati può essere utilizzato come clock recuperato.
Il recupero dell’orologio è strettamente correlato al problema del recupero del vettore, che è il processo di ri-creazione di una versione a blocco di fase del vettore quando viene utilizzato uno schema di modulazione del vettore soppresso. Questi problemi furono affrontati per la prima volta in un documento del 1956, che introdusse un metodo di recupero dell’orologio ora noto come Costas loop. Da allora sono stati sviluppati molti metodi aggiuntivi.
Affinché questo schema funzioni, un flusso di dati deve passare abbastanza frequentemente da correggere qualsiasi deriva nell’oscillatore del PLL. Il limite per quanto tempo un’unità di recupero dell’orologio può funzionare senza una transizione è noto come specifica CID (Maximum consecutive Identical Digit). Per garantire transizioni frequenti, viene utilizzata una sorta di segnale di auto-clock, spesso una codifica limitata di lunghezza di esecuzione; la codifica 8b/10b è molto comune, mentre la codifica Manchester ha lo stesso scopo nelle vecchie revisioni delle reti locali 802.3.