Bac SI (Sciences de l'Ingenieur) study materials
Bac SI (Sciences de l'Ingenieur) study resources

Bus CAN d'un banc d'essai : charge, latence et défauts de câblage

Bac SI (Sciences de l'Ingenieur) · Put your knowledge to work in context.

All case studies

Bus CAN d'un banc d'essai : charge, latence et défauts de câblage

Un banc d'essai de vérins électriques communique par un bus CAN 2.0A à 500 kbit/s. Le câble mesure 38 m et relie six nœuds : un automate maître, deux variateurs, deux capteurs de couple et un afficheur. Les trames périodiques sont : T1 (ID 0x050, 8 octets, 10 ms), T2 (ID 0x080, 8 octets, 10 ms), T3 (ID 0x100, 4 octets, 20 ms), T4 (ID 0x120, 8 octets, 20 ms), T5 (ID 0x200, 2 octets, 50 ms) et T6 (ID 0x300, 8 octets, 100 ms). On admet qu'une trame de 8 octets occupe 130 bits sur le bus, une trame de 4 octets 110 bits et une trame de 2 octets 90 bits, bourrage inclus. Les deux extrémités du câble sont terminées par 120 Ω. Un technicien a ajouté une dérivation de 12 m vers l'afficheur, non terminée, et a remplacé un terminateur par 220 Ω. Depuis, des trames d'erreur apparaissent surtout lorsque le variateur 2 démarre ; l'afficheur se met parfois à jour avec 300 ms de retard. Les paramètres de débit et de synchronisation des contrôleurs CAN n'ont pas été modifiés.

1. Calculer la charge du bus due aux seules trames périodiques et conclure sur la marge disponible.

Read the worked answer

Débit de chaque trame : T1 : 130 bits / 10 ms = 13 000 bit/s T2 : 130 / 10 ms = 13 000 bit/s T3 : 110 / 20 ms = 5 500 bit/s T4 : 130 / 20 ms = 6 500 bit/s T5 : 90 / 50 ms = 1 800 bit/s T6 : 130 / 100 ms = 1 300 bit/s Total = 41 100 bit/s. Charge = 41 100 / 500 000 = 8,22 %. La marge est très large : les trames périodiques ne saturent pas le bus. Les erreurs et le retard ne viennent donc pas de la charge périodique, mais probablement du câblage, des réflexions ou d'un trafic événementiel non décrit.

2. Estimer le temps de réponse au pire cas de la trame T2 (ID 0x080) et comparer à sa période. Le résultat explique-t-il un retard de 300 ms ?

Read the worked answer

Pour T2 (ID 0x080), la trame de plus forte priorité est T1 (ID 0x050). Le pire cas se produit si T1 et une trame de plus faible priorité sont déjà en attente. Une trame de plus faible priorité peut retarder T2 au maximum pendant sa propre durée (la plus longue, 130 bits). Ensuite T2 attend T1 (130 bits), puis se transmet (130 bits). Temps = (130 + 130 + 130) / 500 000 = 390 / 500 000 = 780 µs = 0,78 ms. La période de T2 est 10 ms : le pire cas consomme moins de 8 % de la période. Le temps de réponse du bus n'explique pas à lui seul un retard de 300 ms ; il faut plutôt chercher des erreurs, des retransmissions ou une attente dans l'afficheur.

3. Interpréter les erreurs et le retard à la lumière du câblage modifié, puis proposer une correction.

Read the worked answer

Le remplacement d'un terminateur de 120 Ω par 220 Ω donne une résistance de terminaison équivalente de 120 Ω en parallèle avec 220 Ω, soit environ 77 Ω au lieu de 60 Ω : adaptation imparfaite, réflexions. La dérivation non terminée de 12 m est très longue pour 500 kbit/s ; elle se comporte comme une ligne non adaptée et rayonne. Les erreurs au démarrage du variateur 2 suggèrent un couplage perturbateur et une mauvaise immunité différentielle. Contrôles : hors tension, mesurer la résistance entre CAN_H et CAN_L (environ 60 Ω), vérifier la continuité et l'absence de dérivation, restaurer deux 120 Ω, raccourcir la dérivation ou utiliser un répéteur, vérifier le blindage et la mise à la terre. Un retard de 300 ms de l'afficheur peut venir des retransmissions consécutives aux erreurs, pas de la charge périodique.