Support for BiDiB


For testing a BiDiBus implementation, an data logger is available at the BiDiB workgroup. This device can log messages to individual or multiple nodes and transfers it to a PC. The BiDiB logger can display message length, address, sequence number and message type in plaintext.


The above example shows a message from node 0, the length is 4, it is addressed to node 01 00 and the message number is 23 (0x17 = 23) and SYS_MAGIC is requested too.

The logger (analysis tool) will be connected passive into the BiDiBus and is listening to messages, decodes it, and transfers it to the PC. Filter functions allow targeted detection of communication problems:

Filter by message source:
Command: TT [Node_Addr]
This feature allows you to filter messages for the local node address (= token). The logger shows only messages that are sent for an enabled token.
Example: TT 0<cr> TT 3<cr> TT 15<cr>
Only the message which are sent from node 0 (interface), 3 and 15 is displayed.
Filter by message destination:
Command: TD [Node_Addr]
With this function, messages can be filtered in terms of their local destination. This function can show, as example the transmitted messages from node 0 (interface) to an other specific node.
View the message sequence number:
Command: TM [0|1]
This function determines if each sequence number is to be displayed. The sequence number output is marked with a leading '#' character.
View the message length:
Command: TLE [0|1]
This function determines if the respective length is to be displayed.
View the logon process:
Command: TLO [0|1]
This shows the logon process. Next to the decoding of logon messages, for each unanswered logon prompt a '.' will be output. Decoded logon messages are displayed with FF for the node address.
View unanswered tokenss:
Command: TUT [0|1]
Tokens to which the node does not reply are shown.
View as hex:
Command: TH [0|1]
Each message will completely be displayed in hexadecimal representation.
View as text (verbose):
Command: TV [0|1]
Each message is decoded to plaintext, though out of consideration for output bandwidth abbreviatians will be used.
Trigger mark for node tokens:
Command: TN [node]
Create token triggermark (K6) for given node.

Filter functions can be combined, so for example the activation of TT0 and TT2 together with TD2 will (exclusively) show all messages which are sent to/from node 2.

In addition to the logging the BiDiBus logger is able to generate trigger marks useful for an in depth analysis (like triggering a scope). Trigger marks can be linked to certain bus states or even to dedicated messages. This helps to debug errors.

PORTK.0BiDiBus logon message from the interface
PORTK.1BiDiBus token acknowledge, PONG
PORTK.2BiDiBus CRC error (invalid packet on the bus)
PORTK.3BiDiBus length error (invalid packet on the bus)
PORTK.6BiDiBus token (the node with the selected address is allowed to send)
PORTK.7BiDiBus bus error, void token byte (with 9th bit = high)