Guide de décodage et de diagnostic du protocole SENT
Décodage du protocole SENT (SAE J2716) avec PicoScope
SENT est une norme de communication unidirectionnelle point à point appliquée aux capteurs qui convertissent les signaux analogiques tels que le débit massique d’air, la position du papillon, la pression et la température en signaux numériques.
Les capteurs SENT sont utilisés par les constructeurs automobiles depuis le milieu des années 2000 en raison de leurs propriétés avantageuses, à savoir une sortie haute résolution (12 bits), un câblage réduit (2 capteurs peuvent être contenus dans un seul capteur), une conception robuste, une grande fiabilité et des caractéristiques de communication numérique (appréciées par les calculateurs).
À l’aide d’un seul câble, les capteurs SENT transmettent indépendamment des paramètres de fonctionnement concis (par exemple, le débit massique d’air (MAF)) via une série d’impulsions de tension assemblées en paquets uniques à grande vitesse (SENT Fast), tout en transmettant simultanément plusieurs informations moins critiques (par exemple, la température, les caractéristiques du capteur) à faible vitesse via plusieurs paquets (SENT Slow).
L’ECU décode les paquets SENT Fast pour déterminer les paramètres de fonctionnement (par exemple, le MAF) tout en réassemblant plusieurs paquets de données SENT Slow pour déterminer les informations moins critiques (par exemple, la température).
Afin de décoder les impulsions de tension d’un capteur SENT en données interprétables, nous devons comprendre le codage du protocole SENT conformément à la spécification SAE J2716.
À commencer par SENT, SE fait référence à Single Edge (bord simple), qui sont nos points de mesure dans un train d’impulsions, tandis que NT fait référence à Nibble Transmission (transmission de quartet), où un quartet est une impulsion de tension variable de 4 bits (demi-octet), mesurée entre les fronts descendants, contenant 16 valeurs possibles pour la transmission.
Conformément à la spécification J2716, nous savons que l’intervalle de temps entre les fronts descendants d’impulsions de tension consécutives révèle la valeur de 4 bits du nibble (0 à 15).
Pour déterminer la valeur du nibble, nous devons calculer l’unité de temps fondamentale utilisée par le protocole SENT, appelée « tick time » (temps de tick).
SENT FAST
Figure 1. point 1 (Impulsion d’étalonnage)
Le temps de tick peut être calculé en divisant par 56 l’intervalle de temps mesuré (µs) entre le front descendant de l’impulsion la plus large (fin du paquet précédent) et le front descendant de l’impulsion suivante (début du nouveau paquet). Nous obtenons ici 168 µs / 56 = 3 µs de temps de tick.
Remarque : bien que le temps de tick soit généralement de 3 µs, il peut aller jusqu’à 90 µs ; cependant, l’intervalle de temps mesuré de l’impulsion d’étalonnage est toujours divisé par 56. Lorsque le temps de tick est inconnu, la procédure de mesure ci-dessus permet de calculer la valeur requise avec précision.
À l’aide du tableau ci-dessous, nous pouvons maintenant convertir l’intervalle de temps d’une impulsion de tension (nibble) mesuré entre les fronts descendants en une valeur nibble. Par exemple, en utilisant un temps de tick de 3 µs et un intervalle de temps mesuré (temps de nibble) de 51 µs, nous trouvons que le nombre de ticks est de 17 (51 µs / 3 µs), ce qui donne une valeur de nibble binaire de 0101 (5 décimales, 05 hexadécimal).

