Bussysteme (I²C, SPI, CAN)

Bussysteme in der Elektronik
Ein Bussystem ist eine strukturierte Methode zur Datenübertragung zwischen verschiedenen Komponenten eines elektronischen Systems. Es handelt sich dabei um eine gemeinsame Leitung oder ein Netzwerk von Leitungen, über die mehrere Geräte oder Module miteinander kommunizieren können.
In diesem Beitrag werden wir uns hauptsächlich mit dem CAN – Bus beschäftigen.

Grundprinzip
In einem Bussystem teilen sich mehrere Teilnehmer (z.B. Mikrocontroller, Sensoren, Aktoren) eine gemeinsame Datenleitung. Dadurch können Informationen effizient und koordiniert ausgetauscht werden, ohne dass für jede Verbindung eine eigene Leitung erforderlich ist.

Arten von Bussystemen
1. Parallelbusse
Hier werden mehrere Datenleitungen gleichzeitig verwendet, um mehrere Bits parallel zu übertragen. Ein Beispiel ist der Datenbus in einem Computer, der oft 8, 16 oder 32 Leitungen hat.
2. Serielle Bussysteme
Daten werden bitweise nacheinander über eine oder wenige Leitungen übertragen. Beispiele sind USB, CAN-Bus oder I2C. Serielle Bussysteme sind oft einfacher zu verkabeln und eignen sich gut für längere Strecken.
3. Feldbusse
Speziell in der Automatisierungstechnik werden Feldbusse eingesetzt, um Sensoren und Aktoren in einem industriellen Umfeld zu vernetzen. Beispiele sind Profibus, Modbus oder EtherCAT.

Vorteile von Bussystemen
Reduzierter Verkabelungsaufwand:
Weniger Leitungen sind notwendig, was Kosten und Komplexität senkt.
Flexibilität:
Neue Geräte können leichter hinzugefügt werden.
Effiziente Kommunikation:
Durch Protokolle wird der Datenverkehr geregelt und Kollisionen vermieden.

Anwendungen
Bussysteme finden sich in nahezu allen Bereichen der Elektronik, von Computern über Automobile bis hin zu industriellen Steuerungen. Besonders im Bereich der Digitaltechnik und Schaltungstechnik sind sie unverzichtbar.

Der SPI-Bus

Der SPI-Bus (Serial Peripheral Interface) ist ein synchrones, serielles Bussystem, das zur schnellen Kommunikation zwischen einem Master und einem oder mehreren Slave-Geräten verwendet wird.

Grundprinzip

Master-Slave-Prinzip
Der Master erzeugt den Takt
Kommunikation erfolgt vollduplex (gleichzeitig senden & empfangen)
Der SPI-Bus verwendet mindestens 4 Leitungen:MOSI – Master Out Slave In

  1. MISO – Master In Slave Out

  2. SCK / SCLK – Taktleitung

  3. SS / CS – Slave Select / Chip Select

Jeder Slave hat eine eigene CS-Leitung.

Datenübertragung:

    • Synchron (Takt vom Master)

    • Seriell

    • Sehr hohe Datenrate

      Keine Adressierung – Auswahl über CS-Leitung

      Vorteile:

      ✅ Sehr schnell
      ✅ Einfache Protokollstruktur
      ✅ Vollduplex-Übertragung
      ✅ Geringe Latenz

      Nachteile:

      ❌ Viele Leitungen nötig
      ❌ Schlechte Skalierbarkeit bei vielen Slaves
      ❌ Keine Standard-Fehlerkorrektur

Der CAN-Bus

Ein CAN-Bus (Controller Area Network) ist ein serielles Bussystem, das ursprünglich in den 1980er Jahren von Bosch entwickelt wurde, um die Kommunikation zwischen Steuergeräten in Fahrzeugen zu ermöglichen. Heute wird der CAN-Bus nicht nur in der Automobilindustrie, sondern auch in der Industrieautomation, Medizintechnik und anderen Bereichen eingesetzt.
Grundprinzipien des CAN-Bus
○ Mehrpunkt-Bus: Der CAN-Bus verbindet mehrere Steuergeräte (Nodes) über zwei Leitungen (CAN_H und CAN_L).
○ Differenzielle Signalübertragung: Die Daten werden als differenzielle Signale übertragen, was Störsicherheit und hohe Zuverlässigkeit gewährleistet.
○ Nachrichtenorientiert: Die Kommunikation erfolgt über Nachrichten (Frames), die eine eindeutige Kennung (ID) besitzen.
○ Priorität durch ID: Die ID bestimmt die Priorität einer Nachricht. Bei Kollisionen gewinnt die Nachricht mit der niedrigeren ID (höhere Priorität).
○ Fehlererkennung: Der CAN-Bus verfügt über umfangreiche Mechanismen zur Fehlererkennung und -behandlung (CRC, Bit-Stuffing, Acknowledgement).
Aufbau eines CAN-Frames
Ein typischer CAN-Frame besteht aus folgenden Teilen:
○ Start of Frame (SOF): Markiert den Beginn der Nachricht.
○ Arbitration Field: Enthält die ID der Nachricht und bestimmt die Priorität.
○ Control Field: Gibt die Länge der Nutzdaten an.
○ Data Field: Enthält die Nutzdaten (0 bis 8 Bytes).
○ CRC Field: Prüfsumme zur Fehlererkennung.
○ ACK Field: Bestätigung durch empfangende Nodes.
○ End of Frame (EOF): Markiert das Ende der Nachricht.
Anwendungen
○ Automobilindustrie: Steuergeräte wie Motorsteuerung, ABS, Airbags, Infotainment kommunizieren über CAN.
○ Industrieautomation: Maschinensteuerungen und Sensoren.
○ Medizintechnik: Gerätekommunikation.
○ Gebäudeautomation: Steuerung von Heizung, Lüftung, Klimaanlage.
Vorteile des CAN-Bus
○ Robust gegenüber elektromagnetischen Störungen.
○ Echtzeitfähige Kommunikation.
○ Hohe Zuverlässigkeit durch Fehlererkennung.
○ Flexibel und skalierbar.
Interessante Details für Elektroniker
○ CAN-Transceiver wandeln die Logiksignale des Controllers in differenzielle Signale für den Bus um.
○ Mikrocontroller mit integriertem CAN-Controller erleichtern die Implementierung.
○ CAN-FD (Flexible Data Rate) erweitert den klassischen CAN um höhere Datenraten und längere Datenfelder.