Sections de la documentation
Calculateur de synchronisation des bits du bus CAN
Slug can-bus-timing. 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
Entrées
Envoyez chacune de ces entrées dans inputs, dans les unités indiquées. La plupart sont obligatoires : un appel auquel il en manque une est refusé (400) et ne coûte rien ; une entrée dont le calculateur peut se passer prend la valeur par défaut indiquée. Une entrée hors de sa plage est tout de même calculée et signalée dans la provenance.
| Nom | Unité | Plage | Valeur par défaut | Description |
|---|---|---|---|---|
| clockFreqnombre | MHz | au moins 1 | 48 | Fréquence d'horloge périphérique du microcontrôleur alimentant le contrôleur CAN |
| baudRatenombre | kbps | au moins 1 | 500 | Débit en bauds visé sur le bus CAN |
| samplePointnombre | % | 50 … 95 | 87.5 | Position du point d'échantillonnage en pourcentage du temps de bit (CiA 601 recommande 75–87,5 %) |
| sjwnombre | tq | 1 … 4 | 1 | Jusqu'où une resynchronisation peut déplacer le point d'échantillonnage ; un saut plus large permet au bus d'accepter une horloge moins précise, dans la limite de la longueur de chacun des segments de phase |
Sorties
Renvoyées dans values, par nom. Une valeur non bornée ou non définie vaut null.
| Champ | Unité | Description |
|---|---|---|
| tq | ns | Quantum de temps (TQ) |
| nominalBitTime | tq | Temps de bit nominal |
| syncSeg | tq | Segment de synchronisation |
| propSeg | tq | Segment de propagation |
| phase1 | tq | Segment de phase 1 (BS1) |
| phase2 | tq | Segment de phase 2 (BS2) |
| prescalerprincipale | aucune | Prédiviseur |
| bitRateActual | kbps | Débit réel |
| bitRateError_pct | % | Erreur de débit |
| samplePointActual | % | Point d'échantillonnage réel |
| oscTolerance_pct | % | Tolérance d'horloge admissible |
Comment l'appeler
- Calculer : un appel, la requête et la réponse complètes, et ses erreurs.
- Calcul par lots : ce calculateur avec d'autres, ou un balayage, en une seule requête.
- Résoudre pour une valeur cible : la valeur d'une entrée qui amène une sortie à une cible.