Bus Can

  • Uploaded by: baberson
  • 0
  • 0
  • January 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Bus Can as PDF for free.

More details

  • Words: 2,591
  • Pages: 50
Loading documents preview...
LE BUS CAN Réalisé Par: EL KHAZRAJI NABIL TIGHAZOUANE YASSINE

Encadré Par Mr : A.MOUHSEN

Sommaire : Généralités. Principe De Fonctionnement. Les Trames. Gestion d’erreurs. Application.

Généralités Depuis les années 1960 la longueur des câbles utilisés dans l’automobile ne cesse de croître ainsi que Le nombre des connexions. La fiabilité et la sécurité sont menacés. La société BOSCH développe dès le début des années 1980 une solution de multiplexage des informations circulant à bord de la voiture. Le bus CAN apparaîtra et sera normalisé dans les années qui suivent (dès 1983). Les composants CAN se démocratisent et investissent d’autres secteurs de l’industrie (médical, produits numériques, systèmes électrotechnique…).

Il met en application une approche connue sous le nom de multiplexage, et qui consiste à raccorder à un même câble (un bus) un grand nombre de calculateurs qui communiqueront donc à tour de rôle. Cette technique élimine le besoin de câbler des lignes dédiées pour chaque information à faire transiter (connexion point-à-point). Dès qu'un système (voiture, avion, réseau téléphonique…) atteint un certain niveau de complexité, l'approche point-à-point devient impossible du fait de l'immense quantité de câblage à installer et de son coût (en masse, matériaux, main d'œuvre, maintenance).

Le modèle OSI : Afin de normaliser les protocoles, l’International Standard Organisation (ISO) a développé le modèle Open System Interconnections (OSI), qui permet d’identifier et de séparer les différentes fonctions d’un système de communication. Ce modèle divise en sept couches les fonctions d’un système de communication. Cependant il n’est pas indispensable de disposer de toutes les couches dans un système : selon les fonctionnalités requises, certaines couches intermédiaires sont inutiles.

UTILISATEUR SE 7

application

6

présentation

5

session

4

transport

3

réseau

2

liaison

1

physique

La couche  physique ou transmission des bits Réalise la transmission des éléments binaires constitutifs des trames sur le support suivant des caractéristiques physiques, électriques, optiques et mécaniques définies par des normes. On lui associe les notions de directionnalité (mono- ou bi-), de temps de propagation, de valeurs pour l’état haut, l’état bas.

La couche de liaison des données ou niveau trame UTILISATEUR SE 7

application

6

présentation

5

session

4

transport

3

réseau

2

liaison

1

physique

La couche liaison est subdivisée en deux sous-couches. La sous-couche LLC (Logical Link Control) effectue : le filtrage des messages, la notification des surcharges (overload), la procédure de recouvrement des erreurs. La sous-couche MAC (Medium Access Control), qui est le cœur du protocole CAN, effectue : la mise en trame du message, l'arbitrage, l'acquittement, la détection des erreurs, la signalisation des erreurs.

Principe De Fonctionnement Le bus CAN (Control Area Network) est un bus de communication série, principalement conçu pour mettre en réseau diverses cartes électroniques. Il est utilisé dans l’automobile pour faire dialoguer les divers systèmes de contrôle ou de commande : ABS, système de freinage, de suspension etc...

La Diffusion d’information Dans un protocole CAN, tout les périphériques sont au même niveau (pas de relation maitre-esclave).  Chaque station connectée au réseau écoute les trames transmises par les stations émettrices et ensuite chaque nœud décide quoi faire du message, s’il doit y répondre ou non.

Le NRZ : bits dominants et récessifs La succession de bits transitant sur le bus est codé avec la méthode du NRZ (Non Return To Zéro). Pendant la durée totale du bit, le niveau de tension de la ligne est maintenu, c’est à dire que pendant toute la durée durant laquelle un bit est généré, sa valeur reste constante qu’elle soit dominante ou récessive.

0

1

1

0

1

0

0

dominant

récessif

récessif

dominant

récessif

dominant

dominant

ongueur du Bus et Débit Débit 1 800 500 250 125 62,5 20 10

Mbit/s kbit/s kbit/s kbit/s kbit/s kbit/s kbit/s kbit/s

Longueur 30 50 100 250 500 1000 2500 5000

m m m m m m m m

Longueur d'un bit 1 s 1,25 s 2 s 4 s 8 s 16 s 50 s 100 s

Le bit stuffing Une des caractéristiques du codage NRZ est que le niveau du bit est maintenu pendant toute sa durée. Cela pose des problèmes de fiabilité si un grand nombre de bits identiques se succèdent. La technique du Bit Stuffing impose au transmetteur d’ajouter automatiquement un bit de valeur opposée lorsqu’il détecte 5 bits consécutifs dans les valeurs à transmettre.

Trame à l'émission avant la mise en place des bits de stuffing

1

2

3

4

5

6

7

8

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Trame avec bits de stuffing (S)

1

2

3

4

5

6

7

S

8

9 10 11 12 13 14 15 16 17 18 19 S 20 21 22 23 24

Le bit timing On définit la plus petite base de temps reconnue sur un bus CAN comme étant le Time Quantum. Cette base de temps est une fraction de l’horloge de l’oscillateur du bus. Un bit dure entre 8 et 25 quantum.

Horloge Quantum Horloge drédivisée

Durée d'un bit (bit time)

Les Trames Il existe plusieurs types de trame : Trame Trame Trame Trame

de données de requête d'erreur de surcharge

La trame des données Une trame de données se compose de 7 champs différents : Le début de trame ou SOF (Start Of Frame) matérialisé par 1 bit dominant. Le champ d'arbitrage (identificateur) composé de 12 ou 30 bits. Le champ de commande (ou de contrôle) composé de 6 bits. Le champ de données composé de 0 à 64 bits (de 0 à 8 octets). Le champ de CRC composé de 16 bits. Le champ d'acquittement composé de 2 bits. La fin de trame ou EOF (End of Frame) matérialisée par 7 bits récessifs.

L’Arbitrage Dans un système typique, certains paramètres vont changer plus rapidement que d'autres. Ce sera par exemple la vitesse d'un moteur, tandis qu'un paramètre plus lent pourra être la température de l'habitacle. Il est donc naturel que les paramètres qui varient le plus soient transmis le plus souvent et par conséquent doivent avoir une plus grande priorité.

Remarque Le protocole CAN 2.0 comporte deux spécifications qui diffèrent uniquement au niveau de la longueur de l’identificateur. La version 2.0A définit des identificateurs de 11 bits (on parle dans ce cas de trame de format standard) et la version 2.0B des identificateurs de 29 bits (on parle dans ce cas de trame de format étendu).

Exemple D’arbitrage

Rôle des bits dans le champ d’arbitrage: Le bit SOF (début de trame de données) est dominant il signale à toutes les stations le début d'un échange. Cet échange ne peut démarrer que si le bus était précédemment au repos. Toutes les stations doivent se synchroniser sur le flanc avant la transition du bit de départ. Identificateur : La longueur de l'identificateur est de 11 bits, les bits sont transmis dans l'ordre de ID_10 à ID_0 (le moins significatif est ID_0). Le bit RTR : Lors d'une trame de requète, le bit de remote transmission request (RTR) doit être dominant.

Champ de commande

Champ de données

Champ de commande

Champ d'arbitrage

Bits de réserve R0

R1

Data Lengh Code DL C3

DL C2

DL C1

DL C0

Le bit de poids fort est utilisé pour différencier le type de trame : Dans le cas d'une trame standard (sur 11 bits), le bit de poids fort est dominant. Dans le cas d'une trame étendue (sur 29 bits), le bit de poids fort est récessif.

Bits DLC : Les 4 derniers bits du champ de commande (champ DLC - Data Length Code) indiquent le nombre d'octets qui seront contenus dans le champ de données. Nombre d'octet

DLC 3

0

d

d

d

d

1

d

d

d

r

2 3

d d

d d

r r

d r

4 5

d d

r r

d d

d r

6

d

r

r

d

7 8

d r

r d

r d

r d

DLC DLC DLC 2 1 0

