présentation can controller area network patrick monassier université lyon 1 france
TRANSCRIPT
Présentation
CANController Area Network
Patrick MONASSIERUniversité 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
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
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
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
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
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
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
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
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 :
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 :
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)
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
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
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
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
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
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
Le RESEAU CAN
Les principes
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
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
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
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
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
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
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
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
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
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
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
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
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
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
LE RESEAU CAN
Les Trames
Application
Liaison
Physique
trame
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
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
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
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
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
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
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
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
Le réseau CAN
Traitement des Erreurs
Application
Liaison
Physique
erreurs
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
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
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
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
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
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
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
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
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
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
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
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 :
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
Intel 82527
Présentation du
Composant CAN
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Merci de votre attention
Fin de présentation
Patrick MONASSIERUniversité Lyon 1 France