INPI-France/Brevets-Francais-2024-Chunked huggingface dataset:
La troisième voie optique, schématisée sur la , peut être combinée avec la configuration représentée sur les figures 2A à 2C, ou avec la deuxième voie optique, comme représenté sur la . Dans ce dernier cas, le viseur permet de projeter la troisième image I3 superposée à la deuxième image I2, selon les principes de la réalité augmentée.
Un aspect à prendre en compte est la focalisation des images projetées. Afin que l’utilisateur n’ait pas à accommoder sa vision, la première image I1 et la deuxième image I2, et éventuellement la troisième image I3, doivent être affichées dans la profondeur de champ de l’œil. Par profondeur de champ de l’œil, on entend la variation de distance pouvant être tolérée sans entraîner de manque significatif de netteté. Ceci se traduit par la contrainte suivante sur les systèmes optiques : les distances , et , définies respectivement entre les pupilles PS1, PS2 et PS3 (qui est égale à PS1 par construction selon la configuration de la ) et les images I1, I2 et I3 vues à travers leurs voies optiques respectives, exprimées en dioptries (1/m), ne doivent pas s’écarter de 0,25 dioptries l’une de l’autre. Soit :
Le viseur est destiné à être intégré dans un dispositif d’observation 2, par exemple un appareil photographique ou une lunette. L’encombrement du viseur doit permettre une telle intégration. On suppose que les paramètres Eye Relief ER et le diamètre de chaque pupille de sortie sont identiques pour chaque voie optique. Le volume du viseur est limité par les dioptres de sortie 15 et 25, dont le diamètre est défini dans (1). Sur la , on a représenté un agencement, selon lequel le premier et le deuxième système optique s’étendent, dans un plan passant par chaque axe optique, dans deux parallélépipèdes respectifs au contact l’un de l’autre, d’épaisseurs respectives e1 et e2. Les épaisseurs e1 et e2 sont reliées par l’expression :
L’épaisseur totale e est telle que
Le dimensionnement du viseur peut être réalisé en prenant en compte les paramètres suivants, le premier système optique étant tel que décrit en lien avec la .
Pour chaque système optique :
L’évolution de la position angulaire du moteur 11 est illustrée par la courbe 68.
L’exemple est illustré pour plusieurs plages de fonctionnement du moteur.
D’abord le moteur tourne à une vitesse nominale, ici choisie égale à 3000 tours par minutes (rpm) à des fins d’illustration, mais pouvant être différente en pratique (première séquence : la vitesse du rotor ω rotor est égale à 3000 rpm). Le couple exercé par la charge, par le frein et par le moteur sont constants.
Ensuite, le moteur 11 ralentit pour atteindre une vitesse nulle (deuxième séquence : la vitesse du rotor ω rotor passe de 3000 rpm à 0 rpm). Pendant cette deuxième séquence, le couple moteur 66 disparaît et le couple 62 exercé par la charge diminue alors que le couple de freinage 64 (couple de traînée) reste constant.
Puis, le moteur subit un retour en arrière (troisième séquence : ω rotor retour arrière) sous l’effet du rappel de traînée pendant qu’il parcourt la plage angulaire correspondant à l’angle de déverrouillage. A ce stade, les bobines 30 du moteur ne sont plus alimentées et ne produisent aucune force électromagnétique sur le rotor 26. Le couple de freinage 64 change de signe. La durée correspondante de cette séquence est notée T1. Dans l’exemple illustré, la variation de position angulaire du moteur pendant cette séquence est égale à 60°.
Enfin, le moteur reste immobile (quatrième séquence : ω rotor = 0).
La illustre l’évolution, en fonction du temps (axe des abscisses), des couples mécaniques exercés sur le rotor du moteur 11 (graphique du haut de la , sur l’axe noté C rotor ) et de l’angle du rotor (graphique du bas de la ) lorsque l’actionneur 4 een fonctionnement est soumis à une commande d’arrêt, la charge 2 étant déplacée dans un sens descendant, c’est-à-dire un sens opposé à celui du sens de rotation de l’actionneur dans l’exemple de la .
Sur le graphique 70 sont représentées le couple exercé par la charge (référence 72), le couple de freinage (référence 74) exercé par le frein 16 et le couple moteur, ou couple électromagnétique, exercé par le moteur 11 sur le rotor 26 (référence 76) lors d’un mouvement pendant lequel la charge est menante.
L’évolution de la position angulaire du moteur 11 est illustrée par la courbe 78.
L’exemple est illustré pour plusieurs plages de fonctionnement du moteur identiques à celles définies pour l’exemple de la .
Le fonctionnement du moteur 11 est ici analogue à l’exemple de la , mis à part pour les valeurs des couples 72, 74 exercés par la charge 2 et par le frein 16 du fait que la charge se déplace ici dans un sens descendant (en charge menante) plutôt qu’un sens montant (en charge menée).
D’autres exemples sont possibles sans limiter la portée de l’invention.
Grâce à l’invention, le frein à ressort permet de fournir un couple proche de zéro pendant un angle de rotation au démarrage du moteur suffisant pour étalonner le procédé de pilotage lors de chaque démarrage. Cela évite toute erreur dans l’estimation de la position qui pourrait résulter d’un changement du régime de fonctionnement du moteur (par exemple lors du passage d’un régime de charge menée vers un régime de charge menante). En outre, définir la position angulaire du rotor du moteur lors de l’intervalle de positions angulaires correspondant à l’angle de déverrouillage à chaque démarrage du moteur permet de garantir que le moteur pourra démarrer avec un couple faible, quel que soit le couple réel auquel l’actionneur sera effectivement soumis et tout en utilisant le même procédé de détermination de position au démarrage et en fonctionnement.
Procédé de commande en fonctionnement d’un dispositif d’entraînement motorisé, dispositif d’entraînement motorisé et dispositif d’occultation associés La présente invention concerne un procédé de commande en fonctionnement d’un dispositif d’entraînement motorisé.
En outre, la présente invention concerne un dispositif d’entraînement motorisé, en particulier pour un dispositif d’occultation, autrement dit un dispositif d’entraînement motorisé d’un dispositif d’occultation, configuré pour mettre en œuvre un tel procédé de commande, autrement dit mettant en œuvre un tel procédé de commande, ainsi qu’un dispositif d’occultation comprenant un tel dispositif d’entraînement motorisé.
est une représentation schématique d’un ensemble comprenant un dispositif pour effectuer des opérations de diagnostic et/ou de réécriture à distance sur un microcontrôleur, et un élément d'éclairage et/ou de signalisation d’un véhicule relié au dispositif et à une unité de commande électronique du véhicule, l’élément d'éclairage et/ou de signalisation comprenant un circuit électronique selon l’invention ;
est une représentation schématique du circuit électronique de la selon un mode de réalisation particulier de l’invention, le circuit électronique comprenant un émetteur-récepteur et un microcontrôleur ; et
est un organigramme représentant un procédé, mis en œuvre par un micrologiciel stocké dans le microcontrôleur du circuit électronique de la , d’activation d’un mode de communication conforme au protocole LIN entre l’émetteur-récepteur et le microcontrôleur.
Description détaillée La est une représentation schématique d’un ensemble comprenant un dispositif 1 pour effectuer des opérations de diagnostic et/ou de réécriture à distance sur un microcontrôleur, et un élément d'éclairage et/ou de signalisation 4 de véhicule.
Le dispositif 1 comprend des moyens 6 d’émission et de réception de signaux conformes au protocole de communication LIN (de l’anglais « Local Interconnect Network »), des moyens 8 de connexion à une broche 10 de transmission et de réception de signaux (une telle broche 10 n’étant pas représentée sur la mais étant visible sur la ), et des moyens 12 de connexion à un bus d’alimentation électrique 14 installé au sein du véhicule. De préférence, le dispositif 1 comporte également un ordinateur portable 13 muni d’une prise USB 15 (de l’anglais « Universal Serial Bus »).
Comme illustré sur la , les moyens 6 d’émission et de réception de signaux conformes au protocole de communication LIN sont par exemple constitués d’un convertisseur de format USB/LIN connecté sur la prise USB 15 du dispositif 1. Dans l’exemple de réalisation particulier de la , les moyens 8 de connexion à une broche 10 de transmission et de réception de signaux et les moyens 12 de connexion au bus d’alimentation électrique 14 sont formés par un unique connecteur 16. Le connecteur 16 est relié au convertisseur de format USB/LIN 6 et comprend une interface 8 (sous la forme d’un ou plusieurs port(s)) de connexion à la broche 10 de transmission et de réception de signaux et une interface 12 (sous la forme d’un ou plusieurs port(s)) de connexion au bus d’alimentation électrique 14.
L’élément d’éclairage et/ou de signalisation 4 est relié à une unité 20 de commande électronique du véhicule via un bus de communication de données 18. Le bus de communication de données 18 comporte plusieurs liaisons ou faisceaux. Un sous-ensemble de liaisons du bus de communication de données 18 constitue le bus d’alimentation électrique 14. De préférence, comme illustré sur la , le bus de communication de données 18 est muni d’un connecteur 21 constitué de deux parties complémentaires 21A, 21B détachables l’une de l’autre, telles qu’une partie mâle 21A et une partie femelle 21B. Ceci permet, lorsque les parties complémentaires 21A, 21B sont détachées l’une de l’autre, de pouvoir connecter le connecteur 16 (et plus particulièrement les interfaces 8, 12) entre ces parties 21A, 21B, afin de récupérer d’une part l’alimentation électrique issue du bus d’alimentation électrique 14 pour venir alimenter un circuit électronique 22 de l’élément d’éclairage et/ou de signalisation 4, et de permettre d’autre part une communication entre le dispositif 1 et ce circuit électronique 22. Plus précisément, l’interface 8 est apte à être connectée à la partie 21B du connecteur 16, et l’interface 12 est apte à être connectée à la partie 21A du connecteur 16. Le circuit électronique 22 de l’élément d’éclairage et/ou de signalisation 4 est alors relié uniquement au dispositif 1.
L’élément d’éclairage et/ou de signalisation 4 comporte un élément optique du type lentille, un boîtier et un ou plusieurs élément(s) lumineux de type diode(s) électroluminescente(s) (ces différents éléments n’étant pas représentés sur les figures pour des raisons de clarté). L’élément d’éclairage et/ou de signalisation 4 comporte également un circuit électronique 22 agencé au sein du boîtier et relié aux éléments lumineux. Selon un mode de réalisation particulier de l’invention, le circuit électronique 22 peut être agencé au sein d’un module électronique de pilotage, ce dernier étant avantageusement monté amovible dans l’élément d'éclairage et/ou de signalisation 4. Un tel module (non représenté sur les figures) permet un pilotage, par l’unité de commande électronique 20, des éléments lumineux de type diodes électroluminescentes. Le module électronique de pilotage est généralement encapsulé dans l’élément 4 et peut comporter, outre le boîtier et le circuit électronique 22, un radiateur pour dissiper l’énergie thermique émise. L’élément d'éclairage et/ou de signalisation 4 est typiquement un projecteur de véhicule, par exemple un projecteur de phare ou de feu de signalisation (typiquement un projecteur de feu avant ou arrière).
Comme illustré sur la , le circuit électronique 22 comporte un microcontrôleur 24, un émetteur-récepteur de signaux conforme au protocole de communication LIN 26, et une broche 10 de transmission et de réception de signaux. De préférence, le circuit électronique 22 comporte également une résistance 30, une première résistance de tirage 32 et une seconde résistance de tirage 34. Le circuit électronique 22 se présente typiquement sous la forme d’une carte de circuit imprimé ou PCB (de l’anglais « Printed Circuit Board »).
Le microcontrôleur 24 stocke un micrologiciel (non représenté sur les figures) et est relié aux éléments lumineux de type diodes électroluminescentes. Le microcontrôleur 24 présente une première entrée 36, une deuxième entrée 38 et une sortie 40. Le micrologiciel est configuré pour appliquer en permanence un état franc haut sur la sortie 40 du microcontrôleur 24.
L’émetteur-récepteur de signaux conforme au protocole de communication LIN 26 est relié à la broche 10 de transmission et de réception de signaux. L’émetteur-récepteur 26 présente une entrée 42 de transmission de signaux et une sortie 44 de réception de signaux. L’entrée 42 de transmission de signaux de l’émetteur-récepteur 26 est reliée à la sortie 40 du microcontrôleur 24 via une première liaison de données 46. La sortie 44 de réception de signaux de l’émetteur-récepteur 26 est reliée à la première entrée 36 du microcontrôleur 24 via une deuxième liaison de données 48, et à la deuxième entrée 38 du microcontrôleur 24 via une troisième liaison de données 50.
La broche 10 de transmission et de réception de signaux est reliée à l’unité de commande électronique 20 via le bus de communication de données 18. La broche 10 est également apte à être reliée au dispositif 1 via le connecteur 21. La broche 10 de transmission et de réception de signaux est configurée pour recevoir des signaux modulés via une modulation de largeur d’impulsions et issus du bus de communication de données 18 (plus précisément de l’unité de commande électronique 20, comme cela sera détaillé par la suite). De tels signaux permettent par exemple de lancer des scénarios ou animations lumineuses sur les éléments lumineux de type diodes électroluminescentes (tels que par exemple des effets de clignotement ou des effets lumineux défilants), notamment lors d’un verrouillage ou d’un déverrouillage du véhicule par un utilisateur. La broche 10 de transmission et de réception de signaux est également configurée pour transmettre et recevoir des signaux conformes au protocole de communication LIN. Les signaux LIN reçus par la broche 10 et issus du dispositif 1 sont typiquement des requêtes de diagnostic d’un ou plusieurs élément(s) lumineux par le microcontrôleur 24, ou encore des requêtes de réécriture à distance sur le microcontrôleur 24. Les signaux LIN transmis par la broche 10 et issus du microcontrôleur 24 sont typiquement des signaux indicatifs d’une ou plusieurs défaillance(s) sur les éléments lumineux, ou encore des signaux indicatifs de l’état courant de ces éléments lumineux et permettant d’effectuer leur diagnostic. De tels signaux permettent ainsi de savoir quelle fonction lumineuse est éventuellement en défaut sur l’élément d’éclairage et/ou de signalisation 4.
La résistance 30 est connectée en série entre la sortie 44 de réception de signaux de l’émetteur-récepteur 26 et la deuxième entrée 38 du microcontrôleur 24.
La première résistance de tirage 32 est connectée entre d’une part un premier point de jonction 52 situé sur la première liaison de données 46 et d’autre part une source d’alimentation électrique 54 fournissant une tension électrique constante positive. La tension électrique constante positive fournie par la source d’alimentation électrique 54 est par exemple sensiblement égale à 5 V, sans que cela ne soit limitatif dans le cadre de la présente invention. La première résistance de tirage 32 est configurée pour imposer un état haut au potentiel électrique du premier point de jonction 52.
La seconde résistance de tirage 34 est connectée entre d’une part un second point de jonction 56 situé sur la troisième liaison de données 50 et d’autre part une source d’alimentation électrique 54 fournissant une tension électrique constante positive. La tension électrique constante positive fournie par la source d’alimentation électrique 54 est par exemple sensiblement égale à 5 V, sans que cela ne soit limitatif dans le cadre de la présente invention. La seconde résistance de tirage 34 est configurée pour imposer un état haut au potentiel électrique du second point de jonction 56.
Comme cela est illustré sur la , les systèmes sur puce modernes munis de processeurs, offrent la capacité d’étendre les fonctionnalités du système avec des périphériques maîtres PER qui exploitent le même type d'interface de communication ou dispositif d'interconnexions INT que le ou les cœurs du processeur pour interagir avec le système, et notamment avec la mémoire principale MM. Pour éviter que les périphériques PER puissent accéder librement à tout l’espace mémoire du système, un processeur étant muni d'au moins un cœur C et éventuellement, voire souvent, d'au moins une unité de gestion de mémoire MMU, placent ces périphériques derrière un mécanisme de protection mémoire.
Le composant implémentant ce mécanisme est habituellement appelé unité de gestion des accès à la mémoire partagée du processeur par des périphériques ou IOMMU pour acronyme de "Input-Output memory management unit" en langue anglaise, mais peut parfois aussi avoir la dénomination de SMMU pour acronyme de "System Memory Management Unit" en langue anglaise, ou VT pour acronyme de "Virtualization Technology" en langue anglaise.
L’unité IOMMU de gestion des accès à la mémoire partagée du processeur par des périphériques PER au système est le pendant, pour les périphériques, de l'unité de gestion de mémoire MMU pour le ou les cœurs (C) du processeur.
Le partage d'une mémoire principale MM est décrit dans une table des pages d’entrées/sorties IOPT pour les périphériques PER et dans la table des pages d’unité de gestion mémoire MMUPT pour les processus s'exécutant sur le ou les cœurs C. Ces tables IOPT et MMUPT sont stockées en mémoire principale MM.
L'unité IOMMU de gestion des accès à la mémoire partagée du processeur par des périphériques PER, comprend une mémoire tampon TLB de traductions, pour acronyme de "Translation Lookaside Buffer" en langue anglaise, dont chaque entrée ou ligne correspond à une traduction d’une adresse virtuelle issue d’un périphérique en une adresse physique à destination du système. L'unité IOMMU de gestion des accès à la mémoire partagée du processeur comprend également un circuit logique Logic associé à la mémoire tampon TLB de traductions. L’unité IOMMU peut également comprendre un module PTW de pointeur courant, pour acronyme de "Page Table Walker" en langue anglaise, pour la mise à jour autonome (c’est-à-dire, sans l’intervention du processeur) de la mémoire tampon TLB.
Le système d’exploitation ou OS pour acronyme d' "Operating System" en langue anglaise, configure l'unité IOMMU pour définir les zones mémoires du système que les différents périphériques attachés à l’unité IOMMU peuvent accéder. Comme pour l'unité de gestion de mémoire MMU, des traductions peuvent être réalisées entre les adresses ou SPA pour acronyme de "System Physical Address" en langue anglaise, et les adresses des périphériques ou IOVA, pour acronyme de "Input/Output Virtual Address" en langue anglaise, qu’on appelle adresses virtuelles. D’autres services peuvent être fournis par l’unité IOMMU, mais n’ont pas besoin d’être décrits pour la présente invention.
Pour configurer l'accès à la mémoire partagée fourni par l’unité IOMMU, le système d’exploitation passe par l'intermédiaire de la table des pages d'entrées/sorties IOPT dans laquelle il définit les droits d'accès et traductions pour les différents périphériques. Cette table est gardée dans la mémoire (typiquement la DRAM) du système. Pour accélérer l’accès à cette table l’unité IOMMU implémente une mémoire tampon, TLB, dans laquelle les entrées les plus fréquemment utilisées sont gardées.
Grâce à l’unité IOMMU le système d’exploitation peut limiter les zones mémoires du système auxquelles les périphériques peuvent accéder, partager un espace d’adressage virtuel entre un processus et un périphérique, et garantir l’intégrité et la confidentialité des données des différentes applications et périphériques du système. Ceci permet aussi de s’assurer que deux périphériques pour lesquels le système d’exploitation a défini des zones de mémoire disjointes ne peuvent pas communiquer entre eux.
Malheureusement, les périphériques peuvent exploiter la mémoire tampon TLB de l’unité IOMMU pour connaitre les données qu’un autre périphérique manipule (attaque par canal auxiliaire ou "side-channel attack" en langue anglaise) ou pour se communiquer des données (attaque par canal caché ou "covert-channel attack" en langue anglaise). Pour cela des approches également utilisées pour mettre en place des attaques cryptographiques grâce à un canal secondaire qui utilise la synchronisation du tampon de traduction ou "TLBleed" en langue anglaise, ou une vulnérabilité matérielle de la prédiction de branchement de type "Spectre" ou "Meltdown" en langue anglaise peuvent être exploitées.
Les documents "Secure TLBs", de Shuwen Deng, Wenjie Xiong, et Jakub Szefer, Proceedings of the 46th International Symposium on Computer Architecture (ISCA), 2019, et US20200151111 A1, illustrent de tels systèmes sur puce de l'état de l'art.
Comme expliqué précédemment, l'unité IOMMU ne protège pas des attaques de type par canal auxiliaire ou par canal caché par des périphériques malveillants. Des implémentations existent qui visent à limiter ce type d’attaques, mais qui ne l’adressent pas directement, car elles ont été proposées pour d’autres raisons que la sécurité, comme des raisons de performance. Par exemple, plusieurs unités IOMMU peuvent être déployées dans un système sur puce, comme une unité IOMMU A et une unité IOMMU B, ce qui empêche un périphérique connecté sur l’unité IOMMU A d’exploiter les faiblesses de l’unité IOMMU A pour transférer une donnée non-partagée (attaque par canal caché ou "covert-channel attack") à un périphérique connecté sur l’unité IOMMU B car les unités IOMMU ne sont pas partagées. Appliquer cette solution à l’extrême en plaçant une unité IOMMU devant chaque périphérique comporterait plusieurs problèmes : ce n’est pas applicable pour les périphériques externes (ceux exposant un connecteur sur le système sur puce comme les périphériques de type PCI/PCI-Express) car on peut connecter plusieurs périphériques sur un même connecteur. un tel déploiement incrémente considérablement la surface nécessaire sur le système sur puce ce qui incrémente son coût et sa consommation.
Une solution comme celle proposée pour les unités de gestion mémoire MMU, comme dans les documents cités ci-dessus, pourrait être implémentée sur l’IOMMU mais, dans le cas d’ajouts d’aléas dans le temps de traitement d’une requête mémoire (cf article "Secure TLBs", Proceedings of the 46th International Symposium on Computer Architecture (ISCA), 2019), aucun scénario d’utilisation ne permet d’obtenir des performances équivalentes à une unité IOMMU non protégée. En effet, l’ajout d'absences de traductions présentes dans la mémoire tampon TLB dégrade les performances en termes de latence et de débit. Ce type de défense dégrade les performances des entrées/sorties significativement même lorsqu’un seul périphérique effectue des transactions mémoire, sans pour autant réduire significativement le débit du canal caché. En effet, un attaquant peut utiliser un code correcteur d’erreur pour les bits d’informations transmis potentiellement fautés. En outre, les techniques de partitionnement de la mémoire tampon TLB ou de l’unité IOMMU ne permettent pas non plus d’obtenir des performances natives. Lorsque peu de périphériques utilisent l’unité IOMMU, le matériel est sous utilisé, et la situation devient finalement similaire au cas d’utilisation dans lequel on attacherait une unité IOMMU par périphérique.
Les solutions de l’état de l’art au niveau de l'unité de gestion mémoire MMU ne sont pas efficaces dans le cas d’une attaque par canal caché ou "covert channel" car un attaquant peut les contourner. De plus, elles ne sont pas optimisées pour le trafic mémoire généré par un périphérique.
Un but de l'invention est de pallier les problèmes précédemment cités, et notamment de limiter ce type d’attaques sur l’unité de gestion IOMMU des accès à la mémoire partagée du processeur par des périphériques.