Debug del bus Audio I2S con l’oscilloscopio digitale

I2S, o I al quadrato S, sta per Inter-IC Sound ed è un bus sviluppato dalla Philips a metà anni ’80 per fornire un percorso di comunicazione standardizzato per segnali audio digitali in dispositivi elettronici come le Tv digitali o il lettori CD. Il mercato dei dispositivi elettronici ha continuato ad evolversi negli ultimi venti anni e lo stesso hanno fatto le applicazioni per il bus I2S. Oggi si trova comunemente tra gli altri, nei cellulari, nei lettori Mp3, nei sistemi di gioco e negli equipaggiamenti audio professionali.

I2S: come funziona

Il bus I2S è un bus seriale per le comunicazioni a tre fili master/slave. I tre segnali sono clock (SCK), word select (WS) e data (SD). Di solito, il trasmettitore è il master e il ricevitore è lo slave. Tuttavia, in alcuni casi, il ricevitore può agire come il master generando i segnali SCK e WS. O anche il trasmettitore e il ricevitore possono essere controllati da un altro dispositivo, se richiesto. Questi senari configurativi sono illustrati nella figura

I dati seriali vengono trasmessi in complemento a due con il bit più significativo (MSB) per primo. Un MSB viene trasmesso per primo perché il trasmettitore e il ricevitore possono avere differenti lunghezze di parola. Non è necessario per il trasmettitore conoscere quanti bit può gestire il ricevitore, né il ricevitore necessita di sapere quanti bit vengono trasmessi.

Quando la lunghezza della parola del sistema è maggiore della lunghezza della parola del trasmettitore, la parola viene troncata (i bit di dati meno significativi (LSB)) sono impostati su 0) per la trasmissione di dati. D’altro canto, se il ricevitore riceve meno bit della sua lunghezza di parola, i bit mancanti vengono impostati su 0 internamente. E quindi MSB ha una posizione fissa, mentre la posizione di LSB dipende dalla lunghezza della parola.

Ci sono diverse variazioni del bus I2S che sono comunemente usate, chiamate Left Justified (LJ), Right Justified (RJ) e Time Division Multiplexing (TDM). La differenza principale tra I2S, LJ e RJ si esplica nel momento in cui un dato è posizionato, relativamente al tempo, rispetto al segnale WS. Con I2S, MSB è ritardato di un clock rispetto a WS. Con LJ, i bit di dati vengono allineati con WS. Queste differenze sono illustrate in figura.

TDM è simile a I2S, LJ e RJ, ma permette più di due canali audio. L’esempio mostrato in figura ha otto canali audio, ognuno con 32 bit di dati.

Tutti questi bus audio digitali hanno una struttura di dati molto semplice. La maggior parte dei bus che abbiamo visto in questa nota applicativa hanno campi indirizzo, campi CRC, bit di parità, bit start/stop, e altri indicatori, ma i bus audio digitali hanno semplicemente dei valori di dati per ogni canale.

Debuggare il bus audio I2s con l'oscilloscopio digitale

Il supporto per i bus audio digitali è disponibile sulle serie MSO/DPO e MSO/DPO3000, tramite il modulo applicativo DPOxAUDIO. Utilizzando il tasto Bus del pannello frontale, è possibile definire un bus audio semplicemente inserendo parametri del bus base, come le polarità dei segnali, l’ordine di bit o le soglie. La definizione di TDM richiede anche il numero di bit di dati per canale, i bit di clock per canale, il bit delay e il numero di canali per frame. Una volta settato il bus, si può rapidamente innescare uno specifico contenuto di dati sul bus, decodificare intere acquisizioni e cercare attraverso le acquisizioni per trovare lo specifico dato che si sta cercando. Nell’esempio seguente, si cerca un bus I2S che viene guidato da un ADC (convertitore analogico-digitale). Il canale 1 (in giallo) è il segnale di clock, il canale 2 (in blu) è il segnale WS e il canale 3 (in rosa) è il segnale SD. È stato impostato il trigger per cercare valori di dati al di fuori di un range specifico per vedere se il segnale in campionamento supera i limiti dell’ADC.

Come mostrato in figura, è stato catturato un valore estremo (-128). La potente capacità di triggering audio della serie MSO/DPO include i seguenti tipi:

- Word Select: innesca il limite di WS che avvia il frame nei bus I2S, LJ e RJ

- Frame Sync: innesca il segnale FS che avvia un frame.

- TDM Data: innesca un dato specificato dall’utente in LW, RW o EW nei bus I2S, LJ e RJ.

 

Come con tutti gli altri tipi di bus seriali supportati da MSO/DPO, questi criteri di innesco sono anche disponibili come criteri di ricerca per indagare lunghe acquisizioni.

Gli oscilloscopi digitali Tektronix sono disponibili da Farnell


L'articolo è tratto da Debugging Serial Buses in Embedded System Designs di Gina Bonini Technical Marketing Manager @Tektronix.

Oscilloscopio digitale Tektronix MSO2024

L'oscilloscopio Tektronix (4 canali, display TFT color, 200Mhz di banda e campionamento a 1Gsps) è disponibile subito qui nello store.

 

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend