INFORMATIONS le bus CAN - scan78.free.frscan78.free.fr/Elektor/Elektor 1999 FR/f999018.pdf ·...

5
Elektor 9/99 CAN, Profibus, LON, ASI, Interbus-S, Bitbus, FIP, EIB, eBUS, il n’est plus possible d’endiguer l’avancée spectaculaire des systèmes de communication en réseau, les bus industriels. Une technique bien rodée, des protocoles aujourd’hui gravés dans le silicium des puces, des prix en baisse et une mise en oeuvre aisée, les bus industriels n’inspi- rent pas uniquement le milieu des fabricants, il y a des spécialistes de pointe dans bien d’autres domaines qui s’y intéressent. Nous vous proposons, dans cette petite série d’articles, de faire plus ample connaissance avec le bus CAN (Control- ler Area Network, réseau local à contrôleur), en toute simplicité, à l’aide d’illustra- tions et selon une approche pratique. Après les bases théoriques exposées dans une première partie, nous en viendrons à une interface universelle pour un sys- tème à microprocesseur, puis des applications dans un réseau élémentaire basé sur le bus CAN. 18 Bernd vom Berg, Peter Groppe communication de données futée pour spécialiste (1 ère partie) INFORMATIONS le bus CAN

Transcript of INFORMATIONS le bus CAN - scan78.free.frscan78.free.fr/Elektor/Elektor 1999 FR/f999018.pdf ·...

Page 1: INFORMATIONS le bus CAN - scan78.free.frscan78.free.fr/Elektor/Elektor 1999 FR/f999018.pdf · Elektor 9/99 CAN, Profibus, LON, ASI, Interbus-S, Bitbus, FIP, EIB, eBUS, il n’est

Elektor 9/99

CAN, Profibus, LON, ASI, Interbus-S, Bitbus, FIP, EIB, eBUS, il n’est plus possibled’endiguer l’avancée spectaculaire des systèmes de communication en réseau,

les bus industriels.Une technique bien rodée, des protocoles aujourd’hui gravés dans le silicium despuces, des prix en baisse et une mise en oeuvre aisée, les bus industriels n’inspi-

rent pas uniquement le milieu des fabricants, il y a des spécialistes de pointe dansbien d’autres domaines qui s’y intéressent. Nous vous proposons, dans cette

petite série d’articles, de faire plus ample connaissance avec le bus CAN (Control-ler Area Network, réseau local à contrôleur), en toute simplicité, à l’aide d’illustra-tions et selon une approche pratique. Après les bases théoriques exposées dans

une première partie, nous en viendrons à une interface universelle pour un sys-tème à microprocesseur, puis des applications dans un réseau élémentaire basé

sur le bus CAN.

18

Bernd vom Berg, Peter Groppe

communication de données futéepour spécialiste (1ère partie)

INFORMATIONS

le bus CAN

Page 2: INFORMATIONS le bus CAN - scan78.free.frscan78.free.fr/Elektor/Elektor 1999 FR/f999018.pdf · Elektor 9/99 CAN, Profibus, LON, ASI, Interbus-S, Bitbus, FIP, EIB, eBUS, il n’est

Nous allons commencer par nous inté-resser brièvement à l’historique et à lanormalisation du bus CAN, pour pas-ser ensuite à l’exposé de ses caractéris-tiques principales et à sa connectivité,désignées communément par physicallayer, le niveau matériel.La deuxième partie traitera du proto-cole de transfert de données, data linklayer, et vous fournira un tableau descomposants à structure CAN proposéspar quelques fabricants. Ce sera alorsle moment de s’attaquer à l’étude deschémas pratiques : une interfaceCAN universelle, adaptable à la plu-part des systèmes à microcontrôleurou microprocesseur.Dans la troisième partie de cette série,nous vous proposerons la construction,la programmation et la mise en serviced’un petit réseau CAN à l’aide de pla-tines pour PC et pour microcontrôleur.

