• STATISTIQUES
  • Il y a eu un total de 0 membres et 29673 visiteurs sur le site dans les dernières 24h pour un total de 29 673 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] HackQuest
    Logic: 12, JavaScript: 14, Applet: 6, CrackIt: 13, Crypto: 11, Internet: 3, Exploit: 7, Stegano: 12, Flash: 1, Programmi...
    Challenges
    [FR] Forum-Webmaster
    Une communauté webmaster pour apporter / recevoir de l'aide en création de site internet. Webmaster...
    Webmaster
    [EN] Bright Shadows
    JavaScript: 13, Exploit: 27, Crypto: 69, CrackIt: 52, Stegano: 67, Flash: 3, Programming: 16, Java-Applet: 10, Logic: 20...
    Challenges
    [EN] Gekko
    Site de challenge présenter sous la forme d'une quête. Vous êtes un agent secret qui répond sous le nom...
    Challenges
    [EN] Security Traps
    Site de challenge qui prétend être construit non pas dans le but de parfaire vos connaissances, mais plutôt dan...
    Challenges
    [FR] µContest
    µContest est un site de challenges de programmation, c'est à dire qu'il propose des épreu...
    Hacking
    [EN] Packet Storm
    Packet Storm est un site qui combine nouvelles de la sécurité informatique, téléchargemen...
    Vulnérabilités

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Bus CAN
01-04-2013, 11h15 (Modification du message : 01-04-2013, 11h25 par Hypnoze57.)
Message : #1
Hypnoze57 Hors ligne
Web Hacker
*



Messages : 98
Sujets : 13
Points: 28
Inscription : Feb 2012
Bus CAN
Bus CAN

