78
Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

Embed Size (px)

Citation preview

Page 1: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

Présentation

CANController Area Network

Patrick MONASSIERUniversité Lyon 1 France

Page 2: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

2

Historique du réseau CAN

1983 Début des développements de CAN chez Robert Bosch Gmbh1985 Spécification V1.0. Premières relations entre Bosch et les fondeurs de silicium1986 Démarrage des travaux de normalisation ISO1987 Introduction du premier échantillon de circuit intégré CAN1989 Démarrage des premières applications industrielles1991 Spécifications du protocole étendu CAN 2.0 B1991 Premiers véhicules équipés (500 Kb/s) – Mercedes Classe S1992 Création du groupement utilisateur CiA – CAN in Automation1993 Création du groupe OSEK1993 Parution de la première couche applicative (CAL) du CiA 1994 Standardisations ISO terminées1994 PSA (Peugeot - Citroën) et Renault entrent à l’OSEK1995 Task Force aux USA avec le SAE-Society of Automotive Engineers1996 CAN est appliqué à la plupart des « contrôles moteurs » automobiles 1997 300 sociétés adhérentes au CiA 1997 Tous les grands fondeurs proposent des composants CAN2000 Forte implantation de CAN dans l'automobile avec la couche OSEK

Page 3: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

3

Applications

Embarqué

Industrie

Automobile

Robitique

Quelques données sur les applications industrielles

Communication de requise 64 %type synchrone non requise 36%

Mode d'échantillonnage cyclique 73%Pour les nœuds du réseau évènement 27%

Périodicté des cycles 1 ms 26%10 ms 48%100 ms 26%

Temps de réponse du signal 1 ms 40%10 ms 34%100 ms 26%

Longueur du bus < 100 m 66%< 1000 m 31%> 100 m 3%

Source VDMA

Page 4: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

4

Le modèle ISO

N° de couche

7654321

ApplicationPrésentationSessionTransportRéseauCommunicationPhysique

Modèle ISO Protocole CAN

Utilisateur

Protocole CAN avec libre choix du medium

vide

Page 5: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

5

Le modèle ISO CAN

721

ApplicationCommunicationPhysique

Utilisateur Protocole CAN avec libre choix du medium

N° de couche

Modèle ISO réduit Protocole CAN

Application

Présentation

Session

Transport

Réseau

Liaison

Physique

Application

Liaison

Physique

Symbolique utilisée pour le suivi de ce cours

Page 6: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

6

Les couches Présentation et Transport sont des couches logicielles qui ne servent pas dans les réseaux de terrain. On accède directement au micro-contrôleur couche 2 par simplification, pour économiser du temps CPU.

Les couches Transport et Réseau servent au routage dans des réseaux aux topologies complexes. Quand le réseau est physiquement limité, on a pas besoin de ces couches. (exemples de couches Transport / Réseau : TCP/IP pour Ethernet et Internet )

Le modèle ISO CAN

Un modèle adapté aux réseaux de terrain

7654321

ApplicationPrésentationSessionTransportRéseauLiaisonPhysique

12

34

Topologies simples Logiciel simpliféEconomie de temps

Microprocesseur

Contrôleur réseau

Interface réseau

Bus

Ligne du réseau

Architecture simplifiéed’une station réseau

Page 7: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

7

Les couches CAN

DonnéesParamètresCommandes

Champs

Trame

Bits

Ligne du réseau

La couche applicative définit et exploite leschamps de données et de paramètresElle gère aussi les commandes : émission, réception … etc.

La couche liaison construit et gère dynamiquement la trame.Les champs sont inclus dans la trame qui est exploitée bit à bit par l’interface physique

La couche physique assure la mise en forme électrique des bits

7

2

1

Couches

Application

Liaison

Physique

Page 8: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

8

Couche 7 - ApplicationApplication

Présentation

Session

Transport

Réseau

Liaison

Physique

CAL (CANOpen) Groupemement CAN in Automation - CiA

DeviceNet Rockwell Allen Bradley

SDS Honeywell

CAL

DeviceNet

SDS

J1939

OSEK

INDUSTRIE

AUTOMOBILE

J1939 SAE Society of Automotive EngineersApplications camions aux USA

OSEK Open Systems & Interface for Distribued Electronic in Cars Véhicules légers en Europe

Page 9: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

9

Les couches ISO CAN

Application

Présentation

Session

Transport

Réseau

Liaison

Physique

LLCLogic Link Control

MACMedium Access Control

PLSPhysical Signaling

PMA Physical Medium Attachment

MDI Medium Dependant Interface

Intégrédans le

contrôleurCAN

Logiciel

Driver de ligne

Connectique

Spécifications du protocole

CAN

Page 10: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

10

Les modèle ISO CAN

Application

Présentation

Session

Transport

Réseau

Liaison

Physique

LLC

MAC

PLS

PMA

MDI

Application

Liaison

Physique bit

Application

Liaison

Physique

trame

Pour faciliter la lecture de ce cours, dans les pages suivantes, le répérage dans le modèle ISO est symbolisé comme suit :

Page 11: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

11

Couche 2 - Liaison - LCCApplication