L E D É V E L O P P E M E N TD U C A NAu début des années 90, l’industrieautomobile, dans tous les pays, étaitconfrontée à deux difficultés majeuresdans la conception de nouveauxmodèles de voitures aussi bien que decamions.Le premier concernait l’accroissementdes exigences de confort à bord desautomobiles. Le client demandait desvitres électriques, des rétroviseursorientables, des sièges chauffants etadaptables à la morphologie duconducteur, le conditionnement d’airélectrique et finalement l’audiovisuelembarqué et la navigation assistée parGPS. En un mot, le marché réclamaitun spectre plus large de confort et decommodité.Le second problème, c’était naturelle-ment le souci d’une meilleure sécurité,avec le développement indispensablede systèmes électroniques à ver-rouillage central, d’autres qui empê-chent le démarrage, les composantsABS, en allant jusqu’à la gestion éco-nomique et écologique du moteur.La conséquence inévitable de l’apportde toute cette électronique embarquée,c’est la nécessité soudaine de moyensde communication entre les unités dis-persées sur le châssis du véhicule. Onestime qu’en 2005, on comptera, au tra-vail sous la carrosserie, jusqu’à centmicrocontrôleurs séparés, obligésd’échanger entre eux des données. Leschemins de communication, end’autres termes, l’artère ramifiée d’in-terconnexion, doit dès lors gonfler enproportion. Dans les voitures de luxe,on doit déjà installer 2 000 m de câbled’un poids total de 100 kg et sur diffé-rentes gammes de modèles d’un mêmeconstructeur, on peut totaliser jusqu’à600 types différents de troncs de câbles.Il n’était désormais plus possible, com-mercialement parlant, de réaliser lecâblage automobile selon les méthodes

traditionnelles.L’industrie automobile, surtout enFrance, en Allemagne et aux États-Uniss’est donc mise à la recherche deconcepts plus modernes de communi-cation et se rallia à la technique desbus, tout en considérant les exigencesparticulières du transport routier :– basse et haute vitesse de transfert des

données dans la gamme de 5 kbit/sjusqu’à 1 Mbit/s pour les électro-niques de confort et de sécurité ;

– très haute fiabilité du transfert dedonnées pour une distance de Ham-ming (HD) supérieure à 4 ;

– optimisation pour l’échange d’infor-mations très courtes, telles que cellesdes organes d’exécution ou des cap-teurs, d’une largeur de mot compriseentre 1 et 8 bits ;

– facilité de manipulation et faible coûtde la mise en oeuvre des protocoles,compte tenu d’une production demasse ;

– construction simplifiée des bus(médias et topologie) en vue de leurintégration au châssis.

Malheureusement, chaque grandgroupe automobile s’est lancé dans lamise au point de son propre conceptde bus (bien entendu incompatibleavec celui des concurrents), après quoichacun s’efforça de faire standardiserle sien à l’échelle mondiale, demanière à s’assurer d’un profit com-mercial maximal.Ce n’est pas chose aisée que de formu-ler une norme internationale capablede satisfaire tout un chacun. On s’estainsi retrouvé face à quatre standardsrestants, tous accrédités : le CAN(Controller Area Network) pour les ver-sions à basse et haute vitesse, le VAN,le J1850 SCP et le J1850 DLC [1].

Le concept VAN, bien que déjà norma-lisé, ainsi que d’autres bus spécifiquesà certains constructeurs, furent peu àpeu abandonnés au milieu desannées 90, au profit du bus CAN, quidevenait ainsi le leader du marchéautomobile mondial. C’est d’abordMercedes qui, dès 1992, l’incorpore àses voitures de haut de gamme, laclasse S, en tant que système de trans-fert de données à basse et hautevitesse. Suivent alors BMW, Porsche etJaguar et à présent, le bus CAN faitpartie des voitures de milieu degamme chez VW, Renault, Fiat, etc.Presque au même moment, l’industrieen général, surtout dans les branchesd’automatisation et de production,découvre les avantages des bus quifont leurs preuves dans l’automobile,le concept CAN en particulier, pour lamesure, la commande et le réglage, sibien qu’on le retrouve aujourd’huicomme épine dorsale des systèmesSPS, des commandes de robots et demoteurs, mais aussi dans la construc-tion d’immeubles, les ascenseurs, l’au-tomatisation des laboratoires, les sys-tèmes de régulation à capteurs etorganes de commande et ainsi de suite.Entre-temps, le protocole CAN a été« gravé dans le silicium », il est doncdisponible sous forme de puces et l’uti-lisateur n’a plus à se préoccuper desfinesses de diplomatie à respecter lorsdes communications, les circuits inté-grés ont appris à s’entendre. Tout béné-fice pour la mise à niveau de systèmesà périphériques existants aussi bienque pour les nouveautés en matièred’ensembles à microcontrôleurs.Cette maniabilité étonnante, coupléeà la chute de prix des puces adaptéesau CAN n’est pas un privilège réservé

