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│