Présentation

Session

Transport

Réseau

Liaison

Physique

LLC

MAC

PLS

PMA

MDI

LLC Logic Link Control

Contrôle de l’intégrité du format des trames émises et reçues

Si possible, assurer les corrections d’erreur de structure de trame (format…etc.)

Procédure de recouvrement d’erreur, reprise…etc.

Identification de la trame

Filtrage des messages

Notification de surcharges

Invitation à émettre ou à recevoir

Les tâche de la sous-couche LLC sont les suivantes :

Page 12: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

12

Couche 2 – Liaison - MACApplication

Présentation

Session

Transport

Réseau

Liaison

Physique

LLC

MAC

PLS

PMA

MDI

MAC Medium Access Control

En réception, d’accepter les messages devant être transmis vers la sous-couche LLC

En émission, de présenter à la couche physique les messages provenant de la couche LLC

Mise en trame du message, organisation des trains de bits, par exemple : sérialisation à l’émission, désérialisation à la réception…

Arbitrage de conflits (au niveau bit)

Acquittement de réception de message

Détection d’erreurs de transmission

Signalisation d’erreurs de transmission

La sous-couche MAC a pour mission :

Ses tâches sont donc les suivantes :

Gestion de la prise d’accès à la couche physique (CSMA/CA)

Codage trame (stuffing/destuffing)

Acquittement (signal ACK)

Page 13: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

13

Couche1 - Physique - PLSApplication

Présentation

Session

Transport

Réseau

Liaison

Physique

LLC

MAC

PLS

PMA

MDI

PLS Physical Link Signaling

La sous-couche PLS s’occupe de :

La représentation du bit, c’est-à-dire le type de codage bit, ses propriétés temporelles

La définition des niveaux électriques, optique des signaux

La synchronisation du bit

La représentation du bit, c’est-à-dire le type de codage bit, ses propriétés temporelles

Page 14: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

14

Couche1 - Physique - PMAApplication

Présentation

Session

Transport

Réseau

Liaison

Physique

LLC

MAC

PLS

PMA

MDI

Caractéristiques des étages de commande et de réception

PMA Physical Medium Attach

Caractéristiques des Interfaces Drivers / Receivers

Par exemple: Philips 82C250

Compatible avec la norme ISO 11898Vitesse jusqu’à 1 Mb/sProtection de ligne contre les parasites, filtarge des signauxContrôle de la pente du signal pour diminuer les émissions radio-électriquesMode de réception différentiel pour une meilleures protection CEMProtection thermiqueUn circuit non alimenté n’affecte pas le fonctionnement du busJusqu’à 110 nœuds supportés sur une même ligne

Page 15: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

15

Couche1 - Physique - MDIApplication

Présentation

Session

Transport

Réseau

Liaison

Physique

LLC

MAC

PLS

PMA

MDI

La couche MDI s’intéresse à définir le medium sur lequel passent concrètement la communication et les points connexes associés, c’est à dire :

MDI Medium Dependant Interface

Le medium, par exemple : du câble bifilaire, en fil de cuivre, de tel diamètre (gauge) correspondant à telle norme de câble

La topologie du réseau

Les impédances de terminaison / adaptation du réseau

Les types de prises retenues pour les connecteurs des éléments du réseau

Page 16: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

16

Eléments du réseau

Microprocesseur

Contrôleur réseau

Interface réseau

Ligne du réseau

Architecture simplifiéed’une station réseau

Positionner physiquement les différents éléments

Application

Présentation

Session

Transport

Réseau

Liaison

Physique

LLC

MAC

PLS

PMA

MDI

MicroprocesseurIntel 386 ex

Contrôleur CANIntel 82527

Driver de lignePhilips 82C250

Exemple de carte CAN

trame

bit

Page 17: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

17

Architectures CAN

Microprocesseur oumicrocontroleur

Contrôleur CANintégré

Microprocesseur

Contrôleur CAN

Interface CAN

Interface CAN

AlcatelBoschDallas SemiconductorFujitsuHitachiInfineonIntelIntermetalMicrochipMitsubishiMotorolaNational SemiconductorNECOKIPhilipsSTMicroelectronicsTemicTexas InstrumentToshibaUnitrode….

Fabricants de composants

Contrôleur CAN

Interface CAN

Système Informatique

Bus localCarte CAN

Ligne du réseau

SLIOCAN

SLIO Serial Linked I/O device

Carte avecmicrocontroleur

CAN

Cartemicroprocesseur

et controleur CAN

Carteavec SLIO

Système avec carte controleur CAN

Page 18: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

18

Optocouplage

Ligne du réseau

MicroprocesseurIntel 386 ex

Controleur CANIntel 82527

Driver de lignePhilips 80250

Exemple de carte CAN

MicroprocesseurIntel 386 ex

Controleur CANIntel 82527

Driver de lignePhilips 80C250

Ligne du réseau

Opto Opto DC/DC Isolation galvanique

Opto Optocoupleur=

Exemple de carte CAN optocouplée

optocouplage

Dans le milieu industriel, l’optocouplage et le filtrage sont nécessaires : CEM, Isolation galvanique ,

