Controller Area Network

Controller area network

Pile de protocoles
7 • Application
6 • Présentation
5 • Session
4 • Transport
3 • Réseau
2 • Liaison
1 • Physique
Modèle Internet
Modèle OSI

Le bus CAN (Controller Area Network) est un bus système série, fruit de la collaboration entre l'Université de Karlsruhe et Bosch. Il est surtout utilisé dans le secteur de l'automobile. Il fut présenté avec Intel en 1985.

Le bus CAN est une application d'une approche connue sous le nom de multiplexage, et qui consiste à raccorder à un même câble (un bus) un grand nombre de calculateurs qui communiqueront donc à tour de rôle. Cette technique élimine le besoin de câbler des lignes dédiées pour chaque information à faire transiter (connexion point-à-point). Dès qu'un système (voiture, avion, réseau téléphonique…) atteint un certain niveau de complexité, l'approche point-à-point devient impossible du fait de l'immense quantité de câblage à installer et de son coût (en masse, matériaux, main d'œuvre).

L'introduction des bus multiplexés (principalement le CAN) dans l'automobile avait pour objectif de réduire la quantité de câbles dans les véhicules (il y a jusqu'à 2 km de câbles par voiture), mais elle a surtout permis l'explosion du nombre de calculateurs et capteurs distribués dans tout le véhicule, et des prestations correspondantes (baisse de consommation, dépollution, sécurité active/passive, confort, détection des pannes…), tout en n'augmentant pas trop les longueurs câblées.

Sommaire

Principe et normes

Il existe pour le moment 2 normes couvrant la couche 2 du modèle OSI :

  • Le CAN standard ou CAN 2.0 A : avec un identifiant d'objet codé sur 11 bits, qui permet d'accepter théoriquement jusqu'à 2 048 types de messages (limité à 2 031 pour des raisons historiques).
  • Le CAN étendu ou CAN 2.0 B : avec un identifiant d'objet codé sur 29 bits, qui permet d'accepter théoriquement jusqu'à 536 870 912 types de messages. À la demande du SAE qui est à l'origine du standard J1939.

Ces 2 normes sont compatibles, c’est-à-dire qu'il peut circuler sur un même réseau des messages suivant la norme 2.0A et des messages suivant la norme 2.0B.

L'accès au bus CAN suit la technique CSMA/CR (écoute de chaque station avant de parler mais pas de tour de parole, résolution des collisions par priorité). L'émission d'une trame commence par l'émission de son identifiant d'objet. Les collisions sont résolues par un principe de « bit dominant » : si une station émet un '1' pendant qu'une autre émet un '0', c'est le '0' qui est transmis sur le support. La station qui a émis le 1 voit qu'elle n'est pas seule, sait qu'elle n'est pas la plus prioritaire, et cesse d'émettre.

Concernant les couches physiques, il existe plusieurs normes applicables, les 2 plus fréquentes sont :

  • 11898-2 concernant le CAN High Speed ;
  • 11898-3 concernant le CAN Low Speed Fault Tolerant.

Pour le CAN High Speed la norme ISO 11898-2 recommande les vitesses suivantes en fonction de la longueur de bus et des charges capacitives :

  • 1 Mbit/s → 60 m
  • 500 Kbit/s → 150 m
  • 100 Kbit/s → 1000 m
  • 20 Kbit/s → 1200 m

Le bus CAN a été normalisé avec la norme ISO 11898.

La communication se fait en série par le biais de trames qui se constituent des éléments suivants : [1]

  • Bit SOF (Start Of Frame) indique le début d’une nouvelle trame à l’ensemble des éléments du réseau
  • zone d'arbitrage (11bits en standard) il s’agit de la zone où tous les périphériques communiquent leur adresse, cette zone permet de déterminer qui peut envoyer sa trame. On rappelle que les adresses les plus basses sont prioritaires.
  • bit RTR (Remote Transmission Request) : détermine s'il s'agit d'une trame de données ou d'une trame de demande de message.
  • bit IDE qui établi la distinction entre format standard (état dominant) et format étendu (état récessif)
  • 1 bit réservé pour une utilisation future (r0 et aussi r1 en format étendu)
  • 4 bit DLC (Data Length Code) : nombre d'octets contenus dans la zone de données (par exemple pour une trame de 6 octets on enverra 0110)
  • zone de données de longueur comprise entre 1 et 8 octets
  • zone CRC de 15 bits :(Cyclic Redundancy Code = Contrôle de redondance cyclique). Ces bit 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. Pour rappel, la détection d’erreur CRC se base sur une succession de divisions du message reçu par un polynôme prédéfini.

Grâce à ce système de détection, le taux d’erreur enregistré est très faible (inférieur à 4,6.10-11). De plus, le réseau est capable de différencier les erreurs ponctuelles des erreurs redondantes. Ainsi tout périphérique défaillant peut être déconnecté du réseau afin de limiter les perturbations. Le réseau entre alors en mode « dégradé ».

  • zone ACK (acknowledge : accusé de réception) 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. C'est à cause de ce bit récessif que le débit du CAN est limité. En effet il faut que le module qui reçoit le message ait le temps d'émettre l'accusé de réception. C'est ce qui explique que la longueur du câblage détermine le débit. Ce problème à poussé à développer le flexray qui règle ce problème et qui peut atteindre 10Mbit/s de débit.
  • zone EOF de 7 bits : (End Of Frame) permet d'identifier la fin de la trame
  • Un dernier bit peut apparaître, il s'agit du bit de « stuff ». Lorsque la trame comporte 5 bits consécutifs identiques (00000 ou 11111), il est ajouté un bit complémentaire des autres afin de resynchroniser l'horloge du bus.

Par exemple 1111 1110 deviendra 1111 1011 0, la zone intégrant le bit de stuffing s'arrête à la fin du CRC.

En plus des trames classiques, il existe aussi des trames d'erreur. Ces trames, composées uniquement de bits dominants, permettent à un calculateur qui détecte une erreur d'annuler la lecture de la trame pour l'ensemble du réseau (de façon à ce que tous les calculateurs aient accès dans tous les cas à une information certifiée par l'ensemble du réseau).

Plusieurs couches applications (couche 7) ont été définies sur la norme CAN :

Des réseaux alternatifs à CAN sont progressivement introduits dans les architectures Électriques Électroniques automobiles, tels FlexRay ou MOST.

Bibliographie

  • Dominique Paret, Le bus Can : Description, de la théorie à la pratique, Dunod, 2009, 277 p. (ISBN 978-2100047642) 
  • (en) Wolfhard Lawrenz, CAN System Engineering From Theory to Practical Applications, Springer, 2007, 468 p. (ISBN 978-0387949390).
    Livre en anglais écrit par le chef de projet du réseau CAN chez Bosch lors de la création du protocole.
     

Notes et références

Voir aussi

Liens internes

Liens externes

  • Portail de l’électricité et de l’électronique Portail de l’électricité et de l’électronique
  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Controller area network ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Controller Area Network de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Controller area network — Controller–area network (CAN or CAN bus) is a vehicle bus standard designed to allow microcontrollers and devices to communicate with each other within a vehicle without a host computer. CAN is a message based protocol, designed specifically for… …   Wikipedia

  • Controller-area network — (CAN or CAN bus) is a computer network protocol and bus standard designed to allow microcontrollers and devices to communicate with each other without a host computer.It was designed specifically for automotive applications but is now also used… …   Wikipedia

  • Controller Area Network — Der CAN Bus (Controller Area Network) ist ein asynchrones, serielles Bussystem und gehört zu den Feldbussen. Um die Kabelbäume (bis zu 2 km pro Fahrzeug) zu reduzieren und dadurch Gewicht zu sparen, wurde der CAN Bus 1983 von Bosch für die… …   Deutsch Wikipedia

  • Controller area network — Pile de protocoles 7.  Application 6.  Présentation 5.  Session 4.  T …   Wikipédia en Français

  • Controller Area Network — CAN (англ. Controller Area Network  сеть контроллеров)  стандарт промышленной сети, ориентированный прежде всего на объединение в единую сеть различных исполнительных устройств и датчиков. Режим передачи  последовательный,… …   Википедия

  • Bus Controller Area Network — Controller area network Pile de protocoles 7 • Application 6 • Présentation 5 • Session 4 • T …   Wikipédia en Français

  • Network performance — refers to the service quality of a telecommunications product as seen by the customer. It should not be seen merely as an attempt to get more through the network. The following list gives examples of Network Performance measures for a circuit… …   Wikipedia

  • Network address translation — NAT redirects here. For other uses, see Nat (disambiguation). In computer networking, network address translation (NAT) is the process of modifying IP address information in IP packet headers while in transit across a traffic routing device. The… …   Wikipedia

  • Network switching subsystem — (NSS) (or GSM core network) is the component of a GSM system that carries out call switching and mobility management functions for mobile phones roaming on the network of base stations. It is owned and deployed by mobile phone operators and… …   Wikipedia

  • network — {{Roman}}I.{{/Roman}} noun 1 connections ADJECTIVE ▪ extensive, large, vast, wide, widespread ▪ an extensive network of underground tunnels ▪ complex …   Collocations dictionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”