Le bus CAN, déterministe et fiable Le bus CAN déterministe et fiable Anthony JUTON – Joëlle MAILLEFERT 1 Le bus CAN, déterministe et fiable ERP MES Office Network Supervision Supervision Network HMI PLC Cell 2 Field Bus Speed Controller Remote I/O Motor Sensors Actuators Smart sensor Cell 3 Cell 1 Anthony JUTON – Joëlle MAILLEFERT 2 Le bus CAN, déterministe et fiable Présentation du bus CAN : Domaines d’application Rappels sur les bus de terrain • Généralités sur les bus de terrain • Le modèle OSI • Le temps réel Le bus CAN • La couche physique • La couche liaison de données • Le format étendu CAN 2.0 B Anthony JUTON – Joëlle MAILLEFERT 3 Le bus CAN, déterministe et fiable Historique • Depuis les années 1960 la longueur de câble utilisée dans l’automobile ne cesse de croître pour dépasser 2000 m en 1995. Le nombre des connexions atteint 1800 à cette même date. La fiabilité et la sécurité sont menacés. • Les normes en matière de pollution et de consommation d’énergie obligent les constructeurs à multiplier les capteurs et actionneurs intelligents dans leur véhicules accélérant ce processus de multiplication des câbles et connexion depuis une vingtaine d ’années. • Le besoin de sécurité accrue (ABS, ESP, AIR-BAG…) et la demande de confort (mémorisation des réglages de conduite, climatisation régulée par passager, système de navigation…) ne font que renforcer cette tendance. • La société BOSCH développe dès le début des années 1980 une solution de multiplexage des informations circulant à bord de la voiture. Le bus CAN apparaîtra et sera normalisé dans les années qui suivent (dès 1983). • Les composants CAN se démocratisent et investissent d’autres secteurs de l’industrie (moissonneuses, pelleteuse, médical, produits numériques, systèmes électrotechnique…). Anthony JUTON – Joëlle MAILLEFERT 4 Le bus CAN, déterministe et fiable Exemples d’applications CAN Anthony JUTON – Joëlle MAILLEFERT 5 Le bus CAN, déterministe et fiable • Rappels sur les bus de terrains Les réseaux de terrain permettent : l’interconnexion entre plusieurs entités d’un même système; la réduction de la longueurs des liaisons entre les différents éléments grâce à un support commun de transmission; de sécuriser les liaisons entre automates; de gagner de la place comme une automobile pour les systèmes dit d’électronique embarquée ; de transférer les informations de manière séquentielle (c’est à dire bit par bit) ou bien par paquet de bits ; un échange de données qui serait difficile voire impossible par un autre moyen. l’insertion ou la suppression d’éléments au sein d’un même système Anthony JUTON – Joëlle MAILLEFERT 6 Le bus CAN, déterministe et fiable Exemple de l’automatisme industriel Objectifs liés à l’introduction d’un bus de terrain : Réduire le câblage (coût, fiabilité) Faciliter la communication entre les différents éléments Permettre de faire du diagnostic Développer une électronique modulaire Cahier des charges Fonctionner en environnement difficile (températures, émissions EM) Etre déterministe (gestion des organes de sécurité notamment) Etre fiable Etre modulaire Etre peu cher Anthony JUTON – Joëlle MAILLEFERT 7 Le bus CAN, déterministe et fiable Quelques bus plus ou moins « de terrain » Automatismes HART Profibus Modbus Ethernet et ses dérivés CAN (CANopen / DeviceNet) Bâtiment EIB / KNX Lon / BacNet Ethernet et ses dérivés CAN (CANopen) Embarqué I2 C K-Line Ethernet et ses dérivés SPI CAN (OSEK/VDX, J1939,…) Anthony JUTON – Joëlle MAILLEFERT 8 Le bus CAN, déterministe et fiable Applications Automobile Camions, bus, engins de chantier, grues Avions, trains Automatisme industriel, machines-outils Bâtiment (Ascenseurs, gestion technique de bâtiments) Instrumentation médicale Anthony JUTON – Joëlle MAILLEFERT 9 Le bus CAN, déterministe et fiable •Evolution du câblage dans l’automobile grâce à un bus de terrain Câblage traditionnel CAN Simple & Léger 2 câbles pour l’alimentation électrique 12 V DC 1 paire torsadée pour les transferts d’informations Anthony JUTON – Joëlle MAILLEFERT 10 Le bus CAN, déterministe et fiable • Eléments du bus CAN Applications Norme CAN ISO 11898 Haute vitesse ISO 11519 Basse vitesse constructeurs Définition d’un langage entre les composant CAN Codage des messages arbitrage, Protocole de transmission gestion erreurs Codage de l’information amplitude, timing, synchro Support de transmission Anthony JUTON – Joëlle MAILLEFERT Niveaux des signaux : hauteur et largeur des bits portant l’information Câbles électriques, fibres optiques, Liaisons infrarouges, liaison hertziennes 11 Le bus CAN, déterministe et fiable •Les trois principaux documents existants se rapportent aux applications automobiles et sont connus sous les références : ISO 11519-1 Généralités et définitions : véhicules routiers, communication en série de données à basse vitesse. ISO 11519-2 Réseau local à commande à basse vitesse (CAN) : véhicules routiers, communication en série de données à basse vitesse. ISO 11898 Véhicules routiers - Echange d'information numérique : gestionnaire de réseau de communication à vitesse élevée (CAN). Anthony JUTON – Joëlle MAILLEFERT 12 Le bus CAN, déterministe et fiable Rappels sur les bus de terrains • Le modèle OSI : • Afin de normaliser les protocoles, l’International Standard Organisation (ISO) a développé le modèle Open System Interconnections (OSI), qui permet d’identifier et de séparer les différentes fonctions d’un système de communication. • Ce modèle divise en sept couches les fonctions d’un système de communication. Cependant il n’est pas indispensable de disposer de toutes les couches dans un système : selon les fonctionnalités requises, certaines couches intermédiaires sont inutiles. Anthony JUTON – Joëlle MAILLEFERT 13 Le bus CAN, déterministe et fiable • Représentation du modèle UTILISATEUR UTILISATEUR SE SE 7 application 7 application 6 présentation 6 présentation 5 session 5 session 4 transport Si réseau 4 transport réseau Si réseau 3 3 réseau 2 liaison liaison liaison 2 liaison 1 physique physique physique 1 physique noeud noeud Support physique d'interconnexion Environnement réseau Environnement OSI Environnement système réel Anthony JUTON – Joëlle MAILLEFERT 14 Le bus CAN, déterministe et fiable Rappels sur les bus de terrains UTILISATEUR SE 7 application 6 présentation 5 session 4 transport 3 réseau 2 liaison 1 physique Anthony JUTON – Joëlle MAILLEFERT •1. La couche physique ou transmission des bits •Elle réalise la transmission des éléments binaires constitutifs des trames sur le support suivant des caractéristiques physiques, électriques, optiques et mécaniques définies par des normes. •On lui associe les notions de directionnalité (mono- ou bi-), de temps de propagation, de valeurs pour l’état haut, l’état bas. 15 Le bus CAN, déterministe et fiable Rappels sur les bus de terrains UTILISATEUR SE 7 application 6 présentation 5 session 4 transport 3 réseau 2 liaison 1 physique •2. La couche de liaison de données ou niveau trame •Elle définit le format ainsi que le codage logique de la trame. Elle permet également la sécurisation du lien physique. •Cette couche découpe les séquences de bits transmis sous forme de trames dont la taille varie (de 10 à 1000 octets). •Ces trames sont protégées par un code détecteur d’erreur ainsi que par des trames dites d’acquittement. Anthony JUTON – Joëlle MAILLEFERT 16 Le bus CAN, déterministe et fiable Rappels sur les bus de terrains UTILISATEUR SE 7 application 6 présentation 5 session 4 transport 3 réseau 2 liaison 1 physique Anthony JUTON – Joëlle MAILLEFERT •3. La couche réseau ou niveau paquets •Permet l’acheminement et le contrôle des données. •Les chemins peuvent être prédéfinis dans des tables de routage, mais souvent ces chemins sont choisis dynamiquement pour chaque paquet de données. •Chaque réseau possède son propre protocole, lorsque l’on passe d’un réseau à un autre la couche réseau permet l’adaptation entre ces différents réseaux. •Peut demeurer absente dans certains protocoles 17 Le bus CAN, déterministe et fiable Rappels sur les bus de terrains UTILISATEUR SE 7 application 6 présentation • 4. La couche transport ou niveau message • Elle permet : session Le contrôle du transfert des informations de bout en bout; 4 transport Le découpage des messages en paquets pour le compte de la couche réseau; 3 réseau 2 liaison 1 physique 5 Anthony JUTON – Joëlle MAILLEFERT Le réassemblage des paquets en messages pour les couches supérieures. 18 Le bus CAN, déterministe et fiable Rappels sur les bus de terrains UTILISATEUR •5. La couche session SE 7 application 6 présentation 5 session 4 transport 3 réseau 2 liaison 1 physique Anthony JUTON – Joëlle MAILLEFERT •Permet d’établir une session entre deux machines, les machines peuvent désormais dialoguer et se synchroniser. •Elle assure l’ouverture et la fermeture des sessions pour le compte des applications, définit les règles d’organisation de synchronisation du dialogue entre les abonnés 19 Le bus CAN, déterministe et fiable Rappels sur les bus de terrains UTILISATEUR SE 7 application 6 présentation 5 session 4 transport 3 réseau 2 liaison 1 physique Anthony JUTON – Joëlle MAILLEFERT •6 - La couche présentation •Permet de gérer la syntaxe et la sémantique de l’information transmise. L’information transmise sous forme d’octets peut être de l’ASCII ou bien des résultats de calculs possédant un format spécial (virgule fixe, flottante) … La couche présentation permet de coder cette information correctement. 20 Le bus CAN, déterministe et fiable Rappels sur les bus de terrains UTILISATEUR SE 7 application 6 présentation 5 session 4 transport 3 réseau 2 liaison 1 physique Anthony JUTON – Joëlle MAILLEFERT •7. La couche application •Assure l’interfaçage avec les utilisateurs •A chaque application correspond son protocole comme par exemple : FTP pour le transfert de fichiers SMTP pour le transfert de courrier électronique 21 Le bus CAN, déterministe et fiable •Une définition du temps réel •On dit qu’il y a traitement temps réel lorsque le temps de réponse à des interrogations est soumis à des contraintes du système . Il en découle 2 situations: •Le système transactionnel où l’on tolère le dépassement d’un temps de réponse donné sur quelques échantillons: la contrainte de temps n’entraîne pas de défaillance du système à condition qu’elle se produise avec une probabilité bornée. C’est le temps réel mou. •La commande de processus où le respect d’un temps de réponse donné doit être garanti dans tous les cas sous peine de voir apparaître une dégradation, voire même un effondrement du système, c’est le temps réel dur. Anthony JUTON – Joëlle MAILLEFERT 22 Le bus CAN, déterministe et fiable •Le déterminisme : •Un système est déterministe quand le comportement des sorties de celui ci est parfaitement maîtrisé et ce quelles que soient ses entrées, on peut distinguer : Le déterminisme temporel lorsqu’il y a respect du timing, Le déterminisme évènementiel lorsque tous les évènements sont traités. •Il découle de cette notion plusieurs autres : La prévisibilité montre les possibilités que l’on a de prévoir comment le système va se comporter quelles que soient les circonstances. L’urgence : il s’instaure une hiérarchie entre les différents traitements à effectuer ; certains étant plus importants que d’autres. Anthony JUTON – Joëlle MAILLEFERT 23 Le bus CAN, déterministe et fiable Fonctionnement du CAN • Principes: ”Identifiers” • Les trames de données transmises par un nœud sur le bus ne contiennent ni une quelconque adresse du nœud expéditeur ou du nœud destinataire. C’est plutôt le contenu du message, sa signification 4 qui est précisé par un identificateur (ID). Chaque nœud recevant un message regarde si celui-ci est intéressant pour lui grâce à l’ID. Si c’est le cas, il le traite, sinon, il l’ignore. Cet unique ID indique aussi la priorité des messages. Plus la valeur est faible, plus le message sera prioritaire. Si deux nœuds ou plus cherchent à avoir accès au bus en même temps, c’est celui de plus haute priorité qui gagne. Les messages de priorité inférieure seront automatiquement retransmis lorsque le bus sera libre. Anthony JUTON – Joëlle MAILLEFERT 24 Le bus CAN, déterministe et fiable La couche Physique • Cette partie concerne : • les aspects physiques de la liaison entre les nœuds connectés sur un bus CAN. • la couche MAC (Médium Access Control), qui est une couche intermédiaire entre la liaison de données et la couche physique, définit l’arbitrage des bits sur le bus et donne à telle ou telle trame sa priorité. Anthony JUTON – Joëlle MAILLEFERT 25 Le bus CAN, déterministe et fiable 1 – Accès au média et arbitrage •1.1. Le NRZ : bits dominants et récessifs •La succession de bits transitant sur le bus est codé avec la méthode du NRZ (Non Return To Zero). •Pendant la durée totale du bit, le niveau de tension de la ligne est maintenu, c’est à dire que pendant toute la durée durant laquelle un bit est généré, sa valeur reste constante qu’elle soit dominante ou récessive. 0 1 1 0 1 0 0 dominant récessif récessif dominant récessif dominant dominant Anthony JUTON – Joëlle MAILLEFERT 26 Le bus CAN, déterministe et fiable 1 – Accès au média et arbitrage Physiquement le bus est une paire torsadée de deux fils électriques : CAN L (low) et CAN H (High) Les états logiques (0 ou 1) sont codés par différence de potentiel entre les deux fils : immunité importante au bruit Anthony JUTON – Joëlle MAILLEFERT 27 Le bus CAN, déterministe et fiable 1 – Accès au média et arbitrage •1.2. Le bit stuffing •Une des caractéristiques du codage NRZ est que le niveau du bit est maintenu pendant toute sa durée. Cela pose des problèmes de fiabilité si un grand nombre de bits identiques se succèdent. La technique du Bit Stuffing impose au transmetteur d’ajouter automatiquement un bit de valeur opposée lorsqu’il détecte 5 bits consécutifs dans les valeurs à transmettre. Trame à l'émission avant la mise en place des bits de stuffing 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Trame avec bits de stuffing (S) 1 2 3 4 Anthony JUTON – Joëlle MAILLEFERT 5 6 7 S 8 9 10 11 12 13 14 15 16 17 18 19 S 20 21 22 23 24 28 Le bus CAN, déterministe et fiable 1 – Accès au média et arbitrage •1.3 - Le bit timing •On définit la plus petite base de temps reconnue sur un bus CAN comme étant le Time Quantum. Cette base de temps est une fraction de l’horloge de l’oscillateur du bus. Un bit dure entre 8 et 25 quantum Horloge Quantum Horloge drédivisée Durée d'un bit (bit time) Anthony JUTON – Joëlle MAILLEFERT 29 Le bus CAN, déterministe et fiable 1 – Accès au média et arbitrage • Exemple de bit timing : lecture d’un bit ISO11898 : High Speed CAN 250 Kbps 1bit = 4µs 1 bit correspond à 32 coup d’horloge La lecture du bit devra être faite au 20éme coup d’horloge Anthony JUTON – Joëlle MAILLEFERT Synch Propagation Phase1 Phase2 32 time quantum Bit valide 30 Le bus CAN, déterministe et fiable 1 – Accès au média et arbitrage Nécessité d’écouter le bus Anybody ? Nœud 1 Anthony JUTON – Joëlle MAILLEFERT Nœud 2 Nœud 3 31 Le bus CAN, déterministe et fiable 1 – Accès au média et arbitrage • Chaque émetteur écoute la ligne et compare le signal sur la ligne avec le signal qu’il émet. Contrôleur CAN Transmission : Rx et Tx actifs Tx Rx Contrôleur CAN Réception : Rx actif et Tx haute impédance Anthony JUTON – Joëlle MAILLEFERT Tx Rx 32 Le bus CAN, déterministe et fiable 1 – Accès au média et arbitrage Transmission d’une trame • Le contrôleur CAN écoute le bus Anybody ? • Si le bus est libre, la trame est émise. Sinon, le contrôleur attend la fin de la trame reçue. 01100010110… Anthony JUTON – Joëlle MAILLEFERT 33 Le bus CAN, déterministe et fiable 1 – Accès au média et arbitrage Transmission d’une trame • Problème, un autre nœud peut commencer à émettre « en même temps » 00110000110… 01100010110… • À t=L/c, on détecte un problème… Houston 01100010110… we have a problem 00110000110… L Anthony JUTON – Joëlle MAILLEFERT c = 200 000 km/s 34 Le bus CAN, déterministe et fiable 1 – Accès au média et arbitrage Gestion des conflits : CSMA / CA Un niveau prioritaire par rapport à un autre ‘0’ est bit dominant bus line ‘1’ est bit récessif 1 2 3 Exemple simple transmission of 011010 Codage NRZ Un même bit doit être reçu et traité par tous les nœuds avant l’émission du suivant (Carrier Sense Media Access / collision avoidance) Etablissez le lien entre longueur du réseau et temps bit (la durée d’émission d’un bit) B A Anthony JUTON – Joëlle MAILLEFERT L c= 200 000 km/s 35 Le bus CAN, déterministe et fiable 1 – Accès au média et arbitrage Longueurs maximum de bus Dans la pratique, le contrôleur génère des retards supplémentaires (temps de propagation Tp) 2L/c + Tp < Bit-Time Anthony JUTON – Joëlle MAILLEFERT 36 Le bus CAN, déterministe et fiable 1 – Accès au média et arbitrage Transmission d’une trame • 2 nœuds émettent une trame au même moment (à L/c près) 00110000110… 01100010110… • A t=L/c une « collision » à lieu Houston we have a problem 01100010110… 00110000110… L c = 200 000 km/s Anthony JUTON – Joëlle MAILLEFERT Que va-t-il se passer ? 37 Le bus CAN, déterministe et fiable 1 – Accès au média et arbitrage Transmission d’une trame 00110000110… < 01100010110… 00110000110… I’ll try again later L • A la première différence dans le début de la trame, le bit dominant écrase le bit récessif • Le noeud rouge voit que sa trame ne passe pas, il passe en écoute et attend pour émettre de nouveau. Le noeud jaune n’a rien vu, il continue à émettre. Protocole CSMA/CA (Carrier Sense Multiple Access - Collision Avoidance). Anthony JUTON – Joëlle MAILLEFERT 38 Le bus CAN, déterministe et fiable 1 – Accès au média et arbitrage Transmission d’une trame, importance des premiers bits Anthony JUTON – Joëlle MAILLEFERT 39 Le bus CAN, déterministe et fiable 2 – Format d’une trame Les différents champs de la trame Champ de contrôle Longueur du champs de données SOF Start of frame Bit dominant 1 11 or 29 Identifiant 1 6 RTR dominant ACK delimiter Bit récessif EOF End of frame CRC 0 - 64 Champ des données 15 111 Fin de CRC Bit récessif ACK slot Bit récessif 3 7 Inter-trame • Identifiant : 11 bits (CAN 2A) ou 29 bits (CAN 2B) Il est porteur de la priorité du message • Champ de données : message (température, position, on/off) • séquence CRC : calcul de vérification http://dvsoft.developpez.com/Articles/CRC/ Anthony JUTON – Joëlle MAILLEFERT 40 Le bus CAN, déterministe et fiable 2 – Format d’une trame Les différents champs de la trame Champ de contrôle Longueur du champs de données SOF Start of frame Bit dominant 1 11 or 29 Identifiant 1 6 RTR dominant ACK négatif Bit récessif EOF End of frame CRC 0 - 64 Champ des données 15 111 Fin de CRC Bit récessif ACK positif Bit récessif 3 7 Inter-trame • L’ACK positif est remplacé par un bit dominant par tout noeud qui a reçu correctement la trame. • EOF : séquence de 7 bits récessifs • Inter-trame : au moins 3 bits récessifs Anthony JUTON – Joëlle MAILLEFERT 41 Le bus CAN, déterministe et fiable 2 – Format d’une trame Signal reçu par le µC 2, signal binaire présent sur le bus Signal transmis par le µC 2 (emission d’un message d’identifiant 0x02) Signal transmis par le µC 1 (emission d’un message d’identifiant 0x10) ACK slot Anthony JUTON – Joëlle MAILLEFERT ACK slot 42 Le bus CAN, déterministe et fiable 2 – Format d’une trame Les différentes trames • Data frame : trame de données (1) • Remote frame : trame de requête, pour demander une donnée (peu utilisée) • Error frame : pour signaler une erreur • Overload frame : pour demander un arrêt des envois (saturation du récepteur) • Interframe (1) smoke communication signals Anthony JUTON – Joëlle MAILLEFERT 43 Le bus CAN, déterministe et fiable 2 – Format d’une trame La trame de requête C’est comme une trame de données avec les différences suivantes • Le bit RTR est récessif • Pas de champ de données Puis-je avoir l’ordre du jour ? Anthony JUTON – Joëlle MAILLEFERT 44 Le bus CAN, déterministe et fiable 2 – Format d’une trame Bit stuffing Synchronisation des horloges sur les fronts Introduction de bits de bourrage (bit stuffing) Après 5 bits identiques, un bit de type différent est inséré Anthony JUTON – Joëlle MAILLEFERT 45 Le bus CAN, déterministe et fiable 3 – La gestion des erreurs Les différents types d’erreurs •Au niveau de la forme de la trame - CRC delimiter - ACK delimiter - EOF - Bit stuffing Something’s wrong… I must tell the others Au niveau des éléments de vérifications - CRC - Acknowledge Dans tous les cas, une erreur est transmise Il y a deux types de trames d’erreur : - error active : 6 bits dominants + 8 bits recessifs sans bit stuffing - error passive : 14 bits récessifs sans bit stuffing passive 11111111111111 Anthony JUTON – Joëlle MAILLEFERT active 00000011111111 46 Le bus CAN, déterministe et fiable 3 – La gestion des erreurs Les 3 états du noeuds - Error active Le noeud transmet des trames error active Les deux compteurs d’erreurs sont inférieurs à 127 - Error passive Le noeud “transmet” des trames error passive - Bus Off Le compteur de transmission est supérieur à 255, le noeud est déconnecté du réseau Anthony JUTON – Joëlle MAILLEFERT REC>127 ou TEC>127 Mode Erreur Passive Mode Erreur Active requête de Normal Mode REC<128 et TEC<128 TEC>255 Mode Bus Off REC : compteur d’erreurs de réception TEC : compteur d’erreurs d’émission 47 Le bus CAN, déterministe et fiable 3 – La gestion des erreurs • Chaque compteur d’erreurs s’incrémente de 8 à chaque apparition d’une erreur. • Chaque compteur d’erreur décrémente de 1 à chaque transmission ou réception correcte. erreur ? compteur compteur -1 Anthony JUTON – Joëlle MAILLEFERT compteur compteur +8 48 Le bus CAN, déterministe et fiable 4 – Les couches physiques Des besoins différents • La norme du CAN ne définit pas de couche physique. Il suffit d’avoir la notion de bit dominant et récessif sur le média. • C’est dans la très grande partie des cas du câble, mais avec différentes structures d’émetteurs et différentes natures de câble. Une contrainte importante : le coût… • Câbles blindés ou non • Liaison différentielle ou asymétrique • Optocouplage ou non a CAN controller Anthony JUTON – Joëlle MAILLEFERT 49 Le bus CAN, déterministe et fiable 4 – Les couches physiques La norme CAN HS (High Speed) Transmission différentielle : Haute protection contre les perturbations électromagnétiques Voltage (V) 3.5 CAN - H Recessive 2.5 Dominant 1.5 CAN - L Anthony JUTON – Joëlle MAILLEFERT 2.0V a CAN controller t 50 Le bus CAN, déterministe et fiable 5 – Différents modes de transmission des données Exemples : CAN bus noeud 0 noeud 1 Bouton poussoir Identifiant = 0x10 Valeur 0 ou 1 node 2 ADC (potentiomètre) Identifiant = 0x02 Valeur de 0 à 15 Le noeud 0 consomme la donnée 0x02 Le noeud 1 produit la donnée 0x10 consomme la donnée 0x02 Priorité plus importante Le noeud 2 produit la donnée 0x02 Anthony JUTON – Joëlle MAILLEFERT 51 Le bus CAN, déterministe et fiable 5 – Différents modes de transmission des données Polling Envoi des données Transmission cyclique Envoi des données Toutes les xxx ms Sur requête Requête des données ? Envoi des données Les données ont changé ? Les données ont changé ? Envoi des données Envoi des données Toutes les xxx ms Anthony JUTON – Joëlle MAILLEFERT 52 Le bus CAN, déterministe et fiable Bibliographie 2 livres de référence : Réseaux multiplexés pour systèmes embarqués, Dominique Paret, Dunod, 2005 Le bus CAN. Applications : CAL, CANopen, DeviceNet, OSEK, SDS Dominique Paret, Dunod, 2001 Les spécifications officielles : CAN Bosch specifications www.semiconductors.bosch.de/pdf/can2spec.pdf CANopen dans ses moindres détails http://www.can-cia.org/canopen/ Pour développer vos applications : Notes d’applications 228, 713, 738, 754, 876 de Microchip www.microchip.com Anthony JUTON – Joëlle MAILLEFERT 53