Anda di halaman 1dari 17

CHAPITRE 2:

STRUCTURE &
FONCTIONNEMENT DU BUS CAN

Smaïl NIAR
Smail.niar@univ-valenciennes.fr
MASTER1 IRCOMS
2007/2008

CAN: un réseau pour l’automobile


 CAN : Controller Area Network
 BOSCH 1983 – normalisation ISO 1994
 But : Multiplexage des interconnections
 Intérêt du multiplexer des comm. ?
Réduction des coûts de câblage et de
maintenance

2
Réseau
embarqué

Intérêt du multiplexage

4
CAN
 Un marché énorme : 50 millions de véhicules
par an.
 CAN relie un ensemble de nœud (ECU
Electronic Control Unit)
 Chaque ECU peut communiquer avec les autres
 Les comm sont réalisées avec des paquets:
Messages.
 Vitesse de transmission : jusqu’à 1Mbps.

CAN….
Un nœud peut envoyer des messages
1. En permanence (moteur, contrôleur de vitesse,
consommation carburant, etc.), lecture
périodique
2. Uniquement en cas de panne (température
dépassant un seuil),
Suite à 2 peut prendre une action suite à une
requête faite par un autre nœud (contrôleur de
valve de l’arrivée du carburant)
6
CAN: principales caractéristiques
 Carrier Sense (CS) : Chaque nœud doit écouter le bus pendant
une période (bus libre) avant de transmettre.
 Multiple Access (MA) : lorsque pendant une période le bus est
libre; chaque nœud a la même priorité pour envoyer des
messages.
 Collision Detection (CD) – Si deux nœuds décident de
transmettre au même moment, il y a collision. Chaque nœud
transmet et écoute. Si ce qu’il écoute est différent de ce qu’il a
transmit: collision
 Collision Resolution (CR) – La production de collision ne détruit
pas les messages (collision Non-destructive)
CSMA-CDCR
 Certaines sources : CSMA-CA pour collision avoidance.
7

CAN et 7 couches OSI de l'ISO

CAN

OSI: Open Systems Interconnection


ISO: International Organization for Standardization 8
CAN & couches OSI
 CAN ne normalise que les 2 couches basses de
l’OSI: Liaison et physique
 Liaison: 2 sous-couches:
 LLC : Logic Link Control
 MAC : Medium Access Control
 Physique: 3 sous-couches
 PLS : Physical Signaling
 PMA : Physical Medium Access
 MDI : Medium Dependent Interface

10
Couche physique
 Protocol asynchrone
•Niveau logique 0 : bit dominant
•Niveau logique 1 : bit récessif

CAN_H

En cas de transmissions
simultanées : CAN_L

niveau 0 (dominant) +
niveau 1 (récessif) = 0 sur le bus

Standard ISO : paire torsadée


Autres supports envisageables :
Transmission radio, Infra-rouge,
11
Fibre-optique, …..

Gestion des bits récessif et dominant


dans une connexion à paire torsadée

Récessive : CAN-L et CAN_H tous les 2 à 2.5 V . Différence = 0V.


Dominant : CAN_H = 3.5 V, CAN_L = 1.5 V. Différence = 2V.

12
Couche Liaison
Il y a trois types de messages (Frames):
1. Data frame: Pour transmettre des données
d’un nœud à un autre. Standard ou étendu.
2. Remote frame : message requête de données.
Standard ou étendu.
3. Error Frame : Envoyé à tous les nœuds
lorsqu’un nœud détecte une erreur sur le bus

13

Data Frame

RTR( Remote Transmission Request) à 0, IDE (Identifier Extension) : à 0

IDE (Identifier Extension) : à 1 pour la version étendu


SRR (Substitute Remote Request) : idem, Les 18 bits de poids faible (lsb) 14
DLC : data length counter
En résumé….

