FR 2749462 A1 19971205 FR 9606824 A 19960604 La présente invention concerne le domaine des dispositifs autono- mes, notamment les dispositifs médicaux implantés actifs, et plus par- ticulièrement l'échange de données pendant les séquences de communi- cation entre le dispositif autonome et une console de contrôle extéri- eure. Les dispositifs médicaux implantés actifs comprennent notamment les stimulateurs cardiaques, les défibrillateurs, les appareils neurologi- ques, les pompes de diffusion de substances médicales et les implants cochléaires. L'invention n'est cependant pas limitée aux dispositifs médicaux implantés actifs et, bien que dans la suite on fera référence à ces demrni- ers, l'invention s'applique aussi bien à des dispositifs médicaux non im- plantés (par exemple portés par le patient) ou non actifs (par exemple des dispositifs, implantés ou non, dépourvus de source d'énergie propre et utilisant pour l'émission de messages vers l'extérieur une fraction de l'énergie du signal d'interrogation qui leur est appliqué), ou même à des dispositifs autonomes autres que médicaux. La référence à un "im- plant" dans la description n'est donc pas en elle-même limitative. Ces appareils, une fois mis en place, sont programmés de l'extéri- eur au moyen d'une console distante appelée "programmateur". La vérification des paramètres de l'implant ou la transmission d'informa- tions enregistrées par celui-ci s'effectue par voie électromagnétique, technique appelée "télémétrie" dans le domaine en question. Cette con- sole est munie d'un organe récepteur qui est placé en regard du site de l'implant et qui comprend une bobine qui capte le champ magnétique en provenance de l'appareil implanté. Inversement, le programmateur est susceptible d'envoyer des in- formations vers l'implant par voie électromagnétique, en faisant oscil- ler des courants dans une bobine du programmateur, ce qui va provo- quer une apparition de tensions aux bornes de la bobine de réception de l'implant; ces tensions sont captées et décodées par l'implant. Inverse- ment, les signaux émis par l'implant sont captés par la bobine, ampli- fiés, filtrés, numérisés et décodés, ce qui permet de réaliser ainsi une transmission dans les deux sens entre implant et programmateur. L'un des buts de l'invention est de permettre un tel échange de données entre implant et programmateur avec une vitesse de transmis- sion élevée et un degré de fiabilité maximal. A cet effet, l'invention propose un moyen pour établir une trans- mission série synchrone entre implant et programmateur et pour main- tenir le synchronisme tout au long de l'échange de données. On a déjà proposé d'opérer des transmissions de données en mode synchrone entre un implant et un programmateur; le programmateur possède une horloge propre qui définit le rythme de transmission des données, rythme qui est imposé à l'implant lorsque celui-ci doit émettre des données en direction du programmateur. Cette technique, si elle permet de bénéficier des avantages d'une transmission synchrone, est néanmoins limitée dans ses possibilités de mise en oeuvre car elle pré- suppose que l'implant soit en mesure d'établir et de maintenir la ca- dence de transmission imposée par le programmateur. En pratique, il est indispensable de limiter la vitesse de transmission si l'on veut que cette condition soit remplie de façon quasi-certaine quel que soit l'im- plant interrogé par le programmateur. En d'autres termes, il est nécessaire de trouver un compromis entre la vitesse de la transmission synchrone et la sécurité de trans- mission, une vitesse trop élevée risquant d'entraîner une perte du syn- chronisme en cours de transmission, et donc l'interprétation erronée par le programmateur des données transmises. L'invention propose de pallier cette limitation par un nouveau moyen d'établissement et de maintien du synchronisme de la transmis- sion. Essentiellement, l'invention propose, au lieu d'aligner le rythme de transmission des données par l'implant sur une fréquence imposée par le programmateur, de prévoir pour le programmateur une horloge pro- grammable, ajustable et en phase, et de synchroniser cette horloge pro- grammable sur l'horloge de l'implant. Ce dernier sera alors libre d'é- mettre des données à sa fréquence propre, qui pourra être supérieure aux fréquences typiquement utilisées jusqu'à présent, le programma- teur venant se synchroniser sur cette fréquence sur laquelle il se ver- rouillera par un recalage périodique, effectué en temps réel. On comprendra également que cette manière de procéder permet de simplifier les circuits de l'implant, avec un abaissement corrélatif du coût de celui-ci, l'accroissement de complexité des circuits étant reporté du côté du programmateur. En d'autres termes, on peut accroître nota- blement les performances techniques de l'implant pour un coût équiva- lent, voire à moindre coût. Plus précisément, l'ensemble de l'invention comprend, d'une part, un dispositif autonome, notamment un dispositif médical implantable actif, et, d'autre part, un appareil formant programmateur externe de ce dispositif autonome. Le dispositif autonome comprend une horloge de séquencement et des moyens d'émission de signaux en direction du programmateur, ou de réception de signaux en provenance du pro- grammateur, ces moyens opérant sous le contrôle temporel de l'horloge de séquencement du dispositif autonome. Le programmateur comprend une horloge de séquencement et des moyens d'émission de signaux en direction du dispositif autonome, ou de réception de signaux en prove- nance du dispositif autonome, ces moyens opérant sous le contrôle tem- porel de l'horloge de séquencement du programmateur. De facon caractéristique de l'invention, la liaison d'échange de don- nées entre dispositif autonome et programmateur est un liaison série synchrone bidirectionnelle, l'horloge de séquencement du programma- teur est une horloge programmable, ajustable en phase, et le program- mateur comporte des moyens de contrôle de synchronisation, coopérant avec son horloge programmable de séquencement, propres à analyser un signal reçu du dispositif autonome et à verrouiller en phase cette horloge de séquencement sur l'horloge de séquencement du dispositif autonome. Très avantageusement, pour établir initialement le synchronisme, le dispositif autonome comporte des moyens pour émettre en direction du programmateur une trame de synchronisation et les moyens de con- trôle de synchronisation du programmateur comportent des moyens pour recevoir cette trame, corréler le signal reçu avec un motif de réfé- rence, en déduire un décalage et recaler l'horloge programmable d'une valeur correspondant à ce décalage. Cette trame de synchronisation peut notamment être émise par le dispositif autonome en réponse à un signal d'interrogation émis par le programmateur, ce signal d'inter- rogation étant reconnaissable par le dispositif autonome même en l'ab- sence de synchronisme de la transmission. De préférence, la trame de synchronisation comporte un signal répétitif et en ce que les moyens de contrôle de synchronisation du programmateur comportent des moyens pour moyenner ce signal répétitif avant corrélation avec le motif de référence. Très avantageusement encore, pour maintenir le synchronisme une fois celui-ci établi, les moyens de contrôle de synchronisation du pro- grammateur comportent des moyens pour recevoir une trame de don- nées émise par le dispositif autonome, corréler le prolongement par pé- riodicité d'un échantillon du signal reçu avec un motif de référence, en déduire un décalage temporel et recaler l'horloge programmable d'une valeur correspondant à ce décalage. Les moyens de contrôle de synchronisation du programmateur peu- vent être mis en oeuvre par un circuit numérique programmable, no- tamment un processeur numérique de signal, opérant sous le contrôle d'un programme chargé dans une mémoire, ce programme de contrôle étant de préférence un programme téléchargé, de manière à pouvoir modifier ce programme sans modification matérielle du programma- teur. On va maintenant décrire un procédé de mise en oeuvre de l'inven- tion. La figure 1 est un schéma par blocs de l'implant et des circuits de réception et de traitement des signaux du programmateur. La figure 2 est un ensemble de chronogrammes illustrant l'intérêt d'une transmission synchrone. La figure 3 illustre les risques d'erreur dans l'interprétation des si- gnaux de la figure 2 en cas de défauts de synchronisme. La figure 4 illustre le principe de resynchronisation utilisé par la présente invention. La figure 5 illustre le mode d'accès asynchrone, en lecture et écri- ture simultanées, de la mémoire FIFO utilisée par l'invention. La figure 6 illustre la dépendance entre l'horloge programmable et les signaux de contrôle du convertisseur analogique/numérique. Les figures 7 et 8 illustrent l'étape, mise en oeuvre par le procédé de l'invention, de corrélation de la trame de synchronisation avec un motif de référence. La figure 9 représente, dans le repère temporel du programmateur, l'analyse faite par celui-ci pour déterminer le déphasage entre son hor- loge et celle de l'implant. La figure 10 est une série de chronogrammes présentant la maniè- re dont sont effectués sous formes de trames les échanges de données selon l'invention. Sur la figure 1, la référence 10 désigne un "dispositif autonome" au sens large défini plus haut, dans cet exemple un dispositif médical im- planté chez un patient, dont on a symbolisé en 12 la barrière cutanée. L'implant comporte un boîtier 14 contenant divers circuits électroni- ques, avec notamment une mémoire conservant des informations qui peuvent être transmises à l'extérieur ou mises à jour par "télémétrie" bidirectionnelle, en faisant varier une induction magnétique provoquée par le passage de courants oscillants dans une bobine 15. Le circuit électronique 16 opère sous le contrôle temporel d'une horloge intégrée 18, elle-même pilotée par un oscillateur 20. Les signaux émis par l'implant 10, qui sont de nature essentielle- ment magnétique comme expliqué plus haut, sont recueillis par l'orga- ne récepteur 22 ou "tête de programmation" d'un programmateur 24, qui est par exemple un dispositif d'un type comparable à celui décrit dans le EP-A-0 661 077 auquel on pourra se reporter pour de plus am- ples détails sur la manière dont les signaux sont recueillis ou traités. L'organe 22 peut également opérer en émetteur, pour la transmission de signaux du programmateur 24 vers l'implant 10. Structure d'ensemble du programmateur Le programmateur comporte essentiellement, outre la tête 22, un boîtier 26 comprenant l'ensemble des circuits d'émission/réception et de traitement des signaux ainsi que d'interfaçage avec une unité de traite- ment 28, généralement sous forme d'un micro-ordinateur connecté au boîtier 26. Les données peuvent être échangées entre le programma- teur et le micro-ordinateur 28 sur un bus à la norme PCMCIA, ce qui permet d'utiliser pour le micro-ordinateur n'importe quel type de ma- chine comportant un port conforme à ce standard. Plus précisément, le boîtier 26 comporte un circuit 30 de réception des signaux captés par la tête 22 en provenance de l'implant 10 et comprenant l'ensemble des étages de traitement analogique du signal assurant l'amplification, la mise en forme, le filtrage, etc. du signal capté (on pourra se référer au EP-A-0 661 077 précité pour plus de détails sur ces traitements). Le circuit 30 délivre un signal que l'on appellera SIGNAL-DE-SORTIE à un convertisseur analogique/numérique 32 qui délivre en sortie un ensemble d'échantillons de signal S.. Ces échantillons S. sont analysés, via une mémoire FIFO 36 dont on expliquera le rôle et le fonctionne- ment plus en détail par la suite, par une unité de calcul et de contrôle séquentiel programmable 38, avantageusement réalisée sous la forme d'un processeur numérique de signal (DSP). Les DSP sont en effet réputés pour leur aptitude à effectuer aisé- ment des calculs tout en sachant adresser des périphériques, le tout sous le contrôle d'un programme. Le remplissage de la mémoire FIFO 36 est séquencé par un circuit de contrôle 40, tandis que sa lecture peut être effectuée de façon asyn- chrone par le DSP 38. Ce programme peut être contenu dans une mémoire de type ROM, PROM ou RAM, de manière en elle-même classique et non décrite ici. Néanmoins, afin de garder à la présente invention la souplesse de fonctionnement et d'évolution propre aux systèmes contrôlés par pro- gramme, on peut prévoir de télécharger le programme de contrôle du DSP 38 depuis le micro-ordinateur 28, la mémoire de programme du DSP 38 étant alors essentiellement une mémoire RAM, avec simple- ment une ROM contenant un programme d'amorçage pour le contrôle du téléchargement de la RAM depuis le micro-ordinateur 28 ainsi qu'un programme de secours pour commuter l'implant en mode nomi- nal même si la commutation entre le programmateur 26 et le micro- ordinateur 28 est défaillante. Une telle manière de procéder permet de faire évoluer dans le temps le comportement du dispositif selon l'invention, par exemple pour l'adapter à des implants de types non encore définis, sans autre modification pour l'utilisateur que l'installation d'une version nouvelle du programme dans le micro-ordinateur 28. Le téléchargement du programme permet ainsi d'apporter des mo- difications sans changement de la tête ou du programmateur, simple- ment par diffusion d'une disquette de mise à jour, alors que jusqu'à présent une telle mise à jour requérait l'ouverture de la tête de pro- grammation et le changement d'un composant matériel (EPROM). Le boîtier 26 contient en outre une horloge 42, elle-même pilotée par un oscillateur 44. De façon caractéristique de l'invention, l'horloge 42 est une horloge de type programmable, Comme on le verra plus bas en référence à la figure 6, l'horloge de numérisation (142 sur la figure 6) est synchronisée par l'horloge de sé- quencement (128 sur la figure 6) et sa fréquence est un multiple entier de la fréquence de cette dernière. Le boîtier 26 contient également un circuit d'émission 46 également séquencé par l'horloge 128 et qui opère sous le contrôle du DSP 38. Ce circuit d'émission provoque le passage de courants oscil- lants dans une bobine contenue dans la tête 22 de manière à assurer la transmission d'informations du programmateur vers cet implant. On peut ainsi établir une communication bidirectionnelle entre im- plant et programmateur. L'ordre et le type des messages échangés en- tre l'implant et le programmateur, dans un sens ou dans l'autre, peu- vent être déterminés, si les couches supérieures du protocole sont con- cernées, par le micro-ordinateur 28, dont les instructions sont lues, via l'interface 34, par les éléments de calcul et de contrôle du DSP 38. En particulier, c'est depuis le micro-ordinateur 28 que sera envoyé l'ordre de débuter une communication bidirectionnelle entre programmateur et implant; lorsque commence cette communication, et jusqu'à ce qu'el- le se termine, les messages se succèdent selon différentes étapes dont l'ensemble constitue une "session". Pour que les deux systèmes puis- sent coopérer convenablement, il est nécessaire de prévoir un protocole de communication définissant le format et le sens des messages. La caractéristique essentielle de l'invention est de pouvoir opérer une transmission synchrone entre le programmateur et l'implant. Plus précisément, l'implant et le programmateur possèdent chacun, comme on l'a indiqué, une horloge, respectivement 18 et 42, servant de base de temps et dont la fréquence est typiquement de 32 768 Hz. Si les deux horloges 18 et 42 sont en phase et que leurs transitions servent d'origine des temps pour l'envoi et la réception des symboles (unités d'information) constituant les messages, alors l'analyse de ces symboles sera facilitée par rapport au cas o le programmateur et l'im- plant ignorent mutuellement l'état de leurs bases de temps. Outre la plus grande fiabilité du décodage des symboles, on pourra opérer la transmission à une cadence plus élevée, permettant ainsi de réduire la durée de transmission et/ou de transmettre un volume plus grand de données - ce qui est particulièrement intéressant lorsque l'on procède à des enregistrements de données sur une très longue période (enregis- trements Holter). Établissement du synchronisme entre implant et programmateur La figure 2 illustre l'intérêt du synchronisme entre le système émetteur et le système récepteur pour un décodage correct des symbo- les émis. L'émetteur envoie vers le récepteur un message 100 constitué de symboles 102, 104,... 114,..., et la tâche du récepteur consiste à analy- ser des symboles successifs et les reconnaître, afin de déchiffrer correctement le message. Si l'on désigne TD le temps nécessaire à l'émetteur pour émettre un symbole, si le récepteur analyse le message pendant une durée TD mais qu'il n'est pas synchronisé, l'analyse va porter sur la succession de deux symboles, comme illustré en 116 sur la seconde ligne du chronogramme de la figure 2. En revanche, si le récepteur est en synchronisme avec l'émetteur, l'analyse portera sur un seul symbole, comme illustré en 118 sur la troisième ligne du chronogramme de la figure 2. Seule une synchronisation correcte permet d'utiliser correctement la durée TD pour analyser le message, ce que l'on va expliquer en référence à la fi- gure 3. Supposons que l"'alphabet" (l'ensemble des symboles susceptibles d'intervenir dans une transmission) soit un alphabet de deux symboles et 122 illustrés en (a) et (b) sur la figure 3. Si l'analyse débute en même temps que l'apparition du symbole, la reconnaissance de ce dernier sera possible; en revanche, un temps d'analyse identique, mais mal localisé, pourra fournir un symbole n'appartenant pas à l'alphabet, comme illustré en (c) sur la figure 3, o l'on a représenté en 124 un message comportant un symbole 122 suivi d'un symbole 120: si l'on analyse ce message sur une durée TD retardée par rapport au début du symbole 120, on obtient le symbole 124 qui n'appartient pas à l'alpha- bet. Lorsque l'on opère une transmission non synchrone, on doit, de manière en elle-même connue, opérer l'analyse sur une durée supéri- eure à TD, avec au besoin un accroissement du temps inter-symbole et il en coûte par rapport à une situation de synchronisme une augmenta- tion des moyens de calculs et une perte de la vitesse de transmission. Si TD est le temps entre symboles et N le nombre de symboles dans l'alphabet, le débit de la transmission, en bit/s sera: D = (1/TD) log2(N). On va maintenant exposer le principe de mise en synchronisme mis en oeuvre par la présente invention, en référence à la figure 4. En (a) on a représenté les messages émis de l'implant vers le pro- grammateur, en (b) les messages émis du programmateur vers l'im- plant, en (c) les impulsions de l'horloge séquençant l'implant et en (d) les impulsions d'horloge séquençant le programmateur, ces deux horlo- ges opérant à une fréquence Fo. Les deux horloges établissant le sé- quencement des messages, on a alors Fo = 1/TD. Si l'on considère le programmateur et l'implant avant qu'ait été échangé des données entre eux, leurs horloges ne peuvent avoir de re- lation de phase entre elles. Pour établir cette relation de phase, le pro- grammateur émet une requête 130 vers l'implant, cette requête étant conçue pour être compréhensible par l'implant sans qu'il soit besoin d'un synchronisme préalable. A cette requête, l'implant répond en émettant un message 132, séquencé par son horloge propre 126. Le message 132, que l'on appellera par la suite "trame de synchronisation" sera avantageusement constitué par la répétition d'un même symbole, ce symbole pouvant être généré en réalisant dans l'implant l'excitation d'une bobine par des moyens de commande appropriés (non illustrés car connus dans la technique), excitation qui produira un courant élec- trique, donc une induction magnétique. Celle-ci est captée par le pro- grammateur; après traitement, le signal utile (f.é.m. aux bornes de la bobine du programmateur) apparaissant à l'entrée du convertisseur aura une forme qui correspond typiquement à celle illustrée en 134 sur le figure 7. La durée TS de ce signal correspond avantageusement à une fré- quence FS = l/TS égale à 128 kHz. Le signal SIGNAL-DE-SORTIE est avantageusement analysé par le DSP 38 après numérisation par le convertisseur 32, qui fournit une va- leur numérisée Si, avantageusement sur 8 bits. Le signal Sj, avant d'être analysé par le DSP 38 est avantageuse- ment stocké dans la mémoire FIFO 36, qui, comme on le sait, présente la particularité d'être accessible de façon asynchrone en lecture et écriture simultanées. Le mode d'accès à la FIFO 36 est illustré sur la figure 5: si, au cours d'une fenêtre d'analyse de durée TD, les moyens de calcul 38 analysent P échantillons du signal Sj, il est alors possible de laisser au cours d'une phase 136 la mémoire FIFO se remplir de P valeurs, capturées à intervalles réguliers selon un séquencement judi- cieusement effectué par les moyens de contrôle 40 pilotant le signal d'écriture dans la mémoire FIFO 36. A la fenêtre d'analyse suivante, le DSP 38 peut alors commencer par lire, dans une phase 138, les P va- leurs contenues dans la mémoire FIFO 203, alors que cette dernière continue à se remplir, au cours d'une phase 140, de P autres valeurs. On comprend que le DSP 38 peut ainsi lire en une phase continue les P échantillons Sj dont il a besoin, et les traiter ensuite sans interruption, évitant ainsi les complications de traitement et les pertes de temps in- hérentes à un système qui n'utiliserait pas de mémoire FIFO et dans lequel, à chaque arrivée d'une nouvelle valeur de signal, il serait néces- saire de provoquer une interruption des opérations en cours d'exécution dans le DSP 38 pour pouvoir prendre en compte cette nouvelle valeur. Le signal d'horloge 128 du programmateur est lui-même produit par la division, par un entier M, du signal produit par l'oscillateur 44, qui est par exemple un oscillateur accordé à une fréquence de réso- nance Fosc de 4 194 304 Hz. La division est effectuée par le circuit 42 qui, contrôlé par le DSP 38, possède la particularité de pouvoir avancer ou retarder la phase du signal d'horloge délivré en sortie (horloge dite "programmable"). Les fronts montants du signal d'horloge 128 servent d'instant de référence pour le circuit 40 de contrôle du convertisseur 32. La figure 6 illustre la manière dont ces moyens 40 opèrent en fonction du signal d'horloge 128. Le signal en sortie de l'oscillateur 44 est divisé par un entier N afin de fournir un signal 142 à une fréquence Fe = Fosc/N, que l'on appellera par la suite "fréquence d'échantillon- nage". Par ailleurs, le signal d'horloge 128 est lui-même le résultat de la division du signal de l'oscillateur 44 par un entier M. En choisissant M et N tels qu'il existe un entier P réalisant l'égalité M = P.N, on aura donc P périodes de l'horloge 142 durant une période de l'horloge 128, soit Fe = P/TD- Si le circuit de contrôle 40 produit une première transition de l'hor- loge 142 à un instant distinct de celui du front montant de l'horloge 128, avec un décalage temporel 0, alors la (P + 1)ème transition de l'hor- loge 142 arrivera à l'instant 0 + (P/Fe) = 0 + TD, c'est-à-dire un temps 0 après le front montant suivant de l'horloge 128, qui est alors bien ver- * rouillée en phase avec l'horloge 142. Si l'on note j le numéro de la transition de l'horloge 142 après un front montant de l'horloge 128, et que les transitions de l'horloge 142 servent à déclencher les numérisations de SIGNAL-DE-SORTIE par le convertisseur 32, on obtient en sortie de ce convertisseur une série de signaux Sj égaux, à l'erreur de numérisation près, aux valeurs de SIGNAL-DE-SORTIE aux instants j. Pour réaliser la synchronisation, le DSP 38 réalise tout d'abord l'opération de moyennage du signal sur un nombre entier K de fenêtres de durée TD, soit pendant un temps TA = K.TD. On crée alors une série de valeurs j définies par: K-1 j = (1/K) 1 S(+p.i) je[O...P-1] i=O En opérant dans la trame de synchronisation, o le symbole est ré- pétitif, cette opération vise uniquement à diminuer l'amplitude relative du bruit par un facteur. Le signal j aura alors la forme déjà illustrée en 134 sur la fi- gure 7, à la numérisation près. Ce signal pourra être jugé assez ressemblant à un motif Tj, illustré en 144 sur la figure 7, que le système utilisera pour corrélation avec j, selon l'opération: P-1-1 P-1 Cl = Y T +l + 1 Tj j+I p Ie [O... P-1]j = 0 j = P-1 Tj désignant le jème point du motif 144. C1 est alors le 1ème point de la fonction de corrélation de et T. L'équation ci- dessus est séparée en deux sommes, afin de garder les indices sur compris dans l'intervalle [0... P-1], ce qui revient à calculer la corrélation de T avec le prolongement par périodicité de , que l'on désignera . Plus le motif T est semblable à plus la fonction K est sem- blable à la fonction d'auto-corrélation * . Or on sait que la fonc- tion d'auto-corrélation [ * ]1 est maximale pour 1 = 0, et que la fonction de corrélation j = j+n est maximale pour 1 = -n. En d'autres termes, la position du maximum 146 de la fonction de corrélation 148, illustrée figure 8, entre une fonction à support borné et la translatée de son prolongement par périodicité indique la grandeur de la translation. C'est cette propriété que la présente invention utilise pour réaliser la synchronisation des horloges entre le programmateur et l'implant, ce qu'illustrent les figures 7, 8 et 9. Si le motif T est avantageusement choisi pour présenter une forte ressemblance avec le signal numérisé et moyenné j, alors la fonc- tion de corrélation C1 (148 sur la figure 8) précédemment définie aura son maximum (146 sur la figure 8) placé en 1 = 0 lorsque T. et j se- ront en coïncidence, ce qui correspond à la configuration des figures 7 et8. La figure 9 représente, dans le repère temporel du programmateur, l'analyse faite par celui-ci pour déterminer le déphasage entre son horloge (128, figure 4) et celle de l'implant (126, figure 4). Dans le cas (A) de la figure 9, l'horloge de l'implant présente un re- tard de phase par rapport à celle du programmateur, retard dont on dé- signera la grandeur par n, l'unité de temps étant la période d'échantil- lonnage 1/Fe. Les symboles constituant la trame de synchronisation commençant à chaque nouvelle transition de l'horloge de l'implant, l'ensemble des points j (j r [0... P-i]) constituant la moyenne des symboles de la trame de synchronisation apparaîtra lui aussi retardé de n. La fonction de corrélation avec Tj présentera donc son maximum en - n ou en P-n, si cette fonction de corrélation, périodique de période P comme cela pourra être aisément calculé, est analysée dans l'intervalle [0... P-l]. Dans le cas (B) de la figure 9, les deux horloges 126 et 128 sont en phase et le maximum de la fonction de corrélation avec le motif de réfé- rence de j est en 1 = 0. Si, à l'inverse du cas (A), l'horloge 126 est en avance de phase par rapport à l'horloge 128, ce qui correspond au cas (C), le maximum de ladite fonction de corrélation sera situé en 1 = +n (le maximum étant situé en 1 = -n dans le cas d'un retard de phase). Il suffit donc au DSP 38, pour rétablir l'égalité de la phase entre les horloges 126 et 128 (figure 4), de rechercher par le calcul le maximum de la fonction de corrélation C1 et d'imposer à l'horloge programmable 42 un retard égal à la position de ce maximum. On notera toutefois que les conclusions qui précèdent ne sont stric- tement exactes que si les deux horloges 126 et 128 sont exactement de même fréquence, c'est-à-dire si l'on a Fo = Fosc/M =1/TD. Si au contraire il existe une légère différence de fréquence, ce qui est en pratique toujours le cas lorsque deux oscillateurs évoluent de façon indépendante, alors on peut écrire FI = Fp(1+E), o FI désigne la fréquence de l'horloge 126 de l'implant et Fp celle de l'horloge 128 du programmateur. On sait que, si égale à 1/Fe = 1/(32TD): dans ce cas, le déphasage relatif entre les hor- loges 126 et 128 sera de l'ordre d'un tiers de cette période après une trame de synchronisation complète. Structure des messages échangés une fois la synchronisation établie Avantageusement, dans la présente invention, les messages échan- gés aussi bien du programmateur vers l'implant que de l'implant vers le programmateur le sont par groupe de sous-messages appelés "tra- mes". En raison de l'énergie disponible en tant que de besoin dans le programmateur par rapport à l'implant, le rapport signal/bruit dans le sens programmateur -- implant peut être beaucoup plus important que dans l'autre sens, et la transmission programmateur -- implant peut se faire en codant les bits par la présence ou l'absence de signal dans une fenêtre temporelle prédéterminée. Si le programmateur et l'implant ont été précédemment synchronisés, la fenêtre temporelle pourra être ré- duite à la période Td des horloges 18 et 42, respectivement de l'implant et du programmateur, conférant ainsi la même vitesse dans le sens programmateur -> implant que dans l'autre sens, ce qui constitue une caractéristique originale de l'invention par rapport aux systèmes con- nus, dans lesquels la transmission implant -> programmateur est gé- néralement la plus rapide. Les trames définissent les instants o l'envoi de symboles par le programmateur et l'implant sont autorisées, ces trames étant opéran- tes après que la synchronisation entre les deux appareils soit établie. La figure 10 présente la manière dont sont effectués les échanges de données conformément à cette mise en trame. Le cas (A) de la figure 10 correspond à une trame 150 au cours de laquelle les messages vont principalement de l'implant vers le pro- grammateur, le cas (B) correspondant à une trame 152 au cours de laquelle les messages vont principalement dans l'autre sens. La durée de chaque trame est désignée cf et sera, ainsi que toutes les durées jouent un rôle dans les trames, un multiple entier de la durée TD des fenêtres d'analyse du programmateur et de l'implant. Avant que la trame 150 ne débute, on attend que la trame précé- dente soit terminée. Le programmateur est alors inactif et l'implant dans un mode de réception 154. Lorsque la trame débute, d'une manière imposée par le program- mateur qui sera toujours maître vis-à-vis de l'implant, un en-tête 156 est émis par le programmateur. Cet en-tête contient des informations indiquant à l'implant qu'il doit alors émettre des informations vers le programmateur. L'en-tête est par exemple formé d'un signal de durée tH = 4 TD vé- hiculant quatre bits et présentant une structure commune à tous les cas de figure (trames 150 aussi bien que 152), avec un bit de démarrage de trame (bit '1', correspondant à une émission toujours présente dans un codage en "tout-ou-rien") suivi de trois bits de message (explicités plus bas). Si la trame est une trame "programmateur vers implant" (du type 152), après un éventuel temps de repos de durée tR, le programmateur émet des signaux dans le champ 158, de durée TE, que l'implant reçoit et interprète. Durant l'émission de ce champ par le programmateur, l'implant est alors dans un état de réception 160, de durée tB. Après la fin de ce champ 160, l'implant retourne dans un état de réception 162, en attente d'un nouvel en-tête de trame. Les bits étant avantageuse- ment émis dans le champ 158 par la présence ou l'absence d'un signal, et de même dans l'en-tête 156 (codage en "tout-ou-rien"), l'absence de signal reçu par l'implant cessera, dans le champ 162, d'être interprétée comme une donnée. Si la trame est du type "implant vers programmateur" (trame de type 150), alors l'implant, après un éventuel temps de repos de durée tR' va émettre un message vers le programmateur, dans le champ 164. Le programmateur décode alors le message dans le champ 166 de la trame. Les trois derniers bits de l'en-tête (bits de message) peuvent servir à contrôler les échanges entre le programmateur et l'implant, en parti- culier pour remédier à des erreurs de transmission détectées par le sys- tème. Ces bits peuvent avantageusement avoir la signification suivante: 111' (impt - pgrr): l'implant va émettre une trame de synchroni- sation ' (impt - pgrr): l'implant va envoyer des données au program- mateur ' (pgrr -impt):le programmateur va envoyer des données à l'implant 001' (pgrr -+impt) pause 000' (pgrr - impt): fin de session '110' (impt - pgrr): l'implant va renvoyer le même champ de don- nées que dans la trame précédente ' (pgrr - impt): l'implant n'a pas tenu compte de la dernière tra- me qu'il a reçue et va prendre en compte les don- nées qui vont suivre '011': non significatif On notera que le message '111', qui demande à l'implant d'émettre une trame de synchronisation, est codé de façon à être compris par l'implant sans que la synchronisation ne soit établie. En effet, la détec- tion par l'implant des signaux qu'envoie le programmateur se faisant par détection ou non de la présence de ces signaux durant les fenêtres temporelles de durée TD, la détection d'une requête de trame de syn- chronisation équivaut à détecter la présence d'un signal par exemple durant une pluralité de fenêtres successives (typiquement, quatre fenê- tres successives). En effet, si ces signaux se succèdent avec une période inférieure ou égale à un sous-multiple de TD, quel que soit l'état de synchronisme entre les horloges 126 et 128 de l'implant et du program- mateur, l'implant verra la présence d'un signal aux bornes de ces cir- cuits de réception durant au moins quatre (dans l'exemple considéré) de ces fenêtres temporelles et interprétera la présence de ces signaux répétés comme un en-tête comprenant le message '111', ce qui déclen- chera de sa part l'envoi d'une trame de synchronisation. Resynchronisation en cours de transmission On comprendra que les symboles ne peuvent être convenablement décodés que si le programmateur et l'implant ont été préalablement synchronisés, ce décodage étant opéré en évaluant à un instant 0 par- ticulier les fonctions de corrélation. Mais, lors de la transmission d'une trame de type 150, une fraction de la fenêtre temporelle correspond à un délai de désynchronisation qui apparaît en fin de trame. Comme on l'a vu plus haut, avec des horloges pilotées par des oscillateurs à quartz, le nombre de fenêtres temporel- les peut être de l'ordre de la centaine avant que la désynchronisation ne devienne trop importante. Si FI est la fréquence de l'horloge 126 séquençant l'implant et Fp celle de l'horloge 128 séquençant le programmateur, et que ces fréquen- ces sont liées par FI = Fp(1+e), avec e l'ordre de KeTD, o TD est la durée d'une fenêtre temporelle. Si la fonction de corrélation entre un symbole et le motif servant à le détecter est maximale au temps 0 en début de trame, elle sera déca- lée de KeTD par rapport à sa fenêtre de référence à la fin de cette tra- me. En conséquence, si l'on observe la fonction de corrélation dans une fenêtre de largeur 2KETD centrée en 0, le maximum de cette fonction appartiendra à la fenêtre en question. Plus précisément, à la jème cel- lule observée, le décalage de la fonction de corrélation sera Aj = júTD. Si le DSP 38 effectue l'opération k-1 j=o on aura alors: = [K(K-1)/2]ETD et, si K est grand, Ya = (K2/2)eTD. Le délai KeTD en fin de trame est donc lié à L' par la relation KeTD = ( 2/K) L. On comprendra que, si l'on recherche le maximum des fonctions de corrélation dans une fenêtre de largeur 2KETD à chaque fenêtre, et que l'on moyenne les instants des maxima, on obtient alors une quantité qui permet de connaître le déphasage en fin de trame. Ce déphasage est alors réintroduit dans l'horloge programmable 42 afin d'opérer une resynchronisation, ce qui permet, de façon caractéris- tique de l'invention, de procéder à la resynchronisation en cours de transmission. On aura également noté que, si des messages sont transmis vers l'implant dans des trames de type 152 (figure 10) il faudra nécessai- rement insérer des trames de type 150 dans la transmission, car c'est pendant ces dernières trames que le programmateur aura la possibilité de se resynchroniser sur l'implant. REVENDICATIONS 1. Un ensemble comprenant, d'une part, un dispositif autonome, notamment un dispositif médical implantable actif, et, d'autre part, un appareil formant programmateur externe de ce dispositif autonome, le dispositif autonome (10) comprenant une horloge de séquence- ment (18) et des moyens d'émission de signaux en direction du pro- grammateur, ou de réception de signaux en provenance du programma- teur, ces moyens opérant sous le contrôle temporel de l'horloge de séquencement du dispositif autonome, le programmateur (24) comprenant une horloge de séquencement (42) et des moyens d'émission de signaux en direction du dispositif au- tonome, ou de réception de signaux en provenance du dispositif auto- nome, ces moyens opérant sous le contrôle temporel de l'horloge de séquencement du programmateur, caractérisé en ce que la liaison d'échange de données entre disposi- tif autonome et programmateur est un liaison série synchrone bidirec- tionnelle, en ce que l'horloge de séquencement (42) du programmateur est une horloge programmable, ajustable en phase, et en ce que le programmateur comporte des moyens de contrôle de synchronisation (32, 36, 38, 40) coopérant avec son horloge program- mable de séquencement, propres à analyser un signal reçu du dispositif autonome et à verrouiller en phase cette horloge de séquencement sur l'horloge de séquencement du dispositif autonome. 2. L'ensemble de la revendication 1, dans lequel, pour établir ini- tialement le synchronisme, le dispositif autonome comporte des moyens pour émettre en direction du programmateur une trame de synchroni- sation (132) et en ce que les moyens de contrôle de synchronisation du programmateur comportent des moyens pour recevoir cette trame, cor- réler le signal reçu (Sj) avec un motif de référence (Tj), en déduire un décalage (1) et décaler l'horloge programmable d'une valeur correspon- dant à ce décalage. 3. L'ensemble de la revendication 2, dans lequel la trame de syn- chronisation (132) est émise par le dispositif autonome en réponse à un signal d'interrogation (130) émis par le programmateur, ce signal d'in- terrogation étant reconnaissable par le dispositif autonome même en l'absence de synchronisme de la transmission. 4. L'ensemble de la revendication 2, dans lequel la trame de syn- chronisation comporte un signal répétitif et en ce que les moyens de contrôle de synchronisation du programmateur comportent des moyens pour moyenner ce signal répétitif avant corrélation avec le motif de référence. 5. L'ensemble de la revendication 1, dans lequel, pour maintenir le synchronisme une fois celui-ci établi, les moyens de contrôle de syn- chronisation du programmateur comportent des moyens pour recevoir une trame de données émise par le dispositif autonome, corréler le pro- longement par périodicité d'un échantillon du signal reçu ( j) avec un motif de référence, en déduire un décalage temporel (1) et recaler l'horloge programmable d'une valeur correspondant à ce décalage. 6. L'ensemble de la revendication 1, dans lequel les moyens de con- trôle de synchronisation du programmateur sont mis en oeuvre par un circuit numérique programmable (38), notamment un processeur nu- mérique de signal, opérant sous le contrôle d'un programme chargé dans une mémoire. 7. L'ensemble de la revendication 6, dans lequel le programme de contrôle du circuit numérique est un programme téléchargé, de ma- nière à pouvoir modifier ce programme sans modification matérielle du programmateur.