Vehicle Network Toolbox

Communiquer avec des réseaux embarqués avec les protocoles CAN, J1939 et XCP

 

Vehicle Network Toolbox™ propose des fonctions MATLAB® et des blocs Simulink® pour envoyer, recevoir, encoder et décoder des messages CAN, CAN FD, J1939 et XCP. La toolbox vous permet d'identifier et d'analyser des signaux spécifiques avec les fichiers de base de données CAN, conformes aux normes de l’industrie, puis de visualiser les signaux décodés avec l'application CAN Bus Monitor. Grâce aux fichiers de description A2L, vous pouvez vous connecter à une ECU via XCP sur CAN ou Ethernet. Vous pouvez accéder aux messages et aux données de mesure stockés dans les fichiers MDF.

La toolbox facilite la communication avec les réseaux embarqués et vous permet de surveiller, filtrer et analyser les données temps-réel du bus CAN ou de vous connecter et d'enregistrer des messages pour une analyse et une relecture ultérieures. Vous pouvez simuler le trafic de messages sur un bus CAN virtuel ou vous connecter à un réseau opérationnel ou à une ECU. Vehicle Network Toolbox supporte les interfaces matérielles CAN des marques Vector, Kvaser, PEAK-System et National Instruments®.

En savoir plus:

Envoyer et recevoir des messages CAN et CAN FD depuis MATLAB et Simulink

Configurer les canaux CAN et CAN FD

Les fonctions de canal CAN de MATLAB et les blocs de configuration CAN de Simulink vous permettent de définir une connexion avec l’interface hardware CAN de Vector qui établit une connexion physique à un bus CAN en utilisant le standard CAN ou CAN FD. Vehicle Network Toolbox comprend des fonctions de canal CAN permettant d'interroger et de configurer les paramètres des composants hardware de l'interface CAN tels que la vitesse du bus et les réglages de l’émetteur-récepteur. Vous pouvez également vérifier d’autres propriétés du canal CAN telles que le nombre de messages disponibles et le nombre de messages reçus ou transmis sur le canal. En associant des fichiers de base de données CAN de Vector à des canaux CAN, les messages entrants sont automatiquement présentés en utilisant les informations stockées dans la base de données. Après avoir défini un canal CAN, vous pouvez envoyer et recevoir des messages sur ce canal.

Connectez MATLAB à votre réseau embarqué avec les protocoles CAN et CAN FD.

Envoyer et récevoir des paquets CAN

Les messages CAN standard contiennent des propriétés permettant de stocker l’identifiant de message CAN (standard 11 bits ou étendu 29 bits), l'horodatage et jusqu’à 8 octets de données CAN. Un canal configuré pour la transmission CAN FD peut acheminer des messages contenant jusqu'à 64 octets de données

Les fonctions et blocs de la toolbox pour la transmission et la réception permettent l'envoi et la réception de messages CAN via des canaux CAN. Dans le cas de jeux de données volumineux, vous pouvez consigner les messages CAN pour les analyser hors ligne.

Code MATLAB pour recevoir les messages CAN et leurs signaux au format timetable

Créer et extraire des signaux depuis les messages CAN

Vehicle Network Toolbox offre des fonctions et des blocs permettant le codage et le décodage des messages CAN. Les données des messages CAN peuvent contenir des données représentant plusieurs signaux. Les fonctions et blocs Unpack permettent à l’utilisateur d'indiquer le bit de départ, la longueur du signal, le type de données et l’ordre des octets. Les fonctions et blocs Pack offrent les mêmes options pour la création de données destinées à la transmission de messages CAN.

Modèle Simulink qui utilise le bloc CAN Unpack pour décoder des messages CAN.

Enregistrer et relire des messages CAN

Avec le bloc CAN Log de la toolbox, vous pouvez sauvegarder dans un fichier MAT les messages CAN reçus par votre modèle. Vous pouvez ensuite utiliser le bloc CAN Replay pour relire les messages dans un autre modèle Simulink. Le bloc CAN Replay préserve l'horodatage des données enregistrées pour que les données rejouées aient les mêmes caractéristiques temporelles que les données enregistrées.

Représentation graphique des données de vitesse des roues reproduite à partir d'un essai enregistré de véhicule.

