Décodeur CAN Bus & J1939
Outil d'analyse réseau véhicule - Support DBC
Décodeur d'ID CAN
Analysez l'ID CAN pour extraire les paramètres J1939 incluant la Priorité, le PGN, l'Adresse Source et l'Adresse Destination.
Documentation
Cet outil fournit un support complet pour l'analyse des protocoles CAN (Controller Area Network) et SAE J1939. Le CAN est la norme de communication dominante dans les applications automobiles et industrielles, tandis que le J1939 étend le CAN pour les véhicules lourds et les équipements hors route.
Comprendre le protocole J1939
SAE J1939 est un protocole de couche supérieure construit sur CAN 2.0B avec des identifiants étendus de 29 bits. L'ID CAN de 29 bits encode plusieurs paramètres qui définissent le routage et la priorité des messages.
Structure de l'identifiant J1939
L'identifiant de 29 bits est divisé en champs distincts. Du plus significatif au moins significatif, la structure contient la Priorité (3 bits), Réservé/EDP (1 bit), Page de données (1 bit), Format PDU (8 bits), PDU Spécifique (8 bits) et Adresse Source (8 bits). Cet encodage permet une priorisation et un adressage efficaces des messages au sein du réseau véhicule.
Numéros de groupe de paramètres (PGN)
Le PGN est le mécanisme d'adressage fondamental en J1939. Il identifie le type et le contenu des données transmises. Le PGN est dérivé des champs Format PDU et PDU Spécifique, l'interprétation dépendant du format PDU1 ou PDU2 du message.
Lorsque le Format PDU est inférieur à 240 (0xF0), le message est au format PDU1 avec adressage à destination spécifique. Le champ PDU Spécifique contient l'Adresse Destination. Lorsque le Format PDU est 240 ou plus, le message est au format PDU2 pour les messages de diffusion, et PDU Spécifique devient partie du PGN lui-même.
Méthodes d'extraction de signal
Les protocoles J1939 et CAN encodent plusieurs signaux dans des trames de données de 8 octets. Chaque signal a une position de bit de départ définie, une longueur en bits et un ordre d'octets. Cet outil supporte les conventions d'ordre Intel (Little-Endian) et Motorola (Big-Endian).
Les valeurs physiques sont calculées à partir des valeurs brutes de signal en utilisant la formule standard : Valeur physique = Valeur brute × Facteur + Décalage. Cette conversion transforme les lectures de capteurs binaires en unités d'ingénierie significatives comme la température, la pression ou la vitesse.
PGN J1939 courants
- PGN 65262 (0xFEEE) - Température moteur 1 : Contient les lectures de température du liquide de refroidissement, de carburant et d'huile moteur.
- PGN 61444 (0xF004) - Contrôleur électronique moteur 1 : Rapporte le couple moteur réel, le couple demandé par le conducteur et le régime moteur (RPM).
- PGN 65265 (0xFEF1) - Régulateur de vitesse/Vitesse véhicule : Fournit les mesures de vitesse basées sur les roues et le moteur.
- PGN 65269 (0xFEF5) - Conditions ambiantes : Contient la pression barométrique, la température ambiante et la température d'admission d'air moteur.
- PGN 65263 (0xFEEF) - Niveau/Pression fluides moteur : Rapporte la pression d'alimentation en carburant, la pression d'huile et la pression du liquide de refroidissement.
Applications pratiques
- Développement ECU : Validez les formats de message pendant le développement de contrôleurs embarqués et les tests d'intégration.
- Diagnostic véhicule : Analysez le trafic CAN en direct pour résoudre les problèmes de communication et vérifier les lectures des capteurs.
- Télématique de flotte : Analysez les données J1939 pour la surveillance de consommation de carburant, le suivi des heures moteur et la maintenance prédictive.
- Calibration groupe motopropulseur : Extrayez les paramètres moteur pour le réglage des performances et la vérification de conformité aux émissions.
- Formation protocole : Apprenez la structure du protocole J1939 par le décodage pratique d'exemples de messages réels.
Conventions d'ordre des octets
Intel (Little-Endian) commence par le bit et l'octet les moins significatifs, couramment utilisé dans les processeurs x86 et de nombreux ECU modernes. Motorola (Big-Endian) commence par le bit et l'octet les plus significatifs, traditionnel dans les applications CAN et automobiles. Sélectionner le bon ordre d'octets est essentiel pour une interprétation précise des signaux.
Aperçu des fonctionnalités
Ce décodeur CAN Bus complet offre quatre modules fonctionnels principaux pour répondre aux divers besoins d'analyse de réseau véhicule :
- Décodage ID : Analyse les ID étendus J1939 29 bits ou les ID standard 11 bits. Extrait la priorité, PGN, adresse source, adresse destination et informations de format PDU.
- Extraction données : Extrait les valeurs de signaux des trames CAN 8 octets avec bit de départ, longueur de bit et ordre d'octets configurables. Supporte les entiers signés/non signés et les nombres flottants IEEE 754.
- Visualiseur logs : Analyse les fichiers logs CAN de multiples formats incluant Linux candump, Vector ASC et PCAN TRC. Filtrage par ID CAN et export CSV.
- Décodeur DBC : Chargez les fichiers DBC Vector CANdb++ pour décoder automatiquement tous les signaux. Parcourez les messages, recherchez les signaux, affichez les nœuds et exécutez le décodage rapide des signaux.
Support fichiers DBC
Les fichiers DBC (CAN Database) définissent la structure complète des communications CAN, incluant les messages, signaux, nœuds et descriptions de valeurs. Cet outil supporte entièrement les fichiers DBC au format Vector CANdb++.
Après le chargement d'un fichier DBC, vous pouvez parcourir tous les messages définis avec leurs temps de cycle et nombre de signaux, rechercher parmi des milliers de signaux par nom ou unité, voir les nœuds ECU et leurs messages transmis, et décoder rapidement les données CAN brutes en utilisant les définitions de signaux prédéfinies.
Le parseur DBC supporte : définitions de messages (BO_), définitions de signaux (SG_), déclarations de nœuds (BU_), descriptions de valeurs (VAL_), commentaires (CM_), attributs (incluant temps de cycle et valeurs initiales), ordre d'octets Intel/Motorola, et types de valeurs signées/non signées.
Formats d'entrée supportés
Supporte plusieurs formats d'entrée de données pour la flexibilité :
- Hexadécimal avec espaces : Format standard avec octets séparés par des espaces. Exemple :
FF 00 11 22 33 44 55 66 - Hexadécimal sans espaces : Chaîne hexadécimale continue sans espaces. Exemple :
FF00112233445566 - Base64 : Données binaires encodées en Base64. Exemple :
/wARIjNEVWY= - Tableau C/C++ : Notation tableau style C. Exemple :
0xFF, 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66
Formats de fichiers logs
Le visualiseur de logs supporte la détection automatique des formats de logs CAN courants :
- Linux candump :
(1234567890.123456) can0 18FEF100#FF00112233445566 - Vector ASC :
0.000000 1 18FEF100x Rx d 8 FF 00 11 22 33 44 55 66 - PCAN Trace :
1) 1234.5 18FEF100 8 FF 00 11 22 33 44 55 66
Support protocole Transport
Le protocole Transport J1939 (TP) permet la transmission de messages dépassant 8 octets. L'activation du réassemblage TP permet d'analyser automatiquement les messages multi-trames (BAM et CMDT) en les combinant en charges utiles complètes.
Outils Connexes
Parseur Modbus RTU/ASCII/TCP
Analyser, encoder et déboguer les trames du protocole Modbus RTU/ASCII/TCP avec calcul CRC-16/LRC et débogage série
Débogueur de port série en ligne
Outil de débogage série basé sur navigateur - aucun téléchargement requis, surveillance en temps réel via Web Serial API
Décodeur LoRaWAN
Décoder et encoder les paquets LoRaWAN PHYPayload avec calculateur de temps d'air, support OTAA/ABP et trames de données
Codec MQTT
Encoder et décoder les paquets du protocole MQTT avec analyse détaillée des champs, visualiseur hex et constructeur de paquets