19Elektor 9/99

1989 900

20

40

60

80

100

120

140

160

91 92 93 94 95 96 97 98 99 2000

Pré

visi

on

de

ven

teen

mill

ion

s d

e p

ièce

s

Année990060 - 11

1

Figure 1. Progression devente escomptée de pucespour le bus CAN [1].

Page 3: INFORMATIONS le bus CAN - scan78.free.frscan78.free.fr/Elektor/Elektor 1999 FR/f999018.pdf · Elektor 9/99 CAN, Profibus, LON, ASI, Interbus-S, Bitbus, FIP, EIB, eBUS, il n’est

à l’industrie, le particulier aussi ytrouve avantage, par exemple lorsqu’ilveut réaliser un réseau de communi-cation décentralisé, un bus de terrain.La figure 1 montre la progressionattendue par les fabricants de semi-conducteurs, à l’échelle mondiale, dela mise en service de bus CAN, enregard du prix, exprimé en dollars US,d’un réseau complet fondé sur cettetechnologie.

L A N O R M A L I S A T I O NQui veut établir la structure d’un sys-tème de communication universel sedoit de clarifier quatre points essentielsavant d’en fixer une norme.– Comment les différents participants

vont-ils se connecter au réseau, d’unpoint de vue électrique aussi bienque logique ? À quoi va ressembler latopologie du système ?

– Comment va-t-on introduire et trans-porter les données à travers lemédium, qu’il s’agisse d’un câble,d’une fibre optique ou de l’air enradio ou en infrarouge ? Commentdéfinir le niveau de signal, le raccor-dement des prises et toutes cescontingences ?

– Quelles règles fixer pour l’échange dedonnées entre les intervenants ?Comment éviter les erreurs, lesreconnaître, les corriger ? Quel genre

de protocole devra y présider ?– Comment accède-t-on au canal de

transfert de données, quand un desmembres du réseau désire émettre etcomment résoudre les conflitslorsque plusieurs stations demandentla parole en même temps ?

Il s’agit dans ce dernier cas, la solutiondes demandes d’accès simultanées, dece qu’on nomme l’arbitrage du bus.Aussi longtemps que les membres duréseau restent en réception, on ren-contre peu de difficultés. Dans le cadredes spécifications, n’importe quelle sta-tion réceptrice, raccordée au réseau,peut écouter toutes les informationsqui passent sans causer le moindresouci. En règle générale, dans pareilsystème de communication, il ne peut yavoir, à un moment donné, qu’un seulposte qui émet, mais des récepteurs enservice, on peut en compter autantqu’on veut.Ces questions, et quelques autresencore, doivent recevoir une réponseexplicite si l’on veut établir valablementun réseau de communication, a fortiorisi l’on souhaite que le systèmeobtienne une approbation internatio-nale. C’est ainsi qu’au début desannées 90, l’Organisation internatio-nale de standardisation ISO se mit autravail pour établir une norme de busautomobile, alors que le bus CAN s’im-

posait de plus en plus.La base de l’activité de standardisationdans le domaine colossal de la com-munication de données, dans un envi-ronnement ouvert et sans attache avecaucun constructeur, c’est le modèle deréférence à sept niveaux ISO/OSI [2].Pour les bus industriels, au nombredesquels on compte les bus automo-biles, les niveaux 3 à 6 sont inoccupés,si bien que pour le bus CAN, il fautfournir des spécifications pour lesniveaux 1, 2 et 7, comme l’indique lafigure 2 :

