Le bus CAN - Sciences de l'Ingénieur

Le bus CAN

BUS de terrain CAN (Controller Area Network)

 

 1- Présentation

Le CAN a été lancé en 1990 pour répondre aux besoins de l’industrie automobile devant la montée de l’électronique embarquée. En 2005 une voiture moyenne comporte une centaine de microcontrôleurs. Pour éviter les 2 kms de câblage d’une grosse voiture actuelle, soit 100 kg de cuivre, il fallait définir un bus série simplifiant énormément l’intégration des fils dans le châssis.

 En pratique, il y a trois bus CAN différents dans une voiture, à des débits différents :
• un bus très rapide pour gérer la sécurité (freinage, ABS, détection chocs, airbags...) ;
• un bus à vitesse moyenne pour gérer le moteur (commandes et capteurs) ;
• un bus lent pour gérer tous les accessoires (lampes, moteurs d’asservissements, boutons...).

Il existe sous deux versions :
• CAN2.0A : trame standard identificateur de 11 bits (CAN standard) ;
• CAN2.0B : trame plus longue avec identificateur sur 29 bits (CAN étendu).

Il existe également deux types différenciés par leur débit :
• le CAN Low Speed ;
• le CAN High Speed.

 

 2- Principe de l’arbitrage

Le procédé d’attribution du bus est basé sur le principe de "l’arbitrage bit à bit", selon lequel les nœuds en compétition, émettant simultanément sur le bus, comparent bit à bit l’identificateur de leur message avec celui des messages concurrents. Les stations de priorité moins élevée perdront la compétition face à celle qui a la priorité la plus élevée.

Les stations sont câblées sur le bus par le principe du "ET câblé". En cas de conflit c’est à dire émission simultanée, la valeur 0 écrase la valeur 1.
Dans l’exemple ci-dessus, trois stations émettent simultanément :
• la station 1 perd la compétition puis la station 3 ;
• seule la station 2 pourra transmettre.

On appelle donc "état dominant" l’état logique 0, et "état récessif" l’état logique 1. Lors de l’arbitrage bit à bit, dès qu’une station émettrice se trouve en état récessif et détecte un état dominant, elle perd la compétition et arrête d’émettre. Tous les perdants deviennent automatiquement des récepteurs du message, et ne tentent à nouveau d’émettre que lorsque le bus se libère.


 3- Les signaux du bus CAN


La transmission des données est effectuée sur une paire filaire différentielle. La ligne est donc constituée de deux fils. Et les niveaux logiques (récessifs et dominants) sont obtenus par la différence de potentiel entre les deux voies CAN L et CAN H.
Les niveaux de tension sur CANL et CANH dépendent du type Low Speed ou High Speed du bus.
Ces niveaux de tension correspondent à un codage dit NRZ (No Return to Zero : il n’y a jamais de courant nul sur la ligne. La masse n’est plus utilisée et les niveaux logiques correspondent à 2 niveaux de tensions distincts).

 

 4- Constitution d’une trame en format standard

Une trame se répartie en 7 champs :

 

Le début de trame SOF (Start Of Frame), 1 bit dominant ; la ligne étant précédemment au repos.

Composée de 12 bits (zone d’identification de la trame (11 bits + RTR) :

• les 11 premiers indiquent l’identité du contenu du message, et servent également à l’arbitrage (gestion des priorités)
• bit RTR (Remote Transmission Request) : détermine s’il s’agit d’une trame de données (ex : régime moteur) ou d’une d’une trame de demande de message (ex : demande de T° eau). Le bit à 0 (dominant) pour une trame de données et le bit à 1 (récessif) pour une trame de demande.

Champ de commande constitué de 6 bits :

• les 2 premiers serviront pour une éventuelle évolution du protocole (bits de réserve) ;
• les 4 derniers permettent de coder le nombre d’octets du champ de données .

Ce champ contient de 0 à 8 octets de données (64 bits maxi)

 

Zone CRC (Cyclic Redundancy Code) de 15 bits : Ces bits sont recalculés à la réception et comparés aux bits reçus. S’il y a une différence, une erreur CRC est déclarée.

Zone d’acquittement (ACKnowledge) composé d’un bit à l’état récessif ainsi qu’un bit séparateur ACK. Le premier bit doit être forcé à l’état dominant par les stations ayant bien reçu cette trame.

Zone de fin de trame EOF (End Of Frame), 7 bits récessifs (à l’état 1).

Remarque :
3 bits à l’état 1 séparent obligatoirement 2 trames consécutives

 5- Trame au format étendu

Champ d’arbitrage :

• SRR (Substitute Remote Request).
• IDE (Identifier Extension bit) qui établit la distinction entre format standard (état dominant) et format étendu (état récessif).
• RTR (Remote Transmission Request) détermine s’il s’agit d’une trame de données ou d’une d’une trame de demande de message.


 6- Exemples :

 

 


 Informations issues Créa technologie et cours sur le multiplexage dans un véhicule

Documents joints

Police pour dyslexie ?
Interlignage double ?