Sur un bus LIN, l’identifiant n’est jamais envoyé tel quel : deux bits de parité le complètent, et la somme de contrôle porte selon la version du protocole sur les seules données ou sur l’identifiant protégé et les données. L’outil construit la trame complète, octet par octet.
Identifiant protégé (PID)
–
Somme de contrôle
–
Trame complète
–
Table des 64 identifiants
L’identifiant protégé
P0 = ID0 ⊕ ID1 ⊕ ID2 ⊕ ID4
P1 = ¬(ID1 ⊕ ID3 ⊕ ID4 ⊕ ID5)
PID = P1 P0 ID5…ID0
Sur les six bits d’identifiant, les deux bits de parité détectent les erreurs de transmission de l’en-tête. Un esclave qui reçoit un PID dont la parité est fausse doit l’ignorer : c’est la première chose à vérifier quand un module ne répond pas.
La somme de contrôle
somme = Σ octets, en retranchant 255 à chaque dépassement (addition avec retenue)
checksum = ¬somme
- Classique (LIN 1.x) : sur les données seules.
- Améliorée (LIN 2.x) : sur le PID et les données.
- Les trames de diagnostic (identifiants 0x3C et 0x3D) utilisent toujours la somme classique.
Un module récent (LIN 2.x) qui reçoit une trame avec une somme classique la rejette, et inversement : c’est l’autre cause fréquente de silence d’un esclave. Pour un exemple concret, voir le décodage du bus LIN d’un volant de Golf 8.

Laisser un commentaire
Vous devez vous connecter pour publier un commentaire.