Menu English Ukrainian Russe Accueil

Bibliothèque technique gratuite pour les amateurs et les professionnels Bibliothèque technique gratuite


ENCYCLOPÉDIE DE LA RADIOÉLECTRONIQUE ET DU GÉNIE ÉLECTRIQUE
Bibliothèque gratuite / Schémas des appareils radio-électroniques et électriques

Calcul de la synchronisation des bits du réseau CAN. Encyclopédie de l'électronique radio et de l'électrotechnique

Bibliothèque technique gratuite

Encyclopédie de l'électronique radio et de l'électrotechnique / Voiture. Appareils électroniques

Commentaires sur l'article Commentaires sur l'article

Lors de l'utilisation de l'interface CAN, un gros problème est lié au réglage de la vitesse de transmission et de réception des informations dans le module CAN du microcontrôleur. L'article décrit les principes généraux de cette installation selon la spécification Bosch. À titre d'exemple, les formules de base pour calculer les valeurs des paramètres écrits dans les registres de contrôle des modules CAN des microcontrôleurs ARM LPC23xx et STM32F103 sont données, et un programme développé par l'auteur qui aide à choisir la meilleure option est considéré.

L'interface CAN (Controller Area Network) a été lancée au milieu des années 80 du siècle dernier par la société allemande Robert Bosch Gmbh, qui l'a créée comme un moyen économique d'intégrer des contrôleurs qui contrôlent les systèmes du véhicule dans un réseau d'informations. Le fait est qu'à mesure que la technologie automobile s'améliorait, l'électronique qui contrôle le moteur, la boîte de vitesses et d'autres mécanismes s'améliorait également. Cela a conduit au fait que des dizaines de fils de capteurs et d'actionneurs, ainsi que des fils reliant différents blocs les uns aux autres, ont commencé à s'étirer vers chaque unité électronique de la voiture. Tout cela a non seulement alourdi la voiture, mais a également affecté sa fiabilité, sa sécurité et sa maintenabilité.

Au fur et à mesure que cette interface se répandait, des réseaux similaires ont commencé à être utilisés dans d'autres domaines, en particulier pour l'automatisation des processus technologiques. La haute fiabilité de la protection des informations contre la distorsion lors de travaux dans des conditions difficiles et un débit de transmission suffisamment élevé (jusqu'à 1 Mbps) ont permis d'utiliser cAn dans des endroits autres que son objectif initial. La fiabilité du réseau est assurée par la présence de mécanismes développés pour détecter et corriger les erreurs, l'auto-isolation des nœuds défectueux et l'insensibilité à un niveau élevé d'interférences électromagnétiques.

L'idéologie CAN est basée sur le modèle OSI / ISO à sept niveaux (en termes simples, il s'agit d'une division virtuelle des processus de transmission et de réception d'informations en sept niveaux). Cela n'a aucun sens de se plonger dans ce domaine, car il est largement couvert dans de nombreuses sources, par exemple, dans [1]. Actuellement, deux niveaux sont standardisés : physique (partiellement) et canal.

Le support de transmission physique n'est pas défini dans la spécification Bosch CAN, mais est généralement compris comme un réseau de type bus avec une couche physique sous la forme d'une paire de fils conformément à la norme ISO 11898. Les types de connexion et la vitesse de transmission ne sont pas actuellement normalisés, mais ils sont généralement spécifiés dans les spécifications des couches sus-jacentes.

Tous les nœuds du réseau sont connectés à deux fils de la ligne qui les relie (CAN_H et CAN_L) en parallèle. Aux extrémités de la ligne de communication, des terminaisons doivent être installées - des résistances d'une résistance de 120 ohms. En l'absence de transmission, la tension sur les deux fils par rapport à la carrosserie ou au fil commun de l'installation technologique est de 2,5 V. Une unité logique (selon la terminologie adoptée dans CAN, un bit avec une telle valeur est appelé récessif) correspond à un état du bus dans lequel le niveau de tension sur le fil CaN_H est supérieur à celui sur CAN_L. Zéro logique (un bit avec une telle valeur est appelé dominant) - vice versa. Lorsque plusieurs émetteurs fonctionnent simultanément, le bit récessif de la ligne est supprimé par le bit dominant.

On suppose que l'état passif du bus correspond au niveau de un logique. Il s'y trouve lorsqu'aucun message n'est transmis. La transmission des messages commence toujours par le bit dominant. Les fils de bus du module CAN de chaque nœud sont connectés à une puce spéciale - un pilote de bus qui remplit les fonctions d'un émetteur-récepteur. De plus, le pilote peut fournir des fonctionnalités supplémentaires :