Figure 1. point 2 (Impulsion de statut et de communication)
L’impulsion de statut (4 bits / quartet) contient des informations sur le mode de fonctionnement du capteur et les conditions de défaillance (informations de diagnostic). De plus, des informations supplémentaires sous la forme d’un message partiel (utilisant 2 bits de l’impulsion d’état à 4 bits) sont transmises sur 16 paquets rapides (message série court) ou 18 paquets rapides (message série amélioré) pour former un message complet contenant diverses informations supplémentaires, à savoir le code du fabricant, le type de capteur, la version du protocole, les codes d’erreur et les valeurs caractéristiques de la fonction de transfert linéaire nécessaires pour tracer la sortie du capteur. Ces messages complets (formés sur plusieurs paquets rapides) sont appelés SENT Slow et sont visibles à l’aide du décodeur Pico SENT Slow.
Figure 1. point 3 (Impulsion de données par quartet)
La section de données par quartet du paquet de données SENT est réservée à la sortie du capteur proportionnellement au paramètre mesuré, en utilisant diverses configurations dépendant du type de capteur (c’est-à-dire 2 x 12 bits, 1 x 14 bits combiné avec 1 x 8 bits, etc.). Un maximum de 6 données nibbles peuvent être transmises dans un seul paquet SENT, l’intervalle de temps de chaque impulsion de données nibbles (mesuré entre les fronts descendants) combiné au temps de tick équivalant à la valeur nibbles.
La colonne Données du tableau du décodeur affiche chacun des 6 nibbles de données au format hexadécimal. Étant donné que le capteur SENT est un capteur de pression 12 bits + 12 bits (c’est-à-dire 2 capteurs de pression dans une seule unité), les 6 nibbles de données sont répartis de manière égale, les 3 premiers nibbles représentant le capteur de pression 1 et les 3 nibbles suivants représentant le capteur de pression 2.
Si nous nous concentrons sur le paquet 6 mis en évidence dans le tableau du décodeur, nous constatons que 0D 02 0A sont les 3 nibbles attribués au capteur de pression 1 et que 03 07 03 sont attribués au capteur de pression 2.
En utilisant les nibbles de données du capteur de pression 1, supprimez le 0 de chaque valeur hexadécimale pour obtenir D2A, qui est ensuite converti de la valeur hexadécimale à la valeur décimale 3 370. Ce processus est ensuite répété pour les 3 nibbles de données restants du capteur 2 (Hex 373, Déc 883).
Remarque : les valeurs décimales 3 370 et 883 sont affichées dans le tableau du décodeur sous les en-têtes de colonne Ch1 et Ch2, représentant respectivement les valeurs décimales des capteurs 1 et 2.
Bien que Ch1 et Ch2 comprennent des valeurs décimales décodées, elles ne représentent pas les unités de paramètres (c’est-à-dire bar, gm/sec, etc.) car des valeurs d’échelle, de décalage et de limite sont nécessaires (disponibles via SENT Slow). Cependant, vous pouvez choisir d’exporter le tableau de décodage (format .csv), où les colonnes graphiques Ch1 et Ch2 révéleront un changement d’état (c’est-à-dire un changement de pression ou de débit massique d’air par rapport à une augmentation du régime moteur).
Figure 1. point 4 (impulsion de quartet de somme de contrôle)
Le quartet de somme de contrôle contient un contrôle de redondance cyclique (CRC), qui est utilisé pour la vérification des données et la détection des erreurs. Sur la base du contenu de l’ensemble du paquet de données (à l’exclusion du statut et du nibble de communication), le capteur SENT génère et transmet une valeur CRC de 4 bits, à partir de laquelle l’ECU effectue des calculs basés sur le contenu du paquet reçu pour aboutir finalement à une valeur identique à la CRC transmise. Si ces valeurs CRC ne peuvent être calculées, une erreur est détectée et gérée en conséquence.

