Analizzatore di bus - Bus analyzer

Image
Un tipico analizzatore di bus: questo ha un pod adattatore per consentirgli di interfacciarsi con i dispositivi Serial ATA .

Un analizzatore di bus è un tipo di strumento di analisi del protocollo, utilizzato per acquisire e analizzare i dati di comunicazione attraverso un bus di interfaccia specifico, solitamente incorporato in un sistema hardware. La funzionalità di analizzatore di bus aiuta gli ingegneri di progettazione, test e convalida a controllare, testare, eseguire il debug e convalidare i loro progetti durante i cicli di progettazione di un prodotto basato su hardware. Aiuta anche nelle fasi successive del ciclo di vita di un prodotto, nell'esame dell'interoperabilità della comunicazione tra i sistemi e tra i componenti e nel chiarire i problemi di supporto hardware.

Un analizzatore di bus è progettato per l'uso con architetture di bus parallele o seriali specifiche. Sebbene il termine analizzatore di bus implichi una comunicazione fisica e un'interfaccia che viene analizzata, a volte viene utilizzato in modo intercambiabile con il termine analizzatore di protocollo o analizzatore di pacchetti e può essere utilizzato anche per strumenti di analisi per interfacce wireless come LAN wireless (come Wi-Fi) , PAN (come Bluetooth, Wireless USB) e altri, sebbene queste tecnologie non abbiano un bus "cablato".

L'analizzatore di bus monitora e acquisisce i dati di comunicazione del bus, li decodifica e li analizza e mostra all'utente i dati e i rapporti di analisi. È essenzialmente un analizzatore logico con qualche conoscenza aggiuntiva delle caratteristiche del traffico bus sottostante. Una delle principali differenze tra un analizzatore di bus e un analizzatore di stati logici è in particolare la sua capacità di filtrare ed estrarre solo il traffico rilevante che si verifica sul bus analizzato. Alcuni analizzatori logici avanzati presentano opzioni di qualificazione della memorizzazione dei dati che consentono anche di filtrare il traffico bus, abilitando funzionalità simili a analizzatori di bus.

Alcuni fattori chiave di differenziazione tra bus e analizzatori logici sono:

1. Costo: gli analizzatori logici di solito hanno prezzi più alti rispetto agli analizzatori di bus. Il contrario di questo fatto è che un analizzatore logico può essere utilizzato con una varietà di architetture di bus, mentre un analizzatore di bus funziona solo con un'architettura.
2. Funzionalità mirate e preformattazione dei dati: un analizzatore di bus può essere progettato per fornire un contesto molto specifico per i dati in arrivo dal bus. Gli analizzatori per bus seriali come USB, ad esempio, prendono i dati seriali che arrivano come un flusso seriale di 1 e 0 binari e li visualizzano come pacchetti logici differenziati per chirp, intestazioni, payload ecc ...
3. Facilità d'uso: mentre un analizzatore logico generico può supportare più bus e interfacce, un analizzatore di bus è progettato per una specifica interfaccia fisica e di solito consente all'utente di collegare rapidamente l'hardware di rilevamento al bus che viene testato, risparmiando tempo e fatica.

Dal punto di vista di un utente, un punto di vista (notevolmente) semplificato potrebbe essere che gli sviluppatori che desiderano le funzionalità più complete e mirate per una singola architettura di bus possano essere meglio servite con un analizzatore di bus, mentre gli utenti che lavorano con diversi protocolli in parallelo potrebbero essere migliori servito con un analizzatore logico che è meno costoso di molti analizzatori di bus diversi e consente loro di apprendere una singola interfaccia utente rispetto a diverse.

Gli analizzatori sono ora disponibili praticamente per tutti gli standard di computer e bus embedded esistenti e fattori di forma come PCI Express , DDR, USB , PCI , CompactPCI , PMC , VMEbus , CANbus e LINbus , ecc. Gli analizzatori di bus vengono utilizzati nell'industria dell'avionica per analizzare MIL -STD-1553 , ARINC 429 , AFDX e altri protocolli di bus di dati avionici. Altri analizzatori di bus vengono utilizzati anche nel settore dell'archiviazione di massa per analizzare i protocolli di trasferimento dati più diffusi tra computer e unità. Questi coprono i bus di dati più diffusi come NVMe, SATA , SAS , ATA / PI , SCSI , ecc. Questi dispositivi sono tipicamente collegati in serie tra il computer host e l'unità di destinazione, dove "spiano" il traffico sul bus, lo catturano e lo presentano in un formato leggibile dall'uomo .

Bus e protocollo ginnico

Per molte architetture bus come PCI Express, PCI, SAS, SATA e USB, gli ingegneri utilizzano anche un "Bus Exerciser" o "Protocol Exerciser". Tali utenti possono emulare stack di comunicazione parziali o completi conformi allo standard di comunicazione bus specifico, consentendo così agli ingegneri di controllare chirurgicamente e generare traffico bus per testare, eseguire il debug e convalidare i loro progetti.

Questi dispositivi consentono di generare anche traffico bus non valido e buono in modo che i sistemi di ripristino degli errori del dispositivo possano essere testati. Sono spesso utilizzati anche per verificare la conformità allo standard per garantire l'interoperabilità dei dispositivi poiché possono riprodurre scenari noti in modo ripetibile.

Gli esercizi vengono solitamente utilizzati insieme agli analizzatori, quindi l'ingegnere ottiene la piena visibilità dei dati di comunicazione acquisiti sul bus. Alcuni utenti sono progettati come sistemi autonomi mentre altri sono combinati negli stessi sistemi utilizzati per l'analisi.

Image
Esercitatore bus PCI Express 2.0 che verifica una scheda aggiuntiva

Guarda anche

Riferimenti