Telechargé par The Mirror Channel

Exercices CAN corr

publicité
2011-2012
Pierre-Louis CAYREL
www.cayrel.net
Feuille n∘ 2 corrigé
IUT de Saint-Etienne
d'après un cours de Thierry Vaira
Le bus CAN
Exercice 1
Compléter le diagramme suivant en respectant la méthode de BitStung.
Réponse
Exercice 2
Déterminer, pour les formats standard et étendu, les longueurs minimum et maximum en bits
d'une trame de données circulant sur le bus CAN en ne tenant pas compte du bitstung.
Réponse
CAN
CAN
CAN
CAN
2.0A Standard trame mini = 1 + 11 + 1 + 6 + 0 + 16 + 2 + 7 = 44 bits
2.0A Standard trame maxi = 1 + 11 + 1 + 6 + 64 + 16 + 2 + 7 = 108 bits
2.0B Etendu trame mini = 1 + 29 + 2 + 1 + 6 + 0 + 16 + 2 + 7 = 64 bits
2.0B Etendu trame maxi = 1 + 29 + 2 + 1 + 6 + 64 + 16 + 2 + 7 = 128 bits
Exercice 3
Déterminer le nombre de capteurs/actionneurs TOR (Tout Ou Rien) diérents qu'un noeud
peut gérer dans une seule trame de données.
Réponse
Capteur/Actionneur TOR = 1 bit et le champ de données d'une trame CAN peut contenir 64
bits soit l'état de 64 capteurs.
1
Exercice 4
Calculer alors le rendement du protocole CAN lorsqu'il émet une trame de données complète.
Réponse
64
𝐷𝑜𝑛𝑛𝑒𝑒𝑠 𝑢𝑡𝑖𝑙𝑒𝑠
=
= 59.25%
𝑇 𝑟𝑎𝑚𝑒 𝑠𝑡𝑎𝑛𝑑𝑎𝑟𝑑 𝑚𝑎𝑥𝑖
108
𝐷𝑜𝑛𝑛𝑒𝑒𝑠 𝑢𝑡𝑖𝑙𝑒𝑠
64
𝑅𝑒𝑛𝑑𝑒𝑚𝑒𝑛𝑡 =
=
= 50%
𝑇 𝑟𝑎𝑚𝑒 𝑒𝑡𝑒𝑛𝑑𝑢𝑒 𝑚𝑎𝑥𝑖
128
𝑅𝑒𝑛𝑑𝑒𝑚𝑒𝑛𝑡 =
Exercice 5
Pour comparaison, déterminer le rendement du protocole Ethernet pour la même situation.
Quel est alors le protocole le plus ecace pour ce type de situation (notion de bus de terrain
ou bus industriel) ?
Réponse
𝐷𝑜𝑛𝑛𝑒𝑒𝑠 𝑢𝑡𝑖𝑙𝑒𝑠
8
=
= 12, 5%
𝑇 𝑟𝑎𝑚𝑒 𝐸𝑡ℎ𝑒𝑟𝑛𝑒𝑡
64
Le protocole Ethernet n'est pas adapté pour transporter de petites quantités de données (caractéristique des bus de terrain).
𝑅𝑒𝑛𝑑𝑒𝑚𝑒𝑛𝑡 =
Exercice 6
Avec des trames de 60 bits en moyenne, déduire le nombre maximum de trames pouvant circuler
sur le bus en une seconde et ce pour le débit maximum (1 Mbits/s).
Réponse
𝑁 𝑏 𝑇 𝑟𝑎𝑚𝑒𝑠 =
106
𝐷𝑒𝑏𝑖𝑡𝑚𝑎𝑥
=
= 16666 𝑡𝑟𝑎𝑚𝑒𝑠/𝑠
𝑇 𝑎𝑖𝑙𝑙𝑒 𝑡𝑟𝑎𝑚𝑒 𝑚𝑜𝑦𝑒𝑛𝑛𝑒
60
Exercice 7
Dans le cas où il y a 4 noeuds identiques qui émettent et reçoivent 16 trames (de 60 bits en
moyenne) par secondes , déterminer le taux de charge maximum pour ce bus.
Réponse
𝑁 𝑏 𝑇 𝑟𝑎𝑚𝑒𝑠 = 4 × 16 𝑡𝑟𝑎𝑚𝑒𝑠/𝑠 = 64 𝑡𝑟𝑎𝑚𝑒𝑠/𝑠
𝑇 𝑎𝑢𝑥 =
64
× 100 = 0, 38%
16666
2
Exercice 8
Déterminer en théorie le nombre de messages qu'il est possible de dénir pour une trame
standard.
Réponse
𝑁 𝑏 𝑀 𝑒𝑠𝑠𝑎𝑔𝑒𝑠 = 211 = 2048 𝑚𝑒𝑠𝑠𝑎𝑔𝑒𝑠
Exercice 9
En tenant compte de ces particularités, déterminer réellement le nombre de messages qu'il est
possible de dénir pour une trame standard.
Réponse
𝑁 𝑏 𝑀 𝑒𝑠𝑠𝑎𝑔𝑒𝑠 = 211 − 24 = 2032 𝑚𝑒𝑠𝑠𝑎𝑔𝑒𝑠
Exercice 10
À partir de l'exemple précédent, attribuer les priorités pour les 3 stations.
Réponse
Un capteur de température relié sur la station 1 (+), le capteur d'antipatinage relié sur la
station 3 (++) et l'ABS relié sur la station 2 (+++)
Exercice 11
Compléter le troisième chronogramme (résultante sur le bus) et indiquer le noeud qui a réussi
à émettre sa trame.
Réponse
3
Exercice 12
Compléter la trame (jusqu'au champ CRC exclu) dans le cas où un noeud émet les données 'B'
(0x42) suivi de la valeur 6.
Réponse
Exercice 13
Réponse
Avec un identicateur identique pour les deux trames, l'arbitrage se fera sur le bit RTR et, on
aura la situation suivante :
trame de donnée : RTR = état dominant
trame de requête : RTR = état récessif
L'état dominant l'emportant sur l'état récessif, la trame de données sera donc prioritaire sur
une trame de requête.
Exercice 16
Réponse
Tous les noeuds disparaîtront tour à tour et, vous serez le seul noeud à vouloir continuer de
communiquer sur le réseau. Personne ne vous répondra ! Pas d'acquittement. Donc erreur, le
compteur d'erreurs s'incrémentera. Votre noeud nira par passer en bus o lui aussi. Le bus se
trouve momentanément bloqué car aucune station ne peut voir passer les fameuses 128 occurrences de 11 bits récessifs nécessaires à son réveil !
Exercice 17
Réponse
BTR0 = 0x43 = 0 1 0 0 0 0 1 1 BTR1 = 0x2F = 0 0 1 0 1 1 1 1
SJW = 1 et BRP = 3
SPL = 0 (1 point d'échantillonnage) TSEG1 = 2 et TSEG2 = 15
1
× (3 + 1) = 0, 5 × 10−6 𝑠
6
16 × 10
𝑡𝑆𝑌 𝑁 𝐶𝑆𝐸𝐺 = 0, 5 × 10−6 × 1 = 0, 5 × 10−6 𝑠
𝑡𝑞 = 2 ×
𝑡𝑇 𝑆𝐸𝐺2 = 0, 5 × 10−6 × (15 + 1) = 8 × 10−6 𝑠
𝑡𝑆𝐸𝐺1 = 0, 5 × 10−6 × (2 + 1) = 1, 5 × 10−6 𝑠
𝑁 𝐵𝑇 = 𝑡𝑆𝑌 𝑁 𝐶𝑆𝐸𝐺 + 𝑡𝑇 𝑆𝐸𝐺1 + 𝑡𝑇 𝑆𝐸𝐺2 = (0, 5 + 8 + 1, 5) × 10−6 = 10 × 10−6 𝑠
1
𝐷𝑏𝑖𝑡 =
𝑠 = 100000𝑏𝑖𝑡𝑠/𝑠 = 100𝐾𝑏𝑖𝑡𝑠/𝑠
10 × 10−6
4
Téléchargement