SENT Slow
SENT Slow utilise une technique dans laquelle 2 bits de données dans le quartet d’état et de communication (figure 1, point 2) d’un paquet SENT Fast sont réservés à la transmission d’un message série court (sur 16 paquets SENT Fast) ou d’un message série amélioré (sur 18 paquets SENT Fast).
Les données SENT Slow sont réservées aux informations moins critiques, telles que l’ID du capteur, la température, les caractéristiques de la fonction de transfert linéaire, les codes d’erreur, la version du protocole et les codes du fabricant, qui, bien que pertinentes, ne sont pas essentielles à la transmission via le protocole SENT Fast.
L’ECU récepteur peut réassembler plusieurs paquets consécutifs de données SENT Fast afin de décoder les informations moins critiques et de les utiliser en conséquence (SENT Slow).
Figure 2. point 1
Le décodeur PicoScope 7 SENT Slow a été appliqué à notre capture en conjonction avec le décodeur SENT Fast, ce qui permet de visualiser les deux protocoles sous forme de graphique et de tableau.
Figure 2. point 2 (ID de message 8 bits et ID de message)
Les ID de message 8 bits sont utilisés pour les messages série améliorés, où le tableau du décodeur PicoScope répertorie 2 en-têtes de colonne ; le premier est l’ID de message, qui fournit le codage ID 8 bits (ID de message 03 ; paquet 1), le second est un ID de message 8 bits qui inclut une description attribuée à l’ID 03 (type de capteur canal 1/2 ; paquet 1).
Bien qu’elles ne soient pas toujours présentes, les caractéristiques de la fonction de transfert linéaire d’un capteur (qui comprennent les coordonnées X1, Y1 et X2, Y2) sont décrites dans la colonne ID de message 8 bits avec leurs valeurs hexadécimales et décimales respectives sous les en-têtes Données et Valeur des données (voir figure 2. point 4). La connaissance de ces valeurs de coordonnées permettra un décodage et un traçage précis des données figurant dans les colonnes Ch1 et Ch2 du décodeur rapide SENT dans leurs unités respectives (c’est-à-dire bar et gm/sec).
Pour plus d’informations sur le décodage SENT, veuillez consulter le forum Pico Auto ici https://www.picoauto.com/support/viewtopic.php?t=22061
Figure 2. point 3 (message série amélioré)
La colonne « Enhanced serial message » (message série amélioré) décrit le message du capteur SENT, où le paquet 1 indique que notre capteur renvoie les valeurs de pression sur les canaux 1 et 2 et prend en charge la détection de la température via un transfert de données supplémentaires (SENT Slow).
Remarque : même si un capteur prend en charge les données supplémentaires, il se peut qu’il ne fournisse pas les données pertinentes (c’est-à-dire la température), car cela dépend des exigences du fabricant d’équipement d’origine.
Figure 2. point 4 (Données et valeur des données)
Le tableau du décodeur PicoScope affiche de manière pratique les données SENT Slow transmises au format hexadécimal dans la colonne Données et au format décimal dans la colonne Valeur des données.
Remarque : le premier zéro de chaque valeur hexadécimale (nibble) est supprimé avant la conversion décimale. Par exemple, si l’on se concentre sur le paquet 4, notre colonne Données indique 3 nibbles représentés en format hexadécimal contenant les données 03 00 01, qui sont à leur tour traduites en Hex 301 et converties en décimal 769 dans la colonne Valeur des données.
Un champ de données de 12 bits est utilisé avec un message série amélioré et transmis sur 18 paquets SENT Fast consécutifs. En se référant au paquet 1, les données transmises (00 00 09) seront réassemblées par l’ECU récepteur afin de définir le contenu moins critique du message, tel que le type de capteur, la température et les codes d’erreur.
En se référant au graphique, on peut voir comment 18 paquets SENT Fast consécutifs sont transmis simultanément (entre les règles de temps) pour dériver les données SENT Slow (00 00 09).
Figure 2. point 5 (CRC : contrôle de redondance cyclique)
Le CRC est utilisé pour la vérification des données/la détection des erreurs et est basé sur le contenu du message série. Le capteur SENT génère et transmet une valeur CRC de 4 bits pour un message série court ou une valeur CRC de 6 bits pour un message série amélioré. L’ECU récepteur effectue des calculs basés sur le contenu des messages série afin d’obtenir une valeur identique à la valeur CRC transmise. Si ces valeurs CRC ne peuvent être calculées, une erreur est détectée et gérée en conséquence.

L’article ci-dessus sert d’introduction et de présentation générale du SENT. Pour approfondir vos connaissances, veuillez vous reporter aux publications officielles afin d’élargir vos connaissances et d’améliorer vos compétences en matière de diagnostic. Merci comme toujours d’avoir pris le temps de lire ces articles et de visionner les vidéos associées ici : https://www.youtube.com/playlist?list=PLwQU2pgVAGvEpq8u9OHz3hOIsZj1fPBR3


