I moderni sistemi embedded e di elaborazione dati sono diventati più potenti mediante l'incorporazione di bus ad alta velocità, sottosistemi standard del settore industriale e più funzionalità integrate nei chip. Sono anche diventati più complessi, maggiormente sensibili alla qualità del segnale e più dispendiosi in termini di tempo necessario alla risoluzione dei problemi.Pur esistendo degli standard per le numerose tecnologie frequentemente utilizzate all'interno dei sistemi digitali a prestazioni elevate, un fondamentale requisito di test è assicurare che tutti gli elementi siano sincronizzati e che funzionino come un'unità integrata. I dispositivi possono contenere più sottosistemi, alcuni dei quali devono comunicare tra loro e con il mondo esterno. Questa è un'estensione del test di integrazione, dove è necessario verificare la temporizzazione delle funzioni integrate e la comunicazione tra i sottosistemi. Tale test richiede degli strumenti che consentono di valutare non solo un singolo elemento, ma l'intero sistema.
Panoramica del test del sistema
Al fine di rimanere al passo con l'incremento di funzionalità e prestazioni, nei loro progetti i tecnici spesso si trovano a lavorare con segnali sia analogici che digitali. Tutto ciò complica l'operazione di test, richiedendo strumenti specializzati per verificare lo stato dei vari punti di test del dispositivo sotto analisi. Ad esempio, il test analogico richiede precisi valori di tensione per effettuare le analisi del livello fisico ,come le misure di ampiezza, di tempo o del diagramma ad occhio. L'oscilloscopio è stato lo strumento principale per questo tipo di operazioni. Il test del sistema digitale utilizza solo i valori del livello logico e può utilizzare soltanto le informazioni temporali. Correlando nel tempo segnali digitali multipli, è possibile eseguire l'analisi a livello di bus o di protocollo. Il test e il debug del sistema digitale possono richiedere di triggerarsi su cicli di bus specifici, quali read o write della memoria. Gli analizzatori logici con ampie capacità di analisi dei bus vengono normalmente utilizzati per il test dei sistemi digitali. In molti casi, quando i tecnici hardware e software collaborano per risolvere la causa di un problema specifico, devono analizzare le informazioni su un bus, sia a livello di rappresentazione elettrica sia ad un più alto livello di astrazione, come la visione decodificata di un protocollo di bus seriale. Molti progetti dispongono di un numero elevato di componenti hardware per l'esecuzione di operazioni specifiche, che possono essere collocati su varie parti della scheda circuitale. Per verificare l'interazione tra i componenti, i tecnici devono avere una visione a livello di sistema del dispositivo sottoposto a test. La sfida è assicurare la sincronizzazione delle operazioni dei componenti, in altre parole, l'apparecchiatura di test deve essere in grado di fornire informazioni accurate sulle prestazioni temporali, oltre alla visualizzazione e all'analisi dei dati ai livelli superiori di astrazione e analisi. L'oscilloscopio a segnali misti fornisce una caratterizzazione del segnale analogico con analisi temporale e di evento del bus digitale, rendendolo lo strumento ideale per il debug del sistema. La progettazione e convalida mista analogico-digitale traggono vantaggio dalle tre funzioni principali dell’Mso: correlazione temporale, visibilità dello stato e qualifica dei dati.
Correlazione analogica e digitale
Le informazioni correlate temporalmente del segnale analogico e digitale possono portare all'esecuzione di verifiche e debug più efficaci. Nei sistemi per il controllo a segnali misti, il comportamento del loop di controllo basato su software può essere correlato allo stimolo analogico e ai segnali di risposta. Nel debug del sistema, gli stati digitali errati (ad esempio carattere non valido) possono essere più facilmente correlati agli effetti di segnale a basso livello (ad esempio jitter dipendente dai dati) del livello fisico. La comprensione del contesto in cui si è verificato un evento può essere vitale durante il debug dei sistemi digitali. Ad esempio, a quale posizione di memoria si accedeva? Da dove proveniva questo pacchetto di informazioni? Quale era lo stato dell’Asic quando si è verificato l’errore del bus? Potrebbero essere necessari i dettagli di livello inferiore o del livello fisico per l'identificazione dell'origine del problema, ma spesso il modo più efficiente di individuare i problemi è comprendere lo stato del sistema a livello più ampio. La capacità di acquisire diverse visualizzazioni del segnale mentre attraversa un sistema può portare rapidamente a intuizioni fondamentali. Spesso è necessario analizzare tipi di cicli specifici, come l'integrità del segnale durante i cicli di read o il jitter temporale nel ciclo di write per un banco di memoria specifico. Gli schemi di segnale avanzati, come quelli presenti nelle Ddr, possono complicare il debug. Quando l’informazione del ciclo viene distribuita lungo numerosi segnali digitali, è necessario un trigger sofisticato per acquisirla in tempo reale. Pertanto, il debug efficace può includere il rilevamento degli errori di segnale solo durante specifici cicli di bus. La qualifica del pattern digitale può essere applicata a tipi di trigger di errore logico per il rilevamento in tempo reale degli errori di segnale, come un'anomalia durante un read.
Accesso al segnale
Il collegamento di una sonda a un dispositivo rappresenta un'altra sfida. Le dimensioni fisiche ridotte dei dispositivi, il vasto numero di punti da sondare sulla scheda e il fatto che qualsiasi sonda aggiunga carico capacitivo che altera le caratteristiche operative del dispositivo, sono tutti fattori che aumentano la difficoltà di effettuare il sondaggio. Le soluzioni di sondaggio devono essere progettate per ridurre al minimo il carico capacitivo, per rendere più facile al tecnico il collegamento al dispositivo e anche per una rapida individuazione di quale sonda (o cavo della sonda) è correlata a una traccia sullo schermo dello strumento di verifica. Le sonde logiche differenziali, come la Tektronix P6780, possono connettersi a piccoli vias e componenti tramite accessori progettati per connessioni saldate.
Mux analogico
Gli oscilloscopi della serie Tektronix MSO70000 hanno introdotto una funzione di Mux analogico, detta iCapture. Questa funzione consente ai tecnici di visualizzare un segnale connesso a uno qualsiasi dei 16 canali digitali in modalità sia analogica che digitale simultaneamente. Ci sono due vantaggi fondamentali della funzionalità iCapture. Il primo è che l’utilizzo di due sonde per la visualizzazione dei segnali nel dominio digitale e analogico non è necessario. Ciò consente di assicurare un'ottima fedeltà del segnale del dispositivo sottoposto a test, riducendo il carico capacitivo introdotto dall'apparecchiatura di prova. Il secondo vantaggio è l’aumento di risoluzione temporale e di precisione in uno qualsiasi dei 16 canali digitali. L'utente può attivare il segnale analogico attraverso l'interfaccia utente standard dell'oscilloscopio.
Dispositivi misti analogici-digitali
È difficile eseguire il debug dei problemi di progetti a segnali misti, che spesso richiedono tecniche di misura avanzate su domini multipli. Gli oscilloscopi a segnale misto offrono entrambe le capacità di analizzare sia segnali analogici sia digitali per esaminare l'interazione tra hardware e software in un sistema. L'esempio seguente illustra la modalità di utilizzo di un MSO70000 per eseguire il debug di un progetto misto analogico e digitale con bus seriale ad alta velocità.
Progettazioni seriali ad alta velocità
Le architetture di bus seriali ad alta velocità, compreso Pci-Express, Hdmi e Sata, forniscono un flusso dati significativo con vantaggi aggiuntivi, tra cui un numero di pin inferiore e uno spazio minore per il layout della scheda. Ciò che hanno in comune sono fronti con velocità elevate e impulsi di dati stretti. Mentre flussi di dati a più gigabit al secondo diventano sempre più comuni nei sistemi digitali, l'integrità del segnale, ovvero la qualità del segnale necessaria per il corretto funzionamento di un circuito, sta diventando l’obiettivo primario. Un singolo bit di dati difettoso nel flusso di dati può influire notevolmente sull’esito di un’istruzione o di una transazione. I sistemi video a prestazioni elevate possono incorporare un'ampia varietà di tecnologie quali ricevitori RF, processori video, memoria e decoder con interfacce seriali ad alta velocità. Un decoder tipico implementa un'interfaccia Hdmi che opera a 3,4 Gb/s lungo ciascuna delle tre linee di dati. La Figura illustra l'architettura del link Hdmi, comprensiva di linee di clock e di dati ad alta velocità, oltre al Ddc (Display Data Channel), che utilizza il segnale I2C in modalità standard (10 MHz). La linea Ddc viene utilizzata per lo scambio di informazioni tra il source (trasmettitore) e il sink (ricevitore).
Questo progetto ha richiesto l'esecuzione del debug, poiché l'uscita per il monitor si spegneva a intermittenza. Inizialmente è stato controllato il funzionamento del livello fisico e ciascuna linea ha passato le misure di diagramma ad occhio e di jitter. Dopo aver misurato le linee di clock e dati ad alta velocità, le linee di controllo I2C sono state monitorate alla ricerca di codici di errore o dati non validi. Nel funzionamento normale, il Ddc utilizza gli indirizzi 0xA0 e 0xA1. Tuttavia, l’MSO70000 ha acquisito e decodificato il traffico I2C a un indirizzo errato che è stato a volte dichiarato durante l'accensione. Sulla base della visualizzazione del segnale analogico, si è potuto ipotizzare un crosstalk o altri effetti di accoppiamento del rumore che hanno corrotto il traffico I2C. Al fine di individuare l'origine dell'anomalia (glitch), sono state analizzate le linee adiacenti e sono state valutate le velocità dei fronti di ciascuna linea ad alta velocità. Una graficatura (trend plot) delle misure dei tempi di salita dei fronti che si verificano in prossimità dell'anomalia ha fornito alcune informazioni sulla fonte dell'anomalia del segnale. Il tempo di salita minimo misurato di 53 ps è risultato essere assai più veloce rispetto alle tipiche velocità dei fronti da 90 a 100 ps dei sistemi Hdmi. Il progetto è stato quindi modificato per rallentare la velocità del fronte e anche le linee schermate di clock e dei dati sono state migliorate.