parasites…… etc

Filtres de ligne filtrage

Page 19: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

Le RESEAU CAN

Les principes

Page 20: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

11/04/23

Les méthodes d’accès

• Maître / Esclave• Avec jetons• Par division de temps TDMA• A gestion de collision CSMA-CD• A gestion de collision CSMA-CA Ethernet

CAN

BitBus / FIP

Interbus

Exemples de réseaux

Méthode CSMA-CD/CAApplication

Liaison

Physique

trame

Profibus

Page 21: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

21

Codage bit - principes

Manchester

Les 2 grands principes de codage, NRZ et Manchester, permettent de transporter l’horloge avec les données

0 1

Application

Liaison

Physique bit

NRZ

NRZ : Non Return to ZeroNRZI : Non Return to Zero Inverted

NRZI

Comment transporter l’horloge et les données sur le même support ?

Horloge

Données

?

Signal Horloge + Données

Page 22: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

22

Codage bit - principes

0 1 0 0 1 1 1 0

NRZ Non Return to Zero

Application

Liaison

Physique bit

NRZI

Manchester

Non Return to Zero Inverted

Exemple d’une suite de bits codée en NRZ, NRZI et Manchester

Page 23: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

23

Contraintes du codage

Le codage NRZ / NRZI est simple, mais attention, il n’y a pas de front de synchronisation si le code reste constament à 0 ou à 1

Le codage Manchester transmet l’horloge en permanence mais nécessite une bande passante double

La station émettrice impose l’horloge du signal

La station réceptrice doit se cale sur l’horloge de l’émetteur

NRZ ou NRZI 1 0 0 0 0 0 0 0 0 0 0 0 0 0……….

Il n’y a plus aucun front sur le signal pour resynchroniser l’horloge du récepteur. Il y a risque certain de dérive dans le temps.

C’est le codage NRZ qui est choisi pour CAN

Solution : le Bit Stuffing (remplissage bit)

NRZ ou NRZI 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0……….

Ces bits sont ajoutés à l’émission puis seront retirés à la réception

Page 24: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

24

Codage bit - Bit stuffing

0 0 0 0 0 0 0 1 0

NRZ

BitStuffing

1 2 3 4 5 S 6 7 8 9

1 2 3 4 5 6 7 8 9

Pour conserver l’information d’horloge, un bit inverse est inséré après 5 bits identiques. Il est retiré à la réception.

Application

Liaison

Physique bit

Page 25: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

25

Codage bit - ArbitrationApplication

Liaison

Physique bit

+V +V

Récessif : absence de porteuseDominant : présence de porteuse

Récessif : rappel de potentielDominant : conducteur à la masse

Le Dominant (D) l’emporte sur le Récessif (R)Il impose son état électrique

Emission

Relecture

Contrôleur CAN

Relecture et Comparaison

CAN +

CAN -Tx

Rx

En

Page 26: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

11/04/23

Méthode CSMA-CD/CA

Méthode à gestion de collision

Méthode évoluée employée sur des réseaux standards

- Ethernet CSMA / CD - CAN CSMA / CA ou CR

Carrier Sense Multiple Access- with Collision Detection- with Collision Avoidance ou Collision Resolution

Application

Liaison

Physique

trame

Page 27: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

11/04/23

Méthode CSMA / CA

• Toutes les stations sont égales• Chaque station émet quand elle veut• Les collisions sont acceptées • Les collisions sont détectées par les stations• Les collisions sont gérées par le protocole• Il y a une stratégie d’arbitrage des collisions

Principes généraux

Application

Liaison

Physique

trame

Page 28: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

28

Méthode CSMA-CD/CA

Stations ou Noeuds

Résistance de terminaison

• Toutes les stations sont égales• Chaque station émet quand elle veut• Les collisions sont acceptées • Les collisions sont détectées par les stations• Les collisions sont gérées par le protocole• Il y a une stratégie d’arbitrage des collisions• Il est très facile d’ajouter ou de retirer un noeud

En cas de coupure réseau, le tronçon est complètement isolé.

Résistance de terminaison

Application

Liaison

Physique

trame

Page 29: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

29

Principe de l’arbitrage

S I I I I I I I I I I I R

buslibre trame de données / requête

S: bit de départ de trame (SOF)I : 1 parmi 11 bits d’identificateurR: bit RTR

- récessif (données)- dominant (requête)

Le champ «Identifieur» sert pour l’arbitrage entre trames. Il est à la base du principe d’arbitration. L’arbitrage concerne aussi le bit RTR

Application

Liaison

Physique

trame

Page 30: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

30

Principe de l’arbitrage

Transfert Transfert Perte d’arbitrage Erreur bit

Tx: D Tx: R Tx: R Tx : D

Rx: D Rx: R Rx: D Rx : R

S R D R D D R D R R D ...

S R D R D D D D R D R R...

1

2

3

S R D R D D D D R D R R...Sur le bus

3 gagne l’arbitrage

S R D R D D R D D D D ...

Application

Liaison

Physique

trame

Page 31: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

31

Principe de l’arbitrage

t

12

3

2

