Vehicle Network Toolbox

Kommunikation mit Fahrzeug-Netzwerken über CAN, J1939 und XCP Protokollen

 

Vehicle Network Toolbox™ bietet MATLAB®  Funktionen und Simulink®  Blöcke zum Senden, Empfangen, Kodieren und Dekodieren von CAN-, CAN FD-, J1939- und XCP-Nachrichten. Mit der Toolbox können Sie bestimmte Signale mithilfe von Industriestandard-CAN-Datenbankdateien identifizieren und parsen sowie dann die dekodierten Signale mit der CAN-Bus-Überwachungsapp visualisieren. Mit A2L-Beschreibungsdateien lässt sich eine Verbindung zu einem Steuergerät über XCP on CAN oder Ethernet herstellen. Sie können auf Meldungen und Messdaten zugreifen, die in MDF-Dateien gespeichert sind.

Die Toolbox vereinfacht die Kommunikation mit bordeigenen Netzwerken und ermöglicht Ihnen die Überwachung, Filterung und Analyse von Live-CAN-Bus-Daten oder die Protokollierung und Aufzeichnung von Nachrichten zur späteren Analyse und Wiedergabe. Sie können den Nachrichtenverkehr auf einem virtuellen CAN-Bus simulieren oder sich mit einem Live-Netzwerk oder einer ECU verbinden. Die Vehicle Network Toolbox unterstützt CAN-Schnittstellengeräte von Vector, Kvaser, PEAK-System und National Instruments®.

Erste Schritte:

Senden und Empfangen von CAN- und CAN FD-Nachrichten aus MATLAB und Simulink

Konfigurieren von CAN- und CAN FD-Kanälen

CAN-Kanalfunktionen in MATLAB und CAN-Konfigurationsblöcke in Simulink ermöglichen es Ihnen, eine Verbindung zur Vector CAN-Schnittstellen-Hardware zu definieren, die eine physikalische Verbindung mit einem CAN-Bus entweder nach dem CAN- oder dem CAN FD-Standard herstellt. Die Vehicle Network Toolbox™ bietet CAN-Kanal-Funktionen zum Abfragen und Konfigurieren von CAN-Schnittstellen-Hardwareeinstellungen, wie z.B. Busgeschwindigkeit und Transceiver-Einstellungen. Darüber hinaus können Sie weitere CAN-Kanaleigenschaften prüfen, z. B. die Anzahl der verfügbaren Nachrichten oder die Anzahl der über den Kanal gesendeten bzw. empfangenen Nachrichten. Durch das Hinzufügen von Vector-CAN-Datenbankdateien zu CAN-Kanälen werden eingehende Nachrichten automatisch zusammen mit den in der Datenbank gespeicherten Informationen präsentiert. Nach der Definition eines CAN-Kanals können Sie CAN-Nachrichten über den Kanal senden und empfangen.

Verbinden Sie MATLAB über die Protokolle CAN und CAN FD mit Ihrem Fahrzeug-Netzwerk.

Senden und Empfangen von CAN-Paketen

Standard-CAN-Nachrichten enthalten Eigenschaften zur Speicherung des CAN-Nachrichten-Identifiers (Standard 11-Bit oder erweitert 29-Bit), des Zeitstempels und bis zu 8 Byte CAN-Daten. Ein für die CAN FD-Übertragung konfigurierter Kanal kann Nachrichten mit bis zu 64 Byte Daten enthalten.

Durch die Sende- und Empfangsfunktionen und -blöcke der Toolbox können CAN-Nachrichten über CAN-Kanäle gesendet und empfangen werden. Bei größeren Datensätzen können Sie die CAN-Nachrichten zu Offline-Analyse aufzeichnen.

MATLAB-Code zum Empfang von CAN-Nachrichten und ihren Signalen im Zeitplanformat.

Erstellen und Extrahieren von Signalen aus CAN-Nachrichten

Die Vehicle Network Toolbox verfügt über Funktionen und Blöcke zum Codieren und Decodieren von CAN-Nachrichten. CAN-Nachrichten können Daten enthalten, die mehrere Signale darstellen. Durch die Entpackfunktionen und -blöcke kann der Nutzer Startbit, Signallänge, Dateityp und Byteordnung festlegen. Die Packfunktionen und -blöcke bieten dieselben Optionen zur Datenerstellung für die Übertragung von CAN-Nachrichten.

Simulink-Modell, das den CAN Unpack-Block zum Decodieren von CAN-Nachrichten verwendet.

Aufzeichnen und Wiedergeben von CAN-Nachrichten

Mit dem CAN-Log-Block in der Toolbox können Sie von Ihrem Modell empfangene CAN-Nachrichten in einer MAT-Datei speichern. Sie können dann den CAN Replay-Block verwenden, um die Nachrichten in einem anderen Simulink-Modell wiederzugeben. Der CAN Replay-Block bewahrt die Zeitstempel der aufgezeichneten Daten, damit die wiedergegebenen Daten die gleichen Timing-Eigenschaften wie die aufgezeichneten Daten haben.