£ : <=
ACK est mis à 1 par l’émetteur mais mis 0 si au moins un nœud a reçu le
message.
Le champ CRC est calculé hors bit-stuffing (voir après)
Le polynôme utilisé est : x15+x14+x10+x8+x7+x3+1, il correspond à la suite :
1100010110001001
15

Comment calculer le CRC ?

1100000000000011

16
Pas à pas OUX

Message:11010110110000
x4+x+1: 10011
010011
10011
0000010110
10011
0010100
10011
001110
17

Le champ ACK (Ack field)

 ACK Field : 2 bits long


 ACK Slot
 ACK Delimiter.
 Emetteur : Met les 2 bits à récessive (« 1 »)
 Récepteur:
 Réception valide (pas d'erreur): envoi un bit dominant
pendant le ACK Slot
 Si l'émetteur détecte un niveau un acquittement
(ACK Slot = dominant), Il sait qu'au moins un
récepteur a bien reçu le message.
18
Remote frame

 Identique à une trame de données, mais


pas de données & RTR=1 19

Remote Frame…..
 Bit RTR à 1 (d’où une priorité inférieure à la
trame de données!)
 Ne contient pas de données
 La réponse n’est pas « écrite » dans la trame
 Permet une coopération de type Client-Serveur
 Remote Frame : requete
 Induit une surcharge sur le réseau
 Aucune garantie sur le délai de la réponse !
 La (ou les) trame de donnée auront le même
identier que la « remote frame » 20
Error Frame

21

Gestion des erreurs dans le bus


CAN
Chaque nœud à 2 compteurs d’erreurs
de transmission
 sur les trames émises (TEC – transmit
error counter)
 sur les trames reçues (REC – receive
error counter)

22
Gestion des erreurs: 3 états…
Selon la valeur des compteurs :
 Etat Erreur-active : fonctionnement normal
 Etat Erreur-passive :
 émission possible mais 8 bits après que le
bus soit libre
 Etat Bus-off :
 la station se déconnecte du bus (plus
d’émission ni de réception)

23

Les compteurs REC et TEC….


 REC :
 Réception d’une trame corrompue : +1 (jusqu’à
127)
Dans certains micro-contl dés que REC=96 : une
interruption est générée
 Réception d’une trame correcte : -1 (si >0)
 TEC :
 Emission d’une trame corrompue : +8 (jusqu’à 256)
 Emission d’une trame correcte : -1 (si >0)

24
3 états:

128 occurrences
de 11 bits récessifs

25

Couche Liaison
 La phase d’arbitrage « résolution des collisions » :
la trame la plus prio. gagne le bus.
 L’arbitrage se fait sur les champs Identificateur +
RTR. (la réponse est plus prioritaire que la requête)
 L’identificateur correspond à une information sur
l’origine de la donnée. Sert à filtrer.
 Principe: chaque station émet puis écoute, si la
valeur lue est différente de la valeur émise, la
station sait qu’elle a perdu l’arbitrage.
 Conséquence : un aller-retour pour le signal avant
l’émission d’un nouveau bit d’où limite sur le débit
max. 26
Bit récessif et bit dominant

27

Bit-Stuffing

28
Filtrage des trames Bit non pris en compte

(Registre de filtrage)

29

CAN à l’œuvre : Transmission

LLC

MAC

physique
30
CAN à l’œuvre : Réception
physique

MAC

LLC

31

VAN Vs. CAN

 VAN (Vehicle Area Network) pour les


informations moyen débit comme la
climatisation ou le GPS,
 CAN (Controller Area Network) est utilisé
pour les informations haut débit comme
l'ABS ou le moteur.

32
Intégration du bus can
3 façons d’implémenter le bus Can dans un systèmes:
 1 microprocesseur + Contrôleur CAN + Interface de ligne
(transceiver)
 1microprocesseur CAN + Interface de ligne
 Serial Link I/O (SLIO) : migration de systèmes existants à
des connexions de bus CAN.

33

Anda mungkin juga menyukai