Bus CAN

Bus CAN

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 Bus CAN de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Bus CAN — CAN (acrónimo del inglés Controller Area Network) es un protocolo de comunicaciones desarrollado por la firma alemana Robert Bosch GmbH, basado en una topología bus para la transmisión de mensajes en entornos distribuidos. Además ofrece una… …   Wikipedia Español

  • Bus manufacturing — describes the manufacturing of buses and coaches.HistoryBus manufacturing had its earliest origins in carriage building. Other bus manufacturers had their origins in truck manufacturing. Historically, bus chassis were shared between truck designs …   Wikipedia

  • Bus De Terrain — Terme employé dans l industrie pour qualifier des systèmes d interconnexion d appareils de mesure, de capteurs, d actionneurs, … Les bus de terrain les plus courants sont : bus CAN CANopen bus LIN MODBUS Jbus InterBus Profibus DP Profibus PA …   Wikipédia en Français

  • Can — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. {{{image}}}   Sigles d une seule lettre   Sigles de deux lettres > Sigles de trois lettres …   Wikipédia en Français

  • bus'load — noun The number of people a bus can carry • • • Main Entry: ↑bus …   Useful english dictionary

  • bus|load — «BUHS LOHD», noun. as many as a bus can hold or carry: »busloads of visitors …   Useful english dictionary

  • Bus (computing) — 4 PCI Express bus card slots (from top to bottom: x4, x16, x1 and x16), compared to a 32 bit conventional PCI bus card slot (very bottom) In computer architecture, a bus is a subsystem that transfers data between components inside a computer, or… …   Wikipedia

  • Bus terminus — A bus terminus is a designated place where a bus or coach starts or ends its scheduled route. The terminus is the designated place that a timetable is timed from. Termini can be located at bus stations, interchanges, bus garages or simple bus… …   Wikipedia

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

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

Share the article and excerpts

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