Cours Multiplexage M1
Cours Multiplexage M1
Cours Multiplexage M1
Département
Support de cours
Objectifs du cours :
Au terme de cet enseignement, les étudiants disposeront des connaissances nécessaires pour le
développement d'applications et la gestion en exploitation du bus CAN. Cela passe par une compréhension des
principes de base du multiplexage, des différentes couches du protocole CAN, les mécanismes de détection et de
gestion des erreurs et les dispositifs d’échanges de données.
Version : 2.01
Volume Horaire 36 H
Prés requis :
Les bases de l’électronique analogique et de l’électronique numérique. La maîtrise du domaine lié aux
capteurs et des techniques de conversion
AM.BELLOULA 1
MULTIPLEXAGE
1- Introduction……………………………………………………………………………………………….…………………………………………...….. 03
2- Multiplexage 04
2-1 Principe du multiplexage 04
2-2 Multiplexage dans l’industrie de l’automobile 06
3- Notion de bus de communication 07
3-1 Modes d'exploitation d'une voie de transmission 07
3-2 Transmission série et parallèle 08
3-3 Transmission synchrone et asynchrone 09
4- Le bus CAN 13
4-1 Vocabulaire et règles de fonctionnement 14
4-2 Principe de fonctionnement 16
4-3 Niveaux de tension 17
4-4 Résistances de terminaison 18
4-5 Le CAN dans le modèle ISO/OSI 19
4-6 Formats des trames 21
4-7 Bit-stuffing 26
4-8 Synchronisation des horloges 26
4-9 Notion d’arbitrage 27
4-10 Longueur du bus et débit 29
4-11 Notion de Nominal Bit Time 31
4-12 Le Time Quantum 31
4-13 Détection et gestion des erreurs 33
4-14 Support de transmission 38
14- Les Composants CAN 39
AM.BELLOULA 2
MULTIPLEXAGE
1- Introduction
Jusqu’aux années 1960, la radio constituait le seul élément électronique notoire à bord d’une automobile.
Toutes les autres fonctions étaient entièrement mécaniques ou électriques, comme le démarreur et le système
de charge de la batterie. Il n’existait aucun « système de sécurité intelligent ». Le conducteur ou d’autres systèmes
de contrôle mécaniques contrôlaient tous les systèmes du moteur.
Par exemple, avant l’avènement des capteurs et des microcontrôleurs, la sélection de la bougie spécifique
à allumer après compression du mélange air-carburant s’effectuait par un distributeur mécanique. Le calage de
l’allumage constituait la variable de contrôle.
En ce qui concerne le rendement du carburant, la commande mécanique du processus de combustion
n’était pas optimale. La modélisation du processus de combustion a montré que, pour accroître l’efficacité
énergétique, il existe un moment optimal où enflammer le carburant. Le calage dépend de la charge, de la vitesse
et d’autres grandeurs mesurables. Le système d’allumage électronique a été l’un des premiers systèmes
mécatroniques à arriver dans l’automobile à la fin des années 1970. Les applications qui ont suivi ont
complètement éliminé le distributeur. Elles contrôlaient directement l’allumage grâce à un microprocesseur.
Le système d’antiblocage des roues (ABS) a également été introduit dans les voitures à la fin des années
1970. L’ABS fonctionne par détection du blocage de l’une des roues, puis par modulation de la pression
hydraulique selon les besoins pour réduire ou supprimer le patinage. Le système de contrôle de traction (TCS) est
rentré dans les automobiles au milieu des années 1990. Ce processus garantit que le véhicule accélère au
maximum dans des conditions données de chaussée et de véhicule.
L’installation du système de contrôle de la dynamique des véhicules (VDC) dans les automobiles s’est
produite à la fin des années 1990. Le VDC fonctionne comme le TCS et comprend en outre un capteur de vitesse
angulaire de lacet et un accéléromètre latéral. La position du volant détermine l’intention du conducteur qui est
comparée à la direction effective du déplacement. Le système TCS est alors activé pour contrôler la puissance
appliquée aux roues et la vitesse du véhicule ainsi que pour réduire au minimum l’écart entre les directions du
volant et du déplacement du véhicule.
L’électronique est devenue une composante à part entière de l'industrie automobile, les voitures sont de
plus en plus sûres grâce à des équipements de sécurité qui mettent en œuvre des systèmes embarqués tels que
l’ABS ou l’ESP. Le confort des occupants s’est lui aussi considérablement amélioré. Dans les garages aussi
l’électronique est utile : en branchant un ordinateur, le mécanicien peut directement savoir d’où vient le
problème mécanique
Les systèmes électroniques ont fait leur apparition dans le domaine de l'automobile, selon trois grandes
étapes successives :
- Etape 1 : Chaque système était totalement indépendant des autres ;
- Etape 2 : Début 1980, quelques systèmes commençaient à communiquer entre eux ;
- Etape 2 : Tous les systèmes communiquent entre eux et en temps réel.
Les spécialistes de l’industrie automobile estiment que l’électronique devrait représenter 50 % de la valeur
ajoutée d’une voiture d’ici à 2020 (contre 30 % actuellement. L’électronique est entrée de façon marquante dans
l’automobile dans le but d’augmenter les performances de systèmes initialement mécaniques.
Pour mettre en œuvre les différents systèmes de contrôle on utilise, en général des microcontrôleurs 8, 16
ou 32 bits.
Le processeur 32 bits est utilisé pour la gestion du moteur, le contrôle de la transmission et des airbags; le
processeur 16 bits sert à gérer l’ABS, le TCS, le VDC, le groupe d’instrumentation et les systèmes de climatisation;
le processeur 8 bits est employé pour le siège, le réglage des rétroviseurs et les systèmes de levage des vitres.
AM.BELLOULA 3
MULTIPLEXAGE
Aujourd’hui, une voiture comprend environ 30 à 60 microcontrôleurs. Ce chiffre devrait augmenter avec la
tendance au développement de sous-systèmes mécatroniques plug-and-play modulaires.
La complexité de ces systèmes et la nécessité d’échanger des données entre eux signifient de plus en plus
de câbles. A côté du coût très important de ce câblage, la place qui lui est nécessaire pouvait le rendre tout
simplement impossible à installer. Enfin, le nombre croissant de connexions et de câbles posait de sérieux
problèmes de fiabilité et de réparation.
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, maintenance) figure 1(a). Deux réponses techniques pour limiter
« l’inflation » des composants et du volume des câblages :
- L’intégration : regrouper plusieurs fonctions dans un seul boîtier (ex : gestion moteur et Boîtier de
Servitude Intelligent de PSA) Gestion moteur : injection, allumage, dépollution, refroidissement
moteur BSI : fermeture centralisée des portes, alarme, éclairage intérieur, anti-démarrage, essuyage
des vitres, gestion des clignotants, … ESP (contrôle dynamique du véhicule) : ABS, REF, MSR, ASR, ESP
- Le multiplexage : faire circuler une multitude d’informations entre divers calculateurs sur un seul
canal de transmission appelé le bus (2 fils) 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).
2- Multiplexage
2-1 Principe du multiplexage
Le multiplexage est une technique qui consiste à faire passer plusieures informations à travers un seul
support de transmission. Elle permet de partager une même ressource entre plusieurs utilisateurs.
AM.BELLOULA 4
MULTIPLEXAGE
Ce procédé est notamment utilisé sur les lignes téléphoniques et les liaisons physiques en paires torsadées
afin d'en accroître le débit.
Le système téléphonique utilise le principe du multiplexage en fréquence pour transmettre simultanément
plusieurs signaux. Une hiérarchie FDM téléphonique a été définie dans laquelle la technique de modulation
utilisée est la BLU (Bande Latérale Unique) pour transmettre jusqu'à 600 voies téléphoniques multiplexées sur les
supports comme des fils torsadés ou des câbles coaxiaux, et jusqu'à 1800 canaux sur un lien micro-onde.
AM.BELLOULA 5
MULTIPLEXAGE
Figure 04 (a) : Véhicule avec 3 ECU Figure 04 (b) : Véhicule avec 3 ECU et un système
de Bus
Image : http://www.forum-audi.com/topic-821-bus-can-controller-area-network-partie-1.html
Le bus CAN fut d'abord utilisé dans le secteur de l'automobile, mais il est actuellement utilisé dans la plupart
des industries comme l'aéronautique via des protocoles standardisés.
AM.BELLOULA 6
MULTIPLEXAGE
AM.BELLOULA 7
MULTIPLEXAGE
Liaison parallèle
On désigne par liaison parallèle la transmission simultanée de N bits. Ces bits sont envoyés simultanément
sur N voies différentes (une voie étant par exemple un fil, un câble ou tout autre support physique). La figure xx(a)
représente un exemple de liaison parallèle, généralement disponible sur l’ordinateur de bureau.
La transmission parallèle autorise une grande vitesse de transmission (débit) au détriment d’un Un coût
élevé (nombre de conducteurs) et une distance franchissable limitée réservent la transmission parallèle aux
liaisons de processeur à processeur ou d’hôte à hôte.
- Des lignes physiques : chaque bit est envoyé sur une ligne physique (c'est la raison pour laquelle les
câbles parallèles sont composés de plusieurs fils en nappe) figure 6.
- Une même ligne physique ou chaque bit est transmis sur une fréquence différente...
AM.BELLOULA 8
MULTIPLEXAGE
Liaison série
Dans une liaison série, les données sont envoyées bit par bit sur la voie de transmission. La figure xx montre
l’exemple d’une liaison série reliant un Ordinateur à un périphérique externe disposant du même type de liaison.
AM.BELLOULA 9
MULTIPLEXAGE
L'intervalle de temps qui sépare l'envoi de chaque mot est aléatoire et dépend de l'émetteur figure 8.
Quand aucun caractère n'est transmis, la ligne est en état d'attente. Cet état est représenté par un signal continu
de valeur 1, c'est-à-dire une tension négative.
Start D7..D0 Stop Start D7..D0 Stop ..… Start D7..D0 Stop Start D7..D0 Stop
Des bits supplémentaires peuvent être insérées afin de garantir l'absence d'erreurs lors de la transmission
comme l’ajout d’un bit, dit de parité, positionné par l'émetteur, ce bit est à 1 si le nombre total de valeurs binaires
1 présentes dans le caractère (et y compris le bit de parité lui-même) est paire . Une autre convention positionne
ce bit si le même nombre total est impaire. On distingue alors la parité paire et la parité impaire.
Dans une liaison asynchrone, la communication peut avoir lieu dans chaque sens, c'est-à-dire en mode full-
duplex. La ligne des données véhicule des informations binaires à une cadence prédéfinie appelée vitesse de
transmission. Le récepteur utilise une horloge de même période qu’il synchronise en utilisant le front descendant
du bit Start. Pour pallier un léger décalage des périodes, le récepteur effectue chaque lecture au milieu du bit
reçu (ce qui nécessite un décalage d’une demi-période après le front descendant du Start).
Parmi les avantages des liaisons séries, citons les plus importants :
- le nombre réduits de fils de liaison. Dans le cas le plus simple, la liaison nécessite trois 3 fils (Tx, Rx et la
masse) ;
- ceci est particulièrement intéressant dans les communications sur de grandes distances au travers le
réseau téléphonique commuté, par utilisation d'un MODEM (MODulateur-DEModulateur).
Exemple :
L'interface RS-232, appelée aussi port série (ou port "COM") est relativement universelle et permet
d'interconnecter 2 équipements afin d'établir un dialogue. Le standard RS232 comporte plusieurs normes,
protocoles ou standards de connexion qui fixent le type de connecteur utilisé, le rôle et le nom de chaque broche,
les niveaux de tension sur les fils du câble de liaison.
AM.BELLOULA 10
MULTIPLEXAGE
Sans trop entrer dans les détails des protocoles de communications, la RS-232 fonctionne généralement
de 75 à 1 000 000 Bauds (Bits par secondes). Plusieurs paramètres sont configurables :
- Vitesse de dialogue (en Bauds).
- Nombre de bits de données/data (4 à 8).
- Nombre de bits d'arrêt/Stop (1, 1.5 ou 2).
- La parité (aucune / paire / impaire / marque / espace).
- Le contrôle de flux (aucun, Xon/Xoff, matériel).
Les tensions de fonctionnement sont positives (niveau logique "0") et négatives (niveau logique "1"). La
plage de tensions utilisables est d'environ +/-3V à +/-25V.
AM.BELLOULA 11
MULTIPLEXAGE
Exemple :
Une carte SD (« SD » étant le sigle de l'expression en anglais « Secure Digital ») est une carte mémoire
amovible de stockage de données numériques créée en janvier 2000 par une alliance formée entre les industriels
Panasonic, SanDisk et Toshiba.[wikipedia]
Les cartes SD sont utilisées pour le stockage de fichiers dans les appareils photo numériques, les
caméscopes numériques, les systèmes de navigation GPS, les consoles de jeux vidéo, les téléphones mobiles dont
les smartphones, ou encore les systèmes embarqués.
Depuis 2010, les cartes SD font office de standard de stockage, à la suite de l'abandon progressif des autres
formats, notamment du Memory Stick de Sony. On parle de carte SDHC pour des capacités entre 4 et 32 Go1, et
de carte SDXC au-delà de 32 Go. En 2014, leur capacité s'échelonne jusqu'à 512 Go2.
La carte en elle-même est constituée de la partie stockage à proprement parlé, et un microcontrôleur qui
gère la partie mémoire de la carte. Donc afin de communiquer avec cette carte, il faut utiliser l’un des deux modes
de communication :
- le mode SDC (Secure Digital Memory Card)
- le mode MMC (Multi Media Card).
Dans notre exemple, nous allons utiliser le mode MMC qui fait appel au bus SPI. Le SPI (Serial Peripheral
Interface) est un bus de communication série synchrone qui opère en full-duplex. Il est utilisé pour le transfert
rapide de données entre périphériques d'un appareil comme par exemple les mémoires, les systèmes d'affichage,
carte SD, etc.
La communication avec la carte via le mode SPI se fait en utilisant des commandes particulières.
AM.BELLOULA 12
MULTIPLEXAGE
4- Le bus CAN.
Le CAN est un réseau de communication série temps réel conçu pour les systèmes de contrôle distribués.
Le CAN permet des échanges de données avec des vitesses pouvant aller jusqu’à 1 Mbits/s et ceci avec un très
haut niveau d’intégrité au niveau des données. La transmission des données est effectuée sur une paire filaire
différentielle respectant un certain protocole.
Principales propriétés de la structure du protocole CAN :
- Fonctionnement multimaître.
- Hiérarchisation des messages.
- Temps de latence garanti.
- Souplesse de configuration.
- Réception de multiples sources avec synchronisation temporelle.
- Détections et signalisations d’erreurs.
- Retransmission automatique des messages altérés.
- Distinction d’erreurs : d’ordre temporaire ou de non-fonctionnalité au niveau d’un nœud,
- Déconnexion automatique des nœuds défectueux.
Le concept de communication du bus CAN est celui de la diffusion d’information (Broadcast), chaque
station connectée (nœud) au réseau écoute les trames transmises par les stations émettrices.
AM.BELLOULA 13
MULTIPLEXAGE
Les stations, qui sont en permanence à l'écoute du réseau, reconnaissent et traitent les messages qui les
concernent et décide quoi faire du message reçu, si elles doivent y répondre ou non, si elles doivent agir ou non ;
elles ignorent simplement les autres.
Le protocole CAN autorise différentes stations à accéder simultanément au bus, l’accès au bus est donc
aléatoire et doit par conséquence se faire par priorité, ce mode de fonctionnement est appelée CSMA CD/AMP
(Carrier Sense Multiple Acces with Collision Detection and Arbitration Message Priority).
AM.BELLOULA 14
MULTIPLEXAGE
Dans le cas de deux identificateurs identiques, la trame de données gagne le bus. Lorsqu’un bit récessif
est envoyé et qu’un bit dominant est observé sur le bus, l’unité considérée perd l’arbitrage, doit se taire
et ne plus envoyer aucun bit. L'arbitrage est qualifié de CSMA/CA (Carrier Sense Multiple Access - Collision
Avoidance).
Sécurité de transmission : Dans le but d’obtenir la plus grande sécurité lors de transferts sur le bus, des
dispositifs de signalisation, de détection d’erreurs, et d’autotests ont été implémentés sur chaque nœud
d’un réseau CAN. On dispose ainsi d’un monitoring bus (vérification du bit émis sur le bus), d’un CRC
(Cyclic Redundancy Check), d’une procédure de contrôle de l’architecture du message, d’une méthode
de Bit-Stuffing.
On détecte alors toutes les erreurs globales, toutes les erreurs locales au niveau des émetteurs, jusqu’à
5 erreurs aléatoires réparties dans un message. La probabilité totale résiduelle de messages entachés
d’erreurs est inférieure à 4.7*10-11.
Signalement des erreurs et temps de recouvrement des erreurs : Tous les messages entachés d’erreur(s)
sont signalés au niveau de chaque nœud par un flag. Les messages erronés ne sont pas pris en compte,
et doivent être retransmis automatiquement.
Erreurs de confinement : Un nœud CAN doit être capable de faire les distinctions entre des perturbations
de courtes durées et des dysfonctionnements permanents. Les nœuds considérés comme défectueux
doivent passer en mode Switched Off en se déconnectant (électriquement) du réseau.
Points de connexion : La liaison de communication série CAN est un bus sur lequel un nombre important
d’unités peuvent être raccordées. En pratique le nombre total d’unités sera déterminé par les temps de
retard (dus aux phénomènes de propagation) et/ou les valeurs des charges électriques que ces unités
présentent sur le bus.
Canal de liaison simple : Le bus consiste en un simple canal bidirectionnel qui transporte les bits. A partir
des données transportées, il est possible de récupérer des informations de resynchronisation.
La façon dont le canal est implémenté (fil standard, liaison optique, paire différentielle…) n’est pas
déterminée dans la norme officielle BOSCH.
Acquittement : Tous les récepteurs vérifient la validité d’un message reçu, et dans le cas d’un message
correct ils doivent acquitter en émettant un flag.
Mode ‘Sleep’ (sommeil), Mode ‘Wake-up' (réveil) : Afin de réduire la consommation d’énergie, chaque
élément CAN peut se mettre en Sleep mode. Dans ce mode il n’y a aucune activité interne au nœud CAN
considéré et ses drivers sont déconnectés du bus. La reprise de fonctionnement (mode Wake-up)
s’effectue lorsqu’il y a une activité sur le bus ou par décision interne à l’élément CAN.
On observe une attente due à une resynchronisation de l’oscillateur local qui teste la présence de 11 bits
consécutifs sur le bus (l’activité interne au nœud CAN a cependant repris).
Par suite les drivers se reconnectent au bus. Afin d’obtenir les meilleures performances en débit sur un
réseau de type CAN, il est nécessaire d’utiliser des oscillateurs à quartz.
Le CAN est un réseau à part entière respectant le modèle d'interconnexion des systèmes ouverts OSI de
l'ISO il a été standardisé par l’ISO dans les normes 11898 pour les applications à hauts débits (1Mbit/s) et ISO
11519 (débit<125 kbit/s) pour les applications à bas débits.
AM.BELLOULA 15
MULTIPLEXAGE
Le tableau 1 résume les principales différences entre les deux types de bus notamment sur les débits
supportés.
Paramètre CAN low speed CAN hight speed
Débit 125 Kb/s 125 /s à 1 Mb/s
Courant de sortie (mode émission) > 1 mA sur 2.2 KΩ 25 à 50 mA sur 60 Ω
CAN H = 4v CAN H - CAN L = 2 V
Niveau dominant
CAN L = 1V
CAN H = 1.75v CAN H - CAN L = 2.5V
Niveau récessif
CAN L = 3.25V
Caractéristique du câble 30 pF entre câbles de ligne 2 x 120 Ω
Tension d’alimentation 5v 5v
Tableau 1 : Principales différences entre les bus CNA H-Speed et CAN L-speed.
Les niveaux logiques sur le bus sont obtenus par la différence de potentiel entre les deux lignes CAN-L et
CAN-H. Les niveaux de tension sur CAN-L et CAN-H dépendent de la configuration du bus selon qu’il soit en Low
Speed ou High Speed. Les signaux au niveau du bus correspondent à un codage dit NRZ (No Return to Zero: c’est-
à-dire qu’il n’y a jamais de courant nul sur la ligne. La masse n’est pas utilisée et les niveaux logiques
correspondent à 2 niveaux de tensions distincts).
Les stations ou nœuds sont câblées sur le bus par le principe du "ET câblé" figure 15. En cas de conflit c’est-
à-dire émission simultanée, la valeur 0 écrase la valeur 1. 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 si le bus est à nouveau
libre.
AM.BELLOULA 16
MULTIPLEXAGE
Figure 16(a): Low Speed CAN < 125Kbps Figure 16(b): High Speed CAN 125Kbps - 1Mbps
Les changements de niveau du signal sont des sources d'émissions électromagnétiques. Plus le changement
de niveau (dominant vers récessif et réciproquement) est rapide, plus la dissipation énergétique est importante.
Chaque constructeur détermine les temps de montée et de descente en fonction des performances de CEM
(Compatibilité Electro Magnétique) souhaitées. Du fait de la lecture en mode différentiel, les pentes introduites
doivent être parfaitement symétriques. Valeurs courantes de t : de 20 à 80ns.
AM.BELLOULA 17
MULTIPLEXAGE
L’utilisation de paires torsadées permet de s'affranchir des émissions du câble en inversant à chaque
torsade les vecteurs induction produits, ce qui les annule deux à deux figure 17. Elle permet également de réduire
les perturbations extérieures en annulant par opposition les courants induits dans chaque boucle par un champ
perturbateur figure 18.
Signal original
Emetteur Récepteur
Figure 19(a): Terminaison CAN Low Speed Figure 19(b): Terminaison CAN Hight Speed
Un contrôle rapide de la continuité du réseau peut être fait en mesurant la résistance entre CAN–H et CAN–
L (hors tension et tous les calculateurs branchés). On mesure deux résistances de 120 Ω en parallèles, soit 60. La
mesure de toute autre valeur indique une anomalie :
- R > 60 → coupure de ligne ou si R =120 absence d’une des deux résistances de terminaison.
- R < 60 → ligne en court -circuit, ou plus de deux résistances de terminaison dans le réseau.
Si le bus est utilisé en mode basse vitesse ou à tolérance de panne, une terminaison doit être disposée à
chaque nœud. En mode haute vitesse, une terminaison doit être disposée aux deux extrémités du bus. En général,
le maître est placé à une des extrémités du bus (nœud 1), mais il est possible de le connecter au milieu sans
terminaison en fournissant une terminaison aux nœuds aux extrémités de la ligne du bus.
AM.BELLOULA 18
MULTIPLEXAGE
Le bus CAN est conçu pour être configuré avec une topologie de réseau en bus. Les spécifications CAN
limitent la distance entre un périphérique et sa jonction au bus. La figure 20 montre comment le bus devrait être
configuré.
l
CAN CAN
Nœud Nœud
1 d n
L
AM.BELLOULA 19
MULTIPLEXAGE
La sous-couche MAC :
AM.BELLOULA 20
MULTIPLEXAGE
Il s'agit donc d'une topologie en BUS. C'est à dire que tous les nœuds sont connectés au même câble,
L’information sur le bus est envoyée sous la forme de messages au format fixe. Quand le bus est libre, n’importe
quel nœud peut commencer à envoyer un message.
AM.BELLOULA 21
MULTIPLEXAGE
Arbitration Field Control Field Data Field CRC Ac End of Frame Int Bus Idle
k
Identifier ID
SOF
RTR
IDE
r0
Figure 21 : Format de la trame au Standard (Version2.0 A)
Arbitration Field Control Field Data Field CRC Ac End of Frame Int Bus Idle
k
Identifier ID
SOF
RTR
SRR
IDE
Le transfert des messages se manifeste et est commandé à l’aide de quatre types de trames spécifiques
séparées par un intervalle de temps. De plus afin de sécuriser la transmission des messages on utilise la méthode
dite de Bit-Stuffing (bit de transparence).
Cette méthode consiste, dès que l’on a émis 5 bits de même polarité sur le bus, à insérer un bit de polarité
contraire pour casser des chaînes trop importantes de bits identiques. On obtient ainsi dans le message un plus
grand nombre de transitions ce qui permet de faciliter la synchronisation en réception pat les nœuds.
Cette technique est uniquement active sur les champs de SOF, d’arbitrage, de contrôle, de CRC. Les
différentes trames qui circulent sur le bus sont :
- Trame de données (Data Frame) ;
- Trame de requête (Remote Frame) ;
- Trame de surcharge (Overload Frame) ;
- Période d'inter trame (Inter Frame) ;
- Trame d’erreur (Error Frame).
- Start of frame : Le bit Start of frame (SOF) marque le début d'une Data Frame ou d'une Remote frame.
C'est un unique bit dominant. Tous les nœuds se synchronisent sur le bit SOF du nœud ayant
commencé une transmission.
AM.BELLOULA 22
MULTIPLEXAGE
- Arbitration Field : Ce champ est constitué de l'identifieur et du bit RTR. L'identificateur (ID) permet
d'identifier le message. Il est transmis dans l'ordre ID10 à ID0, où ID0 est le bit le moins significatif. Le
bit RTR (Remote Transmission Request) caractérise les Remote Frames. Il est dominant dans les Data
Frames et récessif dans les Remote Frames.
- Control Field : Ce champ est composé de 6 bits. Les 2 premiers sont des bits réservés et les 4 suivants
constituent le Data Length Code (DLC). Le DLC indique le nombre d'octets du Data Field. La valeur du
DLC est forcément comprise entre 0 et 8, soit 9 valeurs. 4 bits dominants (0000) correspondent à la
valeur 0 pour le DLC, tandis que (1000) correspond à la valeur 8.
- Data Field : Ce champ représente les données transmises par la Data Frame. Il peut contenir de 0 à 8
octets, où chaque octet est transmis avec le bit de poids fort en premier.
- CRC Field : Le CRC Field (Cyclic Redundancy Code) est composé 15 bits suivi d’un CRC Delimiter (1 bit
récessif). Le CRC permet de vérifier l'intégrité des données transmises. Les bits utilisés dans le calcul
du CRC sont ceux du SOF, de l'Arbitration Field, du Control Field et du Data Field.
- ACK Field : Le ACK Field est composé de 2 bits, l'ACK Slot et le ACK Delimiter (1 bit récessif). Le nœud
en train de transmettre envoie un bit récessif pour l’ACK Slot. Un nœud ayant reçu correctement le
message en informe le transmetteur en envoyant un bit dominant pendant l’ACK Slot : il acquitte le
message.
- End of frame : Chaque Data Frame et Remote Frame est terminée par une séquence de 7 bits
récessifs.
4-6-Trame de requête (Remote Frame)
Une trame de requête, figure 27, permet une coopération de type Client Serveur, elle est constituée de la
même manière qu’une trame de donnée à deux différences près :
- Ne contient pas de données, donc champ de données est vide.
- Dans le champ d’arbitrage, le bit de RTR est récessif, c’est-à-dire : RTR à 1, d’où une priorité inférieure
à la trame de données !
Si un nœud a besoin d’un certain nombre de données, il peut initier une demande de transmission de
données d’un autre nœud en envoyant une trame de requête, en prenant soin d’indiquer dans le champ de
contrôle (DLC) le nombre d’octets de données dont il a besoin. Cette demande ne peut être faite que si le bus est
libre (Idle).
Remarque :
La Trame de requête ce compose de 6 champs au lieu de 7 pour la trame de données (Data Frame),
détaillées ci-après :
1- le début de trame SOF (Start Of Frame), 1 bit dominant.
2- le champ d’arbitrage (Arbitration Field), 12 bits.
3- le champ de contrôle (Control Field), 6 bits.
4- le champ de CRC (Cyclic Redundancy Code), 16 bits.
5- le champ d’acquittement (Acknoledge), 2 bits.
6- le champ de fin de trame EOF (EndOf Frame), 7 bits récessifs.
AM.BELLOULA 23
MULTIPLEXAGE
Arbitration Field Control Field Data Field CRC Ac End of Frame Int Bus Idle
k
Identifier ID
SOF
RTR
IDE
r0
Figure 27 : Format trame de requête au Standard (Version2.0 A)
- Start of frame : comme pour la Data Frame, ce bit indique le début d'une nouvelle trame.
- Arbitration field : L'Arbitration Field est constituée de l'identificateur et du bit RTR. L'identificateur
(ID) permet d'identifier le message. Il est transmis dans l'ordre ID10 à ID0, où ID0 est le bit le moins
significatif. Le bit RTR et récessif dans le cas de la Remote Frames.
- Control Field : Le Control Field est composé de 6 bits. Les 2 premiers sont des bits réservés et les 4
suivants indiquent le nombre d’octet dans le champ de données que la data frame aura pour mission
de ramener par la suite.
- CRC Field : Le CRC Field (Cyclic Redundancy Code) est composé 15 bits suivi d’un CRC Delimiter (1 bit
récessif).
- ACK Field : Le ACK Field est composé de 2 bits, l'ACK Slot et le ACK Delimiter (1 bit récessif).
- End of frame : Chaque Remote Frame est terminée par une séquence de 7 bits récessifs.
AM.BELLOULA 24
MULTIPLEXAGE
L'Error Delimiter est composé de 8 bits récessifs. En fait, après avoir transmis son Error Flag, chaque nœuds
envoie des bits récessifs et observe le bus jusqu'à ce qu'il détecte un bit récessif, après quoi il envoie encore 7
bits récessifs supplémentaires.
AM.BELLOULA 25
MULTIPLEXAGE
o Le champ de suspension de transmission est émis par un nœud lorsque celui-ci envoie une
trame d’erreur passive.
o Le champ de Bus Idle est celui du bus quand il est au repos. Le niveau de repos est le niveau
récessif et aucune trame ne circule sur le bus.
Voici un exemple de 2 zones d’inter trame l’une sans trame d’erreur (Figure 31), l’autre à la suite d’une
trame d’erreur (inter trame « erreur ») (Figure 32).
---
Intermission Bus libre
4-7- Bit-stuffing
Pour les Data Frames et les Remote Frames, les bits depuis le Start of frame jusqu'à la séquence de CRC
sont codés selon la méthode du bit stuffing. Quand un transmetteur détecte 5 bits consécutifs de même valeur
dans les bits à transmettre, il ajoute automatiquement un bit de valeur opposée figure 23.
On obtient ainsi dans le message un plus grand nombre de transitions ce qui permet de faciliter la
synchronisation en réception par les nœuds. Cette technique est uniquement active sur les champs de SOF,
d’arbitrage, de contrôle, de CRC (délimiteur exclu).
Trame à stuffer
Trame stuffée
Trame à stuffer
Trame stuffée
AM.BELLOULA 26
MULTIPLEXAGE
Bit Emis
Bit reçu
Points d'échantillonnage
Ce sont les récepteurs qui se calent régulièrement sur l’horloge de l’émetteur pour synchroniser les
horloges :
o En début d’émission de trame sur le bus (le bus passe de l’état de repos à celui d’activité)
o Pendant l’émission de la trame : Le récepteur reconnaît les bits stuffing, cale son horloge,
les supprime, et reconstitue le message initial
Le récepteur compare sa durée de transmission d’un bit avec celle de la trame en cours de lecture. La
synchronisation consiste à allonger ou raccourcir la durée de transmission d’un bit du nœud récepteur, pour
l’ajuster avec celle d’un bit d’un nœud émetteur.
AM.BELLOULA 27
MULTIPLEXAGE
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, c’est-à-dire chaque émetteur compare le bit qu’il reçoit avec celui qu’il émet figure
25, tant que ces 2 bits sont identiques les 2 transmissions continuent dans le cas contraire, le boîtier ayant émis
un bit à l’état récessif, cesse d’émettre. Ainsi les stations de priorité moins élevées perdront la compétition face
à celles qui ont la priorité la plus élevée. Les bits de l’identificateur sont transmis dans l’ordre, de ID_10 à ID_0
(du MSB vers LSB).
Dans l’exemple ci-dessous, les stations 1, 2 et 3 demandent le bus en même temps. Pour les départager,
on applique la méthode d’arbitrage et les premières stations à émettre un bit récessif sont exclues et devront
attendre que la station qui a pris le bus (la station avec la priorité la plus haute) libère la ligne
Champ d’arbitrage
Identificateur
SOF
RTR
Nœud 1
Nœud 2
Nœud 3
Dans l’exemple de la figure 26 la station 1 est exclue en premier puis la station 3. La station 2 a donc la plus
haute priorité. Rappelons que le bus CAN utilise la méthode d'accès CSMA/CR (Carrier Sense Multiple Access
/Collision Resolution) dont les principes généraux sont les suivants :
AM.BELLOULA 28
MULTIPLEXAGE
Par exemple, avec l = 40 m, on obtient t-bus = 200 ns. Afin que la station ayant émis le bit initial soit apte à
gérer les conflits, le temps que doit durer le bit, le bit time t-bit, doit être supérieur à t-bus. De plus, pour être
complet, il est obligatoire de tenir compte des temps pris (ou nécessaire) pour échantillonner et traiter le bit dans
la station où il arrive.
Pour évaluer le bit time minimal t-bit-min du réseau envisagé, il sera nécessaire de tenir compte des (figure
33):
Retards de sortie de propagation t-out,
Retards d’entrée de propagation t-in,
Retards dus à la synchronisation t-sync,
Ecarts de phases dus aux tolérances d’horloge t-clock,
AM.BELLOULA 29
MULTIPLEXAGE
Exemple : avec un débit binaire de 100 kbit/s, soit un bit time de 10 µs, on peut atteindre une longueur de
réseau d’environ 900 m.
Il est important de noter que n’importe quel nœud connecté sur un bus CAN doit pouvoir supporter un
débit d’au moins 20 kbit/s
Le débit augmente lorsque la longueur du bus diminue. Pour les longueurs de bus supérieure à 200 mètres
il est nécessaire d’utiliser un optocoupleur, et pour une longueur de bus supérieure à 1 kilomètre il est nécessaire
d’utiliser des systèmes d’interconnexion tels que des répéteurs ou des ponts.
AM.BELLOULA 30
MULTIPLEXAGE
La durée d'un bit sur le bus est appelée Nominal Bit Time.
TIME_QUANTUM = m * MINIMUM_TIME_QUANTUM
La valeur de m peut varier de 1 à 32. La figure 36 représente la construction d’un Time Quantum à partir
d’une période d’horloge interne d’un microcontrôleur (MCU).
AM.BELLOULA 31
MULTIPLEXAGE
CAN horloge
tq
Lecture du bit
Figure 36 : Construction du Time Quantum
Pour le calcul du TIME_QUANTUM voir l’application CAN Bit Time Calculation disponible en ligne et pour
différents fabriquant de composant CAN :
Le nombre de Time Quantum dans un Nominal Bit Time peut ainsi varier de 8 à 25. Le tableau 4 donne le
nombre de Time Quantum possible par segment de Nominal Bit Time.
Le choix du nombre de Time Quanta pour chaque segment dépend de la fréquence de l’oscillateur. Un
nombre important de Time Quanta par segment augmente la précision de la synchronisation des différents
nœuds sur le bus.
AM.BELLOULA 32
MULTIPLEXAGE
- Bit Error : Un nœud envoyant un bit sur le bus regarde aussi en même temps les bits qu'il reçoit (Bit
monitoring). Il considère comme une erreur de bit lorsque le bit envoyé est différent du bit reçu, à
l'exception de l'envoi d'un bit récessif durant l'arbitrage (cas de la perte d'arbitrage) ou pendant l’ACK
Slot (trame acquittée).
- Stuff Error : Le nœud détecte une erreur de Stuffing lorsqu'il reçoit 6 bits consécutifs de même valeur
dans une partie d'un message qui devrait être codé avec la méthode du Bit Stuffing.
AM.BELLOULA 33
MULTIPLEXAGE
Erreur bit
Erreur Stuff-bit
Erreur de format
Erreur d’ACK
Emetteur
Récepteur
Erreur bit
Erreur Stuff-bit
Erreur de format
Erreur CRC
Le principe du Bit Stuffing, par exemple, vu précédemment permet de localiser une erreur et un nœud qui
détecte ce type d’erreur transmettra aux autres nœuds un message dit « Error Flag » contenant six bits de même
polarité.
Après avoir transmis le message Error Flag, le nœud essaiera à nouveau de transmettre le message, et si
aucun message de priorité supérieure ne prend la main sur le réseau ce nouveau message est transmis 23 bits au
plus après.
Les bits formant l’Error Flag sont dominants et écrasent donc les données contenues dans la Data Frame.
Ils provoquent la retransmission de cette dernière. Dans le cas d’erreurs successives, il y aura superposition
d’Error Flags.
Les 8 bits de l’Error Délimiter au niveau de la trame d’erreur donnent l’autorisation aux nœuds du réseau
de reprendre leurs communications. Des recherches ont montré que le taux d’erreurs non détectées par le
protocole CAN est très faible : 1 erreur non détectée pour 1000 années de fonctionnement.
AM.BELLOULA 34
MULTIPLEXAGE
Toutefois :
o Une erreur de Stuffing ne doit être signalée que dans les champs d’identificateurs, de
commande et de CRC.
o La règle du Bit-Stuffing ne s’appliquant plus après la fin du CRC. En aucun cas, une erreur de
Bit-Stuffing ne doit être signalée dans le champ de fin de trame ou dans le champ
d’acquittement.
Deux compteurs d’erreurs sont implémentés dans chaque nœud : celui des erreurs en transmission
(Transmit Error Count) et celui des erreurs en réception (Receive Error Count). Le compteur s’incrémente plus
vite lorsqu'il y a une erreur qu’il ne se décrémente lorsque la trame reçue est correcte, l’incrémentation et la
décrémentation des compteurs ne se fait pas avec le même rapport, elle est soumise aux règles suivantes :
AM.BELLOULA 35
MULTIPLEXAGE
o Dès qu’un récepteur détecte une erreur, il incrémente de 1 son compteur d’erreur de
réception, sauf si l’erreur est un Bit Error durant un flag d’erreur active ou un flag de
surcharge.
o chaque nœud recevant sept bits dominants consécutifs après réception d’un Active Error
Flag, d’un Passive Error Flag ou d’un Overload Flag. Après détection du quatorzième bit
dominant consécutif (pour l’Active Error Flag ou l’Overload Flag) ou du huitième bit
dominant consécutif suivant le Passive Error Flag, et après toutes les suites de huit bits
dominants consécutifs.
o le nœud reçoit une trame sans erreur (jusqu’au champ d’Acknowledge Slot) et si la valeur
du compteur est comprise entre 1 et 127. Si le compteur est à 0, sa valeur ne change pas
(pas d’incrémentation). S'il est supérieur à 127, sa valeur est ramenée entre 119 et 127.
o la transmission d’une trame se déroule sans erreur (jusqu’au champ d’Acknowledge Slot).
Si la valeur du compteur est à 0, le compteur ne s’incrémente pas.
L'état de la machine est défini par l'état de ses deux compteurs. Si les deux compteurs sont strictement
inférieurs à 128, la machine est en mode actif. Si par contre l'un de ses deux compteurs atteint ou dépasse la
valeur de 128, la machine passe en mode passif. Enfin, si le compteur d'erreur de transmission dépasse 255, la
machine passe à l'état Off.
AM.BELLOULA 36
MULTIPLEXAGE
La seule différence entre le mode actif et le mode passif réside dans la différence de trame d'erreur. Cela
sous-entend qu'une machine passive ne peut interrompre les transmissions par l'émission de sa trame d'erreur,
donc, seule, une machine passive ne peut déclencher d'erreur sur les autres machines du bus.
Lorsque le nombre d’erreur devient trop important et que le gestionnaire est déjà en erreur passive, le
nœud se met en Bus Off et se déconnecte du bus. Il ne reçoit ni émet à ce moment-là aucune trame circulant sur
le bus CAN. Le passage dans les différents modes s’effectue suivant la valeur des compteurs comme le montre la
figure 39.
Un nœud en mode Bus-Off ne pourra se reconnecter qu’après 128 occurrences de 11 bits récessifs sans
erreur. (Une occurrence de 11 bits récessifs : ACK Delimiter + Fin de trame + Inter trame).
AM.BELLOULA 37
MULTIPLEXAGE
Rappelons que le protocole CAN ne définit et n’impose en rien le support physique sur lequel la couche
physique CAN peut être implémentée.
4-14-1 Le cuivre
Il s'agit d'un des supports de transmission les plus anciens et qui est toujours d'actualité. Une paire torsadée
est composée de deux fils de cuivre mutuellement isolés et enroulés l’un autour de l’autre de façon hélicoïdale
afin de limiter les interférences extérieures, en particulier les radiations électromagnétiques perturbatrices, car
les ondes rayonnées de chaque torsade s'annulent (alors que deux fils parallèles constituent une antenne
rayonnante).
Les paires torsadées peuvent servir à transmettre des signaux analogiques ou numériques. La bande
passante dépend de l'épaisseur du câble et de la distance à parcourir, mais il est possible dans la plupart des cas
d'atteindre plusieurs Mbit/s sur quelques kilomètres. En raison de ses performances satisfaisantes et de son faible
coût, la paire torsadée est largement utilisée (le CAN est limité à 1 Mbit/s).
4-14- La fibre optique
La technologie actuelle des fibres optiques permet d'envisager une bande passante dépassant largement
50 000 Gbit/s (50Tbit/s). La recherche s'oriente naturellement vers des matériaux et des technologies encore plus
performants. La limitation actuelle, d'environ 10 Gbit/s est due à notre incapacité à effectuer plus rapidement la
conversion entre les signaux électriques et optiques, bien qu'en laboratoire on atteigne un débit de l'ordre de
100 Gbit/s sur une seule fibre (le CAN est limité à 1 Mbit/s). Un système de transmission optique possède 3
composants :
o Une source de lumière (l'émetteur)
o Un support de transmission (la fibre)
o Un détecteur de lumière (le récepteur)
Par convention, une impulsion de lumière indique un bit à 1 et l'absence de lumière, un bit à 0. Le signal
lumineux est produit par deux types de sources :
o Les diodes électroluminescentes (LED, Light Emitting Diode)
o Les diodes Laser.
Des convertisseurs sont nécessaires pour convertir le signal CAN d'un circuit en cuivre vers un conducteur
en fibre optique et vice versa. On obtient ainsi une isolation galvanique totale et une protection contre les effets
électromagnétiques.
AM.BELLOULA 38
MULTIPLEXAGE
Avantages de la fibre :
o Bande passante bien plus large
o Faible atténuation, un répéteur tous les 50 Km environ (un répéteur tous les 5 Km pour le
Cuivre)
o Elle n'est pas affectée par les surtensions électriques, les interférences électromagnétiques,
les pannes de courant
o Insensible à la corrosion chimique due à l'air ambiant. Elle peut convenir à l’environnement
industriel agressif
o Elle est fine et légère (1 000 câbles à paires torsadés d'1 Km de long pèsent environ 8 000 Kg.
Deux fibres de même longueur pèsent 100 Kg et offrent une plus grande capacité
o Coût à l'installation inférieur au final
Inconvénients de la fibre :
o Elle ne supporte pas d'être pliée
o Elle peut être facilement endommagée
o Les communications bidirectionnelles nécessitent l'usage de deux fibres, ou de deux bandes
de fréquences dans une fibre
o Les interfaces de couplage avec la fibre sont plus chères que celle pour le câble électrique
4-14-4 Faisceaux hertziens,
Techniquement ce sont des systèmes extrêmement compliqués à mettre en œuvre. En effet, le CAN a pour
particularité d'imposer l'utilisation d'un lien full duplex car les conditions de transmission sont assez exigeantes ;
notamment, le protocole prévoit, lors d'une transmission, des accusés de réception qui doivent être intercalés au
niveau bit dans la trame en cours. Les time-out sur ces accusés en retour sont très courts.
La très grande majorité des liens RF bi directionnels sont Half Duplex par impossibilité d'émettre en même
temps qu'une réception. De fait, soit l'on transmet, soit l'on écoute, avec des temps de basculement d'un mode
à l'autre non négligeables et supérieurs aux times out CAN. Dès lors, il est très difficile de gérer l'entrelacement
d'une trame avec des accusés de réception intermédiaires tel qu'exigé par le CAN.
Les problèmes conventionnels de ce genre de transmission sont connus. Il faut que l’ensemble ainsi
constitué soit simultanément émetteur et récepteur, et que les temps de retard pris pour gérer les réceptions, la
démodulation, et la détection du coté récepteur, pour la modulation et l’émission du coté émetteur soient
compatible avec la durée du bit et ces différents segment temporels, afin de garantir la séquence d’arbitrage.
AM.BELLOULA 39
MULTIPLEXAGE
- SLIO (Serial Link Input/Output) : composant autonome intégrant un contrôleur CAN, prévu pour des
entrées/sorties déportées, et conçu pour réaliser des fonctions de contrôle à distance de capteurs et
d'actionneurs ;
- « Gate array » ou prédiffusé : il s'agit de circuits intégrés sur mesure incorporant un contrôleur CAN.
De nombreux circuits intégrés supportant le protocole CAN sont disponibles sur le marché. La figure 40
représente l’architecture d’un microcontrôleur gèrent tout le protocole CAN à l'aide de deux contrôleur intégré.
Pour assurer un environnement Temps réel aux applications évoluant sur ce type de microcontrôleurs, un
transfert DMA (Direct Memory Access) y est implanté.
2 Modules CAN
Contrôleur CAN « Stand Alone» ou gestionnaire du protocole (Protocol handler) est l'exemple type du
circuit d'interfaçage entre un microcontrôleur avec le bus CAN (hormis le driver de ligne). Sa fonction consiste à
gérer les couches dites de « Communication » et « Physique » du protocole du bus CAN en tant que « Stand Alone
Controller ». Ceci comprend les tâches telles que les mécanismes de synchronisation, le traitement des erreurs,
l'arbitrage, les conversions parallèles/séries et séries/parallèles.
Dans ce cas de figure, le microcontrôleur externe a pour mission d'assurer la couche « applicative » de
l’ensemble après la programmation et la configuration du module.
Les interfaces de lignes «Transceivers » sont nécessaires pour s'adapter aux paramètres physiques pour se
connecter aux différents médias de transmission ainsi qu'aux besoins de fiabilité. La figure 41 montre un exemple
de câblage reliant deux microcontrôleurs intégrant un contrôleur CAN via deux modules interfaces de lignes.
AM.BELLOULA 40
MULTIPLEXAGE
AM.BELLOULA 41
MULTIPLEXAGE
6- Applications et outils.
AM.BELLOULA 42
MULTIPLEXAGE
o le bus CAN confort pour le contrôle de la climatisation, du chauffage, de la commande des portes,
etc.
Pour accéder à ces bus il faut trouver les connecteurs CAN_H et CAN_L correspondant au bus CAN ciblé.
On trouve généralement au moins ces connecteurs derrière l’autoradio (puisque dans les voitures récentes
l’autoradio a parfois besoin d’accéder au bus CAN pour, par exemple, permettre le contrôle de la climatisation,
ou plus souvent pour afficher des informations de diagnostic). On pourra alors s’y connecter en utilisant par
exemple un microcontrôleur équipé d’un contrôleur CAN.
Pour le reste, il faut savoir qu’il n’y a rien de standard sur le bus CAN (couche application) a contrario de
l’OBD, donc on ne saura pas a priori comment interpréter les messages reçus, chaque constructeur définissant
de manière propriétaire chacun de ses messages.
Il ne reste plus qu’à faire une phase de reverse engineering pour identifier le rôle de chaque message : par
exemple, ouvrir les portes et voir les trames émises, puis allumer les feux de croisement et voir ce qui passe sur
le bus, etc. A terme vous devriez avoir un dictionnaire complet des messages CAN correspondant au modèle de
véhicule. CAN est l'un des protocoles de transport de la spécification OBD-II et pris en charge par la plupart des
scanners OBD-II.
Prise OBD :
La prise OBD est celle qui est utilisée par le garagiste lorsqu’il réalise un diagnostic électronique du véhicule.
C’est une prise informatique reliée à l’ordinateur de bord, indiquant les codes d’erreurs que le véhicule a
éventuellement générés. Chaque voiture est équipée d’une prise OBD, généralement située sous le volant.
Il faudra ensuite utiliser une application informatique pour récupérer les données émises par l’OBD. A noter
que la connexion d’un outil de diagnostic OBD est non-intrusive et qu’il n’y a aucun risque à l’utiliser.
AM.BELLOULA 43
MULTIPLEXAGE
Outils
Busmaster
Busmaster, est un logiciel mis à disposition librement auprès des utilisateurs par les sociétés Robert Bosch
Engineering et Etas, est un outil de conception, de surveillance, d'analyse et de simulation d'un bus CAN, mis en
œuvre dans les automobiles mais aussi dans les systèmes d'automatismes.
Ce projet informatique est ouvert aux contributions issues du monde de la recherche ou des industriels
pour le faire évoluer. Il est utilisable et modifiable selon les usages traditionnels de la communauté du logiciel
libre. Le développement et l'administration du logiciel peuvent donc se faire via des outils libres de droits.
Parmi les fonctions présentes au sein de Busmaster, on peut citer :
la création et l'édition de bases de données CAN,
le filtrage des messages par matériel ou logiciel,
la journalisation et lecture des messages CAN,
la création de nœuds programmables au moyen d’un éditeur de fonctions ANSI C et des filtres
d’importation pour fichiers de bases de données DBC et programmes CAPL.
affichage de la trace du trafic sur le bus ;
affichage du contenu des messages ;
report des statistiques et de la charge du bus ;
enregistrement des informations pour des évaluations ultérieures ;
génération de trames (messages) périodiques ou sur événements ;
programmation en langage CAPL (CAN Access Program Language).
La programmation en CAPL (langage compilé) permet d’écrire des scripts. C’est un langage assez proche
du « C ». L’évaluation temporelle reste le point fort de l’outil.
CANopen
CANopen est une couche applicative (couche 7 du modèle OSI), originellement développé pour les Bus de
terrain du type CAN (Controller area network) fonctionnant en temps réel. Il est utilisé dans de nombreux
domaines : automobile, agricole, industriel (ascenseurs, escaliers roulants, motion control) et médical (rayons X,
salles d'opérations. CANopen est normalisé EN 50325-4. Il est également publié par l'organisation CAN In
Automation sous le nom de CiA DS301.
CANopen est une reprise de la couche applicative CAL développée par Philips Medical Systems ; il reprend
les services et protocoles de gestion de bus et de messages de la couche CAL tout en définissant le contenu des
messages et en intégrant la notion de système distribué. Un élément maître du réseau coordonne les éléments
esclaves. La vitesse de transmission peut atteindre 1 Mbit/s.
Un équipement CANopen est vu de l’extérieur comme un dictionnaire d’objets structurés, qui fait
l’interface entre le réseau et les données internes de l’équipement.
Chaque équipement CANopen connecté sur le réseau doit avoir une adresse unique (NodeId), comprise
entre 1 et 127. Chaque équipement doit également être configuré pour dialoguer au même débit. Ces réglages
sont faits soit par l’intermédiaire de roues codeuses ou par DIP switches sur l’équipement, soit par l’intermédiaire
d’un logiciel, ou encore, si l’équipement le permet, via le réseau grâce aux services LSS (Layer Setting Services).
AM.BELLOULA 44
MULTIPLEXAGE
Référence :
Liens utiles :
http://www.abmecatronique.com/automobile-et-mecatronique-evolution-parallele_6214/
http://www.agilicom.fr/tutorial_zoom.php?id=CANopen#Historique.
http://www.agilicom.fr/tutorial_zoom.php?id=CANopen#Historique.
https://learn.sparkfun.com/tutorials/getting-started-with-obd-ii?_ga=1.41995043.78040503.1475082696
https://x0r.fr/blog/39
AM.BELLOULA 45