Niveau 1 : aspects physiques (canal detransfert de données)Sous cette rubrique sont définies lescaractéristiques du canal de transfertde données, le câble de bus, parexemple, la manière de raccorder lesprises, le niveau d’émission et deréception du signal. Il existe à cet égarddeux normes CAN :

ISO 11519-2 : Low-Speed-CAN. Ellerepose sur les travaux entrepris audébut des années 80 en Allemagne parla firme Bosch et qui obtint le soutiende INTEL, qui s’est alors chargé d’entraduire le protocole sur les puces. Lowspeed signifie ici des débits de donnéesentre 5 kbit/s et 125 kbit/s.

ISO 11898 : High-Speed-CAN. Il s’agitdans ce cas de débits qui peuventatteindre 1Mbit/s.

Niveau 2 : aspect liaison informatique(accès au bus et détection d’erreur)Ce niveau-ci définit la manière d’entreren communication avec le réseau poury émettre des informations, le formatsous lequel les données doivent êtrepositionnées (les champs d’adresse, dedonnées, de commandes et les binairesde contrôle d’erreur), la structure duprotocole de transfert.Les spécifications correspondantes seretrouvent également dans la normeISO 11898.

En outre, les spécifications CAN 1991ont encore été étendues, si bien qu’il ya aujourd’hui deux normes qui coexis-tent, les versions CAN 2.0A etCAN 2.0B, dont nous étudierons plusen détail les similitudes et les disparitésdans la deuxième partie.Le fait que le concept CAN se soitentre-temps répandu à de nombreuxautres secteurs de l’industrie a rendu leniveau 7, celui des applications, parti-culièrement touffu, voire confus, parcequ’en fin de compte, il se traduit direc-tement en termes d’interface pour desdomaines spécifiques, on en arrivealors au niveau 8, sous forme de busindustriels. À signaler qu’au fil dutemps, on a développé trois branchesimportantes du concept CAN : CANo-pen, DeviceNet et Smart Distributed

20 Elektor 9/99

Layer 8

Application:"Device on Bus"

CANopen

CAL: CANApplication layerfor industrialApplications

LLC: Logical Link ControlMAC: Medium Access Controlacc. to ISO 11898

"Low-Speed CAN" ISO 11519-2

"High-Speed CAN" ISO 11898

CAN 2.0 ACAN 2.0 B

Result:

Specifications

DeviceNet

Empty !!

DeviceNetSpecifications

SmartDistributedSystem(SDS)

SDSSpecifications

Layer 7

"Application Layer"

Layer 2

"Data Link Layer"

Layer 1

"Physical Layer"

Layer 3 - 6

ISO / OSILayer model CAN Bus Layer

990060 - 12

2

Figure 2. Le bus CAN repré-senté selon le modèle parniveaux ISO/OSI.

Page 4: INFORMATIONS le bus CAN - scan78.free.frscan78.free.fr/Elektor/Elektor 1999 FR/f999018.pdf · Elektor 9/99 CAN, Profibus, LON, ASI, Interbus-S, Bitbus, FIP, EIB, eBUS, il n’est

System (SDS). Mais comme les spécifi-cations en sont très volumineuses,nous ne les aborderons pas dans cetarticle d’introduction. Toutes lesvariantes du concept de bus CAN,dans leur ensemble, se fondent toute-fois sur les prescriptions décrites dansles niveaux 1 et 2.Continuellement mis à jour et àniveau, le CAN ne s’est pas endormisur ses lauriers. Dès 1982, en Alle-magne, une association d’utilisateursdu concept, appelée CiA, de CAN inAutomation, regroupe plus de 280firmes de renom dans différents sec-teurs et travaille de concert à perfec-tionner sans cesse le bus CAN. Vouspouvez d’ailleurs obtenir des informa-tions très fouillées sur CAN, CANopen,SDS et bien d’autres sur le site Internetde CiA [3] ou sous la référence citée en[4].

