0% ont trouvé ce document utile (0 vote)
43 vues26 pages

Introduction au Bus CAN et Protocole

Le document décrit le protocole CAN, y compris son historique, ses applications, ses couches physiques et logiques, la structure des trames de données et des requêtes. Le protocole CAN est utilisé pour le multiplexage des données dans les véhicules.

Transféré par

aminajbli534
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
43 vues26 pages

Introduction au Bus CAN et Protocole

Le document décrit le protocole CAN, y compris son historique, ses applications, ses couches physiques et logiques, la structure des trames de données et des requêtes. Le protocole CAN est utilisé pour le multiplexage des données dans les véhicules.

Transféré par

aminajbli534
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 5

Le BUS CAN

1. Introduction
2. Protocole
3. Couche Physique
4. Trame de données
5. Trame de requête

M2SI
Communication Industrielle
Pr M.N. Kabbaj, 2020
1. Introduction

Historique

■ Depuis les années 1960 la longueur de câble utilisée dans l’automobile ne cesse de croître
pour dépasser 2000m en 1995. Le nombre des connexions atteint 1800 à cette même date. La
fiabilité et la sécurité sont menacés.
■ Les normes en matière de pollution et de consommation d’énergie obligent les constructeurs
à multiplier les capteurs et actionneurs intelligents dans leur véhicules accélérant ce processus
de multiplication des câbles et connexion.
■ Le besoin de sécurité accrue (ABS, ESP, AIR-BAG…) et la demande de confort (mémorisation
des réglages de conduite, climatisation régulée par passager, système de navigation…) ne font
que renforcer cette tendance.
■ 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).

!2
1. Introduction

Exemples d’applications

CAN

!3
1. Introduction

Exemples d’applications

■ Industrie automobile
Evolution du câblage dans l’automobile grâce à un bus de terrain

Câblage traditionnel

Simple CAN
&
Léger

2 câbles pour l’alimentation électrique 12 V DC


1 paire torsadée pour les transferts d’informations
!4
1. Introduction

Exemples d’applications

■ Industrie automobile

!5
2. Protocole
Protocole CAN et couches OSI

Couche du modèle ISO/OSI Description CAN spécification


Couche 2 : Liaison LLC (Logic Link Control)
Filtrage d'acceptance
Notification de overload
Recovery Management
MAC "Medium Access Control" Défauts de
Encapsulation/Decapsulation des données
Codage de trame (Stuffing/Destuffing) confinement
Medium Access Management
Delection d'erreur
Signalisation d'erreur
Acquittement
Serialisalion/désérialiation
Couche 1 : Physique PLS (Physical Signalling)
Codage/décodage bit
Bit timing Gestion des
Synchronisation Dysfonctionnements
PMA (Physical Medium Attach.) du bus
Caracteristiques Driver/Receiver
MDI (Medium Dependent Interf.)
Connecteurs

Les sous couches LLC, MAC et PLS sont traitées par les circuits
contrôleur de bus CAN (microcontrôleur, circuits spécialisés)
!6
3. Couche physique

Bits dominants et récessifs

■ La succession de bits transitant sur le bus est codé avec la méthode du NRZ (Non
Return To Zero).
■ 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

!7
3. Couche physique

Bits 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

!8
3. Couche physique

Bits 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 prédivisée

Durée d'un bit (bit time)

!9
3. Couche physique

Longueur du bus et bits

Débit Longueur Longueur d'un bit

1 Mbit/s 30 m 1 µs
800 kbit/s 50 m 1,25 µs
Débit en kbits/s 500 kbit/s 100 m 2 µs
1000
250 kbit/s 250 m 4 µs
125 kbit/s 500 m 8 µs
62,5 kbit/s 1000 m 16 µs
20 kbit/s 2500 m 50 µs
100
10 kbit/s 5000 m 100 µs

10

1
Longueur
10 100 1000 10000 en m

!10
3. Couche physique

Principal support de transmission

■ Norme ISO 11898-2


■ De nombreux standards industriels fonctionnent avec un bus CAN, la première
norme du bus CAN est l’ISO 11898-2 spécifiant les caractéristiques du bus CAN
High Speed.

