Notion de priorité

Que se passe-t-il si plusieurs nœuds tentent de transmettre simultanément?


Il existe une procédure d'accès au bus à laquelle chaque nœud doit se soumettre : lorsqu'il transmet un bit, le nœud doit rester à l'écoute du bus. Dit autrement, après avoir envoyé un bit, il lit le bus et vérifie que le bit lu correspond à celui transmis, si il y une différence (forcément sur un bit récessif), c'est qu'un autre nœud l'a écrasé par un bit dominant, le nœud doit alors interrompre sa transmission, monitorer le bus pour attendre la fin de la transmission, puis tenter à nouveau d'envoyer son message.

Ainsi une priorité est réalisée grâce au champ d'arbitrage.


C’est pendant la transmission des bits du champ d’identification (que l’on pourrait appeler arbitrage également) que le message de plus haute priorité (donc celui qui contient le plus de 0) gagne le bus.


C’est donc l’identifiant le plus petit qui est prioritaire.


Dans l’exemple ci-dessous, 3 calculateurs A, B et C émettent en même temps.

Identifiant de A : 0001 0001 1111 ((8F)16 (143)10).

Identifiant de B : 0001 1011 1111 ((1BF)16 (447)10).

Identifiant de C : 0001 0101 1111 ((15F)16 (351)10).


Jusqu’au 4ème bit : il y a égalité des identifiants.

Au 5ème bit : le calculateur B émet un bit identifiant à 1 (récessif), le calculateur B perd la priorité et arrête d’émettre.

Au 6ème bit : le calculateur C émet un bit identifiant à 1 (récessif), le calculateur C perd la priorité et arrête d’émettre.

Ainsi le calculateur A peut continuer d’émettre sur le bus.


Ainsi le constructeur devra choisir judicieusement les identifiants affectés aux messages qui doivent être prioritaire notamment pour des raisons de sécurité.

Exemple : un message demandant la coupure de l’injection pendant une phase de régulation de freinage (ABS ou ESP) prioritaire par rapport à une demande d’accélération !!!

Créé avec HelpNDoc Personal Edition: Générer facilement des livres électroniques Kindle