Wenn Sie an der Entwicklung oder Fehlersuche eines seriellen Busprotokolls in einem System, wie USB, arbeiten, haben Sie wahrscheinlich viele Waffen in Ihrem Arsenal. Eine gängige erste Wahl ist ein Protokollanalysator. Dieses Tool liest die Informationen der Protokollebene auf dem Bus aus, den es analysieren soll. Ein Beispiel dafür ist der Beagle I2C/SPI-Sniffer von Total Phase. Es zeigt an, was kommuniziert wird, und hilft dabei, fehlerhaft übertragene Bits oder Frames zu identifizieren. Dieses Tool sagt Ihnen jedoch nicht, wie oder warum diese Fehler auftreten, und zeigt Ihnen auch nicht das Bit-Timing.
Ein nächster Schritt könnte ein Logikanalysator mit Dekodierfunktionen sein. Je nach Kanaldichte und erforderlichen Geschwindigkeiten gibt es eine Vielzahl von Optionen in unterschiedlichen Preisklassen. Damit können Sie die Daten, die in der Protokollschicht übertragen werden, und die Bit-Timing-Diagramme mit High/Low-Ansichten anzeigen.
Das ultimative Werkzeug ist das Oszilloskop, das den besten Überblick über Probleme der physikalischen Schicht bietet, die Ihren Bus plagen könnten. Diese Probleme der physikalischen Schicht - wie Rauschen, Jitter, Glitches oder instabile Flanken - können mit einem Protokoll- oder Logikanalysator nicht angezeigt werden.
Es gibt zwei Möglichkeiten, wie ein Oszilloskop den Busverkehr dekodieren kann. Die erste ist die Verwendung einer Software-Routine. Es wird eine Erfassung durchgeführt und vor der nächsten Erfassung analysiert. Die zweite Möglichkeit ist die Verwendung eines ASIC oder FPGA. Dies ist viel schneller und kann in Echtzeit durchgeführt werden. Beide Methoden haben das gleiche Ziel: die rechtzeitige Erkennung von hohen und niedrigen Pegeln und die Erstellung einer Folge von 1en und 0en bei einer bestimmten Bitrate. Sobald ein Bitstrom durch das Oszilloskop übersetzt wurde (z. B. 10001001010110010), muss das betreffende Protokoll identifiziert und definiert werden. Jedes Protokoll hat eine Syntax, in die die dekodierten Bits eingegeben werden, um sie in für den Benutzer lesbare Informationen zu übersetzen. Die meisten Protokolle verfügen über Optionen, mit denen die Art der Datenübertragung geändert werden kann - dies kann von der Bitrate über die Adressgrösse und die Grösse der Nutzlast bis hin zur Bitreihenfolge reichen. All dies muss dem Oszilloskop zur ordnungsgemässen Umwandlung zugeführt werden. Sobald dies geschehen ist, kann das Oszilloskop die Informationen vom Bus in für den Benutzer lesbare Informationen übersetzen.
Lernen Sie, wie man ein Oszilloskop mit serieller Dekodierung und Triggerung verwendet!