Kommunikation über Busprotokolle

Kommunikation ermöglicht den Austausch von Informationen zwischen zwei Instanzen.
In digitalen Systemen werden dafür Bus Protokolle verwendet.

Bus Protokolle ermöglichen den Datenaustausch nach festen Regeln.
Für die Definition der Regeln ist die Beantwortung folgender Fragen hilfreich:

  • Welche Rollen kann ein Teilnehmer ausfüllen (Client, Server, Primary, Secondary (ehemals Master, Slave))
  • erfolgt die Kommunikation Asynchron oder Synchron
    • Vorteile Synchron: höhere Datenrate möglich
    • Vorteile Asynchron: weniger komplex, kein Delay
  • Wie wird festgelegt welcher Teilnehmer Zugriff auf den Kanal bekommt (Arbiter, Aloha, CSMA/CD)
  • Wie authentifizieren sich die Teilnehmer untereinander
  • Wie erfolgt die Übertragungsfehlererkenung/Überwachung der Integrität einer Nachricht (Prüfsummen, CRC, Paritätsbit, Hash)
  • Wie identifizieren/adressieren sich die Teilnehmer untereinander

Dabei müssen nicht alle Aspekte der Kommunikation in einem einzigen Protokoll geregelt werden. In der Praxis ist es üblich, dass Kommunikation durch die Kombination mehrerer Protokolle erfolgt. In Computer Netzwerken werden z.B. Ethernet/TCP/IP kombiniert.

Abhängig davon welche Aspekte der Kommunikation ein Protokoll regelt kann es in das sog. OSI-Schichtenmodell eingeordnet werden. Das OSI Modell definiert sieben Schichten mit unterschiedlichen Aufgaben abhängig von der jeweiligen Schicht.
L1 definiert wie logische Bits mit einem physischen Signal codiert werden, z.B. einem bestimmten Spannungspegel.
L2 definiert logische Funktionen der Bits als Teil von Datenpaketen und grundlegende Fehlerbehebungsmechanismen. Es werden z.B. Hardware Adressen oder Prüfsummen zu den Nutzdaten hinzugefügt.

Es existieren eine Vielzahl von Busprotokollen, die sich in ihren Eigenschaften unterscheiden und abhängig von der Branche unterschiedliche Verbreitung aufweisen.

Nachfolgende Tabelle fasst wesentliche Eigenschaften dreier verbreiteter Bus Protokolle zusammen: Ethernet, LIN und CAN.

Bus Protokoll Ethernet LIN - Local Interconnect Network CAN - Controller Area Network
Datenrate typisch 1 Gbit/s 20 kbit/s 1 typisch 1 Mbit/s
Rollenverteilung gleichberechtigt Primary/ mehrere Secondaries 1 mehrere Primaries
Topologie Stern Bus Bus
Kanalzugriff Vollduplex möglich, sonst CSMA/CD Polling-Verfahren 1 Arbiter, niedrigste ID gewinnt
max # Teilnehmer 2⁴⁸ = 2,8*10¹⁴ 1 Primary, 16 Secondaries 128
Adressierung 48 bit MAC-Adresse 6 bit 29 bit (CAN 2.0b)
Synchronität Asynchon Synchron (Polling) Asynchron
Fehlerüberwachung CRC (32 bit) Prüfsumme (8 bit) CRC (16 bit)
Empfangsbestätigung nein nein ja
Signal -2 V bis 2 V 0 V bis 12 V 0 V bis 5 V, symmetrisch
Nutzdaten/Frame 1500 Byte 2, 4 oder 8 Byte 1 Byte bis 8 Byte
min. Adernzahl 4x2 1 2
max. Kabellänge 100 m 40 m 40 m
Verwandt mit UART
Anwendungsbereiche Gebäude Fahrzeuge (Fensterheber, Sitzheizung, Scheibenwischer, AC) Fahrzeuge (z.B. Motorsteuerung), Industrie- und Gebäudeautomation