1

2

4

2

ou autre cas...

2

Il y a une notion de priorité entre trames, fonction de la valeur de l’identifieur associé.

La station émet mais perd l’arbitration…

… et se met immédiatement en écoute

La trame est émise complètement

3 est prioritaire sur 1 et 2

1 est prioritaire sur 2

2 est seule

4 est prioritaire sur 2

2 est seule1

2

34

Exemple d’un réseau à 4 stations

Application

Liaison

Physique

trame

Page 32: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

32

Longueur du réseau

10 100 1.000 10.000 mètres

1600

1000

100

10

5

Débit Kbits / s

Longueur du réseau (mètres)

Vitesse maximale du protocole CAN

Exemple : 20 Kbit / s …

…environ 3300 m

Débit Distance du réseau maximale

1 Mbits/s 40 mètres500 Kbits/s 130 m250 Kbits/s 270 m125 Kbits/s 530 m100 Kbits/s 620 m 50 Kbits/s 1,3 Km 20 Kbits/s 3,3 Km 10 Kbits/s 6,7 Km 5 Kbits/s 10 Km

Application

Liaison

Physique bit

Page 33: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

33

Segment de propagation

Transceiver A Transceiver B

ContrôleurCAN A

ContrôleurB

Tmed=L / Vprop

Tprop >= [ 2 x (Tmed + Tsd + Ttx + Trx + Tqual ) ]Tprop >= [ 2 x ( Tmed + Telec ) ]Tprop >= [ 2 x Tres ]

(Tprog) min >= 2 x TresTprog = k x TbitTprog = k / Baud rate

L <= (0,2 m/ns) x k / ( 2 x Baud rate ) – Telec

Tension de sortieDonnées reçues

0,5 0,9 Vdiff (V)

Signal réeldu bus

t1 t2t

Signal reconstruit

t1 t2t

Application

Liaison

Physique bit

Page 34: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

LE RESEAU CAN

Les Trames

Application

Liaison

Physique

trame

Page 35: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

35

Formats des trames

• CAN 2.0 A - Identifieur standard sur 11 bits• CAN 2.0 B - Identifieur étendu sur 29 bits• Norme CAN ISO 11898• Norme ISO 11519 Véhicules routiers

Application

Liaison

Physique

trame format

Page 36: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

36

Types de Trames

• Trames de données (data)

• Trames de requête (Remote)

• Trames d’erreur (Error)

• Trames de surcharge (Overload)

• InterTrames (Interframes)

Application

Liaison

Physique

trame format

Page 37: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

37

Trame de donnéesApplication

Liaison

Physique

trame données

1 11 6 0 à 8 octets 16 2 7 3IDLE IDLE

Trame de données

Début de trame (SOF)

Champ identifieur

Champ de commande

Champ de données

Champ de CRC

Champ de ACK

Fin de trame (EOF)

Intermission

1

Bit RTR

29Identifieur à 11 bits = format standard CAN 2.0A

Identifieur à 29 bits = format standard CAN 2.0B

Arbitrage

Longueuren bits

Page 38: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

38

Trame de donnéesApplication

Liaison

Physique

trame données

1 11 6 0 à 8 octets 16 2 71

SOF Identifieur RTR Commande Données CRC ACK EOF

15 1 1 1

Délimiteur ACK (Récessif) Slot ACK Délimiteur CRC (Récessif) Séquence de CRC

411

DLC (de 0 à 8) r0 (réserve)

IDE en CAN 2.0A r1 en CAN .0B (réserve)

11

11 1 1 18

SuiteIDE

SRRPremière partiede l’identifieur

Lexique :SOF : Start of frameEOF : End of frame (7 bits Récessif)RTR : Remote Transmission Request ACK : AcknowledgeCRC : Cyclic Redundancy CodeDLC : Data Length CodeSRR : Substitute Remote RequestIDE : IDentifier Extension

de l’identifieur

Identifieur CAN 2.0A

Identifieur CAN 2.0B

D

RTR est dominant Longueur du champ de données fixé par DLC, en nombre d'octets

Page 39: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

39

Trame de requête

• Identique Trame de données sauf RTR• RTR mis à Récessif• Longueur données à 0• DLC ajusté sur le nombre d’octets de données à retourner• La trame de donnée est prioritaire sur la trame de requête de même identifieur

Application

Liaison

Physique

trame données

SOF Identifieur Cde CRC ACK EOF

Bit RTR Etat D pour une trame de donnéesEtat R pour une trame de requête

DLC ajusté sur le nombre d’octets de données à retourner

Page 40: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

40

Trame d’erreur

• La trame ne comprend que 2 champs....• 1 champ Drapeau d’erreur «active» ou «passive» • 1 délimiteur - 8 bits récessifs• Les drapeaux d’erreur transgressent la loi du bit stuffing (6 à 12 bits dominants en erreur active)

Application

Liaison

Physique

trame erreur

Drapeau d’erreur Délimiteur du champ

Champ de trame d’erreur IntertrameTrame en cours

de diffusion

6 à 12 bits D en erreur active6 à 12 bits R en erreur passive

8 bits R

