Relevante CATC-Produkte

  • USBTracer™/ USBTrainer™ Advanced Verification Systems
  • USBMobile™ Bus- und Protokollanalysesysteme
  • USB Advisor™ Bus- und Protokollanalysator
  • USB Chief™ Bus- und Protokollanalysator

Allgemein

Allgemeines Die USB-Spezifikation umfasst über 15 verschiedene Geräteklassen wie HID (Human Interface Device), Hub, Drucker, Speicher und so weiter. Um die Komplexität noch zu erhöhen, gibt es zahlreiche proprietäre Protokolle, die verschiedene Hersteller in ihren USB-Geräten implementieren: USB zu seriell, USB zu Ethernet, MP3-Player und so weiter. Es gibt auch andere Standardisierungsgremien wie Bluetooth, die USB in ihre Spezifikationen aufnehmen.

USB-Designer benötigen zuverlässige und genaue Bus- und Protokollanalysatoren von Experten, die sie bei ihrer Entwicklungsaufgabe unterstützen und ihnen dabei helfen, Protokollverletzungen und Designfehler zu identifizieren. Die Analysatoren von CATC überwachen, erfassen, filtern und analysieren den Hochgeschwindigkeits-Kommunikationsverkehr genau, sodass unsere Kunden dauerhafte und sporadische Fehler und Mängel in ihrem Produktdesign schnell entdecken und korrigieren können. Das leistungsstarke Experten-Softwaresystem CATC Trace ist ein integraler Bestandteil von CATCs umfangreicher Produktlinie von Protokollanalyseprodukten und unterstützt die Standards Bluetooth, Fibre Channel, IEEE 1394, InfiniBand, PCI Express, Serial ATA und USB. CATC Trace wird als Experte für das Protokolldesign verwendet, der ein tiefes Verständnis der Protokollhierarchie und der Feinheiten einbettet und dieses Wissen dem Benutzer auf sehr intuitive und benutzerfreundliche Weise präsentiert. Der CATC Trace beinhaltet eine detaillierte Dekodierung aller in den Spezifikationen definierten Standard-Geräteklassen. Es unterstützt auch herstellerspezifische und proprietäre Dekodierungen.

CATC ist bekannt für seine einzigartige Art der visuellen Anzeige der Kommunikationsprotokollinformationen. Der CATC Trace präsentiert die aufgezeichneten Daten mit umfangreichem Einsatz von Farben und Grafiken. Pakete werden in separaten Zeilen angezeigt, wobei ihre einzelnen Felder sowohl beschriftet als auch farbcodiert sind. Pakete werden auch nummeriert (sequenziell, wie aufgezeichnet), mit einem Zeitstempel versehen (mit einer geeigneten Hochgeschwindigkeitsauflösung) und hervorgehoben, um andere protokollspezifische Ereignisse anzuzeigen. Die Anzeige ist auf individueller Aufzeichnungsbasis hochgradig anpassbar; Der Benutzer kann das Farbschema, die Unterdrückung des Zyklusstarts und anderer Pakete oder Felder, die in einem bestimmten Kontext möglicherweise uninteressant sind, sowie die Formatierung von Feldinhalten steuern.

Die CATC Trace-Expertensoftware bettet detailliertes Wissen über die Protokollhierarchie sowie die Bedeutung der in den verschiedenen Paketfeldern codierten Informationen ein, wie in den Protokollspezifikationen definiert, einschließlich Geräteklassen- und herstellerspezifischer Decodierung. Die Trace-Bildschirmanzeige ermöglicht es uns Menschen durch eine Kombination von QuickInfos auf dem Bildschirm, Protokollsitzungen wie das Lesen eines illustrierten Buches zu lesen.

Anfänglich bot CATC die zusätzliche Unterstützungsebene für herstellerspezifische Decodierungen durch dateibasierte Decodierungen. Heute werden diese Dekodierungen über die CATC Scripting Language (CSL) angeboten – eine fortschrittlichere, leistungsfähigere und flexiblere Programmiersprache.

Dateibasierte Dekodierung

Bei der dateibasierten Decodierung wird eine bestimmte Textdatei erstellt, um die Decodierung von klassen- oder herstellerspezifischen Daten für jedes für USB definierte Protokoll zu beschreiben. Bei dieser Datei handelt es sich um eine Reihe von Anweisungen, die in USB-spezifischen Begriffen beschreiben, wie Datenblöcke in Felder aufgeteilt werden, wobei jedes Feld fortlaufend decodiert wird. Die zu dekodierenden Daten können sich in einer USB-Geräteanforderung oder in beliebigen formatierten Daten befinden, die sich nicht auf einem Interrupt- oder Bulk-Endpunkt eines USB-Geräts befinden. Die Anforderungsdefinitionsdateien sind textbasierte Dateien, die an ihrer Erweiterung .req erkennbar sind. Eine kundenspezifische Dekodierung von USB-Anfragen ist möglich, indem Dateien bearbeitet oder neue Definitionsdateien erstellt werden. Das bedeutet, dass der Benutzer die Textwerte bei einem gegebenen Datenblock manuell ändern muss, um eine spezifische Dekodierung zu erreichen.

