Lire une trame CAN à l’oscilloscope : dominant, récessif, niveaux
Le CAN n’est pas une abstraction logicielle : c’est une tension différentielle sur deux fils torsadés. Tant qu’on ne l’a pas vue bouger à l’écran, on diagnostique à l’aveugle. Le premier réflexe utile n’est pas de brancher la valise, c’est de poser deux voies de scope sur CAN H et CAN L et de regarder la forme.
Deux fils, deux niveaux, un différentiel
- Au repos (bit récessif, le « 1 »), les deux lignes sont polarisées ensemble autour de 2,5 V. CAN H et CAN L se superposent, le différentiel CAN H moins CAN L est proche de 0 V.
- Sur un bit dominant (le « 0 »), l’émetteur écarte les lignes : CAN H monte vers 3,5 V, CAN L descend vers 1,5 V. Le différentiel vaut environ 2 V.
- C’est ce différentiel qui porte l’information, pas la tension absolue. Le récepteur voit dominant au-delà de 0,9 V d’écart environ, récessif en dessous de 0,5 V. Toute la robustesse du bus tient dans cette soustraction : un parasite qui monte les deux fils ensemble ne change pas la différence.
Comment brancher et régler le scope
- Deux voies : une sur CAN H, une sur CAN L, masse d’oscillo sur la masse châssis. Calibre de l’ordre de 1 V/div, base de temps de quelques microsecondes par division pour un 500 kbit/s.
- Afficher les deux traces superposées : on voit CAN H et CAN L se croiser en miroir autour de 2,5 V à chaque bit dominant. C’est la signature visuelle d’un bus vivant.
- Mieux encore : utiliser la fonction maths A moins B pour tracer le différentiel. On obtient une trame propre entre 0 et 2 V, comme une image logique. La lecture d’un signal fin suppose qu’on maîtrise l’oscilloscope automobile : couplage, calibre, déclenchement.
Ce qu’une trame saine doit montrer
- Des fronts nets, francs, sans arrondi mou ni dépassement qui sonne.
- Un niveau récessif stable à 2,5 V et un dominant qui atteint bien 2 V de différentiel, sans s’affaisser sur les bits longs.
- Un rythme régulier, des bits de même largeur, et le retour propre au repos entre les trames. Le déclenchement sur front permet de figer une trame et de compter les bits.
Ce que l’œil repère avant le décodage
- Un différentiel qui plafonne à 1 V au lieu de 2 : ligne mal terminée ou transceiver faible.
- CAN H et CAN L qui ne sont plus en miroir : un des deux fils est tiré, coupé ou en court.
- Des fronts arrondis, une trame qui « sonne » (oscillation amortie après chaque front) : problème de terminaison ou de topologie.
- Un repos qui n’est pas à 2,5 V mais collé à 0 V ou à 5 V : alimentation ou masse du transceiver en cause.
Décoder, ensuite seulement
Une fois la forme validée, la plupart des scopes savent décoder le CAN et afficher identifiant, bits de contrôle, données et CRC sous la trace. Mais le décodage ne vaut que si la couche physique est saine : un bus qui affiche des erreurs de CRC intermittentes a presque toujours un défaut de forme d’onde en amont. On lit d’abord la tension, on décode après.
Sur un bus CAN, la panne se voit avant de se décoder : deux voies de scope et la fonction A moins B en disent plus long en trois secondes que dix minutes de lecture de codes.
Sur ANP Engineering — file service de reprogrammation moteur pour professionnels : file service ECU, correction de checksum, calculateurs pris en charge, tarifs.