- régulation de la vitesse de balayage du signal en modifiant le courant d'entrée ;
- protection des sorties de l'émetteur contre les dommages en cas d'éventuels courts-circuits des fils CAN_H et CAN_L avec les circuits de puissance utilisant l'unité de limitation de courant intégrée, ainsi que contre une augmentation à court terme de la tension sur ces fils ;
- protection thermique interne ;
- mode basse consommation, dans lequel le récepteur continue de signaler l'état du bus au contrôleur afin que lorsqu'il détecte son activité, il puisse transférer le conducteur en fonctionnement normal.

Le codage des informations à transmettre sur le bus s'effectue selon la méthode NRZ (Non Return to Zero). Il présente un inconvénient important: lors de la transmission d'une longue séquence d'unités, il s'avère qu'il n'y a pas de pause entre elles. Il en résulte que le récepteur ne peut pas faire la distinction entre une telle séquence et une pause entre les messages. Pour résoudre ce problème, le soi-disant bitstaffing (Bit Stuffing - bit stuffing) est utilisé. Elle consiste en ce qu'après cinq bits identiques transmis à la suite, un bit supplémentaire de valeur opposée est inséré dans leur flux. Le récepteur, ayant trouvé cinq bits identiques à la suite, supprime celui qui les suit, inséré lors de la transmission.

Deux types d'identifiants sont définis au niveau de la couche liaison : CAN standard (11 bits de long) et CAN étendu (29 bits). Ils définissent le format du message.

Parmi les niveaux supérieurs, on peut noter les spécifications CAL/CANopen, CAN Kingdom, DeviceNet et SDS (Smart Distributed System), plus de détails peuvent être trouvés sur Internet [2].

Par définition, un réseau CAN regroupe un nombre limité de contrôleurs localisés localement au sein d'une même installation, pièce ou plusieurs pièces voisines. Elle ne dépasse pas les frontières de l'objet technologique. L'idéologie du réseau est construite sur plusieurs points. Tout d'abord, le contrôleur émetteur écoute en permanence ses propres signaux transmis sur le réseau. Cela permet d'effectuer une vérification bit par bit de l'exactitude des informations transmises (contrôle des bits de contrôle) par plusieurs nœuds, contrairement, par exemple, aux réseaux Ethernet. Si le bit reçu par le contrôleur diffère du bit transmis par le contrôleur, la transmission s'arrête et une erreur de bit est générée.

Lors de la transmission d'un identifiant de message, ce mécanisme est utilisé pour résoudre les collisions, et lors de la transmission d'informations, son exactitude est vérifiée. Si une erreur y est détectée, l'émetteur interrompt son message et émet une trame d'erreur sur le bus pour informer les autres nœuds du réseau de cet événement. Pour accuser réception d'un message, la trame de données contient un champ ACK. Dans ce champ, chaque noeud ayant reçu le message transmis acquitte à sa source qu'il a bien été reçu. Un message non acquitté est renvoyé par l'émetteur jusqu'à ce qu'un acquittement soit reçu.

Tous les nœuds du réseau reçoivent les informations transmises, il est donc impossible d'envoyer un message à un nœud particulier. Mais si les contrôleurs modernes disposent d'outils de filtrage du trafic, ce n'est pas un gros problème.

Le réseau CAN est décentralisé. Cela peut être considéré comme un gros plus, si l'on s'écarte légèrement de l'idéologie habituelle, selon laquelle le réseau doit avoir un nœud maître qui le contrôle et des nœuds esclaves qui exécutent ses commandes. Dans un réseau décentralisé, les nœuds sont plus intelligents. Il continue de fonctionner si l'un d'entre eux tombe en panne.

