Das Bmbed Netzwerk verbindet verschiedene Boards bzw. Microcontroller mit einem Windows PC zu einem Knotenverbund. Mit Hilfe des Bmbed High-Level-Protocol kann von gleichberechtigt von Knoten zu Knoten (Peer to peer) kommuniziert werden.
Jeder Netzwerkknoten repräsentiert eine physikalische Computereinheit (z.B. PC, Microcontroller, Evaluationsboard, etc.). Der Knoten seinerseits kann zusätzlich noch logische Unterknoten besitzen. Jeder Knoten und Unterknoten besitzt eine eindeutige Adresse, welche im gesamten Netzwerk gültig ist.
Beispiel:
Knoten A sendet eine Meldung an Unterknoten C2 zum ein- und ausschalten einer LED.
Die Protokoll Implementation is verantwortlich, dass die gewünschte Funktion ausgeführt wird. Bmbed gibt Ihnen die Basis. Sie können das Protokoll anpassen, ändern und erweitern.
Receiver
Dies ist die Knotenadresse des Empfängers der Meldung (Wer bekommt die Meldung). Im Bmbed Netzwerk sind einzelne Komponenten fest mit einer dazugehörigen Adresse vordefiniert (z.B. F28069 Knoten 0x0010).
Sender
Dies ist die Knotenadresse des Senders der Meldung (Wer schickt die Meldung). Empfänger- und Sender-Adresse sind vom Typ her identisch.
Command
Diese 16 Bit definieren das Kommando bzw. die Art der Meldung (Für was ist die Meldung). Im Bmbed Netzwerk sind ca. 60 Kommandos für unterschiedliche Aufgaben vordefiniert (z.B. Info-Meldung 0x0004)
Aux
Aux steht für zusätzliche Daten. Diese sind entweder an ein Kommando gebunden oder können zusätzlich frei definiert werden.
Data
Dies ist das eigentliche Datenfeld (Payload) der Meldung. Dies ist immer 48 Byte gross. Wie viele Bytes der Benutzer benötigt hängt von der Meldungsdefinition ab.
Bemerkung
Im High-Level-Protokol gibt es kein Feld für die Meldungslänge. D.h. es werden immer 56 Bytes übertragen. Ob sie gebraucht werden oder nicht. Dies ist zu beachten, wenn eine neue Meldung definiert wird.
Je nach Schnittstelle wird das Protokol im Low-Level Bereich erweitert. Dies bedeutet, dass zu den 56 Bytes zusätzliche Bytes hinzukommen (z.B. 2 Bytes für ein CRC). Diese zusätzlichen Bytes sind jedoch nur innerhalb der entsprechenden Schnittstelle gültig (z.B. innerhalb einer UART Kommunikation) und dienen administrativen Zwecken.