Während die dateibasierte Dekodierung für einige Anwendungen ausreichend ist, ist die Skriptsprache von CATC eine viel leistungsfähigere und umfassendere Lösung.

Beispiel-Trace-Dateien mit dateibasierter Dekodierung:

Abbildung 1:

Trace-Datei einer USB-Maus ohne Endpoint Decoding

Abbildung 2:

Das Zuweisen dieser zusätzlichen Dekodierungsebene zur Spur unter Verwendung von dateibasierter Dekodierung fügt der Anzeige eine weitere Dimension hinzu. Klicken Sie dazu mit der rechten Maustaste auf das Interrupt-Paket und wählen Sie die Option Map-Endpunkt aus

CATC-Skriptsprache

Die CATC-Skriptsprache ist ein fortschrittlicher und effizienter Ansatz, um eine benutzerdefinierte Dekodierung zu erreichen. CSL basiert auf der Syntax der C-Sprache, sodass jeder mit C-Programmierhintergrund keine Probleme haben wird, CSL zu lernen. Die einfache, aber leistungsstarke Struktur von CSL ermöglicht es auch weniger erfahrenen Benutzern, sich leicht das Grundwissen anzueignen, das zum Schreiben benutzerdefinierter Skripte erforderlich ist.

Die CATC Trace-Software aktiviert das benutzerdefinierte Skript immer dann, wenn es aufgefordert wird, Pakete mit herstellerspezifischen Daten oder anderen benutzerdefinierten Informationen zu decodieren. Die Ansichtseinstellungen in den Skripten können bearbeitet werden, um bestimmte Felder anzuzeigen oder auszublenden, wenn die Kopfzeilenzellen erweitert oder reduziert werden. Beispielsweise kann es wünschenswert sein, ein Feld auch dann sichtbar zu haben, wenn seine Kopfzelle zusammengeklappt ist; Andererseits können Zellen auch so definiert werden, dass sie nur beim Aufklappen der Kopfzelle sichtbar werden. Zusätzlich zur Anzeige decodierter benutzerdefinierter Inhalte als Daten in der Ablaufverfolgung erstellen die Decoderskripts ein spezielles Ansichtsfenster, das die decodierten Daten in einem Textformat darstellt. Das Fenster wird geöffnet, indem Sie mit der linken Maustaste auf eine beliebige Zelle in der Kurve klicken, um auf das Popup-Menü „Ansicht“ zuzugreifen, und dann die Option „Felder anzeigen“ auswählen. Das Einfügen der Decoder in CATC Trace ermöglicht es Benutzern, ihre Entwicklungsbemühungen fortzusetzen, ohne die CATC-Anwendung schließen zu müssen.

Beispiel-Trace-Dateien mit CSL:

Abbildung 3:

Standard-HID-Display einer Bluetooth-Tastatur

Abbildung 4:

Ein erweitertes, modifiziertes HID, das CSL verwendet

Eigenschaften von CSL:

  • Leistungsstark – bietet eine High-Level-API und ermöglicht gleichzeitig die Implementierung komplexer Algorithmen
  • Einfach zu erlernen und zu verwenden – hat eine einfache und effektive Syntax
  • Eigenständig – benötigt keine externen Tools zum Ausführen von Skripts
  • Große Auswahl an Werttypen – bietet eine effiziente und einfache Verarbeitung von Daten
  • Wird verwendet, um integrierte skriptbasierte Decoder für Analysatoren zu erstellen
  • Kann verwendet werden, um benutzerdefinierte Decoder zu schreiben
  • Allgemeiner Zweck – ist in CATC-Expertenanalyseprodukte integriert

Erste Schritte:

  • Verwenden Sie die Hub-Decodierungsdateien (.dec) als Ausgangspunkt. Kopieren Sie sie und benennen Sie sie nach Ihrem Produkt. Bearbeiten Sie die Dateien wie folgt -
  • Löschen Sie die Zeilen UsbClassCode= und ersetzen Sie sie durch UsbVendorId= und UsbProductId= . Dadurch werden diese Dateien jetzt herstellerspezifisch
  • Ändern Sie die .dec-Dateien so, dass sie mit Ihren Deskriptoren und Endpunktdaten funktionieren. Stellen Sie sicher, dass Sie einen eindeutigen Wert für UsbEndpId= auswählen (dieser Wert ist KEIN tatsächlicher Endpoint-Wert, sondern nur ein Wert, um eine eindeutige Zuordnung von einem bestimmten Decodierungsskript zu einem Endpoint sicherzustellen).
  • Weitere Einzelheiten finden Sie im Benutzerhandbuch zur Skriptdecodierung. Am Beispiel ist es oft einfacher umzusetzen.
  • Hinweis: Wenn Sie ein Skript ändern, verwendet die Software die neue Datei, ohne dass die Anwendungs- oder Ablaufverfolgungsdateien neu geladen werden müssen.

Weitere Informationen finden Sie unter: