Qu'est-ce que le bus CAN ?

Dans cet article:

  1. Qu'est-ce que le bus CAN ?
  2. Que signifie BaudRate ?
  3. Où sont utilisés les réseaux CAN ?
  4. Matériel d'interface CAN
  5. Quels sont les différents protocoles de couche supérieure basés sur le réseau CAN ?
  6. CANopen
  7. SAE J1939
  8. DeviceNet

Qu'est-ce que le bus CAN ?

Le réseau de contrôleurs (bus CAN) permet la communication.

Le Controller Area Network (CAN) est une technologie de réseau série conçue pour l'industrie automobile, en particulier pour les voitures européennes, mais il est également devenu un bus populaire dans l'automatisation industrielle et d'autres applications.

Le bus CAN est principalement utilisé dans les systèmes embarqués et dans une technologie de réseau qui permet une communication rapide entre les microcontrôleurs jusqu'à des exigences de temps réel, éliminant le besoin d'une technologie beaucoup plus coûteuse et complexe d'une RAM à double port.

CAN est un système de réseau à grande vitesse à deux fils, semi-duplex, bien supérieur aux technologies sérielles conventionnelles telles que RS232 en termes de fonctionnalité et de fiabilité, mais les implémentations CAN sont plus rentables.

Alors que, par exemple, TCP/IP est destiné au transport de grandes quantités de données, CAN est conçu pour des exigences en temps réel et, avec un débit en bauds de 1 MBit/sec, peut facilement battre une connexion TCP/IP de 100 MBit/sec lorsqu'il s'agit de temps de réaction courts, de détection d'erreurs en temps utile, de récupération d'erreurs rapide et de réparation d'erreurs.

Que signifie BaudRate ?

Vous configurez BaudRate en bits par seconde. Les bits transférés comprennent le bit de départ, les bits de données, le bit de parité (si utilisé) et les bits d'arrêt. Cependant, seuls les bits de données sont stockés.

Le débit en bauds est la vitesse à laquelle les informations sont transférées dans un canal de communication. Dans le contexte du port série, "9600 bauds" signifie que le port série est capable de transférer un maximum de 9600 bits par seconde.

Si l'unité d'information est un baud (un bit), le débit binaire et le débit en bauds sont identiques.

Si un baud correspond à 10 bits (par exemple, huit bits de données plus deux bits de trame), le débit binaire est toujours de 9600, mais le débit en bauds est de 9600/10, soit 960.

Vous configurez toujours BaudRate en bits par seconde. Par conséquent, dans l'exemple ci-dessus, réglez BaudRate sur 9600.

Veuillez noter que l'ordinateur et le périphérique doivent être configurés à la même vitesse de transmission avant de pouvoir lire ou écrire des données avec succès.

Les vitesses de transmission standard sont les suivantes : 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200, 128000 et 256000 bits par seconde.

Où sont utilisés les réseaux CAN ?

Les réseaux CAN peuvent être utilisés comme système de communication intégré pour les microcontrôleurs et comme système de communication ouvert pour les appareils intelligents. Certains utilisateurs, par exemple dans le domaine de l'ingénierie médicale, ont opté pour CAN parce qu'ils doivent répondre à des exigences de sécurité particulièrement strictes.

Des exigences similaires ont dû être prises en compte par les fabricants d'autres équipements ayant des exigences très élevées en matière de sécurité ou de fiabilité (par exemple, les robots, les ascenseurs et les systèmes de transport).

Le plus grand avantage du réseau de contrôleurs réside dans la réduction du câblage, combinée à une prévention ingénieuse des collisions de messages (ce qui signifie qu'aucune donnée n'est perdue lors de la transmission d'un message).

Les paragraphes suivants donnent un aperçu des caractéristiques techniques du CAN :

  1. Est une technologie de réseau série pour les solutions embarquées.
  2. Il ne nécessite que deux fils nommés CAN_H et CAN_L.
  3. Fonctionne à des débits de données allant jusqu'à 1 mégabit par seconde.
  4. Prend en charge un maximum de 8 octets par trame de message.
  5. Ne prend pas en charge les ID de nœuds, mais uniquement les ID de messages. Une application peut prendre en charge plusieurs identifiants de message.
  6. Prend en charge la priorité des messages, c'est-à-dire que plus l'ID du message est bas, plus sa priorité est élevée.
  7. Prend en charge deux longueurs d'ID de message, 11 bits (standard) et 29 bits (étendu).
  8. Il n'y a pas de collisions de messages (comme cela peut se produire avec d'autres technologies sérielles).
  9. N'est pas exigeant en termes de câbles. Un câblage à paires torsadées est suffisant.

