• STATISTIQUES
  • Il y a eu un total de 1 membres et 12624 visiteurs sur le site dans les dernières 24h pour un total de 12 625 personnes!


    Membres: 2 433
    Discussions: 3 585
    Messages: 32 831
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] Le site du zero
    Découvrez gratuitement la programmation (C, C++, PHP, MySQL, XHTML, CSS...), Linux, le Mapping, la modé...
    Programmation
    [EN] Defcon
    Lancé en 1992 par Dark Tangent, DEFCON est la plus ancienne et la plus grande conférence underground de...
    Hacking
    [EN] Rosecode
    Programming: 36, Math: 29, Probability: 5, Sequence: 7, Crypto: 4, Brainf**k: 13, TimeRace: 4, Hack: 9
    Challenges
    [FR] Kalkulators
    Ce projet a plusieurs buts, le premier étant l’étude de toutes formes cryptographiques, le cot&ea...
    Cryptographie
    [FR] InfoMirmo
    Apprentissage de l'informatique par l'intermédiaire de challenges de sécurité. Venez app...
    Hacking
    [FR] Comment ca marche
     Gratuit et accessible à tous, ce site de communauté permet de se dépanner, se faire aider ...
    Webmaster
    [EN] Lost-chall
    Site de challenge présenté sous la forme de différente saison. Pour passer une saison vous devez avoir accumulÃ...
    Challenges

  • 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
01-04-2013, 11h31
Message : #2
thxer Hors ligne
:(){ :|:&amp; };:
*



Messages : 382
Sujets : 60
Points: 162
Inscription : Feb 2013
RE: Bus CAN
Génial ! Merci
Thxer.com
Twitter Thxer_

Code BASH :
echo "JkZ Palx" | sed 'y/lPZaJxk/MG3@tEH/'




+1 (0) -1 (0) Répondre
01-04-2013, 11h53
Message : #3
Swissky Absent
Bon membre
*



Messages : 523
Sujets : 32
Points: 96
Inscription : Apr 2012
RE: Bus CAN
Excellent tutoriel, tu nous fait le bus DMX maintenant ? Tongue
+1 (0) -1 (0) Répondre
01-04-2013, 12h00
Message : #4
Hypnoze57 Hors ligne
Web Hacker
*



Messages : 98
Sujets : 13
Points: 28
Inscription : Feb 2012
RE: Bus CAN
(01-04-2013, 11h53)Swissky a écrit : Excellent tutoriel, tu nous fait le bus DMX maintenant ? Tongue

Ah, je ne le connais pas encore celui ci :p
Make your own destiny now and forever !
+1 (0) -1 (0) Répondre
01-04-2013, 20h15
Message : #5
oosfalte Hors ligne
Flying Cloud
*



Messages : 47
Sujets : 3
Points: 8
Inscription : Jan 2013
RE: Bus CAN
Merci, intéressant et très bonnes explications !
Je découvre ...
+1 (0) -1 (0) Répondre
06-04-2013, 19h23
Message : #6
Polo Hors ligne
Benêt en chef
*



Messages : 110
Sujets : 4
Points: 25
Inscription : Mar 2013
RE: Bus CAN
Très intéressant et très instructif, bon boulot ! Smile
+1 (0) -1 (0) Répondre


Atteindre :


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