Ouvrir le menu Fermer le menu

CAN/CANopen, dans un système embarqué

< Retour à la newsletter

Dans tous les systèmes de contrôle / commande, la communication entre le contrôleur et les actionneurs et capteurs est un élément prépondérant à la réussite d’un projet.  Au côté d’Ethernet, les technologies CAN (Controller Area Network) et les protocoles de haut niveau CANopen ont prouvé leur robustesse et fiabilité pour un coût de mise en œuvre faible et une basse consommation énergétique, autorisant une multitude de possibilités, quelque-soient les domaines d’applications.

CAN Vs Liaisons série RS


Contrairement à de vénérables bus et protocoles reposant sur RS232, ou bien RS422/485 comme Modbus RTU et PROFIBUS, CAN est un bus qui permet de prioriser les messages sans altérer ou détruire le message émis. En effet, les technologies de type RS232 et RS422 autorisent des protocoles de type Maître / Esclave, où le Maître « parle » et les Esclaves « écoutent » en répondant chacun à la fois… Cette méthode, appelée également « polling », nécessite un cycle dont la durée est fonction du nombre d’esclaves et de la quantité d’informations à transmettre.
Principe du fonctionnement Maitre / Esclave
CAN_CANopen_M_E
CAN_CANopen_P_C
Principe du fonctionnement Producteur / Consommateur
CAN autorise au contraire la communication selon le modèle Producteur / Consommateur, où chaque nœud, qu’il soit maître ou esclave, peut parler quand il le désire, sans se préoccuper de l’état du bus. Cette méthode permet d’atteindre de bien meilleures performances car les collisions de messages sont prises en charge par le contrôleur CAN et facilite ainsi grandement le travail du développeur.
CAN intègre la couche 2 du modèle OSI (data link layer), ce qui n’est pas le cas de RS232 et RS422/485 qui se limitent à la couche 1 (physical layer). De fait, RS485 n'est pas un protocole car aucune définition de trame n’est définie à ce niveau, contrairement au CAN. Il fournit uniquement les règles de base et le lien physique pour l'échange d’octets afin de permettre la transmission de messages série à l'aide d'un bus multipoint. Le contenu du message (les bits sur le bus) est complètement défini par l'utilisateur. C'est un avantage en termes de simplicité, mais quand il s'agit de compatibilité, cela devient un inconvénient devant la multitude de protocoles existants.
Trame de données CAN (CAN 2.0A)
CAN_CANopen_Trame

Le protocole CANopen

Exemple de message PDO
CAN_CANopen_Msg
CANopen est une couche applicative de haut niveau (couche 7 du modèle OSI) qui implémente les mécanismes nécessaires à la supervision d’un réseau, les messages périodiques (PDO) et non périodiques (SDO). CANopen autorise ainsi les communications de type Maître / Esclave mais aussi de type Producteur / Consommateur, le tout en simultané !
Avec des liaisons asynchrones de type RS232/422/485 et devant une page blanche, le concepteur devra écrire un protocole « propriétaire » qui nécessite un temps important pour la définition et l’implémentation, avec une prise en charge de chaque nœud du bus. De plus, la mise au point peut s’avérer longue et difficile pour l’obtention d’un système fiable et robuste !

Le Dictionnaire d’Objet

Une notion fondamentale de CANopen est le dictionnaire d’objets. Ce dictionnaire permet de renseigner un superviseur (ou Maître) CANopen sur les propriétés d’un périphérique, de manière standardisée. Ce mécanisme autorise ainsi de modéliser ce périphérique, afin de  rendre indépendant le matériel du logiciel de contrôle. L’intérêt pour l’utilisateur final est de pouvoir choisir son matériel indépendamment du constructeur. Afin de faciliter cette approche, un (gros) travail a été réalisé par l’organisation à but non lucratif CiA (CAN in Automation) aux travers de normes pour les profils métiers : modules I/O génériques (CiA 401), motion control et moteurs (CiA 402), profil pour IEC 61131-3 pour les automates industriels (CiA 405), dispositifs médicaux (CiA 412), systèmes de contrôle pour les ascenseurs (CiA 417), systèmes photovoltaïques et éoliennes (CiA 437, CiA 406, …), systèmes de charge des batterie – BMS – (CiA 418/419), véhicules municipaux (CiA 422) et bien d’autres encore…
Modèle de référence OSI et CANopen
CAN_CANopen_exemple
En résumé :

Les technologies CAN et CANopen permettent de gagner un temps très important dans la conception et la mise en œuvre d’un système « temps réel » devant communiquer en réseau et où la quantité de données à transmettre est limitée. Les mécanismes de supervision et de communication sont intégrés, les couches matérielles et logicielles ont prouvé leur efficacité et leur robustesse depuis de nombreuses années.

De plus, CANopen permet de bénéficier des profils métiers existants afin de rendre un dispositif reconnaissable par un maître CANopen, faisant là aussi gagner du temps de développement et d’intégration, que ce soit auprès de clients ou dans systèmes à usage internes à l’entreprise.

Les champs d’applications sont très vastes ; on peut citer comme exemple de réalisation chez ISIT la supervision du remplissage de poches sanguines, le contrôle / commande de pompes à vide, la communication sécurisée dans des équipements militaires, la gestion d’un joystick pour le pilotage d’un engin mobile…

Autre avantage de CANopen : une application écrite pour un système CANopen ainsi que les matériels CANopen peuvent facilement évoluer vers des architectures Ethernet temps réel comme EtherCAT et Powerlink car CANopen est pris en charge par ces protocoles. Autre preuve de maturité et d’efficacité de cette technologie !

Avantages du CAN :

Avantages du CANopen :

  • Excellent ratio coût / performances
  • Basse consommation énergétique
  • Forte résilience aux pannes
  • De nombreux microcontrôleurs embarquent un contrôleur CAN
  • Gestion des collisions lorsque plusieurs périphériques veulent tous envoyer des données à la fois
  • Technologie mature et en évolution (CAN FD)
  • Taux de transmission maximum 1Mbits (jusqu'à 50m)
  • Longueur maximale du bus de 1600m (à 50kbps)
  • Quantité limité de données (sauf pour CAN FD, 5 Mbits/s avec 64 octets utiles)
  • Conçu pour une implémentation dans les systèmes embarqués
  • Nombreux  profils “métiers” disponibles
  • Possibilité de construire des systèmes temps réels complexes à l’aide de briques logicielles existantes (COTS)
  • Possibilité de personnaliser les caractéristiques d’un dispositif
  • Intégration aisée d’un nouveau dispositif dans un réseau

Points clés :

  • Une formation est vivement recommandée pour acquérir rapidement les compétences en CAN / CANopen et accélérer la mise en œuvre
  • L’acquisition d’une pile commerciale pré-certifiée avec support et maintenance évite les risques associés au développement d’un produit

Vous pouvez avoir un aperçu des champs d’application sur le site web du CiA, au travers d’exemples comme les dispositifs scéniques dans le spectacle, un robot sous-marin pour la recherche d’avions de légende, l’asservissement des panneaux solaires dans les parcs photovoltaïques, et bien d’autres encore :https://can-newsletter.org/engineering/applications

A vous d’imaginer de nouvelles possibilités !

Contactez-nous pour plus d'informations et nous faire part de votre projet.