La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

CAN Controller Area Network

Présentations similaires


Présentation au sujet: "CAN Controller Area Network"— Transcription de la présentation:

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

2 Historique du réseau CAN
1983 Début des développements de CAN chez Robert Bosch Gmbh 1985 Spécification V1.0. Premières relations entre Bosch et les fondeurs de silicium 1986 Démarrage des travaux de normalisation ISO 1987 Introduction du premier échantillon de circuit intégré CAN 1989 Démarrage des premières applications industrielles 1991 Spécifications du protocole étendu CAN 2.0 B 1991 Premiers véhicules équipés (500 Kb/s) – Mercedes Classe S 1992 Création du groupement utilisateur CiA – CAN in Automation 1993 Création du groupe OSEK 1993 Parution de la première couche applicative (CAL) du CiA 1994 Standardisations ISO terminées 1994 PSA (Peugeot - Citroën) et Renault entrent à l’OSEK 1995 Task Force aux USA avec le SAE-Society of Automotive Engineers 1996 CAN est appliqué à la plupart des « contrôles moteurs » automobiles sociétés adhérentes au CiA 1997 Tous les grands fondeurs proposent des composants CAN 2000 Forte implantation de CAN dans l'automobile avec la couche OSEK

3 Quelques données sur les applications industrielles
Robitique Embarqué Quelques données sur les applications industrielles Communication de requise % type synchrone non requise % Mode d'échantillonnage cyclique % Pour les nœuds du réseau évènement % Périodicté des cycles 1 ms % 10 ms % 100 ms % Temps de réponse du signal 1 ms % 10 ms % Longueur du bus < 100 m % < 1000 m % > 100 m % Industrie Automobile Source VDMA

4 Modèle ISO Protocole CAN
Le modèle ISO N° de couche Modèle ISO Protocole CAN 7 6 5 4 3 2 1 Application Présentation Session Transport Réseau Communication Physique Utilisateur vide Protocole CAN avec libre choix du medium

5 Modèle ISO réduit Protocole CAN
Le modèle ISO CAN N° de couche Modèle ISO réduit Protocole CAN 7 2 1 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

6 Architecture simplifiée
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 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 ) Bus Logiciel simplifé Economie de temps Architecture simplifiée d’une station réseau Topologies simples 1 2 4 Microprocesseur 3 Contrôleur réseau Interface réseau Ligne du réseau

7 Les couches CAN Couches 7 2 1
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. 7 Application Données Paramètres Commandes Champs 2 Liaison 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 Trame Bits 1 Physique La couche physique assure la mise en forme électrique des bits Ligne du réseau

8 Couche 7 - Application INDUSTRIE AUTOMOBILE
CAL Couche 7 - Application Présentation DeviceNet Session SDS Transport J1939 Réseau OSEK Liaison Physique INDUSTRIE CAL (CANOpen) Groupemement CAN in Automation - CiA DeviceNet Rockwell Allen Bradley SDS Honeywell AUTOMOBILE J1939 SAE Society of Automotive Engineers Applications camions aux USA OSEK Open Systems & Interface for Distribued Electronic in Cars Véhicules légers en Europe

9 Les couches ISO CAN LLC MAC PLS PMA MDI Application Présentation
Logiciel LLC Logic Link Control Application Présentation MAC Medium Access Control Intégré dans le contrôleur CAN Spécifications du protocole CAN Session Transport PLS Physical Signaling Réseau Liaison PMA Physical Medium Attachment Driver de ligne Physique MDI Medium Dependant Interface Connectique

10 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 Application Présentation LLC Liaison trame Session MAC Physique Transport Réseau PLS Application Liaison PMA Liaison Physique MDI Physique bit

11 Couche 2 - Liaison - LCC LLC Logic Link Control
Application Couche 2 - Liaison - LCC Présentation LLC Session 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

12 MAC Medium Access Control
Application Couche 2 – Liaison - MAC Présentation LLC Session 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)