Champ de données Le champ de données est l'endroit où se trouvent les données utiles transmises. Il peut être composé de 0 octet minimum à 8 octets maximum transmis avec le MSB (Most Significant Bit) en tête. Champ de commande

Champ de données 0 à 8 octets M S B

L S B

1 octet

Champ de CRC

Le champ de CRC Le CRC est calculé à partir de l'ensemble des champs transmis jusque là (c'est-à-dire le SOF, le champ d'arbitrage, le champ de commande et le champ de données) Il permet de vérifier l'intégrité des données transmises. Champ de données ou de commande

Champ de CRC

Séquence de CRC 15 bits

Champ d'acquittement

Délimiteur de CRC

Le champ ACK Il est composé de 2 bits, l'ACK Slot et le ACK Délimiter (1 bit récessif). Un nœud en train de transmettre envoie un bit récessif pour le ACK Slot. Un nœud ayant reçu correctement un message en informe le transmetteur en envoyant un bit dominant pendant le ACK Slot : il acquitte le message. Champ de CRC

ACK-Slot

Champ d'acquittement

Fin de trame

Délimiteur de ACK

Fin de trame de donnée La trame de donnée se termine par un drapeau formé par une séquence de 7 bits récessifs, ce qui, dépasse de deux bits la largeur de la norme de bit stuffing. Ce champ a une structure fixe et les logiques de codage (à l'émission) et de décodage (aux réceptions) le bit stuffing est désactivé pendant la séquence du champ de fin de trame.

Trame de requête Il se peut aussi qu'un nœud ait besoin d'information d'un certain type dont il ne dispose pas . dans ce cas il demande une donnée à un autre nœud en envoyant à celui-ci une trame de requête . Espace inter trame

Espace inter trame

Trame de requête de données

Nb de bits 1

11 Identificateur

Début de trame

1

6

0à8 octets

Données (optionnel) Commande Bit de RTR

15 Séquence de CRC Délimiteur CRC

111

7

3

Fin de trame Délimiteur ACK Slot ACK

Comparaison de deux trames avec le même identificateur, l’une de données l’autre de requête : la trame de donnée est prioritaire sur la trame de requête. Trame standard (donnée/requête), avec des identificateurs identiques Noeud A SOF ID10 (trame de donnée)

Noeud B SOF ID10 (trame de requête)

Récessif ID9

ID8

ID7

ID6

ID5

ID4

ID3

ID2

ID1

ID0

RTR Dominant Récessif

ID9

ID8

ID7

ID6

ID5

ID4

ID3

ID2

ID1

ID0

RTR Dominant

Le noeud B perd l'arbitrage, le noeud A prend le bus

Période d'intertrame (interframe) Les trames de requête et de donnée sont séparées des trames précédentes de quelques types qu'elles soient par un champ de bits appelé interframe space. L'interframe space se compose de deux ou trois champs selon les cas. Ce sont : le champ de bits intermission le champ de bits de bus idle (bus libre), d'un champ de bits de suspend transmission, pour les stations en error passive qui ont envoyé un message d’erreur.

Trame

Espace intertrame

Intermission

Trame

Bus libre

Intertrame "erreur active" Trame

Espace intertrame

Intermission

Suspension transmission

Trame

Bus libre

Intertrame "erreur passive"

Trame de surcharge (overload frame) La trame de surcharge peut être utilisée dans 2 cas : Lorsque le nœud demande un délai avec la réception d'une nouvelle trame, Lorsque le nœud détecte un bit dominant pendant une période d'intertrame (3 bits récessifs entre les trames). Lorsqu'un nœud émet une trame de surcharge pour demander un délai (condition n°1), il écrase les 3 bits récessifs de la période d'intertrame, les autres nœuds détectent la surcharge, et elles émettent elles-mêmes des trames de surcharge (condition n°2) Trame de surcharge

Intertrame ou trame de surcharge

Trame de Flag de surcharge donnée

Superposition maximale des flags de surcharge

Délimiteur de surcharge

Gestion D’erreurs Types d'erreurs Erreur de bit : Chaque fois qu'un nœud émet un bit sur le bus, il relit le bus et doit retrouver le bit qu'il a écrit. Si sur l'envoi d'un bit récessif, il relit un bit dominant, c'est que celui-ci a été altéré.

Erreur de stuffing : 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é avec la méthode du bit stuffing.

Erreur De CRC : Si la valeur de CRC calculée par le nœud récepteur est différente du CRC codé dans la trame par le nœud émetteur, c'est que la trame a été altérée.

Erreur D’acquittement : Le transmetteur détecte une erreur d'acquittement lorsqu'il ne reçoit pas de bit dominant pendant le ACK Slot.

Erreur De Forme : Une Erreur De Forme est détectée lorsqu'un bit qui devrait être à une certaine valeur est à une valeur différente (un délimiteur par exemple).

La trame d’erreur Les 8 bits du Délimiteur d’erreur donnent l’autorisation aux nœuds du réseau de reprendre leurs communications.

Trame d'erreur ACTIVE ERROR FLAG Trame de données

Flag d'erreur

Superposition maximale des flags d'erreur

Délimiteur d'erreur

Intertrame ou trame de surcharge

Confinement d’erreurs

Le Confinement d’erreurs est un mécanisme ayant pour but d'être apte à déterminer si un nœud :  n'est pas perturbé du tout,  est peu perturbé,  est un peu plus gravement perturbé,  est tellement perturbé qu'il doit passer en bus off L'une des finalités de ce mécanisme consiste à permettre la détection des défauts et perturbations du hardware, mais aussi et surtout à procéder à leur localisation afin de pouvoir intervenir avec précision.

Compteurs d'erreur Chaque nœud possède deux compteurs d'erreur : un compteur d'erreur de transmission ou « Transmit Error Counter » (TEC), un compteur d'erreur de réception ou « Receive Error Counter » (REC).

Les Compteurs auront pour mission d'enregistrer (compter) les erreurs se produisant lors de transmissions et de réceptions.

Modes d'erreur Mode d'erreur active : Le Nœud continuera de recevoir et d'émettre normalement dans le cas où une erreur est détectée, il transmettra un active error flag pendant la trame d'erreur. Mode d'erreur passive : Le Nœud continuera de recevoir et d'émettre normalement mais aussi, qu'en cas de détection d'erreur, il continuera de transmettre uniquement des passive error flag pendant la trame d'erreur. Mode « Bus Off » : Le Nœud se déconnecte du bus, ses étages de commande (les drivers) doivent être électroniquement déconnectés du bus.

"Normal Mode Request" et 128 occurences de 11 bits successifs/recessifs REC > 127 ou TEC > 127 Reset et configuration

Erreur active

Erreur passive

TEC > 255

Bus "OFF"

REC < 128 ou TEC < 128

Le protocole autorise un nœud bus off à redevenir error active (en ayant remis tous ses compteurs d'erreurs à zéro) après que celuici ait observé, sans erreur sur le bus, 128 occurrences de 11 bits récessifs .

APPLICATION Pour réaliser un périphérique CAN nous avons donc besoin d’un : Transceiver CAN pour adapter les signaux sur le bus Un contrôleur CAN pour gérer les règles d’émission et de la réception un microcontrôleur

Description l’application est un système permettant à un microcontrôleur PIC18F458 de récupérer les images de la tension et du courant fournis par des panneaux solaires. Les panneaux étant au préalable raccordés à deux modules MPPT, le microcontrôleur récupère les informations sur ceux-ci via une communication par bus CAN.

Un MPPT, de l'anglais Maximum Power Point Tracking est Un contrôleur qui permet de piloter le convertisseur statique reliant la charge (une batterie par exemple) et le panneau photovoltaïque de manière à fournir en permanence le maximum de puissance à la charge , il peut la recharger beaucoup plus vite en optimisant les caractéristiques de tension et de courant du module et de la batterie.

Merci de Votre Attention

Related Documents

Can Bus
January 2021 2
Bus Can
January 2021 3
Can-bus
January 2021 4
Can Bus
January 2021 3
El Sistema Can Bus
January 2021 1
Mc3.2 Can-bus
January 2021 0

More Documents from "jeoskar"

Bus Can
January 2021 3