LIN communication protocol
Le réseau d’interconnexion local (LIN) est un protocole de communication série utilisé dans
les applications automobiles et industrielles. Il a été conçu pour compléter le protocole CAN
(Controller Area Network) plus complexe en offrant une alternative moins coûteuse et plus
simple pour connecter des unités de contrôle électronique (ECU) dans un véhicule ou d’autres
applications où le coût et la simplicité sont primordiaux.
Communication à faible vitesse
LIN est un protocole à basse vitesse fonctionnant généralement à une vitesse de transmission
de 19,2 kbps, bien que des vitesses plus élevées comme 33,3 kbps et 100 kbps soient
également possibles. Ce débit de données (une vitesse de transmission) plus faible le rend
adapté aux applications où la communication haute vitesse, fournie par CAN, est inutile.
Architecture maître-esclave :
Dans un réseau LIN, il y a un nœud maître et un ou plusieurs nœuds esclaves. Le nœud
maître initie la communication, tandis que les nœuds esclaves répondent aux commandes ou
aux demandes du maître.
Le format de trame LIN :
En termes simples, le bloc de message de bus LIN se compose d’un en-tête et d’une réponse.
Typiquement, le maître LIN transmet un en-tête au bus LIN. Cela déclenche un esclave, qui
envoie jusqu’à 8 octets de données en réponse.
Un nœud maître boucle à travers chacun des nœuds esclaves, envoyant une demande
d’information - et chaque esclave répond avec des données lors de l’interrogation. Les octets
de données contiennent des signaux de bus LIN (sous forme brute).
Champ BREAK :
Le champ BREAK est utilisé pour signaler le début d’un nouveau cadre de communication
LIN. Il sert de signal distinctif pour indiquer le début d’une [Link]’un nœud détecte le
champ BREAK, il sait qu’une nouvelle trame commence, et il doit se préparer à recevoir ou
transmettre des données en conséquence.
Champ SYNC :
Le champ SYNC dans l’en-tête LIN sert à synchroniser la synchronisation de tous les nœuds
du réseau, leur permettant d’aligner leurs horloges internes et de se préparer à recevoir ou
transmettre des données. Cette synchronisation est essentielle pour le timing précis et la
coordination de la communication dans le réseau LIN.
Champ de ID
Le champ ID (Identifier), généralement de 6 bits de longueur, est utilisé pour identifier le
message ou la commande spécifique transmis dans une trame LIN. Chaque message LIN a un
ID unique, et ce champ aide les nœuds à déterminer quel message est envoyé et comment
interpréter les données dans les octets de données suivants.
Champ de Parité
Les deux bits de parité suivant le champ ID sont utilisés pour la vérification des erreurs dans
la communication LIN. Ils aident à détecter et potentiellement corriger les erreurs dans les
données transmises.
Champ de DATA
Le champ DATA dans une trame LIN contient les informations réelles transmises, telles que
les commandes de contrôle, les valeurs de données ou les informations d’état. C’est là que les
données significatives pour la communication sont transmises.
Champ checksum
La somme de contrôle dans LIN est utilisée pour vérifier l’intégrité des données contenues
dans la trame de réponse envoyée par le nœud esclave. Cette somme de contrôle permet au
nœud maître de vérifier si les données reçues du nœud esclave sont exactes et n’ont pas été
corrompues pendant la transmission.
Six types de cadres LIN
Trames inconditionnelles
Forme de communication par défaut où le maître envoie un en-tête, demandant des
informations à un esclave spécifique. L’esclave concerné réagit en conséquence.
Trames de déclenchement d’événement
Le maître interroge plusieurs esclaves. Un esclave répond si ses données ont été mises à jour,
avec son ID protégé dans le 1er octet de données. Si plusieurs répondent, une collision se
produit et le maître utilise par défaut des trames inconditionnelles.
Trames sporadiques
Seulement envoyé par le maître s’il sait qu’un esclave spécifique a mis à jour les données. Le
maître "agit comme un esclave" et fournit la réponse à son propre en-tête - lui permettant de
fournir des nœuds esclaves avec des informations "dynamiques".
Trames de diagnostic
Sont utilisés pour lire les diagnostics à partir du maître ou des esclaves. Les trames
contiennent toujours 8 octets de données. ID 60 est utilisé pour la requête principale, 61 pour
la réponse esclave.
Trames définis par l’utilisateur
ID 62 est un cadre défini par l’utilisateur qui peut contenir tout type d’information.
Trames réservées
Les trames réservées ont l’ID 63 et ne doivent pas être utilisées dans les réseaux LIN
conformes à LIN 2.0
LIN & CAN
Les nœuds LIN sont généralement regroupés en clusters, chacun avec un maître qui
s’interface avec le bus CAN de base.
Exemple : Dans le siège droit d’une voiture, vous pouvez abaisser la fenêtre du siège gauche.
Pour ce faire, vous appuyez sur un bouton pour envoyer un message via un cluster LIN à un
autre cluster LIN via le bus CAN. Cela déclenche le deuxième groupe LIN pour abaisser la
fenêtre du siège gauche.
Applications du bus LIN
Aujourd'hui, le bus LIN est une norme de facto dans pratiquement tous les véhicules
modernes - avec des exemples de cas d'utilisation dans l'automobile ci-dessous :
Volant : Régulateur de vitesse, essuie-glace, climatisation, radio
Confort : Capteurs de température, de toit ouvrant, de lumière, d'humidité
Moteur : petits moteurs, moteurs des ventilateurs de refroidissement
Climatisation : Moteurs, panneau de commande (la climatisation est souvent
complexe)
Porte : Rétroviseurs latéraux, vitres, commande des sièges, serrures
Sièges : Moteurs de position, capteurs de pression
Autres : Essuie-glaces, capteurs de pluie, phares, flux d'air
Le bus LIN est également utilisé dans d'autres secteurs :
Appareils ménagers : Machines à laver, réfrigérateurs, cuisinières
Automatisation : Équipements de fabrication, travail des métaux