13 PLS Physical Link Signaling
Application Couche1 - Physique - PLS Présentation LLC Session MAC PLS Physical Link Signaling Transport Réseau PLS Liaison PMA Physique MDI 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

14 PMA Physical Medium Attach
Application Couche1 - Physique - PMA Présentation LLC Session 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 82C250 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

15 MDI Medium Dependant Interface
Application Couche1 - Physique - MDI Présentation LLC Session MAC MDI Medium Dependant Interface Transport Réseau PLS Liaison PMA Physique 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 : 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 Positionner physiquement les différents éléments
Eléments du réseau Positionner physiquement les différents éléments Architecture simplifiée d’une station réseau Exemple de carte CAN Application Présentation Microprocesseur Microprocesseur Intel 386 ex LLC Session MAC Transport trame Contrôleur réseau Contrôleur CAN Intel 82527 Réseau PLS bit Liaison PMA Interface réseau Driver de ligne Philips 82C250 Physique MDI Ligne du réseau

17 Architectures CAN Fabricants de composants Alcatel Bosch
Carte microprocesseur et controleur CAN Carte avec microcontroleur CAN SLIO Serial Linked I/O device Fabricants de composants Microprocesseur Alcatel Bosch Dallas Semiconductor Fujitsu Hitachi Infineon Intel Intermetal Microchip Mitsubishi Motorola National Semiconductor NEC OKI Philips STMicroelectronics Temic Texas Instrument Toshiba Unitrode …. Microprocesseur ou microcontroleur Contrôleur CAN Carte avec SLIO Contrôleur CAN intégré Interface CAN SLIO CAN Interface CAN Ligne du réseau Système avec carte controleur CAN Bus local Carte CAN Système Informatique Contrôleur CAN Interface CAN

18 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 DC/DC Controleur CAN Intel 82527 Opto Opto Isolation galvanique optocouplage Driver de ligne Philips 80250 Driver de ligne Philips 80C250 filtrage Filtres de ligne Ligne du réseau Ligne du réseau Opto = Optocoupleur

19 Le RESEAU CAN Les principes

20 Les méthodes d’accès Méthode CSMA-CD/CA BitBus / FIP Profibus
Application Les méthodes d’accès Méthode CSMA-CD/CA Liaison trame Physique Exemples de réseaux BitBus / FIP Profibus Maître / Esclave Avec jetons Par division de temps TDMA A gestion de collision CSMA-CD A gestion de collision CSMA-CA Interbus Ethernet CAN

21 Codage bit - principes NRZ NRZI Manchester
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 NRZ NRZ : Non Return to Zero NRZI : Non Return to Zero Inverted NRZI Manchester

22 Codage bit - principes 0 1 0 0 1 1 1 0 Non Return NRZ to Zero
Application Codage bit - principes Liaison Physique bit Exemple d’une suite de bits codée en NRZ, NRZI et Manchester Non Return to Zero NRZ Non Return to Zero Inverted NRZI Manchester

23 C’est le codage NRZ qui est choisi pour CAN
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 ………. 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 ………. Ces bits sont ajoutés à l’émission puis seront retirés à la réception

24 Codage bit - Bit stuffing
Application Codage bit - Bit stuffing Liaison Physique bit NRZ Bit Stuffing S Pour conserver l’information d’horloge, un bit inverse est inséré après 5 bits identiques. Il est retiré à la réception.

25 Codage bit - Arbitration
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 CAN + Tx CAN - Contrôleur CAN Rx

26 Méthode CSMA-CD/CA Méthode à gestion de collision
Application Méthode CSMA-CD/CA Liaison trame 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

27 Méthode CSMA / CA Principes généraux Toutes les stations sont égales
Application Méthode CSMA / CA Liaison trame 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

28 Méthode CSMA-CD/CA Stations ou Noeuds Toutes les stations sont égales
Application Méthode CSMA-CD/CA Liaison trame 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

29 Principe de l’arbitrage
Application Principe de l’arbitrage Liaison trame Physique bus libre trame de données / requête S I I I I I I I I 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

