Aufnahme und Auswertung von CAN-Signalen

Transcription

Aufnahme und Auswertung von CAN-Signalen
Application Note – 10/16
CAN
Aufnahme und Auswertung von CAN-Signalen
Einleitung
Aufnahme von CAN-Signalen
Allgemeine Hinweise
Aufnahme des vollständigen CAN-Signals mit einem HEADlab
Anlegen eines CAN-Sensors
Verwendung des CAN-Sensors im HEAD Recorder
Zusammenfassung
Dekodierung des CAN-Signals in der ArtemiS SUITE
Hinweise
1
2
2
3
4
5
6
6
9
Einleitung
Die stetige Zunahme elektrischer Komponenten, Motoren, Aggregate sowie elektronischer Systeme in
modernen Fahrzeugen erfordert eine immer umfangreichere Vernetzung. Um die Kabelbäume in
Fahrzeugen zu reduzieren und dadurch Gewicht zu sparen, wurde der CAN-Bus (Controller Area
Network) für die Vernetzung von Steuergeräten in Automobilen entwickelt. Es wird zwischen den beiden
Bus-Typen Highspeed- und Lowspeed-Bus unterschieden.
Der CAN-Bus besteht aus einer Zweidraht-Datenleitung, an die über kurze Stichleitungen alle
Komponenten angeschlossen sind. Auf diese Weise benötigt die Busverdrahtung gegenüber der
konventionellen Anlagenverdrahtung deutlich weniger Kabelverbindungen und Kontakte. Die
Standardisierung der Kommunikation zwischen den Steuereinheiten durch das CAN-Protokoll
ermöglicht sogar eine Funktionsüberwachung, d. h. eine Fehler- und Ausfallerkennung der
Steuereinheiten. Insgesamt wird so eine höhere Zuverlässigkeit erreicht. Beim CAN-Bus handelt es sich
um eine serielle Datenübertragung, die durch die Buspegel CAN_High und CAN_Low dargestellt wird.
Auf der CAN_High-Leitung wird ein zur CAN_Low-Leitung redundant invertiertes Signal übertragen.
Beim Anschluss einer weiteren Steuereinheit, z. B. eines CAN-Moduls an diese Zweidrahtleitung ist
deshalb auf die Polarität zu achten. Diese gegensinnige Potenzialänderung führt zu einer hohen
elektrischen Störsicherheit.
Abbildung 1: schematische Darstellung eines CAN-Busses
│1│
HEAD acoustics
Application Note
CAN
Aufnahme von CAN-Signalen
Allgemeine Hinweise
Mit Produkten von HEAD acoustics können Sie den Datenstrom eines Highspeed-CAN-Busses nach
ISO 11898-2 aufzeichnen. Grundsätzlich stehen zwei Möglichkeiten zur Aufzeichnung der Daten einer
CAN-Busleitung zur Verfügung. Zum einen können Geräte verwendet werden, die aus dem
eingespeisten CAN-Signal die gewünschten Informationen (z. B. die Drehzahl) extrahieren, umwandeln
und ausgeben. Die Signale können dann mit einem Frontend, wie HEADlab oder SQuadriga II,
aufgezeichnet werden. Bei der Verwendung einer Konvertierungsbox, die die extrahierten CANInformationen als TTL-Signale ausgibt, erfolgt die Aufnahme über die Puls-Eingänge des verwendeten
Frontends. Außerdem gibt es Geräte, die die CAN-Information als analoge Größe ausgeben. Diese
werden über die analogen Eingänge aufgezeichnet.
Zum anderen kann das vollständige CAN-Signal aufgezeichnet werden z. B. mit einem HEADlabSystem oder einem SQuadriga II. Mit dem SQuadriga II kann das CAN-Signal im Stand-alone-Modus
oder im Frontend-Modus (zusammen mit dem Data Acquisition Module HEAD Recorder) aufgezeichnet
werden. Für eine Aufnahme mit einem HEADlab-System benötigen Sie ebenfalls den HEAD Recorder.
Aus dem vollständigen CAN-Signal können mit dem SQuadriga II oder mit Hilfe des HEAD Recorders
während der Aufnahme Informationen zur Steuerung (Triggerung) oder zur Kontrolle der Aufnahme
extrahiert und auf Wunsch bereits als separate Kanäle abgespeichert werden. Ebenso kann die
Extraktion der benötigten Informationen nach der Aufnahme erfolgen. Dazu werden aus dem
abgespeicherten, vollständigen CAN-Signal in der ArtemiS SUITE die gewünschten CAN-Informationen
nachträglich extrahiert.
Sowohl die Extraktion im HEAD Recorder während der Aufnahme als auch die nachträgliche Extraktion
in der ArtemiS SUITE erfordern das Data Preparation Module (ASM 24).
Verfügt das verwendete Frontend über keine eigene CAN-Schnittstelle kann zusätzlich ein PCAN-USBInterface der Firma PEAK-System Technik GmbH für die Aufzeichnung des CAN-Signals verwendet
werden1. Das PCAN-USB-Interface wird in Kombination mit dem Frontend über eine zusätzliche USBSchnittstelle mit dem Computer verbunden.
Für den Anschluss der genannten Geräte an die CAN-Busleitung wird ein Kabel benötigt, das auf der
einen Seite einen herstellerspezifischen Stecker besitzt2. Beim Anschluss dieses Kabels muss auf die
Polarität CAN_HIGH und CAN_LOW geachtet werden. Die Abbildungen 2 bis 4 zeigen ein Beispiel für
den Anschluss des herstellerspezifischen Kabels an den CAN-Bus eines PKWs.
Abbildung 2: CAN-Bus Anschlussstelle
1
Die CAN-Aufzeichnung mit einem PCAN-USB-Interface wird für die folgenden Frontends unterstützt: SQuadriga (I), HMS III/IV,
ASIO-Soundkarten (RME-Karten der HSDP-Serie), DATaRec4.
2
Zum Aufzeichnen von CAN-Signalen mit dem SQuadriga II benötigen Sie zusätzlich den CAN-Bus-Adapter CLD VII.1 und zum
Aufzeichnen von CAN-Signalen mit dem labDX benötigen Sie zusätzlich das Adapter-Kabel CMD 0.12.
│2│
HEAD acoustics
Application Note
CAN
Abbildung 3: Abziehen des vorhandenen CAN-Steckers
Abbildung 4: Anschluss des modellabhängigen Spezialkabels in den CAN-Bus
Im Folgenden wird die Aufnahme des CAN-Signals mit einem HEADlab-System (Anschluss an die CANSchnittstelle des labCTRL I.2) beschrieben. Die Verwendung und Konfiguration eines SQuadriga II bzw.
der Anschluss an die CAN-Schnittstelle eines HEADlab-Moduls labDX erfolgt entsprechend.3
Aufnahme des vollständigen CAN-Signals mit einem HEADlab
Verbinden Sie zunächst Ihr HEADlab-System über USB oder Ethernet mit Ihrem Mess-Rechner und
verbinden Sie dann den CAN-Bus mit dem CAN-Eingang Ihres labCTRL I.24.
Danach starten Sie das Data Acquisition Module (HEAD Recorder) und öffnen mit der
Tastenkombination [Strg]+[L] die Kanalliste des Frontends. Entsprechend Ihrer Frontend-Konfiguration
wird hier neben den Line- und den beiden Pulskanälen auch der CAN-Kanal angezeigt.
Durch einen Klick auf die
-Schaltfläche werden alle Spalten in der Kanalliste angezeigt. Unter
anderem erscheint dann die Spalte Baudrate, in der die Bitrate des CAN-Busses eingetragen werden
muss. Außerdem kann die Funktion Listen only (de-) aktiviert werden. Bei der Aufnahme des CANSignals eines Fahrzeugs sollte diese Funktion aktiviert sein, da das Aufnahme-Frontend den CANDatenstrom nur abhören, aber nicht aktiv kommunizieren soll.
Achtung: Wenn Sie die Option Listen Only deaktivieren, müssen Sie sicherstellen, dass die für den
jeweiligen CAN-Bus korrekte Bitrate eingestellt ist, bevor Sie den CAN-Bus und das Frontend verbinden.
Andernfalls kann es passieren, dass die Kommunikation des CAN-Busses komplett lahmgelegt wird und
Steuergeräte ausfallen!
Sobald Sie in der Kanalliste den CAN-Kanal aktiviert haben, erfolgt eine Aufnahme des vollständigen
CAN-Signals. Um zusätzlich während der Aufnahme auf die CAN-Informationen zugreifen zu können
3
Das genaue Vorgehen und die zu beachtenden Sicherheitshinweise finden Sie in dem mit dem jeweiligen Produkt ausgelieferten
Handbuch.
4
Beachten Sie dabei die im Handbuch beschriebenen Sicherheitshinweise für eine sichere Verbindung.
│3│
HEAD acoustics
Application Note
CAN
(z. B. zur Triggerung der Aufnahme), muss zusätzlich ein CAN-Sensor angelegt und in die Kanalliste
eingetragen werden.
Anlegen eines CAN-Sensors
Ein CAN-Sensor wird im HEAD Sensor Explorer 3 erstellt5. Nach dem Start der Software öffnen Sie
dazu eine neue (Tastenkombination [Strg]+[N]) oder eine bereits existierende Sensorliste, in der Sie
den CAN-Sensor ergänzen möchten (Tastenkombination [Strg]+[O]). Danach legen Sie mit einem Klick
der rechten Maustaste auf die Sensorliste einen neuen CAN-Sensor an (Abbildung 5).
Sobald dieser Sensor ausgewählt wurde, öffnet der Sensor Explorer ein Fenster, zur Auswahl einer
Datenbank im DBC-Format. Dies ist eine hersteller- und fahrzeugspezifische Datenbank mit
Informationen über Art, Name, Einheit und Datenformat der Signale des CAN-Busses. Standardmäßig
werden diese Informationen von den Anwendern mit einer Datenbank-Software der Firma Vector
Informatik (USA: Vector CANtech Inc., Japan: Vector Japan Co. Ltd.) verwaltet. Da diese Informationen
meist vertraulich und geschützt sind, ist eine solche Datenbank nicht im Lieferumfang des
Sensor Explorers enthalten, sondern kann nur von den Fahrzeugherstellern bezogen werden. Die
Informationen dieser Datenbank sind für die Extraktion der CAN-Informationen während der Aufnahme
(und auch für die Offline-Extraktion in der ArtemiS SUITE) erforderlich.
Nach der Auswahl einer DBC-Datenbank erscheint im unteren Teil des Fensters eine Liste mit den zur
Verfügung stehenden CAN-Informationen (siehe Abbildung 6).
Abbildung 5: Einfügen eines neuen CAN-Sensors im HEAD Sensor Explorer 3
Ab der ArtemiS SUITE 7.0 können Sie CAN-Sensoren auch in einer Sensorbibliothek anlegen (siehe Abschnitt „CAN-Sensor
erstellen“ im Hilfesystem der ArtemiS SUITE).
5
│4│
HEAD acoustics
Application Note
CAN
Abbildung 6: Auswahl der während der Messung extrahierten CAN-Informationen
In dieser Liste können einzelne Kanäle zur Online-Extraktion ausgewählt werden. Jeder dieser
selektierten Kanäle steht dann während der Aufnahme als Kontrollsignal zur Verfügung und kann in die
Aufnahme als separater Kanal integriert werden.
Verwendung des CAN-Sensors im HEAD Recorder
Um den CAN-Sensor zu verwenden, öffnen Sie zuerst die Kanalliste im HEAD Recorder (z. B. über die
Tastenkombination [STRG] + [L]) und klicken mit der rechten Maustaste auf das Buchsensymbol in der
Zeile mit dem CAN-Kanal. Dann wählen Sie die Sensor-Liste mit dem im HEAD Sensor Explorer
erzeugten CAN-Sensor und verbinden diesen. Statt der BNC-Buchse erscheint nun ein roter CANSchriftzug in der Liste und die vorher ausgewählten Kanäle werden z. B. zur Triggerung der Aufnahme
angeboten.
Außerdem können die ausgewählten Kanäle mit der Echtzeitüberwachung (engl. Online Monitor,
Analyse-Auswahl Drehzahl über Zeit, engl. RPM vs. time) oder mit dem Tachometer zur Kontrolle
während der Aufnahme angezeigt werden.
Neben der Verwendung als Kontrollsignal können die extrahierten Daten auch in separaten Kanälen
zusätzlich zum vollständigen CAN-Signal abgespeichert werden. Dazu müssen Sie unter Extras ->
Einstellungen -> Programm-Einstellungen -> Dateierstellung die Funktion Die dekodierten Pulsund CAN-Signale mit abspeichern aktivieren (engl. Tools -> Options -> Application -> File
generation -> Save decoded channels from pulse channels or CAN in recorded file, siehe
Abbildung 7).
Abbildung 7: Programm-Einstellungen im HEAD Recorder
│5│
HEAD acoustics
Application Note
CAN
Zusammenfassung
Die Aufzeichnung des vollständigen CAN-Signals kann ohne DBC-Datenbank erfolgen. Wenn allerdings
bereits während der Aufnahme eine CAN-Information aus dem CAN-Datenstrom extrahiert werden soll,
wird die DBC-Datenbank zur Konfiguration des CAN-Sensors im HEAD Sensor Explorer 3 benötigt.6
Außerdem muss der Zugriff auf die DBC-Datenbank während der Aufnahme gewährleistet sein und die
Software-Lizenz des HEAD Recorders über das Data Preparation Module (ASM24) verfügen.
Grundsätzlich zeichnet der HEAD Recorder das vollständige CAN-Signal auf, auch wenn bereits
während der Aufnahme einzelne CAN-Informationen z. B. zur Steuerung extrahiert werden. Es ist
darauf zu achten, dass nicht zu viele CAN-Informationen für die Dekodierung während der Aufnahme
ausgewählt werden, da die für die Extraktion und Dekodierung aufzubringende Rechenleistung nicht
vernachlässigbar ist. Aus diesem Grund sollte der Anwender sich auf die wirklich benötigten Signale
beschränken.
Zusätzlich wird die DBC-Datenbank für eine spätere Offline-Extraktion der CAN-Signale in der ArtemiS
SUITE benötigt (siehe Kapitel „Dekodierung des CAN-Signals in der ArtemiS SUITE“).
Bei der Aufnahme des CAN-Signals kann es systembedingt zu Delays zwischen den CAN-Kanälen und
den Audio-Kanälen kommen. Bei der Aufnahme der CAN-Signale mit einem HEADlab oder SQuadriga II
und dem HEAD Recorder werden die Delays bereits während der Aufnahme auf weniger als 10 ms
reduziert. Dies gilt auch für Aufnahmen mit SQlab III oder DATaRec 4 und HEAD Recorder. In der Praxis
ist ein solches Delay in den meisten Fällen (z. B. Aufzeichnung der Drehzahl für eine Ordnungsanalyse)
akzeptabel.7
Für die Aufzeichnung schneller Drehzahländerungen oder Drehzahlinformationen für hochauflösende
Ordnungsanalysen (z. B. von Getriebezahnrädern) eignet sich die Erfassung der Drehzahl aus dem
CAN-Signal nicht. Für diese Anwendungen muss die Drehzahl mit Hilfe optischer Sensoren gemessen
werden.
Dekodierung des CAN-Signals in der ArtemiS SUITE8
Mit HEADlab oder SQuadriga II ist es möglich, alle Daten von einem oder mehreren CAN-Bus-Systemen
in jeweils einem Kanal aufzuzeichnen. Die Informationen werden in diesen Kanälen im originalen CANDatenformat abgespeichert. In der ArtemiS SUITE können aus dem vollständigen CAN-Signal beliebig
viele einzelne CAN-Informationen im Nachhinein extrahiert und in separaten Kanälen abgespeichert
werden. Da immer der vollständige Datenstrom aufgezeichnet wird, stehen alle Daten für eine spätere
Extraktion zur Verfügung.
Um die CAN-Informationen zu dekodieren, werden die bereits erwähnten Datenbankdateien (*.dbc)
benötigt. Es besteht die Möglichkeit, für die Extraktion mehr als eine DBC-Datenbank zu verwenden.
Für die Extraktion der CAN-Signale öffnen Sie in der ArtemiS SUITE zunächst über Start -> Neu ein
neues Dekoder-Projekt (engl. Start -> New -> Decoder Project). In diesem Projekt finden Sie drei
Pools, die ähnlich strukturiert sind wie die Pools in einem Pool-Projekt. In den Quelldateien-Pool auf der
linken Seite fügen Sie die Zeitsignale mit den kodierten CAN-Signalen ein. Im mittleren Dekoder-Pool,
vergleichbar zum Analyse-Pool, wählen Sie die DBC-Datenbank für die Dekodierung aus und
konfigurieren die Dekodierung. Und im rechten Ziel-Pool definieren Sie das Format, in dem die neue
6
Ab der ArtemiS SUITE 7.0 können Sie CAN-Sensoren auch in einer Sensorbibliothek anlegen. Eine mit der ArtemiS SUITE erstellte
Sensorbibliothek müssen Sie im HEAD Recorder (ab Version 7.0) importieren, bevor Sie diese in der Kanalliste verwenden
können. Ein Vorteil der Sensorbibliotheken ist, dass diese die für die Dekodierung nötigen Informationen aus den DBC-Dateien
mit abspeichern, so dass nach der Erstellung keine DBC-Datei mehr benötigt wird.
7
Bei Aufnahmen mit einem PCAN-USB-Interface werden die CAN-Daten über eine zweite USB-Schnittstelle erfasst. Da die
verschiedenen USB-Schnittstellen eines Computers untereinander nicht synchronisiert sind, kann es mit einem solchen
Messaufbau zu wesentlich größeren Delays kommen. Diese können von Aufnahme zu Aufnahme auch bei der Verwendung des
gleichen Frontends und der gleichen Konfiguration unterschiedlich sein. Die Delays betragen maximal 100 ms und sind in den
meisten Fällen deutlich kleiner.
8
Die Beschreibungen in dieser Application Note beziehen sich auf die ArtemiS SUITE 8.0. Die allgemeine Vorgehensweise ist
auch für andere Versionen gültig. Allerdings können sich Änderungen im Funktionsumfang und in der Benutzer-Oberfläche
ergeben.
│6│
HEAD acoustics
Application Note
CAN
Datei mit den dekodierten CAN-Kanälen abgelegt werden soll. Für den Export stehen das HDF-, das
ATFX- und das UFF-Format zur Verfügung.
In einem Dekoder-Projekt sind stets alle Eingangssignale aktiv, außerdem können Sie mehrere Dekoder
gleichzeitig für eine Berechnung aktivieren.
Um die DBC-Datenbank für die Dekodierung auszuwählen, klicken Sie im Dekoder-Pool auf die
Schaltfläche CAN-Dekoder einfügen (engl. Insert CAN Decoder). Daraufhin öffnet die ArtemiS SUITE
den CAN-Datenbank Browser. Klicken Sie auf die Schaltfläche mit den drei Punkten und wählen Sie
die gewünschte DBC-Datenbank aus. Im unteren Teil des Browsers wird nun eine Liste der mit dieser
DBC-Datenbank zur Verfügung stehenden Informationen angezeigt. Aktivieren Sie hier die Daten, die
Sie benötigen, durch einen Klick in das Kontrollkästchen am Anfang einer Zeile (siehe Abbildung 8). Um
die Suche zu vereinfachen, können Sie die angebotenen CAN-Informationen über ein Eingabefeld
filtern.
Abbildung 8: CAN Datenbank Browser
Durch Anklicken der OK-Taste wird der Browser geschlossen. Im Dekoder-Pool werden dann der Name
der DBC-Datenbank, sowie die Namen der ausgewählten CAN-Größen angezeigt. Um dieser Liste
nachträglich weitere Größen hinzuzufügen, öffnen Sie durch einen Klick auf das -Zeichen die Liste
mit den OBD-2-Größen erneut.
Die Namen der CAN-Größen sind editierbar und werden später als Kanalnamen für die neuen Kanäle
mit den dekodierten CAN-Größen verwendet. Die Reihenfolge der dekodierten Kanäle in der ErgebnisDatei richtet sich dabei nach der Reihenfolge im Dekoder-Pool. Sie können die Elemente im DekoderPool per Drag & Drop verschieben, um die resultierende Kanalreihenfolge nach Ihren Wünschen zu
gestalten.
In Abbildung 9 ist ein Beispiel für ein Dekoder-Projekt dargestellt. In der linken Spalte befinden sich 7
Aufnahmen, in der mittleren Spalte wurde die DBC-Datenbank CAN.dbc eingefügt, aus der die beiden
Einträge Engine RPM und Wheel Speed für die Extraktion aktiviert wurden. In der letzten Spalte ist als
Ziel eine HDF-Datei ausgewählt.
Die ArtemiS SUITE überprüft unmittelbar, ob die ausgewählten Größen in den Quell-Dateien zur
Verfügung stehen und zeigt dies durch eine grüne LED vor der Datei im Quelldateien-Pool an. Ist die
│7│
HEAD acoustics
Application Note
CAN
Dekodierung nicht möglich, wird eine rote LED mit einem X angezeigt. Dasselbe gilt für die aktiven
Elemente im Dekoder-Pool. Auch hier erscheint eine rote LED, wenn keine der Quelldateien die
gewünschte Größe enthält.
Abbildung 9: Beispiel für ein Dekoder-Projekt
Bevor Sie eine Dekodierung starten können, müssen die ungeeigneten Quell-Dateien oder Dekoder
über den Befehl Ungeeignete Dateien entfernen bzw. Auswahl bei nicht verwendeten Dekodern
aufheben (engl. Remove Unused Files bzw. Deselect Unused Decoders) im Kontextmenü löschen.
Wenn eine Dekodierung nicht für alle Quelldateien bzw. nicht mit allen Dekodern durchgeführt werden
kann, wird ein Warndreieck mit Ausrufezeichen (siehe Abbildung 9, Dekoder-Pool) angezeigt. Die
Dekodierung kann trotzdem gestartet werden.
Für jede CAN-Größe im Dekoder-Pool können Sie weitere Eigenschaften nach einem Klick auf die Schaltfläche festlegen. Dazu gehört z. B. die Interpolation und die physikalische Einheit. Die
Funktionsweise ist im Hilfesystem der ArtemiS SUITE im Abschnitt „CAN-Dekoder“ detailliert
beschrieben.
In der Vorschau (engl. Preview, siehe Abbildung 9, unten) zeigt Ihnen die ArtemiS SUITE eine grafische
Vorschau der ersten 10 Sekunden von den CAN-Kanälen der aktiven Quelldatei zur schnellen Kontrolle
Ihrer Einstellungen an. Sie können die gewünschte Dauer (engl. Length) in dem entsprechenden Feld
für Ihre Anwendung konfigurieren oder durch einen Klick auf die Schaltfläche Dateilänge (engl. File
Length) die gesamte Datei anzeigen lassen. Die für die Vorschau dekodierten Daten werden noch nicht
gespeichert, sondern dienen nur der Kontrolle.
Um die Dekodierung zu starten, klicken Sie auf den Abakus-Schaltfläche oder machen einen
Doppelklick auf das entsprechende Ziel-Pool-Element. Während der Dekodierung wird von der ArtemiS
SUITE eine neue Datei erstellt, die neben dem kodierten CAN-Kanal zusätzlich die ausgewählten CANInformationen als separate Kanäle enthält. Auf der Eigenschaften-Seite des Ziel-Pool-Elements können
Sie festlegen, wo die neue Datei abgelegt und wie der Datei-Name erzeugt werden soll.
│8│
HEAD acoustics
Application Note
CAN
Um die Einstellung des CAN-Dekoders zu erhalten und für weitere Dekodierungen wiederzuverwenden,
können Sie das verwendete Dekoder-Projekt z. B. über die
-Schaltfläche abspeichern.
Hinweise
Für die in dieser Application Note vorgestellten Anwendungen benötigen Sie die folgenden ArtemiS
SUITE Module: ASM 00 ArtemiS SUITE Basic Framework (Code 5000), ASM 04 ArtemiS SUITE Data
Acquisition Module (Code 5004) und ASM 24 ArtemiS SUITE Data Preparation Module (Code 5024). Für
den Export der dekodierten Daten in das UFF-Format benötigen Sie außerdem ASM 23 Advanced
Import & Export Module (Code 5023).
Die beschriebenen Datenbank-Dateien im DBC-Format sind nicht im Lieferumfang der ArtemiS SUITE
enthalten, sondern müssen vom Fahrzeug-Hersteller bezogen werden.
Haben Sie Fragen an den Autor?
Schreiben Sie uns an: imke.hauswirth@head-acoustics.de.
Wir freuen uns auf Ihre Rückmeldung!
│9│