Page 41: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

41

Trame de surcharge

• La trame ne comprend que 2 champs....• 1 champ «flag» de surcharge (OLF)• Le champ de surcharge est composé de 6 bits dominants• 1 champ délimiteur - 7 bits récessifs• Le champ de surcharge transgresse la loi du bit stuffing

Application

Liaison

Physique

trame surcharge

Champ de surcharge Délimiteur du champ

Champ de surcharge Intertrame

6 bits D 7 bits R

Page 42: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

42

Période d’ intertrame

• Les trames Données et Requête sont précédées par une période d’intertrame• Les trames Erreur et Surcharge ne sont pas précédées par une période d’intertrame• La période est composée de 2 ou 3 champs• Champs: Intermission, Bus Idle et éventuellement Suspend Transmission

Application

Liaison

Physique

trame Inter-trame

Page 43: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

Le réseau CAN

Traitement des Erreurs

Application

Liaison

Physique

erreurs

Page 44: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

44

Traitement des erreurs

Le mécanisme de traitement des erreurs de confinementpermet de déterminer si un noeud:

Il est utile de connaître à tout moment:

• n’est pas perturbé• est peu perturbé• est un peu plus gravement perturbé• est tellement perturbé qu’il doit passer «Off»

• Le type des erreurs• La fréquence des erreurs • Le niveau de gêne provoqué par les erreurs• Le retour à une activité bus sans erreurs

Application

Liaison

Physique

erreurs

Page 45: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

45

Traitement des erreurs

GénéralitésDifférents types d’erreur pouvent se produireStratégie de traitement et recouvrement des erreurs

DétailsTechnique de détection des erreursTechnique de signalisation des erreursTechnique de recouvrement des erreurs

Plan général

Application

Liaison

Physique

erreurs

Détecter

Signaler

Agir

Page 46: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

46

Traitemenent des erreurs

Les différents types d’erreur pouvent se produire:

Au niveau de la couche physiqueerreur de bit: bit altéréerreur de bit stuffing: violation (volontaire ou non)

Au niveau du bit tramebit Ack non acquitté (acknowledgement error)

Au niveau de la structure de la trameviolation de la structure de la trame:erreurs CRC, ACK, EOF, delimiter, overload delimiter.

Application

Liaison

Physique

erreurs

Page 47: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

47

Application des erreursApplication

Liaison

Physique

trame erreur

SOF

Arbitrage Commande Données CRC ACK EOF

Récepteur

Erreur bit

Erreur stuff-bit

Erreur de format

Erreur de CRC

Erreur bit

Erreur stuff-bit

Erreur de format

Erreur d’ACK

Emetteur Trame de données

La gestion des erreurs s'applique sur certains champs, selon les cas

Page 48: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

48

Erreurs de confinement

sur chaque noeud, il y a 2 compteurs distincts :- Transmit error counter- Receive error counter

Message transmis ou reçu correctement: - 1 pointMessage transmis ou reçu en erreur : + 8 points

Ce mécanisme est intégré dans le controleur CAN

L’état des compteurs induit trois états au niveau du controleur:- Etat «Error active»- Etat «Error passive»- Etat «Bus Off»

Les erreurs sont détectées localement, sur chaque nœud

Application

Liaison

Physique

erreurs

Page 49: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

49

Erreurs de confinement

Error active

Error passive

Bus«Off»

Reset &configuration REC>127 ou

TEC > 127

REC>128ou TEC > 128

REC>255

«Normal Mode Request» et 128 occurrence de 11 bits successifs / récessifs

REC: Receive Error counter TEC: Transmit Error Counter

Warning limit: 96

Application

Liaison

Physique

erreurs

Page 50: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

50

Etat «Error Active»

• Le noeud émet et transmet normalement

• Dans le cas où une erreur est détectée, il transmettra un «active error flag» pendant la trame d’erreur

• Un interruption «error status» ou «error interrupt» sera générée à la «warning limit» de 96 points sur l’un des compteurs

Application

Liaison

Physique

erreurs

Page 51: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

51

Etat «Error Passive»

• Le noeud émet et transmet normalement

• Dans le cas où une erreur est détectée, il transmettra un «passive error flag» pendant la trame d’erreur

Application

Liaison

Physique

erreurs

Page 52: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

52

Etat «Bus Off»

• Les compteurs d’erreur ont été remis à 0

• observé sur le bus 128 occurrences de 11 bits récessifs chacun (128 messages dont les bits Acknowledge delimiter + EOF + intermission se sont déroulés correctement)

• Le noeud cesse d’émettre et de transmettre normalement• Les drivers de ligne sont électroniquement déconnectés du bus• Un retour en état «Error active» est possible automatiquement aux conditions suivantes:

Application

Liaison

Physique

erreurs

71 3

Ack EOF Inter-Trame

= 11 bits récessifs successifs Sans bits stuffing

Trame de données

Page 53: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

53

Détection des erreurs

Bit en erreur (bit error)

Si un bit émis récessif est relu dominant par l’émetteur, alors il y a erreur de bit , sauf dans les cas suivants:

- pendant la phase d’arbitration (perte d’arbitrage)

