FR3076162A1 - Systeme de communication decentralise et procede de commande correspondant - Google Patents
Systeme de communication decentralise et procede de commande correspondant Download PDFInfo
- Publication number
- FR3076162A1 FR3076162A1 FR1763021A FR1763021A FR3076162A1 FR 3076162 A1 FR3076162 A1 FR 3076162A1 FR 1763021 A FR1763021 A FR 1763021A FR 1763021 A FR1763021 A FR 1763021A FR 3076162 A1 FR3076162 A1 FR 3076162A1
- Authority
- FR
- France
- Prior art keywords
- point
- module
- connection
- communication means
- predefined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000006854 communication Effects 0.000 title claims abstract description 223
- 238000004891 communication Methods 0.000 title claims abstract description 222
- 238000000034 method Methods 0.000 title claims description 23
- 230000015654 memory Effects 0.000 claims abstract description 15
- 238000001514 detection method Methods 0.000 claims description 49
- 230000005540 biological transmission Effects 0.000 claims description 43
- 230000004044 response Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000037213 diet Effects 0.000 description 1
- 235000005911 diet Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/413—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Selective Calling Equipment (AREA)
Abstract
Système de communication décentralisé comprenant au moins deux modules, chaque module étant connecté à au moins un module voisin par une connexion point à point (3a), tous les modules étant connectés entre eux par au moins une connexion série (3b), chaque module étant choisi parmi un module d'interface (2) ou un module de communication (4), un module d'interface (2) étant connecté à au moins une mémoire (5), un module de communication (4) étant connecté à au moins un dispositif (7), un dispositif (7) étant choisi parmi un actionneur, un capteur, un moyen de communication, une mémoire, une batterie, une alimentation ou un moyen de traitement de données.
Description
Système de communication décentralisé et procédé de commande correspondant. L’invention a pour domaine technique les bus de communication et plus précisément les bus de communication entre dispositifs électroniques.
Les systèmes complexes actuels impliquent de commander des dispositifs de type actionneur, capteur, émetteur, batterie, alimentation mémoire, ou calculateur, et de leur permettre de communiquer entre eux.
La densité de composants et les perturbations électromagnétiques générées par ces différents dispositifs rendent nécessaire l’utilisation d’un bus de communication résistant aux environnements bruités.
Les dispositifs permettant des réactions synchronisées et rapides des dispositifs rendent nécessaire l’utilisation d’un bus de communication à faible latence et résistant aux congestions. De même, la détection de défaillance est nécessaire afin de déterminer efficacement le disfonctionnement d’un dispositif parmi la multitude installée. L’économie d’énergie et la connexion/reconnexion à la volée de dispositifs requièrent du bus de communication des capacités de détection de topologie et d’adressage avancé permettant d’identifier et d’adresser chaque dispositif lors de sa connexion ou du rétablissement de son alimentation.
Afin de permettre un déploiement aisé, le bus de communication doit nécessiter peu de temps de calcul et présenter un encombrement limité.
Plusieurs bus de communication ont été développés au sein de différents milieux industriels afin de répondre à des besoins spécifiques de débit, de résistance aux pannes ou de latence.
De l’état de l’art, on connaît les bus de communication suivants.
Le bus I2C (acronyme anglophone pour « Inter-Integrated Circuits ») est un bus série synchrone bidirectionnel half-duplex, reposant sur deux conducteurs. C’est un bus léger dédié à l’électronique, de structure maître-esclave et pouvant présenter plusieurs maîtres sur un même bus. Il a pour principal inconvénient de disposer d’une faible vitesse de communication et de ne pas être immunisé contre les perturbations électromagnétiques. Ce bus ne permet pas de réaliser une attribution automatique d’adresse ou de détecter la topologie du réseau.
Le bus CAN (acronyme anglophone pour « Controller Area Network ») est un bus série bidirectionnel half-duplex, développé par et pour l’industrie automobile, très immunisé au bruit et fiable et reposant sur deux conducteurs torsadés. Ce bus présente une faible vitesse de communication associé toutefois à une faible latence. Il est sujet à des congestions en cas d’erreur afin de détecter et isoler l’anomalie. Ce bus ne permet pas la détection de topologie.
Le bus Ethercat (acronyme anglophone pour « Ethernet for Control Automation Technology) est un bus de communication pour l’automatisation des installations industrielles, basé sur une couche de type Ethernet. Ce bus permet une très grande vitesse de communication associée à une faible latence tout étant bien immunisé contre le bruit. Il permet également la détection de topologie, limitée cependant à une topologie en étoile. Ses principaux inconvénients sont une mise en oeuvre très coûteuse ainsi qu’une utilisation complexe.
Il apparaît ainsi qu’aucun de ces bus ne permet de disposer de capacités de communication telles qu’identifiées en introduction. L’invention a pour objet un système de communication décentralisé comprenant au moins deux modules, chaque module étant connecté à au moins un module voisin par une connexion point à point, tous les modules étant connectés entre eux par au moins une connexion série, chaque module étant choisi parmi au moins un module d’interface ou un module de communication, un module d’interface étant connecté à au moins une mémoire, un module de communication étant connecté à au moins un dispositif, un dispositif étant choisi parmi au moins un actionneur, un capteur, un moyen de communication, une mémoire, une batterie, une alimentation ou un moyen de traitement de données.
Chaque module peut comprendre au moins deux premiers moyens de communication capables chacun d’être connecté à une connexion point à point et au moins un moyen de communication série connecté à une connexion série, les moyens de communication étant connectés à au moins un moyen de traitement de données.
Un module peut être un module de coordination ou de commutation configuré pour connecter en parallèle au moins trois modules, chaque module étant connecté par une connexion point à point et une connexion série, le module de coordination étant configuré pour retransmettre des valeurs prédéfinies reçues sur une connexion point à point en fonction de règles prédéfinies, le module de commutation étant configuré pour retransmettre des messages reçus sur une connexion série vers au moins une autre connexion série et des valeurs prédéfinies reçues sur une connexion point à point vers au moins une autre connexion point à point en fonction de règles prédéfinies. L’invention a également pour objet un procédé de commande d’un système de communication décentralisé selon l’une quelconque des revendications précédentes, dans lequel le système de communication comprend un premier module et au moins un deuxième module connecté au premier module, on réalise une transmission d’au moins un message comprenant un préambule et un entête entre au moins deux modules du système de communication en réalisant les étapes suivantes : on commande le moyen de communication série du premier module de sorte à en activer le mode d’émission tout en conservant le mode de réception activé, on commande le premier module de sorte à émettre le préambule et au moins une partie de l’entête par la connexion série, on commande le moyen de communication série de chaque deuxième module de sorte à interdire le mode d’émission dès la lecture d’au moins une partie de l’entête, on détermine si un autre message est émis dans un intervalle de temps compris entre le début de l’émission du préambule et la fin de l’émission de l’entête, si tel est le cas, on considère que le message ne doit pas être lu et doit être réémis, si tel n’est pas le cas, on commande le premier module de sorte à émettre le reste du message par la connexion série, lorsque la totalité du message est transmise, on commande le moyen de communication série du premier module de sorte à en activer le mode de réception et à en désactiver le mode d’émission et on commande le moyen de communication série de chaque deuxième module de sorte à en annuler l’interdiction du mode d’émission.
Un message peut comprendre également au moins un parmi des données et une valeur de contrôle d’erreur.
On peut réaliser une détection de voisin de proche en proche afin de découvrir au moins un deuxième module connecté directement ou indirectement à un premier module et on peut attribuer au moins une adresse de routage à chaque deuxième module connecté directement ou indirectement au premier module, en réalisant les étapes suivantes : on attribue une première adresse de routage au premier module, puis pour chaque connexion point à point connectée au premier module, on réalise les étapes suivantes : on commande chaque module connecté directement ou indirectement au premier module, l’un après l’autre, de sorte qu’il réalise au moins une détection de voisin par l’intermédiaire de la connexion série et d’une connexion point à point, à chaque détection d’un voisin, on commande le module voisin détecté de sorte qu’il confirme sa présence au premier module par les connexions point à point, on commande le premier module de sorte qu’il émette au moins une nouvelle adresse de routage par la connexion série, on commande le module voisin de sorte qu’il enregistre la au moins une nouvelle adresse de routage, et on commande le module voisin de sorte qu’il réalise à son tour une détection de voisin, on arrête la détection de voisins lorsque aucun des modules connectés directement ou indirectement ne détecte de nouveau voisin.
On peut réaliser une détection de voisin de proche en proche afin de découvrir au moins un deuxième module connecté directement ou indirectement à un premier module, en réalisant les étapes suivantes : pour chaque connexion point à point connectée au premier module, on réalise les étapes suivantes : on commande chaque module connecté directement ou indirectement, au premier module, l’un après l’autre, de sorte qu’il réalise au moins une détection de voisin par l’intermédiaire de la connexion série et d’une connexion point à point, à chaque détection d’un voisin, on commande le module voisin détecté de sorte qu’il confirme sa présence au premier module par les connexions point à point, et on commande le module voisin de sorte qu’il réalise à son tour une détection de voisin, on arrête la détection de voisins lorsque aucun des modules connectés directement ou indirectement ne détecte de nouveau voisin.
Lorsqu’un module est connecté à au moins deux dispositifs, on peut répéter l’étape de découverte de voisin pour chaque dispositif connecté au module.
Pour réaliser une détection de voisin par un module ayant reçu une première valeur prédéterminée par un premier moyen de communication point à point, on peut réaliser les étapes suivantes : on commande l’émission d’une première valeur prédéfinie par le deuxième moyen de communication point à point du module sur la connexion point à point, on détermine si le module reçoit une valeur prédéfinie en retour par le deuxième moyen de communication point à point, pendant une durée prédéterminée débutant à l’instant d’émission de la première valeur prédéfinie par le deuxième moyen de communication point à point, si tel est le cas et que la valeur prédéfinie est égale à la première valeur prédéfinie, on considère qu’un module voisin est connecté à l’autre extrémité de la connexion point à point connectée au module, si tel n’est pas le cas, on considère qu’aucun deuxième module n’est connecté à l’autre extrémité de la connexion point à point connectée au deuxième moyen de communication point à point du module, et on émet une deuxième valeur prédéfinie par le premier moyen de communication point à point.
Pour confirmer sa présence au premier module, un module peut transmettre une première valeur prédéfinie par son premier moyen de communication point à point, la première valeur prédéfinie étant retransmise de proche en proche par l’intermédiaire des modules et des connexions point à point jusqu’au premier module.
Un module étant connecté à une première connexion point à point et à une deuxième connexion point à point, lorsque le module a émis une première valeur par la première connexion point à point dans une durée prédéfinie, que le module reçoit une première valeur prédéfinie par la deuxième connexion point à point dans la durée prédéfinie, il peut retransmettre la première valeur prédéfinie par la première connexion point à point.
Un module étant connecté à une première connexion point à point et à une deuxième connexion point à point, lorsque le module a émis une première valeur par la première connexion point à point dans une durée prédéfinie, que le module reçoit une deuxième valeur prédéfinie par la deuxième connexion point à point dans la durée prédéfinie, il peut retransmettre la deuxième valeur prédéfinie par la première connexion point à point.
Lorsque le module est un module de coordination ou de commutation, comprenant un premier moyen de communication point à point et au moins deux deuxièmes premiers moyens de communication, on peut commander le module de communication ou de coordination de sorte à procéder à une attribution d’adresse de routage et de détection de voisin pour chaque deuxième moyen de communication point à point, le module de coordination ou de commutation changeant de deuxième moyen de communication point à point à réception d’une deuxième valeur prédéfinie par le deuxième moyen de communication point à point, et, lorsque le module de coordination ou de commutation a reçu une deuxième valeur prédéfinie sur chacun de ses deuxièmes premiers moyens de communication, il peut transmettre la deuxième valeur prédéfinie par son premier moyen de communication point à point.
On peut déterminer qu’aucun des modules connectés directement ou indirectement au premier module ne détecte de nouveau voisin, lorsque le premier module reçoit une deuxième valeur prédéfinie par la connexion point à point par laquelle il a émis la première valeur prédéfinie.
Lorsque l’on a commandé une détection de voisins et un adressage des modules découverts par un premier module, puis, lorsque l’on a commandé une détection ultérieure de voisins par le premier module, on peut comparer le dernier module découvert lors de détection ultérieure de voisins avec le dernier module découvert lors de la une détection initiale de voisins et de l’adressage des modules, on peut déterminer alors si le dernier module découvert lors de la détection ultérieure de voisins est différent du dernier module découvert lors de la détection initiale de voisins et de l’adressage des modules. D’autres buts, caractéristiques et avantages de l’invention apparaîtront à la lecture de la description suivante, donnée uniquement à titre d’exemple non limitatif et faite en référence aux dessins annexés sur lesquels : - la figure 1 illustre le système de communication décentralisé selon un premier mode de réalisation, et - la figure 2 illustre le système de communication décentralisé selon un deuxième mode de réalisation.
Le système de communication décentralisé comprend au moins deux modules choisis chacun parmi un module d’interface, un module de communication, un module de coordination et un module de commutation, connectés en réseau.
Le système de communication décentralisé est commandé par un procédé de communication décentralisé assurant la communication de messages entre les modules selon différents modes de communication, la découverte des modules connectés, et l’attribution d’adresses de routage à chaque module découvert.
Sur la figure 1, on peut voir le système de communication décentralisé 1 comprenant un module d’interface 2 connecté à un module de communication 4 par une connexion point à point PTP (acronyme anglophone pour « Point to Point ») référencée 3a et par une connexion série 3b, le module de communication 4 étant connecté par ailleurs directement ou indirectement à au moins un dispositif 7 d’un système complexe, notamment d’un robot.
Le module d’interface 2 est connecté par ailleurs directement ou indirectement à au moins une mémoire 5 comprenant des instructions ou données échangées avec au moins un des modules connectés.
Le module d’interface 2 comprend un moyen de traitement de données 2a, tel qu’un microcontrôleur, configuré pour interagir avec deux premiers moyens de communication 2b,2e, un moyen de communication série 2c, et au moins un troisième moyen de communication 2d.
Les deux premiers moyen de communication 2b,2e sont capables d’être connecté chacun à une connexion point à point. Sur la figure 1, un seul moyen de communication point à point, référencé 2b, est connecté à une connexion point à point 3a.
Le moyen de communication série 2c est connecté à la connexion série 3b.
Les premiers et deuxième moyens de communication 2b, 2c permettent l’échange de données entre le module d’interface 2 et, respectivement, un moyen de communication point à point 4b et un moyen de communication série 4c du module de communication 4.
Le moyen de communication série 2c comprend un mode d’émission et un mode de réception indépendants. Ainsi chaque mode peut être activé ou désactivé indépendamment de l’état d’activation de l’autre mode.
Un troisième moyen de communication 2d permet l’échange de données entre le module d’interface 2 et la au moins une mémoire 5 par l’intermédiaire d’une connexion 6 d’un premier type, notamment ethernet, wifi ou bluetooth, et éventuellement par l’intermédiaire d’un serveur distant.
Le moyen de traitement de données 2a comprend un microprocesseur ou microcontrôleur ainsi qu’éventuellement au moins une mémoire.
Le moyen de traitement des données 2a peut être configuré pour commander la transmission, avec ou sans traitement préalable, de tout ou partie des données reçues des premiers et deuxième moyens de communication 2b,2c,2e par l’intermédiaire du troisième moyen de communication 2d à destination de la mémoire 5.
Le moyen de traitement des données 2a peut être configuré pour commander la réception de données par le troisième moyen de communication 2d, les traiter en fonction de données reçues de la connexion point à point 3a et de la connexion série 3b par l’intermédiaire des premiers et deuxième moyens de communication 2b,2c,2e.
Le moyen de traitement des données 2a peut également être configuré pour commander la transmission, avec ou sans traitement préalable, de tout ou partie des données reçues du troisième moyen de communication 2d par l’intermédiaire des premiers et deuxième moyens de communication 2b,2c,2e à destination du module de communication 4. L’homme du métier comprendra que le moyen de traitement des données comprend tout ou partie des caractéristiques décrites ci-dessus, les dites caractéristiques étant activées ou désactivées en fonction des instructions ou des résultats de traitements des données reçues.
La connexion point à point 3a comprend au moins un fil. Dans un mode de réalisation, la connexion point à point peut être protégée contre le bruit en employant un signal différentiel ou à validation.
Le signal différentiel implique une différence de signaux entre au moins deux fils de la connexion point à point 3a.
Le signal à validation comprend à la fois un signal envoyé par au moins un fil de la connexion point à point 3a et un signal validant transmis par la connexion série 3b. Le signal envoyé sur la connexion point à point 3a n’est validé que lorsque le signal validant est reçu simultanément ou dans une durée prédéterminée par rapport à l’instant de réception du message sur la connexion point à point 3a.
La connexion série 3b comprend également au moins un fil. Dans un autre mode de réalisation, la connexion série peut comprendre au moins une paire de fils torsadés, notamment de type RS485. Dans un mode de réalisation particulier, deux fils d’alimentation électrique peuvent être disposés en parallèle de la connexion série 3b afin d’alimenter de façon centralisée les différents modules connectés.
Par fil, on entend aussi bien une connexion avec un connecteur physique qu’une connexion intégrée au sein d’un circuit imprimé ou intégré. Il peut également s’agir d’une connexion logicielle entre des modules logiciels.
Comme on peut le voir sur la figure 1, un module de communication 4 présente une structure similaire à celle du module d’interface 2.
Le module de communication 4 comprend un moyen de traitement de données 4a, tel qu’un microcontrôleur, configuré pour interagir avec des moyens de communication 4b,4c,4d,4e.
Le moyen de traitement de données 4a comprend un microprocesseur ou microcontrôleur ainsi qu’éventuellement au moins une mémoire.
Le module de communication 4 comprend deux premiers moyens de communication 4b,4e capables d’être connectés chacun à une connexion point à point et un moyen de communication série 4c connecté à la connexion série 3b.
Le moyen de communication point à point 4b est connecté à la connexion point à point 3a.
Le moyen de communication point à point 4b et le moyen de communication série 4c permettent l’échange de données entre le module de communication 4 et le module d’interface 2 par rintermédiaire respectivement de la connexion point à point 3a et de la connexion série 3b.
Le moyen de communication série 4c comprend un mode d’émission et un mode de réception indépendants. Ainsi chaque mode peut être activé ou désactivé indépendamment de l’état d’activation de l’autre mode.
Le module de communication 4 comprend au moins un troisième moyen de communication 4d configuré pour échanger des données avec un dispositif 7. Le module de communication 4 peut ainsi échanger des données avec plusieurs dispositifs 7. Dans un tel cas, le moyen de traitement des données 4a peut être configuré pour recevoir des données d’un premier dispositif et les transférer, avec ou sans traitement, à destination d’un deuxième dispositif, les premier et deuxième dispositifs étant connectés au module de communication 4.
Le moyen de traitement des données 4a peut également être configuré pour commander la transmission, avec ou sans traitement préalable, de tout ou partie des données reçues du troisième moyen de communication 4d par l’intermédiaire des premier et deuxième moyens de communication 4b,4c,4e à destination du module de communication 4.
Le moyen de traitement des données 4a peut également être configuré pour commander la transmission, avec ou sans traitement préalable, de tout ou partie des données reçues des premier et deuxième moyens de communication 4b,4c,4e par l’intermédiaire du troisième moyen de communication 4d à destination des dispositifs 7 connectés au module de communication 4.
Sur la figure 2, on peut voir le système de communication décentralisé 1 selon l’invention comprenant un plus grand nombre de modules. L’homme du métier comprendra aisément que le nombre de modules du système de communication décentralisé 1 est adapté à la taille et aux fonctions du système complexe. Il en découle que l’architecture présentée sur la figure 2 n’est qu’un exemple d’architecture et que d’autres architectures et agencements de modules sont possibles et dans la portée de la présente description.
Chaque module de communication 40,41,42,43,44 comprend une structure similaire à celle du module de communication 4 illustré sur la figure 1. Ils comprennent au moins un moyen de traitement des données connecté à deux premiers moyens de communication capable chacun d’être connecté à une connexion point à point et à un moyen de communication série connecté à la connexion série. Chaque module de communication 40,41,42,43,44 comprend également au moins un troisième moyen de communication connecté à un dispositif. Dans un souci de clarté, les premiers, deuxièmes et troisièmes moyens de communication ainsi que les dispositifs ne sont pas illustrés sur la figure 2.
Par ailleurs, les connexions point à point 3 la,32a,33a,34a,35a,36a et les connexion séries 3 lb,32b,33b,34b comprennent chacune une structure similaire respectivement à celles des connexions point à point 3a et série 3b de la figure 1.
Toutefois, certaines configurations de dispositifs peuvent requérir une configuration parallèle, également appelée configuration en étoile. Pour réaliser cela, on a recours à un module de coordination. Sur la figure 2, on peut voir un tel module de coordination référencé 8 configuré pour connecter en parallèle plusieurs modules de communication 40,41,42,43,44.
Un tel module de coordination 8 comprend un moyen de traitement des données, au moins trois premiers moyens de communication et un deuxième moyen de communication. Il diffère des modules de communication et d’interface de par le fait qu’il n’est pas connecté à un dispositif ou à une mémoire.
Sur la figure 2, on peut voir également que le module de coordination 8 est connecté au module d’interface 2 par la connexion série 31b. La connexion série 31b se propage aux modules connectés derrière le module de coordination 8 par l’intermédiaire de connexions séries 32b,33b,34b définissant chacune une branche de la configuration en étoile.
Les messages émis sur la connexion série 31b transitent ainsi sur chaque branche de la configuration en étoile. Ainsi, tous les modules connectés au module de coordination 8 reçoivent des messages par la connexion série à laquelle ils sont connectés, de façon similaire à la réception des messages par les modules connectés avant le module de coordination 8.
Le module de coordination 8 duplique de façon sélective les messages reçus sur la connexion point à point 32a vers les autres connexions point à point 33a,34a,35a auxquelles il est connecté. Cependant, la duplication de ces messages dépend de l’étape de fonctionnement.
Le moyen de traitement des données du module de coordination 8 est ainsi configuré pour transmettre, avec ou sans traitement, tout ou partie des données reçues des premier et deuxième moyens de communication par l’intermédiaire d’autres premiers et deuxièmes moyens de communication respectivement.
En d’autres termes, le module de coordination 8 ne permet pas d’assurer directement la communication avec un dispositif mais de transmettre les données échangées entre les modules du système de communication décentralisé 1.
Par ailleurs, un module peut être un module de commutation, non illustré sur les figures 1 et 2, présentant une structure similaire au module de coordination 8. Il comprend au moins trois deuxièmes moyens de communication, connectés chacun à une connexion série séparé. Le module de coordination 8 duplique les messages reçus par la connexion série 31b sur chaque branche de la configuration en étoile. Cependant, la duplication de ces messages dépend de l’étape de fonctionnement.
Un module de commutation se comporte toutefois de façon similaire au module de coordination lors des étapes de découverte des voisins.
Les différentes étapes d’un procédé de commande du système de communication décentralisé 1 vont maintenant être décrites.
Afin de pouvoir faire communiquer les différents modules connectés au sein du système de communication décentralisé par l’intermédiaire d’échanges de messages, plusieurs étapes sont nécessaires.
La structure des messages échangés entre modules va maintenant être décrite.
Un message échangé entre deux modules comprend un préambule P, un entête H, et des données D. Dans un mode de réalisation particulier, il comprend une valeur de contrôle d’erreur CTRL.
Le préambule P est employé afin de déclencher la réception ou la transmission d’un nouveau message. Dans un mode de réalisation, le préambule P est une période d’inactivité du système de communication décentralisé 1 entre chaque message. La réception du préambule permet de réinitialiser l’état d’un module de sorte qu’il puisse recevoir un nouveau message ou effacer un message faux. L’entête H comprend plusieurs champs contenant les informations permettant à un module de comprendre le message. L’entête H comprend un champ de numéro de version, un champ de cible, un champ de mode de la cible, un champ de source, un champ de commande et un champ de taille.
Le champ de numéro de version définit le numéro de version du procédé de communication employé pour établir le message échangé. Le champ de numéro de version permet à un module de déterminer comment lire le message. Le champ de cible indique une adresse de routage du module auquel le message est destiné. Il est à noter que dans le cas où plusieurs dispositifs sont connectés à un module de communication, une adresse de routage peut être assignée au module de communication pour chaque dispositif connecté. Ainsi, le module de communication peut disposer de plusieurs adresses de routage.
Le champ de mode de la cible indique le mode d’adressage et comment interpréter le champ de cible.
Un premier mode d’adressage est le mode ID au cours duquel le message est destiné à un module unique identifié par son adresse de routage et sans accusé de réception.
Un deuxième mode d’adressage est le mode ID+ACK au cours duquel le message est destiné à un module unique identifié par son adresse de routage et avec accusé de réception.
Un troisième mode d’adressage est le mode Broadcast au cours duquel le message est transmis à tous les modules connectés à la connexion série. Dans un tel mode d’adressage, le champ de cible n’est pas considéré par les modules lisant le message.
Dans un mode de réalisation, on prévoit un quatrième mode d’adressage appelé mode Type au cours duquel le message est transmis à tous les modules d’un type défini. Chaque module comprend une adresse Type dépendant de la nature des dispositifs qui lui sont connectés. Par exemple, on peut donner l’adresse type 1 à tous les moteurs, l’adresse type 2 à toutes les sources de lumière, et l’adresse type 3 à tous les capteurs. Dans le cadre de cet exemple, un message avec l’adresse type 2 vise alors toutes les sources de lumière connectées au système de communication. Le champ de source indique l’adresse de routage du module à l’origine du message.
Le champ de commande définit le type de données transmises.
Le champ de taille indique la taille des données comprises dans le message.
Les données D correspondent à la partie principale du message comprenant les données échangées.
La valeur de contrôle d’erreur CTRL permet de déterminer la présence d’erreur à la réception du message en comparant la valeur de contrôle d’erreur CTRL comprise dans le message à la valeur de contrôle d’erreur déterminée à la réception, les deux valeurs étant déterminées par application de fonctions mathématiques prédéterminées aux valeurs numériques associées à l’entête H et aux données D. La valeur de contrôle d’erreur peut être notamment une valeur de contrôle de redondance cyclique CRC ou une somme de contrôle.
Dans un mode de réalisation particulier, le message comprend également un accusé de réception A. Dans un mode de réalisation, l’accusé de réception peut prendre deux valeurs distinctes, une première valeur étant associée au message envoyé de la source à la cible, la deuxième valeur étant associée à l’accusé de réception envoyé de la cible à la source. Ce champ est employé en conjonction du deuxième mode d’adressage ID+ACK. L’étape de transmission d’un message entre deux modules va maintenant être décrite.
Lorsque l’on commande l’émission d’un message par un premier module, on commande le premier module de sorte à activer le mode d’émission du moyen de communication série tout en conservant le mode de réception activé.
Cela permet au premier module de détecter d’éventuelles erreurs de collision lors de la transmission de l’entête H. On définit qu’une collision est l’émission d’un message par deux modules distincts sur la connexion série dans un intervalle de temps prédéfini, compris entre le début de l’émission du préambule et la fin de l’émission de l’entête. Afin d’éviter de mauvaises détections, on considère que l’intervalle de temps est de préférence égal à la durée d’émission du préambule et du au moins un premier bit de l’entête.
On commande le premier module de sorte à émettre le préambule ou à attendre la durée du préambule selon le mode de réalisation.
Si on ne détecte pas de collision de message, on commande ensuite le premier module de sorte à émettre l’entête H d’un message par la connexion série. Un message ou partie de message émis sur la connexion série est lu par tous les modules connectés à la connexion série. Chaque module recevant le message interprète le contenu du message en fonction de ses caractéristiques (adresse de routage, adresse type, ...) et de la structure du message décrite ci-dessus. A réception de l’entête H, le deuxième module lit l’entête H du message, et commande son moyen de communication série de sorte que le mode d’émission soit interdit. En d’autres termes, l’émission de l’entête H par un module commande les autres modules recevant l’entête H par leur connexion série, de sorte qu’ils ne puissent émettre d’entête à leur tour.
On commande alors l’émission du reste du message.
Lorsque la totalité du message est transmise, on commande le moyen de communication série du premier module de sorte à activer le mode de réception et à désactiver le mode d’émission et on commande le moyen de communication série du deuxième module de sorte à désactiver l’interdiction d’émission.
En d’autres termes, après émission du message, les modules connectés reviennent dans leur état par défaut.
Par ailleurs, l’homme du métier se rendra compte que le procédé d’échange de message décrit ci-dessus permet à un module émettant un message de prendre le contrôle du moyen de communication série des autres modules connectés. Une telle prise de commande permet d’éviter les problèmes d’encombrement du réseau et mauvaise qualité de service QoS (acronyme anglophone pour « Quality of Service »). L’étape de détection de voisin va maintenant être décrite en relation avec la figure 1.
Lorsqu’un module de communication 4 est connecté au module d’interface 2, il n’est pas découvert et ne possède pas d’adresse de routage.
Afin de pouvoir échanger des messages nécessitant une adresse de routage, on initialise une découverte de proche en proche à partir du module d’interface 2.
Il est à noter que par défaut tous les modules connectés ont le mode de réception de leur moyen de communication série 2b activé.
Pour réaliser cette étape, on attribue au module d’interface 2 la première adresse de routage du système de communication décentralisé référencé 1. Ensuite, on commande l’activation du mode émission du moyen de communication série 2b du module d’interface 2 en mode émission et on fait émettre par le module d’interface 2 une première valeur prédéfinie sur la connexion point à point 3a. Dans le cas où le premier module est connecté à deux connexions point à point, on répète l’étape de détection pour chaque connexion point à point.
Un module connecté à la connexion point à point 3a reçoit la première valeur prédéfinie, et renvoie, en retour, cette même première valeur prédéfinie.
Lorsque le module d’interface 2 reçoit en retour par la connexion point à point 3a la première valeur prédéfinie, on détermine une nouvelle adresse de routage à attribuer.
On émet ensuite par l’intermédiaire du moyen de communication série 2c du module d’interface 2 un message en mode broadcast comprenant la nouvelle adresse de routage à attribuer.
Ce message étant émis sur la connexion série 3b, il est lu par chacun des modules connectés, indépendamment de leur découverte par le module d’interface 2.
Un module recevant à la fois le message en mode broadcast comprenant la nouvelle adresse de routage à attribuer par la connexion série, et ayant émis la première valeur prédéfinie sur une connexion point à point connectée à son premier moyen de communication point à point et percevant une deuxième valeur prédéfinie sur son deuxième moyen de communication point à point, enregistre l’adresse de routage à attribuer. Il émet ensuite la première valeur prédéfinie par la connexion point à point connectée à son deuxième moyen de communication point à point pour poursuivre la découverte du réseau. Si un autre module est connecté à l’autre extrémité de la connexion point à point connectée à son deuxième moyen de communication point à point, il reçoit en retour la première valeur prédéfinit, et réémet en retour la première valeur prédéfinie par la connexion point à point connectée au module d’interface 2. . Le module d’interface 2 en déduit qu’il reste des modules à découvrir et à adresser. Le module d’interface 2 génère et émet alors une autre adresse de routage.
Si aucun autre module n’est connecté à l’autre extrémité de la connexion point à point connectée à son deuxième moyen de communication point à point, il ne reçoit pas en retour la première valeur prédéfinit. Il réémet alors en retour une deuxième valeur prédéfinie par la connexion point à point connectée au module d’interface 2.
Le module d’interface 2 en déduit qu’il ne reste pas de modules à découvrir et à adresser. Le module d’interface 2 arrête alors la génération de nouvelles adresses de routage.
Dans le cas illustré par la figure 1, le module d’interface 2 émet la première valeur prédéfinie par la connexion point à point 3a. Le module de communication 4 reçoit la première valeur prédéfinie par la connexion point à point 3a et réémet en retour la première valeur prédéfinie par la connexion point à point 3a.
Lorsqu’il reçoit la première valeur prédéfinie par la connexion point à point 3a, le module d’interface 2 en déduit qu’un module est connecté. On génère une deuxième adresse de routage, et le module d’interface 2 émet en mode broadcast un message comprenant la deuxième adresse de routage à attribuer.
Le module de communication 4 ayant réémis la première valeur prédéfinie par la connexion point à point 3a et percevant par son deuxième moyen de communication point à point 4e reçoit une deuxième valeur prédéfinie, le module de communication 4 enregistre la deuxième adresse de routage à attribuer. On note que la deuxième valeur prédéfinie est la valeur par défaut.
On fait émettre par le module de communication 4 une première valeur prédéfinie par son deuxième moyen de communication point à point 4e.
Le deuxième moyen de communication point à point 4e n’étant pas connecté à une connexion point à point et à un autre module, il ne peut recevoir de réponse. Au bout d’une durée prédéterminé, n’ayant pas reçu de réponse, on commande l’émission de la deuxième valeur prédéfinie sur la connexion point à point 3a indiquant qu’il n’y a pas d’autre voisin après le module de communication 4.
Le module d’interface 2 reçoit la deuxième valeur prédéfinie par la connexion point à point 3a et arrête le procédé de détection de voisin pour la connexion point à point 3a. L’étape de détection de voisin a été décrite entre un module d’interface 2 et un module de communication 4. Toutefois, la même étape est appliquée lorsque des modules différents sont impliqués.
Il est à noter que dans le cas où plusieurs dispositifs sont connectés à un module de communication, une adresse de routage peut être assignée au module de communication pour chaque dispositif connecté. Ainsi, le module de communication peut disposer de plusieurs adresses de routage. L’étape de détection de voisin est répétée plusieurs fois pour le même module pour chaque dispositif connecté audit module.
Plus particulièrement, le module de communication connecté à plusieurs dispositifs émet en retour la première valeur prédéfinie par la connexion point à point par laquelle une première valeur prédéfinie a été reçue tant que le module de communication n’a pas reçu un nombre suffisant d’adresses de routage pour en enregistrer une pour chaque dispositif.
Plus précisément, la première valeur prédéfinie émise en retour par la connexion point à point est émise de nouveau après la réception sur la connexion série d’une nouvelle adresse de routage jusqu’à ce que chaque dispositif connecté au module de communication soit associé à une adresse de routage.
Ensuite, le module de communication reprend la détection de voisins par son deuxième moyen de communication point à point, tel que décrit ci-dessus. L’étape de détection de voisin décrite ci-dessus est appliquée à tous les modules interconnectés, c’est-à-dire tant que le module d’interface 2 reçoit périodiquement la première valeur prédéfinie par la connexion point à point. L’étape de détection de voisin généralisée à un plus grand nombre de modules va maintenant être décrite en regard de la figure 2.
Lors de leur connexion, aucun des modules illustrés sur la figure 2 ne possède d’adresse de routage. Ils ne peuvent donc pas communiquer par l’intermédiaire de messages nécessitant une adresse de routage.
Pour remédier à cela, on réalise l’étape de détection à partir du module d’interface 2.
On attribue au module d’interface 2 une première adresse de routage du système de communication décentralisé 1. Ensuite, on commande le module d’interface 2 pour émettre par son premier moyen de communication point à point 2b la première valeur prédéfinie par la connexion point à point 31a
Le module de communication 40 reçoit la première valeur prédéfinie sur la connexion point à point 31a. Il émet en retour la première valeur prédéfinie par la connexion point à point 31a.
Le module d’interface 2 reçoit la première valeur prédéfinie par la connexion point à point 31a et en déduit que l’étape de découverte de voisin doit se poursuivre et qu’une adresse de routage doit être émise.
On détermine une deuxième adresse de routage et on commande le module d’interface 2 pour émettre par la connexion série 31b un message en mode broadcast comprenant la deuxième adresse de routage.
Le message comprenant la deuxième adresse de routage étant émis sur la connexion série 31b, il est lu par chacun des modules connectés, indépendamment de leur découverte par le module d’interface 2.
Le module de communication reçoit le message en mode broadcast comprenant la deuxième adresse de routage par la connexion série 31b.
Comme le deuxième moyen de communication point à point du module de communication 40 perçoit la valeur par défaut égale à la deuxième valeur prédéfinie, le module enregistre l’adresse de routage à attribuer.
Le deuxième moyen de communication point à point du module de communication 40 émet la première valeur prédéfinie par la connexion point à point 32a
Le module de routage 8 reçoit alors la première valeur prédéfinie par la connexion point à point 32a et émet en retour par la connexion point à point 32a la première valeur prédéfinie. Le module de communication 40 reçoit la première valeur prédéfinie par la connexion point à point 31a. Comme il dispose déjà d’une adresse de routage, il émet à son tour la première valeur prédéfinie par son autre connexion point à point 31a. La première valeur prédéfinie est ainsi retransmise de proche en proche jusqu’au module d’interface 2.
Le module d’interface 2 reçoit la première valeur prédéfinie par la connexion point à point 31a et en déduit qu’un autre module doit recevoir une adresse de routage.
Le module d’interface 2 détermine alors une troisième adresse de routage et émet alors sur la connexion série 31b un nouveau message en mode broadcast comprenant la troisième adresse de routage.
Le module de routage 8 ayant réémis en retour la première valeur prédéfinie par la connexion point à point 32a et percevant la deuxième valeur prédéfinie sur son deuxième moyen de communication point à point, il enregistre alors la troisième adresse de routage reçue sur la connexion série 31b dans le message en mode broadcast.
Le dernier module ayant mémorisé une adresse de routage émet par son deuxième moyen de communication point à point la première valeur prédéfinie. A réception en retour de la première valeur prédéfinie, le dernier module ayant mémorisé une adresse de routage et tous les modules connectés jusqu’au module d’interface 2 retransmettent de proche en proche la première valeur prédéfinie. A chaque réception de la première valeur prédéfinie, le module d’interface 2 génère une nouvelle adresse de routage, et émet un nouveau message en mode broadcast comprenant chacun une nouvelle adresse de routage. L’adresse de routage ainsi générée et émise est mémorisée par le module découvert.
Lorsque le dernier module du réseau est découvert et a enregistré une adresse de routage, le dernier module émet la première valeur prédéfinie par son deuxième moyen de communication point à point. Comme cela a été décrit lors de la description de la découverte du réseau illustrée par la figure 1, le deuxième moyen de communication point à point n’est pas connecté à une liaison point à point et à un module. Il ne peut donc pas recevoir de réponse. Au bout d’une durée prédéterminée, n’ayant pas reçu de réponse, on commande l’émission d’une deuxième valeur prédéfinie par le premier moyen de communication point à point du dernier module du réseau découvert et ayant enregistré une adresse. La deuxième valeur prédéfinie est retransmise de proche en proche par chaque module jusqu’au module d’interface 2. A réception de cette deuxième valeur prédéfinie par le module d’interface 2, on détermine que tous les modules connectés ont une adresse de routage et que la découverte des modules de proche en proche est terminée. On commande le module d’interface 2 de sorte qu’il ne détermine pas de nouvelle adresse de routage et on termine l’étape de détection de voisin.
Dans un mode de réalisation particulier, à chaque réception d’une première valeur prédéfinie par la connexion point à point 31a, le module d’interface 2 enregistre l’adresse de routage attribuée dans une table de routage.
Il est à noter que dans le cas particulier des modules de coordination ou de commutation, le moyen de traitement des données compris dans de tels modules est configuré pour transmettre de façon déterministe la première valeur prédéfinie reçue par la connexion point à point connectée au premier moyen de communication point à point. Par transmission déterministe, on entend que les messages reçus par de tels modules par l’intermédiaire de la connexion point à point connectée au premier moyen de communication point à point sont transmis dans un ordre prédéterminé dans chaque branche connectée par une autre connexion point à point en sortie du module. L’ordre prédéterminé ne change pas d’une étape de détermination de voisin à la suivante.
Dans le cas du module de coordination 8 illustré sur la figure 2, on transmet chaque première valeur prédéfinie reçue en entrée par la première connexion point à point 32a par la deuxième connexion point à point 33a.
On retransmet également toutes les premières valeurs reçues par la deuxième connexion point à point 33a par la première connexion point à point 32a.
Lorsque l’on reçoit une deuxième valeur prédéfinie par la deuxième connexion point à point 33a, on détermine que tous les modules de la branche ont été détectés et ont reçu une adresse de routage. On commande alors le module de coordination 8 pour qu’il émette la première valeur prédéfinie par la troisième connexion point à point 34a.
On commande ensuite le module de coordination 8 pour qu’il retransmette toutes les premières valeurs reçues par la quatrième connexion point à point 34a par la première connexion point à point 32a.
On retransmet également toutes les premières valeurs reçues par la troisième connexion point à point 34a par la première connexion point à point 32a.
Lorsque l’on reçoit une deuxième valeur prédéfinie par la troisième connexion point à point 34a, on détermine que tous les modules de la branche ont été détectés et ont reçu une adresse de routage. On commande alors le module de coordination 8 pour qu’il émette la première valeur prédéfinie par la quatrième connexion point à point 35a.
On commande ensuite le module de coordination 8 pour qu’il retransmette toutes les premières valeurs reçues par la quatrième connexion point à point 35a par la première connexion point à point 32a.
On retransmet également toutes les premières valeurs reçues par la quatrième connexion point à point 35a par la première connexion point à point 32a.
Lorsque l’on reçoit une deuxième valeur prédéfinie par la quatrième connexion point à point 35a, on détermine que tous les modules de la branche ont été détectés, et ont reçu une adresse de routage, et que toutes les branches ont été détectées.
On commande alors le module de coordination 8 pour qu’il émette une deuxième valeur prédéfinie par la première connexion point à point 32a.
Dans l’exemple ci-dessus, le module de coordination procède à la découverte de ses branches en balayant successivement la deuxième connexion point à point 33a, puis la troisième connexion point à point 34a puis la quatrième connexion point à point 35a. Toutefois, d’autres ordres de balayage des branches sont possibles tout en restant dans la portée de la présente description.
La transmission sélective des valeurs prédéfinies par le module de coordination ou de commutation combinée à l’émission d’adresses de routage par le module d’interface permet de découvrir et d’attribuer une adresse de routage à tous les modules connectés.
On peut alors procéder à l’acheminement des données par des messages tels que définis dans la présente description. L’étape de découverte des voisins décrite ci-dessus est illustrée dans le cadre d’un échange de messages sous forme soit d’une première valeur prédéfinie, soit d’une deuxième valeur prédéfinie. Ces valeurs peuvent être par exemple des messages structurés ou des valeurs de tension de signal sur la connexion point à point.
Toutefois, dans un but d’accélération des échanges de messages et donc d’une accélération de la découverte du réseau, les messages peuvent être concaténés.
Ainsi, dans le cas illustré par la figure 1, le premier moyen de communication point à point 2b du module d’interface 2 porte la connexion point à point 3a à un premier niveau. Lorsque le premier moyen de communication point à point du module de communication 4 perçoit le premier niveau sur la connexion point à point 3a et le message en mode broadcast comprenant l’adresse de routage sur la connexion série 3b, il enregistre l’adresse de routage.
Le premier moyen de communication point à point 2b du module d’interface 2 maintient le premier niveau pendant une durée prédéterminée après l’émission d’un message en mode broadcast comprenant une adresse de routage. Si à l’issue de cette durée prédéterminée, il perçoit toujours le premier niveau par son premier moyen de communication point à point 2b, il l’interprète comme la présence d’un module ayant mémorisé l’adresse de routage comprise dans le message émis en mode broadcast.
Lors de l’émission de la troisième adresse de routage, le module de communication 4 ne maintient pas le premier niveau par l’intermédiaire de son premier moyen de communication point à point 4b après la durée prédéterminée consécutive à l’émission du message en mode broadcast.
Le deuxième niveau est perçu par son premier moyen de communication point à point 2b. Il l’interprète comme l’absence d’un module ayant mémorisé l’adresse de routage comprise dans le message émis en mode broadcast. La découverte du réseau est alors interrompue.
La découverte du réseau a été décrite ci-dessus dans le cadre d’une première découverte du réseau en liaison avec l’attribution d’adresses de routage. Toutefois, la découverte du réseau peut être réalisée de nouveau ultérieurement afin de vérifier par exemple que les modules précédemment découverts sont toujours connectés ou n’ont pas subi de défaillance, qu’un nouveau module a été ajouté ou substitué ou que la première découverte du réseau n’a pas été correctement réalisée.
Pour réaliser une telle découverte ultérieure, on applique le procédé de découverte et d’adressage décrit plus haut en omettant la génération d’adresse de routage, l’émission d’adresse de routage sur la connexion série et l’enregistrement de l’adresse de routage par le dernier module découvert.
En se référant à la figure 2, l’étape de découverte ultérieure comprend les sous-étapes suivantes.
On commande le module d’interface 2 pour émettre par son premier moyen de communication point à point 2b la première valeur prédéfinie par la connexion point à point 31a
Le module de communication 40 reçoit la première valeur prédéfinie sur la connexion point à point 31a. Il émet en retour la première valeur prédéfinie par la connexion point à point 31a.
Le module d’interface 2 reçoit la première valeur prédéfinie par la connexion point à point 31a et en déduit qu’un module a été découvert.
Le deuxième moyen de communication point à point du module de communication 40 émet la première valeur prédéfinie par la connexion point à point 32a
Le module de routage 8 reçoit alors la première valeur prédéfinie par la connexion point à point 32a et émet en retour par la connexion point à point 32a la première valeur prédéfinie. Le module de communication 40 reçoit la première valeur prédéfinie par la connexion point à point 31a. Comme il a déjà été découvert, il émet à son tour la première valeur prédéfinie par son autre connexion point à point 31a. La première valeur prédéfinie est ainsi retransmise de proche en proche jusqu’au module d’interface 2.
Le module d’interface 2 reçoit la première valeur prédéfinie par la connexion point à point 31a et en déduit qu’un autre module a été découvert.
Le dernier module ayant été découvert émet par son deuxième moyen de communication point à point la première valeur prédéfinie. A réception en retour de la première valeur prédéfinie, le dernier module ayant mémorisé une adresse de routage et tous les modules connectés jusqu’au module d’interface 2 retransmettent de proche en proche la première valeur prédéfinie. A chaque réception de la première valeur prédéfinie, le module d’interface 2 détermine qu’un nouveau module a été découvert.
Lorsque le dernier module du réseau est découvert, il émet la première valeur prédéfinie par son deuxième moyen de communication point à point. Comme cela a été décrit lors de la description de la découverte du réseau illustrée par la figure 1, le deuxième moyen de communication point à point n’est pas connecté à une liaison point à point et à un module. Il ne peut donc pas recevoir de réponse. Au bout d’une durée prédéterminée, n’ayant pas reçu de réponse, on commande l’émission d’une deuxième valeur prédéfinie par le premier moyen de communication point à point du dernier module du réseau découvert et ayant enregistré une adresse. La deuxième valeur prédéfinie est retransmise de proche en proche par chaque module jusqu’au module d’interface 2. A réception de cette deuxième valeur prédéfinie par le module d’interface 2, on détermine que tous les modules connectés ont été découverts.
Le module d’interface 2 est ainsi apte à comparer le nombre de modules découverts au nombre de modules découverts lors de la première étape de découverte et d’attribution d’adresses de routage.
Il est également possible de déterminer la présence d’un défaut dans une connexion ou dans un module en comparant le dernier module du réseau et/ou de chaque branche découvert lors de la découverte ultérieure du réseau avec le dernier module du réseau et/ou de chaque branche découvert lors de la découverte initiale du réseau et de l’adressage des modules. Si le dernier module découvert est différent du dernier module découvert lors de la découverte initiale du réseau et de l’adressage des modules, on détermine que la connexion point à point entre le dernier module découvert lors de la découverte ultérieure et le module immédiatement suivant est défaillante ou que le module immédiatement suivant est défaillant. On peut ainsi identifier la position de ce défaut dans la topologie du réseau dès lors que l’étape de découverte est réalisée à partir du même module que celui à partir duquel la première étape de découverte et d’attribution d’adresses de routage a été réalisée. L’étape de découverte des voisins décrite ci-dessus est réalisée par le module d’interface 2. Toutefois, cette étape et plus généralement, le procédé de commande peuvent être réalisés par n’importe quel module du système de communication 1. Le système de communication décentralisé 1 et le procédé de commande d’un tel système permettent la communication d’une mémoire avec des dispositifs d’un système complexe. Ces dispositifs peuvent être des actionneurs, des batteries, des alimentations, des capteurs, des émetteurs, des mémoires des moyens de traitement de données et plus généralement tout système permettant le fonctionnement d’un système complexe.
Claims (15)
- REVENDICATIONS1. Système de communication décentralisé comprenant au moins deux modules, chaque module étant connecté à au moins un module voisin par une connexion point à point, tous les modules étant connectés entre eux par au moins une connexion série, chaque module étant choisi parmi au moins un module d’interface (2) ou un module de communication (4), un module d’interface (2) étant connecté à au moins une mémoire (5), un module de communication (4) étant connecté à au moins un dispositif (7), un dispositif (7) étant choisi parmi au moins un actionneur, un capteur, un moyen de communication, une mémoire, une batterie, une alimentation ou un moyen de traitement de données.
- 2. Système selon la revendication 1, dans lequel chaque module comprend au moins deux premiers moyens de communication capables chacun d’être connecté à une connexion point à point et au moins un moyen de communication série connecté à une connexion série, les moyens de communication étant connectés à au moins un moyen de traitement de données.
- 3. Système selon l’une quelconque des revendications précédentes, dans lequel un module est un module de coordination ou de commutation configuré pour connecter en parallèle au moins trois modules, chaque module étant connecté par une connexion point à point et une connexion série, le module de coordination étant configuré et pour retransmettre des valeurs prédéfinies reçues sur une connexion point à point en fonction de règles prédéfinies, le module de commutation étant configuré pour retransmettre des messages reçus sur une connexion série vers au moins une autre connexion série et des valeurs prédéfinies reçues sur une connexion point à point vers au moins une autre connexion point à point en fonction de règles prédéfinies.
- 4. Procédé de commande d’un système de communication décentralisé selon l’une quelconque des revendications précédentes, dans lequel le système de communication comprend un premier module et au moins un deuxième module connecté au premier module, on réalise une transmission d’au moins un message comprenant un préambule (P) et un entête (H) entre au moins deux modules du système de communication en réalisant les étapes suivantes : on commande le moyen de communication série du premier module de sorte à en activer le mode d’émission tout en conservant le mode de réception activé, on commande le premier module de sorte à émettre le préambule (P) et au moins une partie de l’entête (H) par la connexion série, on commande le moyen de communication série de chaque deuxième module de sorte à interdire le mode d’émission dès la lecture d’au moins une partie de l’entête, on détermine si un autre message est émis dans un intervalle de temps compris entre le début de l’émission du préambule (P) et la fin de l’émission de l’entête (H), si tel est le cas, on considère que le message ne doit pas être lu et doit être réémis, si tel n’est pas le cas, on commande le premier module de sorte à émettre le reste du message par la connexion série, lorsque la totalité du message est transmise, on commande le moyen de communication série du premier module de sorte à en activer le mode de réception et à en désactiver le mode d’émission et on commande le moyen de communication série de chaque deuxième module de sorte à en annuler l’interdiction du mode d’émission.
- 5. Procédé selon la revendication 4, dans lequel un message comprend au moins un parmi des données (D) et une valeur de contrôle d’erreur (CTRL).
- 6. Procédé selon l’une quelconque des revendications 4 ou 5, dans lequel on réalise une détection de voisin de proche en proche afin de découvrir au moins un deuxième module connecté directement ou indirectement à un premier module et on attribue au moins une adresse de routage à chaque deuxième module connecté directement ou indirectement au premier module, en réalisant les étapes suivantes : on attribue une première adresse de routage au premier module, puis pour chaque connexion point à point connectée au premier module, on réalise les étapes suivantes : on commande chaque module connecté directement ou indirectement, au premier module, l’un après l’autre, de sorte qu’il réalise au moins une détection de voisin par l’intermédiaire de la connexion série et d’une connexion point à point, à chaque détection d’un voisin, on commande le module voisin détecté de sorte qu’il confirme sa présence au premier module par les connexions point à point, on commande le premier module de sorte qu’il émette au moins une nouvelle adresse de routage par la connexion série, on commande le module voisin de sorte qu’il enregistre la au moins une nouvelle adresse de routage, et on commande le module voisin de sorte qu’il réalise à son tour une détection de voisin, on arrête la détection de voisins lorsque aucun des modules connectés directement ou indirectement ne détecte de nouveau voisin.
- 7. Procédé selon l’une quelconque des revendications 4 ou 5, dans lequel on réalise une détection de voisin de proche en proche afin de découvrir au moins un deuxième module connecté directement ou indirectement à un premier module, en réalisant les étapes suivantes : pour chaque connexion point à point connectée au premier module, on réalise les étapes suivantes : on commande chaque module connecté directement ou indirectement, au premier module, l’un après l’autre, de sorte qu’il réalise au moins une détection de voisin par l’intermédiaire de la connexion série et d’une connexion point à point, à chaque détection d’un voisin, on commande le module voisin détecté de sorte qu’il confirme sa présence au premier module par les connexions point à point, et on commande le module voisin de sorte qu’il réalise à son tour une détection de voisin, on arrête la détection de voisins lorsque aucun des modules connectés directement ou indirectement ne détecte de nouveau voisin.
- 8. Procédé selon l’une quelconque des revendications 6 ou 7, dans lequel, lorsqu’un module est connecté à au moins deux dispositifs, on répète l’étape de découverte de voisin pour chaque dispositif connecté au module.
- 9. Procédé selon l’une quelconque des revendications 6 à 8, dans lequel pour réaliser une détection de voisin par un module ayant reçu une première valeur prédéterminée par un premier moyen de communication point à point, on réalise les étapes suivantes : on commande l’émission d’une première valeur prédéfinie par le deuxième moyen de communication point à point du module sur la connexion point à point, on détermine si le module reçoit une valeur prédéfinie en retour par le deuxième moyen de communication point à point, pendant une durée prédéterminée débutant à l’instant d’émission de la première valeur prédéfinie par le deuxième moyen de communication point à point, si tel est le cas et que la valeur prédéfinie est égale à la première valeur prédéfinie, on considère qu’un module voisin est connecté à l’autre extrémité de la connexion point à point connectée au module, si tel n’est pas le cas, on considère qu’aucun deuxième module n’est connecté à l’autre extrémité de la connexion point à point connectée au deuxième moyen de communication point à point du module et on émet une deuxième valeur prédéfinie par le premier moyen de communication point à point.
- 10. Procédé selon l’une quelconque des revendications 6 à 9, dans lequel, pour confirmer sa présence au premier module, un module transmet une première valeur prédéfinie par son premier moyen de communication point à point, la première valeur prédéfinie étant retransmise de proche en proche par l’intermédiaire des modules et des connexions point à point jusqu’au premier module.
- 11. Procédé selon l’une quelconque des revendications 6 à 10, dans lequel, un module étant connecté à une première connexion point à point et à une deuxième connexion point à point, lorsque le module a émis une première valeur par la première connexion point à point dans une durée prédéfinie, que le module reçoit une première valeur prédéfinie par la deuxième connexion point à point dans la durée prédéfinie, il retransmet la première valeur prédéfinie par la première connexion point à point.
- 12. Procédé selon l’une quelconque des revendications 6 à 11, dans lequel, un module étant connecté à une première connexion point à point et à une deuxième connexion point à point, lorsque le module a émis une première valeur par la première connexion point à point dans une durée prédéfinie, que le module reçoit une deuxième valeur prédéfinie par la deuxième connexion point à point dans la durée prédéfinie, il retransmet la deuxième valeur prédéfinie par la première connexion point à point.
- 13. Procédé selon l’une quelconque des revendications 6 à 12, dans lequel, lorsque le module est un module de coordination ou de commutation, comprenant un premier moyen de communication point à point et au moins deux deuxièmes premiers moyens de communication, on commande le module de communication ou de coordination de sorte à procéder à une attribution d’adresse de routage et de détection de voisin pour chaque deuxième moyen de communication point à point, le module de coordination ou de commutation changeant de deuxième moyen de communication point à point à réception d’une deuxième valeur prédéfinie par le deuxième moyen de communication point à point, et, lorsque le module de coordination ou de commutation a reçu une deuxième valeur prédéfinie sur chacun de ses deuxièmes premiers moyens de communication, il transmet la deuxième valeur prédéfinie par son premier moyen de communication point à point.
- 14. Procédé selon l’une quelconque des revendications 6 à 13, dans lequel on détermine qu’aucun des modules connectés directement ou indirectement au premier module ne détecte de nouveau voisin, lorsque le premier module reçoit une deuxième valeur prédéfinie par la connexion point à point par laquelle il a émis la première valeur prédéfinie.
- 15. Procédé selon l’une quelconque des revendications 6 à 14, dans lequel, lorsque l’on a commandé une détection de voisins et un adressage des modules découverts par un premier module, puis lorsque l’on a commandé une détection ultérieure de voisins par le premier module, on compare le dernier module découvert lors de détection ultérieure de voisins avec le dernier module découvert lors de la une détection initiale de voisins et de l’adressage des modules, on détermine alors si le dernier module découvert lors de la détection ultérieure de voisins est différent du dernier module découvert lors de la détection initiale de voisins et de l’adressage des modules.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1763021A FR3076162B1 (fr) | 2017-12-22 | 2017-12-22 | Systeme de communication decentralise et procede de commande correspondant |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1763021A FR3076162B1 (fr) | 2017-12-22 | 2017-12-22 | Systeme de communication decentralise et procede de commande correspondant |
FR1763021 | 2017-12-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3076162A1 true FR3076162A1 (fr) | 2019-06-28 |
FR3076162B1 FR3076162B1 (fr) | 2019-12-13 |
Family
ID=62067629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1763021A Expired - Fee Related FR3076162B1 (fr) | 2017-12-22 | 2017-12-22 | Systeme de communication decentralise et procede de commande correspondant |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3076162B1 (fr) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080205274A1 (en) * | 2007-02-28 | 2008-08-28 | Freescale Semiconductor, Inc. | System and method for monitoring network traffic |
US20100088442A1 (en) * | 2008-10-06 | 2010-04-08 | Phoenix Contact Gmbh & Co. Kg | Communications entity for communications via a bus-oriented communications network |
-
2017
- 2017-12-22 FR FR1763021A patent/FR3076162B1/fr not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080205274A1 (en) * | 2007-02-28 | 2008-08-28 | Freescale Semiconductor, Inc. | System and method for monitoring network traffic |
US20100088442A1 (en) * | 2008-10-06 | 2010-04-08 | Phoenix Contact Gmbh & Co. Kg | Communications entity for communications via a bus-oriented communications network |
Non-Patent Citations (1)
Title |
---|
SUN XUEYAN ET AL: "A reconfiguration approach for self-reconfigurable modular robot using assisted modules", 2015 IEEE INTERNATIONAL CONFERENCE ON MECHATRONICS AND AUTOMATION (ICMA), IEEE, 2 August 2015 (2015-08-02), pages 1436 - 1441, XP033216600, ISBN: 978-1-4799-7097-1, [retrieved on 20150902], DOI: 10.1109/ICMA.2015.7237696 * |
Also Published As
Publication number | Publication date |
---|---|
FR3076162B1 (fr) | 2019-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2507711B1 (fr) | Controleur d'acces direct a une memoire pour le transfert direct de donnees entre memoires de plusieurs dispositifs peripheriques | |
FR2965374A1 (fr) | Communication maitre-esclave sur bus unifilaire entre un circuit maitre et au moins deux circuits esclaves | |
FR2676131A1 (fr) | Systeme de communication. | |
EP2751959B1 (fr) | Procédé d'échange de données entre noeuds d'une grappe de serveurs et grappe de serveurs mettant en oeuvre ce procédé | |
EP0752669B1 (fr) | Dispositif de communication entre une pluralité de modules fonctionnels installés dans une unité locale et un bus externe de type ARINC 629 | |
EP3987726A1 (fr) | Système de communication décentralisé et procédé de commande correspondant | |
EP0812084B1 (fr) | Dispositif de communication entre une pluralité de modules fontionnels installés dans une unité locale et un bus externe de type ethernet | |
FR3076162A1 (fr) | Systeme de communication decentralise et procede de commande correspondant | |
EP1647112B1 (fr) | Procede et dispositif de transmission de donnees | |
EP3657859A1 (fr) | Optimisation par type de message de l'echange de donnees entre objets connectes | |
FR2678096A1 (fr) | Procede et systeme de transmission de messages entre une borne de controle et des bornes commandees. | |
FR3015825A1 (fr) | Procede d'attribution d'identifiant d'appareil dans un systeme de bus et systeme de bus ainsi gere | |
EP3284220B1 (fr) | Procédé et dispositif de communication dans un réseau domotique | |
EP1011051A1 (fr) | Protocole et système de liaison par BUS entre éléments d'un microcontrôleur | |
EP0895159B1 (fr) | Procédé de purge des tampons de liaisons séries à haut débit et dispositif de mise en oeuvre du procédé | |
EP0344035A1 (fr) | Réseau de transmission d'informations numériques entre plusieurs stations | |
FR3093198A1 (fr) | Transmission de données liées sur bus I2C | |
JP2021048548A (ja) | 車両用通信装置及び通信方法 | |
EP0505541B1 (fr) | Circuit de gestion de sorties pour automate programmable | |
EP0737021B1 (fr) | Procédé et dispositif de communication entre une pluralité de terminaux, compatible avec la norme ARINC 629 | |
WO2023144479A1 (fr) | Attribution d'adresses pour unité de distribution d'énergie modulaire | |
EP0466555A1 (fr) | Réseau local d'intercommunication de modules de traitement de données | |
EP2372959B1 (fr) | Procédé et réseau de transmission de paquets de données entre au moins deux dispositifs électroniques. | |
FR2724079A1 (fr) | Reseau local industriel ou domestique | |
FR3015720A1 (fr) | Procede d'attribution d'identifiants d'appareil dans un systeme de bus et systeme de bus ainsi realise |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20190628 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
TP | Transmission of property |
Owner name: LUOS ROBOTICS, FR Effective date: 20200226 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
ST | Notification of lapse |
Effective date: 20240806 |