CAN Controller Area Network Prsentation Patrick MONASSIER Universit














































































- Slides: 78
CAN Controller Area Network Présentation Patrick MONASSIER Université Lyon 1 France
Historique du réseau CAN 1983 1985 1986 1987 1989 1991 1992 1993 1994 1995 1996 1997 2000 Début des développements de CAN chez Robert Bosch Gmbh Spécification V 1. 0. Premières relations entre Bosch et les fondeurs de silicium Démarrage des travaux de normalisation ISO Introduction du premier échantillon de circuit intégré CAN Démarrage des premières applications industrielles Spécifications du protocole étendu CAN 2. 0 B Premiers véhicules équipés (500 Kb/s) – Mercedes Classe S Création du groupement utilisateur Ci. A – CAN in Automation Création du groupe OSEK Parution de la première couche applicative (CAL) du Ci. A Standardisations ISO terminées PSA (Peugeot - Citroën) et Renault entrent à l’OSEK Task Force aux USA avec le SAE-Society of Automotive Engineers CAN est appliqué à la plupart des « contrôles moteurs » automobiles 300 sociétés adhérentes au Ci. A Tous les grands fondeurs proposent des composants CAN Forte implantation de CAN dans l'automobile avec la couche OSEK 2
Applications Robitique Embarqué Quelques données sur les applications industrielles Industrie Communication de type synchrone requise 64 % non requise 36% Mode d'échantillonnage Pour les nœuds du réseau cyclique 73% é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% Automobile Source VDMA 3
Le modèle ISO N° de couche 7 6 5 4 3 2 1 Modèle ISO Protocole CAN Application Présentation Session Transport Réseau Communication Physique Utilisateur vide Protocole CAN avec libre choix du medium 4
Le modèle ISO CAN N° de couche 7 2 1 Modèle ISO réduit Protocole CAN Application Communication Physique Utilisateur Protocole CAN avec libre choix du medium Application Présentation Session Application Transport Liaison Réseau Physique Liaison Symbolique utilisée pour le suivi de ce cours Physique 5
Le modèle ISO CAN Un modèle adapté aux réseaux de terrain 7 6 5 4 3 2 1 Application Présentation Session Transport Réseau Liaison Physique Architecture simplifiée d’une station réseau 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 microcontrôleur couche 2 par simplification, pour économiser du temps CPU. Les couches Transport et Réseau servent au routage dans des réseaux 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 ) Topologies simples 1 2 Bus Logiciel simplifé Economie de temps 4 3 Microprocesseur Contrôleur réseau Interface réseau Ligne du réseau 6
Les couches CAN Couches 7 Application La couche applicative définit et exploite les champs de données et de paramètres Elle gère aussi les commandes : émission, réception … etc. Données Paramètres Commandes Champs 2 Liaison Trame 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 Bits 1 Physique La couche physique assure la mise en forme électrique des bits Ligne du réseau 7
Application Présentation Session CAL Device. Net Couche 7 - Application SDS Transport J 1939 Réseau OSEK Liaison Physique INDUSTRIE CAL (CANOpen) Groupemement CAN in Automation - Ci. A Device. Net Rockwell Allen Bradley SDS Honeywell AUTOMOBILE J 1939 SAE Society of Automotive Engineers Applications camions aux USA OSEK Open Systems & Interface for Distribued Electronic in Cars Véhicules légers en Europe 8
Les couches ISO CAN Logiciel LLC Application Logic Link Control Présentation MAC Medium Access Control Session Intégré dans le contrôleur CAN Spécifications du protocole CAN Transport PLS Réseau Physical Signaling Liaison PMA Physical Medium Attachment Driver de ligne MDI Connectique Physique Medium Dependant Interface 9
Les modèle ISO CAN Pour faciliter la lecture de ce cours, dans les pages suivantes, le répérage dans le modèle ISO est symbolisé comme suit : Application Présentation LLC Liaison Session MAC Physique Réseau PLS Application Liaison PMA Liaison Physique MDI Physique trame Transport bit 10
Application Présentation Session Couche 2 - Liaison - LCC LLC MAC LLC Logic Link Control Transport Réseau PLS Liaison PMA Physique MDI Les tâche de la sous-couche LLC sont les suivantes : 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 11
Application Présentation Session LLC Couche 2 – Liaison - MAC MAC Medium Access Control Transport Réseau PLS Liaison PMA Physique MDI La sous-couche MAC a pour mission : 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 Ses tâches sont donc les suivantes : 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 Codage trame (stuffing/destuffing) Signalisation d’erreurs de transmission Acquittement (signal ACK) Détection d’erreurs de transmission Gestion de la prise d’accès à la couche physique (CSMA/CA) 12
Application Présentation Session LLC MAC Transport Réseau PLS Liaison PMA Physique MDI Couche 1 - Physique - 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 synchronisation du bit 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 13
Application Présentation Session LLC Couche 1 - Physique - PMA MAC PMA Physical Medium Attach Transport Réseau PLS Liaison PMA Physique MDI Caractéristiques des étages de commande et de réception Caractéristiques des Interfaces Drivers / Receivers Par exemple: Philips 82 C 250 Compatible avec la norme ISO 11898 Vitesse jusqu’à 1 Mb/s Protection de ligne contre les parasites, filtarge des signaux Contrôle de la pente du signal pour diminuer les émissions radio-électriques Mode de réception différentiel pour une meilleures protection CEM Protection thermique Un circuit non alimenté n’affecte pas le fonctionnement du bus Jusqu’à 110 nœuds supportés sur une même ligne 14
Application Présentation Session LLC MAC Transport Réseau PLS Liaison PMA Physique MDI Couche 1 - Physique - MDI Medium Dependant Interface 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 : 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 15
Eléments du réseau Positionner physiquement les différents éléments Application Présentation Session LLC MAC Transport Réseau PLS Liaison PMA Physique MDI trame bit Architecture simplifiée d’une station réseau Exemple de carte CAN Microprocesseur Intel 386 ex Contrôleur réseau Contrôleur CAN Intel 82527 Interface réseau Driver de ligne Philips 82 C 250 Ligne du réseau 16
Architectures CAN Carte microprocesseur et controleur CAN Carte avec microcontroleur CAN Microprocesseur ou microcontroleur SLIO Serial Linked I/O device Contrôleur CAN Carte avec SLIO Interface CAN SLIO CAN Contrôleur CAN intégré Interface CAN Ligne du réseau Système avec carte controleur CAN Système Informatique Bus local Carte CAN Contrôleur CAN Interface CAN Fabricants de composants Alcatel Bosch Dallas Semiconductor Fujitsu Hitachi Infineon Intel Intermetal Microchip Mitsubishi Motorola National Semiconductor NEC OKI Philips STMicroelectronics Temic Texas Instrument Toshiba Unitrode …. 17
Optocouplage Dans le milieu industriel, l’optocouplage et le filtrage sont nécessaires : CEM, Isolation galvanique , parasites…… etc Exemple de carte CAN optocouplée Microprocesseur Intel 386 ex Exemple de carte CAN Controleur CAN Intel 82527 Microprocesseur Intel 386 ex Controleur CAN Intel 82527 Opto DC/DC Isolation galvanique optocouplage Driver de ligne Philips 80250 Driver de ligne Philips 80 C 250 Filtres de ligne filtrage Ligne du réseau Opto = Optocoupleur 18
Le RESEAU CAN Les principes
Application Liaison trame Les méthodes d’accès Méthode CSMA-CD/CA Physique Exemples de réseaux Bit. Bus / FIP • Maître / Esclave • Avec jetons • Par division de temps TDMA • A gestion de collision CSMA-CD • A gestion de collision CSMA-CA Profibus Interbus Ethernet CAN
Application Codage bit - principes Liaison Physique bit Comment transporter l’horloge et les données sur le même support ? Horloge ? Données Signal Horloge + Données Les 2 grands principes de codage, NRZ et Manchester, permettent de transporter l’horloge avec les données 0 1 NRZI NRZ : Non Return to Zero NRZI : Non Return to Zero Inverted Manchester 21
Application Codage bit - principes Liaison Physique bit Exemple d’une suite de bits codée en NRZ, NRZI et Manchester 0 1 0 0 1 1 1 0 NRZ Non Return to Zero NRZI Non Return to Zero Inverted Manchester 22
Contraintes du codage Le codage Manchester transmet l’horloge en permanence mais nécessite une bande passante double C’est le codage NRZ qui est choisi pour CAN 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 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………. 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. Solution : le Bit Stuffing (remplissage bit) NRZ ou NRZI 1 0 0 0 1 0 0 0………. Ces bits sont ajoutés à l’émission puis seront retirés à la réception 23
Application Codage bit - Bit stuffing Liaison Physique bit 0 0 0 1 0 NRZ Bit Stuffing 1 2 3 4 5 6 1 2 3 4 5 7 8 S 6 7 9 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. 24
Application Codage bit - Arbitration Liaison Physique bit +V +V Récessif : rappel de potentiel Dominant : conducteur à la masse Récessif : absence de porteuse Dominant : présence de porteuse Le Dominant (D) l’emporte sur le Récessif (R) Il impose son état électrique Relecture et Comparaison Relecture En Emission Contrôleur CAN Tx CAN + CAN - Rx 25
Application Liaison trame Méthode CSMA-CD/CA Physique 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 trame Méthode CSMA / CA Physique Principes généraux • 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
Application Liaison trame Méthode CSMA-CD/CA Physique Résistance de terminaison En cas de coupure réseau, le tronçon est complètement isolé. Stations ou Noeuds • 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 Résistance de terminaison 28
Application Liaison trame Principe de l’arbitrage Physique bus libre trame de données / requête S I I I R S: bit de départ de trame (SOF) I : 1 parmi 11 bits d’identificateur R: 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 29
Application Liaison Principe de l’arbitrage trame Physique Rx: D Transfert Rx: R Transfert Rx: D Rx : R Tx: R Perte d’arbitrage Tx : D Erreur bit 1 S R D D R D D. . . 2 S R D D R D R R D. . . 3 S R D D R R. . . Sur le bus S R D D R R. . . 3 gagne l’arbitrage 30
Application Liaison Principe de l’arbitrage trame Physique 1 2 Il y a une notion de priorité entre trames, fonction de la valeur de l’identifieur associé. 1 est prioritaire sur 2 3 3 est prioritaire sur 1 et 2 1 2 2 est seule 2 t ou autre cas. . . 2 Exemple d’un réseau à 4 stations 1 2 4 3 4 2 est seule 4 est prioritaire sur 2 2 La station émet mais perd l’arbitration… … et se met immédiatement en écoute La trame est émise complètement 31
Application Longueur du réseau Liaison Physique bit Débit Kbits / s 1600 Vitesse maximale du protocole CAN 1000 Débit du réseau Distance maximale 1 Mbits/s 500 Kbits/s 250 Kbits/s 125 Kbits/s 100 Kbits/s 50 Kbits/s 20 Kbits/s 10 Kbits/s 5 Kbits/s 40 mètres 130 m 270 m 530 m 620 m 1, 3 Km 3, 3 Km 6, 7 Km 10 Km 100 Exemple : 20 Kbit / s … 10 …environ 3300 m 5 10 100 1. 000 10. 000 mètres Longueur du réseau (mètres) 32
Application Segment de propagation Liaison Physique bit Contrôleur CAN A Contrôleur B Transceiver A Transceiver B Tension de sortie Données reçues 0, 5 0, 9 Vdiff (V) Signal réel du bus Tmed=L / Vprop Tprop >= [ 2 x (Tmed + Tsd + Ttx + Trx + Tqual ) ] Tprop >= [ 2 x ( Tmed + Telec ) ] Tprop >= [ 2 x Tres ] (Tprog) min >= 2 x Tres Tprog = k x Tbit Tprog = k / Baud rate t 1 t 2 t Signal reconstruit t L <= (0, 2 m/ns) x k / ( 2 x Baud rate ) – Telec 33
Application Liaison trame Physique LE RESEAU CAN Les Trames
Application Liaison trame format Formats des trames Physique • 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 35
Application Liaison trame format Types de Trames Physique • Trames de données (data) • Trames de requête (Remote) • Trames d’erreur (Error) • Trames de surcharge (Overload) • Inter. Trames (Interframes) 36
Application Liaison trame Trame de données Physique Début de trame (SOF) Champ de CRC Champ identifieur Champ de ACK Bit RTR Champ de commande Longueur en bits Fin de trame (EOF) Champ de données Intermission Arbitrage IDLE 1 11 1 6 0 à 8 octets 16 2 7 3 IDLE Trame de données 29 Identifieur à 11 bits = format standard CAN 2. 0 A Identifieur à 29 bits = format standard CAN 2. 0 B 37
Application Liaison trame Trame de données Physique RTR est dominant Longueur du champ de données fixé par DLC, en nombre d'octets SOF Identifieur RTR Commande Données CRC ACK EOF 1 11 1 6 0 à 8 octets 16 2 7 D 1 Identifieur CAN 2. 0 A Identifieur CAN 2. 0 B Première partie de l’identifieur 4 15 1 1 DLC (de 0 à 8) Délimiteur ACK (Récessif) r 0 (réserve) Slot ACK Délimiteur CRC (Récessif) Séquence de CRC IDE en CAN 2. 0 A r 1 en CAN. 0 B (réserve) 11 11 1 1 IDE SRR 18 Suite de l’identifieur Lexique : SOF : Start of frame EOF : End of frame (7 bits Récessif) RTR : Remote Transmission Request ACK : Acknowledge CRC : Cyclic Redundancy Code DLC : Data Length Code SRR : Substitute Remote Request IDE : IDentifier Extension 38
Application Liaison trame Trame de requête données Physique • 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 Etat D pour une trame de données Bit RTR Etat R pour une trame de requête SOF Identifieur Cde CRC ACK EOF DLC ajusté sur le nombre d’octets de données à retourner 39
Application Liaison trame Trame d’erreur Physique • 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) Trame en cours de diffusion Intertrame Champ de trame d’erreur Drapeau d’erreur 6 à 12 bits D en erreur active 6 à 12 bits R en erreur passive Délimiteur du champ 8 bits R 40
Application Liaison trame Trame de surcharge Physique • 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 Intertrame Champ de surcharge Délimiteur du champ 6 bits D 7 bits R 41
Application Liaison trame Inter-trame Période d’ intertrame Physique • 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 42
Application Liaison erreurs Physique Le réseau CAN Traitement des Erreurs
Application Liaison erreurs Traitement des erreurs Physique Il est utile de connaître à tout moment: • 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 Le mécanisme de traitement des erreurs de confinement permet de déterminer si un noeud: • n’est pas perturbé • est peu perturbé • est un peu plus gravement perturbé • est tellement perturbé qu’il doit passer «Off» 44
Application Liaison erreurs Traitement des erreurs Physique Plan général Généralités Différents types d’erreur pouvent se produire Stratégie de traitement et recouvrement des erreurs Détails Technique de détection des erreurs Technique de signalisation des erreurs Technique de recouvrement des erreurs Détecter Signaler Agir 45
Application Liaison erreurs Traitemenent des erreurs Physique Les différents types d’erreur pouvent se produire: Au niveau de la couche physique erreur de bit: bit altéré erreur de bit stuffing: violation (volontaire ou non) Au niveau du bit trame bit Ack non acquitté (acknowledgement error) Au niveau de la structure de la trame violation de la structure de la trame: erreurs CRC, ACK, EOF, delimiter, overload delimiter. 46
Application Liaison trame Application des erreur Physique Erreur bit Erreur stuff-bit Erreur de format Erreur d’ACK Trame de données Emetteur S O F Arbitrage Commande Données CRC ACK EOF Récepteur Erreur bit Erreur stuff-bit Erreur de format Erreur de CRC La gestion des erreurs s'applique sur certains champs, selon les cas 47
Application Liaison erreurs Erreurs de confinement Physique sur chaque noeud, il y a 2 compteurs distincts : - Transmit error counter - Receive error counter Message transmis ou reçu correctement: - 1 point Message 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 48
Application Liaison Erreurs de confinement erreurs Physique Reset & configuration Warning limit: 96 REC>127 ou TEC > 127 Error active REC>255 Error passive Bus «Off» REC>128 ou TEC > 128 «Normal Mode Request» et 128 occurrence de 11 bits successifs / récessifs REC: Receive Error counter TEC: Transmit Error Counter 49
Application Liaison erreurs Etat «Error Active» Physique • 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 50
Application Liaison erreurs Etat «Error Passive» Physique • 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 51
Application Liaison Etat «Bus Off» erreurs Physique • 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: • 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) Ack EOF Inter-Trame de données 1 7 3 = 11 bits récessifs successifs Sans bits stuffing 52
Application Liaison erreurs Détection des erreurs Physique 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) 53
Application Nominal Bit Time Liaison Physique bit Information Processing Time Inférieur ou égal à 2 Time Quanta 1 Time Quantum (fixe) 1 à 8 Time Quanta Inférieur ou égal à Phase segment 1 + IPT NBT - Nominal Bit Time (durée nominale du bit) Segment de synchronisation Segment de temps de propagation Phase segment 1 Phase segment 2 Point d'échantillonage 8 < Nombre total de Time Quanta (contenu dans le Bit Time) < 25 54
Application Resynchronisation bit Liaison Physique bit Du fait des tolérances de son propre oscillateur local, il se peut que le nœud ait : Durée Nominale du bit t(bit) – Nominal Bit Time Bus au repos, état récessif Du signal incident présent sur le bus Provenant par exemple d'un autre noeud Etat dominant 1 1 8 Un nominal bit time = S propagation Seg phase 1 Seg phase 2 S e = 0 Point d'échantillonnage Un nominal bit time > S S e < 0 d'où Seg Phase 2 va raccourcir Point d'échantillonnage Un nominal bit time < S S e > 0 d'où Seg Phase 1 va rallonger Point d'échantillonnage 55
Application Resynchronisation bit Liaison Physique bit Pour une raison ou pour une autre le flanc peut tomber là (cas N° 2) ou là (cas N° 1) RJW 8 1 8 Phase 1 Synchro prévue Phase 2 Bit récessif e > 0 Point d'échantillonnage 1 8 1 er cas S propagation Seg phase 1 Point d'échantillonnage Seg phase 2 Bit dominant e>RJW d'où le segment Phase 1 va se rallonger d'une quantité égale à RJW 1 8 1 4 5 12 1 8 2 e cas S propagation Seg phase 1 RJW Seg phase 2 Bit dominant Point d'échantillonnage 56
Intel 82527 Présentation du Composant CAN
Les registres du 82527 Le 82527 E/S Port 1 E/S Port 2 TX 0 adresse données TX 1 CPU Interface logic CAN Controller Architecture du 82527 intel RX 0 RX 1 RAM Clk. Out CLK En Tx CAN + CAN - Rx 58
00 Control 01 Status 02 CPU Interface 03 Reserve 04 -05 High Speed 06 -07 Global mask Std 08 -0 B Global Mask Ext 0 C-0 F Message 15 Mask 10 Message 1 1 F Clk. Out 20 Message 2 2 F Bus Configuration 30 Message 3 3 F Bit Timing rgt 0 40 Message 4 4 F Bit Timing rgt 1 50 Message 5 5 F Interrupt 60 Message 6 6 F Reserve 255 registres 15 messages objets Les registres du 82527 70 Message 7 7 F Reserve 80 Message 8 8 F Reserve 90 Message 9 9 F P 1 configuration A 0 Message 10 AF P 2 configuration B 0 Message 11 BF P 1 In C 0 Message 12 CF P 2 In D 0 Message 13 DF P 1 Out E 0 Message 14 EF P 2 Out F 0 Message 15 FF Serial reset adr. 1 message parmi 15 +00 Control 0 +01 Control 1 +02 Arbitration 0 +03 Arbitration 1 +04 Arbitration 2 +05 Arbitration 3 +06 Msg configuration +07 Data 0 +08 Data 1 +09 Data 2 +0 A Data 3 +0 B Data 4 +0 C Data 5 +0 D Data 6 +0 E Data 7 59
Application Liaison Composant Les registres du 82527 registres Physique Registre général CONTROL 00 0 CONTROL CCE 0 0 EIE CCE Change Rgt EIE Sur change Error status Rgt SIE Sur change Status Rgt IE Sur EIE + SIE + Rx. OK et Tx. OK (IE message) Init en lecture Init faite SIE IE Init 60
Application Liaison Composant Les registres du 82527 registres Physique Registre général STATUS 01 STATUS Boff Warn Wake Rx. OK Boff en Bus Off Warn Si limite error 96 Wake sur réception Msg ou ecriture par u. P Rx. OK Msg reçu sans erreur Tx. OK Msg transmis sans erreur LEC Erreur Tx. OK LEC 2 0 OK 1 Stuff 2 Form 4 Bit 1 (R/D) 5 bit 0 (D/R) 6 CRC LEC 1 LEC 0 3 Ack 7 nc 61
Application Liaison Composant Les registres du 82527 registres Physique Registre général 02 INTERFACE Rst. ST DSC DMC Pw. D Sleep Rst. St reset hard écrit par 527 DSC SCLK <- XTAL ou XTAL/2 pour bit timing DMC MCLK <- XTAL ou XTAL/2 pour CPU Pw. D Pour mode Power Down Sleep Pour mode sleep MUX VCC/2 en low speed ou INT vers CPU Cen Clock. Out enable MUX 0 Cen 62
Application Liaison Composant registres Les registres du 82527 Physique Registre général 06 -07 06 07 Masque registre standard Global Mask – Standard register ID 10 ID 9 ID 8 ID 7 ID 6 ID 5 ID 4 ID 3 ID 2 ID 1 ID 0 Réservé ID 11 -ID 0 Masque standard CAN 2. 0 A 63
Message 15 Filtrage Message non retenu Message 14 Message 13 Message 12 Message 11 Message 10 Message 9 1 Le bit est retenu pour la comparaison 0 Le bit n’est pas significatif Message 8 Message 7 Masque Global Message 6 SOF Message 5 Identifieur RTR Cde Message 4 Message 3 Message 2 Message 1 Exemple : Trame Masque accepté rejeté 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 0 64
Application Liaison Composant registres Les registres du 82527 Physique Registre général 08 -0 B Masque registre étendu Global Mask – Extended register 08 ID 28 ID 27 ID 26 ID 25 ID 24 ID 23 ID 22 ID 21 09 ID 20 ID 19 ID 18 ID 17 ID 16 ID 15 ID 14 ID 13 0 A ID 12 ID 11 ID 10 ID 9 ID 8 ID 7 ID 6 ID 5 ID 4 ID 3 ID 2 ID 1 ID 0 Réservé 0 B ID 28 -ID 0 Masque standard CAN 2. 0 B sur 29 bits 65
Application Liaison Composant registres Les registres du 82527 Physique Registre général 0 C-0 F Masque registre 15 Message 15 Mask Register 0 C ID 28 ID 27 ID 26 ID 25 ID 24 ID 23 ID 22 ID 21 0 D ID 20 ID 19 ID 18 ID 17 ID 16 ID 15 ID 14 ID 13 0 E ID 12 ID 11 ID 10 ID 9 ID 8 ID 7 ID 6 ID 5 ID 4 ID 3 ID 2 ID 1 ID 0 Réservé 0 F ID 28 -ID 0 Masque standard CAN 2. 0 B sur 29 bits 66
Application Liaison Composant Les registres du 82527 registres Physique Registre général 1 F CLKOUT 0 0 SL 0 selon Clkout SL 1 SL 0 00>24 MHz SL 1 CDV CLKOUT CDv 3 CDv 2 CDv 1 CDv 0 01 de 16 à 24 MHz 10 de 8 à 16 MHz 11<8 MHz Clk. Out division de XTAL de 0 à 15 67
Application Liaison Composant Les registres du 82527 registres Physique Registre général 2 F BUS CONFIGURATION 0 Co. By Comparator by. Pass Polarity Recessive/Dominant Dct 1 Disconnect Tx 1 Dc. R 1 Disconnect Rx 1 Dc. R 0 Disconnect Rx 0 Pol 0 BUS CONFIGURATION Dc. T 1 0 Dc. R 1 Dc. R 0 68
Les registres du 82527 Application Liaison Composant registres Physique Registre général BIT TIMING 3 F Registre Bit Timing 0 SJW 1 SJW 0 BRP (6 bits) 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 = t. SCLK * (BRP + 1) 4 F Registre Bit Timing 1 Spl (1 bit) Spl TSEG 2 (3 bits) TSEG 1 (4 bits) Sampling Mode 0 = 1 sampling (fast) 1 = 3 sampling (si parasité) TSEG 1 TSEG 2 2 à 15 tq 1 à 7 tq Seg Synchro Seg Propag. Nominal Bit Time Seg Phase 1 Seg Phase 2 Point d'échantillonage Nominal Bit Time t. Sync t. Seg 1 1 tq Time Quanta t. Seg 2 Point d'échantillonage 69
Les registres du 82527 Application Liaison Composant registres Physique Registre général 5 F INTERRUPTIONS INTERRUPT Source Interrupt 0 : No 9 F AF PORT CONF 1 0 OUT IN BF CF PORT IN Lit le bit 1 high 1 : Status 2 : Msg 15 3 à 10 h : N° Msg+2 0 low DF EF PORT OUT Ecrit le bit 1 high 0 low 70
Application Liaison Composant Les registres du 82527 registres Physique Fréquence Bus CAN = XTAL frequency / [ (DSC+1) * (BRP+1) * (SJW + TSEG 1 + TSEG 2 )] Exemple : XTAL=16 MHz DSC=1 BRP=10 SJW=2 (+1 hard) TSEG 1 = 4 (+1 hard) SCLK = XTAL / (DSC +1) => tq = t. SCLK * (BRP+1) => Nominal Bit Time => = > Autres exemples : Pour 1, 6 MHz (maximum CAN) => Pour 1 MHz règles : => t. TSEG 2 >= 2 tq pour 3 échantillonages : TSEG 2 = 1 (+1 hard) 16 MHz / 2 = 8 MHz tq = 125 ns * 11 Nbt = 1. 375 us * (5+2+3) soit 72, 727 Kbit/s => => => t. SCLK = 125 ns tq = 1, 375 us Nbt = 10, 375 us 8 MHz / 5 soit BRP=0 et DSC=1 et SJW=0 et TSEG 1=2 et TSEG 2=1 d’où tprop=2*tq maxi soit 1, 25 us 8 MHz / 8 soit BRP=0 et DSC=1 et SJW=0 et TSEG 1 = 3 et TSEG 2 = 2 t. TSEG 2 >= t. SJW t. TSEG 1 >= 3 tq t. TSEG 1 >= t. SJW + tprop t. SEG 1 >= t. SJW + tprop + 2 tq 71
Application Liaison Composant Les registres du 82527 registres Physique APPLICATION 15 messages objets identiques 1 message parmi 15 +00 Control 0 +01 Control 1 +02 Arbitration 0 +03 Arbitration 1 +04 Arbitration 2 +05 Arbitration 3 +06 Msg configuration +07 Data 0 +08 Data 1 +09 Data 2 +0 A Data 3 +0 B Data 4 +0 C Data 5 +0 D Data 6 +0 E Data 7 Trame de données SOF Identifieur RTR Cde Données CRC Ack EOF 72
Application Liaison Composant registres Les registres du 82527 Physique Registre Message +0 CONTROL 0 Msg. Val (2 bits) Msg. Val Tx. IE Rx. IE Int. Pnd Tx. IE (2) Rx. IE (2) Int. Pd (2) Message object valid for transactions Int allowed when succesfull transmission (IE must be set) « « « reception (IE must be set) Interrupt pending - The CPU must clear this bit MSB LSB Ecriture 0 0 1 1 0 1 Interdit Reset (0) Set (1) Inchangé Lecture 0 1 1 0 Reset (0) Set (1) Plus facile pour changer certains bits sans altérer les autres 73
Application Liaison Composant registres Les registres du 82527 Physique Registre Message +1 CONTROL 1 Rmt. Pnd (2) Tx. Rqst (2) Msg. Lst (2) New. Dat (2) /Cpu. Upd Rmt. Pnd Remote Pending - Trame remote en cours d’envoi Seulement géré par msg object en transmit - le trame remote est en construction Tx. Rqst 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 Msg. Val = 0 3 Direction=transmission 4 New. Dat=1 5 Tx. Rqst=1 Si direction=reception, on envoie une trame remote Msg. Lst Message Lost. Seulement en reception. Le message précédent a été réécrit. Cpu. Upd CPU Updating valide 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. New. Dat 82527 or CPU a écrit des nouvelles données ds le msg 74
Application Liaison Composant Les registres du 82527 registres Physique Registre Message Arbitration +02 à +05 Arbitration registers +02 ID 28 ID 27 ID 26 ID 25 ID 24 ID 23 ID 22 ID 21 +03 ID 20 ID 19 ID 18 ID 17 ID 16 ID 15 ID 14 ID 13 +04 ID 12 ID 11 ID 10 ID 9 ID 8 ID 7 ID 6 ID 5 ID 4 ID 3 ID 2 ID 1 ID 0 Réservé +05 ou +03 ID 10 ID 9 ID 8 ID 7 ID 6 ID 5 ID 4 ID 3 ID 2 ID 1 ID 0 Réservé +04 +02 Réservé +05 ID 10 -ID 0 ID 28 -ID 0 Masque standard CAN 2. 0 A sur 11 bits ou Masque standard CAN 2. 0 B sur 29 bits 75
Les registres du 82527 Application Liaison Composant registres Physique Registre Message DONNEES + 07 à + 14 DATA Data 0 à +7 to Data 7 à +14 Registre Message configuration DLC Data Length Code SOF Identifieur RTR Cde Données CRC Ack + 7 Data 0 + 8 Data 1 + 9 Data 2 + 10 Data 3 + 11 Data 4 + 12 Data 5 + 13 Data 6 + 14 Data 7 EOF 76
Les registres du 82527 Application Liaison Composant registres Physique Registre Message CONFIGURATION . +06 MESSAGE CONFIGURATION DLC (4 bits) Dir Xtd reseved (2 bits) DLC Longueur du message Direction : 1 Direction : 0 Xtd Standard or Extended msg When Tx. Rqst is set -> transmission When Tx. Rqst is set -> Remote frame transmission 77
Fin de présentation Merci de votre attention Patrick MONASSIER Université Lyon 1 France