Nei sistemi DAQ è necessaria la progettazione di stadi temporali per la sincronizzazione hardware dei vari dispositivi che ne compongono. Contemporaneamente, la gestione e tutela dei dati è un’altra funzione che coinvolgono sistemi di filtraggio.
Un timing system può essere rappresentato da una delle seguenti voci: phase-lock looping, hand-shaking, sincronizzazione su dispositivi RF e così via. Si basano su due presupposti principali: tutti i segnali sono digitali e tutti i componenti condividono un concetto comune e discreto di tempo: viene identificato dal segnale di clock comune al circuito.
I vantaggi di un circuito asincrono possono essere descritti come segue:
- basso consumo energetico;
- elevata velocità di funzionamento;
- migliore modularità;
- robustezza in termini di variazioni di tensione di alimentazione, temperatura e parametri relativi a processi di fabbricazione.
Parametri temporali per logica combinatoria
Caratteristiche di temporizzazione possono essere definite dalla figura 1:
• ritardo di propagazione (tpd): intervallo di tempo che intercorre tra l’applicazione di una nuova configurazione agli ingressi di un blocco e la stabilizzazione dei corrispondenti valori dei segnali d’uscita,
• tempo di contaminazione (tcd): intervallo di tempo che intercorre tra l’applicazione di una nuova configurazione agli ingressi di un blocco e la prima variazione riscontrata sui segnali d’uscita.
Parametri temporali per logica sequenziale
I parametri implementati in ambito della logica sequenziale vengono caratterizzati in relazione al segnale di clock.
Latch vs Flip- Flop
Il latch è un circuito bistabile in grado di memorizzare un bit di informazione nei sistemi a logica sequenziale asincrona. Il latch cambia lo stato logico dell’uscita in funzione del segnale d’ingresso (attivo/basso), mentre il flip-flop cambia lo stato logico dell’uscita solamente quando il segnale di clock è nel semiperiodo attivo (positive/negative edge trigger).
Caratteristiche di timing possono essere specificate in relazione al fronte di salita (positive edge-triggered) o di discesa (negative edge trigger) del clock. Alcuni parametri sequenziali possono essere:
• Il ritardo di propagazione (tclk – q): tempo necessario per una variazione del clock di ingresso del flip-flop D, per provocare un cambiamento in uscita Q.
• tempo di contaminazione (tCD): tempo necessario per una variazione del segnale di clock del flip-flop, per implementare una variazione iniziale sull’uscita Q.
• Tempo di Setup (tsu): tempo prima del fronte di salita/discesa del clock dove i dati di input sono mantenuti stabili.
• Tempo di attesa (Thold): tempo successivo al fronte del clock dove l’input di dati del flip flop D devono essere tenuti stabili in modo che il flip- flop possa bloccare il valore corretto.
Clock skew è un ritardo del segnale di clock che si genera a causa della topologia della rete di distribuzione dello stesso, sostanzialmente si tratta di una differenza temporale (Figg. 2 e 3). Cause possono essere molteplici: distanza del generatore di clock, fluttuazione della temperatura, imperfezioni dei materiali.
Il clock Jitter, invece, è correlato alla variazione temporale del periodo di clock che può aumentare o diminuire (Fig. 4).
Per jitter, quindi, si intende il fenomeno della irregolarità del clock in un segnale digitale. È facile intuire che poiché in natura non esistono parametri “stabili” qualunque segnale digitale è affetto da jitter (così come qualunque segnale analogico è affetto da rumore).
Il MAX9155 (Figg. 5 e 6) è low-voltage differential signaling (LVDS), che accetta un singolo ingresso LVDS e duplica il segnale ad una singola uscita LVDS. Il suo basso jitter lo rende ideale per i segnali buffer LVDS inviati su lunghe distanze o in ambienti rumorosi, come cavi e backplane.
Il package molto piccolo del MAX9155 lo rende particolarmente adatto per ridurre al minimo le lunghezze stub nelle applicazioni backplane multidrop.
Il pacchetto SC70 (metà delle dimensioni di un SOT23) permette al MAX9155 di essere sistemato vicino al connettore, minimizzando così lunghezze stub e riflessioni sul bus. Il collegamento punto a punto tra l’uscita del MAX9155 e la destinazione, come un FPGA o ASIC, permette di trovarsi a distanze maggiori dal connettore bus.
Un filtro è un dispositivo che realizza delle funzioni di trasformazione dati di segnali analogici e/o digitali.
I filtri più comuni sono il Butterworth , Chebyshev, e Bessel (Figg. 7 e 8). Ci sono altri tipi, ma il 90 % di tutte le applicazioni possono essere risolti con uno di questi tre. Il Butterworth garantisce una risposta piatta nella banda passante e un tasso adeguato di roll-off, semplice da capire e adatto per applicazioni quali l’elaborazione audio.
Il Chebyshev fornisce un più ripido roll-off, ma il ripple nella banda passante lo rende inadatto per sistemi audio. È superiore per applicazioni in cui la banda passante comprende una sola frequenza di interesse. Il filtro di Bessel fornisce un ritardo di propagazione costante su tutto lo spettro di frequenza di ingresso. Pertanto, applicando un’onda quadra (costituito da armoniche fondamentali e altre) all’ingresso di un filtro di Bessel si produce un’onda quadra di uscita senza overshoot (tutte le frequenze sono ritardate di pari valore). Altri filtri ritardano le armoniche di quantità diverse con conseguente superamento sulla forma d’onda di uscita.
Nella figura 9 alcuni esempi di passa-basso, passa-alto e il design di un filtro generico. Altri tipi di filtri come quelli digitali, sono algoritmi utilizzati principalmente nei computer. Le principali operazioni che includono sono i seguenti: smoothing (media), integrazione, separazione di segnali (filtraggio) e la stima.
I filtri digitali possono essere confrontati con filtri analogici; ad esempio, il passa basso ha l’equivalente digitale ma hanno in aggiunta alcuni importanti caratteristiche che li rendono adatti solo per il sistema di comunicazione digitale. I filtri digitali, infine, possono essere programmati, quindi dotati di memoria, e non ci sono problemi d’impedenza di corrispondenza.
Esempio commerciale è il MAX270/MAX271 (Fig. 10): filtri digitali programmabili passa basso. La loro tipica gamma dinamica di 96 dB lo rendono ideali come anti-aliasing e applicazioni DAC.
Frequenze di taglio nel range 1-25 kHz possono essere selezionate con opportuno codice di programma.
Leggi gli articoli precedenti
DAQ (parte 1) – Sistemi di acquisizione dati: generalità di progettazione
DAQ (parte 2) – Il condizionamento dei segnali e digitalizzazione