Matériel d'interface CAN

De nombreuses puces à microprocesseur, telles que le processeur ARM Cortex-M3, sont dotées d'interfaces telles qu'Ethernet, E/S numériques, E/S analogiques, USB, UARTS et Controller Area Network. Toutefois, cela ne signifie pas que vous pouvez utiliser la puce "telle quelle" et la connecter à un réseau, à des capteurs, etc.

Toutes ces interfaces nécessitent un "pilote matériel"

Dans le cas des technologies sérielles telles que RS232 ou CAN, vous aurez besoin de l'émetteur-récepteur correspondant.

Dans le cas spécifique du contrôleur de bus CAN, nous avons besoin d'un pilote de ligne (émetteur-récepteur) pour convertir le signal TTL du contrôleur au niveau CAN réel, qui est une tension différentielle. L'utilisation d'une tension différentielle contribue à la grande fiabilité du CAN.

Quels sont les différents protocoles de couche supérieure basés sur le réseau CAN ?

Même s'il est efficace dans les automobiles et les petites applications embarquées, le CAN seul ne convient pas aux projets qui nécessitent un minimum de gestion de réseau et des messages de plus de huit octets de données.

Par conséquent, des protocoles de couche supérieure (logiciels supplémentaires au-dessus de la couche physique CAN) tels que CANopen pour l'automatisation industrielle et SAE J1939 pour les véhicules tout-terrain, ont été conçus pour fournir une technologie de réseau améliorée qui prend en charge des messages de longueur illimitée et permet la gestion du réseau, ce qui inclut l'utilisation d'ID de nœuds (CAN ne prend en charge que les ID de messages, un nœud pouvant gérer plusieurs ID de messages).

Ironiquement, il est toutefois tout à fait prévisible que la technologie de base CAN prévaudra sur les protocoles de couche supérieure pour l'industrie de l'automatisation tels que CANopen et DeviceNet, en raison de son utilisation continue dans les automobiles.

Aujourd'hui, CANopen et DeviceNet sont des protocoles "morts" en ce qui concerne les nouveaux développements. La seule exception est le protocole SAE J1939, qui est étroitement lié à la technologie des moteurs diesel et qui inclut, une fois de plus, les véhicules.

CANopen

  1. Convient aux applications industrielles embarquées
  2. Conçue à l'origine pour le contrôle des mouvements
  3. Développé et maintenu par le groupe d'utilisateurs CAN-in-Automation
  4. Comme CAN, la norme CANopen est sous la responsabilité de CiA (CAN-in-Automation). Pour plus d'informations, consultez leur site web à l'adresse suivante : http://www.can-cia.org.

Certains trouvent que CANopen est un protocole assez complexe et terriblement surchargé avec une bande passante décevante et faible. Ajoutez à cela que CANopen perd rapidement de son attrait pour l'industrie de l'automatisation en raison de l'émergence des protocoles Ethernet industriels plus puissants et vous avez maintenant deux raisons pour lesquelles je n'ai jamais essayé d'écrire une pile CANopen.

SAE J1939

  1. Définit la communication pour les réseaux de véhicules (camions, bus, équipements agricoles, etc.).
  2. Norme élaborée par la Society of Automotive Engineers (SAE)
  3. La collection de normes SAE J1939 se trouve exclusivement sur le Web à l'adresse suivante : http://www.sae.org.

Le sous-comité "Truck and Bus Control and Communications" de la Society of Automotive Engineers (SAE) a développé une famille de normes concernant la conception et l'utilisation de dispositifs qui transmettent des signaux électroniques et des informations de contrôle entre les composants du véhicule.

La norme SAE J1939 et les documents qui l'accompagnent sont rapidement devenus la norme industrielle acceptée et le réseau CAN (Controller Area Network) de choix pour les machines hors route dans des applications telles que la construction, la manutention et les machines forestières.

Les dérivés de la norme SAE J1939 sont les suivants :

  1. NMEA 2000 pour les applications marines
  2. ISOBUS (ISO 11783) pour les applications agricoles
  3. MilCAN pour les applications militaires

DeviceNet

  1. Convient aux applications industrielles (automatisation des sols)
  2. Développé par Allen Bradley/Rockwell
  3. Est maintenu par l'Open DeviceNet Vendor Association (ODVA)

La spécification DeviceNet, composée de deux volumes : Volume 1 - Common Industrial Protocol (CIP) et Volume 3 - DeviceNet Adaptation of CIP, n'est disponible que pour les membres de l'ODVA (Open DeviceNet Vendor Association).

Avez-vous besoin d'une assistance supplémentaire ?