SAE J1939
Norme ouverte pour la mise en réseau et la communication dans le secteur des véhicules utilitaires
La norme SAE J1939 est la norme ouverte relative à la mise en réseau et à la communication dans le secteur des véhicules utilitaires. L'application est principalement axée sur la mise en réseau de la chaîne cinématique.
La norme SAE J1939 se caractérise par l'utilisation de la technologie CAN pour la mise en réseau et la communication, ainsi que par une interopérabilité entre les différents constructeurs. Le protocole J1939 a été développé par la Society of Automotive Engineers (SAE) et fonctionne, au niveau de la couche physique, avec le protocole CAN haute vitesse conforme à la norme ISO 11898.
Caractéristiques
- Utilise l'identifiant CAN étendu à 29 bits
- Débits en bauds CAN normalisés de 250 kbits/s et 500 kbits/s.
- Dispose d’un adressage point à point (adressage des nœuds) et d’un adressage global (adressage des messages)
- Il est possible de transmettre jusqu’à 1 785 octets avec des messages multipackets
- Contrôle d'accès au bus via la gestion du réseau propre
- Messages normalisés pour la communication globale du véhicule
- Permet la définition de messages spécifiques au constructeur
- Définit sa propre interface de diagnostic
SAE J1939 et CAN
Le protocole SAE J1939 utilise le réseau CAN (Controller Area Network, normes ISO 11898-1 et ISO 11898-2) comme couche physique. Le protocole CAN joue un rôle majeur dans la mise en réseau des véhicules automobiles et constitue une méthode couramment utilisée pour la communication série binaire entre les unités de commande électroniques (ECU). Parmi les ECU les plus courantes, on peut citer : celles du moteur, de la transmission et des freins, ainsi que celles du tableau de bord et des portières.
Consortium and other Specifications
Il existe un certain nombre de normes dérivées de la norme SAE J1939. Ces normes s'appuient sur la description de base de la norme J1939 et ne diffèrent souvent que par la définition des données et, le cas échéant, par des adaptations de la couche physique.
ISO 11783 – Tracteurs et machines agricoles et forestières – Commande et communication en série
Cette norme définit la communication au sein des véhicules utilisés dans le secteur agricole. Plus précisément, elle porte sur la communication entre le tracteur et les équipements auxiliaires, appelés « outils ». La norme ISO 11783 spécifie des services au niveau de la couche application, par exemple le contrôle des équipements auxiliaires via un terminal virtuel. Les équipements auxiliaires fournissent eux-mêmes tous les éléments graphiques nécessaires à leur contrôle, que le terminal virtuel peut afficher. Les autres composants d'application sont les suivants : l'ECU du tracteur, le contrôleur de tâches, le serveur de fichiers et le contrôle de séquence. La norme ISO 11783 comporte une extension du protocole multipacket défini pour la norme SAE J1939. Le mécanisme « Working Set » est également appliqué.
Structure du document J1939
La spécification J1939 complète est subdivisée en divers documents et chapitres. Tous ces documents peuvent être téléchargés individuellement ou sous forme d'ensembles pré-constitués depuis le site web de la SAE : www.sae.org.
Les chapitres individuels de la spécification J1939 sont payants ; en d'autres termes, ils ne sont pas accessibles gratuitement. Ces chapitres sont structurés de manière systématique et s'inspirent librement du modèle de référence ISO/OSI. Ils ne s'en inspirent que librement, car la structure documentaire de la norme J1939 comporte un chapitre 8 qui n'est pas défini dans le modèle OSI.
Le tableau ci-contre répertorie les chapitres et documents actuellement disponibles.
Couche physique
Comparaison des spécifications J1939-11/14/15
Le protocole SAE J1939 utilise le réseau CAN (Controller Area Network, normes ISO 11898-1 et ISO 11898-2) comme couche physique.
| Paramètre | J1939-11 | J1939-15 | J1939-14 |
|---|---|---|---|
| Câble à paires torsadées | Blindé | Non blindé | Blindé ou non blindé |
| Débit binaire | 250 kbit/s | 250 kbit/s | 500 kbit/s |
| Nombre d'ECU | 30 | 10 | 30 |
| Longueur du bus | Max. : 40 m | Max. : 40 m | Max. : 40,0 m – 56,4 m |
| Distance entre les unités de contrôle électronique (ECU) | Min. : 0,1 m | Max. : 40 m | Min. : 0,1 m | Max. : 40 m | Min. : 0,3 m | Max. : 40,0 m – 56,4 m |
| Longueur du tronçon | Max. : 1 m | Max. : 3 m | Max. : 1,67 m |
Longueur du raccord de diagnostic | Max. : 0,66 m + 5 m | Max. : 2,66 m + 5 m | Max. : 1,67 m + 5 m |
Groupe de paramètres
Le document J1939-21 définit le schéma selon lequel l'identifiant CAN de 29 bits doit être interprété. À l'instar du champ de données de 8 octets d'un message CAN, dans lequel différents signaux sont définis par un bit de départ et une longueur, l'identifiant CAN est subdivisé en différents segments pour un groupe de paramètres. De ce fait, seule une partie de l’identificateur représente le PGN lui-même, le reste étant interprété comme l’adresse source, l’adresse de destination, la priorité et la page de données (DP).
Sections PGN
Les deux bits « Page de données » (DP) et « Page de données étendue » (EDP) font également partie du PGN et sont pris en compte en tant que deux bits les plus significatifs. Par conséquent, la plage numérique est répartie sur quatre pages PGN, mais seules trois d’entre elles sont utilisées pour la norme J1939.
Les définitions de pages de données suivantes sont disponibles :
| Page de données étendue (EDP) | Page de données (DP) | Description |
|---|---|---|
| 0 | 0 | SAE J1939 et ISO 11783 |
| 0 | 1 | SAE J1939 NMEA 2000® |
| 1 | 0 | SAE J1939 – réservé – |
| 1 | 1 | ISO 11992 Diagnostics (Important : pas de configuration J1939 !) |
Transport Protocol
Les messages dont la longueur dépasse 8 octets sont trop volumineux pour tenir dans une seule trame de données CAN. Ils doivent donc être divisés par l'émetteur en paquets individuels, qui peuvent ensuite être envoyés chacun dans un message CAN distinct. Le récepteur doit réassembler les fragments individuels dans leur ordre d'origine. Un ensemble de règles est défini à cet effet dans la norme J1939 : ce que l'on appelle un protocole de transport.
Deux protocoles de transport sont définis en fonction des types de communication.
Communication spécifique à la diffusion de pair à pair – Transfert de données en mode connecté (RTS/CTS)
Avec ce protocole, l'expéditeur établit une connexion avec le destinataire. Le destinataire a la possibilité de contrôler et d'influencer la gestion du flux des paquets de données individuels. Tant le destinataire que l'expéditeur peuvent interrompre la connexion (par exemple en cas d'erreurs).
Le protocole de transfert de données en mode connexion n’est soumis à aucune limitation de temps. Tous les nœuds échangent potentiellement leurs données entre eux à leur vitesse maximale possible.
Diagnostics
L'interface de diagnostic J1939 définit un connecteur de diagnostic standard ainsi qu'un ensemble de PGN destinés à la gestion de différents services de diagnostic. Les PGN désignés comme « messages de diagnostic » (DM) couvrent en grande partie le Scope des fonctions du système de diagnostic UDS (Unified Diagnostic Service). Ils sont également conformes aux directives de l’UE et au « California Code of Regulation » relatif aux systèmes de diagnostic embarqués (OBD II), ainsi qu’aux normes HD OBD (Heavy Duty OBD) et WWH (World Wide Harmonized) OBD (ISO 27145).
Contrairement au diagnostic UDS, dans lequel les services doivent être lancés activement via un outil logiciel, les calculateurs J1939 envoient également des messages de diagnostic de manière autonome pendant le fonctionnement normal. Les erreurs qui surviennent sont évaluées directement au sein du réseau et affichées visuellement, si nécessaire. Parallèlement, les erreurs peuvent être lues à l’aide d’un outil via le connecteur de diagnostic. Des codes d’erreur uniformes – appelés « Diagnostic Trouble Codes » (DTC) – contiennent le SPN défectueux, le profil de l’erreur et la fréquence d’apparition de celle-ci.
Code d'anomalie (DTC)
Un code d'anomalie (DTC, Diagnostic Trouble Code) signale une anomalie au sein du système. Il correspond principalement à un point de surveillance (SPN) dont l'état actuel est anormal. Cela peut avoir différentes causes. Un indicateur précisant la raison de cet état permet d'essayer de cerner la cause réelle de l'erreur. Un code d'anomalie présente une structure uniforme et se compose des éléments suivants :
- Numéro de paramètre suspect (SPN)
Représente le SPN présentant une erreur. Chaque SPN défini peut être utilisé dans un code DTC. - Identifiant du mode de défaillance (FMI)
Désigne la nature et le type d’erreur survenue, par exemple : dépassement de la plage de valeurs (trop haute ou trop basse), courts-circuits au niveau des capteurs, fréquence de mise à jour incorrecte, erreur d’étalonnage. - Compteur d'occurrences (OC)
Compteur qui comptabilise le nombre d’occurrences de la condition d’erreur pour chaque SPN et conserve cette information même lorsque l’erreur n’est plus active. - Méthode de conversion SPN (CM)
Définit l’alignement des octets au sein du DTC. La valeur « 0 » correspond à la méthode illustrée dans le graphique « Structure d’un DTC ». Si CM prend la valeur « 1 », il convient de distinguer trois méthodes précédemment valides ; cette distinction doit être connue du système.
sûreté de fonctionnement
La norme SAE J1939 prévoit deux approches différentes pour le transfert de données critiques pour la sécurité. L'une d'elles est la norme SAE J1939-76, qui décrit un processus général permettant de protéger un groupe de paramètres donné. L'autre repose sur des groupes de paramètres normalisés définis par la norme SAE J1939, dotés d'une somme de contrôle et d'un compteur intégrés.
SAE J1939-76 – Message d'en-tête dédié à la sécurité avec somme de contrôle et compteur de séquence
La norme SAE J1939-76 (Protocole de communication pour la sûreté de fonctionnement SAE J1939) décrit une extension de la norme J1939 destinée au transfert de données critiques pour la sûreté de fonctionnement. Cela s’effectue grâce à l’envoi d’un message supplémentaire (message d’en-tête de sécurité, ou SHM) précédant le message contenant les données critiques (message de données de sécurité, ou SDM), le SHM et le SDM formant ensemble un groupe de données de sécurité (SDG).
- Le SHM contient les informations suivantes :
- un compteur de séquence (de 5 bits pour chaque SDG)
- l’identifiant CAN inversé du SDM (sans priorité, 26 bits)
- le CRC des données du SDM (32 bits)
Calendrier
L'expéditeur (producteur) génère les fichiers SHM et SDM et les envoie dans l'ordre approprié et dans le respect des délais. Le destinataire (consommateur) est chargé de vérifier l'ordre, le respect des délais ainsi que l'intégrité des données transférées.
Les délais suivants doivent être respectés pour le transfert du SDG :
SRVT : délai de validation lié à la sécurité (intervalle entre un SHM et un SDM)
SCT : temps de cycle de sécurité (intervalle entre deux instances successives de SDM)
La base temporelle permettant de déterminer les valeurs maximales admissibles de SRVT et de SCT est dérivée de la durée du cycle (débit de transmission) du PG SAE J1939 correspondant, qui doit être transféré en tant que SDM.
La détermination des valeurs maximales de SCT et de SRVT est définie comme suit :
| Base de synchronisation SDG | SCT maximal | SRVTmaximal |
|---|---|---|
| ≤ 200 ms | 150 % de la base de temps | 50 % de la base de temps |
| > 200 ms | Base de temps plus 100 ms | 100 ms |
Limites
Un SDM ne doit pas dépasser 8 octets. Cela évite d'avoir recours à un protocole de transport pour transmettre le message. De plus, le SDM doit être envoyé soit à une fréquence fixe, soit à une fréquence variable. Un exemple de fréquence variable serait toutes les 100 ms et à chaque fois qu'une modification est effectuée, sans toutefois dépasser 20 ms.
Annexe numérique de la norme SAE J1939 – Messages avec somme de contrôle et compteur intégrés
L'annexe numérique J1939 définit des sommes de contrôle pour plus de 200 messages ainsi que des compteurs de messages permettant de détecter les conditions de défaillance des calculateurs concernés. Le compteur de messages et la somme de contrôle font partie des données utiles d'un paquet de données (PG). Le compteur de messages est incrémenté d’une unité à chaque transfert de message. La somme de contrôle étant calculée à partir des données utiles, elle varie également à la suite de chaque transfert correct, que d’autres signaux aient changé ou non. Toutefois, si le compteur de messages n’est pas incrémenté lors d’un transfert suivant ou si la somme de contrôle ne correspond pas aux données utiles, le destinataire peut en déduire que l’expéditeur se trouve dans un état d’erreur.
- Sommes de contrôle
L’annexe numérique décrit cinq règles de calcul différentes pour les sommes de contrôle, dont deux reposent sur un calcul CRC (Cyclic Redundancy Check) classique d’une longueur de 8 bits. Les trois autres calculs utilisent de simples additions, des décalages de bits et des masques de bits. - Compteur de messages
L’annexe numérique spécifie six positions possibles au sein du message pour le compteur de messages.
Le graphique suivant présente, à titre d’exemple, les combinaisons et emplacements courants des sommes de contrôle et des compteurs de messages, ainsi que les noms des messages qui utilisent cette combinaison. Pour faciliter la compréhension, les cinq règles de calcul sont identifiées par une lettre majuscule (de A à E).
Règles de calcul définies
Non seulement la position dans le message varie considérablement dans certains cas, mais la formule de calcul des sommes de contrôle varie également. En substance, cinq règles sont utilisées.
1) Les deux premières règles utilisent un CRC d'une longueur de 8 bits.
2) Les trois autres reposent sur des opérations de décalage de bits et des masques de bits. Ces règles sont en vigueur depuis un certain temps déjà et s'appliquent, par exemple, aux groupes de paramètres TSC1 (PGN 0) et XBR (PGN 1024).
Affiche J1939
Le savoir-faire en un coup d'œil
N'hésitez pas à commander gratuitement l'une ou les deux affiches de référence sur le protocole J1939. Elles vous offrent toutes deux un aperçu rapide des principes fondamentaux les plus importants du protocole J1939. Deux fiches de référence au format DIN A1 (841 mm x 594 mm) à votre disposition.
L'affiche n° 1 contient :
- Présentation générale
- Documents de spécification
- Couche physique
- Identifiant CAN et structure PGN
- Structure des trames CAN
- Protocoles de transport
L'affiche n° 2 traite de :
- Gestion du réseau
- Diagnostics
- sûreté de fonctionnement
- Requête/Réponse
- Groupes de paramètres propriétaires
- Plages de signaux (J1939-71)
Vector - Le spécialiste du J1939
Vector est membre des comités SAE J1939 et participe régulièrement aux ateliers. Grâce à l'expertise de Vector et à ses nombreuses années d'expérience dans l'environnement J1939, vous bénéficiez de produits et de services hautement performants qui vous permettent de résoudre vos problèmes complexes de manière plus efficace, plus rapide et plus économique.
Grâce à une chaîne d'outils complète pour tous les projets J1939, Vector dispose de la solution qui vous convient :
- des outils logiciels parfaitement adaptés
- des composants logiciels embarqués sur mesure
- des services et des formations personnalisés, spécialement conçus pour répondre à vos besoins
Outils vectoriels
Les produits Vector suivants vous accompagnent dans vos projets J1939 :
Outils | ||
|---|---|---|
Simulation, test et développement de systèmes J1939 :
| ||
Analyse des systèmes J1939 :
| ||
Logiciel embarqué basé sur la plateforme AUTOSAR Classic avec support étendu de la norme J1939 | ||
Conception de systèmes E/E basée sur des modèles, conforme aux normes SAE J1939 et ISOBUS 11783 :
| PREEvision | |
Interface de programmation permettant d’accéder aux réseaux CAN, J1939, ISO 15765 et J1708/J1587 | ||
Logiciel pilote pour DIAdem: soutient le protocole J1939 ainsi que les normes NMEA2000 et ISOBUS (ISO 11783) | ||
Outil de diagnostic — rapide et particulièrement simple d’utilisation — pour des calculateurs individuels ou l’ensemble du véhicule | ||
Formations SAE J1939 dispensées par Vector Academy | ||