MechGL 2023 - Versuch 01 - CAN-Bus
Inhalt: Interpretation einer CAN-Botschaft
HTW-Dresden (FH) Fakultät Maschinenbau Professur Kraftfahrzeugmechatronik Vorlesung Fahrzeugmechatronik (FzMech)
Contents
Einleitung
Der für das Praktikum eingesetzte Versuchsstand stellt ein Teilsystem der Steuergerätevernetzung des Audi A6 (Baujahr 2005) dar. Die damit demonstrierbaren Funktionen sind die Licht- und Scheibenwischersteuerung. Dabei ist neben der manuellen Zuschaltung von Licht und Scheibenwischer auch eine automatische Steuerung über einen Regen/Lichtsensor möglich.
Abbildung 1: Steuergerätevernetzung im Audi A6 (links-gesamt, rechts- Teilsystem des Versuchs - Quelle: VW Schulungssoftware)
Die originalen Steuergeräte sind auf einer Trägertafel montiert (siehe Abbildung 2). Anschlüsse für CAN- und LIN-Bus sind auf der Vorderseite der Tafel herausgeführt. Zusätzlich besteht die Möglichkeit, die Leitungen zwischen den einzelnen Steuergeräten zu unterbrechen. Um die Demonstrationsmöglichkeiten des Versuchstandes zu erweitern, wurde eine Nachbildung der Kontrollleuchten des Kombiinstumentes eingebaut. Hier erfolgt in Abhängigkeit der Lichtsteuerung die Anzeige der relevanten Informationen wie Blinkerkontrolle und Fernlicht.
Abbildung 2: Trainingstafel Audi A6
Analyse von CAN-Botschaften
In diesem Versuch sollen die grundlegenden Übertragungsmöglichkeiten des CAN-Bus analysiert und ausgewertet werden. Dazu werden der Versuchsstand, ein Digitaloszilloskop und ein PC verwendet. Der Versuchsaufbau ist in der folgenden Grafik dargestellt.
Abbildung 3: Versuchsaufbau Oszilloskop-Messung
Mit dem Digitaloszilloskop (PicoScope 2204A) ist eine Messung der Signalpegel auf dem CAN-Bus möglich. Hierzu ist bei dem hier verbauten Low-Speed CAN eine Leitung an den Eingangskanal (Rot) des Oszilloskops anzuschließen (bevorzugt Kanal A), der Referenzpegel (Schwarz) ist in diesem Fall die Masse. Stellen sie dann das Oszilloskop so ein, dass eine Messung der Botschaft möglich ist. Hierzu ist neben einem sinnvollen Spannung- und Zeitfenster auch der Trigger für das Signal festzulegen.
Der Aufbau der Signale (Spannungspegel) des Low-Speed-CAN ist in folgender Abbildung dargestellt:
Abbildung 4: Aufbau Low-Speed-Komfort-CAN (CAN-Low und CAN-High Signalpegel - Quelle: VW)
Beachten Sie bitte, das bei entgegengesetzter Polung auch eine entgegengesetzte Spannung gemessen wird. Darauf ist der Trigger anzupassen. Das übertragene Bitmuster ist als Spannungspegel auf dem Oszilloskopbild zu erkennen. Die Übertragungsrate auf dem CAN-Bus beträgt 100 kBit/s. Daraus ist die Übertragungsdauer für ein Bit berechenbar.
Durchführung:
- Schließen Sie die Messtechnik laut Plan an. Messen sie den Signalpegel (CAN-Kanal gegen Masse) mit einem Oszilloskop (Programm: PicoScope 7)!
- Speichern Sie das Oszilloskop-Bild und markieren Sie den Beginn und das Ende der ID und des Datenbereiches. Beachten sie dabei mögliche Stuff-Bits! Ermitteln sie die dezimalen Werte der ID und der ersten beiden Datenbytes!
- Lassen Sie sich das korrekte Ergebnis vom Versuchsbetreuer bestätigen!
Ermittlung der CAN-Botschaften der Lenkradelektronik (J527)
In diesem Versuchsteil sollen Sie sich die vorhandenen Botschaften im Netzwerk ansehen und Signale entdecken. Als Hilfsmittel soll dafür Matlab in Verbindung mit einer CANcase 2 der Firma Vector genutzt werden. Durch die Vehicle Network Toolbox ist es möglich CAN-Netzwerke zu analysieren. Es lassen sich die vorhandenen Botschaften anzeigen und man kann die Veränderung der übermittelten Daten durch beispielsweise das Schalten des Blinkerhebels in Richtung "Blinker Links" beobachten. Ferner kann man selbst Botschaften auf den CAN-Bus senden und das System dementsprechend "manipulieren".
Abbildung 5: Versuchsaufbau für die CANExplorer Messung
Durchführung:
- Öffnen Sie Matlab und navigieren Sie zum Reiter "Apps". Suchen Sie darin den CAN-Explorer und öffnen Sie ihn. (Alternativ: Tippen Sie im Command Window folgenden Befehl (ohne Ausführungszeichen) ein: "canExplorer")
- Wählen Sie die entsprechende verbundene Hardware (CANcase 2) und entscheiden Sie sich entsprechend des Aufbaus am Prüfstand für den richtigen Channel.
- Überprüfen Sie vor Start der Messung, ob die Bus-Geschwindigkeit richtig eingestellt ist. Dafür kontrollieren Sie die Einstellungen unter "Device Channel" (siehe folgende Abbildung 5) und ändern bei Bedarf den Wert auf die Übertragungsgeschwindigkeit dieses Low-Speed-CAN-Bus.
Abbildung 6: Menüfenster zum Einstellen der Bus-Geschwindigkeit
- Starten Sie die Messung mit "Start".
- Untersuchen Sie die Blinker- und Fernlichtsteuerung. Notieren Sie sich die vollständige Botschaft und geben Sie an welche Signale sich verändern und in welchen Bestandteilen der Nachricht die Veränderungen auftreten. (siehe folgende Abbildung)
Abbildung 7: Benutzeroberfläche CANExplorer
Hinweis: Zum Zusammenfassen gleicher Signale kann der Button "Unique Messages" verwendet werden.
Erstellen einer Datenbank und Simulieren eines aktiven Eingriffs in den CAN-Bus
Um die Weiterarbeit mit den gewonnenen Erkenntnissen zu erleichtern, erstellen Sie eine Datenbank aus den vorher ermittelten Signale. Die Firma Vector Informatik hat dafür ein eigenes Datenformat namens DBC entwickelt. Damit lassen sich Nachrichten (Messages) und Signale (Signals) definieren und verknüpfen. Anschließend sollen Sie mit der selbst erstellten Datenbank einen aktiven Eingriff in den CAN-Bus realisieren.
Erstellen der Datenbank:
- Öffnen Sie dafür den Vector CANdb++ Editor (klicken Sie auf das folgende Symbol in der Taskleiste oder suchen Sie nach: "CANdb")
- Erstellen Sie eine neue Datenbank. (Datei -> Datenbasis erstellen)
- Nutzen Sie die Vorlage "CANTemplate.dbc"
- Erstellen Sie eine Botschaft mit dem Namen Lenkstockschalter. (Rechtsklick auf Botschaft --> "Neu...")
- Erstellen Sie vier Signale (Blinker_links, Blinker _rechts, Lichthupe und Fernlicht).
- Fügen Sie die vier Signale der Message Lenkstockschalter hinzu. (beachten Sie die exakte Position der Signale in der Botschaft)
- Speichern Sie die Datenbank.
Realisierung eines aktiven Eingriffs:
- Unterbrechen Sie die CAN-High und CAN-Low Leitung zwischen Bordnetzsteuergerät (J519) und Lenkstockschalter (J527). Dadurch ist vorerst keine weitere Ansteuerung der Blinker, Scheibenwischer und des Fernlichts durch den Lenkstockschalter mehr möglich.
- Schließen Sie die CANcase 2 an das Bordnetzsteuergerät (J519) an.
- Öffnen Sie Matlab-Simulink (Reiter "Home" -> Simulink)
- Öffnen Sie das Modell "Lenkstockschalter" (siehe folgende Abbildung 6)
Abbildung 8: Simulink-Modell für den aktiven Eingriff in den CAN-Bus
- Laden Sie Ihre erstelle CAN-Datenbank in das Modell. Dazu klicken Sie doppelt auf den Block "CAN-Datenbank". Wählen Sie mit Hilfe des "Browse"-Buttons Ihre Datenbank Datei aus und laden Sie in das Simulink-Modell. (siehe Abbildung 8)
Abbildung 9: Einstellungsfenster des Simulink-Blocks "CAN-Datenbank"
- Starten Sie das Simulink-Modell mit Hilfe der Play-Taste. (das Compilieren dauert einen Augenblick)
- Realisieren Sie einen aktiven Eingriff indem Sie bei laufender Simulation die verschiedenen Schalter mittels Doppelklick aktiveren.
- Versuchen Sie das Signal bei Betätigung des Warnblinkschalters (hier nicht verbaut) nachzubilden. Welches Signal muss folglich auf dem Bus gesendet werden, damit die Warnblinkanlage des Fahrzeugs aktiviert wird ?