Skip to content
RFrftools.io
Comms

Calculateur de synchronisation des bits du bus CAN

Calculez les paramètres de synchronisation des bits du bus CAN, y compris le prescaler, les quanta temporels, les segments de synchronisation, les segments de propagation et les segments de mémoire tampon de phase pour un débit en bauds et un point d'échantillonnage donnés

Loading calculator...

Formule

tq=1/(fclk/BRP);NBT=SS+PROP+BS1+BS2tq = 1/(f_clk/BRP); NBT = SS + PROP + BS1 + BS2
tqQuantum temporel (ns)
BRPPrescaler le débit en bauds
NBTTemps binaire nominal en TQ (tq)
SSSegment de synchronisation (1 tq) (tq)
BS1Segment de tampon de phase 1 (tq)
BS2Segment de tampon de phase 2 (tq)

Comment ça marche

Ce calculateur détermine les paramètres de synchronisation des bits du bus CAN pour les réseaux automobiles et industriels. Les ingénieurs embarqués et les concepteurs de systèmes automobiles l'utilisent pour configurer les contrôleurs CAN conformément aux spécifications ISO 11898-1 (CAN 2.0) et ISO 11898-2 (couche physique à haut débit). Le temps binaire est divisé en 4 segments : Sync_Seg (toujours 1 TQ), Prop_Seg (1-8 TQ pour la compensation du retard de propagation), Phase_Seg1 (1-8 TQ) et Phase_Seg2 (1-8 TQ). Le point d'échantillonnage, où le niveau du bus est lu, doit être positionné entre 75 et 87,5 % du temps binaire conformément à la section 11.3.1.1 de la norme ISO 11898-1:2015 (Véhicules routiers — Réseau de zone de commande — Partie 1 : couche de liaison de données et signalisation physique) et à la norme ISO 11898-2:2016 (couche de fixation du support physique). La synchronisation CAN FD est spécifiée dans l'amendement 1 de la norme ISO 11898-1:2015. Pour un réseau de 500 kbit/s (le débit automobile le plus courant), le temps binaire est de 2 microsecondes. Avec une horloge de 80 MHz et 8 à 16 quanta de temps par bit, les valeurs de préscaler réalisables vont de 10 à 20. Le CAN FD étend les vitesses à 2 à 8 Mbit/s pendant la phase de données, ce qui nécessite des points d'échantillonnage de 70 à 80 % et une tolérance d'oscillateur plus stricte (0,1 % contre 0,5 % pour le CAN classique).

Exemple Résolu

Un module de commande de carrosserie automobile nécessite une communication CAN à 500 kbit/s à l'aide d'un microcontrôleur S32K144 avec une horloge CAN de 80 MHz. Selon les exigences de synchronisation ISO 11898-1 : temps binaire = 1/500000 = 2 microsecondes. Ciblez 16 TQ par bit pour un réglage précis. Quantum temporel = 2 us/16 = 125 ns. Prescaler = 80 MHz x 125 ns = 10. Allocation de segments pour un point d'échantillonnage de 87,5 % : Sync_Seg = 1 TQ, Prop_Seg = 5 TQ, Phase_Seg1 = 8 TQ, Phase_Seg2 = 2 TQ. Point d'échantillonnage = (1 + 5 + 8)/16 = 87,5 %. SJW (Synchronization Jump Width) = min (Phase_Seg1, Phase_Seg2, 4) = 2 TQ, permettant une resynchronisation de +/- 250 ns par bit. Cette configuration prend en charge les réseaux jusqu'à 100 mètres avec un délai de propagation de 5 ns/m.

Conseils Pratiques

  • Conformément à la norme ISO 11898-2, utiliser un point d'échantillonnage de 87,5 % pour les réseaux de moins de 40 mètres, réduire à 75 % pour les réseaux de 40 à 500 mètres afin de tenir compte du retard de propagation
  • Réglez SJW (Synchronization Jump Width) sur la valeur maximale autorisée (généralement 1 à 4 TQ) pour tolérer une dérive de l'oscillateur jusqu'à 1,58 % conformément à la spécification CAN Bosch
  • Pour le CAN FD à une phase de données de 2 Mbit/s, utilisez un délai de propagation de l'émetteur-récepteur inférieur à 150 ns (famille TJA1042) et maintenez la longueur des tronçons inférieure à 30 cm

Erreurs Fréquentes

  • Utilisation d'une synchronisation des bits non adaptée entre les nœuds : même une différence de 1 TQ entraîne une non-concordance des points d'échantillonnage, augmentant les trames d'erreur de 10 à 50 fois sur des longueurs de bus supérieures à 20 mètres
  • Régler le point d'échantillonnage au-dessus de 90 %, ce qui constitue une violation de la norme ISO 11898-1 et entraîne un taux d'erreur de 5 à 15 % sur les réseaux multi-nœuds en raison d'une phase de Phase_Seg2 insuffisante
  • Tolérance des oscillateurs négligée : les résonateurs céramiques (précision de 0,5 %) tombent en panne à des longueurs de câble supérieures à 50 mètres, tandis que les cristaux (20 ppm) supportent toute la plage de 1 km

Foire Aux Questions

La norme ISO 11898 définit des débits de 10 kbit/s à 1 Mbit/s. Le secteur automobile utilise 500 kbit/s (CAN du groupe motopropulseur) et 125 kbit/s (réseau CAN de la carrosserie). Les réseaux industriels utilisent 250 kbit/s (DeviceNet) et 125 kbit/s (CANopen). Le CAN FD étend la phase de données à 2 à 8 Mbit/s tandis que l'arbitrage reste à 500 kbit/s.
Le quantum temporel (TQ) est la plus petite unité de chronométrage, dérivée de l'horloge CAN via un prescaler : TQ = Prescaler/F_CAN. Chaque bit contient 8 à 25 TQ (généralement 16 pour un réglage optimal). Avec une horloge de 80 MHz, prescaler=10 donne TQ = 125 ns, soit 2 us de temps (500 kbps) avec 16 TQ.
Conformément à la norme ISO 11898-1, tous les nœuds doivent échantillonner le bus à des points cohérents pour lire la même valeur de bit. Un point d'échantillonnage à 87,5 % fournit une marge de 12,5 % pour la stabilisation du signal après propagation. Trop tôt (75 %) gaspille la marge ; trop tard (> 90 %), vous risquez d'échantillonner pendant la transition des bits, ce qui entraîne 100 % d'échecs d'arbitrage.

Shop Components

As an Amazon Associate we earn from qualifying purchases.

USB-UART Adapter

USB to serial adapter for protocol debugging and flashing

USB Logic Analyzer

8-channel USB logic analyzer for capturing digital bus traffic

Calculateurs associés