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 |
Weiterführende Links:
- Microcontroller Asynchronous Interfaces Overview
- Gebäude Netzwerk Initiative - Übersicht Bussysteme
- Desigo Ethernet, TCP/IP, MS/TP und BACnet - Technische Grundlagen ,2020-04-21, Siemens Building Technologies, 2020
- Automotive Ethernet, GuardKnox, 10.07.2022