Brevet FR3061383A1 — publié le 20180629

B15725 - 16-GR2-0823 1 SYNCHRONISATION D'UN RESEAU DE CAPTEURS Domaine La présente demande concerne la connexion d'un réseau de capteurs et plus particulièrement la synchronisation de l'acquisition de leurs mesures. Exposé de l'art antérieur Dans de nombreux cas pratiques, on souhaite utiliser un réseau de capteurs à sortie numérique pour acquérir divers paramètres d'une ou plusieurs cibles à analyser. Ces capteurs peuvent par exemple être des capteurs de pression, de tempéra- ture, d'intensité lumineuse et/ou de distance. Un capteur de temps de vol ou TOF (de l'anglais "Time of Flight") constitue un exemple de capteur de distance. Ce capteur comprend une source lumineuse émettant de la lumière en direction d'un point cible dont la distance au capteur doit être déterminée. Le capteur reçoit la lumière renvoyée par le point cible. La mesure du temps de vol, c'est-à-dire du temps mis par la lumière pour effectuer le trajet de la source lumineuse vers le point cible, et, en retour, de ce point jusqu'au capteur, permet de calculer la distance séparant le capteur du point cible. La figure 1 représente un ensemble de quatre cartes 10, chaque carte 10 comprenant un capteur 12 et un processeur de 3061383 B15725 - 16-GR2-0823 2 commande 14. Les quatre cartes 10 sont connectées par un lien parallèle à un même processeur 16 adapté à commander les cartes 10 et à programmer les processeurs 14 par des connexions 18 fonctionnant par exemple selon un protocole UART. 5 Le processeur 16 envoie, à travers les connexions 18, des commandes ou des codes de programmation aux cartes 10 et reçoit les données de mesure des divers capteurs 12. En pratique, les connexions correspondant aux connexions 18 ne permettent pas le pilotage de l'ensemble des 10 capteurs par le processeur de l'un des capteurs. Résumé Il peut être utile d'obtenir des mesures faites à un même instant par plusieurs capteurs. Par exemple, on peut souhaiter déterminer la position instantanée d'une cible mobile 15 au moyen d'un ensemble de capteurs de temps de vol. Ainsi, un mode de réalisation prévoit un procédé de synchronisation d'acquisition de mesures d'un système comprenant une pluralité de cartes dont chacune comprend un capteur et un processeur de commande, l'une parmi la pluralité de cartes 20 agissant en maître et les autres en esclaves, la carte maître étant adaptée à accéder à la pluralité de cartes, le procédé comprenant les étapes suivantes : effectuer, pour chaque carte, un comptage représentant le temps séparant l'instant de réception d'une commande de début 25 d'acquisition de mesure transmise par la carte maître et l'instant de fin d'acquisition de mesure ; calculer au niveau de la carte maître, en fonction desdits comptages, des retards à appliquer aux commandes de début d'acquisition des cartes pour que les acquisitions de 30 toutes les cartes se terminent au même instant ; et transmettre les commandes de début d'acquisition à la pluralité de cartes, le début d'acquisition de chaque carte étant retardé de la valeur du retard calculé pour cette carte. Selon un mode de réalisation, les échanges entre la 35 carte maître et les cartes esclave sont faits par un bus I2C. 3061383 B15725 - 16-GR2-0823 3 Selon un mode de réalisation, le retard Ri à appliquer à la commande de début d'acquisition d'une carte i est calculé selon la formule suivante : Ri = (N-i)*C + CN - Ci 5 où l'indice i désigne une carte et l'indice N désigne la carte dont l'acquisition se termine en dernier, avec i = 0...N, C est un comptage, fixé par la carte maître, entre les transmissions, par la carte maître, de commandes à deux cartes successives, et 10 Ci est un comptage effectué pour une carte i entre l'instant de réception d'une commande de début d'acquisition de mesure et l'instant de fin d'acquisition de mesure. Un mode de réalisation prévoit un système comprenant une pluralité de cartes dont chacune comprend un capteur et un 15 processeur de commande, connectés ensemble par un bus série, l'une parmi la pluralité de cartes agissant en maître et les autres en esclaves, la carte maître étant adaptée à accéder aux mesures de la pluralité de cartes et à envoyer ces mesures par une connexion UART, à un processeur hôte, l'acquisition des 20 mesures se faisant suivant le procédé ci-dessus. Selon un mode de réalisation, le bus série est un bus I2C. Selon un mode de réalisation, les capteurs sont des capteurs de temps de vol. Selon un mode de réalisation, le processeur de la carte maître et le processeur hôte sont co-intégrés, la liaison UART restant accessible. Brève description des dessins Ces caractéristiques et avantages, ainsi que d'autres, 30 seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : la figure 1, décrite précédemment, représente, schématiquement et partiellement, des capteurs connectés à un 35 processeur commun par un lien parallèle ; 3061383 B15725 - 16-GR2-0823 4 la figure 2 représente, schématiquement et partiellement, un mode de réalisation d'un système de capteurs ; et les figures 3 et 4 sont des chronogrammes représentant le fonctionnement d'un mode de réalisation d'un procédé de 5 synchronisation d'acquisition de mesures de capteurs. Description détaillée De mêmes éléments ont été désignés par de mêmes réfé- rences dans les différentes figures et, de plus, les chronogrammes ne sont pas tracés à l'échelle. Par souci de 10 clarté, seuls les éléments utiles à la compréhension des modes de réalisation décrits ont été représentés et sont détaillés. La figure 2 représente quatre cartes, parmi lesquelles une carte 20 configurée pour agir en maître et trois cartes 21 configurées pour agir en esclave. Quatre cartes sont décrites 15 ici à titre d'exemple. En pratique, il y a généralement un plus grand nombre de cartes, par exemple seize, dont l'une est une carte maître. Quand cela sera utile, on considèrera qu'il y a N+1 cartes, d'indice i compris entre 0 et N. La carte maître 20 et les cartes esclave 21 20 comprennent toutes un capteur 12. La carte maître 20 comprend un processeur 22, et chacune des cartes esclave 21 comprend un processeur 23. La programmation des processeurs 23 des cartes esclave est limitée, dans cette configuration, à assurer les tâches de 25 fonctionnement du capteur 12 de cette carte, c'est-à-dire le démarrage et l'arrêt de l'acquisition de mesures, la conservation des mesures dans des registres, etc. La programmation du processeur 22 de la carte maître 20 lui permet d'accomplir des tâches supplémentaires par rapport à celles accomplies par les processeurs 23 des cartes esclaves 21, par exemple accéder aux registres des processeurs 23, ou transmettre des données à des circuits extérieurs, ou encore piloter les processeurs esclave, par exemple pour des étalonnages, un formatage des données, une régulation des alimentations, un décalage de niveaux, une suppression d'interférences... 3061383 B15725 - 16-GR2-0823 5 La carte 20 et les cartes 21 sont couplées à un bus série 24, de préférence à un bus I2C. Un avantage d'un protocole I2C pour les échanges entre les cartes 20 et 21 est sa facilité d'utilisation. Il s'agit d'un protocole simple, gérable par la 5 majorité des composants programmables récents, et permettant une configuration maître/esclaves. De plus, la liaison I2C ne nécessite que deux fils, ce qui la rend simple à implémenter. La carte maître 20 est connectée, par exemple par une connexion UART 26, à un processeur hôte 28. Dans un mode de 10 réalisation, le processeur hôte 28 est intégré au processeur 22 de la carte maître, une liaison UART étant accessible avec l'extérieur. Un avantage de la connexion UART est qu'elle est bien connue et couramment utilisée par les praticiens de la program- 15 mation. En effet, de nombreux circuits existants et facilement accessibles, par exemple des convertisseurs, ou des circuits de traitement de données, fonctionnent selon un protocole UART. Le processeur hôte 28 est un processeur adapté à recevoir des données de la carte maître 20 par une connexion 20 UART et à les traiter et/ou les transmettre, par exemple, par une connexion sans fil 30. Le processeur 28 est aussi adapté à recevoir des instructions depuis un appareil extérieur, par exemple un téléphone portable, et à commander le processeur maître 22 ou à changer sa programmation. L'appareil extérieur 25 peut contenir des processeurs logiques ou graphiques. Lorsque la carte maître 20 lance une acquisition, des commandes de début d'acquisition spécifiques à chaque carte sont envoyées aux adresses des cartes correspondantes par le bus I2C 24. Les cartes reçoivent les unes après les autres leur commande 30 spécifique de début d'acquisition selon un ordre programmé, par exemple, par la programmation de leurs adresses. Les mesures des capteurs 12 sont conservées dans des registres des processeurs 23 des cartes esclave 21. La carte maître 20 accède aux registres du processeur 22 de la carte maître 20 ou aux 35 registres des processeurs 23 des cartes esclaves 21 par le bus 3061383 B15725 - 16-GR2-0823 6 I2C et rend les mesures obtenues disponibles sur la connexion UART 26. Pour détecter de façon précise les conditions d'un ou plusieurs objets cible, il est souhaitable que tous les capteurs 5 d'un système de capteurs acquièrent les données relatives à ce ou ces objets cible à un même instant. Ces capteurs peuvent être de même nature ou être différents les uns des autres. On prévoit ici un procédé de synchronisation permettant d'assurer cette fonction d'acquisition simultanée. Par souci de simplification, 10 ce procédé sera décrit ci-après, à titre d'exemple seulement, en relation avec des capteurs de temps de vol, mais on comprendra qu'il s'applique à la synchronisation de tous types de capteurs. Pour détecter de façon précise la position instantanée d'un objet à analyser, il convient que tous les capteurs de 15 temps de vol effectuent une mesure au même instant. Il se pose donc un problème de synchronisation de ces capteurs. La figure 3 représente une étape d'initialisation d'un processus de synchronisation et la figure 4 illustre la réalisation d'un processus de synchronisation. 20 On suppose que la carte maître envoie diverses instructions de commande à elle-même et à toutes les autres cartes, à des périodes espacées d'une durée correspondant à un comptage C réalisé par le processeur de la carte maître. Les instructions comprennent notamment des instructions d'adressage 25 d'une carte, des instructions de lecture du capteur de la carte précédente, des instructions de lecture d'un compteur de la carte précédente, et des instructions de début d'acquisition. La figure 3 représente, dans le cas particulier de quatre cartes, So, Si, S2, S3, des chronogrammes correspondant à 30 chacune de ces cartes. Ainsi, chacune des cartes So, Si, S2, S3, par suite de la réception d'une instruction de début d'acquisition fournie à son adresse, produit une impulsion de début d'acquisition 40, 41, 42, 43. Ensuite, pendant des durées correspondant à des comptages respectifs Co, Ci, C2, C3, chacune 35 des cartes effectue une acquisition de temps de vol au moyen de 3061383 B15725 - 16-GR2-0823 7 son capteur. On a indiqué pour chaque carte, un instant ToSo, ToSi, ToS2, ToS3 auquel cette carte reçoit les instructions de commande. Les cartes commencent leurs acquisitions à des instants respectifs 11S0, 11S1, 11S2, 11S3 et finissent leur 5 acquisition à des instants respectifs 1250, 12S1, 1252, 1253. Les comptages Co, Cl, C2, C3 sont effectués au niveau de chaque carte pendant la durée d'acquisition de la carte concernée et tiennent donc compte de dérives éventuelles, par exemple des défauts d'horloge et des décalages de prise en 10 charge d'instruction. Si on procède de la façon indiquée en figure 3, les acquisitions de temps de vol sont effectuées par chacune des cartes à des instants successifs décalés de la durée C entre deux commandes émises par la carte maître. Ainsi, dans le cas de 15 la détection d'un objet mobile, l'objet aura bougé entre les quatre mesures qui ne sont pas effectuées à un même instant. On utilise ici les comptages Co, Cl, C2, C3 définis en relation avec la figure 3 lors d'une phase d'initialisation d'un procédé de synchronisation. Ensuite, comme l'illustre la figure 20 4, on procède à des décalages des instants de début d'acquisition des différentes cartes en tenant compte des mesures d'initialisation faites lors des étapes décrites en relation avec la figure 3. Si on généralise la description du système, et que 25 l'on considère que le système comprend non pas quatre mais N+1 cartes i, avec i compris entre 0 et N, on retarde le début effectif de l'acquisition de données par une carte d'un retard : Ri = (N-i)*C + CN - Ci où l'indice i désigne une carte, l'indice N désigne la carte 30 dont l'acquisition se termine en dernier, avec i = 0...N, C est un comptage, fixé par la carte maître, entre les transmissions, par la carte maître, de commandes à deux cartes successives, et 3061383 B15725 - 16-GR2-0823 8 Ci est un comptage effectué pour une carte i entre l'instant de réception d'une commande de début d'acquisition de mesure et l'instant de fin d'acquisition de mesure. Les retards Ro, R1 et R2 peuvent se voir en figure 4 5 dans le cas particulier d'une réalisation à seulement quatre cartes. Le début de l'acquisition de données de la carte SO est retardé d'un retard Ro, celui de la carte Si d'un retard R1, et celui de la carte S2 d'un retard R2. Ainsi, les acquisitions de toutes les cartes se terminent toutes à un même instant 1253 de 10 fin d'acquisition par la carte 53. En pratique, notamment dans le cas de la détection d'un objet mobile, on souhaite réaliser plusieurs acquisitions successives de la position de cet objet. On pourra procéder plusieurs fois de suite au processus décrit en relation avec la 15 figure 4 en supposant que les comptages Co, Cl, C2, C3 ne sont pas susceptibles de varier au cours du temps. Par contre, si on suppose que ces comptages sont susceptibles de varier, par exemple parce que les divers capteurs sont soumis à des conditions expérimentales (température, accélération, variation des 20 conditions atmosphériques...) fortement variables, on effectuera, avant chaque acquisition du type décrit en relation avec la figure 4, une étape d'initialisation du type décrit en relation avec la figure 3. On notera que, grâce à l'utilisation d'un bus série 25 tel qu'un bus I2C entres les diverses cartes, les synchronisations des transmissions d'ordres successifs aux adresses des diverses cartes sont particulièrement simples à mettre en oeuvre. REVENDICATIONS1. Procédé de synchronisation d'acquisition de mesures d'un système comprenant une pluralité de cartes (20, 21) dont chacune comprend un capteur (12) et un processeur de commande (22, 23), l'une (20) parmi la pluralité de cartes agissant en 5 maître et les autres (21) en esclaves, la carte maître étant adaptée à accéder à la pluralité de cartes, le procédé comprenant les étapes suivantes : effectuer, pour chaque carte, un comptage (C0-C3) représentant le temps séparant l'instant (TOSO-TOS3) de récep- 10 tion d'une commande de début d'acquisition de mesure transmise par la carte maître et l'instant (T2SO-T2S3) de fin d'acquisition de mesure ; calculer au niveau de la carte maître, en fonction desdits comptages, des retards (R0-R2) à appliquer aux commandes 15 de début d'acquisition des cartes pour que les acquisitions de toutes les cartes se terminent au même instant (T2S3) ; et transmettre les commandes de début d'acquisition à la pluralité de cartes, le début d'acquisition de chaque carte étant retardé de la valeur du retard calculé pour cette carte. 20 2. Procédé selon la revendication 1, dans lequel les échanges entre la carte maître (20) et les cartes esclave (21) sont faits par un bus I2C (24). 3. Procédé selon la revendication 1 ou 2, dans lequel le retard Ri à appliquer à la commande de début d'acquisition 25 d'une carte i est calculé selon la formule suivante : Ri = (N-i)*C + CN - Ci où l'indice i désigne une carte et l'indice N désigne la carte dont l'acquisition se termine en dernier, avec i = 0...N, C est un comptage, fixé par la carte maître, entre les 30 transmissions, par la carte maître, de commandes à deux cartes successives, et Ci est un comptage effectué pour une carte i entre l'instant de réception d'une commande de début d'acquisition de mesure et l'instant de fin d'acquisition de mesure. 3061383 B15725 - 16-GR2-0823 10 4. Système comprenant une pluralité de cartes (20, 21) dont chacune comprend un capteur (12) et un processeur de commande (22, 23), connectés ensemble par un bus série (24), l'une (20) parmi la pluralité de cartes agissant en maître et les autres (21) en esclaves, la carte maître étant adaptée à accéder aux mesures de la pluralité de cartes et à envoyer ces mesures par une connexion UART (26), à un processeur hôte (28), l'acquisition des mesures se faisant suivant le procédé de l'une quelconque des revendications 1 à 3. 5. Système selon la revendication 4, dans lequel le bus série est un bus I2C. 6. Système selon la revendication 4, dans lequel les capteurs sont des capteurs de temps de vol. 7. Système selon la revendication 4, dans lequel le 15 processeur de la carte maître et le processeur hôte sont cointégrés, la liaison UART restant accessible.