Les avantages des protocoles CAN et CANopen dans un système embarqué
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), initialement produites pour satisfaire aux exigences du marché automobile, et les protocoles de haut niveau CANopen ont prouvé leur robustesse et leur fiabilité pour un coût de mise en œuvre faible et une basse consommation, autorisant une multitude de possibilités, quelque-soient les domaines d’applications.
CAN Vs Liaisons série RS
Contrairement à des bus et protocoles historiques 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.
Au contraire, CAN autorise 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’existe à 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.
Le protocole CANopen
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 », ce 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. La mise au point sera longue et la fiabilité et la robustesse d’un protocole propriétaire sont toujours aléatoires !
Avec des liaisons asynchrones de type RS232/422/485 et devant une page blanche, le concepteur devra écrire un protocole « propriétaire », ce 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. La mise au point sera longue et la fiabilité et la robustesse d’un protocole propriétaire sont toujours aléatoires !
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 travail significatif 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…
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 travail significatif 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…
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!
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
- Excellent ratio coût / performances
- Basse consommation
- Forte résilience aux pannes
- Nombreux microcontrôleurs embarquant un contrôleur CAN
- Gestion des collisions lorsque plusieurs périphériques veulent 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ée de données (sauf pour CAN FD, 5 Mbits/s avec 64 octets utiles)
Avantages du CANopen
- 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 :
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.
- Une formation vous permettra d’acquérir rapidement les compétences en CAN / CANopen nécessaires à la réussite de votre projet
- L’acquisition d’une pile commerciale pré-certifiée avec support et maintenance accélèrera la mise sur le marché de votre produit
A vous d’imaginer de nouvelles possibilités !
Contactez-nous pour plus d'informations et nous faire part de votre projet.
ISIT propose un ensemble de solutions produits et services, allant d’une assistance technique en amont d’un projet (étude de faisabilité, réalisation d’un démonstrateur, rédaction des spécifications détaillées, …) jusqu’à la pré-certification de votre produit, en passant par la possibilité de faire appel à nos ressources internes pour la réalisation de vos logiciels spécifiques :
- Formations CAN/CANopen
- Développement de passerelles inter-protocoles
- Aide pour l’établissement de spécifications détaillées