[L'arrivée du bus CAN]

Le bus CAN (Controller Area Network) est né du besoin de trouver une solution de communication série dans les véhicules automobiles, qui ont tendance à intégrer de plus en plus de commandes électroniques.
Plus d'infos : http://www.vag.com.fr/canbus.htm


[Topologie du bus CAN]

CAN est un bus de données série bidirectionnel asynchrone (tout comme le bus I2C : http://n-pn.fr/forum/showthread.php?tid=2849)
Chaque équipement électrique connecté au bus est appelé un "noeud" et peut communiquer avec les autres.

[Image: 517px-CAN_Architecture.svg.png]


La longueur maximale du bus est déterminée par la vitesse utilisée.

Débit -> Longueur

1Mbit/s -> 40m
500Kbit/s -> 100m
100Kbit/s -> 500m
20Kbit/s -> 1000m

Avec le bus CAN, les noeuds ont les même droits (organes de commandes, capteurs ou actionneurs). Le protocole CAN de base permet d'échanger 2048 variables. Ce protocole ainsi que les paramètres électriques de la ligne de transmission, sont fixés par la norme 1189.

[Architecture matérielle du bus CAN]

Support:
Chaque noeud est connecté au bus par l'intermédiaire d'une paire torsadée (blindée ou non).
Les 2 extrémités du bus doivent être rebouclées par des résistances de 120 ohm.

[Image: 328px-CAN_Support.svg.png]


[Image: canschema.jpg]

[Principe de transmission]

Il n'y a pas de maître ni d'esclave, chaque noeud peut prendre la parole. Le protocole est basé sur le principe de diffusion en générale. Lors d'une transmission, aucune station n'est adressé en particulier, mais le contenue de chaque message (appelé identification) est reçu de façon égale par tous les abonnés.
Grâce à cet identificateur,les stations, qui sont en permanence à l'écoute du réseau, reconnaissent et traitent les messages s'ils sont concernés par ceux-ci; elles ignorent simplement les autres.

En version de base, l'identificateur est un nombre de 11 bits, ce qui permet de définir jusqu'à 2048 messages plus ou moins prioritaires sur le réseau.
Chaque message peut contenir jusqu'à 8 octets de données, ce qui correspond par exemple à l'état de 64 capteurs.


[Format des messages]

La norme can définit deux formats de protocole:
-Standard
-Extended

La différence résulte seulement dans la longueur de l'identificateur (ID) qui est de 11 bits en standard et 18 bits supplémentaire en mode extended.
Cette extension permet l'augmentation du nombre de variables échangées; et le nombre de stations (noeuds) sur le réseau. Le nombre d'octet de données échangées à chaque trame reste inchangé.

[Image: trame.gif]

Une trame est composée des champs suivants:

- bit SOF (Start Of Trame)
- zone d'arbitrage (11bits)
- bit RTR (Remote Transmission Request) : détermine s'il s'agit d'une trame de données ou d'une trame de demande de message.
- bit IDE qui établi la distinction entre format standard et format étendu.
- 1 bit réservé pour une utilisation future.
- 4 bits DLC : nombre d'octets contenus dans la zone de données.
- zone de données de longueur comprise entre 0 et 8 octets.
- zone CRC de 15 bits SadCyclic Redundancy Code) Ces bits sont recalculés à la réception et comparés aux bits reçus. S'il y a une différence, une erreur CRC est déclarée.
- zone ACK composé d'un bit à l'état récessif ainsi qu'un bit séparateur ACK. Le premier bit doit être forcé à l'état dominant par les stations ayant bien reçu cette trame.
- zone EOF de 7 bits: (End Of Frame) permet d'identifier la fin de la trame.

[Principe d'arbitrage]

Comment est résolu le problème lorsque plusieurs stations émettent en même temps un message ?
L'identificateur indique aussi la priorité du message, qui détermine l'assignation du bus lorsque plusieurs stations émettrices sont en concurrence.
Car, afin d'être traitées en temps réel, les données doivent être transmises rapidement. Cela suppose une voie physique de transmissions atteignant jusqu'à 1MBit/s ; mais encore une assignation rapide du bus dans les cas de conflits, lorsque plusieurs stations souhaitent transmettre simultanément des messages.

L'urgence des informations échangées sur le bus peut être très diverse : une valeur variant rapidement, comme l'état d'un capteur ou l'avertissement d'un moteur, doit être transmis plus souvent avec un retard moindre que les autres valeurs comme la température du moteur, qui évolue lentement.
Sur le réseau CAN, l'identificateur de chaque message, qui est un mot de 11 bits (format standard) ou de 29 bits (format étendu), détermine cette priorité. Les priorités sont attribuées lors de l'analyse conceptuelle du réseau, au moyen de valeur binaire, et ne peuvent donner lieu à aucune modification dynamique. Le procédé d'attribution du bus est basé sur le prinncipe de < l'arbitrage bit à bit >, selon lequel les noeuds en compétition, émettant simultanément sur le bus, comparent bit à bit l'identificateur de leur message avec celui des messages concurrents.
Les stations de priorité moins élevées perdrons la compétition face à celle qui a la priorité la plus élevé.

Les stations sont câblées sur le bus par le principe du "ET câblé" (en logique), en cas de conflit c'est à dire émission simultanée, la valeur 0 écrase la valeur 1.

[Image: 47388197v.png]

On appelle donc :
- état dominant l'état logique 0
- état récessif l'état logique 1.

Lors de l'arbitrage bit à bit, dès qu'une station émettrice se trouve en état récessif et détecte un état dominant, elle perd la compétition et arrête d'émettre.
Tous les perdants deviennent automatiquements des récepteurs du message, et ne tentent à nouveau d'émettre que lorsque le bus se libère.

Je ne vous ai pas parler de l'électronique du bus can mais pleins de cours existe sur le net et je risquerai de vous racontez plus de bêtises qu'autre chose x).

Cordialement, Hypnoze57
Make your own destiny now and forever !
+1 (3) -1 (0) Répondre


Messages dans ce sujet
Bus CAN - par Hypnoze57 - 01-04-2013, 11h15
RE: Bus CAN - par thxer - 01-04-2013, 11h31
RE: Bus CAN - par Swissky - 01-04-2013, 11h53
RE: Bus CAN - par Hypnoze57 - 01-04-2013, 12h00
RE: Bus CAN - par oosfalte - 01-04-2013, 20h15
RE: Bus CAN - par Polo - 06-04-2013, 19h23

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut