Académique Documents
Professionnel Documents
Culture Documents
Le bus CAN
Historique
L’entrée en force de l’électronique dans l’automobile, avec l’introduction de nombreux processeurs qui
réalisent les fonctions de contrôle-commande pour des processus aussi variés que :
Le contrôle moteur en conformité avec les normes anti-pollution,
Le freinage : ABS (Anti Blocage Système), AFU (Assistance au Freinage d’urgence)…
La sécurité : Airbags, régulateur de vitesse, système anticollision par radar, ESP (Electronic Stability
Program), ASR (antipatinage)
Le confort : Climatisation, lève-vitre, autoradio, siège ergonomique
L’aide à la navigation : navigateur GPS et cartographie
Le dialogue avec l’utilisateur : tableau de bord & ordinateur de bord
Les fabricants ont été amenés à développer des réseaux informatiques pour l’automobile. En effet une solution
informatique centralisée était impensable, car elle aurait induit à un câblage trop coûteux et même impossible à
mettre en uvre. Une structure informatique répartie permet de multiplier les calculateurs qui seront ainsi
localisés au plus près des capteurs et des actionneurs, ceci permet de limiter le câblage au maximum. Il ne
restait plus qu’à interconnecter les différents processeurs entre eux pour assurer l’interopérabilité. CAN est un
réseau de terrain qui a été développé pour l’automobile par l’équipementier allemand BOSCH.
#Niedercorn LT « la Briquerie » 57100 THIONVILLE Transmission bus CAN & page 1/13
Une usine possède plusieurs ateliers, un atelier comprend un ensemble de cellules de production, une cellule est
elle-même composée d’un ensemble de machines et chaque machine comporte plusieurs équipements (capteurs
et actionneurs). Les informations transitent à tous les niveaux au moyen de réseaux. Bien entendu un même
réseau peut être présent sur différents niveaux de CIM (ex. : WorldFIP & PROFIBUS sont présents au niveau
cellule & au niveau terrain (capteurs et actionneurs).
Dans un environnement industriel, CAN permettra donc d’interconnecter des équipements tels que
capteurs, actionneurs, automates programmables, calculateurs industriels.
#Niedercorn LT « la Briquerie » 57100 THIONVILLE Transmission bus CAN & page 2/13
Principe des bits dominants et récessifs
Parce que les collisions sur le bus peuvent avoir un effet catastrophique (le débit peut s’écrouler sur un réseau
Ethernet en cas de fort taux de charge => réseau non déterministe), CAN utilise une technique de bits
dominants et récessifs.
Le bus peut prendre deux états :
état dominant (correspondant à un niveau logique 0),
état récessif (correspondant à un niveau logique 1).
En cas de transmission simultanée (par deux n uds) de deux niveaux différents, c’est l’état dominant qui
l’emporte.
Donnons un exemple d’implémentation matérielle de cette technique :
Sur la figure ci-dessus, la technique des sorties à collecteur ouvert est un exemple de solution pour mettre en
uvre le principe de bit dominant et bit récessif. Sur la ligne de bus, le niveau dominant est le niveau 0 et le
niveau 1 est récessif. En effet, il suffit qu’une seule sortie d’un n ud impose un 0 (Transistor saturé) pour que
la ligne de bus passe à 0, et ceci même si l’autre sortie veut imposer un niveau 1 (Transistor bloqué). Le niveau
0 est dominant, il l’emporte sur le 1. Pour que la ligne de bus soit à 1, il faudra donc que les deux sorties des
uds soient à 1 (les deux transistors sont bloqués).
Méthode d’accès au bus
CAN utilise une méthode d’arbitrage bit à bit pour l’accès au bus. Cette méthode est appelée CSMA/CR
(Carrier Sense, Multiple Access with Collision Resolution), elle réalise un arbitrage non destructif (dit Non-
Destructive Bitwise Arbitration). Afin d’attribuer le bus à un n ud et un seul, CAN opère de la manière
suivante :
è Le n ud qui désire transmettre, vérifie d’abord que le réseau est libre en analysant le signal sur le réseau
(Carrier Sense). Si c’est le cas, il accède au bus directement en déposant sur celui-ci un bit de start à 0 (Start Of
Frame ) puis l’ID : l’identificateur du bit de poids fort au bit de poids faible.
è Si plusieurs stations désirent émettre quasi simultanément, elles vont voir le bus libre et vont donc accéder
simultanément au réseau (Multiple Access). L’arbitrage se fait ensuite bit à bit, chaque station vérifie qu’elle lit
bien sur le bus (bus monitoring), ce qu’elle y a écrit. Tant que les données lues correspondent aux données
écrites, chaque station croit être la seule, elle continue donc à émettre. Dés qu’une station présente un bit
récessif alors qu’au moins une autre présente un bit dominant, alors elle perd l’arbitrage (le schéma de la figure
3 ci-dessous présente ce principe). Lorsqu’un n ud perd l’arbitrage, il arrête d’émettre (Collision Resolution) et
devient récepteur. Il n’essaiera de retransmettre son message que lorsque le bus sera à nouveau libre. Tout se
passe donc comme si le message de plus haute priorité était le seul à être transmis.
La trame la plus prioritaire sera donc celle dont l’ID est le plus petit (beaucoup de bits à 0 (dominants) dans les
bits de poids fort).
#Niedercorn LT « la Briquerie » 57100 THIONVILLE Transmission bus CAN & page 3/13
Conséquence sur le compromis débit/distance
L’arbitrage au niveau du bit, impose une contrainte de longueur maximale du bus. En effet le "Temps Bit" doit
être supérieur à 2 fois la durée de propagation à travers le câble (notée tp).
Examinons le chronogramme de la figure, à t0 la station 1 croit être la seule sur le bus, elle commence à émettre
un bit récessif. Compte tenu de la vitesse de propagation des ondes EM dans les câbles (200 000km/s), ce bit
parviendra à la station 2 au bout du temps tp (à l’instant t2). Mais peu de temps avant, la station 2 qui désirait
émettre et ne voyant pas de conflit, a commencé à transmettre un bit dominant. Ce bit dominant va écraser le bit
récessif émis par la station 1, mais celle-ci ne le saura qu’à l’instant t 3, à condition qu’elle l’émette encore à ce
moment là. Dans le pire des cas (t1#t2), le temps bit doit donc être supérieur à 2tp.
Si l’on considère le débit maximum de Can, soit 1Mbit/s, il vient : Temps bit=1µs et tp<0,5µs, soit une distance
maximum théorique du bus de 200 000 km/ 2000 000 soit 100m.
En réalité, il faut prendre en compte les temps de transfert des étages électroniques en entrée et en sortie, mais
également les dérives possibles des horloges. Le diagramme, présente le compromis débit/distance, qu’il est
recommandé de respecter.
#Niedercorn LT « la Briquerie » 57100 THIONVILLE Transmission bus CAN & page 4/13
Types de messages
Il existe quatre types de trames pouvant être transmises sur un Bus CAN :
Trames de données (Data frames): elles sont utilisées pour transporter des données de l’application sur
le bus.
Trames de requête distante (Remote frames) : elles permettent à un n ud d’interroger un autre n ud,
afin que ce dernier lui envoie les données désirées.
Trames d’erreur (Error frames): elles sont émises par un n ud ayant détecté une erreur de transmission
sur une trame en cours de transmission.
Trames de surcharge (Overload frames): elles permettent à une station, d’indiquer qu’elle est surchargée
pendant un certain laps de temps. C’est une forme de contrôle de flux.
Format des trames de données
Le protocole CAN 2.0 comporte deux sous-spécifications qui différent au niveau de la taille de l’ID :
Trame standard (CAN 2.0A) avec ID sur 11
bits,
Trame étendue (CAN 2.0B) : parce que la
version 2.0A ne propose que 11bits d’ID (ce
qui peut parfois se révéler insuffisant), une
nouvelle mouture appelée CAN 2.0B propose
un ID sur 29 bits. CAN 2.0B assure la
compatibilité ascendante avec la précédente
version.
Pour permettre le développement de contrôleurs CAN
assez simples, il a été décidé que le support complet
du format étendu, n’était pas nécessaire pour être
conforme à CAN 2.0
Pour qu’un contrôleur soit considéré conforme à CAN 2.0, il suffit qu’il respecte les deux conditions suivantes :
Le format standard doit être totalement supporté,
Il doit être capable de recevoir des trames étendues, mais sans forcément être capable de les traiter.
Simplement, elles ne doivent pas être détruites.
La trame de données
#Niedercorn LT « la Briquerie » 57100 THIONVILLE Transmission bus CAN & page 5/13
o l’identifiant sur 11bits qui est transmis dans l’ordre ID10 à ID0 (ID0 est le bit de poids faible).
Les 7 bits de poids fort (ID10 à ID4) ne peuvent pas tous être récessifs (au moins un est au
niveau logique 0 (dominant)).
o d’un bit RTR (Remote Transmission Request) : Il permet de distinguer les trames de requêtes &
les trames de données. RTR est dominant pour une trame de donnée et récessif pour une trame
de requête.
Remarque : Il est logique que RTR fasse partie du champ d’arbitrage. En effet si deux trames (avec un même
ID mais de type différent : l’une trame de requête et l’autre de donnée), sont émises simultanément sur le bus, il
est normal que la trame de donnée emporte l’arbitrage. En effet elle répond par anticipation à la demande
qu’était en train de formuler la trame de requête !
Le champ de contrôle est composé de 6 bits :
o le bit IDE (IDentifier Extension bit) est dominant pour une trame standard et récessif pour une
trame étendue,
o le bit r0 : bit réservé dominant,
o les quatre bits DLC (3 à 0) pour Data Length Code, permettent de déterminer la longueur du
champ de données en nombre d’octets. Comme ce champ peut contenir de 0 à 8 octets, DLC
pourra prendre une valeur allant de 0 à 8 sur 4bits. Par exemple, s’il y a 7 octets dans la zone de
données, on a DLC3, DLC2, DLC1, DLC0 = 0111 soit d’abord un bit dominant, puis trois bits
récessifs.
Le champ de données : contient les données transmises uniquement dans une trame de données (il n’y a
pas de données dans une trame de requête). Il peut contenir de 0 à 8 octets, où chaque octet est transmis
avec le bit de poids fort en premier.
Le champ de CRC (Calcul Redondant Cyclique), il est constitué de la séquence de CRC sur 15bits,
suivie d’un bit CRCD (CRC Delimiter) récessif. Le CRC permet de vérifier l’intégrité des données
transmises. Les bits utilisés pour le calcul du CRC sont ceux de SOF, du champ d’arbitration, du champ
de contrôle et du champ de données.
Le champ ACK (champ d’acquittement) composé de 2 bits :
o ACK slot (bit d’acquittement),
o ACKD (bit ACK Delimiter) toujours récessif.
Un noeud ayant correctement reçu le message force le bit ACK à l’état dominant, il acquitte le message. Cela
signifie qu’au moins un noeud a reçu correctement le message transmis, et donc cela prouve que le transmetteur
fonctionne correctement. Si par contre ACK reste à l’état récessif, cela signifie qu’aucune station n’a reçu
correctement le message.
Le champ Fin de trame (End Of Frame) comporte 7bits récessifs.
Au total une trame de données CAN 2.0A comporte (44 + 8*N) bits, avec N : nombre d’octets de données, soit
entre 44 et 108 bits/trame.
#Niedercorn LT « la Briquerie » 57100 THIONVILLE Transmission bus CAN & page 6/13
La figure présente la structure d’une trame CAN 2.0B, celle-ci ne diffère de la trame CAN 2.0A qu’au niveau
du champ d’arbitrage :
pour rester compatible avec CAN 2.0A, l’ID a été divisé en deux parties. On place d’abord les 11
premiers bits de poids fort (de ID28 à ID18),
puis on trouve un bit SRR à l’état récessif (Substitute Remote Request bit) qui comble l’emplacement
laissé libre par RTR,
puis on retrouve le bit IDE à l’état récessif, pour préciser qu’il s’agit bien d’une trame étendue,
on complète ensuite l’ID, en plaçant les 18bits restants (de ID17 à ID0),
on place ensuite le bit RTR qui précise toujours s’il s’agit d’une trame de données (RTR dominant) ou
de requête (RTR Récessif),
le champ de contrôle commence lui par les deux bits r1 & r0 (bits de réserve pour des extensions
futures).
La trame de requête
Cette trame permet à un n ud d’interroger un autre n ud. En réponse, ce dernier renvoie la trame de données
correspondant au même ID.
La trame de requête a la même structure qu’une trame de données (voir figures 6 & 7) à l’exception :
du bit RTR qui bien entendu est récessif, alors qu’il est dominant pour la trame de données,
du champ de données qui n’existe pas (c’est normal! La nature de la demande est déjà précisée par
l’ID). En conséquence, le champ DLC indique le nombre d’octets de donnée que devrait retourner la
trame en réponse.
Si l’on place un oscilloscope sur le bus CAN, on n’observera pas tout à fait la séquence de bits présentée aux
figures précédentes. Le code utilisé sur le support physique est pourtant du NRZ. NRZ stipule que durant le
temps bit le niveau appliqué sur le bus est constant (soit dominant ou récessif). Justement l’inconvénient du
code NRZ, (contrairement au code Manchester) est qu’il n’est pas auto synchronisant. Par exemple si l’on doit
transmettre 10 bits dominants de suite, il n’y a plus aucun front sur le bus et donc pas de moyen de
resynchroniser l’horloge de réception. En effet à la réception le contrôleur CAN fonctionne comme un UART,
synchronisé par le front récessif/dominant fourni par le SOF & resynchronisé par les fronts suivants.
La méthode du Bit stuffing consiste à rajouter un bit supplémentaire dès que 5 bits identiques sont émis. Ce bit
sera bien entendu de valeur opposée à la séquence de 5 bits (exemple : séquence de 5 bits dominants, puis un bit
de stuff récessif). Les bits insérés sont pris en compte aussi pour détecter les suites de cinq bits consécutifs et
identiques. Bien entendu à la réception, le contrôleur CAN effectue l’opération inverse (destuffing) pour
supprimer les bits de stuff, afin de restituer le message originel. Ainsi les bits de stuff n’auront servi qu’à la
transmission.
La technique du stuffing est appliquée aux trames de données et de requête uniquement (pas aux trames
d’erreur ou de surcharge), du bit de début (SOF) au champ CRC inclus. Par contre les champs CRC Délimiteur,
ACK et Fin de trame ne sont pas stuffés, car fixes.
Si cette technique a pour effet d’allonger les temps de transmission de message sur le réseau, elle offre par
contre un moyen de détecter des erreurs de transmission, sur non respect de la règle du Bit Stuffing.
#Niedercorn LT « la Briquerie » 57100 THIONVILLE Transmission bus CAN & page 7/13
La trame d’erreur
Lorsqu’un n ud détecte une erreur sur le bus, il émet une trame d’erreur en perturbant la trame en cours
(violation de la règle de stuffing et des règles de format), par conséquent tous les autres n uds détectent aussi
une erreur, et envoient également une trame d’erreur.
Les trames de données ou de requête sont séparées des trames précédentes par un espace inter trame. Au
contraire, les trames d’erreur ou de surcharge ne sont pas précédées par un espace inter trame
L’espace inter trame est constitué de deux ou trois champs :
le champ de bits d’intermission, constitué de trois bits récessifs. Pendant l’intermission aucune
transmission de trame ne doit être débutée par aucune station. Ce temps permet aux contrôleurs CAN
d’exécuter des tâches internes avant les prochaines transmissions ou réceptions.
le champ de bits de bus libre (ou oisif : idle), ce champ peut être de n’importe quelle durée. Pendant ce
temps le bus est libre et n’importe quelle station ayant quelque chose à transmettre peut accéder au bus.
Un message qui était précédemment en attente de transmission, peut alors démarrer dès le premier bit
suivant l’intermission. La détection d’un bit dominant pendant la phase bus idle est interprétée comme
le SOF d’une nouvelle transmission.
et pour les stations error passive qui ont été transmetteur du précèdent message, d’un champ de bits de
suspension de transmission. Après qu’une station error passive ait transmis un message, elle envoie 8
bits récessifs suivant le champ d’intermission avant de reconnaître que le bus est libre et de démarrer la
transmission d’un nouveau message. Si, dans le même temps, une transmission (due à une autre station)
démarre, la station deviendra réceptrice de ce message.
#Niedercorn LT « la Briquerie » 57100 THIONVILLE Transmission bus CAN & page 8/13
La trame de surcharge
La détection d’erreur
CAN met en uvre cinq moyens de détection d’erreur, deux au niveau du bit (le bit monitoring et le bit
stuffing) et trois au niveau du message (vérification du CRC, du format de la trame et de l’acquittement). Un
ud peut donc détecter cinq types d’erreur :
Bit error : un n ud CAN écoute ce qu’il émet (technique du bus monitoring). Il considère comme une
erreur de bit, le fait que le bit reçu soit différent du bit émis, à l’exception de l’envoi d’un bit récessif
durant l’arbitrage (cas de perte d’arbitrage) et du bit ACK Slot (cas d’une trame acquittée).
Stuff error : Le n ud détecte une erreur de stuffing, lorsqu’il reçoit six bits consécutifs de même valeur
dans une partie de message qui utilise le stuffing.
CRC error : Une erreur de CRC est détectée quand le CRC calculé en réception est différent du CRC
contenu dans la trame.
Form error : Une erreur de format est détectée quand un bit fixe de la trame est dans un état différent de
ce qu’il devrait être :
o erreur de CRC delimiter (normalement toujours récessif)
o erreur de ACK delimiter (normalement toujours récessif)
o erreur de End Of Frame (7 bits normalement toujours récessifs)
o erreur de error delimiter (8 bits normalement toujours récessifs)
o erreur de Overload delimiter (8 bits normalement toujours récessifs)
#Niedercorn LT « la Briquerie » 57100 THIONVILLE Transmission bus CAN & page 9/13
ACK error : Le transmetteur détecte une erreur d’acquittement, lorsqu’il ne reçoit pas de bit dominant
dans le ACK Slot.
Dans tous ces cas de figure, la présence d’erreur sera signalée par une trame d’erreur.
Le confinement des erreurs a pour but de cerner, localiser la cause de l’erreur, il permet même d’éliminer un
ud défaillant qui sinon aurait pu paralyser le réseau. Il permet de faire la différence entre des erreurs
temporaires ou permanentes. Les erreurs temporaires peuvent être causées par des glitchs par exemple, tandis
que les erreurs permanentes sont dues à de mauvaises connexions ou à des composants défaillants.
Un n ud peut être dans trois états :
error active : le n ud peut prendre normalement part à la communication sur le bus. Il transmettra un
Active error flag s’il détecte une erreur.
error passive : le n ud peut prendre part à la communication, mais s’il détecte une erreur sur le bus, il
transmet un Passive error flag. Ce mode indique un n ud à problème.
bus off : le noeud est alors (virtuellement) déconnecté du bus.
Pour implémenter ce mécanisme de confinement des erreurs, le contrôleur CAN, possèdent deux compteurs
d’erreurs :
le compteur d’erreur en transmission (Transmit Error Counter),
le compteur d’erreur en réception (Receive Error Counter).
Les compteurs sont incrémentés et décrémentés suivant les règles suivantes :
lorsqu’ une erreur en réception ou en transmission est détectée, le compteur d’erreur correspondant est
incrémenté de 8,
après une transmission réussie ou une réception réussie, le compteur d’erreur correspondant est
décrémenté de 1.
Ainsi le niveau des compteurs reflète la fréquence relative des erreurs. Les incrémentations des compteurs ont
les effets suivants :
Un n ud est en mode error active si ses deux compteurs d’erreur sont inférieurs à 128.
Un n ud est en mode error passive si l’un des deux compteurs d’erreur est compris entre 128 & 255.
Si le compteur d’erreur en transmission est supérieur à 255, le n ud est en Bus Off.
Une station en Bus Off reste dans cet état jusqu’à ce que le microcontrôleur ne fasse une demande de
retour au mode normal et qu’il y ait sur le bus, 128 occurrences de bus libre (11bits récessifs successifs).
Si un des compteurs franchit le seuil de 96, une alarme (Warning) est signalée au microprocesseur de la
station, via une demande d’interruption.
au final, la probabilité totale d’erreur résiduelle de messages entachés d’erreurs est inférieure à 4,7 . 10 .
#Niedercorn LT « la Briquerie » 57100 THIONVILLE Transmission bus CAN & page 10/13
CAN et le modèle OSI.
Le modèle OSI (établi en 1984 par l’ISO), définit 7 couches. Le réseau CAN, comme bon nombre de RLI, lui
n’utilise que 3 couches, il est donc plus proche de l’architecture dite OSI réduite, comme MAP.
Du modèle OSI, il subsiste donc :
La couche Physique (1) sans laquelle il n’y aurait pas de possibilité de transmettre quoi que ce soit,
La couche liaison de données (2) qui règle notamment les problèmes d’accès au support (medium),
La couche Application (7) sans laquelle le réseau n’est d’aucune utilité.
Et encore sur ces trois couches CAN ne spécifie totalement que la couche liaison de données. La couche
physique n’est spécifiée que partiellement. Quant à la couche application, elle est à spécifier par l’utilisateur,
mais il existe aujourd’hui différentes propositions développées par des industriels utilisateurs de CAN.
Couche Physique
Cette couche gère la représentation du bit (codage, timing, synchronisation) et définit les signaux ainsi que le
support de transmission.
CAN ne spécifie pas de medium, plusieurs implémentations sont donc possibles : paire torsadée blindée, câble
coaxial, fibre optique, infrarouge, etc.
La solution implémentée doit satisfaire au principe des bits dominants et récessifs. Le codage est NRZ.
Le support de transmission le plus répandu est la paire torsadée blindée (ou non blindée). Dans le cadre d’une
liaison sur paire différentielle du bus CAN, l’ISO subdivise ses normes entre deux grands champs d’application
bien distincts :
CAN low speed : ISO 11519 (125kb/s maxi),
CAN high speed : ISO 11898 (1Mb/s maxi).
Les différentes tâches accomplies par la couche physique sont réalisées par des circuits électroniques (On-chip
hardware). La couche physique est répartie dans deux types de circuits :
Les drivers de ligne (transceiver), règlent le problème d’interface physique avec le support (niveaux
électriques de tension et courant, impédance …). On peut citer : 82C250 de Philips, SI9200 de Temic
Siliconix, 75LBC031 de Texas Instrument.
Les gestionnaires de réseau CAN assurent le travail correspondant à la couche liaison de données (voir
5.2.), mais aussi la partie de la couche physique correspondant à la représentation du bit (codage,
timing, synchronisation). Des exemples de circuits sont fournis au 5.2.
Citons les principales caractéristiques du CAN high speed (ISO11898):
débit maxi 1Mb/s,
longueur de ligne jusqu’à 40m à 1Mb/s,
de 2 à 30 n uds sur le bus,
paire différentielle torsadée avec rappel de masse,
impédance caractéristique de ligne de 120 (entre 108 & 132 ),
état dominant Vcan_h – Vcan_l = 2 Volt (entre 1,5 V & 2,5 V),
état récessif Vcan_h – Vcan_l =0 Volt (entre -0,5V & +50mV),
protection contre les courts-circuits -3V à +16V (+32V pour 24V nominal),
courant de sortie fourni par l’émetteur : 25mA à 50 mA sur 60 ,
La figure présente les chronogrammes sur les lignes du bus CAN_H & CAN_L et le principe de connexion au
bus.
#Niedercorn LT « la Briquerie » 57100 THIONVILLE Transmission bus CAN & page 11/13
Couche Liaison de données
Cette couche est totalement spécifiée par CAN, elle règle notamment les problèmes :
au niveau sous-couche MAC (Medium Access Control):
è de mise en trame du message,
è d’arbitrage,
è d’acquittement,
è de détection d’erreur,
è de signalisation des erreurs.
au niveau sous-couche LLC (Logical Link Control):
è de filtrage des messages,
è de notification des surcharges (overload),
è de procédure de recouvrement des erreurs.
Ces services sont embarqués dans des circuits intégrés (On-chip hardware). On peut distinguer :
Les circuits intégrés gestionnaires de réseau CAN : le 82C200 (Can 2.0A) et le SJA1000 (CAN2.0B) de Philips
sont les circuits les plus utilisés. Intel (82526 & 82527) et Siemens (81C90) fabriquent également de tels
composants.
Les contrôleurs CAN embarqués sur des microcontrôleurs : Intel (8xC 592 & 8x C598) & Motorola
(68HC912D60) sont des exemples de ce type de circuit, mais dans pratiquement toutes les familles de
microcontrôleurs modernes, on dispose d’une variante avec CAN intégré.
Couche Application
Il existe différentes propositions non encore normalisées pour la couche application :
dans le domaine des applications industrielles : Device Net (de Allen Bradley), SDS (de Honeywell),
CAL : CAN Application Layer & CANopen (tous deux du groupement CiA : Can In Automation),
CANKingdom (de la société Kvaser) etc.
dans le domaine des applications automobiles : J1939 de la SAE (Society of Automotive Ingineers),
OSEK : Open System and Interfaces for Distributed Electronics in Cars (du groupe européen : European
Car Industries Users Group).
Le nombre important de propositions peut s’expliquer par le fait que les sociétés mères travaillent sur des
champs d’applications différents.
Mise en uvre
Chaque n ud est constitué de la façon suivante :
#Niedercorn LT « la Briquerie » 57100 THIONVILLE Transmission bus CAN & page 12/13
Les contrôleurs CAN.
Pour les contrôleurs CAN plusieurs produits existent sur le marché.
Le P82C150 est un CAN Serial Linked I/O (SLIO), un n ud CAN sans intelligence.
Ce périphérique inclut un contrôleur CAN et 16 pins d’entrées/sorties. Ses 16 pins d’E/S sont
individuellement configurables en mode analogique ou digital. Il est ainsi possible d’avoir jusqu’à 16
entrées digitales, avec la possibilité d’une transmission automatique d’un message au changement d’une
des entrées. Le 82C150 intègre un ADC sur 10 bits, qu’il est possible de multiplexer sur 6 entrées.
L’oscillateur interne limite le débit entre 20kbits/s et 125kbits/s.
L’absence d’intelligence du SLIO oblige à le mettre sur un bus où un n ud plus ”intelligent”,
typiquement un microcontrôleur sera capable de le configurer et de le commander.
Le SJA1000 est un contrôleur CAN ne nécessitent qu’un microcontrôleur externe. Il a été développé par
Philips en 1997 comme un successeur (compatible) du 82C200.
Les MCP 2510 ou 2515 sont des contrôleurs CAN autonomes développés par Microchip.
Les moteurs de bus.
Le protocole CAN ne spécifie pas la couche physique, c’est pourquoi la plupart des contrôleurs CAN ne
possèdent pas de circuits permettant de les connecter à un bus, qu’il soit filaire, à fibre optique ou tout autre
mode de transmission possible
• Le PCA82C250 (ou 82C251) est un transceiver qui permet de faire l’interface entre le contrôleur CAN
et le bus physique.
• Le MCP2551 est un transceiver développé par Microchip afin de réaliser l’interface entre le contrôleur
CAN et le bus physique.
Le circuit PCA82C251 est le circuit le plus utilisé. Si la longueur du bus est importante, il faut disposer à
chaque extrémité du bus une résistance de 120 ohms pour réaliser une adaptation d’impédance. Le 82C251 est
prévu pour piloter jusqu’à 110 n uds et ce sur une longueur de 100 pieds à une vitesse maximale d’un Mbits/s
(plus pour des vitesses plus faibles.
Les composants évolués.
Devant la popularité du bus CAN, on trouve aujourd’hui des microcontrôleurs intégrant un contrôleur CAN
comme par exemple le PIC 18F458 de chez Microchip.
Exemple d’application.
Ci-dessous un exemple d’utilisation des composants de Microchip.
#Niedercorn LT « la Briquerie » 57100 THIONVILLE Transmission bus CAN & page 13/13