Darstellung von Radgeschwindigkeitsdaten, die von einer aufgezeichneten Fahrzeugtestfahrt wiedergegeben wurden.

Kommunikation über das XCP-Protokoll

Die Vehicle Network Toolbox bietet Funktionen und Blöcke für die Kommunikation mit Steuergeräten über XCP – ein Fahrzeugkalibrierungsprotokoll – über CAN- oder Ethernet-Bus. Bei der Kommunikation mit Steuergeräten über XCP gelten MATLAB oder Simulink als Master- und die Steuergeräte als Slavegeräte. Sie können mit mehreren ECUs kommunizieren, indem Sie mehrere XCP-Kanäle öffnen. Für jedes ECU können Sie Daten auf bestimmte Speicherplätze innerhalb des ECU lesen und schreiben. Wenn ein gesicherter Zugang zu einem ECU besteht, können Sie die Seed- und Schlüsselsicherheit verwenden, um den Zugang zu dem ECU zu öffnen. Die Toolbox bietet auch Funktionen und Blöcke zum Verknüpfen von A2L-Datenbankdateien und zum Erstellen und Anzeigen dynamischer DAQ- und STIM-Messlisten für einen XCP-Kanal. Diese Listen werden auf der Grundlage von Mess- und Ereignisinformationen aus der verknüpften A2L-Datei erstellt.

Modell zur Erfassung von Messungen von einem ECU-Slave-Gerät. Das Modell verwendet Blöcke für die XCP-Konfiguration und das XCP-Transport Layer (oben links) sowie Blöcke für die XCP-Datenerfassung (unten links), um die Erfassung des PWM-Signals einzurichten (rechts).

Kommunikation über das J1939-Protokoll

Die Vehicle Network Toolbox stellt Funktionen und Blöcke für die Kommunikation über J1939 zur Verfügung – ein CAN-basiertes Hochleistungsprotokoll, das oft in der Schwerlasterindustrie verwendet wird. Bei der Kommunikation über J1939 verwenden Sie MATLAB-Funktionen oder Simulink-Blöcke, um die Kommunikation einzurichten. Im Einzelnen werden Funktionen und Blöcke bereitgestellt, um eine Datenbankdatei (.dbc) mit der J1939-Kommunikation zu verknüpfen, die CAN-Schnittstellen-Hardware zu spezifizieren und J1939-Parametergruppen zu senden und zu empfangen. Sie codieren und decodieren Signaldaten im Netzwerk mithilfe von Parametergruppen, die durch die zur Verbindung gehörende Datenbankdatei definiert sind. Zusätzlich können Sie Simulink so konfigurieren, dass es als Netzwerkknoten mit Adressansprüchen arbeitet.

Modell zum Senden und Empfangen von J1939-Daten unter Verwendung von J1939-Sende- und J1939-Empfangsblöcken. Das Modell verwendet außerdem J1939-Netzwerkkonfigurations-, J1939-CAN-Transport-Layer-Konfigurations- und J1939-Knotenkonfigurationsblöcke zur Einrichtung der Kommunikation.

Visualisierung des CAN-Datenverkehrs

Die Toolbox bietet die Vehicle-Network-CAN-Bus-Überwachungsapp zur Visualisierung des aktiven Datenverkehrs auf einem bestimmten CAN-Kanal. Sie können die Anwendung verwenden, während Sie andere Aufgaben in MATLAB oder Simulink ausführen. Für CAN-Datenbankdateien, die Ihrem CAN-Kanal zugeordnet sind, dekodiert die App die Nachrichten und zeigt sie in ihren korrekten technischen Einheiten an.

Enthält der Traffic im Netzwerk mehr Informationen, als für Ihre Anwendung benötigt werden, können Sie die Anzahl der über einen CAN-Kanal empfangenen CAN-Nachrichten über einen definierten Bereich an CAN-Nachrichten-Identifiern begrenzen. Anhand der Filterfunktionen und Maskeneinstellungen in der Toolbox erhalten Sie nur die Nachrichten, die für Ihre Anwendung benötigt werden.

Live-CAN-Bus-Verkehr auf dem Netzwerk, der von der Vehicle -CAN-Bus-Überwachungsapp angezeigt wird. Die Anzeige zeigt Rohdaten; sie kann so konfiguriert werden, dass decodierte Daten angezeigt werden, wenn der CAN-Kanal mit einer .dbc-Datenbankdatei verknüpft ist.

Anwenden von Vektor-CAN-Datenbankdateien

Mit der Vehicle Network Toolbox können Sie Vector-CAN-Datenbankdateien einem CAN-Kanal oder einer Nachricht zuweisen. Dadurch können Sie CAN-Nachrichten durch anwendungsspezifische Nachrichten und Signalnamen wie z. B. EngineMsg und EngineRPM sowie durch skalierte technisch-wissenschaftliche Einheiten codieren und decodieren. Die Fähigkeit, mit branchenüblichen Datenbankdateien zu arbeiten, vereinfacht die Interaktion mit dem CAN-Bus, da die Datenbank nicht nur Nachrichtenliste und Komponentensignale spezifiziert, sondern außerdem die Bit-Packing- und Bit-Unpacking-Bestimmungen für die dazugehörigen Signale festlegt. Da Signaldatentyp, Startbit, Signallänge und Byteordnung für die Nachrichten in der Datenbank allesamt vordefiniert sind, können Sie sich darauf konzentrieren, Ihre Signale zu analysieren anstatt zu definieren.

