INPI-France/Brevets-Francais-2024-Chunked huggingface dataset:
Les commandes du dispositif délivrées en sortie par le dispositif de commande de système 201 sont transmises aux contrôleurs de nœud 206 par l’intermédiaire d’une ou plusieurs liaisons de communication 207, qui peuvent être filaires ou sans fil, série ou parallèles. Bien que les liaisons de communication 207 du système 200 soient illustrées sous la forme d’un réseau ayant une topologie linéaire, on comprendra que les liaisons de communication 207 peuvent être réagencées selon toute autre topologie de réseau appropriée ou souhaitée (par ex. en arbre, en anneau, en étoile, etc.).
Chaque contrôleur de nœud 206 est couplé de manière communicative (par exemple par l’intermédiaire d’une ou plusieurs liaisons de communication filaires ou sans fil, série ou parallèles, d’une manière connue dans l’art) à un actionneur 204 correspondant. En outre, chaque contrôleur de nœud 206 est configuré pour commander le fonctionnement de son actionneur 204 correspondant (par ex. en réaction à la réception d’une commande de dispositif, ainsi qu’il a été exposé ci-dessus). Par exemple, le contrôleur de nœud 206a est configuré pour commander le fonctionnement de l’actionneur 204a (selon la flèche 208 située entre les deux), le contrôleur de nœud 206b est également configuré pour commander le fonctionnement de l’actionneur 204b, et ainsi de suite. Chaque contrôleur de nœud 206 peut être prévu sous la forme de tout dispositif connu ou approprié (par ex. un servomoteur, etc.) apte à entraîner un actionneur 204 en réponse à des commandes de dispositif délivrées en sortie par le dispositif de commande de système 201. En outre, chaque contrôleur de nœud 206 peut inclure un ou plusieurs processeurs et supports tangibles (mémoire d’ordinateur par exemple) accessibles au(x) processeur(s), pour mettre en œuvre la fonction d’un contrôleur de nœud primaire 206’ ou d’un contrôleur de nœud secondaire 206’’ (tous deux décrits plus en détail ci-dessous), suivant que l’outil 202 à actionner selon une application PSO est couplé de manière communicative ou non à celui-ci.
Un processeur peut être réalisé sous la forme d’un processeur programmable (au sens par exemple d’un ou plusieurs processeurs informatiques, microprocesseurs, processeurs de signaux numériques, ou autre dispositif informatique courant ou toute combinaison de ceux-ci) permettant d’exécuter des instructions visant à mettre en œuvre les fonctions du contrôleur de nœud primaire 206’ et du contrôleur de nœud secondaire 206’’ décrites ci-dessous. Des instructions exécutables par le ou les processeurs peuvent être mises en œuvre dans un logiciel, micrologiciel, etc., ou sous toute forme appropriée de circuits, dont des circuits logiques programmables (PLD, programmable logic devices), des réseaux prédiffusés programmables par l’utilisateur (FPGA, field-programmable gate arrays), des réseaux d’objets programmables par l’utilisateur (FPOA, field-programmable object arrays ), des circuits intégrés spécifiques à une application (ASIC, application-specific integrated circuits) – dont des circuits numériques, analogiques et analogiques/numériques mixtes – ou similaires, ou toute combinaison de ceux-ci. L’exécution des instructions peut s’effectuer sur un processeur, être répartie sur plusieurs processeurs, en parallèle sur des processeurs présents dans un dispositif ou sur un réseau de dispositifs, ou de manière similaire, ou selon toute combinaison de ces réalisations. On entend par « mémoire d’ordinateur » les supports magnétiques (par ex. bande magnétique, lecteur de disque dur, etc.), les disques optiques, les mémoires à semi-conducteurs volatiles ou non volatiles (par ex. RAM, ROM, mémoire flash de type NON-ET, mémoire flash de type NON-OU, mémoire SONOS, etc.), et autres, auxquels on peut accéder localement ou à distance (par ex. à travers un réseau), ou une combinaison de ceux-ci. D’une manière générale, les instructions peuvent être stockées sous la forme de logiciels informatiques (par ex. code exécutable, fichiers exécutables, instructions exécutables, etc., fichiers bibliothèque, etc.) susceptibles d’être créés facilement par l’homme du métier à partir des descriptions fournies dans le présent fascicule, par exemple écrites en langage C, C++, Visual Basic, Java, Python, Tel, Perl, Scheme, Ruby, en langage d’assemblage, en langage de description de matériel (par ex. VHDL, VERILOG, etc.), etc. Les logiciels informatiques sont couramment stockés dans une ou plusieurs structures de données véhiculées par la mémoire informatique.
Tout actionneur 204 peut transmettre des données ou des informations, telles qu’un signal de rétroaction (par ex. véhiculant des informations déduites à partir d’une position de rétroaction de l’actionneur, comme cela sera décrit plus en détail ci-après), à son contrôleur de nœud 206 correspondant, ainsi que l’indiquent les flèches 210 entre ceux-ci.
Si un contrôleur de nœud 206 est couplé de manière communicative à un outil destiné à être actionné en réaction à un signal de déclenchement PSO, tel que l’outil 202, alors ce contrôleur de nœud 206 sera dénommé « contrôleur de nœud primaire » (et portera par exemple la référence 206’). Sinon, un contrôleur de nœud 206 sera dénommé « contrôleur de nœud secondaire » (et portera par exemple la référence 206’’). Ainsi, dans l’exemple de mode réalisation illustré dans la , le contrôleur de nœud 206a peut être considéré comme un contrôleur de nœud primaire (portant la référence 206’) et les contrôleurs de nœud 206b, 206c, ..., 206n peuvent être chacun considérés comme un contrôleur de nœud secondaire 206’’.
Lors de l’exécution d’une application PSO selon les modes de réalisation de la présente invention, la génération d’un signal de déclenchement PSO au niveau du contrôleur de nœud primaire 206’ est synchronisée sur (c’est-à-dire conditionnée par) des signaux de rétroaction de position délivrés en sortie par un ou plusieurs des contrôleurs de nœud secondaires 206’’. Le fonctionnement du contrôleur de nœud primaire 206’ synchronisé sur le ou les contrôleurs de nœud secondaires 206’’ est facilité par la transmission de données sur des liaisons de communication 212 (par ex. chacune prévue sous la forme d’une ou plusieurs liaisons de communication filaires ou sans fil, série ou parallèles, de manière connue dans l’art). Dans un mode de réalisation, la liaison de communication 212 est fournie sous la forme d’un câble de raccordement Ethernet (par ex. terminé par des connecteurs RJ45).
II. Modes de réalisation concernant des processus d’exécution d’applications PSO
Ainsi qu’il est mentionné ci-dessus, la cadence avec laquelle les servocommandes génèrent et transmettent des signaux de données de position est limitée, ce qui pose des contraintes sur la vitesse d’entraînement des actionneurs et/ou la finesse de la résolution de codeur. Par conséquent, et ainsi que cela sera décrit plus en détail ci-après, des modes de réalisation de la présente invention permettent de s’affranchir des contraintes classiquement imposées à la vitesse des actionneurs et/ou à la résolution des codeurs dans les applications PSO en mettant en œuvre une technique de commande dans laquelle des paquets de données représentant différentes caractéristiques fonction de la position associées à un ou plusieurs actionneurs sont générés, transmis et traités.
La est un organigramme interfonctionnel illustrant un exemple de processus dans le cadre duquel une application PSO peut être exécutée, selon certains modes de réalisation de la présente invention.
En référence à la , un processus d’exécution d’une application PSO, tel que le processus 300, peut être réparti entre le dispositif de commande de système 201, un contrôleur de nœud primaire 206’ (et son outil 202 correspondant) et au moins un contrôleur de nœud secondaire 206’’ (et au moins un actionneur 204 correspondant). Pour faciliter la description du processus 300, on retiendra ci-après l’exemple de configuration des dispositifs 202 et des contrôleurs de nœud 206 donné ci-dessus, c’est-à-dire que le contrôleur de nœud 206a est un contrôleur de nœud primaire 206’, et les contrôleurs de nœud 206b, 206c, ..., 206n sont des contrôleurs de nœud secondaires 206’’.
au niveau de la couche de service dans le sens montant des données, une détection d'un traitement manquant aux données, relatif à au moins une sous-couche (L2m') de la couche de transport, au-dessus d'un niveau dit niveau d'encapsulation montante, au niveau de la couche de service dans le sens montant des données, un traitement des données relatif aux sous-couches (L2m') au-dessus du niveau d'encapsulation montante, dit décapsulation montante, pour obtenir une trame de données, optionnellement, au niveau de la couche de service dans le sens montant des données, dans le cadre de la détection d'un traitement manquant aux données, soit une vérification que les données ne sont pas sous un format Ethernet ou OMCI, soit une vérification que des trames Ethernet contenant les données comprennent une information indicative d'une encapsulation, optionnellement, au niveau de la couche de service dans le sens montant des données, et suite au traitement relatif aux sous-couches au-dessus du niveau d'encapsulation montante, détecter un autre traitement manquant aux données, relatif à au moins une sous-couche de la couche de transport, au-dessus d'un autre niveau dit autre niveau d'encapsulation montante, puis effectuer un autre traitement des données relatif à des sous-couches de la couche de transport au-dessus de l'autre niveau d'encapsulation montante, pour obtenir une trame de données.
Le dispositif 100 comprend également, au niveau de la couche de service (L3) :
une unité 180 pour transmettre les trames montantes Tm vers l'émetteur 102, et aiguiller les trames de données descendantes Td en provenance du récepteur 101 vers la couche de transport ou vers l'encapsulation descendante (L2d') en fonction de leur destination, une unité OMCI1 pour la gestion des configurations, des pannes, des performances, et de la sécurité du PON1, une unité OMCI2 pour la gestion des configurations, des pannes, des performances, et de la sécurité du PON2 qui est connecté en cascade au PON1, une unité 190 pour aiguiller les données montantes en provenance de la couche de transport vers l'unité 180, l'unité OMCI1 ou la décapsulation montante (L2m'), en fonction de la détection d'un traitement manquant aux données, une unité DBA2 (pour Dynamic Bandwidth Allocation, ou allocation dynamique de bande passante) pour gérer l'allocation de bande passante montante du PON2.
Le dispositif 100 comprend également, au niveau de la couche de transport (L2) :
une unité DBA1 pour gérer l'allocation de bande passante montante du PON1, avec laquelle se coordonne l'unité DBA2.
Le dispositif 100 peut être composé de deux dispositifs distincts 100d et 100m (non illustrés), le dispositif 100d comprenant les composants nécessaires au sens descendant, et le dispositif 100m comprenant les composants nécessaires au sens montant.
Le dispositif 200 peut être compris dans, ou être, une passerelle de réseau optique, c’est-à-dire une passerelle domestique ou professionnelle d'accès à Internet, combinant une fonctionnalité d'ONU et une fonctionnalité d'OLT, tel que par exemple la passerelle FGW.
Par exemple, le dispositif 200 comprend un récepteur 201 de signal optique de données descendantes S(Td'), un émetteur 202 de rafale optique de données montantes S(Tm'), un émetteur 203 de signal optique de données descendantes S(Td), un récepteur 204 de rafale optique de données montantes S(Tm), une unité (ONU1a) mettant en œuvre une fonctionnalité d'ONU, une unité (OLT2) mettant en œuvre une fonctionnalité d'OLT. Le dispositif 200 comprend également une unité de traitement 230, équipée par exemple d'un microprocesseur µP, et pilotée par un programme d'ordinateur 210, stocké dans une mémoire 220 et mettant en œuvre les procédés de transmission selon l'invention. A l’initialisation, les instructions de code du programme d’ordinateur 210 sont par exemple chargées dans une mémoire RAM, avant d’être exécutées par le processeur de l’unité de traitement 230.
Une telle mémoire 220, un tel processeur de l’unité de traitement 230, sont aptes à, et configurés pour, dans le sens descendant :
au niveau de la couche de service (L3) de l'unité ONU1a et dans le sens descendant des données, une détection d'une encapsulation des données relativement à au moins une sous-couche (L2d') de la couche de transport (L2), une transmission des données encapsulées descendantes, depuis l'unité ONU1a vers l'unité OLT2, directement à un niveau (L2d) immédiatement inférieur à l'au moins une sous-couche de transport, dit niveau d'encapsulation, sans traitement relatif à l'au moins une sous-couche de transport, au niveau de la couche de transport (L2) de l'unité OLT2, des traitements successifs jusqu'à une couche physique (L1), à partir du niveau d'encapsulation, au niveau de la couche physique (L1) de l'unité OLT2, une émission des données traitées dans un signal optique de données descendantes S(Td), vers un réseau optique passif (PON2),
au niveau d'une sous-couche (L2m) de la couche de transport (L2) de l'unité OLT2, dit niveau d'encapsulation, une transmission des données (Tm') directement à une couche de service (L3) de l'unité ONU1a, sans traitement dans l'unité OLT2 par des sous-couches supérieures au niveau d'encapsulation,
des traitements successifs dans l'unité ONU1a, par la couche de service (L3), par une couche de transport (L2) et par une couche physique (L1),
une émission des données traitées dans une rafale optique montante S(Tm') à destination d'un réseau optique passif (PON1), optionnellement, au niveau d'encapsulation, avant la transmission des données (Tm') à la couche de service (L3) de l'unité ONU1a, un formatage en trame Ethernet des données et une insertion dans la trame Ethernet d'une information indicative de l'encapsulation.
Le dispositif 200 comprend également, au niveau de la couche de service (L3) de l'unité ONU1a :
i. Déduction de la position de l’actionneur correspondant au contrôleur de nœud primaire
Pour déduire l’unité de données de position associée à un actionneur 204 correspondant au contrôleur de nœud primaire 206’, le contrôleur de nœud primaire 206’ traite simplement les signaux de rétroaction communiqués par son actionneur 204 correspondant (par ex. à l’instant de synchronisation associé à une période de synchronisation) pour générer une unité de données de position représentant complètement la position de son actionneur 204 correspondant. Ainsi qu’il a été mentionné précédemment, les signaux de rétroaction sont transmis depuis un actionneur 204 à son contrôleur de nœud 206 correspondant, à une fréquence de 5 MHz (ou d’environ 5 MHz). Ainsi, dans un mode de réalisation, le contrôleur de nœud primaire 206’ peut déduire les unités de position relatives à son actionneur 204 correspondant, à une fréquence de 5 MHz (ou d’environ 5 MHz). Dans un autre mode de réalisation cependant, le contrôleur de nœud primaire 206’ peut traiter les signaux de rétroaction pour extrapoler la position de son actionneur 204 correspondant, à une fréquence supérieure à 5 MHz (par ex. à une fréquence d’extrapolation allant jusqu’à 100 MHz, ou environ 100 MHz) selon toute technique appropriée ou connue. Ainsi, le contrôleur de nœud primaire 206’ peut déduire des unités de position relatives à son actionneur 204 correspondant, à une fréquence allant jusqu’à 100 MHz (ou environ 100MHz).
L’unité de données de position déduite à l’étape S318 est stockée au niveau du contrôleur de nœud primaire 206’ (par ex. dans une structure de données associant l’unité de données de position courante au contrôleur de nœud primaire 206’). Toute unité de position de données déjà stockée dans la structure de données relative à l’actionneur 204 correspondant au contrôleur de nœud primaire 206’ est écrasée par la nouvelle unité de position de données relative à l’actionneur 204.
ii. Déduction de la position d’un actionneur correspondant à un contrôleur de nœud secondaire
Pour déduire l’unité de données de position d’un actionneur 204 correspondant à un contrôleur de nœud secondaire 206’’, le contrôleur de nœud primaire 206’ traite séquentiellement des paquets de données de position hybrides véhiculés par le signal de rétroaction de position qui est reçu en provenance d’un contrôleur de nœud secondaire 206’’. Un exemple de mode de réalisation dans lequel les paquets de données de position hybrides véhiculés séquentiellement dans un signal de rétroaction de position, transmis par chaque contrôleur de nœud secondaire 206’’, sont traités au niveau du contrôleur de nœud primaire 206’ est décrit plus en détail en relation avec le processus 600 représenté sur la .
En référence à la , « n » représente un nombre ordinal d’une période de synchronisation dans un signal de rétroaction de position transmis par un contrôleur de nœud secondaire 206’’. Ainsi, « n » peut être tout nombre entier supérieur ou égal à un. De même, « m » représente un nombre ordinal d’une période d’actualisation au sein d’une période de synchronisation. Ainsi « m » représente également le nombre ordinal d’un paquet de données de position hybride véhiculé pendant une période de synchronisation. Ainsi qu’il a été exposé précédemment, « M » représente le nombre total de périodes d’actualisation (et donc de paquets de données de position hybrides) dans chaque période de synchronisation. Ainsi, « m » ne peut être qu’inférieur ou égal à « M ».
À l’étape S604 (accumuler paquet de données de position partiel du mième paquet de données hybride de la nième période de synchronisation), le contrôleur de nœud primaire 206’ traite un mième paquet de données de position hybride véhiculé pendant une nième période de synchronisation (par ex. une 1ère période de synchronisation) pour extraire des bits du paquet de données de position partiel véhiculé par celui-ci.
Ainsi qu’il est indiqué à l’étape S602, m est établi à 1 et le premier paquet de données de position hybride véhiculé pendant toute période de synchronisation particulière sera le premier paquet de données de position hybride à traiter à l’étape S604. Les bits extraits du paquet de données de position partiel peuvent être stockés au niveau du contrôleur de nœud primaire 206’ dans une structure de données en association avec : le contrôleur de nœud secondaire 206’’ qui l’a transmis, et l’emplacement où les bits du paquet de données de position partiel sont attribués au sein de l’unité de données de position de synchronisation.
À l’étape S606 (assembler une unité de données de déplacement à partir du mième paquet de données hybride de la nième période de synchronisation), le contrôleur de nœud primaire 206’ traite le mième paquet de données de position hybride véhiculé pendant la nième période de synchronisation pour extraire les bits du paquet de données de déplacement véhiculé par celui-ci. Les bits du paquet de données de déplacement extraits sont ensuite assemblés en une unité de données de déplacement (c’est-à-dire un mot de données multi-bit, ainsi qu’il est décrit ci-dessus).
À l’étape S608 (ajouter une unité de données de déplacement à une unité de données de position de synchronisation reconstruite de la n-1ième période de synchronisation), l’unité de données de déplacement obtenue à l’étape S606 est ajoutée à une unité de données de position de synchronisation (là encore, un mot de données multi-bit, comme décrit ci-dessus) associée à une période de synchronisation antérieure (c’est-à-dire une n-1ième période de synchronisation). Le mot de données multi-bit résultant est une unité de données de position représentant une position déduite d’un actionneur 204, qui peut être stockée au niveau du contrôleur de nœud primaire 206’ dans une structure de données en association avec le contrôleur de nœud secondaire 206’’correspondant en provenance duquel le paquet de données de position hybride a été reçu et, facultativement, également en association avec une valeur d’estampille temporelle interne générée par le contrôleur de nœud primaire 206’ (indiquant, par exemple, le moment auquel un mot de données multi-bit a été stocké, ou similaire).
Dans un mode de réalisation, et lors du stockage du mot de données multi-bit nouvellement obtenu à l’étape S608, le contrôleur de nœud primaire 206’ écrase tout mot de données multi-bit précédemment obtenu écrit dans la structure de données. Dans ce cas, la position déduite nouvellement obtenue à l’étape S608 peut être soumise à la détermination susmentionnée à l’étape S320 de la . Dans un autre mode de réalisation, cependant, le mot de données multi-bit nouvellement obtenu à l’étape S608 peut être ajouté à la fin dans la structure de données (avec son estampille temporelle associée), et tout mot de données multi-bit précédemment obtenu écrit dans la structure de données peut être conservé. Dans ce cas, la position déduite porteuse de l’estampille temporelle la plus récente (c’est-à-dire la position déduite nouvellement obtenue à l’étape S608) peut être soumise à la détermination susmentionnée à l’étape S320 de la .
À l’étape S610, le contrôleur de nœud primaire 206’ peut extrapoler, à partir de la position déduite obtenue à l’étape S606, la position de son actionneur 204 correspondant, à une fréquence d’extrapolation supérieure à la fréquence d’actualisation. Par exemple, la vitesse d’extrapolation peut atteindre jusqu’à 100 MHz ou environ 100 MHz. Ainsi, le contrôleur de nœud primaire 206’ peut déduire des unités de position pour un actionneur 204 correspondant à un contrôleur de nœud secondaire 206’’ à une fréquence allant jusqu’à 100 MHz (ou environ 100 MHz). Le résultat de l’extrapolation est une unité de données de position représentant une position déduite d’un actionneur 204, et peut être stockée au niveau du contrôleur de nœud primaire 206’ dans la structure de données en association avec le contrôleur de nœud secondaire 206’’correspondant en provenance duquel le paquet de données de position hybride a été reçu et, facultativement, également en association avec une valeur d’estampille temporelle interne générée par le contrôleur de nœud primaire 206’ (indiquant, par exemple, le moment auquel un mot de données multi-bit a été stocké, ou similaire).
Dans un mode de réalisation, et lors du stockage de l’unité de données de position nouvellement obtenue à l’étape S610, le contrôleur de nœud primaire 206’ écrase toute unité de données de position précédemment obtenue écrite dans la structure de données. Dans ce cas, la position dérivée nouvellement obtenue à l’étape S610 peut être soumise à la détermination susmentionnée à l’étape S320 de la . Dans un autre mode de réalisation, cependant, l’unité de données de position nouvellement obtenue à l’étape S610 peut être ajoutée à la fin dans la structure de données (avec son estampille temporelle associée), et toute unité de données de position précédemment obtenue écrite dans la structure de données peut être conservée. Dans ce cas, l’unité de données de position porteuse de l’estampille temporelle la plus récente (c’est-à-dire la position déduite nouvellement obtenue à l’étape S610) peut être soumise à la détermination susmentionnée à l’étape S320 de la .