Communiquer avec le protocole XCP

Vehicle Network Toolbox offre des fonctions et des blocs permettant la communication avec les ECU via XCP, un protocole de calibrage automobile, sur un bus CAN ou Ethernet. Lors de la communication avec les ECU via XCP, MATLAB ou Simulink est le maître et les ECU sont les esclaves. Vous pouvez communiquer avec de nombreux ECU en ouvrant plusieurs canaux XCP. Pour chaque ECU, vous pouvez lire et écrire des données à des emplacements mémoire spécifiques dans les ECU. Lorsqu'il existe une sécurité pour accéder à une ECU, vous pouvez utiliser une sécurité Seed-Key pour obtenir un libre accès à l'ECU. La toolbox offre également des fonctions et des blocs pour lier des fichiers de base de données A2L ainsi que pour créer et visualiser des listes dynamiques de mesure DAQ et STIM pour un canal XCP. Ces listes sont établies à partir des mesures et des informations sur les événements provenant du fichier A2L lié.

Modèle pour l'acquisition de mesures à partir d'un ECU esclave. Le modèle utilise la configuration XCP, des blocs  XCP Transport Layer (en haut à gauche) et des blocs XCP Data Acquisition (en bas à droite) pour configurer le signal PWM (à droite).

Communiquer avec le protocole J1939

Vehicle Network Toolbox offre des fonctions et des blocs permettant la communication via J1939, un protocole de haut niveau basé sur CAN couramment utilisé dans l'industrie des poids lourds. Lors de la communication via J1939, vous utilisez des fonctions MATLAB ou des blocs Simulink pour paramétrer la communication. En particulier, des fonctions et des blocs sont fournis pour associer un fichier de base de données (.dbc) à la communication J1939 afin de spécifier les composants hardware de l'interface CAN, et de transmettre et recevoir des groupes de paramètres J1939. Vous encodez et décodez les données du signal sur le réseau en utilisant des groupes de paramètres définis par le fichier de base de données associé à la connexion. En outre, vous pouvez configurer Simulink pour que les modèles fonctionnent comme des nœuds de réseau avec procédure de demande d'adresse.

Modèle pour l'envoi et la réception de données J1939 utilisant des blocs J1939 Transmit et J1939 Receive. Le modèle utilise également les blocs J1939 Network Configuration, J1939 CAN Transport Layer Configuration et J1939 Node Configuration pour paramétrer la communication.

Visualiser le trafic CAN

La toolbox propose l’application Vehicle Network CAN Bus Monitor pour visualiser le trafic actif sur un canal CAN particulier. Vous pouvez utiliser cette application tout en effectuant d'autres tâches dans MATLAB ou Simulink. Pour les fichiers de base de données CAN associés à votre canal CAN, l'application décode les messages et les affiche dans leurs unités techniques respectives.

Lorsque le trafic sur le réseau renferme plus d’informations que votre application n’en a besoin, vous pouvez limiter le nombre de messages CAN reçus par un canal CAN à une plage définie d'identifiants de message CAN. L’utilisation des fonctions de filtre et de la configuration  de masque dans la toolbox vous permet de recevoir uniquement les messages nécessaires pour votre application.

Trafic temps-réel du bus CAN sur le réseau affiché par l'application Vehicle CAN Bus Monitor. L'écran affiche des données brutes. Il peut être configuré pour afficher des données décodées lorsque le canal CAN est associé à un fichier de base de données .dbc.

Utiliser des fichiers de base de données CAN de Vector

Vehicle Network Toolbox vous permet d'associer un fichier de base de données CAN de Vector à un message ou un canal CAN depuis MATLAB ou Simulink. Ceci vous permet de coder ou de décoder des messages CAN en utilisant des noms de messages et de signaux spécifiques à une application, tels que EngineMsg et EngineRPM, ainsi que des unités de mesure calibrées. Cette capacité à utiliser des fichiers de base de données conformes aux normes de l’industrie simplifie l'interaction avec le bus CAN, car la base de données indique non seulement la liste des messages et les signaux des composants, mais fournit aussi les règles de compression et de décompression des bits pour les signaux associés. Le type des données des signaux, le bit de départ, la longueur et l'ordre des octets sont tous prédéfinis pour les messages qui se trouvent dans la base de données. Vous pouvez donc vous concentrer sur l’analyse de vos signaux plutôt que sur leur définition.