Application

Liaison

Physique

erreurs

Page 54: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

54

Nominal Bit Time

Segment desynchronisation

Segment de tempsde propagation

Phase segment 1 Phase segment 2

NBT - Nominal Bit Time (durée nominale du bit)

Point d'échantillonage

8 < Nombre total de Time Quanta (contenu dans le Bit Time) < 25

1 Time Quantum (fixe)1 à 8 Time Quanta 1 à 8 Time Quanta

Information Processing TimeInférieur ou égal à 2 Time Quanta

Inférieur ou égal à Phase segment 1 + IPT

Application

Liaison

Physique bit

Page 55: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

55

Resynchronisation bitApplication

Liaison

Physique bit

S propagation Seg phase 1 S1 1 8 1 8 1 8

Point d'échantillonnage

S S

Point d'échantillonnage

S S

Point d'échantillonnage

Bus au repos, état récessif

Etat dominant

Durée Nominale du bit t(bit) – Nominal Bit Time

Du signal incident présent sur le busProvenant par exemple d'un autre noeud

e = 0

e < 0 d'où Seg Phase 2 va raccourcir

e > 0 d'où Seg Phase 1 va rallonger

Un nominal bit time =

Un nominal bit time >

Un nominal bit time <

Seg phase 2

Du fait des tolérances de son propre oscillateur local, il se peut que le nœud ait :

Page 56: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

56

Resynchronisation bitApplication

Liaison

Physique bit

RJW

Pour une raison ou pour une autrele flanc peut tomber là (cas N°2)

ou là (cas N°1)

S propagation Seg phase 1 Seg phase 2

1 8 1 8 1 8

S propagation Seg phase 1 Seg phase 2

1 8 1 4 5 12 1 8

e>RJW d'où le segment Phase 1 va se rallonger d'une quantité égale à RJW

1er cas

2e cas

RJW RJW

Phase 1 Phase 2

e > 0

Synchroprévue

8 1 8

Bit récessif

Point d'échantillonnage

Bit dominantPoint d'échantillonnage

Bit dominant

Point d'échantillonnage

Page 57: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

Intel 82527

Présentation du

Composant CAN

Page 58: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

58

Le 82527

CPUInterface

logic

Les registres du 82527

RAM

ClkOut

CANController

Port 1 Port 2

TX0

TX1

RX0

RX1

CLK

E/S E/S

adresse

données

CAN +

CAN -Tx

Rx

En

Architecture du 82527intel

Page 59: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

59

Les registres du 82527Control

Status

CPU Interface

Reserve

High Speed

Global mask Std

Global Mask Ext

Message 15 Mask

Message 1

ClkOut

Message 2

Bus Configuration

Message 3

Bit Timing rgt 0

Message 4

Bit Timing rgt 1

Message 5

Interrupt

Message 6

Reserve

Message 7

Reserve

Message 8

Reserve

Message 9

P1 configuration

Message 10

P2 configuration

Message 11

P1 In

Message 12

P2 In

Message 13

P1 Out

Message 14

P2 Out

Message 15

Control 1

Arbitration 0

Arbitration 1

Arbitration 2

Arbitration 3

Msg configuration

Data 0

Data 1

Data 2

Data 3

Data 4

Data 5

Data 6

Data 7

Control 0

00

01

02

03

04-05

10

1F

20

2F

30

3F

40

4F

50

5F

60

6F

70

7F

80

8F

90

9F

A0

AF

B0

BF

C0

CF

D0

DF

E0

EF

F0

06-07

08-0B

0C-0F

Serial reset adr.FF

+00

+01

+02

+03

+04

+05

+06

+07

+08

+09

+0A

+0B

+0C

+0D

+0E

255 registres15 messages objets

1 message parmi 15

Page 60: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

60

Les registres du 82527

 

00 CONTROL

0 CCE 0 0 EIE SIE IE Init 

CCE Change Rgt

EIE Sur change Error status Rgt

SIE Sur change Status Rgt

IE Sur EIE + SIE + RxOK et TxOK (IE message)

Init en lecture Init faite  

Application

Liaison

Physique

Composant registres

Registre général CONTROL

Page 61: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

61

Les registres du 82527

 01 STATUS

Boff Warn Wake RxOK TxOK LEC2 LEC1 LEC0 

Boff en Bus Off

Warn Si limite error 96

Wake sur réception Msg ou ecriture par uP

RxOK Msg reçu sans erreur

TxOK Msg transmis sans erreur

LEC Erreur 0 OK 1 Stuff 2 Form 3 Ack4 Bit1 (R/D) 5 bit0 (D/R) 6 CRC 7 nc

Application

Liaison

Physique

Composant registres

Registre général STATUS

Page 62: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

62

Les registres du 82527

02 INTERFACE

RstST DSC DMC PwD Sleep MUX 0 Cen 

RstSt reset hard écrit par 527

DSC SCLK <- XTAL ou XTAL/2 pour bit timing

DMC MCLK <- XTAL ou XTAL/2 pour CPU

PwD Pour mode Power Down

Sleep Pour mode sleep