L E S C A R A C T É R I S T I Q U E SExaminons un peu plus en détail, àprésent, les spécifications de lanorme CAN.Le raccordement du bus (aspects phy-siques) comprend la topologie duréseau du bus CAN et le lien au canalde bus.La topologie du réseau décrit lamanière dont on construit physique-ment le système de communication,comment les stations se branchent surle câble de transit.Le bus CAN fait usage d’une topologiede bus conventionnelle, à savoir quetous les participants sont connectés àune paire unique de conducteurs, tor-sadée, blindée ou non, dont les extré-mités sont bouclées sur des résistanceséquivalentes à l’impédance caractéris-tique de la ligne (figure 3).Cette configuration assure à chaquestation la faculté de communiquer sansentrave avec n’importe quelle autrestation.Pour assurer le lien au canal de bus,l’étage d’émission/réception d’une sta-tion CAN dispose de deux bornes,comme vous le montre la figure 4,l’une dite haute, CAN-High (et pascanaille, comme certains pourraient lesuggérer) ou CANH, l’autre basse,CAN-Low ou CANL (cannelle, c’estdéjà plus gentil).Le transfert de données proprement ditmet à profit la symétrie de la ligne pourpasser le signal en mode différentiel,garantissant ainsi une haute immunitéaux parasites. Dès lors, c’est la diffé-rence de tension entre les deux conduc-teurs du bus qui est prise en compte.Sous la norme ISO 11898, deuxdomaines de tension de différence sontdéfinis pour l’interprétation des don-nées sur le bus : l’état de bus caractérisépar un niveau récessif ou par un niveaudominant, à l’instar de la génétique, oùun caractère dominant empêche unrécessif, bien que présent, de s’exprimer.

On le voit, on ne travaille pas ici avecles habituels niveaux logiques « 0 » et« 1 », ce qui mérite d’évidence un motd’explication.Si la différence de tension UD entreCANH et CANL est tout au plus d’undemi volt (≤0,5 V), le bus présente unétat récessif.

Si elle atteint ou dépasse neuf dixièmesde volt (≥0,9 V), on assiste à un étatdominant.Les niveaux absolus d’attaque du bus,c’est-à-dire ceux de chaque conducteurpar rapport à la masse (locale) sontrepris dans le tableau 1.Naturellement, ces niveaux absolus

21Elektor 9/99

Liaison de bus CAN

StationCAN 1

StationCAN 2

StationCAN 12

990060 - 13Résistance determinaison de bus

Résistance determinaison de bus

3

Figure 3. La topologiedu bus CAN.

Figure 4. Comment rac-corder une station par-ticipant au bus CAN.

Participantsau réseau

CAN

CAN H

UD

CAN L

0W2 0W2

990060 - 14

4

Tension sur… \\ État du bus récessif dominant

CANH 2,5 V 3,5 V

CANL 2,5 V 1,5 V

Tolérance en tension différentielle :UD = CANH - CANL

0 à 0,5 V 0,9 à 2,0 V

Tableau 1. Les niveauxabsolus d’attaque du busentre chaque conducteuret la masse, selon lanorme ISO 11898.

Page 5: INFORMATIONS le bus CAN - scan78.free.frscan78.free.fr/Elektor/Elektor 1999 FR/f999018.pdf · Elektor 9/99 CAN, Profibus, LON, ASI, Interbus-S, Bitbus, FIP, EIB, eBUS, il n’est

s’accommodent, en pratique, de tolé-rances, comme on peut s’en apercevoirà la dernière rangée du tableau.Les prescriptions de la normeISO 11519-2 (Low-Speed CAN) sontquelque peu différentes, mais actuelle-ment, on s’aligne d’habitude sur cellesde la norme ISO 11898, tant en hautequ’en basse vitesse.Le praticien, en réalité, n’a que peu à sepréoccuper de ces singularités, puisqueles fabricants de semi-conducteurs luifournissent des circuitsd’émission/réception (transceiver ouencore trancepteur) tout faits, qui ne sedifférencient plus les uns des autresque par l’optimisation de leur compor-tement électromagnétique, de leurencombrement et de leur protectionthermique (en cas de court-circuit entreCANH et CANL). Les niveaux designal y sont fixés d’avance, il n’y aplus qu’à se raccorder aux conducteursdu bus et la liaison CAN est établie.La seule chose dont il faut se soucier,c’est de savoir si ces composants fonc-

