-
Die
vorliegende Erfindung betrifft den Bereich der autonomen Vorrichtungen,
insbesondere die aktiven implantierbaren medizinischen Vorrichtungen,
und genauer den Austausch von Daten während der Kommunikationssequenzen
zwischen der autonomen Vorrichtung und einer externen Steuerkonsole.
-
Die
aktiven implantierbaren medizinischen Vorrichtungen umfassen insbesondere
die Herzschrittmacher, die Defibrilatoren, die neurologischen Apparate,
Diffusionspumpen für
medizinische Substanzen und die cochlearen Implantate.
-
Die
Erfindung ist jedoch nicht auf aktive implantierbare medizinische
Vorrichtungen beschränkt
und, auch wenn man sich im Folgenden auf die letzteren beziehen
wird, die Erfindung ist auch auf medizinische Vorrichtungen anwendbar,
die nicht implantiert sind (z.B. durch den Patienten getragen) oder
nicht aktive (z.B. Vorrichtungen, implantiert oder nicht, die ohne
eigene Energieversorgung sind und zur Aussendung von Nachrichten
nach außen
einen Bruchteil der Energie des Abfragesignals verwenden, das auf
sie angewandt wird), oder gleichermaßen auf autonome Vorrichtungen
andere als die medizinischen. Der Bezug auf ein „Implantat" in der Beschreibung ist folglich für sich selbst
nicht beschränkend.
-
Diese
Gerätschaften,
sobald sie aufgestellt wurden, sind programmierbar von Außen mittels
einer entfernten Konsole, genannt „Programmiergerät". Die Überprüfung der
Parameter des Implantats oder die Übertragung von Informationen,
die in dem Selben aufgezeichnet sind, wird mittels eines elektromagnetischen
Weges ausgeführt,
eine Technik, die im fraglichen Bereich „Telemetrie" genannt wird. Diese
Konsole ist mit einem Empfangsteil versehen, das mit Bezug auf den
Ort des Implantats angeordnet ist, und das eine Spule umfasst, welche
das magnetische Feld auffängt,
das von der implantierten Gerätschaft
herrührt.
-
Umgekehrt
ist das Programmiergerät
in der Lage, Informationen auf elektromagnetischem Weg an das Implantat
zu senden, indem er die Ströme
in einer Spule des Programmiergeräts oszillieren lässt, was
ein Erscheinen von Spannungen an den Klemmen der Empfangsspule des
Implantats hervorrufen lassen wird; diese Spannungen werden durch
das Implantat aufgefangen und dekodiert. Umgekehrt werden die von
dem Implantat ausgesendeten Signale durch die Spule aufgefangen,
verstärkt,
gefiltert, digitalisiert und dekodiert, was es erlaubt, eine Übertragung
in den zwei Richtungen zwischen Implantat und Programmiergerät zu verwirklichen.
-
Eine
der Aufgaben der Erfindung ist es, einen solchen Austausch von Daten
zwischen dem Implantat und dem Programmiergerät mit einer erhöhten Übertragungsgeschwindigkeit
und einem maximalen Grad der Zuverlässigkeit zu erlauben.
-
Dazu
schlägt
die Erfindung ein Mittel vor zum Herstellen einer synchronen seriellen Übertragung
zwischen dem Implantat und dem Programmiergerät und zum Aufrecht erhalten
der Synchronität über die
Dauer des Austausches der Werte hinweg vor.
-
Man
hat bereits vorgeschlagen, die Übertragung
von Daten im Synchronmodus zwischen einem Implantat und einem Programmiergerät zu betreiben;
das Programmiergerät
verfügt über einen
eigenen Taktgeber, der den Wertübertragungsrhythmus
definiert, ein Rhythmus, der dem Implantat auferlegt wird, wenn
dieses Werte in Richtung des Programmiergeräts aussenden muss. Diese Technik,
auch wenn sie es erlaubt, von den Vorzügen einer synchronen Übertragung
zu profitieren, ist nichtsdestotrotz in ihren Möglichkeiten der Anwendung begrenzt,
da sie voraussetzt, dass das Implantat in der Lage sein muss, den
durch das Program miergerät
auferlegten Übertragungstakt
herzustellen und beizubehalten. In der Praxis kann nicht darauf
verzichtet werden, die Übertragungsgeschwindigkeit
zu begrenzen, wenn man wünscht,
dass diese Bedingung auf quasi sichere Weise erfüllt wird, unabhängig davon,
welches das Implantat ist, das durch das Programmiergerät abgefragt
wird.
-
Mit
anderen Worten ist es notwendig, einen Kompromiss zwischen der synchronen Übertragungsgeschwindigkeit
und der Sicherheit der Übertragung
zu finden, wobei eine zu hohe Geschwindigkeit das Risiko eines Verlustes
der Synchronität
im Verlauf der Übertragung
mit sich führen
kann, und folglich die fehlerhafte Interpretation von übertragenen
Daten durch das Programmiergerät.
-
Die
Erfindung schlägt
vor, dieser Begrenzung abzuhelfen durch ein neues Mittel zur Herstellung
und Beibehaltung der Synchronität
der Übertragung.
-
Man
kennt eine Technik, gelehrt insbesondere durch das Dokument US-A-4
701 939, welche darin besteht, anstatt den Rhythmus der Datenübertragung
durch das Implantat an einer durch das Programmiergerät auferlegten
Frequenz auszurichten, im Vorsehen für das Programmiergerät eines
programmierbaren Taktgebers, einstellbar und in Phase, und im Synchronisieren
dieses programmierbaren Taktgebers auf den Taktgeber des Implantats.
Dieser Letztere wird somit frei dazu, Werte mit seiner eigenen Frequenz
auszusenden, die höher
sein kann als die Frequenzen, die typischerweise bis Heute verwendet
wurden, wobei das Programmiergerät
sich auf diese Frequenz aufsynchronisiert, auf welche es sich durch
eine periodische Einstellung, die in Echtzeit ausgeführt wird,
verriegeln wird.
-
Man
wird gleichermaßen
verstehen, dass diese Art des Vorgehens es erlaubt, die Schaltungen
des Implantats zu vereinfachen, mit einer dazu korrelierenden Absenkung
der Kosten des Selben, wobei die Erhöhung der Komplexität der Schaltungen
auf die Seite des Programmiergeräts
verschoben sind. Mit anderen Worten, man insbesondere die technischen
Leistungen des Implantats erhöhen
für gleiche,
ja sogar geringere Kosten.
-
Die
in diesem Dokument gelehrte Technik, wenn sie erlaubt, anfänglich eine
Synchronisation zwischen den zwei Apparaten zu finden, so erlaubt
sie doch nicht, die Abweichungen der Synchronisation zu korrigieren, gleich
in die eine wie auch in die andere Richtung (verfrüht oder
verspätet),
und sie erlegt daher den Rückgriff auf
sehr genaue Taktgeber und/oder eine begrenzte Dauer für den Austausch
von Informationen auf.
-
Um
dieser Schwierigkeit abzuhelfen schlägt die Erfindung eine Gesamtheit
von Programmiergerät
+ Implantant vor, vom durch die US-A 4 701 939 gelehrten allgemeinen
Typ wie in dem Oberbegriff des Anspruchs 1 beschrieben, und umfassend
die neuen Elemente, die im kennzeichnenden Teil des Anspruchs 1 genannt
sind. Bezüglich
Anspruch 5, dieser ist auf ein Programmiergerät als solches gerichtet, und
die Unteransprüche
2 bis 4 und 6 bis 8 sind auf vorteilhafte Ausführungsformen gerichtet.
-
Man
wird nun eine Ausführungsform
der Erfindung beschreiben.
-
1 ist
ein Blockschema des Implantats und der Schaltungen zum Empfang und
zur Behandlung von Signalen des Programmiergeräts.
-
2 ist
eine Gesamtheit von Zeitschrieben, welche das Interesse an einer
synchronen Übertragung veranschaulichen.
-
3 veranschaulicht
die Risiken von Fehlern in der Interpretation der Signale der 2 im
Falle von Synchronisationsfehlern.
-
4 veranschaulicht
das Prinzip der Resynchronisation, das durch die vorliegende Erfindung
verwendet wird.
-
5 veranschaulicht
den synchronen Zugriffmodus, beim gleichzeitigen Lesen und Schreiben,
des in der Erfindung verwendeten FIFO-Speichers.
-
6 veranschaulicht
die Abhängigkeit
zwischen dem programmierbaren Taktgeber und den Steuersignalen des
Analog/Digitalwandlers.
-
7 und 8 veranschaulichen
den Schritt, eingesetzt durch das Verfahren der Erfindung, der Korrelation
des Synchronisationsrahmens mit einem Referenzmuster.
-
9 stellt,
im zeitlichen Achsenkreuz des Programmiergeräts, die für diesen gemachte Analyse dar, zum
Bestimmen der Phasenabweichung zwischen einem Taktgeber und demjenigen
des Implantats.
-
10 ist
eine Reihe von Zeitschrieben, welche die Art zeigen, nach der in
Form von Rahmen die Austäusche
von Daten gemäß der Erfindung
ausgeführt
werden.
-
In
der 1 bezeichnet das Bezugszeichen 10 eine „autonome
Vorrichtung" im
weiter oben definierten weiten Sinne, in diesem Beispiel eine medizinische
Vorrichtung, die einem Patienten implantiert ist, von der man mit
der 12 die Hautbarriere symbolisiert hat. Das Implantat
umfasst ein Gehäuse 14,
welches verschiedene elektronische Schaltungen enthält, mit
insbesondere einem Speicher, der Informationen aufbewahrt, die nach
Außen übertragen
werden können
oder durch bidirektionale „Telemetrie" aktualisiert werden
können,
indem man eine magnetische Induktion sich verändern lässt, hervorgerufen durch den
Durchgang von oszillierenden Strömen
in einer Spule 15. Die elektronische Schaltung 16 arbeitet
unter der zeitlichen Kontrolle eines integrierten Taktgebers 18,
der wiederum durch einen Oszillator 20 geleitet wird.
-
Die
durch das Implantat 10 ausgesendeten Signale, welche, wie
weiter oben beschrieben, im Wesentlichen magnetischer Art sind,
werden durch das Empfangsteil 22 oder „Programmierkopf" eines Programmiergeräts 24 aufgefangen,
der z.B. eine Vorrichtung von einem Typ ist, der vergleichbar ist
mit dem in der EP- A-0 661
077 beschriebenen, auf welche man sich beziehen kann für nähere Details über die
Art, auf welche die Signale aufgefangen oder verarbeitet werden.
Das Teil 22 kann gleichermaßen als Sender arbeiten, für die Übertragung
von Signalen des Programmiergeräts 24 zum
Implantat 10.
-
Struktur der
Gesamtheit des Programmiergeräts
-
Das
Programmiergerät
umfasst im Wesentlichen, neben dem Kopf 22, ein Gehäuse 26,
welches die Gesamtheit der Schaltungen zum Senden/Empfangen und
der Verarbeitung von Signalen sowie der Schnittstelle mit einer
Verarbeitungseinheit 28 umfasst, im Allgemeinen in Form
eines mit dem Gehäuse 26 verbundenen
Mikrocomputers. Die Werte können
zwischen dem Programmiergerät
und dem Mikrocomputer 28 auf einem Bus nach der Norm PCMCIA
ausgetauscht werden, was es erlaubt, als Mikrocomputer eine Maschine irgendwelchen
Typs zu verwenden, die einen zu diesem Standard konformen Anschluss
aufweist.
-
Genauer
umfasst das Gehäuse 26 eine
Empfangsschaltung 30 für
Signale, die durch den Kopf 22 aufgefangen werden, die
von dem Implantat 10 stammen, und welche die Gesamtheit
der analogen Signalverarbeitungsstufen umfassen, welche die Verstärkung, die
In-Form-Bringung, Filterung, usw. des aufgefangenen Signals sicherstellen
(Man kann sich auf die zuvor bezogene EP-A-0 661 077 für nähere Details über diese Verarbeitungen
beziehen).
-
Die
Schaltung 30 gibt ein Signal ab, das AUSGANGSSIGNAL genannt
werden soll, an einen Analog/Digitalwandler 32, der am
Ausgang eine Menge von Signalabtastwerten Sj.
ausgibt. Diese Abtastwerte Sj werden analysiert, über einen
FIFO-Speicher 36,
dessen Rolle und Betrieb im Näheren
im Folgenden beschrieben werden wird, durch eine programmierbare
sequenzielle Kontroll- und Recheneinheit 38, vorteilhafterweise
verwirklicht in Form eines digitalen Signalprozessors (DSP).
-
Die
DSPs sind in der Tat für
ihre Eignung dafür
bekannt, leicht Berechungen ausführen
zu können, während sie
gleichzeitig Peripherien adressieren zu wissen, das Ganze unter
der Kontrolle eines Programms.
-
Das
Befüllen
des FIFO-Speichers 36 wird durch eine Steuerschaltung 40 ablaufgesteuert,
während dessen
Lesen durch den DSP 38 auf asynchrone Weise ausgeführt werden
kann.
-
Das
Programm kann in einem Speicher vom Typ ROM, PROM oder RAM enthalten
sein, auf an sich klassische und hier nicht beschriebene Art.
-
Um
nichtsdestotrotz der vorliegenden Erfindung die Anpassbarkeit des
Betriebs und die Evolution zu bewahren, die den durch Programm gesteuerten
Systemen zu Eigen sind, kann man vorsehen, das Steuerprogramm des
DSP 38 von dem Mikrocomputer 28 aus herunterzuladen,
wobei also der Programmspeicher des DSP 38 im Wesentlichen
ein RAM-Speicher ist, mit einfach einem ROM, das ein Anlassprogramm
für die Steuerung
des Herunterladens in das RAM von dem Mikrocomputer 28 aus
enthält,
sowie ein Sicherheitsprogramm zum Umschalten des Implantats in nominalen
Modus, selbst wenn die Umschaltung zwischen dem Programmiergerät 26 und
dem Mikrocomputer 28 fehlerhaft ist.
-
Eine
solche Art des Verfahrens erlaubt es, das Verhalten der Vorrichtung
gemäß der Erfindung
sich über
die Zeit entwickeln zu lassen, z.B. um es auf Implantate von noch
nicht definierten Typen anzupassen, ohne eine andere Modifikation
durch den Verwender als die Installation einer neuen Programmversion
im Mikrocomputer 28.
-
Das
Herunterladen des Programms erlaubt so Modifikationen herbeizuführen, ohne
Veränderung
des Kopfes oder des Programmiergeräts, einfach durch Verbreiten
einer Aktualisierungsdiskette, während
bis heute eine solche Aktuali sierung das Öffnen des Programmierkopfes
sowie das Austauschen eines materiellen Bestandteils (EPROM) benötigen würde.
-
Das
Gehäuse 26 enthält des Weiteren
einen Taktgeber 42, wobei selbiger durch einen Oszillator 44 geführt ist.
Auf für
die Erfindung charakteristische Art ist der Taktgeber 42 ein
Taktgeber vom programmierbaren Typ.
-
Wie
man weiter unten mit Bezug auf die 6 sehen
wird, ist der Taktgeber der Digitalisierung (142 auf der 6)
durch den Taktgeber der Sequenzierung (128 auf der 6)
synchronisiert, und seine Frequenz ist ein ganzzahliges Vielfaches
der Frequenz des Letzteren.
-
Das
Gehäuse 26 enthält gleichermaßen eine
Sendeschaltung 46, gleichermaßen durch den Taktgeber 128 getaktet,
und die unter der Kontrolle des DSP 38 arbeitet. Diese
Sendeschaltung ruft den Durchgang von oszillierenden Strömen in einer
Spule hervor, die in dem Kopf 22 enthalten ist, um die Übertragung
von Informationen des Programmiergeräts zu dem Implantat sicherzustellen.
-
Man
kann so eine bidirektionale Kommunikation zwischen Implantat und
Programmiergerät
herstellen. Die Reihenfolge und die Art der zwischen dem Implantat
und dem Programmiergerät
ausgetauschten Nachrichten, in der einen Richtung oder in der anderen,
können
bestimmt werden, wenn die oberen Protokollschichten betroffen sind,
durch den Mikrocomputer 28, dessen Anweisungen verbunden
sind, über
die Schnittstelle 34, mit den Rechen- und Steuerelementen
des DSP 38. Insbesondere ist es ausgehend von dem Mikrocomputer 28,
dass die Anweisung zum Beginnen einer bidirektionellen Kommunikation
zwischen dem Programmiergerät
und dem Implantat gesendet wird; wenn diese Kommunikation beginnt,
und bis Diese endet, folgen diese Nachrichten aufeinander gemäß unterschiedlichen
Schritten einer Gesamtheit, welche eine „Session" bildet. Damit diese zwei Systeme auf
zweckdienliche Weise zusammenwirken können, ist es notwendig, ein Kommunikationsprotokoll
vorzusehen, das das Format und die Richtung der Nachrichten definiert.
-
Die
für die
Erfindung wesentliche Eigenschaft ist es, eine synchrone Übertragung
zwischen dem Programmiergerät
und dem Implantat betreiben zu können.
Genauer besitzen das Implantat und das Programmiergeräte jeweils,
wie angezeigt, einen Taktgeber, 18 bzw. 42, der
als Zeitbasis dient und dessen Frequenz typischerweise 32 768 Hz
ist.
-
Wenn
die zwei Taktgeber 18 und 42 in Phase sind und
da ihre Transitionen als Zeitnullpunkt für das Senden und das Empfangen
von Symbolen (Informationseinheiten) dienen, welche die Nachrichten
bilden, wird also die Analyse dieser Symbole erleichtert werden
im Vergleich zu dem Fall, wo das Programmiergerät und das Implantat gegenseitig
den Zustand ihrer Zeitbasen ignorieren. Neben der größeren Zuverlässigkeit
der Dekodierung von Symbolen kann man die Übertragung mit einem erhöhten Takt
betreiben, was so erlaubt, die Dauer von Übertragungen zu reduzieren
und/oder ein größeres Volumen
von Daten zu übertragen – was besonders
interessant ist, wenn man es auf Datenaufzeichnungen über eine
sehr lange Periode anwendet (Holter-Aufzeichnung).
-
Herstellen
der Synchronität
zwischen Implantat und Programmiergerät
-
Die 2 veranschaulicht
das Interesse an der Synchronität
zwischen dem Sendersystem und dem Empfängersystem für eine korrekte
Dekodierung von gesendeten Symbolen.
-
Der
Sender sendet zu dem Empfänger
eine Nachricht 100 aus, gebildet aus Symbolen 102, 104,
... 114, ..., und die Aufgabe des Empfängers besteht darin, aufeinander
folgende Symbole zu analysieren und sie zu erkennen, um die Nachricht
korrekt zu dechiffrieren.
-
Wenn
man mit TD die Zeit bezeichnet, die notwendig
ist für
den Sender, um ein Symbol auszusenden, wenn der Empfänger die
Nachricht während
einer Dauer TD analysiert, er aber nicht
synchronisiert ist, erfolgt die Analyse über das Aufeinanderfolgen von
zwei Symbolen, wie gezeigt mit 116 auf der zweiten Linie
des Zeitschriebs der 2. Umgekehrt, wenn der Empfänger mit
dem Sender synchron ist, erfolgt die Analyse über ein einziges Symbol, wie
gezeigt in 118 auf der dritten Linie des Zeitschriebs der 2.
Allein eine korrekte Synchronisation erlaubt es, die Dauer TD korrekt zu verwenden, um die Nachricht
zu analysieren, wie man mit Bezug auf die 3 erklären wird.
-
Es
wird angenommen, dass das „Alphabet" (die Gesamtheit
von Symbolen, die in einer Übertragung auftreten
können)
ein Alphabet von zwei Symbolen 120 und 122 ist,
veranschaulicht mit (a) und (b) auf der 3. Wenn
die Analyse zur selben Zeit wie das Erscheinen der Symbole beginnt,
wird das Erkennen der Letzteren möglich; umgekehrt kann eine
Zeit der Analyse, die identisch ist, aber schlecht lokalisiert,
ein Symbol liefern, das nicht dem Alphabet angehört, wie in (c) auf der 3 veranschaulicht,
oder wie man es mit 124 veranschaulicht hat, eine Nachricht,
die ein Symbol 122 umfasst, gefolgt von einem Symbol 120:
Wenn man diese Nachricht über
eine Dauer TD analysiert, die verspätet ist
im Verhältnis
zum Beginn des Symbols 120, würde man das Symbol 124 erhalten,
das nicht zum Alphabet gehört.
-
Wenn
man eine nicht synchronisierte Übertragung
ausführt,
so muss man, auf an sich bekannte Art, die Analyse über eine
Dauer ausführen,
die größer als
TD ist, mit notfalls einem Erhöhen der
Zwischensymbolzeit mit den Kosten im Verhältnis zu einer synchronen Situation
einer Erhöhung
der Rechenmittel und einer Einbuße der Übertragungsgeschwindigkeit.
-
Wenn
TD die Zeit zwischen Symbolen ist und N
die Anzahl an Symbolen in dem Alphabet, wird der Übertragungsdurchsatz,
in Bit/Sekunde sein: D = (1/TD)log2 (N).
-
Man
wird nun das Prinzip der Synchronisierung darstellen, das von der
vorliegenden Erfindung angewandt wird, mit Bezug auf die 4.
-
In
(a) hat man die Nachrichten dargestellt, die von dem Implantat zu
dem Programmiergerät
ausgesendet werden, in (b) die Nachrichten, die von dem Programmiergerät zu dem
Implantat ausgesendet werden, in (c) die Impulse des Taktgebers,
der das Implantat taktet und in (d) die Impulse des Taktgebers,
der das Programmiergerät
taktet, wobei diese zwei Taktgeber mit einer Frequenz F0 arbeiten.
Da die zwei Taktgeber die Taktung der Nachrichten herstellen hat
man folglich F0 = 1/TD.
-
Wenn
man das Programmiergerät
und das Implantat betrachtet, bevor es einen Austausch von Daten zwischen
ihnen gegeben hat, so können
ihre Taktgeber keine Phasenbeziehung zwischen ihnen haben. Um diese
Phasenbeziehung herzustellen sendet das Programmiergerät eine Anforderung 130 zu
dem Implantat, wobei diese Anforderung so entworfen ist, für das Implantat
verständlich
zu sein, ohne dass eine vorherige Synchronisation notwendig ist.
Auf diese Anforderung antwortet das Implantat, indem es eine Nachricht 132 aussendet,
getaktet durch seinen eigenen Taktgeber 126. Die Nachricht 132,
die man im Folgenden „Synchronisationsrahmen" nennen wird, wird
vorteilhafterweise gebildet durch die Wiederholung eines gleichen
Symbols, wobei dieses Symbol erzeugt werden kann, indem in dem Implantat
die Erregung einer Spule durch geeignete Kommandomittel (nicht dargestellt,
da in der Technik bekannt) verwirklicht wird, eine Erregung, die
einen elektrischen Strom hervorrufen wird, folglich eine magnetische
Induktion. Diese wird durch das Programmiergerät aufgefangen; nach Verarbeitung
wird das Nutzsignal (F. E. M. an den Klemmen der Spule des Programmiergeräts), das
am Eingang des Wandlers erscheinen wird, eine Form haben, die typischerweise
der entspricht, die mit 134 auf der 7 gezeigt
ist.
-
Die
Dauer TS dieses Signals entspricht vorteilhafterweise
einer Frequenz FS = 1/TS =
128 kHz.
-
Das
Signal AUSGANGSSIGNAL wird vorteilhafterweise durch den DSP 38 nach
Digitalisierung durch den Wandler 32 analysiert, der einen
digitalisierten Wert Sj, vorteilhafterweise
auf 8 Bits, liefert.
-
Das
Signal Sj wird, bevor es durch den DSP 38 analysiert
wird, vorteilhafterweise in dem FIFO-Speicher 36 gespeichert,
der, wie man weiß,
die Besonderheit vorweist, auf asynchrone Weise für simultanes
Lesen und Schreiben zugänglich
zu sein. Der Modus des Zugriffs auf das FIFO 36 ist auf
der 5 dargestellt: Wenn, im Verlauf eines Analysefensters
der Dauer TD, die Rechenmittel 38 P Abtattwerte
des Signals Sj analysieren, ist es so möglich, den
FIFO-Speicher sich im Verlauf einer Phase 136 mit P Daten
befüllen
zu lassen, aufgenommen zu regelmäßigen Intervallen
gemäß einer
Taktung, die sinnigerweise durch die Kontrollmittel 40 bewirkt
wird, die das Signal zum Schreiben in den FIFO-Speicher 36 steuern.
Bei dem folgenden Analysefenster kann der DSP 38 so, in
einer Phase 138, mit Lesen der P Werte beginnen, die in
dem FIFO-Speicher 36 enthalten sind, sobald der Letztere
fortfährt,
sich, im Verlauf einer Phase 140, mit P anderen Daten zu
Befüllen. Man
versteht, dass der DSP 38 so in einer fortgesetzten Phase
die P-Absatzwerte Sj lesen kann, die er
benötigt,
und sie nachfolgend ohne Unterbrechung verarbeiten kann, wobei so
die Komplikationen der Verarbeitung und der Einbußen an Zeit
vermieden werden können,
die einem System inhärent
sind, das kein FIFO-Speicher verwendet, und in welchem, bei jeder
Ankunft eines neuen Signalwerts, es notwendig wäre, eine Unterbrechung der
Operationen hervorzurufen, im Verlauf der Ausführung in dem DSP 38,
um diese neuen Werte berücksichtigen
zu können.
-
Das
Taktsignal 128 des Programmiergeräts wird selber durch die Division,
mit einem ganzzahligen M, aus dem Signal erzeugt, das durch den
Oszillator 44 erzeugt wird, der z.B. ein Oszillator ist,
der auf eine Resonanzfrequenz FOSC von 4 194
304 Hz abgestimmt ist. Die Teilung wird durch die Schaltung 42 ausgeübt, die, gesteuert
durch den DSP 38, die Eigenschaft besitzt, die Phase des
Taktsignals, das am Ausgang ausgegeben wird, vorzustellen oder zu
verzögern
(„programmierbar" genannter Taktgeber).
-
Die
steigenden Fronten des Taktsignals 128 dienen als Bezugszeitpunkt
für die
Schaltung 40 der Steuerung des Wandlers 32.
-
Die 6 veranschaulicht
die Art, wie die Mittel 40 abhängig vom Taktsignal 128 arbeiten.
Das Signal am Ausgang des Oszillators 44 wird durch ein
ganzes N geteilt, um ein Signal 142 mit einer Frequenz
Fe = FOSC/N zu liefern,
was man im Folgenden „Abtastfrequenz" nennen wird.
-
Im Übrigen ist
das Taktsignal 128 selber das Ergebnis der Teilung eines
Oszillator-Signals 44 durch ein ganzzahliges M. Indem man
M und N so wählt,
dass ein ganzzahliges P existiert, das die Gleichung M = P·N erfüllt, wird
man folglich P-Perioden
der Taktung 142 haben, während einer Taktperiode 128,
das ist Fe = P/TD.
-
Wenn
die Kontrollschaltung 40 eine erste Transition des Taktes 142 zu
einem von diesen verschiedenen Zeitpunkten der steigenden Front
des Taktes 128 erzeugt, mit einer zeitlichen Verschiebung θ, so wird
die (T + 1)-te Transition des Taktes 142 zum Zeitpunkt θ + (P/Fe) = θ +
TD ankommen, das heißt eine Zeit θ vor der folgenden
steigenden Flanke des Taktes 128, der also in Phase gut
mit dem Takt 142 verriegelt ist.
-
Wenn
man mit j die Nummer der Transition des Taktes 142 nach
einer steigenden Flanke des Taktes 128 bezeichnet, und
da die Transistionen des Taktes 142 dazu dienen, die Digitalisierungen
des Ausgangssignals durch den Wandler 32 auszulösen, wird
man am Ausgang dieses Wandlers eine Reihe von Signalen Sj erhalten, gleich, bei Digitalisierungsfehler,
den Daten des Ausgangssignals bei Zeitpunkten J.
-
Um
die Synchronisation zu verwirklichen, verwirklicht der DSP 38 zuerst
die Operation der Mittelung des Signals über eine ganze Zahl K von Fenstern
der Dauer TD, das ist während einer Zeit TA =
K·TD.
-
Man
erzeugt so eine Reihe von Werten <S>
j,
die definiert sind durch:
j ∈ [0 ...P – 1]
-
Indem
man in dem Rahmen der Synchronisation arbeitet, wo das Symbol wiederholend
ist, zielt diese Operation einzig darauf, die Amplitude relativ
zu Rauschen um einen Faktor √K zu vermindern.
-
Das
Signal <S>j wird
folglich die Form haben, die in 134 auf der 7 veranschaulicht
ist, bei der nahen Digitalisierung.
-
Das
Signal kann als ein Motiv T
j, veranschaulicht
in
144 auf der
7, genügend zu ähneln bewertet werden, dass
das System verwenden wird zur Korrelation mit <S>
j, gemäß der Operation:
l ∈ [0 ... P – 1]
-
Wobei
Tj den j. Punkt des Musters 144 bezeichnet.
Cl ist folglich der erste Punkt der Korrelationsfunktion
von <S> und T.
-
Die
obige Gleichung ist in zwei Summen unterteilt, um die Indize auf <S> zu bewahren, die in
dem Intervall [0 ... P – 1]
enthalten sind, was drauf hinausläuft, die Korrelation von T mit
der Verlängerung
durch Periodizität
von <S> zu berechnen, was
man als <S~> bezeichnen
wird.
-
Umso
mehr das Muster T <S~> ähnelt, desto
mehr ähnelt
die Funktion K der Autokorrelationsfunktion <S>·<S~>. Oder wie man weiß, dass
die Autokorrelationsfunktion [<S~>·<S~>]l maximal
ist für
l = 0, und das die Korrelationsfunktion <Sn ~>j = <S~>j+n maximal
ist für
l = –n.
-
Mit
anderen Worten, die Position des Maximums 146 der Korrelationsfunktion 148,
veranschaulicht in 8, zwischen einer Funktion,
die auf <S> beschränkt ist,
und der Verschiebung ihrer Verlängerung
in Periodizität,
zeigt die Größe der Verschiebung
an.
-
Es
ist diese Eigenschaft, welche die vorliegende Erfindung verwendet,
um die Synchronisierung der Takte zwischen dem Programmiergerät und dem
Implantat zu verwirklichen, wie es die 7, 8 und 9 veranschaulichen.
-
Wenn
das Muster Tj vorteilhafterweise gewählt ist,
eine starke Ähnlichkeit
mit dem digitalisierten und gemittelten Signal <S>j zu zeigen, dann wird die zuvor definierte
Korrelationsfunktion Cl (148 auf
der 8) ihr Maximum (146 auf der 8)
bei l = 0 haben, wenn Tj und <S>j in Übereinstimmung
sind, was der Konfiguration der 7 und 8 entspricht.
-
Die 9 stellt,
im zeitlichen Achsenkreuz des Programmiergeräts, die für diesen gemachte Analyse dar,
zum Bestimmen der Phasenverschiebung zwischen seinem Takt (128, 4)
und dem des Implantats (126, 4).
-
In
den Fall (A) der 9, zeigt der Takt des Implantats
eine Verspätung
der Phase im Verhältnis
zur der des Programmiergeräts,
eine Verspätung,
deren Größe man durch
n bezeichnet, wobei die Zeiteinheit die Abtastperiode 1/Fe ist. Da die Symbole, die den Synchronisationsrahmen
bilden, bei jeder neuen Transition des Taktes des Implantats beginnen,
wird die Gesamtheit von Punkten <S>j (j ∈ [0 ...
P – 1]),
die das Mittel der Symbole des Synchronisationsrahmens bildet, selber
auch um n verzögert
erscheinen. Die Korrelationsfunktion mit Tj wird folglich ihr Maximum
bei –n
oder bei P – n
zeigen, wenn diese Korrelationsfunktion, periodisch mit Periode
P, da diese leicht berechnet werden kann, in dem Intervall [0 ...
P – 1]
analysiert wird.
-
In
dem Fall (B) der 9, sind die zwei Takte 126 und 128 in
Phase und das Maximum der Korrelationsfunktion mit dem Referenzmuster
von <S>j ist
bei l = 0.
-
Wenn,
umgekehrt zum Fall (A), der Takt 126 in Phase vorauseilt,
im Vergleich zum Takt 128, was dem Fall (C) entspricht,
wird das Maximum der Korrelationsfunktion bei l = +n gelegen sein
(wobei das Maximum bei l = –n
gelegen sein wird, in dem Fall einer Phasenverzögerung).
-
Es
genügt
folglich dem DSP 38, um die Gleichheit der Phase zwischen
den Takten 126 und 128 (4) herzustellen,
durch Berechnen das Maximum der Korrelationsfunktion Cl zu
suchen, und dem programmierbaren Taktgeber 42 eine Verzögerung gleich
der Position dieses Maximums aufzuerlegen.
-
Man
bemerke auf jeden Fall, dass die obigen Schlüsse nur dann strikt exakt sind,
wenn die zwei Takte 126 und 128 von exakt gleicher
Frequenz sind, das heißt,
wenn F0 = Fosc/M
= 1/TD ist.
-
Wenn
im Gegenteil ein kleiner Frequenzunterschied existiert, was praktisch
immer der Fall ist wenn zwei Oszillatoren auf unabhängige Weise
sich entwickeln, kann man schreiben Fi =
Fp(1 + ε),
wo Fi die Taktfrequenz 126 des
Implantats und Fp diejenige des Taktes 128 des
Programmiergeräts
bezeichnet.
-
Man
weiß,
dass, wenn ε << 1, wird die Phasenverschiebung eines
vollständigen
Fensters der Periode TD wieder zum Beginn
einer Zeit in der Ordnung von TD/ε erscheinen,
das heißt
1/ε Fenster.
-
Wenn
die Takte 126 und 128, vorteilhafterweise, durch
Quarznszillatoren erzeugt werden, dann wird ε in der Größenordnung von 10–4 sein.
Nach der Art, wenn der Synchronisationsrahmen 102 Aussendungen
des gleichen Symbols umfasst, dann wird die Phasenverschiebung zwischen
den Phasen und der letzten Aussendung in der Größenordnung von 10–2 Fenster
der Dauer TD sein, und kann in der vorliegenden
Anwendung vernachlässigt
werden, wo die Abtastperiode vorteilhafterweise gleich 1/Fe = 1/(32TD) wird:
In dem Fall wird die relative Phasenverschiebung zwischen den Takten 126 und 128 in
der Größenordnung
eines Drittels dieser Periode nach einem vollständigen Synchronisationsrahmen
sein.
-
Struktur der Nachrichten,
die ausgetauscht werden, sobald die Synchronisation etabliert ist
-
Vorteilhafterweise
werden, in der vorliegenden Erfindung, die Nachrichten, die ausgetauscht
werden, sowohl vom Programmiergerät zum Implantat, sowie auch
vom Implantat zum Programmiergerät,
nach Gruppe der Unternachrichten „Rahmen" genannt.
-
Aufgrund
der verfügbaren
Energie in der Eigenschaft der Anforderungen im Programmiergerät im Verhältnis zum
Implantat, kann das Verhältnis
Signal/Rauschen in der Richtung Programmiergerät → Implantat viel größer sein
als in der anderen Richtung, und die Übertragung Programmiergerät → Implantat
kann erfolgen, indem die Bits durch Anwesenheit oder Abwesenheit
eines Signals in einem vorherbestimmten zeitlichen Fenster kodiert
werden. Wenn das Programmiergerät
und das Implantat zuvor synchronisiert wurden, kann das zeitliche Fenster
auf die Periode Td der Takte 18 und 42,
respektive des Immplantats und des Programmiergeräts, reduziert
werden, was so die gleiche Geschwindigkeit in der Richtung Programmiergerät → Implantat
verleiht, wie in der anderen Richtung, was eine der Erfindung originelle
Eigenschaft bildet, im Vergleich mit bekannten Systemen, in welchem
die Übertragung
Implantat → Programmiergerät im Allgemeinen
die Schnellere ist.
-
Die
Rahmen definieren die Zeitpunkte, zu denen die Sendung der Symbole
durch das Programmiergerät
und das Implantat autorisiert sind, wobei diese Rahmen nur nach
der Synchronisation zwischen den zwei Apparaten operativ sind.
-
Die 10 zeigt
die Weise, nach der die Datenaustäusche in Übereinstimmung mit dieser Rahmung erfolgen.
-
Der
Fall (A) der 10 entspricht einem Rahmen 150,
im Verlauf dessen die Nachrichten hauptsächlich von dem Implantat zu
dem Programmiergerät
gehen, während
der Fall (B) einem Rahmen 152 entspricht, im Verlauf dessen
die Nachrichten hauptsächlich
in der anderen Richtung erfolgen.
-
Die
Dauer jedes Rahmens wird mit τf bezeichnet und wird, so wie alle anderen
Dauern, die eine Rolle in den Rahmen spielen, ein Vielfaches Ganzes
der Dauer TD der Analysefenster des Programmiergerätes und des
Implantats sein.
-
Solange
der Rahmen 150 nicht beginnt, wartet man darauf, dass der
vorhergehende Rahmen beendet sein wird. Das Programmiergerät ist also
inaktiv und das Implantat in einem Empfangsmodus 154.
-
Wenn
der Rahmen beginnt, auf eine Weise, die durch das Programmiergerät auferlegt
wird, das gegenüber
dem Implantat immer Master sein wird, wird ein Kopfelement 156 durch
das Programmiergerät
ausgesendet. Dieses Kopfelement wird Informationen enthalten, die
dem Implantat anzeigen, dass es nun Informationen zu dem Programmiergerät senden
muss.
-
Das
Kopfelement ist z.B. aus einem Signal von Dauer τH =
4 TD gebildet, welches 4 Bit transportiert und
eine Struktur zeigt, die allen Fällen
der Figur (Rahmen 150 sowie 152) gemein ist, mit
einem Startbit des Rahmens (Bit „1", entsprechend einer Übertragung,
die immer vorhanden ist in einer Kodierung mit „Alles oder Nichts"), gefolgt von drei
Nachrichten-Bits (näher
ausgeführt
weiter unten).
-
Wenn
der Rahmen ein Rahmen „Programmiergerät zum Implantat" (vom Typ 152)
ist, so sendet, nach einer eventuellen Ruhezeit von τR das
Programmiergerät
Signale in dem Feld 158, von Dauer τE, welche
das Implantat empfängt
und interpretiert. Während
des Sendens dieses Felds durch das Programmiergerät ist das Implantat
also in einem Empfangszustand 160, von Dauer τB.
Nach dem Ende dieses Felds 160 kehrt das Implantat in einen
Empfangszustand 162 zurück,
in Erwartung eines neuen Rahmenkopfelements. Da die Bits vorteilhafterweise
in dem Feld 158 durch Vorhandensein oder Abwesenheit eines
Signals gesendet werden und das gleiche in dem Kopfelement 156 (Kodierung
mit „alles
oder nichts"), so
endet die Abwesenheit des durch das Implantat empfangenen Signals,
in dem Feld 162, als ein Datum interpretiert zu werden.
-
Wenn
der Rahmen vom Typ „Implantat
zum Programmiergerät" (Rahmen vom Typ 150)
ist, wird also das Implantat, nach einer eventuellen Ruhezeit von
Dauer τR, eine Nachricht zu dem Programmiergerät aussenden,
in dem Feld 164. Das Programmiergerät dekodiert so die Nachricht
in dem Feld 166 des Rahmens.
-
Die
drei letzteren Bits des Kopfelements (Nachrichtenbits) können dazu
dienen, die Austäusche
zwischen dem Programmiergerät
und dem Implantat zu kontrollieren, insbesondere, um Übertragungsfehlern
abzuhelfen, die durch die Systeme erkannt werden.
-
Diese
Bits können
vorteilhafterweise die folgende Bedeutung haben:
„111" (impt → pgrr): | das
Implantat wird einen Synchronisationsrahmen aussenden |
„100" (impt → pgrr): | das
Implantat wird Werte an das Programmiergerät senden |
„010" (pgrr → impt): | das
Programmiergerät
wird Daten an das Implantat senden |
„001" (pgrr → impt): | Pause |
„000" (pgrr → impt): | Ende
der Session |
„110" (impt → pgrr): | das
Implantat wird das gleiche Feld von Daten wie in dem vorhergehenden
Rahmen erneut senden |
„100" (pgrτ → impt): | das
Implantat hat den letzten Rahmen, den es empfangen hat, nicht berücksichtigt
und wird die Daten berücksichtigen,
die folgen werden |
„011": | ohne
Bedeutung |
-
Man
bemerke, dass die Nachricht „111", welche vom Implantat
verlangt, einen Synchronisationsrahmen auszusenden, derart kodiert
ist, von dem Implantat verstanden zu werden, ohne dass eine Synchronisation
etabliert wäre.
Tatsächlich
erfolgt die Erkennung durch das Implantat von Signalen, die von
dem Programmiergerät
ausgesendet sind, durch Erkennung oder nicht des Vorhandenseins
dieser Signale während
den zeitlichen Fenstern der Dauer TD, wobei
die Erkennung einer Anforderung eines Synchronisationsrahmens gleich
ist mit Erkennen des Vorhandenseins eines Signals z.B. während einer
Vielzahl von aufeinanderfolgenden Fenstern (typischerweise vier
aufeinanderfolgende Fenster). Tatsächlich, wenn diese Signale
aufeinanderfolgen mit einer Periode kleiner oder gleich einem Teiler
von TD, unabhängig von dem Synchronisationszustand
zwischen den Takten 126 und 128 des Implantats
und des Programmiergeräts,
wird das Implantat das Vorhandensein eines Signals an den Klemmen
seiner Empfangsschaltungen während
wenigstens vier (in dem betrachteten Beispiel) seiner zeitlichen
Fenster lesen und wird das Vorhandensein dieser wiederholten Signale als
ein Kopfele ment interpretieren, das die Nachricht „111" enthält, was
auf seinen Seiten das Aussenden eines Synchronisationsrahmens auslösen wird.
-
Resynchronisation
im Verlauf der Übertragung
-
Man
wird verstehen, dass die Symbole nur sinnigerweise dekodiert werden
können,
wenn das Programmiergerät
und das Implantat zuvor synchronisiert wurden, wobei die Dekodierung
ausgeführt
wird, indem zu einem bestimmten Zeitpunkt ∅ die Relationsfunktionen
bewertet werden.
-
Bei
der Übertragung
eines Rahmens vom Typ 150 entspricht aber ein Bruchteil
des zeitlichen Fensters einer Desynchronisationsverzögerung,
die am Ende des Rahmens erscheint. Wie man es weiter oben gesehen
hat, kann mit durch Quarzoszillatoren geführten Takten die Anzahl temporärer Fenster
in der Größenordnung
von etwa 100 sein, bevor die Desynchronisation zu groß wird.
-
Wenn
Fl die Frequenz des Taktes 126 ist,
der das Implantat taktet, und FP diejenige
des Taktes 128 ist, der das Programmiergerät taktet,
und wenn diese Frequenzen verknüpft
sind durch Fl = FP(1
+ ε), mit ε << 1 und wenn ein Rahmen eine Dauer von
K Fenstern hat, dann ist am Ende desselben die Desynchronisation
in der Größenordnung
von KεTD, wo TD die Dauer
eines zeitlichen Fensters ist.
-
Wenn
die Korrelationsfunktion zwischen einem Symbol und dem Muster, das
dazu dient, es zu entdecken, zum Zeitpunkt ∅ am Beginn
des Rahmens maximal ist, wird sie um KεTD im
Verhältnis
zu seinem Referenzfenster am Ende dieses Rahmens verschoben. Infolge
dessen, wenn man die Korrelationsfunktion in einem Fenster der Größe 2KεTD, zentriert in ∅, betrachtet, wird
das Maximum dieser Funktion im fraglichen Fenster erscheinen. Genauer,
bei der j-ten betrachteten Zelle, wird die Verschiebung der Korrelationsfunktion Δj =
jεTD sein.
-
Wenn
der DSP
38 die Operation ausführt:
hat man folglich Σ
Δ =
[K(K – 1)/2]εTp und, wenn
K groß ist, Σ
Δ =
(K
2/2)εT
D.
-
Die
Verzögerung
KεTD am Ende des Rahmens ist folglich verknüpft mit ΣΔ durch
die Beziehung KεTD = (2/K)ΣΔ.
-
Man
wird verstehen, dass, wenn man das Maximum der Korrelationsfunktionen
in einem Fenster der Größe 2KεTD bei jedem Fenster sucht und da man die
Zeitpunkte der Maxima mittelt, man folglich eine Größe erhalten
wird, die es erlaubt, die Phasenverschiebung am Ende des Rahmens
zu kennen.
-
Diese
Phasenverschiebung wird folglich in den programmierbaren Taktgeber 42 wiedereingeführt, um eine
Resynchronisation auszuführen,
was es erlaubt, auf für
die Erfindung kennzeichnende Weise mit der Resynchronisation im
Verlauf der Übertragung
fortzuschreiten.
-
Man
hat gleichermaßen
bemerkt, dass, wenn die Nachrichten zu dem Implantat übertragen
werden in den Rahmen vom Typ 152 (10), man
notwendigerweise Rahmen vom Typ 150 in die Übertragung
einfügen
muss, da es während
dieser letzteren Rahmen ist, dass das Programmiergerät die Möglichkeit
hat, sich auf das Implantat zu resynchronisieren.