MUX VCC/2 en low speed ou INT vers CPU

Cen ClockOut enable

Application

Liaison

Physique

Composant registres

Registre général INTERFACE

Page 63: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

63

Les registres du 82527

06-07 Global Mask – Standard register

ID10 ID9 ID8 ID7 ID6 ID5 ID4 ID3 ID2 ID1 ID0 Réservé

ID11-ID0 Masque standard CAN 2.0 A

06

07

Registre général Masque registre standard

Application

Liaison

Physique

Composant registres

Page 64: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

64

Filtrage

Message 11

Message 10

Message 9

Message 8

Message 7

Message 6

Message 5

Message 4

Message 3

Message 2

Message 1

Message 14

Message 13

Message 12

Message 15

Masque Global

SOF Identifieur CdeRTR

Message non retenu

1 Le bit est retenu pour la comparaison0 Le bit n’est pas significatif

Exemple : TrameMasqueacceptérejeté

1 1 0 1 0 0 01 0 0 11 1 1 1 0 0 00 0 0 01 1 0 1 1 0 10 1 0 11 0 1 1 0 1 01 0 0 1

Page 65: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

65

Les registres du 82527

08-0B Global Mask – Extended register

ID28 ID27 ID26 ID25 ID24 ID23 ID22 ID21

ID20 ID19 ID18 ID17 ID16 ID15 ID14 ID13

ID12 ID11 ID10 ID9 ID8 ID7 ID6 ID5 ID4 ID3 ID2 ID1 ID0 Réservé

ID28-ID0 Masque standard CAN 2.0 B sur 29 bits

08

09

0A

0B

Registre général Masque registre étendu

Application

Liaison

Physique

Composant registres

Page 66: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

66

Les registres du 82527

0C-0F Message 15 Mask Register

ID28 ID27 ID26 ID25 ID24 ID23 ID22 ID21

ID20 ID19 ID18 ID17 ID16 ID15 ID14 ID13

ID12 ID11 ID10 ID9 ID8 ID7 ID6 ID5 ID4 ID3 ID2 ID1 ID0 Réservé

ID28-ID0 Masque standard CAN 2.0 B sur 29 bits

0C

0D

0E

0F

Registre général Masque registre 15

Application

Liaison

Physique

Composant registres

Page 67: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

67

Les registres du 82527

1F CLKOUT

0 0 SL1 SL0 CDv3 CDv2 CDv1 CDv0 

SL0 selon Clkout 00>24MHz 01 de 16 à 24 MHz

SL1 10 de 8 à 16MHz 11<8MHz

CDV ClkOut division de XTAL de 0 à 15 

 

Application

Liaison

Physique

Composant registres

Registre général CLKOUT

Page 68: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

68

Les registres du 82527

2F BUS CONFIGURATION

0 CoBy Pol 0 DcT1 0 DcR1 DcR0 

CoBy Comparator byPass

Pol Polarity Recessive/Dominant

Dct1 Disconnect Tx1

DcR1 Disconnect Rx1

DcR0 Disconnect Rx0

Application

Liaison

Physique

Composant registres

Registre général BUS CONFIGURATION

Page 69: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

69

Les registres du 82527

 3F Registre Bit Timing 0

SJW1 SJW0 BRP (6 bits) SJW Resynchronisation Jump Width (de 0 à 3)

C’est le nombre de tq que le bit time sera rallongé ou raccourci en resynchronisation BRP Baud Rate Prescaler (0 à 63) tq = tSCLK * (BRP + 1)

 

4F Registre Bit Timing 1

Spl (1 bit) TSEG2 (3 bits) TSEG1 (4 bits) Spl Sampling Mode 0 = 1 sampling (fast)

1 = 3 sampling (si parasité)TSEG1 2 à 15 tqTSEG2 1 à 7 tq

Application

Liaison

Physique

Composant registres

Registre général BIT TIMING

Seg Synchro Seg Propag. Seg Phase 1 Seg Phase 2

Nominal Bit Time

Point

d'échantillonage

tSync

tSeg1 tSeg2

Nominal Bit Time

1 tqTime Quanta

Point

d'échantillonage

Page 70: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

70

Les registres du 82527

5F INTERRUPT

Source Interrupt 0 : No 1 : Status 2 : Msg 15 3 à 10h : N° Msg+2

9F AF PORT CONF

1 OUT0 IN 

BF CF PORT IN

Lit le bit 1 high 0 low

DF EF PORT OUT

Ecrit le bit 1 high 0 low

Application

Liaison

Physique

Composant registres

Registre général INTERRUPTIONS

Page 71: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

71

Les registres du 82527

Fréquence Bus CAN = XTAL frequency / [ (DSC+1) * (BRP+1) * (SJW + TSEG1 + TSEG2 )] Exemple :XTAL=16 MHz DSC=1 BRP=10SJW=2 (+1 hard) TSEG1 = 4 (+1 hard) TSEG2 = 1 (+1 hard) SCLK = XTAL / (DSC +1) => 16 MHz / 2 = 8 MHz => tSCLK = 125ns

tq = tSCLK * (BRP+1) => tq = 125ns * 11 => tq = 1,375 us