Les informations sont transmises par des messages au format standard - Data Frame (transmission d'informations), Remote Transmission Request Frame ou simplement Remote Frame (demande d'informations), Error Frame (message d'erreur), Overload Frame (message de surcharge du contrôleur).

Les blocs de données les plus couramment utilisés. Leur format et leur contenu sont présentés dans le tableau. 1 pour standard et dans le tableau. 2 pour les cadres étendus. La trame de demande d'information diffère de la trame d'information (format standard ou étendu) uniquement en ce que le bit RTR est toujours récessif et qu'il n'y a pas de champ d'information.

Tableau 1

Champ Longueur, bit (octet) Valeur
Début de trame 1 Doit être dominant (0)
ID 11
Demande de transfert (RTR) 1 Doit être dominant (0)
Fonctionnalité d'extension d'identifiant (IDE) 1 Doit être dominant (0)
Réservé (rO) 1
Longueur du champ d'information (DLC) 4 Spécifié en octets
Champ d'information (0 - 8) Informations transmises
Somme de contrôle (CRC) 15 Calculé sur l'ensemble du cadre
Délimiteur de somme de contrôle 1 Doit être récessif (1)
Intervalle de confirmation (ACK) 1 L'émetteur envoie récessif (1), le récepteur insère dominant (0)
Délimiteur d'accusé de réception 1 Doit être récessif (1)
Fin de trame (EOF) 7 Doit être récessif (1)

Tableau 2

Champ Longueur, bit (octet) Valeur
Début de trame 1 Doit être dominant (0)
ID A 11 Première partie de l'identifiant
Usurpation de demande de transfert (SRR) 1 Doit être récessif (1)
Fonctionnalité d'extension d'identifiant (IDE) 1 Doit être récessif (1)
Identifiant B 18 La deuxième partie de l'identifiant
Demande de transfert (RTR) 1 Doit être dominant (0)
Réservé (r1 et r0) 2
Longueur du champ d'information (DLC) 4 Spécifié en octets
Champ d'information (0 - 8) Informations transmises
Somme de contrôle (CPS) de l'ensemble du cadre 15 Calculé sur l'ensemble du cadre
Délimiteur de somme de contrôle 1 Doit être récessif (1)
Confirmation (ACK) 1 L'émetteur envoie un récessif, le récepteur insère un dominant
Délimiteur d'accusé de réception 1 Doit être récessif (1)
Fin de trame (EOF) 7 Doit être récessif (1)

Une trame d'erreur se compose d'un champ d'indicateur d'erreur, qui contient six bits de la même valeur (et viole ainsi la règle de bitstaffing), et d'un champ de délimiteur d'erreur de huit bits récessifs. Sa transmission amène tous les nœuds du réseau à enregistrer une erreur de format et à transmettre automatiquement leurs trames d'erreur au réseau. Le résultat de ce processus est la retransmission automatique des informations vers le réseau par le nœud qui a transmis le message d'origine.

La trame de surcharge répète la structure et la logique de la trame d'erreur, mais est transmise par un nœud qui est actuellement incapable de traiter le message entrant et demande donc une retransmission. Actuellement, il n'est pratiquement pas utilisé.

Chaque nœud du réseau dispose d'un pilote de bus, d'un contrôleur CAN (qui est chargé d'interagir avec le réseau, de mettre en œuvre le protocole d'échange) et d'un microcontrôleur. Très souvent, un contrôleur CAN est associé à un microcontrôleur. Dans ce cas, deux microcircuits suffisent pour créer un nœud de réseau CAN - un microcontrôleur et un pilote de bus.

La synchronisation dans CAN est étroitement liée à la manière même dont les informations sont transmises sur le réseau. L'utilisateur a la possibilité de programmer le taux de transfert d'informations (de 1 Kbps à 1 Mbps), la position du point d'échantillonnage de bit (moment) dans son intervalle de transmission et le nombre d'échantillons de chaque bit. Grâce à cela, le réseau peut être optimisé pour une application spécifique. Mais cela crée aussi quelques problèmes.

Toute information transmise sur le bus série peut être divisée en bits élémentaires, le temps de transmission de ce bit élémentaire NBT (Nominal Bit Time) détermine le taux de transfert d'informations NBR (Nominal Bit Rate) - le nombre de bits transmis par seconde par un émetteur idéal sans restaurer les intervalles d'horloge :

NBR=1/NBT(1)

Comme le montre la fig. 1, l'intervalle NBT est divisé en plusieurs segments non superposés, dont chacun est constitué d'un nombre entier de segments temporels, appelés quanta temporels (TQ).


Fig. 1

Étant donné que le débit de transmission NBR pour tous les nœuds du réseau doit être le même, en utilisant la formule (1), ils trouvent généralement la valeur NBT requise, puis sélectionnent la durée de chacun des segments qui la composent :

NBT=TSynchronisationSeg + TPropSeg + TPS1 + TPS2(2)

où TSynchronisationSeg - durée du segment de synchronisation ; JPropSeg - durée du segment de propagation ; JPS1 - durée du segment de la phase 1 ; JPS2 - durée du segment de la phase 2.

Segment de chronométrage (SyncSeg) - premier dans l'ordre, utilisé pour synchroniser les nœuds sur le bus. L'arrivée de la différence de niveau initiale sera attendue au sein de ce segment. Sa durée est fixe et toujours égale à 1TQ.

Segment Distribution (PropSeg) sert à compenser les retards de signal physique entre les nœuds. Sa durée dépend du temps de propagation du signal du nœud émetteur au nœud récepteur et inversement, y compris les retards associés au pilote de bus. Il peut prendre des valeurs de 1TQ à 8TQ.

Segments de phases 1 et 2 (PS1 et PS2) sont utilisés pour compenser la distorsion de phase des chutes de bus. Pendant la synchronisation de récupération d'horloge, le récepteur peut soit allonger PS1, soit raccourcir PS2. Selon la spécification d'origine de Bosch, la durée de PS1 et PS2 peut aller de 1TQ à 8TQ, mais pour certains modules CAN, ces valeurs peuvent être différentes.

Entre les segments PS1 et PS2 se trouve un moment appelé point d'échantillonnage de bits. Il lit et interprète le niveau logique du signal. Dans certains contrôleurs CAN, il existe un mode de triple lecture du niveau de signal de chaque bit. Mais même dans ce cas, le point principal est considéré comme étant entre PS1 et PS2, et les deux autres contribuent à la décision correcte sur la valeur du bit selon le critère de majorité (deux ou trois échantillons de même niveau).

Comme mentionné ci-dessus, le temps nominal de transmission des bits est constitué d'un nombre entier de tranches temporelles TQ. La durée du quantum dépend de la fréquence du générateur d'horloge du module Fosc et son facteur de division par le prescaler BRP. Relations entre TQ, Fosc et BRP sont différents pour différents types de microcontrôleurs. Par exemple, pour MSR2510 la formule est valide

QT = 2 (BRP + 1)/Fosc . (3)

Pour les microcontrôleurs STM32F et LPC23xx, la formule ressemble à ceci :

QT = (BRP + 1)/Fosc . (4)

Lors du choix de la durée des segments, il est plus pratique d'utiliser des tranches de temps TQ, plutôt que des unités de temps standard. Ici et ci-dessous, nous désignerons le nom du segment (par exemple, PropSeg) et sa durée en quanta. Il y a plusieurs exigences à respecter :

PropSeg+PS1 ≥ PS2 ; (5)

PropSeg+PS1 ≥ Tsoutenir; (6)

PS2 > SJW. (7)

Tsoutenir dans l'inégalité (6) - délai de propagation du signal dans le réseau. En supposant que tous les nœuds du réseau ont des délais internes similaires, le délai de propagation peut être calculé à l'aide de la formule

Tsoutenir = 2 (Tbus + Tcmp + Tdrv), (sept)

où Tbus - temps d'aller-retour du signal dans l'environnement physique du bus ; Jcmp - retard dans le comparateur d'entrée ; Jdrv - retard dans le pilote de sortie.

SJW (Synchronization Jump Width - la largeur du saut de synchronisation) dans l'inégalité (7) - la durée du segment de transition de synchronisation, introduite en outre pour ajuster la durée de réception un peu si nécessaire. Utilisé pour synchroniser la réception avec les messages transmis. De plus, les interférences externes créent des situations où le débit de transmission nominal prévu dans le réseau ne correspond pas au débit réel. Ce segment supplémentaire sert également à compenser cette différence. La durée de SJW se situe entre 1TQ-4TQ.

Les segments PS1 et PS2, ainsi que le SJW, sont utilisés pour compenser la dérive de l'horloge du nœud. PS1 et PS2 peuvent être allongés ou raccourcis selon les besoins. La synchronisation se produit lors d'une transition d'un état de bus récessif (1) à un état de bus dominant (0) et contrôle la durée entre cette transition et le point d'échantillonnage du bit. Une transition est synchronisée si elle se produit dans un segment SyncSeg, sinon il y a une erreur de phase - l'intervalle de temps entre la transition et la fin du SyncSeg, mesuré en tranches de temps TQ.

Il existe deux types de synchronisation : matérielle et resynchronisation. Le matériel est exécuté une seule fois lors de la première transition de récessif à dominant, mettant fin à la période de repos du bus. Ce front indique le début de la trame (SOF - Start of Frame). La synchronisation matérielle réinitialise le compteur de synchronisation, ce qui fait que le front se situe dans le SyncSeg. À ce stade, tous les récepteurs sont synchronisés avec l'émetteur.

Le reclocking avec récupération d'horloge est effectué afin de maintenir l'horloge initiale qui a été définie par le matériel. Sans récupération d'horloge, les récepteurs peuvent se désynchroniser en raison de la dérive de la fréquence des générateurs d'horloge dans les nœuds du réseau. Cette synchronisation est basée sur la boucle à verrouillage de phase numérique (DPLL), qui compare la position réelle de la transition récessive à dominante sur le bus avec la position de la transition attendue dans le SyncSeg et ajuste la synchronisation des bits si nécessaire.

L'erreur de phase e est déterminée par la position du front par rapport au segment SyncSeg, mesurée en TQ :

e = 0 - la transition est à l'intérieur du segment SyncSeg ;

e > 0 - la transition est avant le point d'échantillonnage, des tranches de temps TQ sont ajoutées à PS1 ;

e < 0 - la transition est après le point d'échantillonnage du bit précédent, les tranches de temps TQ sont soustraites de PS2.

Le reclocking avec récupération d'horloge ne peut pas se produire au début d'une trame, car l'horloge matérielle y a déjà été exécutée.

Si la valeur absolue de l'erreur de phase est inférieure ou égale à SJW, le résultat du matériel et de la resynchronisation est le même. Si l'erreur de phase est supérieure à SJW, la resynchronisation ne peut pas complètement compenser l'erreur de phase.

Une seule synchronisation est autorisée entre deux points d'échantillonnage. Il maintient un intervalle défini entre la chute de niveau et le point d'échantillonnage, permettant au niveau du signal de se stabiliser et de filtrer les changements de signal qui sont plus courts que PropSeg + PS1.

La synchronisation est également liée à l'arbitrage. Tous les nœuds sont étroitement synchronisés avec celui qui a commencé à transmettre en premier. Mais le signal d'un autre nœud, qui a commencé la transmission un peu plus tard, ne peut pas être parfaitement synchronisé. Cependant, le premier émetteur ne gagnera pas nécessairement l'arbitrage, les récepteurs doivent donc se synchroniser non pas avec lui, mais avec celui qui l'a remporté. La même chose se produit dans le champ ACK, où il est nécessaire de se synchroniser avec le nœud qui a commencé le premier à transmettre le bit d'accusé de réception. Tout cela conduit à une diminution de la dérive mutuelle admissible de la fréquence des générateurs d'horloge installés dans les nœuds de bus.

Il existe plusieurs règles de synchronisation :

- seules les transitions de l'état récessif à l'état dominant (de un à zéro) sont utilisées ;

- une seule synchronisation est autorisée dans une transmission de bit ;

- la transition est utilisée pour la synchronisation, à condition que le niveau logique du signal lu au point d'échantillonnage précédent soit différent du niveau réglé sur le bus immédiatement après la transition ;

- le nœud émetteur ne restaure pas les intervalles d'horloge avec une erreur de phase positive (e > 0), c'est-à-dire qu'il ne s'ajuste pas à son propre message. Mais les récepteurs se synchronisent comme d'habitude ;

- si la valeur absolue de l'erreur de phase est supérieure au saut de phase SJW, alors la durée du segment de phase correspondant (PS1 ou PS2) est changée en une valeur égale à SJW.

Ce qui précède conduit au fait que la longueur physique du bus est limitée par la vitesse de transfert des informations à travers celui-ci. Tous les nœuds d'un bus doivent lire ses états dans le même intervalle de bits. En conséquence, il s'avère que le taux de transfert maximal de 1 Mbps n'est réalisable qu'avec une longueur de bus ne dépassant pas 30 m.

Considérez comment le contrôleur CAN est configuré dans des microcontrôleurs spécifiques.

Dans les microcontrôleurs de la famille LPC (par exemple, la série LPC23xx), les registres CANxBTR sont utilisés pour définir la vitesse de transmission sur le bus CAN, où x est le numéro du contrôleur CAN (il peut y en avoir 1 ou 2, dans certains cas - 4). Les paramètres suivants sont définis ici (les intervalles des numéros des bits de registre occupés par eux sont indiqués entre crochets):

BRP (CANxBTR[9:0]) - Valeur du prédiviseur de fréquence du bus APB pour son utilisation ultérieure par le contrôleur CAN. Ce paramètre détermine la durée du quantum de temps TQ, qui est déterminé par la formule (4) lorsque F y est substituéosc=1/TAPB, où TAPB - période de répétition des impulsions sur le bus système APB du microcontrôleur.

SJW (CANxBTR[15:14]) - la largeur de saut de synchronisation dans les quantums TQ est une de plus que la valeur spécifiée ici.

TSEG1 (CANxBTR[19:16]) et TSEG2 (CANxBTR[20:22]) - la durée des segments (respectivement PS1 et PS2) dans les quanta TQ est une de plus que les valeurs spécifiées ici.

SAM (CANxBTR[23]) - définit le nombre de lectures de la valeur de chaque bit : 0 - une fois, 1 - trois fois. Cette dernière option est généralement utilisée dans les réseaux à bas débit.

Lors du choix de ces options, vous devez être guidé par les règles suivantes :

TPS2 ≥ 2 QT (9)

TPS2 ≥TSJW (10)

TPS1 ≥TPS2 (11)

Les microcontrôleurs de la série STM32F ont un registre similaire appelé CAN_BTR. Il contient les champs suivants :

BRP (CAN_BTR[9:0]), TS1 (CAN_BTR[19:16]) et TS2 (CAN_BTR[22:20]) - coïncident dans leur objectif et leur emplacement dans le registre avec les champs BPR, TSEG1 et TSEG2 du registre CANxBTR discuté ci-dessus. Lors du calcul de la valeur de TQ, la formule (4) doit être remplacée par Fosc=1/TPCLK, où TPCLK - période de répétition des impulsions sur le bus VPB du microcontrôleur.

SJW (CAN_BTR[25:24]) - ne diffère du champ du registre CANxBTR du même nom que par les bits occupés dans le registre.

LBKM (CAN_BTR[30]) - un dans ce registre définit le mode de bouclage, dans lequel le message transmis est reçu par son propre récepteur, mais pas envoyé au réseau.

SILM (CAN_BTR[31]) - une unité dans ce registre définit le mode silencieux, dans lequel le contrôleur reçoit des messages provenant du réseau, mais ne transmet rien.

Les deux modes mentionnés sont utilisés pour le débogage.

Pour les microcontrôleurs considérés, la formule (2) est simplifiée du fait de l'absence de segments SyncSeg et PropSeg. Ils sont remplacés par un segment d'une durée de 1TQ. La formule pour eux ressemble à ceci:

NBT=TQ+TPS1 + TPS2 (12)

Le taux de transmission sur le bus CAN en bits par seconde est calculé dans le programme à l'aide de la formule

NBR = (F/(BRP + 1)) (1/(PS1 + PS2 +3)) (13)

où F est la fréquence du bus système APB ou VPB respectivement pour STM32F ou LPC23xx. Si le paramètre SJW est différent de zéro, le maximum

BRmax = (F/(BRP + 1)) (1/(PS1 + PS2 - SJW + 2)) (14)

et minimale

BRm. = (F/(BRP + 1)) (1/(PS1 + PS2 + SJW + 4)) (15)

valeurs de débit en bauds sur le bus CAN, dans l'intervalle entre lequel la synchronisation est fournie.

La fenêtre du programme CANTools est illustrée à la fig. 2. Les données initiales sont le type de microcontrôleur, le taux de transfert d'informations requis et la fréquence du bus système, à partir duquel le contrôleur CAN est cadencé. En commençant le calcul, vous devez tout d'abord choisir le type de microcontrôleur. Dans le programme à l'étude, il n'y a que deux options - LPC23xx ou STM32F103. Ensuite, définissez le débit de transmission requis sur le bus CAN en kilobits par seconde. Après cela, vous pouvez définir la fréquence du bus système en mégahertz. Il ne reste plus qu'à appuyer sur le bouton à l'écran "Calcul" et obtenir le résultat.


Fig. 2

Le programme fonctionne comme suit : la valeur BRP change dans un cycle de 0 à 512. La fréquence des tranches de temps et leur nombre contenu dans l'intervalle NBT sont calculés pour la fréquence du bus système, la valeur BRP et le débit de transmission donnés. Le nombre de quanta doit être un nombre entier et inférieur à 23 - la valeur maximale pouvant être écrite dans les registres du microcontrôleur. Parcourt ensuite les valeurs TSEG2 de 2 à 7 avec une diminution correspondante de la valeur de TSEG1. Leur somme reste constante.

L'écran affiche le taux de répétition quantique Fsc=1/TQ, en trait plein - la durée du quantum TQ, puis la valeur du champ BRP du registre correspondant. Ensuite, chaque paire de lignes décrit le résultat d'une des options de calcul.

Les paramètres TSEG1 et TSEG2 de la première ligne du couple correspondent aux champs de même nom du registre CANxBTR des microcontrôleurs LPC23xx ou aux champs TS1, TS2 du registre CAN_BTR du microcontrôleur STM32F103. Leur somme, la valeur de chacun des champs, ainsi que la valeur du champ SJW, s'il n'est pas nul, sont données. La dernière ligne affiche la valeur hexadécimale CANBTR, qui doit être écrite dans le registre CANxBTR ou CAN_BTR (selon le type de microcontrôleur) pour implémenter l'option calculée.

La deuxième ligne de la paire affiche les valeurs des taux de transfert d'informations maximum et minimum sur le bus CAN (si SJW > 0) et la position du point d'échantillonnage du bit par rapport au début de sa transmission en pourcentage de la durée de l'intervalle de transmission.

Pour certaines valeurs BRP, les résultats des calculs ne sont pas affichés. Cela signifie que le taux de répétition de la tranche de temps ou le taux de transmission sur le bus CAN, calculé par la formule (13), s'est avéré être exprimé sous la forme d'un nombre fractionnaire. Dans de tels cas, aucun calcul n'est effectué.

Le programme CANTools, automatisant le processus de calcul, ne donne pas de recommandations sur les combinaisons de paramètres les mieux utilisées dans une application réelle. Le développeur de réseau doit choisir la meilleure option parmi celles proposées, sur la base des connaissances et de l'expérience existantes. Pour ceux qui viennent de commencer à maîtriser CAN, l'auteur peut recommander de se laisser guider par la règle suivante: l'intervalle entre le début d'un bit et le point de son échantillonnage doit être compris entre 70 et 85% de la durée du bit . Peut-être devrez-vous en réalité essayer pratiquement plusieurs options parmi celles proposées par le programme.

Le programme CANTools peut être téléchargé à partir de ftp://ftp.radio.ru/pub/2014/01/can.zip.

littérature

  1. Modèle de réseau OSI.
  2. Réseau de zone de contrôleur.

Auteur : A. Abramovitch

Voir d'autres articles section Voiture. Appareils électroniques.

Lire et écrire utile commentaires sur cet article.

<< Retour

Dernières nouvelles de la science et de la technologie, nouvelle électronique :

Machine pour éclaircir les fleurs dans les jardins 02.05.2024

Dans l'agriculture moderne, les progrès technologiques se développent visant à accroître l'efficacité des processus d'entretien des plantes. La machine innovante d'éclaircissage des fleurs Florix a été présentée en Italie, conçue pour optimiser la phase de récolte. Cet outil est équipé de bras mobiles, lui permettant de s'adapter facilement aux besoins du jardin. L'opérateur peut régler la vitesse des fils fins en les contrôlant depuis la cabine du tracteur à l'aide d'un joystick. Cette approche augmente considérablement l'efficacité du processus d'éclaircissage des fleurs, offrant la possibilité d'un ajustement individuel aux conditions spécifiques du jardin, ainsi qu'à la variété et au type de fruits qui y sont cultivés. Après avoir testé la machine Florix pendant deux ans sur différents types de fruits, les résultats ont été très encourageants. Des agriculteurs comme Filiberto Montanari, qui utilise une machine Florix depuis plusieurs années, ont signalé une réduction significative du temps et du travail nécessaires pour éclaircir les fleurs. ...>>

Microscope infrarouge avancé 02.05.2024

Les microscopes jouent un rôle important dans la recherche scientifique, car ils permettent aux scientifiques d’explorer des structures et des processus invisibles à l’œil nu. Cependant, diverses méthodes de microscopie ont leurs limites, parmi lesquelles la limitation de la résolution lors de l’utilisation de la gamme infrarouge. Mais les dernières réalisations des chercheurs japonais de l'Université de Tokyo ouvrent de nouvelles perspectives pour l'étude du micromonde. Des scientifiques de l'Université de Tokyo ont dévoilé un nouveau microscope qui va révolutionner les capacités de la microscopie infrarouge. Cet instrument avancé vous permet de voir les structures internes des bactéries vivantes avec une clarté étonnante à l’échelle nanométrique. En général, les microscopes à infrarouge moyen sont limités par leur faible résolution, mais le dernier développement des chercheurs japonais surmonte ces limitations. Selon les scientifiques, le microscope développé permet de créer des images avec une résolution allant jusqu'à 120 nanomètres, soit 30 fois supérieure à la résolution des microscopes traditionnels. ...>>

Piège à air pour insectes 01.05.2024

L'agriculture est l'un des secteurs clés de l'économie et la lutte antiparasitaire fait partie intégrante de ce processus. Une équipe de scientifiques du Conseil indien de recherche agricole et de l'Institut central de recherche sur la pomme de terre (ICAR-CPRI), à Shimla, a mis au point une solution innovante à ce problème : un piège à air pour insectes alimenté par le vent. Cet appareil comble les lacunes des méthodes traditionnelles de lutte antiparasitaire en fournissant des données en temps réel sur la population d'insectes. Le piège est entièrement alimenté par l’énergie éolienne, ce qui en fait une solution respectueuse de l’environnement qui ne nécessite aucune énergie. Sa conception unique permet la surveillance des insectes nuisibles et utiles, fournissant ainsi un aperçu complet de la population dans n'importe quelle zone agricole. "En évaluant les ravageurs cibles au bon moment, nous pouvons prendre les mesures nécessaires pour lutter à la fois contre les ravageurs et les maladies", explique Kapil. ...>>

Nouvelles aléatoires de l'Archive

Plate-forme sans fil 6 Gbit/s 03.03.2016

Les réseaux cellulaires de cinquième génération seront hétérogènes. En pratique, cela signifiera que l'accès de l'abonné aux lignes de communication s'effectuera non seulement en se connectant aux stations de base des opérateurs de télécommunications, mais également en utilisant les réseaux radiofréquences locaux.

Ce sont les réseaux dits RAN, qui assureront une transmission de données à haut débit sans charger les stations de base. De tels réseaux de zone, par exemple, sont prévus pour être utilisés pour la gestion du trafic ou pour les vols de drones. Les réseaux RAN ciblent les ondes millimétriques à charge relativement faible.

Un groupe d'entreprises japonaises, dont l'Institut de technologie de Tokyo, Sony, Japan Radio et KDDI R&D Laboratories, a présenté une plate-forme complète pour l'organisation de réseaux RAN. Les développeurs ont créé une solution pour transférer des données vers un smartphone à des vitesses allant jusqu'à 6,1 Gbps. Un gigaoctet de données à cette vitesse sera transféré en moins de deux secondes.

Le réseau sera en duplex intégral à deux étages pour la transmission de données dans la bande 40 GHz et pour le fonctionnement des appareils clients dans la bande 60 GHz. Ainsi, le problème sous la forme d'une forte atténuation des ondes radio dans la gamme millimétrique sera éliminé et, en raison de la topologie particulière du réseau, la question d'assurer une quantité garantie de trafic en cas de précipitations, qui éteindra également le signal millimétrique , sera résolu.

Autres nouvelles intéressantes :

▪ Clavier à trois boutons

▪ Diagnostiquer un rhume avant l'apparition des symptômes

▪ Gardez vos pieds au chaud

▪ Plate-forme sans fil 6 Gbit/s

▪ Métal amélioré avec de la céramique

Fil d'actualité de la science et de la technologie, nouvelle électronique

 

Matériaux intéressants de la bibliothèque technique gratuite :

▪ section du site Faits intéressants. Sélection d'articles

▪ Article sur l'hélicoptère. Histoire de l'invention et de la production

▪ article Pourquoi les États-Unis ont-ils changé de geste en prononçant le serment d'allégeance au drapeau en 1942 ? Réponse détaillée

▪ article Egouttoir-verse de vernis et solvants. Instruction standard sur la protection du travail

▪ Article Antenne fouet à six bandes. Encyclopédie de l'électronique radio et de l'électrotechnique

▪ article Une montre qui disparaît dans une boîte. Concentration secrète

Laissez votre commentaire sur cet article :

Nom:


E-mail (facultatif) :


commenter:




Commentaires sur l'article :

Petrovich2015
Le circuit est bon, mais le diamètre du fil de l'enroulement secondaire du transformateur est discutable avec des transistors aussi puissants


Toutes les langues de cette page

Page principale | bibliothèque | Articles | Plan du site | Avis sur le site

www.diagramme.com.ua

www.diagramme.com.ua
2000-2024