Oscilloscopio numerico... 2 Introduzione... 2 Sezione verticale... 3 Attenuazione/amplificazione (VOLT/DIV)... 4 Accoppiamento (COUPLE)... 5 Posizione verticale (POS)... 5 Sezione orizzontale... 6 Scala orizzontale (Sec/div)... 6 Posizione orizzontale (Pos)... 6 Sezione di sincronizzazione (TRIGGER)... 6 Livello di trigger (Trigger Level)... 7 Sorgente di trigger (Trigger Source)... 7 Accoppiamento del trigger (Trigger Coupling)... 7 Pendenza del trigger (Trigger Slope)... 7 Analisi del circuito di trigger... 7 Sezione di acquisizione (ACQ)... 8 Il DSO come sistema di acquisizione dati (SAD)... 8 Condizionamento del segnale di ingresso... 9 Filtro anti-aliasing... 9 Circuito di Sample&Hold... 10 Valutazione del quanto... 11 Valutazione della frequenza di campionamento... 11 Unità di controllo e gestione della memoria di acquisizione nel DSO... 11 Tecniche di campionamento: tempo reale e tempo equivalente... 14 Campionamento in tempo reale... 14 Campionamento in tempo equivalente... 15 Campionamento in tempo equivalente sequenziale... 15 Campionamento in tempo equivalente casuale... 15 1
Oscilloscopio numerico Introduzione L oscilloscopio numerico è uno strumento che, facendo uso di un campionatore e di un convertitore AD veloce (tipicamente un convertitore flash), campiona e converte in forma numerica i segnali analogici di ingresso. I campioni ottenuti generano uno stream di dati numerici che viene memorizzato in linea in una apposita memoria di acquisizione. Un microprocessore, operando off-line, provvede a prelevare i campioni dalla memoria di acquisizione, a sottoporli ad opportune elaborazioni di calcolo numerico e a presentarli in forma grafica su un monitor, tipicamente uno schermo a cristalli liquidi LCD (Liquid Crystal Display). Caratteristica peculiare di un oscilloscopio numerico è quindi costituita dalla presenza di una memoria di acquisizione che funge da buffer tra le operazioni di acquisizione (on-line) e quelle di elaborazione/visualizzazione (off-line). La presenza della memoria di acquisizione è di fondamentale importanza anche perché essa consente di realizzare funzionalità aggiuntive rispetto a quelle presentate da un oscilloscopio analogico. Ad esempio, è proprio la presenza della memoria di acquisizione che, grazie alla memorizzazione delle forme d onda, consente anche la visualizzazione di segnali transitori o comunque non ripetitivi a differenza di quanto avviene in un normale oscilloscopio analogico. Proprio per dare rilievo all importanza giocata dalla funzione della memoria di acquisizione, l oscilloscopio digitale viene spesso denominato anche oscilloscopio a memoria digitale usando l acronimo DSO (Digital Storage Oscilloscope). Per motivi di carattere prevalentemente commerciale, le case costruttrici di strumentazione elettronica di misura hanno deciso di modificare il meno possibile l interfaccia utente dei DSO rispetto a quella preesistente degli oscilloscopi analogici. Tale scelta è scaturita dalla volontà di evitare agli operatori che avevano acquisito una certa pratica con l interfaccia proposta dal pannello frontale degli oscilloscopi analogici di dover apprendere nuove modalità operative. Per meglio chiarire le varie funzioni di un DSO, in Figura 1 si riporta il front panel di un di un oscilloscopio numerico a doppio canale verticale realizzato in LabVIEW. Figura 1 Come per l oscilloscopio analogico, anche in un DSO il visualizzatore produce la traccia del segnale su un sistema di assi cartesiani (anche se questi sono tracciati su un display LCD piuttosto che su un tubo a raggi catodici CRT - Cathode-Ray Tube). Se ai due assi del visualizzatore vengono inviati due segnali x ed y, sul display viene tracciato il segnale il cui funzionale è y(x) e, in tal caso, si dice che l oscilloscopio opera in modalità di visualizzazione di tipo xy (modalità ad esempio 2
usata nella visualizzazione del ciclo di isteresi dinamico). Solitamente, però, gli assi x ed y del visualizzatore sono associati all asse dei tempi e a quello delle tensioni (modalità di visualizzazione in base dei tempi). Visto che, nella maggior parte delle applicazioni, si utilizza questa modalità di funzionamento, nel seguito, se non esplicitamente specificato, si farà riferimento alla modalità di visualizzazione in base dei tempi. Oltre al display, sul pannello frontale dell oscilloscopio esiste un certo numero di controlli raggruppati in modo da individuare i blocchi funzionale (le sezioni) di cui si compone l oscilloscopio: Sezione verticale (nell esempio di Figura 1 composta da due canali gemelli CH1 e CH2); Sezione orizzontale; Sezione di trigger; Sezione di acquisizione; Lo scopo di tali sezioni è quello di rendere ottimale la visualizzazione del segnale, in modo da consentire all operatore di estrarre il maggior numero di informazioni possibili e con la minima incertezza. L ottimizzazione della visualizzazione del segnale da misurare è resa possibile grazie ad appositi controlli che agiscono sull amplificazione/attenuazione dell asse delle tensioni (Sezione verticale), sull amplificazione/attenuazione dell asse dei tempi (Sezione orizzontale), sulla sincronizzazione tensione/tempo (Sezione di trigger), sulla modalità di acquisizione (Sezione di acquisizione). I controlli che consentono la scalatura dell asse dei tempi e dell asse delle ampiezze, per le motivazioni precedentemente esposte, si presentano in modo del tutto conforme ai controlli presenti su un oscilloscopio analogico (anche se i metodi e le circuiterie utilizzate per implementarli sono completamente diversi). In particolare, per controllare la scala dell asse verticale, si agisce sulla circuiteria del blocco di condizionamento (amplificazione/attenuazione) attraverso il controllo VOLT/DIV (volt a divisione). Invece per comprimere/espandere l asse dei tempi si agisce sulla frequenza di campionamento attraverso il controllo denominato SEC/DIV (secondi a divisione). Sul visualizzatore dell oscilloscopio è sovrapposta una quadrettatura composta da otto divisioni verticali e 10 divisioni orizzontali (le divisioni sono in genere distanziate di 1 cm in modo da individuare quadretti di 1 cm di lato). La quadrettatura serve da riferimento per eseguire misure di ampiezza e di tempo. Per consentire una maggiore risoluzione, sono presenti 5 suddivisioni secondarie per ogni divisione principale. In tal modo l operatore, riuscendo ad apprezzare la mezza suddivisione secondaria, può eseguire misure con la risoluzione di 1/80 dell ampiezza verticale e di 1/100 di quella orizzontale. Grazie alla quadrettatura e alla impostazione delle scale (VOLT/DIV e SEC/DIV) è possibile risalire all ampiezza del segnale in volt e al suo periodo in secondi moltiplicando il numero di divisioni per la scala corrispondente. Ad esempio volendo eseguire delle misure sul segnale di Figura 1 si può dire che esso ha andamento sinusoidale, ha un periodo di 4 divisione e un ampiezza picco-picco di 5 divisioni. Il colore (verde) della traccia indica che esso è stato acquisito dal canale CH1 (informazione che poteva anche essere ricavata osservando che il controllo ON/OFF di CH1 è acceso mentre ON/OFF di CH2 è spento!). Poiché VOLT/DIV di CH1 uguale a 2 V, le 5 divisioni verticali indicano che l ampiezza picco-picco della sinusoide è uguale a 10V. Poiché SEC/DIV è uguale a 250µs, le 4 divisioni orizzontali indicano che il periodo del segnale è di 1 ms (quindi la sua frequenza è di 1kHz). Sezione verticale Prima di procedere, è il caso di dire che nel seguito prendiamo in considerazione il caso, molto frequente, di oscilloscopio con due canali di ingresso (oscilloscopio a doppia traccia). Nel descrivere la sezione verticale si farà riferimento al generico canale (CH1 o CH2) in quanto i due 3
canali sono perfettamente uguali e tutti i controlli sono replicati. Si sappia che sono disponibili anche oscilloscopi con 4 canali di ingresso ma, come per l oscilloscopio a doppia traccia, anche in questo caso i canali sono costituiti da circuiti e controlli del tutto replicati. I controlli principali della sezione verticale sono: Attenuazione/amplificazione (VOLT/DIV) Accoppiamento (DC COUPLE, AC COUPLE, GND) Posizione verticale (POS) Attenuazione/amplificazione (VOLT/DIV) Il controllo di Volt/div ha il compito di attenuare/amplificare il segnale di ingresso in modo da consentirne la visualizzazione su un numero sufficientemente elevato di divisioni, senza che si verifichi la saturazione (in tal modo si garantisce la visualizzazione con una risoluzione adeguata). La scelta di 2 Volt/div ha consentito di evitare la saturazione ed avere una risoluzione di 0,2V (1/2 di sottodivisione) che rappresenta il 2% dell ampiezza picco-picco del segnale di ingresso. Se fosse stato scelto un valore di 5 Volt/div, la risoluzione sarebbe passata a 0,5V ossia il 5% dell ampiezza picco-picco del segnale di ingresso. Se fosse stato scelta un valore di 1 Volt/div la visualizzazione avrebbe consentito di osservare al massimo un ampiezza picco-picco di 8V e quindi si sarebbe avuta la saturazione della visualizzazione. Dal punto di vista circuitale, la sezione Volt/div è realizzata con un attenuatore, che forza il segnale di ingresso a rientrare in un intervallo di ampiezza massima predefinita, seguito da un amplificatore che serve ad adeguare l ampiezza del segnale preventivamente attenuato al fondo scala del convertitore AD. In Figura 2, un esempio di come può essere realizzato il blocco attenuatore/amplificatore. Figura 2 L attenuatore di ingresso è stato realizzato con un partitore resistivo in cui i valori ohmici sono stati proporzionati in modo da realizzare la tipica resistenza di ingresso (1 MΩ) e i rapporti di partizione richiesti per ottenere i Volt/div indicati. È facile verificare che, con questi valori ohmici, la tensione di uscita del partitore non supera mai il valore di 10mV se i volt/divisione sono stati impostati coerentemente all ampiezza del segnale di ingresso. Ne consegue che lo stato dei due diodi a valle del partitore è sempre di interdizione; essi intervengono solo in caso di errata impostazione dei volt/divisione e in tal caso hanno la funzione di proteggere i circuiti a valle del partitore. L amplificatore ha un guadagno costante ed ha il compito di portare il segnale proveniente dal partitore di ingresso dal range ±10mV al range ±fs del convertitore AD (in genere dell ordine di qualche volt). Il guadagno dell amplificatore deve quindi essere abbastanza elevato e, per garantire l adeguata banda passante, è realizzato con la cascata di più stadi. 4
Accoppiamento (COUPLE) Il controllo COUPLE consente di selezionare tramite il selettore di ingresso (Figura 3) una delle tre modalità di accoppiamento: DC: Direct coupling (accoppiamento diretto); AC: Alternate coupling (accoppiamento in alternata); GND: Ground (terra di riferimento) Figura 3 L accoppiamento diretto consiste nel collegare direttamente il segnale proveniente dal circuito attenuatore/amplificatore al buffer. L accoppiamento in alternata consiste nell inviare al buffer il segnale proveniente dal circuito attenuatore/amplificatore privato della componente continua. L accoppiamento GND consiste nell inviare al circuito buffer il livello a cui sono riferiti i segnali di ingresso al canale (ossia il potenziale di terra). Ovviamente l accoppiamento DC è il più semplice da capire, in quanto non modifica in alcun modo il segnale di ingresso. Lo finalità dell accoppiamento in AC è quella di consentire la visualizzazione di piccoli segnali alternativi sovrapposti a grosse componenti continue. Se mancasse la possibilità di accoppiamento in AC, non si avrebbe la risoluzione necessaria a visualizzare questi segnali. Per capire meglio la finalità di tale accoppiamento, si supponga ad esempio di voler analizzare l uscita di un alimentatore in continua. Come è noto, questa viene realizzata in genere con un ponte di diodi usato per rendere unidirezionale un segnale alternativo seguito da un filtro passa basso per eliminare (o meglio ridurre) l ondulazione residua sovrapposta alla componente continua. Supponiamo che l alimentatore produca una tensione continua di 12V su cui è sovrapposto un residuo di 10mV. Se volessimo visualizzare tale residuo con l oscilloscopio, saremmo costretti ad usare un accoppiamento in AC altrimenti, per visualizzare la tensione di 12V senza andare in saturazione dovremmo usare un valore di V/div che risulterebbe troppo elevato per avere la risoluzione richiesta per apprezzare i 10mV di ondulazione sovrapposta. Viceversa, con l accoppiamento in AC è possibile bloccare la tensione continua di 12V e, in questo modo, usando un valore di V/div appropriato, risulta possibile visualizzare l ondulazione residua con risoluzione adeguata. Posizione verticale (POS) Il controllo di posizione verticale agisce sommando una componente continua positiva o negativa al segnale di ingresso per traslare verticalmente la traccia del segnale. Tale operazione può essere utile per la visualizzazione di segnali non simmetrici rispetto allo zero. In questo caso, sommando una componente continua è possibile centrarli sul display in modo da utilizzare tutte le divisioni a disposizione per la visualizzazione del segnale. Negli oscilloscopi analogici questa operazione veniva eseguita usando un amplificatore operazionale in configurazione di sommatore. Nei DSO, si può raggiungere lo stesso obiettivo operando numericamente sull uscita del convertitore AD e cioè sommando a tutti i codici un numero positivo o negativo corrispondente al numero di LSB di cui si desidera traslare la traccia. 5
Sezione orizzontale I controlli principali della sezione orizzontale sono: Scala orizzontale (SEC/DIV); Posizione orizzontale (POS). Scala orizzontale (Sec/div) Il controllo di S/div ha lo scopo di allargare o comprimere il segnale sul display in maniera tale che sia possibile utilizzare l oscilloscopio per la visualizzazione di segnali che possono variare in un intervallo di frequenze abbastanza ampio mantenendo una buona risoluzione orizzontale di visualizzazione. In genere la scala orizzontale si imposta in modo da visualizzare qualche periodo del segnale di ingresso. In questo modo si ha la possibilità di valutarne alcuni parametri significativi come la forma d onda e la periodicità. Dopo una prima visualizzazione, l operatore può eventualmente scegliere di modificare i sec/div se, in funzione dell analisi che deve effettuare, ritiene di dover visualizzare dettagli con maggiore risoluzione. Se ad esempio, l operatore volesse misurare con maggior cura l istante di attraversamento del segnale per lo zero, potrebbe decidere di non essere interessato a tutta l evoluzione del segnale e quindi potrebbe scegliere di aumentare i dettagli di visualizzazione nell intorno della zona di maggiore interesse. Posizione orizzontale (Pos) Il controllo di posizione orizzontale, consente di traslare il segnale orizzontalmente verso destra o verso sinistra. Questa operazione, usata insieme ad un corretto settaggio della scala orizzontale consente appunto di eseguire uno zoom sulla zona del segnale di maggior interesse. Naturalmente, per ottenere la visualizzazione più adeguata della parte del segnale di interesse è opportuno coordinare l impostazione dei controlli orizzontali con quelli verticali. Sezione di sincronizzazione (TRIGGER) L obiettivo della sezione di sincronizzazione è quello di definire quale deve essere l istante iniziale di visualizzazione del segnale di ingresso. Questa sezione è di fondamentale importanza se si vuole visualizzare un eventuale cambiamento della forma d onda nel tempo di un segnale ripetitivo (dovuta ad esempio alla presenza di rumore sovrapposto al segnale). Per raggiungere questo obiettivo, si proiettano sul display più acquisizioni successive del segnale di interesse. Ovviamente, perché questa tecnica abbia successo è necessario che tutte le visualizzazioni successive vengano fatte proiettando segnali che mantengono una fase coerente altrimenti, proiettando sul display brani dello stesso segnale non sincronizzati, si vedrebbe un immagine che si modifica ad ogni visualizzazione non a causa di un cambiamento del segnale ma a causa di una errata sincronizzazione. Per sincronizzare le varie acquisizioni, si usa un apposito circuito di sincronizzazione (TRIGGER) che analizzando il segnale cerca di individuare l istante in cui si può iniziare una nuova visualizzazione. Il circuito di trigger per individuare l inizio di un nuovo periodo analizza due condizioni: (1) La prima condizione che deve essere verificata quando comincia un nuovo periodo è che il segnale deve avere la stessa ampiezza che aveva all inizio del periodo precedente. La condizione sul livello del segnale è una condizione necessaria ma non sufficiente a garantire che quando il segnale assume quel livello è cominciato un nuovo periodo (2) La seconda condizione pone un altro vincolo necessario per la periodicità. Perché cominci un nuovo periodo, anche la pendenza del segnale (positiva o negativa) deve essere uguale a quella dell inizio del periodo precedente. 6
Queste sono due condizioni necessarie ma ancora non sufficienti a garantire la sincronizzazione di tutti i possibili segnali. Certamente se il segnale è sinusoidale queste due condizioni sono necessarie e sufficienti a garantire la sincronizzazione. Per segnali più complessi, è l operatore che deve individuare se esistono zone del segnale per cui queste due condizioni definiscono univocamente un punto di sincronizzazione. In ogni caso, il problema della sincronizzazione può rappresentare uno dei problemi più delicati nella corretta visualizzazione di un segnale ripetitivo. I controlli della sezione di sincronizzazione (Figura 4) sono: livello di trigger (TRIGGER LEVEL); sorgente di trigger (TRIGGER SOURCE); accoppiamento del trigger (TRIGGER COUPLING); pendenza di trigger (TRIGGER SLOPE); Figura 4 Livello di trigger (Trigger Level) Il controllo di trigger level definisce il valore della tensione continua da inviare all ingresso invertente del comparatore (Comp). Il livello di trigger è la tensione di riferimento con cui viene confrontato l ingresso non invertente del comparatore. Sorgente di trigger (Trigger Source) La sorgente di trigger definisce quale segnale deve essere inviato all ingresso non invertente del comparatore. È possibile definire come sorgente di trigger uno dei due segnali (quello inviato a CH1 o quello inviato a CH2). L operatore effettuerà la scelta che gli sembrerà più opportuna in funzione degli andamenti dei due segnali cercando di individuare quello per cui le due condizioni livello/pendenza danno maggiori garanzia di definizione di un trigger stabile. Qualora nessuno dei due segnali dovesse avere le caratteristiche idonee per garantire una sincronizzazione stabile, si può cercare di effettuare la sincronizzazione usando un segnale esterno (EXT). Accoppiamento del trigger (Trigger Coupling) Segnali con componenti continue di valore elevato non sono idonei per essere usati come sorgenti di trigger in quanto il circuito di trigger lavora sulle variazioni del segnale di sincronizzazione. In tal caso è possibile bloccare la componente continua portando l accoppiamento del trigger in posizione AC (alternate coupling). Pendenza del trigger (Trigger Slope) Con il selettore pendenza del trigger, trigger slope, è possibile scegliere se la condizione dell evento di trigger deve essere quella corrispondente al fronte di salita o di discesa. Analisi del circuito di trigger Analizzando il circuito di Figura 4, si vede che il comparatore effettua una comparazione tra il segnale di trigger selezionato (attraverso il posizionamento dei selettori source e coupling) e una 7
tensione di riferimento definita dalla posizione del potenziometro level. L uscita del comparatore presenta un segnale squadrato, con transizioni corrispondenti agli istanti di attraversamento del segnale selezionato attraverso la tensione di riferimento. I fronti di salita corrisponderanno agli attraversamenti con pendenza positiva e quelli negativi agli attraversamenti con pendenza negativa. Il segnale squadrato attraversa il circuito derivatore (indicato con d/dt). L uscita del derivatore presenterà impulsi positivi in corrispondenza dei fronti di salita e impulsi negativi in corrispondenza dei fronti di discesa. Dopo il derivatore c è un buffer il cui scopo è solo quello di disaccoppiare il derivatore dai circuiti a valle, quindi l uscita del buffer segue l uscita del derivatore. L uscita del buffer va all ingresso + del selettore slope e contemporaneamente al buffer invertente (amplificatore con guadagno-1). L uscita dell invertitore va all ingresso del selettore slope. Pertanto agli ingressi del selettore slope arrivano due segnali che sono uno l opposto dell altro (a causa dell inverter). In definitiva l ingresso + del selettore slope presenta impulsi positivi in corrispondenza degli attraversamenti a pendenza positiva del segnale di trigger attraverso il livello di trigger; l ingresso del selettore slope presenta impulsi positivi in corrispondenza degli attraversamenti a pendenza negativa del segnale di trigger attraverso il livello di trigger. Gli impulsi negativi applicati al selettore di slope non sono significativi e vengono quindi eliminati dal circuito cimatore costituito dal resistore e dal diodo a valle del selettore di slope. Per maggiore chiarezza, in Figura 5 sono riportati i segnali prodotti dal circuito di trigger. Figura 5 Sezione di acquisizione (ACQ) La sezione di acquisizione prevede il controllo di Sampling/Average (SAM/AVE). In modalità Sampling viene restituito un vettore di campioni ogni volta che si riempie il buffer di acquisizione. Nella modalità Average, viene restituita la media di N acquisizioni successive. Il controllo NUMAV definisce il numero N di acquisizioni su cui effettuare la media. Gli altri controlli riguardano il controllo dell oscilloscopio attraverso interfaccia GPIB. Il DSO come sistema di acquisizione dati (SAD) Dopo aver descritto brevemente i controlli che operano nelle varie sezioni dell oscilloscopio, è possibile passare ad analizzare il principio di funzionamento dello strumento (nella descrizione per brevità si farà riferimento ad un solo canale). Un DSO è un sistema di acquisizione dati (SAD) costituito da più sezioni (Figura 6) che hanno il compito di realizzare il condizionamento, il campionamento, la conversione, la memorizzazione e la visualizzazione del segnale di ingresso. 8
Condizionamento del segnale di ingresso È già stato descritto come avviene il condizionamento del segnale di ingresso attraverso i controlli della sezione verticale. La funzione primaria di tale sistema è quella di portare il livello del segnale di ingresso al valore ottimale per il funzionamento del convertitore AD. Fissato la risoluzione in numero di bit del convertitore (negli oscilloscopi il convertitore è in genere un FLASH ad 8 bit), l errore di quantizzazione, dipende esclusivamente dal fondo scala. Far funzionare il convertitore in modo ottimale significa fare in modo che l errore di quantizzazione espresso in valore relativo all ampiezza del segnale sia il più piccolo possibile. Ciò significa che il segnale deve variare in un range che sia il più possibile prossimo al fondo scala del convertitore. Questo è il compito primario del sistema di condizionamento. Filtro anti-aliasing Poiché il principio di funzionamento dell oscilloscopio numerico si basa sul campionamento del segnale di ingresso, bisogna evitare che il fenomeno dell aliasing corrompa la corretta visualizzazione dello stesso. Come è noto un campionamento corretto richiede una opportuna scelta della frequenza di campionamento in funzione della banda del segnale di ingresso. Se il segnale ha banda limitata, è possibile evitare il fenomeno dell aliasing scegliendo una frequenza di campionamento che sia almeno doppia della ampiezza della banda del segnale. Qualora non si abbiano conoscenze a priori della banda del segnale e si vuole comunque essere certi di non incorrere nel fenomeno dell aliasing, è necessario limitare la banda del segnale entro un limite che è definito dalla frequenza di Nyquist. Questo è il motivo per cui, dopo il sistema di condizionamento, è presente un filtro passa basso che ha appunto lo scopo di evitare il fenomeno dell aliasing (filtro anti-aliasing). Naturalmente se il segnale di ingresso dovesse avere una banda maggiore della frequenza di Nyquist, il filtro anti-aliasing ne provocherebbe una qualche deformazione (a causa del taglio delle componenti spettrali di frequenza superiore a quella di Nyquist). In ogni caso è preferibile avere questa deformazione piuttosto che perdere completamente la possibilità di ricostruire un segnale corrotto da aliasing. Il filtro anti-aliasing va progettato opportunamente in funzione della frequenza di campionamento, in modo che il segnale filtrato sia contenuto in una banda non superiore alla frequenza di Nyquist. Poiché, nell oscilloscopio la frequenza di campionamento non è fissa, ma dipendente dai sec/div impostati, si dovrebbe progettare un filtro anti-aliasing con frequenza di taglio variabile con i sec/div impostati. In linea di principio una tale scelta risolverebbe completamente il problema ma, in pratica, risulta oneroso da implementare. La soluzione che normalmente viene adottata nella realizzazione sia dei sistemi di acquisizione dati che degli oscilloscopi numerici è quella di fissare la frequenza di campionamento al valore massimo e di fissare la frequenza di taglio del filtro antialiasing alla metà della frequenza di campionamento. In tal modo si risolve il problema dell aliasing ma si introduce un altro problema legato ad un inutile spreco di memoria. Infatti, qualora la banda del segnale dovesse essere molto minore della metà della frequenza di campionamento massima, il sovra-campionamento produrrebbe un numero di campioni eccessivo (e quindi una eccessiva occupazione di memoria), senza peraltro produrre vantaggi dal punto di vista dell informazione estraibile. Inoltre, un eccessivo numero di campioni comporterebbe anche un inutile appesantimento computazionale nelle successive elaborazioni numeriche. Per risolvere elegantemente il problema del sovra-campionamento, si agisce a valle del campionamento e della conversione analogico digitale. In questo stadio, il segnale è già convertito in forma numerica quindi è possibile filtrarlo con un filtro numerico con frequenza di taglio uguale al doppio della banda del segnale (mentre per il filtro anti-aliasing analogico è difficile variare la frequenza di taglio, per un filtro numerico la scelta della frequenza di taglio più opportuna non presenta alcun problema). Quindi si imposta la frequenza di taglio del filtro analogico uguale alla metà della frequenza di campionamento e si inserisce un secondo filtro, questa volta numerico, a valle della conversione A/D con frequenza di taglio variabile e agganciata ai sec/div impostati. Il filtro numerico elabora lo stream di valori 9
numerici lavorando in linea. Si è quindi risolto il problema di filtrare il segnale di ingresso in modo adattativo con la scelta dei sec/div impostati, ma rimane ancora il problema della eccessiva mole di campioni. Questo secondo problema si risolve con un blocco di decimazione. Normalmente il filtro numerico provvede anche ad eseguire la funzione di decimazione (che quindi non viene eseguito da una routine a parte). Figura 6 Circuito di Sample&Hold Subito a valle del Filtro anti-aliasing analogico, è posto un circuito di Sample&Hold (S/H), il cui scopo è quello di mantenere costante il segnale in ingresso al convertitore A/D durante la conversione (ossia dall istante di campionamento all istante in cui il convertitore ha terminato la conversione). In particolare, l intervallo di tempo durante il quale il segnale deve essere mantenuto costante, deve essere maggiore o al limite uguale del tempo necessario al convertitore per eseguire la conversione. Questo blocco è controllato da un unità di controllo indicato in figura come blocco di tempificazione. Il blocco di tempificazione deve anche gestire la corretta tempificazione del convertitore A/D, indicandogli l istante in cui la conversione deve avere inizio (s.o.c.) ed attendendo che la conversione sia terminata (e.o.c). In ingresso il blocco Tempificazione riceve un segnale proveniente da un opportuna base dei tempi BT che serve a definire il nuovo istante di campionamento. In Figura 7 si riportano i segnali di ingresso ed uscita del circuito di S/H. L uscita del S/H è la spezzata rappresentata dai tratti viola e verdi, mentre il segnale in ingresso è rappresentato dalla curva blu. Il convertitore converte i campioni disponibili nell intervallo di tempo di hold. Il passo di campionamento T C è l intervallo di tempo che intercorre tra due passaggi successivi da S (sample) a H (hold). T C differisce dal tempo di conversione che invece è uguale dalla differenza tra gli istanti in cui si manifestano i segnali di EOC e SOC. Figura 7 Per fare in modo che il convertitore, durante la conversione, veda un segnale costante in ingresso, bisogna fare in modo che la variazione del segnale nell intervallo di conversione sia minore del quanto Q (risoluzione del convertitore) definito come Q=FS/2 N ). Quindi se il segnale in ingresso all A/D ha una variazione più piccola di Q, il funzionamento è ancora corretto pur non essendo il segnale costante. 10
Valutazione del quanto Se si mantiene il FS costante e si amplifica il segnale si ha un effetto numericamente identico all attenuazione del FS lasciando inalterato il segnale. Il quanto è uguale a: Q = FS 2N (1) Nel caso in esame il FS rimane costante, perché è prefissato nel convertitore, si varia il guadagno cioè i VOLT/DIV. Per conoscere il guadagno dai VOLT/DIV, si calcola il FS moltiplicando il numero di divisioni verticali per il valore di VOLT/DIV. Supponiamo di usare i parametri dell oscilloscopio usato in laboratorio (Tektronix TDS220). Quindi il quanto può essere riscritto come: Q = VOLT DIV 10 2 8 = VOLT DIV 25.6 Valutazione della frequenza di campionamento Con un ragionamento analogo si può calcolare la frequenza di campionamento (f C ) conoscendo il valore dei SEC/DIV. Infatti la f C è il reciproco di T C e il passo di campionamento T C è dato dalla Time Window (T W ) diviso la profondità della memoria di acquisizione (M). Quindi: T C = T W M ; f C = M T W La T W si ottiene moltiplicato il numero di divisioni orizzontali per il valore dei SEC/DIV. Per cui, sempre usando i parametri dell oscilloscopio Tektronix TDS220: fc = 2500 250 = SEC 10 SEC DIV (2) DIV (3) Unità di controllo e gestione della memoria di acquisizione nel DSO Il SAD fornisce uno stream di campioni che viene memorizzato in una apposita memoria di acquisizione. Tutte le funzioni di cui si è parlato finora devono essere svolte in linea, nel senso che i vincoli di tempificazione sono imposti dalla dinamica del segnale di ingresso. Dopo aver riempito la memoria di acquisizione, l unità di controllo ha a disposizione un buffer di dati grezzi per ogni canale verticale e può eseguire l elaborazione degli stessi per produrre l uscita del DSO. La fase di elaborazione e presentazione dei risultati non ha più vincoli temporali stringenti, nel senso che il tempo di elaborazione ha il solo vincolo di produrre i risultati in tempo utile per l operatore (tempo utile che ha requisiti certamente molto meno stringenti di quelli legati alla dinamica del segnale di ingresso). Grazie alla presenza della memoria di acquisizione e alla capacità elaborativa dell unità di controllo è possibile elaborare i campioni grezzi in modo da estrarre un numero molto elevato di informazioni che consentono al DSO di esibire grosse potenzialità. Certamente il DSO deve esibire tutte le funzionalità di un oscilloscopio analogico. Quindi deve essere in grado di mostrare l andamento dei segnali inviati ai canali verticali in funzione del tempo coerentemente ai valori impostati attraverso i controlli di VOLT/DIV e SEC/DIV. Ma oltre a queste funzionalità elementari, l oscilloscopio numerico esibisce un numero di funzionalità che lo rendono uno strumento molto più versatile del suo predecessore analogico. A titolo di esempio, basti pensare al fatto che il DSO consente una notevole agevolazione operativa nell eseguire misure di tensione e di tempo grazie all esistenza di appositi cursori orizzontali e verticali attraverso i quali è possibile effettuare misure sull asse delle ampiezze e dei tempi semplicemente posizionando i cursori in corrispondenza dei punti di interesse e leggendo direttamente le ampiezze in Volt (per le misure sull asse verticale) e i tempi in secondi (per le 11
misure sull asse orizzontale) esimendo l operatore dalla misura eseguita in numero di divisioni e dalla moltiplicazione per i fattori di scala VOLT/DIV e SEC/DIV. Altra grossa potenzialità del DSO è quella di consentire la visualizzazione di segnali non ripetitivi, funzionalità determinata dalla presenza della memoria di acquisizione. Infatti, un qualsiasi segnale, anche non ripetitivo, può essere acquisito e memorizzato nella memoria del DSO. Nella fase di elaborazione in tempo differito l unità di controllo preleva i campioni dalla memoria di acquisizione e li presenta sul visualizzatore senza preoccuparsi del fatto che i campioni possono appartenere o meno a un segnale ripetitivo. Questa stessa operazione non è certamente possibile con un oscilloscopio analogico che ha bisogno di un segnale periodico per rinfrescare periodicamente i fosfori del visualizzatore. L unica possibilità di visualizzare un transitorio con un oscilloscopio analogico è quella di collegare una fotocamera di fronte al visualizzatore e riprendere il percorso della traccia con una pellicola fotosensibile. Basterebbero già questi due esempi per capire i grossi vantaggi offerti dall impiego di un DSO. Si dovrebbe essere capito a questo punto quale è l importanza della memoria di acquisizione nel DSO. Passiamo a vedere allora come questa viene gestita dall unità di controllo. Durante la fase di acquisizione (quella che opera in linea) l unità di controllo provvede ad indirizzare la memoria di acquisizione in modo che memorizzi lo stream di dati provenienti dal SAD. Ogni volta che il SAD genera un segnale di EOC, la U.C. preleva il segnale in uscita al SAD e lo memorizza nella memoria di acquisizione all indirizzo immediatamente successivo a quello contenente l ultimo campione memorizzato. Per eseguire questa operazione, utilizza un contatore numerico che incrementa ad ogni ricezione di un EOC. L U.C. continua questa operazione fino al riempimento della memoria di acquisizione. A questo punto, almeno in teoria, potrebbe ritenersi conclusa la fase che opera in linea e dovrebbe iniziare quella in tempo differito, nel senso che l U.C. dovrebbe cominciare a prelevare i campioni memorizzati per inviarli al display. Per operare correttamente, è però necessario gestire in modo opportuno il segnale proveniente dal circuito di trigger. L informazione del segnale di trigger è quella di informare l U.C. che il campione in arrivo deve essere considerato come campione di inizio visualizzazione (quello che deve essere considerato come campione all istante iniziale). La funzione del trigger quindi è quella di consentire la visualizzazione di più brani successivi dello stesso segnale tutti sincronizzati fra di loro (nel senso che in un segnale periodico si può dire che periodi successivi sono sincronizzati quando la loro visualizzazione comincia sempre dallo stesso valore di fase iniziale). L unità di controllo deve controllare in linea l evento di trigger per sapere quando cominciare a memorizzare i campioni. In genere il modo di operare è differente, infatti l U.C., finita la visualizzazione del brano precedente, comincia immediatamente a memorizzare nella memoria di acquisizione i campioni provenienti dal SAD. Non appena si verifica la condizione di trigger, l U.C. memorizza l indirizzo corrente della memoria di acquisizione e prosegue nella memorizzazione. Raggiunto l ultimo indirizzo di memoria, continua a memorizzare mandando in overflow il contatore degli indirizzi e quindi continuando dall indirizzo 0. In questo modo, la memoria di acquisizione viene gestita come un buffer di memoria circolare (Figura 8). L U.C. continua a memorizzare campioni fino a raggiungere l indirizzo immediatamente precedente a quello in cui si era verificato l evento di trigger. In questo modo tutta la memoria contiene campioni seguenti all evento di trigger. Il campione relativo all istante iniziale (quello relativo all evento di trigger) ovviamente si trova all indirizzo successivo all ultimo acquisito. Quindi l U.C. finita l acquisizione, continua ad incrementare il contatore di indirizzi e invece di scrivere un nuovo campione comincia la fase di lettura e visualizzazione. 12
Figura 8 Un altro vantaggio di gestire la memoria di acquisizione in modo circolare è quello di poter visualizzare anche eventi predenti alla condizione di trigger (eventi per t<0). Infatti quando si verifica l evento di trigger, in memoria sono già presenti tutti campioni precedenti a tale evento. Per capire come accedere ai campioni precedenti all evento di trigger (campioni di pre-trigger) indichiamo con M la profondità di memoria di acquisizione e supponiamo di voler utilizzare la memoria per memorizzare il 50% dei campioni (M/2 campioni) precedenti all evento di trigger e il 50% dei campioni (M/2 campioni) seguenti all evento di trigger. Per ottenere questo risultato si cominciano ad acquisire M/2 campioni (in questo modo si è certi che la memoria contiene almeno M/2 campioni di pre-trigger) poi si continuano ad acquisire campioni e si osserva quando si verifica l evento di trigger. Appena si verifica tale evento si prende nota dell indirizzo di memoria e si continuano ad acquisire altri M/2 campioni (che saranno campioni di post-trigger). In questo modo l ultimo campione acquisito è il più recente, il campione memorizzato all indirizzo successivo è il più vecchio e, in particolare è il campione che si era verificato esattamente M/2 campioni prima del trigger. Terminata l acquisizione l U.C. continua a comportarsi sempre allo stesso modo, incrementa il contatore degli indirizzi (l indirizzo quindi punta sul campione più vecchio) e accede a tale locazione in lettura per iniziare la visualizzazione. Il segnale visualizzato comincia dal campione più vecchio, dopo M/2 campioni raggiunge il campione ottenuto nell istante di trigger (quindi è arrivato il tempo t=0) continuando a visualizzare gli ultimi M/2 campioni si ottiene tutto il post-trigger. Sul visualizzatore si vede l istante t=0 corrispondente al punto centrale dello schermo. I punti a sinistra sono quelli corrispondenti ai campioni per t<0 (pre-trigger) e quelli a destra sono i campioni corrispondenti ai tempi t>0 (post-trigger). Questa stessa procedura può essere utilizzata per modificare a piacere il numero di campioni di pre-trigger e di post-trigger. La regola generale è quella di scegliere la percentuale di pretrigger, valutare il numero di campioni M PRE corrispondente alla percentuale di pre-trigger, acquisire M PRE campioni, cominciare ad osservare l evento di trigger, dal momento in cui si verifica l evento di trigger continuare ad acquisire M-M PRE campioni, terminare l acquisizione, e cominciare a visualizzare dal campione immediatamente successivo all ultimo acquisito. Dal punto di vista operativo, modificare la quantità di pre-trigger significa spostare sullo schermo la posizione in cui si deve visualizzare l istante t=0. Infatti, portare l istante t=0 alla sinistra dello schermo significa non voler vedere pre-trigger (bisogna quindi acquisire M campioni di post-trigger in quanto si è scelto M PRE =0). Spostando il campione corrispondente all istante t=0 al centro dello schermo significa aver scelto M PRE =M/2 (quindi bisogna acquisire altri M/2 campioni). Spostare il campione t=0 alla destra dello schermo significa dire che non interessa il post-trigger ma si vuole 13
vedere solo il pretrigger (M PRE =M non bisogna acquisire nessun altro campione, tutta la storia precedente è già in memoria). In Figura 9 si riporta l esempio di una memoria di acquisizione in cui M=4096, e di voler destinare 500 locazioni ai campioni di pre-trigger, quando si verifica l evento di trigger si devono acquisire ancora (4096-500) campioni: Figura 9 Tecniche di campionamento: tempo reale e tempo equivalente Campionamento in tempo reale Per definire con precisione gli istanti di tempo in cui generare impulsi di SOC, l U.C., ossia per generare tutte le frequenze imposte dalla (3) (una per ogni valore di SEC/DIV), utilizza una apposita base dei tempi la cui stabilità è garantita dalla presenza di un oscillatore quarzato. Per capire come opera la base dei tempi si cominci a costruire la Tabella I di 3 righe (sempre riferite all oscilloscopio Tektronix TDS220): nella prima riga si riportano i valori dei SEC/DIV e nella seconda i valori delle fc definite dalla (3) e nella terza i divisori utilizzati per ottenere le frequenze di campionamento da quella dell oscillatore quarzato di 1GS/s. 250n 500n 1µ 2.5µ 5µ 10µ 25µ 50µ 100µ 250µ 500µ 1m 2.5m 5m 10m 25m 50m 100m 250m 500m 1 2.5 5 1GS 500M 250M 100M 50M 25M 10M 5M 2.5M 1M 500k 250k 100k 50k 25k 10k 5k 2,5k 1k 500 250 100 50 1 2 4 10 20 40 100 200 400 1k 2k 4k 10k 20k 40k 100k 200k 400k 1M 2M 4M 10M 20M Tabella I Nel caso banale di SEC/DIV uguale a 250ns, la frequenza di campionamento è di 1GS/s, il divisore è uguale 1, quindi il segnale di SOC è definito dal periodo del segnale di clock. Nel caso più generale di SEC/DIV diversi da 250ns, bisogna dividere la frequenza del segnale di clock per un divisore, che come si vede dalla tabella è un numero intero compreso tra 2 e 20E 6 (in esadecimale tra 2 H e 1312D00 H ). Per rappresentare in binario un numero compreso in questo intervallo servono 25 bit (la cifra esadecimale più significativa può assumere solo valore 0 o 1, quindi è un solo bit). Operativamente l U.C., individua la posizione dei SEC/DIV scelti dall operatore (prima riga di Tabella I), trova il divisore corrispondente nella terza riga e inizializza con tale valore un contatore binario up/down di 25 bit. Quando il contatore, decrementando il conteggio iniziale con frequenza di 1 GS/s va in underflow, l U.C. lo ricarica nuovamente al valore iniziale. In questo modo il segnale di underflow si presenza con cadenza fissa definita dalla seconda riga della Tabella e quindi l U.C. ad ogni underflow invia il segnale di SOC al SAD. Quanto finora detto è certamente valido per i SEC/DIV definiti in Tabella I. Se però si osservano i SEC/DIV dell oscilloscopio Tektronix TDS220, si nota che esistono valori di SEC/DIV inferiori a 250ns a cui compete una frequenza di campionamento superiore a 1 GS/s (superiore alla frequenza di riferimento)! Andando a leggere le specifiche dell oscilloscopio è detto esplicitamente che la 14
massima frequenza di campionamento, in tempo reale, è di 1 GS/s. Per le frequenze di campionamento superiori, l oscilloscopio opera in campionamento in tempo equivalente. Campionamento in tempo equivalente Oltre al campionamento in tempo reale, in alcuni casi si possono adottare modalità di campionamento in tempo equivalente (Equivalent Time Sampling). Questa è una tecnica che presenta dei vantaggi, ma anche delle limitazioni. Infatti è applicabile solo a segnali strettamente ripetitivi e richiede una base dei tempi estremamente stabile. In sostanza, la porzione di forma d onda mostrata a monitor non viene ricostruita prelevando i campioni in successione, nell arco dell intervallo visualizzato, bensì viene costruita analizzando più intervalli, sfruttando appunto la periodicità del segnale e la stabilità del trigger. Esistono due modalità di campionamento in tempo equivalente: sequenziale e casuale. Campionamento in tempo equivalente sequenziale Al verificarsi del primo evento di trigger si preleva il primo campione. Al secondo evento di trigger si attende per un tempo esattamente controllato ΔT prima di prelevare il secondo campione. Tale intervallo ΔT è quello che competerebbe al campionamento in real time ma essendo troppo breve, non può essere sostenuto continuativamente dal sistema di campionamento e conversione AD. Pertanto, al verificarsi di ogni evento di trigger il ritardo viene incrementato (2ΔT, 3ΔT, ecc.) in modo che risulti correttamente campionata tutta la porzione di segnale che si desidera visualizzare. Naturalmente la ricostruzione avverrà con il contributo di campioni prelevati in periodi successivi del segnale. Tale porzione è stata assunta, per semplicità, uguale al periodo T del segnale, ma nella realtà essa potrà essere costituita anche da un numero maggiore di periodi. In sostanza, se il segnale è ripetitivo, è possibile visualizzare la forma d onda anche prelevando i campioni ad una velocità più bassa (in effetti si provoca un aliasing controllato per poter usare un SAD che altrimenti non sarebbe in grado di campionare il segnale di ingresso). Il vantaggio di tale metodo è che si possono impiegare convertitori AD e memorie caratterizzati da velocità operative molto più basse di quelle che sarebbero richieste dalla banda del segnale di ingresso. Infatti la frequenza di campionamento equivalente risulta fc,eq =1/ΔT, dove il valore minimo per ΔT non è imposto dalla velocità del sistema di acquisizione (che è invece chiamato a lavorare con periodo di campionamento T+ΔT>>ΔT, e quindi con una frequenza di campionamento fc =1/(T+ΔT) << fc,eq), bensì dalla stabilità della base dei tempi o da fenomeni di jitter. Più spesso, in queste condizioni di funzionamento sono i circuiti analogici di ingresso a imporre il limite di frequenza. La ricostruzione della forma d onda avviene prelevando i dati dalla memoria e disponendo i punti direttamente sullo schermo, se questi sono sufficientemente numerosi, altrimenti elaborando preliminarmente i dati con opportuni algoritmi. Campionamento in tempo equivalente casuale Con questa tecnica si usa una velocità di campionamento (che il SAD è in grado di sostenere) scelta in modo non correlata con l evento di trigger. In tal modo i campioni che si ottengono sono del tutto scorrelati dall evento di trigger. Per individuare l istante a cui i campioni fanno riferimento, viene misurato il tempo che intercorre fra il generico campione e l evento di trigger più vicino. Questo tempo viene associato al campione per la successiva visualizzazione del segnale sullo schermo. Nel caso del campionamento in tempo equivalente di tipo casuale il trigger non svolge direttamente il suo compito ma serve da riferimento temporale per la ricostruzione del segnale. L istante random di campionamento è generato con una grana multipla dell intervallo di campionamento in tempo equivalente, in questo modo il microprocessore del sistema ha a disposizione gli intervalli di tempo che separano l evento di trigger e l istante di campionamento misurati con la giusta grana e quindi può ricostruire la sequenza ordinata dei campioni per rappresentare sul visualizzatore la forma 15
d onda corretta. Con questa tecnica si ha il vantaggio di poter visualizzare anche la fase di pretrigger, funzionalità non disponibile col campionamento equivalente di tipo sequenziale. I limiti in frequenza dipendono anche in questo caso dalla stabilità del clock, dal jitter e dalla banda passante analogica. 16