Support für BiDiB

BiDiBus-Logger

Zum Test einer BiDiBus-Implementierung ist beim Arbeitskreis BiDiB ein Datenlogger vorhanden, welcher gezielt Nachrichten an einzelne oder mehrere Knoten mitloggen kann und diese auf einem PC ausgibt. Dabei werden die Adresse, die Nachrichtenlänge, die Sequenznummer und der Nachrichtentyp in Klartext ausgegeben.


00:04:0100#17|?MAGIC

Dieses Beispiel zeigt eine Nachricht vom Knoten 0, die Länge ist 4, es ist an Knoten 01 00 adressiert, es ist die 23. Nachricht (0x17 = 23), und es wird die SYS_MAGIC angefragt.

Der Logger (Analysewerkzeug) wird passiv in den BiDiBus eingesteckt und hört dort die Nachrichten mit, dekodiert sie und gibt sie am PC aus. Filterfunktionen erlauben das gezielte Aufspüren von Kommunikationsproblemen:

Filtern nach Nachrichtenquelle:
Kommando: TT [Node_Addr]
Mit dieser Funktion lassen sich Nachrichten hinsichtlich der lokalen Knotenadresse (=Token) filtern. Der Logger zeigt nur die Nachrichten an, die nach einem aktivierten Token gesendet werden.
Beispiel: TT 0<cr> TT 3<cr> TT 15<cr>
Damit werden nur die Nachrichten angezeigt, welche von Knoten 0 (Interface), 3 und 15 gesendet werden.
Filtern nach Nachrichtenziel:
Kommando: TD [Node_Addr]
Mit dieser Funktion lassen sich Nachrichten des Interfaces hinsichtlich der lokalen Zieladresse filtern. Damit kann man z. B. nur die Nachrichten anzeigen, die von Knoten 0 (Interface) an einen bestimmten Knoten gesendet werden.
Anzeigen der Nachrichten-Sequenznummer:
Kommando: TM [0|1]
Mit dieser Funktion wird festgelegt, ob die jeweilige Sequenznummer mit ausgegeben werden soll. In der Ausgabe wird eine Sequenznummer mit einem vorangestelltem '#'-Zeichen gekennzeichnet.
Anzeigen der Nachrichten-Länge:
Kommando: TLE [0|1]
Mit dieser Funktion wird festgelegt, ob die jeweilige Länge mit ausgegeben werden soll.
Anzeigen des Logon-Prozesses:
Kommando: TLO [0|1]
Hierbei der Logon-Prozess angezeigt. Neben der Dekodierung der Logon-Nachrichten wird für jeden unbeantworteten Logon-Prompt ein '.' ausgegeben. Dekodierte Logon-Nachrichten werden mit FF als Knotenadresse dargestellt.
Anzeigen unbeantworteter Tokens:
Kommando: TUT [0|1]
Tokens, nach denen keine Antwort des Knotens erfolgt, werden angezeigt.
Anzeige in Hex:
Kommando: TH [0|1]
Die Nachricht wird zusätzlich in Hex dargestellt.
Anzeige in Text (verbose):
Kommando: TV [0|1]
Die Nachricht wird dekodiert, wobei mit Rücksicht auf die Ausgabebandbreite Abkürzungen verwendet werden.

Filterfunktionen lassen sich kombinieren, so sorgt z. B. die Aktivierung von TT0 und TT2 zusammen mit TD2 für die (alleinige) Anzeige aller Nachrichten, welche zum/vom Knoten 2 gesendet werden.

Neben dem Logging kann der BiDiBus-Logger auch Triggermarkenzum Triggern eines Oszilloskops erzeugen. Damit kann man auf bestimmte Buszustände oder auch gezielt auf Nachrichten triggern und so Fehler einkreisen.

AusgangTrigger
PORTK.0BiDiBus Logonaufforderung
PORTK.1BiDiBus Tokenbestätigung, PONG
PORTK.2BiDiBus CRC-Fehler (ungültiges Paket am Bus)
PORTK.3BiDiBus Längenfehler (ungültiges Paket am Bus)
PORTK.7BiDiBus Busfehler, ungültiges Byte (mit 9.Bit = high)