Codebeispiel, das zeigt, wie Nachrichten unter Verwendung von in CAN-Datenbankdateien gespeicherten Informationen angezeigt werden können.

Verwenden von A2L-Beschreibungsdateien

Mit der Vehicle Network Toolbox können Sie Beschreibungsdateien nach dem Industriestandard A2L (auch als ASAP2 bekannt) verwenden, um mit ECUs über das XCP-Protokoll von MATLAB oder Simulink zu kommunizieren. Mit A2L-Beschreibungsdateien können Sie von einem MATLAB-Programm oder einem Simulink-Modell aus auf interne ECU-Parameter zugreifen. A2L-Beschreibungsdateien enthalten Informationen über die zugehörige Speicheradresse für einen bestimmten Parameter, die Speicherstruktur und den Datentyp. Die Dateien enthalten auch Regeln für die Umrechnung gespeicherter Werte wie Systemparameter, Sensoreigenschaften und Korrekturfaktoren in physikalische Einheiten wie U/min und Grad Celsius. Mit diesen Daten können Sie problemlos Kalibrierungs- und Messaufgaben durchführen, ohne dass Sie Daten parsen und Speicheradressen dekodieren müssen.

Codebeispiel, das zeigt, wie auf in A2L-Dateien gespeicherte Informationen zur Verwendung mit XCP-Verbindungen zugegriffen werden kann. Es verwendet einen frei verfügbaren XCP-Slave-Simulator von Vector und Vector Virtual CAN-Kanälen.

Arbeiten mit MDF-Dateien

Mit der Vehicle Network Toolbox können Sie problemlos Daten aus Messdatenformatdateien (MDF) importieren. Die Toolbox unterstützt Version 3.0 und höher des MDF-Standards. Wenn Sie ein MDF-Objekt in MATLAB erstellen, können Sie die grundlegenden Eigenschaften der Datei anzeigen, einschließlich des anfänglichen Zeitstempels, der Datengröße, der Kanalgruppe und der Informationen zum Kanalnamen. Um eine Teilmenge einer MDF-Datei einzulesen, geben Sie die Kanalnamen oder die Start- und Stoppzeiten an. Standardmäßig wird das Ausgabeformat Ihres Ergebnisses als Zeitplan zurückgegeben, damit Sie problemlos mit den zeitgestempelten Daten arbeiten können.

Für große MDF-Dateien, die nicht in den Speicher passen, können Sie einen MDF-Datenspeicher erstellen und eine Vorschau der gestapelten Daten basierend auf den von Ihnen angegebenen Parametern anzeigen. Sie können auch einen Datenspeicher erstellen, um einfach mit einer Sammlung ähnlicher MDF-Dateien zu arbeiten.

Beispielcode zur Vorschau einer MDF-Datei in der Befehlszeilenschnittstelle und zur anschließenden Prüfung der Daten im Variablen-Editor.

Anwenden von virtuellen Kanälen

Sie können virtuelle CAN- und CAN-FD-Kanäle zum Testen und Simulieren der Netzwerkkommunikation verwenden. Mit einem virtuellen Kanal können Sie Modelle in einer Loopback-Konfiguration testen, ohne physische Hardware zu verwenden. Die Vehicle Network Toolbox unterstützt zwei Arten von virtuellen Kanälen: Virtuelle MathWorks-Kanäle und solche von Drittanbietern von CAN-Schnittstellen-Hardware. Virtuelle Kanäle von Drittanbietern wie Vector und Kvaser erfordern die Installation des entsprechenden Herstellertreibers oder Hardware-Supportpakets. Die virtuellen MathWorks-Kanäle werden mit der Toolbox geliefert und erfordern keine zusätzlichen Treiber oder Supportpakete.

Simulink-Modell, das die Verwendung von virtuellen MathWorks-Kanälen zum Senden und Empfangen von CAN-Daten ohne Hardware zeigt.

Arbeiten mit CDFX-Dateien

Zugriff auf Daten im ASAM-Kalibrierungsdatenformat (CDFX) mit der  cdfx -Funktion der Vehicle Network Toolbox. Verwenden Sie Kalibrierungsdaten aus einer CDF-Datei als Input für ein Simulink-Modell.

Simulink-Modell, das die Verwendung von virtuellen MathWorks-Kanälen zum Senden und Empfangen von CAN-Daten ohne Hardware zeigt.

Neueste Funktionen

MDF

Zugriff auf MDF-Dateien auf der Linux-Plattform

Vorgangsbasierte Übertragung in Simulink

Übertragen von CAN-Nachrichten nur dann, wenn eine Änderung in den Daten der Nachricht festgestellt wird

Details zu diesen Funktionsmerkmalen und den zugehörigen Funktionen finden Sie in den Release Notes.