1 sur 21 Mise en œuvre d’une communication par bus CAN Note d’application Charl
1 sur 21 Mise en œuvre d’une communication par bus CAN Note d’application Charles LERY Note d’application MISE EN ŒUVRE D’UNE COMMUNICATION PAR BUS CAN REALISE PAR CHARLES LERY Année universitaire : 2008/2009 2 sur 21 Mise en œuvre d’une communication par bus CAN Note d’application Charles LERY Le CAN (Controller Area Network) est un bus de communication série développé à la fin des années 80 par l’entreprise allemande Robert Bosch. L’objectif était de fournir à l’industrie automobile un bus peu coûteux pour l’électronique embarquée des automobiles. Aujourd’hui, l’efficacité et la robustesse de ce protocole l’ont amené à être utilisé dans de nombreuses autres applications industrielles, en particulier celles nécessitant un débit important jusqu’à 1Mbits/s avec un très faible taux d’erreur. De nombreux contrôleurs CAN sont aujourd’hui disponibles chez la plupart des fabricants, qui proposent aussi des versions de leurs microcontrôleurs avec des contrôleurs CAN intégrés. Ce document présente un exemple d’implémentation d’un bus CAN reliant différentes plateformes : un microcontrôleur PIC18F458 disposant d’un contrôleur CAN, des modules MPPT (Maximum Power Point Tracking). 3 sur 21 Mise en œuvre d’une communication par bus CAN Note d’application Charles LERY SOMMAIRE INTRODUCTION ...................................................................... 4 1. PRINCIPE DE FONCTIONNEMENT ...................................... 5 Format des trames .......................................................................................... 5 Structure d’un réseau CAN ............................................................................. 7 2. APPLICATION .................................................................... 9 Description ..................................................................................................... 9 Matériel nécessaire ....................................................................................... 10 Schéma de raccordement .............................................................................. 10 Programmation logiciel ................................................................................ 11 Structure du programme principal ............................................................. 16 Programme principal pour la réception d’informations provenant de deux modules MPPT : ........................................................................................ 18 3. RESULTATS ...................................................................... 20 4. CONCLUSION ................................................................... 20 5. ANNEXES ......................................................................... 21 4 sur 21 Mise en œuvre d’une communication par bus CAN Note d’application Charles LERY INTRODUCTION Le protocole de la communication par bus CAN est basé sur le principe de diffusion générale. En effet, lors de la transmission d’un message, aucune station (microcontrôleur et modules MPPT) n'est adressée en particulier, mais le contenu de chaque message est explicité par une identification reçue de façon univoque par tous les nœuds. Grâce à cet identificateur, ces derniers, qui sont en permanence à l'écoute du réseau, reconnaissent et traitent les messages qui les concernent. Cette présente note d’application décrira, de façon détaillée, dans une première partie la mise en œuvre d’une communication par bus CAN. En seconde partie, un exemple sera donné pour illustrer cette communication. Elle détaillera les échanges que peuvent avoir un microcontrôleur PIC18F458 avec des modules MPPT. Ces derniers permettent de récupérer l’image de la tension et du courant, délivrés par des panneaux solaires aux batteries, en servant d’intermédiaires. Par définition, ils permettent de faire fonctionner les panneaux solaires de façon à produire en permanence le maximum de leur puissance. Ainsi, quelles que soient les conditions météorologiques (températures et irradiation), et quelle que soit la tension de la batterie, la commande du convertisseur place le système au point de fonctionnement maximum. Ce point de fonctionnement obtenu correspond à une tension et un courant optimaux débités par les modules, appelés Vopt et Iopt. 5 sur 21 Mise en œuvre d’une communication par bus CAN Note d’application Charles LERY 1. PRINCIPE DE FONCTIONNEMENT Du type multi-maître, orienté messages courts, le bus CAN est bien adapté à la scrutation de variables émises par des stations déportées. La norme Iso 11898 spécifie un débit maximum de 1Mbit/s. La longueur maximum du bus est déterminée par la charge capacitive et le débit. Les configurations recommandées sont les suivantes : Débit Longueur 1 Mbit/s 40 m 500 Kbit/s 100 m 100 Kbit/s 500 m 20 Kbit/s 1000 m Le protocole est basé sur le principe de diffusion générale : lors de transmission, aucune station n'est adressée en particulier, mais le contenu de chaque message est explicité par une identification reçue de façon univoque par tous les abonnés. Grâce à cet identificateur, les stations, qui sont en permanence à l'écoute du réseau, reconnaissent et traitent les messages qui les concernent; elles ignorent simplement les autres. L'identificateur indique aussi la priorité du message, qui détermine l'assignation du bus lorsque plusieurs stations émettrices sont en concurrence. En version de base, c'est un nombre de 11 bits (CAN 2.0A), ce qui permet de définir jusqu'à 2048 messages plus ou moins prioritaires sur le réseau. Il existe une version étendue où le nombre de bits d’identifiants est de 29 (CAN 2.0B). Chaque message peut contenir jusqu'à 8 octets de données. Il est possible d'ajouter des stations réceptrices à un réseau CAN sans modifier la configuration des autres stations. Format des trames Les trames de données ou de requête sont composées de sept parties. Le format ci après est décrit pour des trames respectant le protocole 2.0A. Figure : Débit de la communication par bus CAN en fonction de la distance 6 sur 21 Mise en œuvre d’une communication par bus CAN Note d’application Charles LERY Start of frame marque le début d'une Data Frame (trame de données) ou d'une Remote frame (trame de requête). C'est un seul bit dominant. Il permet la synchronisation des autres nœuds avec celui qui émet une trame. Arbitration field est composé des 11 bits de l’identificateur (CAN 2.0A) et d’un bit de RTR (Remote transmission Request) qui est dominant pour une trame de données, et récessif pour une trame de requête. Control field 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 1 bit récessif et 3 bits dominants (1000) correspondent à la valeur 8. Data field sont 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 est composé de la séquence de CRC sur 15 bits suivie du CRC delimiter (1 bit récessif). La séquence de CRC (Cyclic Redundancy Code) 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 est composé de 2 bits, l’ACK Slot et l’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 le ACK Slot : il acquitte le message. End of frame marque la fin des Data frame et Remote par une séquence de 7 bits récessifs. 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 : Composition d’une trame CAN 7 sur 21 Mise en œuvre d’une communication par bus CAN Note d’application Charles LERY Outre les trames de données et de requête, on a donc également des trames d’erreurs (émises par n’importe quel nœud dès la détection d’une erreur), et des trames de surcharge (ces trames correspondent à une demande d’un laps de temps entre les trames de données et de requêtes précédentes et successives. Structure d’un réseau CAN Pour envoyer ou recevoir un message à partir d’un microcontrôleur, il faut que les données transitent par différents modules. Ci-après, un schéma structurel d’un réseau CAN. Microcontrôleur Contrôleur CAN TXD RXD Emetteur et Récepteur de trames CAN CAN L CAN H Microcontrôleur Contrôleur CAN TXD RXD Emetteur et Récepteur de trames CAN CAN L CAN H Lignes de bus CAN CAN H CAN L Résistance de terminaison de bus RFL RDL Résistance de terminaison de bus Figure : Structure d’un réseau CAN 8 sur 21 Mise en œuvre d’une communication par bus CAN Note d’application Charles LERY Contrôleur CAN Le bus CAN étant un bus complexe, il est difficile de le mettre en œuvre de manière totalement software. Les contrôleurs CAN permettent de gérer le bus de manière hardware. On distingue deux types de contrôleurs : - Les contrôleurs reliés aux microcontrôleurs par une liaison de type SPI , comme le MCP2515 de chez Microchip - Les contrôleurs intégrés aux microcontrôleurs qui disposent donc, d'un module CAN avec les lignes TXCAN et RXCAN reportés sur les pins et destinés à êtres reliés au transceiver CAN. Transceiver CAN Le protocole CAN ne spécifie pas la couche physique, c'est pourquoi la plupart des contrôleurs CAN ne possèdent pas de circuits permettant de les connecter à un bus, qu'il soit filaire, à fibre optique ou tout autre mode de transmission possible. Un transceiver, tel que le 82C250 de Philips, permet de faire l'interface entre le contrôleur CAN et le bus physique. Le transceiver 82C250 code les bits DOMINANTS et récessifs de la manière suivante : - Etat DOMINANT (TX=0) CANH - CANL = 2V - Etat RECESSIF uploads/Management/ bus-can.pdf
Documents similaires










-
35
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 29, 2022
- Catégorie Management
- Langue French
- Taille du fichier 1.9440MB