tionnent selon la norme ISO 11519-2ou ISO 11898, avec une préférencepour cette dernière. Il faut aussi savoirque d’autres systèmes sont aptes à tra-vailler sur la différence de tension etsont compatibles avec le transfert dedonnées en CAN, c’est le cas parexemple de la norme RS485. D’autresinformations à ce sujet sont disponiblesdans l’ouvrage cité en référence [5].Les questions fondamentales à se poserà propos du bus CAN, ce sont :– quelle extension maximale peut-on

atteindre selon un système de trans-fert donné,

– combien de stations peut-on raccor-der au même bus ?

Les réponses à ces questions dépen-dent essentiellement du câble de busutilisé. Le tableau 2 dresse le topo pourun réseau CAN selon ISO 11898lorsque le nombre de stations se limiteà 32. Comme câble de liaison, une pairetorsadée, blindée ou non, fait généra-lement l’affaire. Par exemple : un câblecomposé d’une paire torsadée de

conducteurs d’une section compriseentre 0,34 et 0,6 mm2 avec des résis-tances de bouclage terminales de127 Ω. En outre, il faut que la résistivitédes conducteurs soit inférieure à60 mΩ/m, mais cette condition est réa-lisée dès que la section dépasse0,30 mm2.Un autre paramètre à prendre enconsidération, c’est la longueur de déri-vation, lorsqu’une station n’est pas rac-cordée directement au bus CAN prin-cipal. Pour un débit inférieur à250 kbit/s, pareille jonction ne devraitpas excéder une longueur de 2 m et0,3 m aux débits supérieurs. Au total, ilfaut d’ailleurs se limiter à 30 m debifurcations.Pour en finir avec les considérationssur le niveau des aspects physiques,remarquons encore que les prises etleur brochage sont normalisés(figure 5).Dans la deuxième partie de cette sérieconsacrée au bus CAN, nous verronscomment se déroule le protocole decommunication, quelques composantsdignes d’intérêt et la réalisation pra-tique d’une liaison CAN.

(990060-1)

Littérature[1] W. Lawrenz (éditeur), CAN ControllerArea Network, Hüthig Verlag, 3èm édition,1999[2] Phoenix Contact (éditeur), GrundkursSensor/Aktor-Feldbustechnik, Vogel Buch-verlag, 1997[3] Page d’accueil de l’association « CAN inAutomation (CiA) », http://www.can-cia.de[4] PRAXIS Profiline, Controller Area Net-work, Édition spéciale de Vogel Verlag, 1998[5] K. Etschberger (éditeur), CAN Control-ler-Area-Network, Carl Hanser VerlagMünchen, 1994[6] A. Raab, le bus CAN - réseau local àcontrôleur, Elektor 11/1992, pp. 40 sqq.

22 Elektor 9/99

1 2 3 4 5

6 7 8

990060 - 15

9

1 réservé2 CAN L3 CAN GND4 réservé

6 GND7 CAN H8 réservé9 CAN V+ (alimentation

externe optionnelle)5 optionnel: blindage

5

Figure 5. Brochagedes connecteurs pourle bus CAN.

Longueurdu bus

Câble constitutif du bus Résistance determinaison du bus

Taux de transfertmaximaleRésistance Caractéristiques

0 ... 40 m 70 mΩ/m0,25 ...0,34 mm2

AWG23, AWG22124 Ω (1%) 1 Mbit/s à 40 m

40 ... 300 m <60 mΩ/m0,34 ... 0,6 mm2

AWG22, AWG20127 Ω (1%) 500 Kbit/s à 100 m

300 ... 600 m <40 mΩ/m0,5 ... 0,6 mm2

AWG20de 150 Ω à 300 Ω 100 Kbit/s à 500 m

600 m ... 1 km <26 mΩ/m0,75 ... 0,8 mm2

AWG18de 150 Ω à 300 Ω 50 Kbit/s à 1 km

Tableau 2. Débit dedonnées, longueur debus, type de câble etimpédance caractéris-tique [3].