30 Principe de l’arbitrage
Application Principe de l’arbitrage Liaison trame Physique Rx: D Rx: R Rx: D Rx : R Tx: D Tx: R Tx: R Tx : D Transfert Transfert Perte d’arbitrage Erreur bit 1 S R D R D D R D D D D ... 2 S R D R D D R D R R D ... 3 S R D R D D D D R D R R... S R D R D D D D R D R R... Sur le bus 3 gagne l’arbitrage

31 Principe de l’arbitrage
Application Principe de l’arbitrage Liaison trame Physique 1 Il y a une notion de priorité entre trames, fonction de la valeur de l’identifieur associé. 2 3 1 est prioritaire sur 2 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 4 2 est seule 1 2 4 4 est prioritaire sur 2 2 3 La station émet mais perd l’arbitration… … et se met immédiatement en écoute La trame est émise complètement

32 Longueur du réseau Débit Kbits / s 1600 1000 100 10 5
Application Longueur du réseau Liaison Physique bit Débit Distance du réseau maximale 1 Mbits/s 40 mètres 500 Kbits/s 130 m 250 Kbits/s 270 m 125 Kbits/s 530 m 100 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 Débit Kbits / s 1600 1000 100 10 5 Vitesse maximale du protocole CAN Exemple : 20 Kbit / s … …environ 3300 m mètres Longueur du réseau (mètres)

33 Segment de propagation
Application Segment de propagation Liaison Physique bit Tension de sortie Données reçues Contrôleur CAN A Contrôleur B Transceiver A Transceiver B 0,5 0,9 Vdiff (V) Signal réel du bus Tmed=L / Vprop t Tprop >= [ 2 x (Tmed + Tsd + Ttx + Trx + Tqual ) ] Tprop >= [ 2 x ( Tmed + Telec ) ] Tprop >= [ 2 x Tres ] t1 t2 Signal reconstruit (Tprog) min >= 2 x Tres Tprog = k x Tbit Tprog = k / Baud rate t t1 t2 L <= (0,2 m/ns) x k / ( 2 x Baud rate ) – Telec

34 Application Liaison trame Physique LE RESEAU CAN Les Trames

35 Formats des trames CAN 2.0 A - Identifieur standard sur 11 bits
Application Formats des trames Liaison trame format 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 Véhicules routiers

36 Types de Trames Trames de données (data) Trames de requête (Remote)
Application Types de Trames Liaison trame format Physique Trames de données (data) Trames de requête (Remote) Trames d’erreur (Error) Trames de surcharge (Overload) InterTrames (Interframes)

37 Trame de données Début de trame (SOF) Champ de CRC Champ identifieur
Application Trame de données Liaison trame données Physique Début de trame (SOF) Champ de CRC Champ identifieur Champ de ACK Bit RTR Champ de commande Fin de trame (EOF) Longueur en bits Champ de données Intermission Arbitrage 1 11 1 6 0 à 8 octets 16 2 7 3 IDLE IDLE Trame de données Identifieur à 11 bits = format standard CAN 2.0A 29 Identifieur à 29 bits = format standard CAN 2.0B

38 Trame de données 1 11 1 6 0 à 8 octets 16 2 7 1 1 4 15 1 1 1
Application Trame de données Liaison trame 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 1 4 15 1 1 1 DLC (de 0 à 8) r0 (réserve) IDE en CAN 2.0A r1 en CAN .0B (réserve) Délimiteur ACK (Récessif) Slot ACK Délimiteur CRC (Récessif) Séquence de CRC Identifieur CAN 2.0A 11 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 Identifieur CAN 2.0B 11 1 1 18 Suite IDE Première partie de l’identifieur de l’identifieur SRR

39 Trame de requête Identique Trame de données sauf RTR
Application Trame de requête Liaison trame 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 Etat R pour une trame de requête Bit RTR SOF Identifieur Cde CRC ACK EOF DLC ajusté sur le nombre d’octets de données à retourner

40 Trame d’erreur La trame ne comprend que 2 champs....
Application Trame d’erreur Liaison trame 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 Champ de trame d’erreur Intertrame Drapeau d’erreur Délimiteur du champ 6 à 12 bits D en erreur active 6 à 12 bits R en erreur passive 8 bits R

41 Trame de surcharge La trame ne comprend que 2 champs....
Application Trame de surcharge Liaison trame 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 Champ de surcharge Intertrame Champ de surcharge Délimiteur du champ 6 bits D 7 bits R

42 Application Période d’ intertrame Liaison trame Inter-trame 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

43 Le réseau CAN Traitement des Erreurs Application Liaison erreurs
Physique Le réseau CAN Traitement des Erreurs

44 Traitement des erreurs
Application Traitement des erreurs Liaison 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»

45 Traitement des erreurs
Application Traitement des erreurs Liaison 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

46 Traitemenent des erreurs
Application Traitemenent des erreurs Liaison 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.

47 Application des erreurs
Liaison trame erreur Physique Erreur bit Erreur stuff-bit Erreur de format Erreur d’ACK Emetteur Trame de données SOF 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

48 Erreurs de confinement
Application Erreurs de confinement Liaison erreurs Physique sur chaque noeud, il y a 2 compteurs distincts : - Transmit error counter - Receive error counter Message transmis ou reçu correctement: point Message transmis ou reçu en erreur : 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

49 Erreurs de confinement
Application Erreurs de confinement Liaison erreurs Physique Reset & configuration Warning limit: 96 REC>127 ou TEC > 127 REC>255 Error active 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

50 Etat «Error Active» Le noeud émet et transmet normalement
Application Etat «Error Active» Liaison erreurs 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

51 Etat «Error Passive» Le noeud émet et transmet normalement
Application Etat «Error Passive» Liaison erreurs 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

52 Etat «Bus Off» Le noeud cesse d’émettre et de transmettre normalement
Application Etat «Bus Off» Liaison 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 1 7 3 = 11 bits récessifs successifs Sans bits stuffing Trame de données

53 Bit en erreur (bit error)
Application Détection des erreurs Liaison 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)

54 Application Nominal Bit Time Liaison Physique bit Information Processing Time Inférieur ou égal à 2 Time Quanta Inférieur ou égal à Phase segment 1 + IPT 1 Time Quantum (fixe) 1 à 8 Time Quanta 1 à 8 Time Quanta 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

55 Resynchronisation bit
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 Du signal incident présent sur le bus Provenant par exemple d'un autre noeud Bus au repos, état récessif Etat dominant 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

56 Resynchronisation bit
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 RJW Synchro prévue Phase 1 Phase 2 Bit récessif e > 0 Point d'échantillonnage 1er cas S propagation Seg phase 1 Seg phase 2 Point d'échantillonnage Bit dominant e>RJW d'où le segment Phase 1 va se rallonger d'une quantité égale à RJW 2e cas S propagation Seg phase 1 Seg phase 2 RJW Bit dominant Point d'échantillonnage

57 Présentation du Composant CAN
Intel 82527 Présentation du Composant CAN

58 Les registres du 82527 Le 82527 Port 1 Port 2 Architecture du 82527
TX0 Architecture du 82527 intel adresse TX1 CPU Interface logic CAN Controller RX0 données RX1 RAM ClkOut CLK En CAN + Tx CAN - Rx

59 Les registres du 82527 255 registres 15 messages objets 00 Control 01
Status 02 CPU Interface 1 message parmi 15 70 Message 7 03 Reserve +00 Control 0 7F Reserve 04-05 High Speed +01 Control 1 80 Message 8 06-07 Global mask Std +02 Arbitration 0 8F Reserve 08-0B Global Mask Ext +03 Arbitration 1 90 Message 9 0C-0F Message 15 Mask +04 Arbitration 2 9F P1 configuration 10 Message 1 +05 Arbitration 3 A0 Message 10 1F ClkOut +06 Msg configuration AF P2 configuration 20 Message 2 +07 Data 0 B0 Message 11 2F Bus Configuration +08 Data 1 BF P1 In 30 Message 3 +09 Data 2 C0 Message 12 3F Bit Timing rgt 0 +0A Data 3 CF P2 In 40 Message 4 +0B Data 4 D0 Message 13 4F Bit Timing rgt 1 +0C Data 5 DF P1 Out 50 Message 5 +0D Data 6 E0 Message 14 5F Interrupt +0E Data 7 EF P2 Out 60 Message 6 F0 Message 15 6F Reserve FF Serial reset adr.

60 Les registres du 82527 Registre général CONTROL 00 CONTROL Application
Liaison Composant registres Physique Registre général CONTROL 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

61 Les registres du 82527 Registre général STATUS 01 STATUS Application
Liaison Composant registres Physique Registre général STATUS 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 Ack 4 Bit1 (R/D) 5 bit0 (D/R) 6 CRC 7 nc

62 Les registres du 82527 Registre général INTERFACE 02 INTERFACE
Application Les registres du 82527 Liaison Composant registres Physique Registre général INTERFACE 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

63 Les registres du 82527 Registre général Masque registre standard
Application Les registres du 82527 Liaison Composant registres Physique Registre général Masque registre standard 06-07 Global Mask – Standard register ID ID ID ID ID ID ID ID3 ID ID ID Réservé ID11-ID0 Masque standard CAN 2.0 A 06 07

64 Filtrage Message non retenu Message 15 Message 14 Message 13
Le bit est retenu pour la comparaison Le bit n’est pas significatif Message 9 Message 8 Message 7 Masque Global Message 6 Message 5 SOF Identifieur RTR Cde Message 4 Message 3 Exemple : Trame Masque accepté rejeté 1 1 1 1 1 1 1 1 1 Message 2 1 1 1 1 1 1 1 1 1 1 1 1 1 Message 1

65 Les registres du 82527 Registre général Masque registre étendu
Application Les registres du 82527 Liaison Composant registres Physique Registre général Masque registre étendu 08-0B Global Mask – Extended register ID ID ID ID ID ID ID ID21 ID ID ID ID ID ID ID ID13 ID ID ID ID ID ID ID ID5 ID ID ID ID ID Réservé ID28-ID0 Masque standard CAN 2.0 B sur 29 bits 08 09 0A 0B

66 Les registres du 82527 Registre général Masque registre 15
Application Les registres du 82527 Liaison Composant registres Physique Registre général Masque registre 15 0C-0F Message 15 Mask Register ID ID ID ID ID ID ID ID21 ID ID ID ID ID ID ID ID13 ID ID ID ID ID ID ID ID5 ID ID ID ID ID Réservé ID28-ID0 Masque standard CAN 2.0 B sur 29 bits 0C 0D 0E 0F

67 Les registres du 82527 Registre général CLKOUT 1F CLKOUT Application
Liaison Composant registres Physique Registre général CLKOUT 1F CLKOUT 0 0 SL1 SL0 CDv3 CDv2 CDv1 CDv0 SL0 selon Clkout 00>24MHz 01 de 16 à 24 MHz SL de 8 à 16MHz 11<8MHz CDV ClkOut division de XTAL de 0 à 15

68 Les registres du 82527 Registre général BUS CONFIGURATION
Application Les registres du 82527 Liaison Composant registres Physique Registre général BUS CONFIGURATION 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

69 Les registres du 82527 Registre général BIT TIMING
Application Les registres du 82527 Liaison Composant registres Physique Registre général BIT TIMING 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 tq TSEG2 1 à 7 tq Nominal Bit Time tSync Nominal Bit Time tSeg1 tSeg2 Seg Synchro Seg Propag. Seg Phase 1 Seg Phase 2 Point d'échantillonage 1 tq Time Quanta Point d'échantillonage

70 Les registres du 82527 Registre général INTERRUPTIONS 5F INTERRUPT
Application Les registres du 82527 Liaison Composant registres Physique Registre général INTERRUPTIONS 5F INTERRUPT Source Interrupt 0 : No 1 : Status 2 : Msg 15 3 à 10h : N° Msg+2 9F AF PORT CONF 1 OUT 0 IN BF CF PORT IN Lit le bit high 0 low DF EF PORT OUT Ecrit le bit 1 high 0 low

71 Application Les registres du 82527 Liaison Composant registres Physique Fréquence Bus CAN = XTAL frequency / [ (DSC+1) * (BRP+1) * (SJW + TSEG1 + TSEG2 )] Exemple : XTAL=16 MHz DSC=1 BRP=10 SJW=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=1 d’où tprop=2*tq maxi soit 1,25us Pour 1 MHz => 8MHz / 8 soit BRP=0 et DSC=1 et 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

72 Les registres du 82527 APPLICATION 15 messages objets identiques
Liaison Composant registres Physique APPLICATION 1 message parmi 15 15 messages objets identiques +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 +0A Data 3 +0B Data 4 +0C Data 5 Trame de données +0D Data 6 SOF Identifieur RTR Cde Données CRC Ack EOF +0E Data 7

73 Les registres du 82527 Registre Message CONTROL 0 +0 CONTROL 0
Application Les registres du 82527 Liaison Composant registres Physique Registre Message CONTROL 0 +0 CONTROL 0 MsgVal (2 bits) TxIE (2) RxIE (2) IntPd (2) MsgVal Message object valid for transactions TxIE Int allowed when succesfull transmission (IE must be set) RxIE «  «  «  «  reception (IE must be set) IntPnd Interrupt pending - The CPU must clear this bit MSB LSB Ecriture 0 0 Interdit Reset (0) 1 0 Set (1) Inchangé Lecture 0 1 Reset (0) Set (1) Plus facile pour changer certains bits sans altérer les autres

74 Les registres du 82527 Registre Message CONTROL 1 +1 CONTROL 1
Application Les registres du 82527 Liaison Composant registres Physique Registre Message CONTROL 1 +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= MsgVal = Direction=transmission 4 NewDat= 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 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. NewDat or CPU a écrit des nouvelles données ds le msg

75 Les registres du 82527 Registre Message Arbitration
Application Les registres du 82527 Liaison Composant registres Physique Registre Message Arbitration +02 à +05 Arbitration registers ID ID ID ID ID ID ID ID21 ID ID ID ID ID ID ID ID13 ID ID ID ID ID ID ID ID5 ID ID ID ID ID Réservé ou ID10-ID0 Masque standard CAN 2.0 A sur 11 bits ID28-ID0 Masque standard CAN 2.0 B sur 29 bits +02 +03 +04 +05 +02 ID ID ID ID ID ID ID ID3 ID ID ID Réservé Réservé +03 +04 +05

76 Les registres du 82527 Registre Message DONNEES + 07 à + 14 DATA
Application Les registres du 82527 Liaison Composant registres Physique Registre Message DONNEES + 07 à DATA Data 0 à +7 to Data 7 à +14 + 7 Data 0 + 8 Data 1 + 9 Data 2 + 10 Data 3 + 11 Data 4 + 12 Data 5 Registre Message configuration DLC + 13 Data 6 Data Length Code + 14 Data 7 SOF Identifieur RTR Cde Données CRC Ack EOF

77 Les registres du 82527 Registre Message CONFIGURATION
Application Les registres du 82527 Liaison Composant registres Physique Registre Message CONFIGURATION . +06 MESSAGE CONFIGURATION DLC (4 bits) Dir Xtd reseved (2 bits) DLC  Longueur du message Dir Direction : 1 When TxRqst is set -> transmission Direction : 0 When TxRqst is set -> Remote frame transmission Xtd Standard or Extended msg

78 Merci de votre attention
Fin de présentation Merci de votre attention Patrick MONASSIER Université Lyon 1 France


Télécharger ppt "CAN Controller Area Network"

Présentations similaires


Annonces Google