Réseaux locaux industriels Le BUS CAN
LE BUS CAN et OSI 7 Application Spécifié par l’utilisateur 6 Présentation Vide 5 Session. Vide 4 Transport Vide 3 Réseau Vide 2 Liaison Protocole CAN 1 Physique Protocole CAN
LE BUS CAN et OSI LLC Filtrage des messages Notification de surcharge Procédure de recouvrement des erreurs MAC Mise en trame du message L’arbitrage L’acquittement La détection des erreurs La signalisation des erreurs PHYSIQUE Gère la représentation du bit Gère la synchronisation bit Niveau électrique Support de transmission
LE BUS CAN -Supports filaires Solution asymétrique Sensible aux perturbations Paires différentielles torsadées. Réduction des perturbations. CAN low speed ISO 11519 125 kbits/s 2 à 20 nœuds Longueur limitée par la capacité parasite CAN high speed ISO 11898 125 kbits/s à 1Mbits/s – paire 120 2 à 30 nœuds 40m à 1Mbits/s
BUS CAN OVERVIEW CAN ARBITRATION: OSI DEFINITION: The process to attribute the communication support (BUS) to one and only one station (CAN NODE) when several stations request the bus control. When the bus is free, if one or several nodes start together, it’s a bus conflict. This is solved with bit arbitration along the field arbitration of the CAN FRAME (IDENTIFIER + RTR).
BUS CAN OVERVIEW CAN ARBITRATION: ARBITRATION AND CAN PROTOCOL: Use of bit dominant and recessive! All CAN nodes check the state of the bus after every bit emission: If one recessive bit is emitted and one recessive bit is read the node can continue emission. If one recessive bit is emitted and one dominant bit is read there is a conflict and abitration lost, the node stops emission and becomes receptor.
BUS CAN OVERVIEW 3 CAN NODES ARE EMITTING THEIR FRAME: Lost! Won! Lost!
Couplage au réseau
Bits dominant, récessif
BUS CAN OVERVIEW CAN FRAMES: TWO MAIN FRAMES: Data Frame: it carries data! Remote Frame: a node send a remote frame to specify to the others nodes present on the bus, that it request some data of the node (so a data frame) with the same identifier.
Bit Stuffing CAN utilise un codage NRZ. Afin de ne pas laisser de grande suite de 1 ou de 0, après 5 bits de valeur identique, un bit de la valeur opposée est inséré. (retiré à la réception bien sûr) Conséquences : Modification du spectre du signal NRZ. Plus grand nombre de transitions : Synchronisation de l’horloge. Cette méthode est appelée « bit stuffing » Données 1 Bits émis
Les Trames Quatre types de trame : Trame de données. Trame de requête Trame d’erreurs Trame de surcharge ; Demande de laps de temps supplémentaire.
Trames CAN
LE BUS CAN - Trame
Trame de données On distingue sept parties : Début de trame – Start Of Frame (1bit dominant) pour la synchronisation des stations Champ d’arbitrage (12 bits) Il est composé des 11 bits de l’identifiant et le bit RTR (Remote Transmission Request qui est un bit dominant pour une trame de donnée)
Arbitrage
La trame de données Champ de commande (6 bits) Champ de données (0 à 8 octets transmis MSB en tête.)
La trame de données Champ de CRC (16 bits) Le CRC est calculé depuis le début de la trame jusqu'à la fin du champ de données (sur la trame non « stuffée ») Le polynôme générateur est :
La trame de données Champ d’acquittement (2 bits) Emission de deux bits récessifs, un récepteur recevant correctement la trame va acquitter celle-ci. Cela ne veut pas dire que le destinataire la bien reçue ! Fin de trame de donnée. Emission de 7 bits récessifs sans « stuffing » ! L’espace inter-trame doit être supérieur à la durée de trois bits.
Les erreurs sur le bus Bit error Un nœud envoyant un bit sur le bus regarde aussi en même temps les bits qu'il reçoit (Bit monitoring). Il considère comme une erreur de bit lorsque le bit envoyé est différent du bit reçu, à l'exception de l'envoi d'un bit récessif durant l'arbitrage (cas de la perte d'arbitrage) ou pendant le ACK Slot (trame acquittée). Stuff error Le nœud détecte une erreur de stuffing lorsqu'il reçoit 6 bits consécutifs de même valeur dans une partie d'un message qui devrait être codée avec la méthode du bit stuffing.
Les erreurs sur le bus CRC error Une erreur de CRC est détectée lorsque le CRC calculé par un récepteur est différent de la valeur du CRC contenu dans la trame. Form error Une "Form error" est détectée lorsqu'un bit qui devrait être à une certaine valeur est à une valeur différente (un délimiteur par exemple). ACK error Le transmetteur détecte une erreur d'acquittement lorsqu'il ne reçoit pas de bit dominant pendant le ACK Slot.
LE BUS CAN – Gestion des erreurs Les grandes règles de modifications des compteurs d'erreurs sont les suivantes : Lorsqu'un récepteur détecte une erreur, son Receive error count est augmenté de 1. Lorsqu'un transmetteur envoie un Error flag, son Transmit error count est augmenté de 8. Après une transmission réussie, le Transmit error count est diminué de 1. Après une réception réussie, le Receive error count est diminué de 1.
LE BUS CAN – Trames d’erreurs
LE BUS CAN – Nominal bit time Norme Bosh : 4 Segments
Solutions Industrielles DeviceNet Bus de terrain (1994) SDS Smart Distribued System (Honeywell) CAL Can Application Layer (Europe) CANOpen Entraînement – systèmes embarqués