Ethernet Debug con l’oscilloscopio digitale

Ethernet è una famiglia di tecnologie frame-based che collegano in rete dei computer per reti locali (LAN), inizialmente sviluppata da Xerox PARC all’inizio degli anni ’70. La prima bozza di standard fu pubblicata nel 1980 dall’IEEE, Insitute of Electrical and Electronics Engineers. L’approvazione di IEEE 802.3 CSMA/CD ci fu nel 1982, mentre quella dello standard internazionale ISO/IEEE 802.3 avvenne nel 1984.

Ethernet: come funziona

Due delle più comuni versioni di Ethernet sono la 10BASE-T e la 100BASE-TX, che si trova sulla maggior parte dei PC. I numeri rappresentano la velocità dei dati in Mb/s. BASE indica che i segnali sono baseband e non è presente modulazione di segnale RF. La T indica la coppia di fili che ci sono nel cavo LAN, utilizzato tra i nodi delle reti.

La popolarità di 10BASE-T e di 100BASE-TX e la diminuzione dei costi di implementazione hardware ha causato il suo incorporamento in un numero sempre maggiore di progetti di sistemi embedded. Ad un livello fisico, i segnali 10BASE-T e 100BASE-TX trasportano l’indirizzo, il controllo, i dati e le informazioni di clock.

I dati sono trasferiti in sequenze di byte di dati chiamati pacchetti. I pacchetti Ethernet possono portare al loro interno altri pacchetti dal protocollo di livello più alto. Per esempio, un pacchetto Ethernet può contenere un pacchetto IP (Internet Protocol), che a sua volta può contenere un pacchetto TCP (Transmission Control Protocol). Questa complessità di segnale rende difficile isolare eventi di interesse quando si analizzano le forme d'onda di 10BASE-T e di 100BASE-TX. Il formato frame dei dati Ethernet è definito dallo standard IEEE 802.3 e contiene sette campi, come mostrato in figura

Preamble è lungo sette byte e consiste in un alternarsi di 1 e di 0 per la sincronizzazione.

Start of frame Delimiter è un singolo byte che alterna 1 e 0, finendo però con due 1.

Destination Address e Source Media Access Control (MAC) sono lunghi sei byte ciascuno, trasmessi in un ordine che dal bit più significativo a quello meno significativo. Ad ogni nodo Ethernet è assegnato un unico indirizzo MAC che viene utilizzato per specificare sia la destinazione che la sorgente di ogni pacchetto dati.

Leght/Type è un campo dal valore di due byte. Se il valore decimale di Lenght/Type è 1500, esso rappresenta il numero di byte di dati in quel campo di dati. Se il valore di Lenght/Type è maggiore di 1536 (0x0600), esso è un valore EtherType che specifica il protocollo che viene inglobato nel carico del frame Ethernet (per esempio, EtherType è configurato a 0x0800 per IPv4).

Data + Pad contiene da 46 a 1500 byte; se un dato è lungo meno di 46 byte, allora il campo del dato deve essere portato ad una lunghezza di 46 byte.

Frame Check Sequence è un controllo di ridondanza ciclica a 32 bit (CRC) e fornisce il controllo degli errori attraverso Destination Address, Source Address, Length/Type e Data + Pad. Infine, dopo che ogni frame è stato inviato, i trasmettitori devono trasmettere un minimo di 12 byte di caratteri idle prima di trasmettere il frame successivo.

Debuggare Ethernet con l'oscilloscopio digitale

Ethernet sta diventando molto popolare nei progetti embedded. Analizzare il traffico Ethernet, sia a livello fisico che a livello di protocollo, può offrire uno sguardo all’interno dell’operazione di altri sub sistemi nel progetto embedded. Tuttavia, un singolo segnale differenziale Ethernet incluse indirizzo, controllo, dati e informazioni di clock, che può rendere difficile isolare eventi di interesse.

Il modulo di applicazione DPO4ENET Ethernet Serial Triggering and Analysis per la serie MSO/DPO trasforma l’oscilloscopio in un potente strumento per il debugging dei sistemi basati su 10BASE-T e 100BASE-TX con trigger, decodifica e ricerca automatici. Con l’installazione del modulo di applicazione DPO4ENET, l’oscilloscopio serie MSO/DPO può innescare il contenuto di un pacchetto Ethernet come Start Frame Delimiter, MAC addresses, MAC lenght/type, MAC client data, IP header, TCP header, End of Packet e Idle (solo 100BASE-TX). Il display di decodifica fornisce una vista combinata e di livello più alto dei segnali individuali che costituiscono 10BASE-T e 100BASE-TX, rendendo facile definire dove i pacchetti iniziano e finiscono, e identificando i componenti dei sub-pacchetti, quali Preamble, SFD, MAC Address, DATA, FSC, ecc.

Ogni pacchetto sul bus viene decodificato, e il valore può essere mostrato in esadecimale, in binario o in ASCII nella raffigurazione della curva del bus. Il serial triggering è molto utile per isolare un evento di interesse, ma una volta ottenuto, bisogna analizzare i dati circostanti.

Per farlo è necessario il modulo di applicazione DPO4ENET, che abilita Wave Inspector alla ricerca automatica attraverso i dati acquisiti per i criteri definiti dall’utente, incluso il contenuto di un pacchetto seriale. Ogni avvenimento è evidenziato da un segno di ricerca. La rapida navigazione tra i segni si compie semplicemente premendo i tasti Previous e Next sul pannello frontale dell’oscilloscopio.

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

Una risposta

  1. Avatar photo Emanuele 18 Aprile 2012

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend