Présentation - PowerPoint PPT Presentation

pr sentation n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Présentation PowerPoint Presentation
Download Presentation
Présentation

play fullscreen
1 / 78
Présentation
137 Views
Download Presentation
shyla
Download Presentation

Présentation

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

  2. Historique du réseau CAN 1983 Début des développements de CAN chez Robert Bosch 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 1997 300 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. Applications Robitique Embarqué 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% Industrie Automobile Source VDMA

  4. 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. 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. 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 3 Microprocesseur Contrôleur réseau Interface réseau Ligne du réseau

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

  8. Application CAL Présentation DeviceNet Couche 7 - Application 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 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. Application Présentation Couche 2 - Liaison - LCC 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. Application Présentation Couche 2 – Liaison - MAC 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. Application Présentation Couche1 - Physique - PLS 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. Application Présentation Couche1 - Physique - PMA 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. Application Présentation Couche1 - Physique - MDI 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. 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 Microprocesseur Microprocesseur Intel 386 ex Présentation LLC Session MAC trame Contrôleur réseau Transport Contrôleur CAN Intel 82527 bit PLS Réseau Liaison PMA Interface réseau Driver de ligne Philips 82C250 Physique MDI Ligne du réseau

  17. Carte microprocesseur et controleur CAN Architectures 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é SLIO CAN Interface 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. Dans le milieu industriel, l’optocouplage et le filtrage sont nécessaires : CEM, Isolation galvanique , parasites…… etc Optocouplage Exemple de carte CAN optocouplée Microprocesseur Intel 386 ex Exemple de carte CAN Controleur CAN Intel 82527 Microprocesseur Intel 386 ex DC/DC Isolation galvanique Controleur CAN Intel 82527 Opto Opto optocouplage Driver de ligne Philips 80250 Driver de ligne Philips 80C250 Filtres de ligne filtrage Ligne du réseau Ligne du réseau = Opto Optocoupleur

  19. Le RESEAU CAN Les principes

  20. Application Méthode CSMA-CD/CA Liaison trame Les méthodes d’accès 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. Application Liaison Codage bit - principes 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 NRZ NRZ : Non Return to Zero NRZI : Non Return to Zero Inverted NRZI Manchester

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

  23. 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 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. 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. Application Liaison Codage bit - Bit stuffing Physique bit 0 0 0 0 0 0 0 1 0 NRZ Bit Stuffing 1 2 3 4 56 7 8 9 1 2 3 4 5 S 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.

  25. Application Liaison Codage bit - Arbitration 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. 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

  27. 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

  28. 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

  29. Application Liaison trame Principe de l’arbitrage 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. Application Liaison trame Principe de l’arbitrage Physique Rx: D Rx: R Rx: D Rx : R Tx: D Tx: R Tx: R Tx : D Transfert Transfert Perte d’arbitrage Erreur bit S R D R D D R D D D D ... 1 S R D R D D R D R R D ... 2 S R D R D D D D R D R R... 3 S R D R D D D D R D R R... Sur le bus gagne l’arbitrage 3

  31. Application Liaison trame Principe de l’arbitrage Physique 1 Il y a une notion de priorité entre trames, fonction de la valeur de l’identifieur associé. 2 1 est prioritaire sur 2 3 1 3 est prioritaire sur 1 et 2 2 2 est seule 2 t ou autre cas... 2 4 Exemple d’un réseau à 4 stations 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. Application Liaison Longueur du réseau Physique bit DébitDistance 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 10 100 1.000 10.000 mètres Longueur du réseau (mètres)

  33. Application Liaison Segment de propagation 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 t1 t2 Tprop >= [ 2 x (Tmed + Tsd + Ttx + Trx + Tqual ) ] Tprop >= [ 2 x ( Tmed + Telec ) ] Tprop >= [ 2 x Tres ] 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. 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

  36. 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) • InterTrames (Interframes)

  37. Application Liaison trame données Trame de 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. Application Liaison trame données 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 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 11 Identifieur CAN 2.0A 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 de l’identifieur Première partie de l’identifieur SRR

  39. Application Liaison trame données Trame de requête 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. Application Liaison trame erreur 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 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. Application Liaison trame surcharge 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 Champ de surcharge Intertrame Champ de surcharge Délimiteur du champ 6 bits D 7 bits R

  42. 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

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

  44. 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»

  45. 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

  46. 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.

  47. Application Liaison trame erreur Application des erreurs 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. 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

  49. Application Liaison erreurs Erreurs de confinement Physique Warning limit:96 Reset & configuration 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. 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