Echtzeit-CAN-Gateway-Kommunikation
Zuverlässige Kommunikation zwischen galvanisch getrennten Embedded-Controllern
1) Projektüberblick
Das Projekt umfasste die Entwicklung zuverlässiger Echtzeit-Kommunikationssoftware für eine eingebettete Steuerungseinheit, die aus mehreren Hardware-Baugruppen bestand und über CAN kommunizierte.
Eine dedizierte Kommunikationsbaugruppe bildete die Schnittstelle zwischen dem externen Fahrzeug-CAN-Netzwerk und dem intern verteilten Steuerungssystem. Ihre Aufgabe bestand darin, externe CAN-Nachrichten zu empfangen, zu validieren, über Filtermechanismen auszuwerten und relevante Informationen an die weiteren Controller-Baugruppen zu verteilen.
Die Kommunikationsschicht war ein zentraler Bestandteil der Gesamtfirmware und musste unter Echtzeitbedingungen ein deterministisches Verhalten sicherstellen.
2) Technische Herausforderung
Das eingebettete System bestand aus mehreren galvanisch getrennten Controller-Baugruppen. Da die Prozessoren weder über gemeinsamen Speicher noch über direkte Hardware-Signale miteinander kommunizieren konnten, musste der gesamte Echtzeit-Datenaustausch ausschließlich über CAN-Nachrichten erfolgen.
Die Software musste daher folgende Anforderungen erfüllen:
- deterministische Interrupt-Verarbeitung,
- zuverlässige Nachrichtenübertragung zwischen externer und interner CAN-Kommunikation,
- Filterung und Weiterleitung relevanter CAN-Nachrichten,
- Echtzeit-Synchronisation zwischen mehreren Hardware-Baugruppen,
- robustes Verhalten bei hoher CAN-Bus-Last,
- nahtlose Integration in die bestehende Serienfirmware.
3) Kommunikationsarchitektur
Der grundlegende Kommunikationsfluss lässt sich wie folgt beschreiben:
Externes CAN-Netzwerk → Kommunikationsbaugruppe → Internes CAN-Netzwerk → Verteilte Controller-Baugruppen
Die Kommunikationsbaugruppe verarbeitete externe CAN-Nachrichten, wendete die erforderliche Filterlogik an und broadcastete die relevanten Informationen an die internen Baugruppen. Da CAN der einzige Kommunikationsweg zwischen den galvanisch getrennten Controllern war, waren Timing-Verhalten, Interrupt-Latenz und Nachrichtenintegrität besonders kritisch.
4) Meine Aufgaben
- Entwicklung der eingebetteten CAN-Kommunikationsschicht,
- Implementierung interruptgesteuerter Firmware-Routinen,
- register-nahe Programmierung von Kommunikationsfunktionen,
- Implementierung von Mechanismen zur Nachrichtenfilterung,
- Pufferverwaltung und Synchronisation,
- Integration in die bestehende Hauptfirmware,
- Optimierung des Kommunikationsverhaltens unter Echtzeitbedingungen,
- Systemverifikation und Validierung,
- technische Dokumentation in Deutsch und Englisch.
5) Echtzeit-Firmware-Implementierung
Die Implementierung erfolgte hardwarenah und erforderte den gezielten Umgang mit Mikrocontroller-Registern, Interrupt-Routinen und speicherbezogenen Kommunikationsstrukturen. Besondere Aufmerksamkeit galt der Interrupt-Latenz, der deterministischen Ausführung und der sicheren Verarbeitung von Nachrichten unter Burst-Traffic-Bedingungen.
Die entwickelte Kommunikationslogik wurde in die vorhandene Serienfirmware integriert und wurde damit Teil der operativen Embedded-Software der Steuerungseinheit.
6) Automatisierte Verifikation mit CANoe und CAPL
Zuverlässige Kommunikation darf nicht nur angenommen werden — sie muss nachweisbar sein. Zur Verifikation der Implementierung unter Worst-Case-Bedingungen entwickelte ich eine wiederverwendbare automatisierte Testumgebung mit Vector CANoe und CAPL.
Das CAPL-Tool war darauf ausgelegt:
- konfigurierbare Burst-Kommunikation zu erzeugen,
- hohe CAN-Bus-Last zu simulieren,
- ein- und ausgehende Nachrichten zu überwachen,
- gesendete und empfangene CAN-Nachrichten zu zählen,
- verlorene oder verzögerte Nachrichten zu erkennen,
- Kommunikationszähler und Statistiken grafisch in Echtzeit darzustellen.
Statt sich auf manuelle Beobachtung zu verlassen, lieferte die Validierungsumgebung einen objektiven Nachweis, dass die Kommunikationssoftware auch unter hoher Kommunikationslast korrekt arbeitete.
7) Technische Dokumentation und Übergabe
Zum Projektabschluss erstellte ich eine umfassende technische Dokumentation in Deutsch und Englisch. Diese beschrieb das Firmware-Konzept, das Kommunikationsverhalten sowie die Bedienung des CAPL-basierten Validierungswerkzeugs.
Die Dokumentation umfasste unter anderem:
- Kommunikationskonzept und CAN-Nachrichtenfluss,
- Integration in die Hauptfirmware,
- Konfiguration der CAPL-Testumgebung,
- Anpassung der Burst-Nachrichtenparameter,
- Interpretation der grafischen Zähler und Kommunikationsstatistiken,
- Bedienhinweise für die automatisierte Verifikation.
8) Ergebnis
- Zuverlässige Echtzeit-CAN-Kommunikation zwischen galvanisch getrennten Embedded-Controllern
- Deterministisches interruptbasiertes Firmware-Verhalten
- Robuste Verarbeitung und Filterung externer CAN-Nachrichten
- Erfolgreiche Integration in die Serienfirmware
- Konfigurierbare automatisierte Burst-Tests mit CANoe/CAPL
- Grafische Verifikation ein- und ausgehender Kommunikationszähler
- Objektiver Nachweis der Kommunikationsintegrität vor der finalen Übergabe
- Vollständige technische Dokumentation in Deutsch und Englisch
9) Technologien
C · CAN · CAPL · Vector CANoe · Embedded Firmware · Interrupts · Mikrocontroller-Register · Echtzeitsysteme · Nachrichtenfilterung · Integration Testing · Automotive Embedded Systems
Dieses Projekt verband hardwarenahe Embedded-Firmware-Entwicklung mit Echtzeit-Kommunikationsdesign, automatisierter Verifikation und strukturierter technischer Übergabe.