Exemple de code montrant comment afficher des messages avec les informations stockées dans les fichiers de base de données CAN.

Utiliser des fichiers de description A2L

Vehicle Network Toolbox vous permet d'utiliser les fichiers de description A2L (aussi appelés ASAP2), qui constituent la norme de l’industrie, pour communiquer avec les ECU via le protocole XCP à partir de MATLAB ou Simulink. L'utilisation des fichiers de description A2L vous permet d'accéder aux paramètres internes des ECU à partir d'un programme MATLAB ou d'un modèle Simulink. Les fichiers de description A2L contiennent des informations sur l'adresse mémoire associée pour un paramètre particulier, la structure de stockage et le type de données. Les fichiers contiennent également des règles de conversion des valeurs stockées telles que les paramètres du système, les caractéristiques des capteurs et les facteurs de correction dans les  unités physiques, comme le nombre de tours par minute et les degrés Celsius. Le fait de disposer de ces données vous permet d'effectuer facilement des tâches de calibrage et de mesure sans avoir à analyser les données ni à décoder les adresses mémoire.

Exemple de code montrant comment accéder aux informations stockées dans les fichiers A2L pour une utilisation avec les connexions XCP. On utilise ici un simulateur esclave XCP des canaux Vector et Vector Virtual CAN qui est disponible gratuitement.

Travailler avec des fichiers MDF

Avec Vehicle Network Toolbox vous pouvez importer facilement des données depuis des fichiers MDF (Measurement Data Format). La toolbox supporte les versions 3.0 et ultérieures du standard MDF. Lorsque vous créez un objet MDF dans MATLAB, vous pouvez consulter les informations relatives aux propriétés de base du fichier, notamment l'horodatage initial, la taille des données, le groupe du canal et le nom du canal. Pour lire dans un sous-ensemble d'un fichier MDF, vous spécifiez les noms des canaux ou les temps de début et de fin. Par défaut, le format de sortie de votre résultat sera retourné au format timetable pour vous permettre d'exploiter facilement les données horodatées.

Pour les fichiers MDF volumineux qui ne tiennent pas en mémoire, vous pouvez créer un datastore MDF et prévisualiser les données par lots en fonction des paramètres que vous avez définis. Vous pouvez également créer un datastore pour manipuler aisément une collection de fichiers MDF similaires.

Exemple de code pour prévisualiser un fichier MDF dans l'interface en ligne de commande, puis inspecter les données dans l'éditeur de variables.

Utiliser des canaux virtuels

Vous pouvez utiliser les canaux CAN et CAN FD pour le test et la simulation des communications réseau. Avec un canal virtuel, vous pouvez tester les modèles dans une configuration de rétroaction sans recourir à des composants hardware physiques. Vehicle Network Toolbox supporte deux types de canaux virtuels : les canaux virtuels MathWorks et ceux des fournisseurs d'interfaces hardware CAN. Les canaux virtuels des fournisseurs, comme Vector et Kvaser, nécessitent l'installation d’un driver approprié ou d’un hardware support package du fournisseur. Les canaux virtuels MathWorks sont livrés avec la toolbox et ne requièrent pas de drivers ni de support packages supplémentaires.

Modèle Simulink illustrant l'utilisation des canaux virtuels MathWorks pour envoyer et recevoir des données CAN sans aucun hardware.

Travailler avec des fichiers CDFX

Accédez aux données au format de données de calibrage ASAM (CDFX) avec la fonction cdfx contenue dans Vehicle Network Toolbox. Utilisez les données de calibrage d'un fichier CDF comme entrées d’un modèle Simulink.

Modèle Simulink illustrant l'utilisation des canaux virtuels MathWorks pour envoyer et recevoir des données CAN sans aucun hardware.

Nouveautés

MDF

Accédez à des fichiers MDF sur une plateforme Linux

Transmission basée sur les événements dans Simulink

Transmettez des messages CAN uniquement lorsqu'une modification des données de message est détectée

Consultez les notes de version pour en savoir plus sur ces fonctionnalités et les fonctions correspondantes.