Nominal Bit Time => Nbt = 1.375us * (5+2+3) => Nbt = 10,375 us = > soit 72,727 Kbit/s

 Autres exemples : Pour 1,6 MHz (maximum CAN) => 8MHz / 5 soit BRP=0 et DSC=1

et SJW=0 et TSEG1=2 et TSEG2=1d’où tprop=2*tq maxi soit 1,25us

Pour 1 MHz => 8MHz / 8 soit BRP=0 et DSC=1et SJW=0 et TSEG1 = 3 et TSEG2 = 2

 règles : tTSEG2 >= 2tq

tTSEG2 >= tSJW

tTSEG1 >= 3tq

tTSEG1 >= tSJW + tprop

pour 3 échantillonages : tSEG1 >= tSJW + tprop + 2tq

Application

Liaison

Physique

Composant registres

Page 72: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

72

Les registres du 82527Application

Liaison

Physique

Composant registres

Control 1

Arbitration 0

Arbitration 1

Arbitration 2

Arbitration 3

Msg configuration

Data 0

Data 1

Data 2

Data 3

Data 4

Data 5

Data 6

Data 7

Control 0+00

+01

+02

+03

+04

+05

+06

+07

+08

+09

+0A

+0B

+0C

+0D

+0E

1 message parmi 15 15 messages objets identiques

SOF Identifieur Cde Données CRC Ack EOF

Trame de données

RTR

APPLICATION

Page 73: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

73

Les registres du 82527

+0 CONTROL 0

MsgVal (2 bits) TxIE (2) RxIE (2) IntPd (2) 

MsgVal Message object valid for transactionsTxIE Int allowed when succesfull transmission (IE must be set)RxIE «  «  «  «  reception (IE must be set)IntPnd Interrupt pending - The CPU must clear this bit  

Application

Liaison

Physique

Composant registres

Registre Message CONTROL 0

MSB LSB

Ecriture 0 0 Interdit 0 1 Reset (0)1 0 Set (1)1 1 Inchangé

Lecture 0 1 Reset (0)1 0 Set (1)

Plus facile pour changer certains bits sans altérer les autres

Page 74: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

74

Les registres du 82527

+1 CONTROL 1

RmtPnd (2) TxRqst (2) MsgLst (2) NewDat (2) /CpuUpd RmtPnd Remote Pending - Trame remote en cours d’envoi Seulement géré par msg object en

transmit - le trame remote est en construction TxRqst Transmit request Set by the cpu to transmit a msg reste actif tant que le message

n’a pas été transmis. Pour transmettre 1 Init Bit=0 2 MsgVal = 0 3 Direction=transmission 4 NewDat=1 5 TxRqst=1

Si direction=reception, on envoie une trame remote

 MsgLst Message Lost. Seulement en reception. Le message précédent a été réécrit.

CpuUpd CPU Updatingvalide pour émission seulement. Protège de la transmission d’une réponse remote pendant la mise à jour des données par le CPU. Positionné par CPU.

NewDat 82527 or CPU a écrit des nouvelles données ds le msg 

Application

Liaison

Physique

Composant registres

Registre Message CONTROL 1

Page 75: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

75

Les registres du 82527

+02 à +05 Arbitration registers

ID28 ID27 ID26 ID25 ID24 ID23 ID22 ID21

ID20 ID19 ID18 ID17 ID16 ID15 ID14 ID13

ID12 ID11 ID10 ID9 ID8 ID7 ID6 ID5 ID4 ID3 ID2 ID1 ID0 Réservé

ou

ID10-ID0 Masque standard CAN 2.0 A sur 11 bits ouID28-ID0 Masque standard CAN 2.0 B sur 29 bits

+02

+03

+04

Registre Message Arbitration

ID10 ID9 ID8 ID7 ID6 ID5 ID4 ID3 ID2 ID1 ID0 Réservé

Réservé

Réservé

+05

+02

+03

+04

+05

Application

Liaison

Physique

Composant registres

Page 76: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

76

Les registres du 82527

Data 0

Data 1

Data 2

Data 3

Data 4

Data 5

Data 6

Data 7

+ 7

+ 8

+ 9

+ 10

+ 11

+ 12

+ 13

+ 14

Application

Liaison

Physique

Composant registres

Registre Message DONNEES

+ 07 à + 14 DATA

Data 0 à +7 to Data 7 à +14

SOF Identifieur Cde Données CRC Ack EOFRTR

DLC

Data Length Code

Registre Message configuration

Page 77: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

77

Les registres du 82527

+06 MESSAGE CONFIGURATION

DLC (4 bits) Dir Xtd reseved (2 bits) 

DLC  Longueur du message

Dir Direction : 1 When TxRqst is set -> transmissionDirection : 0 When TxRqst is set -> Remote frame transmission

Xtd Standard or Extended msg  

Application

Liaison

Physique

Composant registres

Registre Message CONFIGURATION

Page 78: Présentation CAN Controller Area Network Patrick MONASSIER Université Lyon 1 France

Merci de votre attention

Fin de présentation

Patrick MONASSIERUniversité Lyon 1 France