■ On note que le CAN peut très bien utiliser la fibre optique ou la transmission
hertzienne.

■ La transmission des données s’effectue sur une paire par émission différentielle
c’est à dire que l’on mesure la différence de tension entre les deux lignes (CAN H et
CAN L).

■ La ligne du bus doit se terminer par des résistances de 120 Ω (minimum 108 Ω,
maximum 132 Ω) à chacun des bouts.

!11
3. Couche physique

Niveaux de tension du bus CAN

!12
3. Couche physique

Constitution d’un noeud

■ Un nœud du bus CAN requiert pour son fonctionnement au sein du réseau un


microcontrôleur et un contrôleur CAN.

■ Ces considérations d'ordre général et architectural du découpage d'un concept ont


donné naissance à différentes familles de composants que nous pouvons résumer sous
les noms suivants :

▫ les gestionnaires de protocole,


▫ les microcontrôleurs à gestionnaire CAN intégré,
▫ les interfaces (transceivers - ou encore drivers) de lignes,
▫ les Serial Linked Input Output - SLIO.

!13
3. Couche physique

Constitution d’un noeud

Micro-
Microproces-
contrôleur
seur

Gestionnaire SLIO
Gestionnaire
de protocole de protocole

Interface de Interface de Interface de


ligne ligne ligne

CAN_H
term CAN_L term

!14
4. Trame de données

Trame de données

Cette trame (type standard CAN 2.0A) se décompose en sept parties principales
que l'on appelle des champs :

▪ début de trame (1 bit) start of frame (SOF)


▪ champ d'arbitrage (12 bits) arbitration field
▪ champ de commande (6 bits) control field
▪ champ de données (0 à 64 bits) data field
▪ champ de CRC (16 bits) CRC sequence
▪ champ d'acquittement (2 bits) ACKnowledgement field
▪ fin de trame (7 bits) end of frame (EOF)

Début de trame

Champ d'arbitrage
Champ de ACK
Champ de commande
Fin de trame
Champ de données Champ de CRC intermission

IDLE 1 12 6 0à 64 bits 16 2 7 3 IDLE

Trame de données

!15
4. Trame de données

Trame de données
■ Champ d’arbitrage
▪ Chaque station connectée au réseau écoute les trames transmises par les
stations émettrices. Ensuite chaque nœud décide quoi faire du message, s’il doit y
répondre ou non, s’il doit agir ou non, etc…

▪ Le protocole CAN autorise différents nœuds à accéder simultanément au bus.


C’est un procédé rapide et fiable d’arbitrage qui détermine le nœud qui émet en
premier.

▪ L’accès au bus est donc aléatoire car un nœud peut émettre à n’importe quel
moment. Mais cet accès se fait par priorité ; cette méthode est appelée CSMA
CD/AMP (Carrier Sense Multiple Acces with Collision Detection and Arbitration
Message Priority).

!16
4. Trame de données

Trame de données
■ Champ d’arbitrage
Ce champ est constitué des 11 bits de l'identificateur et d’un bit de RTR
(Remote Transmission Request).

Trame de données / requête


Procédure d'arbitrage
Bus
libre Récessif Pendant le champ d'arbitrage, les bits transmis
(passif) et reçus sont comparés par l'interface CAN
S I I I I I I I I I I I R
Tx d Transfert Tx r
Dominant Arbitrage
durant
Champ d'arbitrage (actif) perdu
Rx d l'arbitrage Rx d
I : 1 parmi 11 bits d'identificateur
R : Bit RTR Tx r
- récessif : trame de requête
Transfert Tx d
durant Erreur bit
- dominant : trame de données
Rx r l'arbitrage
S : bit de départ de trame Rx r

!17
4. Trame de données

Trame de données
■ Exemple d’arbitrage

Champ d'arbitrage

S Identificateur R Champ de
Champ de
O T données 0
commande
F 10 9 8 7 6 5 4 3 2 1 0
R à 8 octets

Station
1

Station
2

Station
3
La station La station 1
2 perd perd
l'arbitrage l'arbitrage

Signal
sur le bus
La station 3 a gagne le bus

!18
4. Trame de données

Trame de données
■ Champ de commande
Il est constitué de 6 bits. Les deux premiers sont des bits de réserve et leur
rôle est d’assurer des compatibilités futures ascendantes (par exemple avec les
trames étendues CAN 2.0B).

Champ de
Champ d'arbitrage Champ de commande
données

Bits de Data Lengh Code


réserve
DL DL DL DL
R0 R1
C3 C2 C1 C0

!19
4. Trame de données

Trame de données
■ Champ de commande
Les 4 derniers bits du champ de commande (champ DLC - Data Length Code)
indiquent le nombre d'octets de données contenus dans le champ de données
pour une trame de données ou bien le nombre d’octets dont a besoin un
nœud du réseau lors d’une trame de requête.
Nombre DLC DLC DLC DLC
d'octet 3 2 1 0
0 d d d d
1 d d d r
2 d d r d
3 d d r r
4 d r d d
5 d r d r
6 d r r d
7 d r r r
8 r d d d

!20
4. Trame de données

Trame de données
■ 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.
Cette longueur a été déterminée lors de l’analyse du champ de contrôle. Dans
le cas d’une trame de requête, le champ de données est vide.

Champ de Champ de données Champ de


commande 0 à 8 octets CRC

M L
S S
B B

1 octet

!21
4. Trame de données

Trame de données
■ Champ de CRC (Cyclic Redundancy Check)
▪ Le champ de CRC permet de s’assurer de la validité du message transmis.
Seuls les champs de SOF, d’arbitrage, de contrôle et de données sont utilisés
pour le calcul de la séquence de CRC.

▪ Le CRC est un polynôme calculé de la même manière par l’émetteur et par


le récepteur de la trame : le message est vu par l’algorithme comme un
polynôme qui est divisé par X15+X14+X10+X8+X7+X4+X3+1 et le reste de
cette division est la séquence CRC transmise avec le message.
Champ de Champ
Champ de CRC d'acquittement
données ou de
commande

Séquence de CRC 15 bits Délimiteur


de CRC

!22
4. Trame de données

Trame de données
■ Champ d’acquittement ACK
Il est composé de 2 bits, l'ACK Slot et le ACK Délimiteur (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
Champ de CRC d'acquittement Fin de trame

Délimiteur de
ACK-Slot ACK

!23
4. Trame de données

Trame de données
■ Champ de fin de trame
▪ 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) de bit stuffing sont désactivées pendant la séquence
du champ de fin de trame.

!24
5. Trame de requête

Trame de requête
▪ Il se peut qu'un nœud ait besoin d'information d'un certain type dont il ne
dispose pas pour assurer la mission qui lui est dévolue. Dans ce cas, une station
nécessitant des données peut initialiser la demande d'une transmission des
données considérées par un autre nœud en envoyant une requête (remote
frame).

▪ Cette trame est constituée de la même manière qu’une trame de données


sauf que le champ de données est vide.
Espace Espace
inter Trame de requête de données inter
trame trame
Nb de bits 1 11 1 6 0à8 15 111 7 3
octets
Fin de
Identificateur Données (optionnel) Séquence de CRC trame
Commande Délimiteur ACK
Début de
Bit de RTR Délimiteur CRC
trame Slot ACK

Dans le champ d’arbitrage, le bit de RTR est récessif. C'est donc ce bit qui différencie
une trame de données d'une trame de requête.
!25
Références
1. Industrial Sensors and Controls in Communication Networks, Springer International
Publishing, Dong-Seong Kim, Hoa Tran-Dang, 2019
2. International Organization for Standardization (2003) Road vehicles: controller area
network: part 1: data link layer and physical signalling, ISO 11898-1
3. International Organization for Standardization (2003) Road vehicles: controller area
network: part 2: high-speed medium access unit, ISO 11898-2
4. International Organization for Standardization (2003) Road vehicles: controller area
network: part 3: low-speed, fault-tolerant, medium dependent interface, TC 22/SC 3/WG 1,
ISO/PRF 11898-3

!26

Vous aimerez peut-être aussi