DE3140212A1 - Implantierbarer gewebestimulator, sowie eingabeeinrichtung zu dessen voreinstellung - Google Patents

Implantierbarer gewebestimulator, sowie eingabeeinrichtung zu dessen voreinstellung

Info

Publication number
DE3140212A1
DE3140212A1 DE19813140212 DE3140212A DE3140212A1 DE 3140212 A1 DE3140212 A1 DE 3140212A1 DE 19813140212 DE19813140212 DE 19813140212 DE 3140212 A DE3140212 A DE 3140212A DE 3140212 A1 DE3140212 A1 DE 3140212A1
Authority
DE
Germany
Prior art keywords
pulse
register
cycle
microprocessor
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19813140212
Other languages
English (en)
Inventor
Alan F. 33157 Miami Fla. Lesnick
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cordis Corp
Original Assignee
Cordis Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cordis Corp filed Critical Cordis Corp
Publication of DE3140212A1 publication Critical patent/DE3140212A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61NELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
    • A61N1/00Electrotherapy; Circuits therefor
    • A61N1/18Applying electric currents by contact electrodes
    • A61N1/32Applying electric currents by contact electrodes alternating or intermittent currents
    • A61N1/36Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
    • A61N1/372Arrangements in connection with the implantation of stimulators
    • A61N1/37211Means for communicating with stimulators
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61NELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
    • A61N1/00Electrotherapy; Circuits therefor
    • A61N1/18Applying electric currents by contact electrodes
    • A61N1/32Applying electric currents by contact electrodes alternating or intermittent currents
    • A61N1/36Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
    • A61N1/372Arrangements in connection with the implantation of stimulators
    • A61N1/37211Means for communicating with stimulators
    • A61N1/37252Details of algorithms or data aspects of communication system, e.g. handshaking, transmitting specific data or segmenting data

Description

.Implantierbarer Gewebestimulator, sowie Eingabeeinrichtung zu dessen Voreinstellung
Die Erfindung betrifft einen implantierbaren Gewebestimulator nach dem Oberbegriff der Ansprüche 1, 25, 26, 30 bzw. 35, sowie eine Eingabeeinrichtung zu dessen Voreinstellung, nach dem Oberbegriff des Anspruchs 37.
An Neuralstimulatoren werden, was die Abhilfe für Wirkungen verschiedener physiologischer Gesundho i t.ss törungen angeht, große Erwartungen geknüpft. Di ο KickLrodon dor Neuralstimulatoren können beispielsweise an ber.timint.en Stellen im menschlichen Gehirn zur Hekämpfunß von neurologischen Gesundheitsstörungen oder im Bereich des Rückgrats zur Unterdrückung von schwer zu behandelnden Schmerzempfindungen implantiert werden. Obwohl Neuralstimulatoren und Herzschrittmacher viele gemeinsame Eigenschaften haben, vereitelt die Mannigfaltigkeit der Applikationen im Neuralbereich den Versuch, die Technologie der Schrittmacher zu übernehmen
BÜRO 6370 OBERUKStL" I.INDENSTRASSF. 10
TKL. 06171'5ί·849 TEl.EX41So343 real d
BÜRO 8050 FREISING" SCHNEGGSTRASSF. 3-5 TEL. 08161/62091 TELEX 526547 pawa d
ZWEIGBÜRO 8390 PASSAU LUDWIGSTRASSE 2 TEL. 0851/36616
• e β ο ο β ς
• · O θ 9 6
β O B β O β 9 Φ OQO O O
'β/ ο·° ο 2 » * a c * * ο ο * β β
fei I" ^ U fe I
η j*
und Normparameter festzulegen. Die Erfordernisse bezüglich Geschwindigkeit, Pulsbreite und -amplitude sind von einem neuralen Anwendungsfall zum anderen um Zehnerpo'tenzen unterschiedlich. Darüber hinaus können die Optimalparameter bei ein und demselben Patienten sich im Laufe der Zeit erheblich ändern.
Die Komplexität der notwendigen Funktionseigenschaften erfordert die Verwendung eines universell einsetzbaren, programmierbaren Neuralstimulators. Beim Vorliegen eines chronischen Krankheitsbildes ist die Verwendung eines vollständig implantierten, batteriebetriebenen Stimulators mit Telemetriesteuerung angezeigt. Da die Impulsgeschwindigkeit die der Herzschrittmachergeschwindigkeit von 1 bis 2 Impulsen pro Sekunde erheblich übersteigen kann, ist der Batterieverbrauch ein ernpf i ndl i chr·- res Problem. Darüber hinaus erhöht die gesteigerte Komplexität der Steuervariablen die Fehlermöglichkeiten. Trotz der Komplexität des Gesamtsys berns muß der Energieverbrauch und die Anzahl der elektronischen Bauteile in Grenzen gehalten werden. Der außerordentlich hohe Grad der zu steuernden Anpassungsfähigkeit und die relativ große Impulsrate erfordern bei einem idealen Neuralstimulator eine vollkommen neue Vorgehensweise bezüglich der internen Elektronik und der externen Steuerung,
Demgegenüber ist es Aufgabe der Erfindung, bei einem implantierbaren Stimulator einen höheren programm!ersteuerbaren Flexibilitätsgrad und einen geringeren Energieverbrauch zu erzielen. Weiterhin soll mit der Erfindung eine zuverlässige Technik zur Erzeugung von über einen weiten Bereich einstellbaren Impulsparameterwerten geschaffen werden.
Diese Aufgabe wird durch die Ansprüche 1, 25, 26, 30 bzw. 35 gelöst. Vorteilhafte Weiterbildungen ergeben sich aus den diesen zugeordneten Unteransprüchen.
Bonondere Vorteile lassen sich in Zusammenhang mit der Erfindung dadurch erzielen, daß ein rriikroprozessorf',f>Rt.f!uerter, extern einstellbarer Stimulator für biologisches Gewebe mit mehreren Betriebsarten geschaffen ^ wird, der eine Impulserzeugungsvorrichtung aufweist, mit welcher Stimulationsausgangsimpulse für eine Mehrzahl von voneinander unabhängig geschalteten Elektroden erzeugbar ist. Das kann besonders vorteilhaft mit einem "single-chip"-Mikroprozessor und mit einem Festwert-'0 .speicher, einem ROM, dadurch verwirklicht werden, daß eine Verarbeitungseinrichtung mit digitaler Logik und mit einer voreingestellten Multi-Speichervorrichtung eine Mohrzahl von Haltekreisen mit je mehreren Speicherzellen so lädt, daß die erwünschten Impulsparameter erzeugt werden. Dabei werden Parameterdatenwerte, die von außerhalb übermittelt worden sind, durch die Verarbeitungseinrichtung entschlüsselt und/oder decodiert, mittels oinoo Zwo j weg-Tolcme. triesystems bestätigt und in Kontroll- r('i\ i s t.or jyvLadon . Hör Mikroprozessor, der die Verarbei-
tungssteuervorrichtung bildet, ermittelt entsprechende abgespeicherte Datenwerte aus in dem ROM befindlichen Parametertabellen, und lädt die Haltekreise für die Amplitude, die Geschwindigkeit und die Breite der Impulse. Die Haltekreise für die Impulsgeschwindigkeit und
Impulsbreite bewirken eine Voreinstellung von je einem besonderen Rückwärtszähler. Die Rückwärtszähler für die Impulsgeschwindigkeit bzw. die Impulsbreite werden langsam bzw. schnell getaktet. Zur Energieeinsparung wird dor schnelle Takt nur dann kurz aktiviert, wenn beim Ab-
1,-Ulf on cio.s Go;;chwi nd 1 gkeitszählers ein Ausgangsimpuls
p,I wordon muß. Dann wird der schnelle Takt anstelle do:; 1 atiiiüamon an ilr-ti Mikroprozossor angelegt. Das von dem Geschwindigkeitszähler erzeugte Zeitablaufsignal "NULL-I1 also ein Signal mit negativer Logik, das bei
einem logischen Pegel "0" aktiv ist, erzeugt eine [Jntorbrechungsanf rage für den Mikroprozessor, die eine. Unterroutine zur Neueinstellung der Elektroden- und dor Gohäuso-Polarität vor dem Aktivieren eines jeden
Aufgangsimpulses aufruft. Mj t dieser Einrichtung i ο t.
eine Mehrzahl von Elektroden (gewünschtenfalls einschließlich des Gehäuses) alternierend als Anode und als Kathode verbindbar.
Der Mikroprozessor steuert den Zeitablauf eines ElN/AUS-Zyklus mittels einer internen Maschinenzyklus-Zählroutine, die die Unterbrechungsfähigkeit während des AUS-Zeitabschnittes des Zyklus verhindert und steuert die Geschwindigkeit auf ein festeingestelltes Minimum. Mit EIN- und AUS-Zeittabellen in dem ROM wird die mit der Geschwindigkeit änderbare Frequenz bei Schnelltakt-Intervallen berücksichtigt.
Mittels eines von einem Magneten betätigbaren Reedschalters kann der kontinuierliche Langsamtakt abgeschaltet werden, wenn der "NULL"-Ausgangsanschluß des Geschwindigkeitszählers sich nicht auf dem logischen Pegel "O" befindet. Mit dem Empfang des ersten, außerhalb erzeugten Datenimpulses wird der schnelle Takt eingeschaltet, und der Mikroprozessor wird mit bestimmten Anweisungen zum Neustarten des langsamen Taktes veranlaßt, während die Haltekreise neu eingestellt werden.
Ein weiterer, besonderer Vorteil ergib L f.ich dadurch, daß die Datenübermittlungen zu dem Implantat mit; einer Pulsbrei tcn-modul ierton Inf rarot-Uberm i t.tlungsvorri chtung in eine Folge von 30 Bits codiert sind, wobei sich an 3 Steuerbits ein bestimmte Parameter darstellendes 27-Bit Datenwort anschließt. Das Datenwort wird in Temporärregister geladen, durch magnetische Reflexsignal-Telemetrie bestätigt und in Kontrollregister übertragen. Datenwerte entsprechend "EIN" und "AUS" aus der Parametertabelle in dem ROM und die Datenwerte über die Elektroden bzw. Gehäuseverbindungszustände werden in entsprechende Register geladen« Nach dem EIN-Zeitabschnitt des Zyklus wird der Datenwert entsprechend "AUS" in ein Zyk] ur?rof, I «tor f.oladon, das mlt.iol:; mil.-
sprechender Anweisungen inkrementiert wird, bis sein Inhalt den Wert "NULL" erreicht, worauf die Unterbrechung ermöglicht wird und der Datenwert entsprechend "EIN" in das Zyklusregister geladen und in ähnlicher Weise inkrementiert wird. Alle Register sind durch get.ronnte Mehrzweckregister in einem Mikroprozessor-Komplettbaustein in dem Implantat realisierbar. Die externe Steuereinrichtung ist vorzugsweise ebenso mit einer Verarbeitungseinrichtung mit einem Mikroprozessor implemen-I-i ort, wobei die Verarbeitungseinrichtung Impulspara-.mr· Lordaton codiert, abspeichert, übermittelt, empfängt, docodiert und vergleicht und immer wieder auf räumliche Nähe mit dem Implantat abprüft.
Nachfolgend sind Einzelheiten, Merkmale und Vorteile der Erfindung anhand eines Ausführungsbeispieles und anhand der Zeichnung näher beschrieben.
Fig. 1 ein Blockschaltbild der erfindungsgemäßen steuerbaren Neuralstimulatoreinrichtung,
Fig. 2 ein schematisches Schaltbild einer Einzelheit der Schaltung in Fig. 1, des Kommunikationsmoduls,
Ki ρ,. 3 ein Blockschaltbild einer Einzelheit der Schaltung in Fig. 1, d.er Steuereinrichtung mit Mikroprozessor,
30
Ki)·.. Λ fin H I (ickccilinl i.b i Id einer F. inzplhe i I: in I1Mr. 1, in Form von Impulsgenerator und Haltekreisen,
Fig. 5 ein Zf: i t.d i agrarnm der den Stimulationsimpulsen mit alternierender Polarität und der Datenübermittlung zuzuordnenden Signalverläufe,
Fig. 6 eine schematische Darstellung einer typischen An-
nom
Ordnung eines in serieller Form vorliegenden Bitmusters für einen von einem Datenwort gefolgten Steuerbefehl "Laden",
Fig. 7 eine schematische Darstellung der Bit-Anordnung des Datenwortes in einem Registerpaar in dem Mikroprozessor-Baustein,
Fig. 8 ein Blockschaltbild von Einzelheiten in Fig. 1, der Steuerkonsole und des TeIemetriekopfes,
Fig. 9 ein Zeitdiagramm zur Darstellung der
zeitlichen Aufeinanderfolge bei der TeIemetrie-"handshake"-Übertragung mit dem Abfrage-Steuerbefehl,
Fig. 10 - 30 Flußdiagramme zur Darstellung von Logikablaufinformationen, aufgrund welcher der
Neuralstimulator gesteuert wird,
Fig. 31-38 Flußdiagramme zur Darstellung von Logikablauf informationen, aufgrund welcher die
Steuereinrichtung für den Neuralstimula-
tor gesteuert wird.
Als zusätzliche, das Verständnis der Erfindung fördernde Erläuterungen dienen die in die Beschreibung eingefügten Tabellen 1 - 33, in welchen bestimmte Wertzu-Ordnungen und Zuordnungen zu Anweiseeinrichtungen für die Funktionssteuerung der Verarbeitungssteuervorrichtung in' verschiedenen Darstellungsarten abgefaßt sind.
_ς Wie es aus dem Aufbau des Gesamtsystems in Fig. 1 ersichtlich ist, tauscht ein elektronisches Implantat 10 Daten mit einer Steuerkonsole 12 über ein in dem Implantat befindliches bidirektionales Kommunikationsmodul 14 und über einen externen Telemetriekopf 16 aus.
2C
Das Kommunikationsmodul 14 dient als Interface zu der Steuereinrichtung auf Mikroprozessorbasis 18, die die folgenden Parameter erzeugt und entsprechend übermittel-Inn und von dem Kommunikationsmodul 14 empfangenen Daten c einstellt: Impulsgeschwindigkeit bzw. -rate, Impulsbreite bzw. Impulsdauer, Stromamplitude, die EIN/AUS—Schaltzeitpunkte in Impulsfolgen, der elektrische Verbindungszustand jeder Elektrode und des metallischen Gehäuses, (ti. h., nicht, verbunden, verbunden als Anode oder ver-IQ buruion al« Kat.hodo), und, ob die ausgewählte Polarität gleichbleibend ist oder von Impuls zu Impuls wechselt.
Bei einer Neueinstellung wird durch die Steuereinrichtung 18 eine Mehrzahl von Impulsparameter-Haltekreisen T5 20 zur Erzeugung von Geschwindigkeits-, Pulsbreiten- und Amplituden-Parametern für einen außerhalb der Steuereinrichtung 18 befindlichen Impulsgenerator 22 geladen. Je einzelne Impuls-Eingabe/Ausgabe-Taktleitungen 1, 2, 3 steuern die entsprechenden Haltekreise so an, daß die Parameterwerte von einem Datenbus 24 geliefert worden, welcher - wie weiter unten erläutert - durch don momory adroKH bun (Speicheradressierungs-Daten- ::amriiolr,chi one) y.obildet wird. Das Ausgangssignal des .Impulsgenerators ist so verbunden, daß mit ihm mittels einer Elektrodenverbindungs- Steuereinrichtung 26 durch ausgewählte Elektroden in der ausgewählten Richtung (Polarität) Strom fließen kann. Die ausgewählten Polaritäten werden jeweils für einen Impuls bestimmt. Elektrodenverbindungs-Haltekreise 28 werden über die Leitung I/O 4 und I/O 5 je unmittelbar vor der Erzeugung jedes Pulses zur Neuübernahme der Datenwerte aus der Steuereinrichtung 18 getaktet. Darüber hinaus aktiviert I/O -4 den Ausgang des Impulsgenerators 22. Durch Weglassen des Aktivlerungsimpulses I/O 4 bewirkt die Steuereinrichtung 18 pinen AUS-Zeitabschnitt. Der EIN/AUS-Zyklus wird fort.während durch Firmware-Anweiseeinrichtungen in der Steuereinrichtung 18 zeitlich gesteuert.
• a c
* · a
17 Π *) 1 "5
I kv £ \ I
Das Kommunikationsmodul 14 weist, wie in Fig. 2 dargestellt, einen impedanz-modulierten Resonanztransponder 30 auf, der mit einer abgestimmten Spule und mit einem parallelgeschalteten Transistor, der durch den seriellen Ausgangsanschluß Q der Steuereinrichtung auf Mikroprozessorbasis 18 gesteuert wird, ausgerüstet ist. Das binäre Signal Q, mit dem der parallelgoschaltete Transistor in dem Resonanztransponder 30 angesteuert wird, ändert die Amplitude und die Phase des mittels der Spulenabstimmung zurückgestrahlten Signales beim Vorliegen eines magnetischen Trägerfeldes, das durch den externen Telemetriekopf 16 erzeugt wird. Die Modulation der Ladeimpedanz mit abgestimmter Spule wird in dem Telemetriekopf 16 als Phasenmodulation aufgenommen.
Der Pegel der über die Resonanztransponder-Spule entwickelten Spannung wird von dem Transistorschaltkreis 32 aufgenommen, dessen Ausgangsanschluß einen monostabilen Schaltkreis (MMV) 34 so ansteuert, daß ein normalerweise nicht aktivierter Infrarotempfänger 36 eingeschaltet wird. In dem Empfänger wird der Spannungsabfall Über einen Phototransistor verstärkt und an den Rücksetzeingang eines D-Flip-Flops 38 angelegt, dessen Q-Ausgang den Primärdateneingang für die mikroprozessorgestützte Steuereinrichtung, EF2, bildet. Die Kommunikationsvorrichtung 14 weist auch einen Reedschalter-Schaltkries auf, der auf einen durch einen von außen mit der Hand angelegtes Magneten erzeugtes nicht dargestelltes Magnetfeld anspricht. Der Ausgangsanschluß des Reedschalter-Schaltkreises 40 taktet das invertierende Reedschalter-Flip-Flop 42, und ermöglicht damit, daß der Patient den Stimulator ein-und ausschaltet.
Die Steuereinrichtung 18 weist eine zentrale Vornrboitungseinrichtung, die auf einem Baustein integriert ist, mit 8 Bit, Registerorientierung und Byteorientierung in CMOS-Technologie, insbesondere einen Mikroprozessor 50 vom Typ RCA CDP 1802 COSMAC,auf= Besonders herausstech-
ende Merkmale dieses Mikroprozessors sind in der Verfügbarkeit von 16 auf dem Chip integrierten 16-bit-Mehrx.wockrogistorn und einer 8-bit-parallelen Organisation mit", einem bidirektionalen Datenbus und einem Speicheradreßbus (MA) zu sehen. Der Mikroprozessor 50 ist mit einem Festwertspeicher, dem ROM 52,. zusammengescHaltet, vorzugsweise mit dem RCA CDP 1833, das 1024 Bytes von festeingestelltem Nur-Lese-Speicherplatz aufweist. Die in dem ROM 52 abgespeicherten Datenwerte sind in Form von Hexadezimalzahlen mit entsprechender Wertigkeit darstellbar, wobei ein in einer Speicherzelle des ROMs abspeicherbares Byte durch zwei aufeinanderfolgende Hexadezimalzahlen gebildet wird, deren erste die höherwertigen vier Bits des Bytes und deren zweite die vier π i C'dcrwcrt". I gen Bits des betreffenden Bytes darstellt. EUi I spi elfiwois« entspricht die Hexadezimalzahl IA dann dem durch die Bit-Kombination "00011010" von rechts nach links mit abnehmender Wertigkeit zu lesenden Byte.
Die in dem ROM abgespeicherten Werte sind in den Spalten 2-9 der nun folgenden Tabellen la und Ib dargestellt, wobei jedenfalls zwei Byte in jeweils einer Spalte zusammengefaßt sind. Die Spalte 1 der Tabelle la und Ib sind aus Gründen der Übersichtlichkeit mit Basisadressen in vierstelliger hexadezimaler Form dargestellt, wobei das linke Byte von Spalte 2 ein Adreß-Displacement von 11O" aufweist, also direkt mit der jeweiligen Basisadresse (Spalte 1) adressierbar ist, das rechte Byte von Spalte 2 ein Adreß-Displacement von "+1" aufweist, ..., und das rechte Byte von Spalte 9 ein Adreß-Displacement von "+15" aufweist. Damit ist bei Verwendung der durch die Abspeicherung in dem ROM 52 gegebenen Code-Information als Programminformation eine für den Mikroprozessor 50 festgelegte Funktions-Ablauffolge ge— geben, die auch in einer übersichtlicheren und symbolischen Form mittels der in einem "Benutzer-Handbuch für den RCA COSMAC Mikroprozessor CDP 1802" der Firma Enatechnik bzw. ausführlicher in dem "User Manual for the
A O 9
140212
CDP 1802 COSMAC Microprocessor" der Firma RCA beschriebenen Sprache darstellbar ist. Diese Sprache wird im folgenden als die Assemblersprache des verwendeten Mikroprozessors bezeichnet. Zur Erläuterung der einzelnen Funktionsabläufe des verwendeten Mikroprozessors und zum Verständnis der hier benutzten und dort erläuterten Notation sind die erwähnten Handbücher als Referenz geeignet.
2 TABELLE 3 4 1 a 6 7 8 9
Spalte: 7100 FBOl B1B3 EiAl FBBB A3Ffl AlAF
1 , FBOO BSFB 3.CA5 5 B6F8 AOAO 30 03. EO 70
0000 0.03t ZBlC 9C3A BFF8 4030 7671 40 Ct CtCt
0010 GtCt CtCt C47B F8F0 CtCt C47A FFOl 3A3C
0020 7B7B CtCt Ct/A 2171 D33C 793C 793Π 793C
0030 79F8 043?. Ar)FB FB 06 0Γ532 D3FB OSFB 0232
00t 0 97FB 02FB 0132 D3D3 OJ. FB Ö6C2 01EF FBOA
0050 FB07 3210 3079 OtFB 89 9D BC8D AC97 AtEt
OQAO 69F8 01B8 CtCt AZF B IEFB FFAt 699E BCf)E
0070 ACFiI 0 0B8 £030 983A DFBS DF96 DFS* DFCO
0080 01t7 92DF 82DF C430 8BDF COOl 47D3 D3D3
0090 D3IXJ D3D3 D3BS 23.95 D3D3 D3D3 D3D3 A5D3
I)OAU D3D3 D3D3 D3D3 9BDF D3D3 D3FA 07F9 AOAo
0 OBO COOl 47F8 03Bt D3D3 OFFC EEBAt OtAt EtOB
00CO 95B2 96BE: 8SA2 D3B6 92F6 F6F6 FoFC DBAt
00DO (HAt B769 BBFA 95FA FBAt 87FA CFFI. A788
00EO FACF FlAS OtAt BAAB A9AA 82FA 0232 20F8
00FO OtAt 89FB FFAA 07FC C7F9 BOAA 2484 3A16
0100 B2F6 3333 87FA 6A9R 80Ä7 88FA BFF9 80A8
oiao COOl 4787 FA3F 8AF6 FA 02 C201 4388 F9C0
0120 A830 478B FA3F BFF9 FACiO 329B B2F6 FAFA
0130 0732 8FFC DOAt A782 BtOt BiEiFtT 65AE 82F6
0140 FAFO F6F6 AtF8 A882 92F6 FoFo FAlE FCBl
0150 AClEiC 72BD FOAD FS 03 328t 8DFt AD9Ö 2C74
0140 BD IC 3070 BOFD 03BC 9D7D FFBD CO 0 0 7997
0170 AtEt 09E0 700 0 2484 CO 0 0 2BE0 61FF '3096
0180 DOBt FB 08 At 7B FFAO CtDF 33AD 7A24 B484
0190 CtCt 7ACt C4C4 3C96 30AS DO 3D CB3D CB3D
OtAO CB30 CBFB ÖOBO 94FE A030 BAFE C4C4 C4C4
Öl-BÖ Ct 3D D7FA FE30 32A0 0114 D3D3 3 OB A E 3.70
oico Q0E7 ADE? 6C9C F879 00E8 6DEA 6C30. DIEi7B
01DO CtCt C47A D3D3 DAF9 00 A3 43DF B33A FAF8
OIEO" O1E::3 FBBB A3C0 E17« FFFF. FFFF FFFF FFFF
01FO FFFF FFFF FFFF B3F8 FFFF FFFF FFFF FFFF
0200 FFFF FFFF FFFF 0079 FFFF FFFF FFFF FFFF
0210 FFFF FFFF FFFF FFFF FFl-'F FFFF FFFF FFFF
0220 FFFF FFFF FFFF FFFF FFFF Ff-FF FFFF FI:'FF
0230 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0240 FFFF FFFF FFFF FFFF FFFF FFi-F" ff\Zf FFFF
0250 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0260 FFFF
0270 FFFF
Spalte:
1
TABELLE 1 b
2 3 4 5
6 7 8 9
0290 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0290 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
02A0 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
02B0 FFFF FFFF FFFF FFFI- FFFF FFFF FFFF FFFF
02C0 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
02D0 FFFF FFFF FFFF FFFF FFFF FFFF FFFF Fl-FF
02E0 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
02F0 FFFI- FFFF FFFF FFFF FFFF TFFf- FFFF FFFF
030 0 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0310 FFFF FFFF FFFF FFFF FFFF FFFI-- FFFF FFFF
0320 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0330 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
03Ί0 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0350 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
03ώ() FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0370 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
03GO FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0370 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
03A(J FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
03B0 FF 03 Β Α 03 EO(W C-IOO-I BBOS BF 06 6607 3D0 7
03C0 CD 08 EXOA 9A0C 180E CE 13 02.1ώ SFlE: 6A23
031)0 02FC F9F5 FlEE EAEO 4A3B 3127 ID 17 1311
03EO QE(JE: 0907 OfS(H (1302 2F3D 3735 302.6 3-Ί21
03F0 IDOD 1707 ISOS 3222 0109 OE13 IBID 2227
Die Adressenansteuerung des Festwertspeichers erfolgt über den 8-bifc-Speicheradressbus und die Datenübertragung aus der adressierten Speicherzelle zu dem Mikroprozessor erfolßt aus dem Datenbus 24, der die Daten-.samrnol r.ohi one bildet. In der vorliegenden, besonders bevorzugten Ausführungsform dient der Speicheradressbus auch als Datenbus für die Übertragung von Parameterdatenvvort.on zu don Paramoter-Haltekreisen. Die Zeitsteuerung Tür «'illο Oporat.i onrn in dem Mikroprozessor 50 wird entweder durch einen Langsamtakt-Generator 54, der einen
140212
langsamen Takt von 600 Hz mit einer Periode von 1,67 ms erzeugt, oder durch einen Schnelltakt-Generator 56, der einen schnellen Takt von 100 KHz mit einer Periode von 10 ms erzeugt, durchgeführt. Die Taktgeneratoren 54 und 56 sind als getrennte RC-gesteuerte Oszillatoren in
Schmitt-Trigger-Ausführung ausgebildet, um Strom zu
sparen. Der Stromverbrauch wird auch durch die Verwendung des langsamen Taktes anstelle des schnellen Taktes bei den meisten Operationen vermindert, da der Stromver-
^ brauch in Schaltungen in CMOS-Technik proportional der Operationsgeschwindigke.it ist und der schnelle Takt
167mal schneller als der langsame Takt: arbeitet;. Ein
Taktauswahlmultiplexer 58 legt den Ausgangsanschluß entweder des schnellen oder des langsamen Taktes an den
Takteingangsanschluß des Mikroprozessors 50. Der schnelle Takt 56 wird durch einen Schnelltakt-Einschaltmultiplexer 60 aktiviert.
Der Mikroprozessor 50 ist empfangsfähig mit der Unter-
brechungsanfrageleitung INT (Interrupt Request), der
Leitung EXTERN-FLAG 1,EFl und der Leitung EXTERN-FLAG 2; EF2jverbunden. Der EF2 Eingangsanschluß ist mit dem Ausgangsanschluß des IR-Ernpfängers 36 verbunden. Ausgangssignale des Mikroprozessors 50 treten auf den Leitungen
NQ, N und N , den sogenannten Steuerbitr. auf, die von dem internen Zeitgeberimpuls B (TPB) zu einem Ausgangsbefehlsdekoder 62 geleitet werden, der das 3-bit-Datenwort in 5 unabhängig betätigte I/O Strobe-Signale umwandelt (Taktleitungen). Die N Steuerbits befinden sich
normalerweise auf dem logischen Pegel "0", und der 3-bit-Code kennzeichnet 8 verschiedene Ausgangscodes, von
denen nur 5 benutzt werden. Einer der 5 I/O-Taktleitungen aus dem Dekoder 62 wird zu logisch "1", wenn die entsprechende 3-bit-Binärzahl dem Dekoder dargeboten
wird.
Wie es in Figo 4 dargestellt ist, sind die I/O-Taktleitungen mit Mehrfachanordnungen von Haltekreisen (Flip-
Flop-Gruppen) verbunden. Das Neuladen der Haltekreise orfolgt über den Ausgangsbefehlsdecoder 62, der in Fig. 3 dargestellt ist. Die Taktleitungen I/O 1 bis T/0 5 bestimmen je; über den memory adress bus die Impulsgeschwindigkeit, die Impulsdauer, den Ausgangsstrom (die Amplitude), die Elektroden- und die Gehäuse-Polarität.
Wenn der Mikroprozessor 50 einen I/O 1-Befehl erzeugt, '" ward eine Binäre "1" an die Eingangsanschlüsse des Ausgangsbefehlsdecoders angelegt. Dadurch gelangt der I/O 1-.-AuS-gangsanschluß des Decoders auf einen logischen Pegel "1"; alle anderen Ausgangsanschlüsse verbleiben auf "0". Da diese Leitung mit dem Takteingangsanschluß eines 8-bit-Geschwindigkeits-Haltekreises 70 verbunden ist, übernimmt und speichert dieser Geschwindigkeits-Haltekreis die augenblicklich auf dem memory adress bus vorliegenden Daten ab. Damit wird durch einen I/O 1-Ausgangsbefehl eine Neueinstellung des Geschwindigkeits-Haltekrei-
ses bewirkt. 16 verschiedene 8-bit-Worte bestimmen bei der vorliegenden Ausführungsform 16 Geschwindigkeiten im Bereich von 8 bis 200 Impulsen pro Sekunde (8 bis ?00 Hz).
Die durch den Haltekreis 70 abgespeicherte Binärzahl wird an die parallelen Voreinstellungs- "Klemmeingänge" eines voreinstellbaren Rückwärtszählers 72 mit Division durch "N+l" angelegt, welcher durch den langsamen Takt 54 getaktet wird. Der NULL-Ausgangsanschluß des Ge-
schwindigkeitszählers 72 befindet sich normalerweise
auf einem logischen Pegel "1". Wenn jedoch eine Folge von Taktimpulsen, die gleich der augenblicklich an den Klemmeingängen anliegenden Binärzahl ist, an den Takteingang des Zählers angelegt wird, wird der NULL-Aus-35
gangsanschluß zu logisch "0". Beim nächsten Taktimpuls (1,67 ms später) kehrt der Ausgangsanschluß zu dem logi.schon Pegel "1" zurück, und führt damit eine erneute Voro inst.ollung dos HUckwärtszählers zurück auf die an
den Klemmeingängen anliegenden Datenwerte über einen synchronen Voreinstellungs- Aktivierungseingangsanschluß SPE durch. Damit wird eine Division der Taktfreqzenz durch N+l bewirkt, wobei N den an den Klemmeingängen anliegenden Wert darstellt. Dieser Wert wird während der Einstellung des Geschwindigkeits-Haltekreises gesetzt und durch den Geschwindigkeits-Haltekreis selbst abgespeichert. Beispielsweise entspricht eine Stimulationsgeschwindigkeit von 100 Impulsen pro Sekunde einem '^ Periodizitätsintervall von 10 ms. Da die Periode des langsamen Taktes 1,67 ms ist, erfordert dies 6 Taktimpulse, um 10 ms zu erreichen. Da jedoch der Geschwindigkeitszähler durch N+l teilt, wird der Geschwindigkeits-Haltekreis 70 auf 5 eingestellt und erzeugt damit die gewünschte Stimulationsgeschwindigkeit, Jedesmal, wenn der Geschwindigkeitszähler 72 "abläuft", zeigt die fallende Flanke des normalerweise auf dem logischen Pegel "1" befindlichen Ausgangsanschlusses NULL an, daß es Zeit für die Erzeugung eines Stimulations-impulses ist.
In Fig. 3 ist der Rückwärtseingang des Flip-Flops 74-(dieses wird im folgenden als EFl-Flip-Flop bezeichnet) als verbunden mit dem Datenausgangsanschluß des IR-Em-
pfängers-36 zur Signalisierung der eintreffenden Daten 25
für den Mikroprozessor 50 dargestellt. Der erste IR-Impuls bewirkt, daß der Ausgangsanschluß des Flip-Flops 74 zu logisch "O1' wird, was dem Mikroprozessor 50 über den ersten externen Flag-Eingangsanschluß EFl signalisiert, daß er den EF2-Eingangsanschluß auf das Anliegen
von Daten überprüfen soll. Das Flip-Flop 74 kehrt zu seinem ursprünglichen Zustand logisch "1" mittels des I/O 1-Abtastimpulses jedesmal dann zurück, wenn der Geschwindigkeits-Haltekreis neu eingestellt wird.
Der NULL-Ausgangsanschluß des Geschwindigkeitszählers 72 signalisiert dem Mikroprozessor über den interrupt request-Eingangsanschluß INT eine Unterbrechungsanfrage. Dieser Eingangsanschluß wird durch einen Multiplexer 76
beaufschlagt, der dazu verwendet wird, den 1,67 ms langen .Impuls -au halbieren, um sicherzustellen, daß der Ausgangsanschluß des Geschwindigkeitszählers nicht zweimal in dem selben Zyklus unterbricht.
Der NULL-Ausgangsanschluß des Geschwindigkeitszählers aktiviert auch den schnellen 'Takt 56. Die Multiplexer 58 und 60 verbinden je ihren X-Eingangsanschluß mit dem Ausgangsanschluß beim Anliegen eines Eingangssteuersignales "O" und ihren Y-Eingangsanschluß mit dem Ausgangsanschluß beim Anliegen eines Eingangssteuersignales "1". Die steuernden Eingangsanschlüsse der Taktmultiplexer 58 und 60 sind beide an den Ausgangsanschluß einer UND-Logik 78 angeschlossen, die auf den Q-Ausgang des EFl-Flip-Flops 74 und den ^NULL-Ausgarig des Geschwindigkeitszählers 72 anspricht. Der Q-Ausgangsanschluß des IR-Daten-Flip-Flops 38 befindet sich normalerweise auf einem logischen Pegel "0". Deswegen ist normalerweise der Q-Ausgangsanschluß des EFl-Flip-Flops und der NULL-Ausgangsanschluß des Geschwindigkeitszählers 72 auf einem logischen Pegel "1" und der dadurch ebenfalls auf einem logischen Pegel "1" befindliche Ausgangsanschluß der UND-Logik 78 bewirkt normalerweise, daß die Taktmultiplexer je ihre Y-Eingangsanschlüsse mit ihren Ausgangsanschlüssen verbinden. Das wiederum bewirkt, daß der langsame Takt 54 an dem Mikroprozessor !30 angelegt ist, während der schnelle Takt 56 abgeschal-I.el. int. Diener Zustand wird umgekehrt, wenn der Geschwindigkeitszähler abläuft und der NULL-Ausgangsanschluß zu'logisch "0" wird, so daß der schnelle Takt 56 für die Zeitsteuerung der Impulsdauer verfügbar wird. Der auf einem'logischen Pegel "0" befindliche Ausgangsanschluß des EFl-Flip-Flops, der beim Auftreten des ersten IR-Impulses zu logisch "0" wird, schaltet auch den schnellen Takteingangsanschluß an den Mikroprozessor und ermöglicht damit, daß der Mikroprozessor die relativ schnellen pulsbreiten-modulierten Daten von dem IR-Empfanger sauber decodieren kann.
Zusammengefaßt erzeugt der Übergang auf den logischen Pegel "O" des NULL-Ausgangsanschlusses während jedes Zyklus beim Ablaufen des Geschwindigkeitszählers einen interrupt, eine Unterbrechung, ftir den Mikroprozessor 50, schaltet den schnellen Takt 56.ein und steuert ihn zu dem Mikroprozessor 50 durch. Vor der Aktivierung des Stimulator-Impulses entscheidet der Mikroprozessor 50, ob dieser sich in einem EIN- oder einem AUS-Zeitabschnitt des Impulsfolgezyklus befindet (d. h., ob der interrupt aktiviert oder deaktiviert ist) und stellt die Verbindungszustände der Elektrode und des Gehäuses neu ein, die von Impuls zu Impuls alternieren können, wenn sie so programmiert sind.'
Die I/02-Taktleitung steuert ein 4-bit-langen Impulsdauer-Haltekreis 80, der die 4 niederwertigen Bits des Impulsdauer-Codes von dem memory adress bus erhält. Ek gibt 8 verschiedene mögliche Impulsdauerzustände von 50 bis 400 ms. Das gesamte Byte bestimmt jede Impuls-
dauer, die 2 höchstwertigen Bits, b„ und bg, sind jedoch immer "0" und die nächsten 2 höherwertigen Bits bj. und b.. sind mit dem Entnahmeteil eines anderen H kreises verbunden, wie weiter unten erläutert wird.
Der Ausgangsanschluß des Haltekreises 80 ist mit den Klemmeingangsanschlüssen eines Impulsdauer-Zählers 82 verbunden, der in der selben Art und Weise wie der Geschwindigkeitszähler 72 durch einen voreinstellbaren Rückwärtszähler zur Division durch N+l vorgesehen ist. Der normalerweise auf dem logischen Pegel "1" befindliche NULL-Ausgangsanschluß wird zu "0" für eine Taktperiode, wenn eine Anzahl von Taktimpulsen, die gleich der voreingestellten Datenzahl ist, gezählt worden ist, und erzeugt erneut den Voreinstellungs-Zählerstand über den SPE-Eingangsanschluß bei dem nächsten Taktimpuls. In anderer Hinsicht unterscheidet sich der Zähler 82 deutlich von dem Geschwindigkeitszähler 72. Erstens sind nicht alle 8 Klemmeingangsanschlüsse an den selben
• ··
.Impulsdauer-Haltekreis 80, der durch I/O 2 betätigt wird; angcfjchlossen. Die 2 höchstwertigen Bits (bfi, b ) sind Post auf "0" f'olegt und die nächsten 2 höherwertigen Hi ta werden von einem separaten Impulsdauer-Haltekreis ^ 84a für die 2 höherwertigen Bits erzeugt, der zusammen mit dem Gehäuse-Polaritätshaltekreis 84b durch I/O 5 getaktet wird. Die Haltekreise 84a und b bilden einen einzigen 4-bit-Haltekreis. Zweitens ist der Takteingangsanschluß mit dem schnellem Takt 56 verbunden, der normalerweise nur kurz für einen "Impulsstoß11 mit 100 KHz durchgeschaltet wird, nachdem der NULL-Ausgangsanschluß des Geschwindigkeitszählers zu "0" wird. Darüber hinaus ist der COUNT ENABLE-Eingangsanschluß des Impulsdauerzählers 82 mit dem Q-Ausgangsanschluß eines Impuls-Flip-Flops 86 verbunden, das den Eingangsanschluß für den . Stimulator-Verstärker erzeugt.
Die Leitung I/O 3 taktet einen 7-bit-Ausgangsstrom-Haltekreis 88, der ein entsprechendes 7-bit-Datenwort
dom Buk entnimmt. Bei Aktivierung durch das Impuls-Flip-Flop bewirkt der Haltekreis 88, daß der ausgewählte Ausgangspegel an einen Verstärker 90 angelegt wird, der das Ausgangssignal des Impulsgenerators 22 erzeugt. Der Ausgangsimpuls wird an die Elektroden (und gewünschten-
falls an das metallische Gehäuse des Implantates) über eine Mehrfachanordnung, von MOSFETs angelegt. Um die Verbindung jeder Elektrode oder des Gehäuses entweder als Kathode oder als Anode zu ermöglichen, sind 2 FETs pro Elektrode vorgesehen. Damit ist ein Satz von 8 FETs 92
für 4 Elektroden El bis E4 vorgesehen und ein einzelnes Paar von FETs 94 ist für das metallische Gehäuse vorgesehen. Jede Elektrode kann entweder nicht verbunden, verbunden als Anode oder verbunden als Kathode sein, entsprechend einem Verbindungs-Signalmuster das durch einen Elektroden-Polaritäts-Haltekreis 96, der die Haltekreisvorrichtung für den Elektrodenanschluß bildet, und das auf dem Bus vorliegende 8-bit-Datenwort dann aufnimmt und abspeichert, wenn I/O 4 getaktet wird.
θα ea
β * φ e
9 OA φ
a β βΟΰ ©
] In ähnlicher Weise kann das Gehäuse entweder nicht verbunden oder als Anode verbunden sein, wenn ein kontinuierlicher Betriebszustand vorgesehen ist, oder als Anode oder als Kathode verbunden sein, wenn ein alternierender Betriebszustand vorgesehen ist. Diese Verbindungszusbände werden durch den Gehäuse-Polaritäts-Haltekrei s" 84b erzeugt, der das 2-bit-Gehäuse-Polaritäts-Datenwort auf dem Bus dann empfängt und abspeichert, wenn I/O 5 getaktet wird. I/O A- und I/O 5 werden in dieser Reihenfolge nacheinander taktmäßig bei jedem interrupt des Mikroprozessors angesteuert, d. h., jedesmal, wenn der Geschwindigkeitszähler 72 abläuft, wenn es Zeit für das Aussenden eines Impulses ist, und wenn der interrupt nicht durch die EIN/AUS-Zyklus-Funktionssteuerung verhindert ist. Ein beispielhafter Signalverlauf der Spannung einer in der alternierenden Betriebsweise verbundenen Elektrode ist in Fig. 5, Zeile A dargestellt.
Das Impuls-Flip-Flop 86 wird durch den I/O 4-Takt zurückgesetzt, der als Teil der interrupt service-Unter-. routine für die Unterbrechungsbedienung erzeugt wird. Das bewirkt, daß der Q-Ausgangsanschluß des Flip-Flops zu logisch "0" wird, und damit zugleich den Impulsdauer-Zähler 82 und den Ausgangsstrom-Haltekreis 88 aktiviert, worauf ein Stimulatorimpuls von dem Verstärker gestartet wird. Durch das Ablaufen des Impulsdauerzählers 82 wird das Impuls-Flip-Flop 86 auf logisch "1" getaktet, da sein Dateneingang mit dem positiven logischen Pegel verbunden ist. Wenn der Q-Ausgangsanschluß des Flip-Flops zu logisch "1" wird, wird der Impulsdauer-Zähler und der Ausgangsstrom-Haltekreis gesperrt. Inzwischen ist jedoch der Impulsdauer-Zähler 82 durch den NULL-Ausgangsanschluß bereits für den Start des nächsten Herunterzählens voreingestellt worden. Das Impuls-Flip-Flop wird gesetzt, um den Impulsdauer-Zähler und den . Ausgangsstrom-Haltekreis in jedem beliebigen Falle dadurch zu deaktivieren, daß der NULL-Ausgangsanschluß des Geschwindigkeitszählers 72 auf den logischen Zustand "1"
^ zurückkehrt.
Ein Stimulatorimpuls kann nur durch das Auftreten eines i/0 4-Taktes aktiviert werden, da dieses der einzige Eingang ist, der bewirken kann, daß der Ausgang Q des Impuls-Flip-Flops 86 zu logisch "0" wird. Wenn der Mikroprozessor entscheidet, daß der Stimulator sich in einem AUS-Zeitabschnitt des EIN/AUS-Impulsfolgezyklus befindet, wird das I/O 4-Signal, welches dem interrupt folgt, weg-
"Ό gelassen, bis zu dem Zeitpunkt, wenn der Mikroprozessor on tscho i do t, daß dor AUS-Zeitabschnitt des Zyklus abgeschlossen ist. In der Zwischenzeit führt jedoch der Geschwind i i'koi tr.i'.ähl er 72 seinen Betrieb weiterhin durch und erzeugt weiterhin interrupts und Schnelltakt-Akti-
'^ vierungssignale zu regelmäßig aufeinanderfolgenden Zeitpunkten. Der Impulsdauer-rZähler 82 weist jedoch den Anfangswert seines Voreinstellungs-Zählerstandes während der AUS-Periode auf, obwohl der schnelle Takt aktiviert
i st.
20
Der in Fig. 2 dargestellte Reedschalter 40 in dem Kommunikationsmodul 14 ermöglicht, daß der Patient den implantierten Stimulator ausschaltet und erneut wieder einschaltet, dadurch, daß der langsame Takt durch eine N1CHT-UND-I,ogik98 gesperrt und wieder eingeschaltet wird. Dor langname Takt 54 ist eingeschaltet, wenn der mit der Logik 98 verbundene Q-Ausgangsanschluß des Reedschalter-Flip-Flops 42 sich auf einem logischen Pegel "0" befindet. Der Patient schaltet den langsamen Takt 54 dadurch
aus, daß er für eine kurze Zeit den Reedschalter 40 mit einem Magnet schließt, welcher den Zustand des Flip-Flops 42 umkehrt. Der ^-Ausgangsanschluß der NICHT-UND-Logik 98 wird zu logisch "1" und bewirkt, daß der langsame Takt 54 unmittelbar abgebrochen wird, wenn der Ge-
schwindigkeitszähler 72 nicht in diesem Augenblick in genau demjenigen Taktzyklus ist, wenn der NULL-Ausgangsanschluß logisch "0" ist und der schnelle Takt eingeschaltet ist. Im letzteren Falle wird der Takt abgebro-
O O
:": .SUO'212
chen, wenn der Geschwindigkeitszähler 7? das Herunterzählen wieder aufnimmt und NULL-Ausgangsanschluß zu seinem normalen Pegelzustand "1" zurückkehrt.
Wenn ein Neueinstellungsversuch unternommen wird,_ während der langsame Takt auf diese Art und Weise gesperrt ist, setzt der erste IR-Impuls das Flip-Flop EFl und schaltet den schnellen Takt ein. Mit der Funktionssteuerung wird die Taktleitung I/O 3 während der Neuein-'0 stellung betätigt, die das Reedschalter-Flip-Flop 42 setzt und bewirkt, daß sein Q-Ausgangsanschluß zu logisch "0" wird und damit den schnellen Takt 54 aktiviert,
Die doppelte Zweckbestimmung der mikroprozessorgestüt?·.-ten Steuereinrichtung 18 besteht, wenn nicht eine Datenübertragung durchgeführt wird, erstens darin, zu entscheiden, ob der nächste Impuls wegzulassen ist, da der Stimulator sich in einem AUS-Zeitabschnitt des EIN/ AUS-Zyklus in einer Impulsfolgebetriebsart befindet, und
zweitens, wenn er sich in einem EIN-Zeitabschnitt befindet, die Elektroden- und Gehäuse-Verbindungszustände gerade vor dem nächsten Impuls neu einzustellen. Die Zeitsteuerung des EIN/AUS-Zyklus und die Änderung der Elektroden- und Gehäuse-Verbindungszustände in der Un-
terbrechungsbetriebsart werden entsprechend den in Tabelle la und Ib dargestellten und in dem ROM 52 abgespeicherten Liatenwerten durchgeführt. Darüber hinaus besteht in der besonders bevorzugten Ausführungsform der Erfindung eine zusätzliche Funktion des Mikroprb-
zessors darin, die Impulsgeschwindigkeit während des AUS-Zeitabschnittes eines EIN/AUS-Zyklus so abzusenken, daß das Intervall zwischen den Schnelltakt-Impulsstößen so lang als möglich ist und damit Strom gespart werden kann.
In dor unten dargestellten Tabelle 2 sind die Merkmale: von 16 integrierten Standard-Schaltkreis-Bauteilen des Implantates, wie es in Fig. 2 bis Fig, 4 dargestellt ist,
durch cine bevorzugte Typisierung näher gekennzeichnet.
TABELLE 2
5 Operationsverstärker (IR-Empfanger 36) Motorola LM 3078 MMV 34 1/2 RCA CD 4098
(Dual-Monostabil) Flip-Flops 38, 42, 74, 86 2 RCA CD 4013
(DUaI-11D")
Mikroprozessor 50 RCA CDP 1802
ROM 52 . RCA CDP 1833
MUX 58, 60, 76 RCA CD 4053
(Triple 2-bit)
Haltekreise 70, 80, 88, -84, 96 4 RCA CD 4-508 (Dual 4-bit)
Zähler 72, 8? 2 RCA CD 40103
Dekoder'6? RCA CD 4028
UND-Logik 78, Logiken in dem Dekoder 62 RCA CD 4028
(Quad 2-in)
zu NICHT-UND-Logik 98, Logiken in den RCA CD 4093
Taktgeneratoren (Quad 2-in)
Die bidirektionale Implantat-Telemetrieeinrichtung weist
die Möglichkeit von synchronem Datenaustausch mit iden-95
tischen pulsbreiten-modulierten Codes auf. Wie es in Fig. 5 in Zeile B dargestellt ist, werden die Daten in Binäre Einsen und Nullen durch Anwendung eines zweipegeligen Impulssignales mit einer Wiederholungsperiode von Puls zu Puls von 3 ms codiert. Eine Impulsbreite von
1 ms zoigt eine binäre "0" während eine Impulsbreite von
2 ms oinc binäre "1" anzeigt. Für die IR-Übertragung von dem Telemetriekopf entsprechen die Binärsignalabschnitte mi t logisch "1" Intervallen, bei denen der IR-Treiber
aktivierL ist und die Lichtsender abstrahlen. In dem 35
Hesonanztransponder 30 entsprechen die Abschnitte des pulsbreiten modulierten Binärdatensignales mit logisch "1" Zeitabschnitten, bei denen der Paralleltransistor leitfähig ist.
Die Steuerkonsole 12 steht mit dem Implantat durch Datentausch mittels zweier verschiedener Datenwortarten in Verbindung: Ein 3-bit-Steuerdatenwort und ein 27-bit-Parameterwert-Datenwort, wie diese in Fig. 6 dargestellt sind. Das Steuerdatenwort ruft entsprechende Unterroutinen in dem ROM 52 auf. Die Befehle selbst sind nicht in dem Mikroprozessor 50 abgespeichert; sie wirken jedoch direkt auf ihn. Das 27-bit-Datenwort enthält auch andererseits alle Impulsparameterdaten und ist in dem Mikroprozessor 50 abgespeichert. Von den 16 Mehrzweckregistern in dem Mikroprozessor (CDP 1802), werden zwei Registerpaare als Temporär- und Kontrollregister für die Parameterdatenworte, die durch die Steuereinrichtung übertragen sind, ausgewählt. Das erste Registerpaar wird mit Temporärregister A (TEMPA) und Temporärreginter B (TEMPB) bezeichnet. Jedes weist eine 16-bit-Datenwortlänge auf, so daß sich insgesamt 32 Bits ergeben, wobei 5 dieser Bits für eine festeingestellte Modellidentifikationszahl bestimmt sind. Das zweite Registerpaar wird als Kontrollregister A (COMTA) und Kontrollregister B (COMTB) in derselben Weise bezeichnet« Die verbleibenden Registerzuordnungen werden weiter unten., in Zusammenhang mit der Tabelle 7 erläutert. Der Befehlssatz weist die folgenden, durch 6 entspre-*· chende 3-bit-Codes bestimmte Befehle auf: LOAD T, weiter ACTIVE, XMIT T, XMIT C9 ROM DMP und STAT OFF. Der Befehl LOAD T signalisiert dem Mikroprozessor das Laden des unmittelbar folgenden 27-bi t.-Datenwortes in die Temporärregister A und B, wie es in Fig. 7 dargestellt ist. Das Datenwort weist 27 in serieller Form vorliegende Bits auf, die durch ihr Vorliegen in einer bestimmten Position codiert sind. Die drei ersten Bits (das erste Bit mit b , das zweite mit b , ..., das letzte mit b bezeichnet) bestimmen die Impulsdauer durch Bezug auf eine festeingestellte Parametertabelle in dem Festwertspeicher 52. Die nächsten 8 Bits, beginnend mit der Bitposition b bestimmen die Elektroden-Verbindungszustände (Aus, Anode, Kathode, d. h. 2 Bits
'··· --3Ί40-212
für jede der 4 Elektroden). Das nächste Bit in der Position b...., zeigt an, ob das Gehäuse beim ersten Impuls als Anode dient oder zunächst nicht verbunden sein wird. Durch Bit b1p wird bestimmt, ob eine kontinuierliehe oder alternierende Polarität-Betriebsart ausgewählt ist. Die nächsten 3 Bits, angefangen von der BitpoK.it.ion bir, erzeugen die AUS-Zeitdauer eines Impulsrolp.ozyklur, in dc:r festgelegten Betriebsart, und die folgenden 3 Bits, angefangen Bit b.ßJlegen die EIN-Zeitdauer fest. Die EIN/AUS-Zeitperioden können je von O bis 7 Minuten lang in Stufen von 1 Minute inkrementiert werden und werden über die Parametertabelle bestimmt. Die vier folgenden Bits, angefangen mit b-Q, bestimmen die Amplitude des Ausgangsstromes und die letzten vier Bits bo„ bis bo_ bestimmen die eingestellte Impulsgeschwindigkeit. Die Amplituden- und Impulsraten-Bits nehmen auch auf die Parametertabelle Bezug. Der implantierte Stimulator kann abgefragt und auf neue Impulsparameter eingestellt werden mittels einer in Fig. 8 dargestellten externen Steuereinrichtung für den Neural- r.\. imulntor. Die Steuereinrichtung ist eine intelligente Interaktionseinrichtung auf Mikroprozessorbasis, die auch ohne operativen Eingriff zur Neueinstellung,zur Programmierung, zur Abfrage und zur Verifizierung von Parameterwerten in dem implantierten Neuralstimulator 10 fähig ist. Die Einstellungs- bzw. Programmierungs-Einrichtung weist zwei räumlich trennbare Bestandteile auf: Eine Steuerkonsole, die beispielsweise auf einer Tischplatte abgestellt werden kann, und ein damit mit einem Kabel verbundener, mit der Hand haltbarer TeIemetriekopf 16. Die Steuerkonsole 12 wird durch einen "ningle chip"-CM0S-8-bit-Mikroprozessor 100 desselben Typs, wie es der Mikroprozessor 50 in dem Implantat ist, d·. h.,den Typs KCA CDP 1802} gesteuert. Die für seinen
Betrieb notwendigen Funktionsablauf-Anweiseeinrichtungen werden vorteilhaft in einem elektronisch festlegbaren Fontwortspeieher (EPROM 102) abgespeichert. Die Konsole 12 weist eine Tastatur 104- mit 20 Tasten in Taschenreeh-
» β α it β
■· "··' »:8H0212
neranordnung für die Parameterauswahl, die Überprüfung, und Programmierung durch die Bedienungsperson auf. Die Tastatur 104 weist 4 Funktionstasten in der in Fig. 8 rechts dargestellten Spalte auf, die mit den Buchstaben .F, P, S, T gekennzeichnet sind, und 16 in einer 4 χ 4 — Matrix angeordneten numerischen Tasten (0 bis 15)". Die numerischen Tasten 0 bis 10 sind mit Beschriftungen entsprechend verschiedenen programmierbaren Parametern, wie beispielsweise Geschwindigkeit, Amplitude, usw. versehen.
Die Taste "15lf trägt eine Beschriftung ROM DMP. Die Taste "S" wird verwendet, um das Implantat automatisch in den AUS-Zustand zu bringen; mit der Taste "P" läßt sich der Stimulator auf neue Impulsparameterwerte einstellen; die Taste "F" wird verwendet, um eine Neueinstellung eines beliebigen programmierbaren Parameters vorzunehmen; und die Taste "C" dient zur Anzeige des bereits vorgesehenen Wertes für den ausgewählten Parameter.
In räumlicher Nähe zu der Tastatur 104· ist eine Doppelanordnung von sichtbares Licht aussendenden Dioden (LEDs) 106 und 108 so verbunden, daß mit dieser Anordnung je eine ungültige Tastatureingabe und die räumliche Nähe des Telemetriekopfes 16 zu dem Implantat 10 anzeigbar ist. Ebenso in der Nähe der Tastatur 104 ist ein vierstelliges Siebensegment-Display, eine getaktete LCD Anzeigevorrichtung 110 vorgesehen, die durch einen üblichen Dekoder-Haltekreis- und Treiber-Schaltkreis 112 und einen Oszillator 114 mit 30 Hz betätigt wird.
Die Anzeigevorrichtung 110 wird über einen I/0-Dekoder 116 gesteuert und spricht auf die 3N-Steuerbits von dem Mikroprozessor 100 an. Anzuzeigende Daten werden dem 8-bit-Datenbus entnommen. Die Tastatur 104 wird über den I/0-Dekoder 116 abgefragt, der einen Spaltenein-
gangs-Haltekreis 118 und einen Zeilen-Haitekreia- und Trej ber-Schaltkre is 120 steuert. Die Tar.tonzoilcn wordon einzeln von dem Zeilen-Haltekreis- und Treiber-Schaltkreis 120 abgefragt und die verschlüsselte Information
:'314Ο212
, wird auf den Datenbus über den Spalteneingangs-Haltekreis 118 gelegt. Ein Speicher mit wahlfreiem Zugriff (RAM) 122 mit 32 Bytes wird für die zeitweise Abspeicherung von aktuellen und neu beabsichtigten Parameterdatenworten verwendet. Das EPROM 102 und das RAM 122 werden beide über einen Adressdekoderschaltkreis 124 über den Mikroprozessoradressbus adressiert. Eintreffende und abgehende Daten aus den Speichern 102 und 122 werden auf den Datenbus gebracht. Der I/0-Dekoder 116 betätigt verbunden mit dem Datenbus auch den Telemetrie-Ak ti Vierungsausgang und die LEDs 106 und 108 über Haltekrniac und LED-Treiber-Schaltkreise 126.
Der Telemetriekopf 16 führt den Empfang, die Über- r mittlung und die Nachbarschafts-Erkennungsfunktionen durch. Für die Signalübermittlung in das Implantat 10 weist der Telemetriekopf 16 einen Infrarottreiber 128 auf, der eine Mehrzahl von Infrarotdioden, die sich auf der Oberfläche des Telemetriekopfes 116 befinden, be-2Q tätigt. Der Infrarottreiber 128 wird direkt durch den bitseriellen Q—Ausgang des Mikroprozessors 100 in der Stouerkonsole 12 betrieben. Der Q-Ausgang wird mit Impuliibroi ten-Modulcit, Lon (d. h. ,mit Impulsen von 1 ms bzw. 2 ms Dauer) beaufschlagt, und der Treiber 128 rye schaltet Infrarot-LEDs ein und aus entsprechend dem Zustand des Q-Ausgangs. Dieses Datensignal wird von dem Infrarotempfänger-Schaltkreis 36 in dem Implantat 10, wie er in Fig. 2 dargestellt ist, empfangen.
OQ Der Telemetriekopf 16 weist auch eine Übertragevorrichtung 130 für elektromagnetische Wellen zum Anstrahlen des Implantats 10 mit kontinuierlichen elektromagnetischen Wellen mit Myriammeterfrequenz auf. Das reflektierte oder zurückgestrahlte magnetische Signal aus dem Implantat 10 wird wieder erfaßt und weist dann eine charakteristische Phasenverschiebung auf. Die Amplitude der Phasenverschiebung wird mit einem Schwellwertdetektor f-rraßt, welcher als Nachbarschaftsdetektor 132 ausgebil-
S K
OO
..· »»ο0«=0 \J «:tH021 S
det ist. Der Ausgangsanschluß ACQ des Detektors 132 setzt ein externes Flag am Eingangsanschluß EFl des Mikroprozessors 100 und zeigt damit an, daß der Telemetriekopf 16 übertragungsgerecht bezüglich des Implantates positioniert ist und bidirektionaler Datentausch durchgeführt werden kann. Ein Telemetrieempfänger 134 in dem Telemetriekopf 16 erzeugt ein Ausgangssignal für den EF2-Eingangsanschluß des Mikroprozessors 100„ Der Ausgangsanschluß des Empfängers 134 verdoppelt das an '" den Resonanztransponder-Schaltkreis 30 in dem Implantat angelegte impulsbreiten-modulierte binäre Datensignal. Die Phasenverschiebung, die durch die Parallelschaltung der Abstimmungsspule in dem Implantat durchgeführt wird, wird durch den Empfänger 134 demoduliert ■> Das Telemetrie-Aktivierungssignal aus der Konsole 12 aktiviert den Empfänger 134, wenn die externe Steuereinrichtung eine Datenübertragung von dem Implantat erwartet.
Die den Mikroprozessor 100 betätigenden Anweiseeinrich-
tungen für seinen Funktionsablauf sind in hexadezimalcodierter Form in den nun folgenden Tabellen 3a bis 3c dargestellt, wobei bezüglich der verwendeten Notation auf die Erläuterungen zu den Tabellen la und Ib verwiesen wird. Wie bei diesen beruht die Befehlssatzverwendung
entsprechend dem verwendeten Hexadezimalcode auf den Eigenschaften des Mikroprozessors RCA CDP 1802.
Spalte
TABELLE 3 a
Π OSiO
0 2SiO
Γι 2BO
£062 FF63 FF64 0OFO OABl F879 AlFa 08Β2
Fo 13 A2F8 06Β3 F8A4 A3F8 06Β4 F3 Ol AiH-B
0ΑΒ5 F895 ASFfI Ο^Βώ F866 A6F8 05Β7 F89E
A7FSJ 05Β8 FQ3F A8F8 05Β9 F801 A9F8 06BA
F855 AAF8 O OBB FB2A ABF8 06BC F810 AC34
•iF64 01Ε2 7907 2279 OC O 8 1C22 79D6 2279
0322 79DB 081C OSlCJ 223B- ΟΟΕΟ 62EE 63ΕΕ
040 0 E2F8 08BF F80 0 AFFSl 02BD F874 Α079
DD 2 2 E20F FBE2 32Al OFFB Ε332 E20F FI3E4
C20:l. IDOF FBEl C201 9CE0 63FF EF62 2F30
7V.34 AlEO 62FF 63Ε2 6401 7903 (J 4 22 7Β79
D326 227Α 7903 2622 6405 FS O 3 BD 20 35C5
9D3A ΒΓ>30 A135 CS3D C73S C964 01-79 0326
2279 DS2Ä 7905 2279 0522 79D3 2622 640 0
3072 34Ε2 EOo-4J 0179 D722 79DB 081C 081FJ
223Β 0 079 D622 7908 2279 DB O 8 1408 1822
CBOO Ε279 0922 7907 227? DB08 1408 1C22
CBO O Ε2Ε0 62FF 63Ε3 640 0 COOO 72EO 62FF
03ΕΕ4 Ε279 DD22 OFFA 10C2 0082 OFI=B 15C2
020(3 EF63 2F0F FE33 30OF FCOA 5F0F FAOF
SFFF 0BC3 0202 FSO-I BDF8 CAAO 0F32 56FF
015F IDlD 3 O 4C ODAE F808 BDF8 IFAD
0E5F EFFD 093Β 60 OF F9F0 5F30 71OF FCfJO
5FÄ2 2FE2 FS O 2 BDF8 74AD 79DD 22OF FAlO
C20 0 82EF 622F OFFE 33BE OFFC 0A5F OFFA
UFSF FB ΰ 8 BDF8 17AD DEiCO 0072 EO 62 FF63
EJL Ε2 79DD 22OF FAlO C20 0 82EF 632F OFFE
33BA OFFC OASF OFFA O FSF FFOB C302 62F8
Ci-1IBD FBCA ADOF 32CF FFOl SFlD 103 O C54D
BE O D AEF8 O S)BD F817 ADDE 5FEF FDO? 3ΒΕ6
OFF? FOSF 3 O EA OFFC OASF 622F COOO 72FF
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
340 0 EF62 2FE0 6401 7903 0422 7Β7? 0326
227Λ 79D3 2622 6403 F803 BD2D 3523 9D3A
1Β30 003S 233D 2S35 2764 0179 0326 227?
D522- 79D5 2279 D422 7903 2622 6405 303Ε
SS-H) 6401 7903 2622 7904 2279 0522 7 90 3
2622. CO(H) 72FB 02BO F862 AOFS 02BO F874
ADOO E 062 FF63 FF64 03Ε2 79DD 22EO 6401
COOO 027.1. E2F8 08S2 F O 32 7461 22EF 693Α
87Ε2 FOFo 3230 78FO FA33 A2F6 339Ε F633
9AFc. 3396 30OC F8F3 30Α4 FSF?. 3 O A4 FBFl
3 O A4 FBFO 5FO 2 F633 BBF6 33Β7 F633 B3FB
O 4 F"! 5FF8 O'IFf 5FF8 04F4 5FF8 F9F7 33C4
Ffl 16 F45F 1F6? 3AC3 FSFF SFOF 32D3 FFOl
5F30 CB69 3AC5 2FE2 12CO 0273 02F6 ·;'3Γ:ΐ1::'
FA33 FOFa 33F5 F8E4 5F30 C4F8 ElSF 30C4
F8E2 5F30 CiFfJ E35F 30C4 FFFF FFFF FFFF
TABELLE 3 b
Spal te: 2 3 4 5 6 7 8 9 -
1 COOX FAFO F6F6 FAFA DOOD FAOF 5D0F
0300 FEFE FEFE EDFI SDDO 2D2D 2D0D FA 07 DOOF
03:i.o FFOB 3300 202D 2DO Π FAFB SDOF EDF-I SDDO
0320 OC)FA OFDO ODFA F05D EDOF F15D D02D O DF 6
0330 FAFA FAFO DOOF FFOB 3300 2D0D FAtF SDOF
03-10 FEFE FEFE 1"'EED F45D D02D OC-FA ICFA P'ADO
0350 OFFF 0833 0 02D ODFA E35D OFFE FEED FISD
CJ 360 D02D ODFA 02F6 DOOF FF 02 330 0 2D0D FAFD
0370 5D0F FEED FISD D02D ODFA 01D0 OFFF 0233
0330 0 02D ODI--A FESD OFED F150 D02D 2D0D FA22
0390 FE7E 7E7E FCOF FAFA FAFo DOOF FEiO 2 3200
03A0 OFFF 0133 0 02D 2D0D FAOD SDOF FA 3B C30D
03B0 F920 5D0F FAFA 3BC Cl ODF? 02SD D02D 2D0D
0 3C0 FAIl FE7E 7E7E 7EFC OFFA F6F6 FADO OFFB
G 3D0 0232 00 OF FFOI 3300 2D2D ODFA EE5D 0FF6
(13E0 3BFA 0DF9 10SD 0FF6 F63B FFOD F901 SDDi)
03F0 202D ODFA 88FE 7EFC OFFO F6F6 F6D0 OFFB
0400 0232 620F FF 01 3362 2D2D ODFA 775D OF ΟΙ
0110 F038 270D F9B0 SDOF FA Fo 3B30 ODF? Ο BSD
0420 D02D XDOD FA11 FE7E 7EFC 0FF6 FAF6 F 6DO
0130 OFFE: 0232 62 OF FFOI 3362 2D2D ODFA BB5D
0440 OFFA 3B58 ODF? OFFA F63B 61OD F901
Oif/0 5DD0 C 0 02 5371 3166 EA 61 0179 D 3 01 227B
04AO 79D3 2622 7A79 D326 2261 0SFÖ 03BD 2D35
0170 8A9D 3A7E 306A 3586 •3D BB 3S8A 6101 79D3
ο 48 ο 1622 79D5 227? D122 79D^ 2279 D310 22FB
0190 09BE F.817 AE79 D10Ö 222E 79Dl 0822 2E79
01A0 DlOS) 222E OEFE FEFE .FEl-E 5E79 D103 220E
01B0 FAFa FoFo F 6SE E212 30 AK 0303 O 330
O4C« 035? 037 a 0387 037β 03CD 040 0 0431 031B
04DÜ FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
04E0 FFFF FFFF FFFF FFFF FFFF FFFF FPFF FFFF
01F0
.:3U0212
Spalte: 2 3 TABELLE 3 5 C 6 7 8 9
1 7:1.34 01Ε9 4 7903 0422 7B79 0326 227 A
0500 7903 2622 6401 FS O 3 B02D 3521 9D3A 1930
0510 Οί 35 213D 6405 2564 0179 Ü326 2279 0522
OSSO 7904 2279 2335 7903 2622 EZlZ 300 0 7134
ΰ53ΰ 3FE8 64 01 0522 0422 7B79 Β32ώ 227A 7903
0 54 0 2 6 22 6405 790?) BD2D 355F 903A 5730 3F35
SF 3D 6135 FS 0 3 0179 02126 2279 0422 7905
0560 2279 0422 63A4 BEFB IBAE 79D3 2Ä22 6405
O 5 7 0 7VDA 229F FS)Oi) 79DA 22 9F SEZE 79DA 229F
05C)O 5Ε2Ε 79DA 5EZE FAO 7 5EE2 1230 3E7.1' 349E
0590 £764 Ü179 229F 227B 7903 2622 7A79 0326
05Α0 2264 05Ff!) 0304 2035 BF9D CA O 5 BA30 9E35
05Β0 BF3D C135 03BO 0179 D326 2279 0422 7904
05CO 2279 0522 C304 BEFS- IFAE 79D3 2622 6405
05D0 79DA 229F Fi)OB 79DA 229F 5E2E 79DA 229F
05Ε0 5Ε2Ε 79DA 5E2E FA07 5EE2 1230 9DFF FFFF
05F0 717Β 79D3 229F 7A79 D398 22E2 1230 0 071
0600 72BD 72AD 4C22 BEFS 14AE 4D5E IE-1ID 5ElE
0610 405Ε 1Ε40 F808 1230 0F71 72B0 72AD 72BE
0620 72AE EE4D 5EE2 406 O 4DF3 3A4D 6 O 40 F33A
063 0 4D6O 4DF3 F33A EZlZ FEJSO FE30 29E2 12F8
OOFE 3029 3A4D O 8 AF FBOO BF3D 5B79 D372
0650 229F FE35 71F8 FE30 6DF9 0130 6DBF 2F35
6F8F 3Α5Β 69FA 3054 7.1OE BF72 AF9F FEBF
0670 3387 7904 E"? 1 'P 8C79 0522 3OBC 2F13F 3A70
0680 Ε212 3078 2230 7903 9022 7A79 034C 22E2
0690 1230 9471 7178 BD2D 8D8D 8D3A A7EZ 1230
06Α0 A3FF FI-FF 72AD FFFF FFFF FFFF- FFFI-" FFFF
06Β0 FFFF FFFF FFFF FFFF. FFFF FFFF FFFF FFFF
06C0 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
06D0 F-FFF FFFF FFFF FFF-F FFFF F-FFF FFFF FFFF
06EQ FFFF FH-1·· FFFF H-I-F FFFF FFFF FFFF FFFF
06F0 FFFF F-FFF FFFF FFFF FFFF FFFF FFFF FFFF
070 0 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0710 FFFF FFFF FFFF FF-FF FFFF FFFF FFFF FF-FF
0720 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0730 FFFF FFFF 1"FFF FFFF FFFF FFFF FFF-F FFFF
074 0 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
0750 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
07ό() FFFF FFFF FFFF FFFF FFFF FFFF' FFFF FFFF
0770 FFFF FFFF FFFF FF-FF FFFF FFFF FFFF FFFF
0780 FFFI-' FFF-F FFFF FFFF FFFF FFFF FFFF FFFF
0790 FFFF FFFF FFFF FFFF FFFF FFFF FFF-F FFFF
07Α0 FFFF FFFF FFF-F FFI-F FFFF FFFF FFFF FFFF
07Β0 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
07C0 FFF-F FFFF FFFF FFFF FFFF FFFF FFFF FFFF
O7D0 FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF
07Ε0 FFFF FFFF FFFF FFFF FFFF FTFF FFFF FFFF
t\-rc λ FFFF
Wenn die Steuereinrichtung vor der Tastaturbetätigung eingeschaltet wird, wird eine automatische, in Tabelle 4 dargestellte Initialisierungs-Abfrage-Routine durchgeführt.
* * · ο « ο θ ο
α ϋ
β O 6
°-1 »:.314O212
TABELLE 4 Initialisierung mit Abfrageroutine
Steuerungsvorgang
Stimulatorantwort
1. Warten auf Nachbarschaftserkennung
2» Aktivierung des Infrarotdetektors
3. Übertragung eines Impulses "REQUEST TO SEND" und Warten auf Impulse "CLEAR TO SEND"
. Übertragung von 2 Impulsen "CLEAR TO SEND"
5. Übertragung eines Befehles 6. Dekodierung des
"INTERROGATE CONTROL REGISTER" Befehles 15 (Abfrage des Kontrollregisters)
7. Übertragung des Inhalts des Kontroll registers
8. Dekodierung der Impulsfolge des Kontrollregisters
9. Abspeicherung der Kontrollregisterwerte
10. Warten auf Nachbarschaftserkennung
11. Übertragung des Impulses 12. Übertragung von
"REQUEST TO SEND" und Warten 2 Impulsen "CLEAR 30 auf Impulse "CLEAR TO SEND" TO SEND"
20. Übertragung des Befehles 21. Dekodierung des ."INTERROGATE TEMPORARY REGISTER" Befehles
(Abfrage des·Temporärregisters) 35
2.1„ Dekodierung der Impulsfolge dos Temporärregisters
?4. Abspeicherung der Temporärregisterwerte
25. Vergleichen der Werte des 26. Wiederaufnähme der Temporärregisters mit denen Stimulation des Kontrollregisters;
Sprung zu Schritt 1, wenn
diese nicht gleich sind
HoL der Einschaltung der Spannungsversorgung löscht die Steuereinheit dje Anzeigevorrichtung 110 und wartet, bis dor Telemetrickopf 16 über das Implantat positioniert wird. Wenn die Steuereinrichtung einmal auf hinreichende Nähe über die ACQ-Leitung erkannt hat, läßt die Steuereinrichtung die LED 108 für die Nachbarschaftsanzeige aufleuchten und fährt mit der Abfrage fort und verifiziert die augenblicklich eingestellten Datenparameter des implantierten Stimulators, d. h., die in dem Kontroll-
register A und B des Mikroprozessors 50 in dem Implantat abgespeicherten Werte. Inzwischen wird durch das magnetische Feld mit 16 KHz der Infrarotdetektor 36 in dem Implantat aktiviert.
Wenn einmal unmittelbare Nähe erfaßt worden ist, wird ein automatischer Synehronisierungsimpulsaustauch, wie er in Fig. 9 dargestellt ist, durchgeführt. Die obere Zeile in Fig. 9 stellt die Infrarotübertragung (IR-Übert.ragung) über den Infrarottreiber 128 in den Telemetrie-
kopf 16 dar. Die untere Zeile stellt das Ausgangssignal des Telemetrieempfängers 134- dar, der das Phasenverschiebungs-modulierte Datensignal aus dem Implantat empfängt. Entsprechend dem Schritt 3 in Tabelle 4 erzeugt die
Steuereinrichtung mindestens einen Impuls "REQUEST TO 35
TiEND" für die Anfrage um Sendeerlaubnis. Der erste durch das Implantat erfaßte IR-Impuls aktiviert EFl in dem Mikroprozessor 50, der in Fig. 3 dargestellt ist. Dieser Zustand wird in dem Implantat durch die Arbeitszyklen
140212
se
T des Mikroprozessors 50 fortlaufend getestet. Ansprechend auf EFl wird in dem Implantat der serielle Q-Ausgang des Mikroprozessors 50 für 1 ms auf logisch "1" gelegt, für 2 ms auf "0" und wieder auf "1" für einen weiteren Impuls von 1 ms Dauer. Diese zwei Impulse aus dem Implantat sind in der unteren Zeile in Fig. 9 dargestellt und sind als Impulse "CLEAR TO BEND" für dir: Freigabe der Sendebereitschaft und zur Vervollständigung des "handshakes", des Synchronisierungs-Datenaustauscbas geeignet. Die Steuereinrichtung erzeugt automatisch fortlaufend weitere Impulse "REQUEST TO SEND" jeweils nach 7 ms, bis die "CLEAR TO SEND"-Impulse von dem Stimulator erkannt worden sind.
Daraufhin wird in Schritt 5 in der Tabelle 4 der Befehl "INTERROGATE CONTROL REGISTER" mittels IR-Impulsen übertragen, d. h. der als Hybridbefehl anzusehende Befehl für die Abfrage der Kontrollregistcr, der mit XMIT C und "001" als 3-bit-Befehl ausgeführt ist, wird übertragen. Der Stimulator dekodiert den Befehl in einer entsprechenden Routine und überträgt den 32-bit-Inhalt der beiden Kontrollregister in den implantierten Mikroprozessor 50, wie es auch in Fig. 9 dargestellt ist. Der Inhalt der Kontrollregister wird seriell aus dem Q-Ausgangsanschluß des implantierten Mikroprozessors in impulsbreiten-moduliertem Code herausgeschoben und über den Resonanztransponder zu dem Telemetriekopf 16 übertragen. In der Steuerkonsole 12 wird die Kontrollrogisterimpulsfolge dekodiert und der Inhalt der Kontroll-
^Q register abgespeichert (Schritte 8 und 9 in Tabelle 4)-.
Zu diesem Zeitpunkt wird in der Abfrageroutine zur automatischen Initialisierung der Synchronisierungsinformationsdatenaustausch in den Schritten 10, 11 und 12 in Tabelle 4 wiederholt, nach welchem die Steuereinrichtung den 3-bit-Befehl "LOAD T" überträgt und nach welchem wiederum in serieller Form der abgespeicherte Inhalt des Kontrollregisters, der zuvor bei Schritt 7
l " "··' ·"' 3U0212
ys
aus dem Implantat übertragen worden ist, übertragen wird. Die Schritte 14 und 16 bewirken in dem Stimulator, daß dor Speicherwert der externen Kontrollregister in d i f; Temporärregister A und B in dem Mikroprozessor 50 in dem Implantat geladen werden. Zu diesem Zeitpunkt ist der augenblickliche Wert der tatsächlichen Stimua'ltionsparameter in den Kontrollregistern zu den Temporärregistern so übertragen worden, daß jetzt die Inhalte der Temporär- und der Kontrollregister in dem Implantat je mit den von der externen Steuereinrichtung empfangenen und abgespeicherten Werten identisch sein sollten, so daß der Istwert der Parameter mit dem Sollwert übereinstimmt .
In den Schritten 17 bis 19 wird die Datenaustausch-Synchronisierung einmal wiederholt, um sicherzustellen, daß eine korrekte Signalübernahme mit der entsprechenden Nachbarschaft gewährleistet ist. In Schritt 20 in Tabelle 4 wird durch die Steuereinrichtung ein. 3-bit-Befehl "XMIT T" über den IR-Treiber 128 übertragen, der bewirkt, daß der Inhalt des Temporärregisters aus dem Sbimulator heraus übertragen wird. Die Werte des Temporärregisters werden extern in den RAM 122 abgespeichert und in den Schritten 24 und 25 in Tabelle 4 mit den vorher in dem Kontrollregister abgespeicherten Werten verglichen. Bei Übereinstimmung wird der Bedienungspersondie erfolgreiche Abfrage durch 4 Querstriche in den einzelnen Stellen der LCD-Anzeigevorrichtung 110 angezeigt: C—'·—J-Wenn die Werte nicht übereinstimmen, wird die gesamte Abfrage; wiederholt. Bei dem Ausbleiben von nicht ausgeführten oxternc-n Befohlen nimmt der Stimulator die Stimulation inzwischen wieder auf.
Der Abfragedatenaustausch mit der automatischen Initialisierung nach Tabelle 4 besteht aus einer DatenübertraT · gungs-Testroutine. Dabei überträgt das Implantat ein 32-bit-langes Datenwort zur Steuereinrichtung; die Steuereinrichtung überträgt dasselbe 32-bit-Datenwort zurück zu
1 O O O
ο a d
3U0212
dem Implantat und fordert dann das Implantat zur Rückübertragung desselben 32-bit-langen Datenwortes zu der Steuereinrichtung auf, und vergleicht dieses mit dem ursprünglich empfangenen Signal, um zu erkennen, ob die beiden Datenworte übereinstimmen. Durch diese Mehrfachübertragung wird die Richtigkeit der Übertragung und Dekodierung in der Datenaustausch-Einrichtung sichergestellt.
Wenn die initialisierende Abfrageroutine einmal erfolgreich abgeschlossen ist, wird die die Nachbarschaft, /.u der Stimulator·^ nrichtung anzeigende LKD 108 abgeschaltet und die Tastatur überwacht, Der Inhalt der Konkrollregister in dem Implantat wird jedoch in dem Speicher "122 so erhalten, daß die aktuellen Parameter wiedergegeben werden, die während der Initialisierungs-Abfrage routine als in dem Implantat wirksam erkannt worden sind In den Tabellen 5 a und 5 b werden die Anzeige-Bezugswerte in ihrer Zuordnung zu den über die Tastatur 104-einstellbaren Werten dargestellt.
TABELLE 5 a 25 Geschwindigkeit 0 Ta Usäohl i eher Wo-r I.
Parameter Angezeigter Wert 1
2 8 Hz
3 10 Hz
30 4 12-Hz
5 15 Hz
6 20 Hz
7 25 Hz
8
35 9
30 Hz
10 33 Hz
11 4-0 Hz
50 Hz
1? 60 Hz
7 b W/,
100 TI7.
Parameter
Angezeigter Wert
Tatsächlicher Wert
AmpIi tude
Ton (Zeitdauer "EIN")
13 14 15
O 1 2 3 4 5 6 7 8 9
10 11 12 13
14 15
0 1 2 3 4 5 6 7
120 Hz
150 Hz
200 -Hz
0,1 mA
0,2 mA
0,4 mA
0,6 mA
0,8 mA
1,0 mA
1,2 mA
1,4 mA
2,0 mA
3,0 mA
4,0 mA
5,0 mA
6,0 mA
7,0 mA
8,0 mA
10,0 mA
0 min
1 min
2 min
3 min
4 min
5 min
6 min
7 min
Toff (Zeitdauer "AUS") wie bei
Betriebsart
0 1 "EIN"
kontinuierlich alternierend
'"31402Ί2
TABELLE 5 b
Parameter
Angezeigter Wert
'Tatsächlicher Wert
5 Gehäuse
Anode
Elek 1 (Elektrode l)
Anode aus..
ungültig Kathode
Elek 2 (Elektrode 2) Wie bei Elek 1 Wie bei Elek 1
Elek 3 (Elektrode 3) Wie bei Elek 1 Wie bei Elek 1
Elek 4 (Elektrode 4) Wie bei Elek 1 Wie bei Elek 1
Dauer
50
100
150
200
250 /M.s 300 ^uS 350 /Us 400 ,us
Die Funktionstaste "F" ruft eine Unterroutine auf, mit welcher der augenblickliche Wert angezeigt werden und ein neuer Wert für irgendeinen der einstellbaren und
oberhalb der Zifferntasten 0 bis 10 eingetragenen Parameter neu eingestellt werden kann. Beim Niederdrücken der Taste "F" wird eine "-4" in Fig. 8 der linken Hälftr der Anzeigevorrichtung angezeigt.
Beispiel 1: Niedergedrückte Taste
1 (AMPL)
Sich ergebende Anzeige Γ-4: ] [ 1:10]
Die Tastenfolge Ln Beispiel 1 (F;1) ergibt die Anzeige dos augenblicklichen Wertes der Amplitude entsprechend dom abgespeicherten Inhalt der Kontrollregister. Die "1" in der in der Fig. 8 links dargestellten Hälfte der Anzeigevorrichtung entspricht der numerischen Taste, oberhalb welcher "AMPL" für die Amplitude auf der Tasta tur 104 eingetragen ist. Die "10" in der in der Fig. 8 rechts dargestellten Hälfte der Anzeigevorrichtung ist eine Referenzzahl für den Wert 4-,O mA aus der Parameter tabelle 5a. Zur Einstellung eines neuen Wertes wird darauffolgend eine dritte Taste, beispielsweise "9" gedruckt und bewirkt eine Anzeige von £ 1: 9 ^J. Die ".1¥ stellt noch immer den Parameter "Amplitude" dar, und di.o "9" ο teil L don vorgeschlagenen neuen Datenwert entr.prechond 3,0 mA dar, der jetzt in einem Speicher in dor Üteuorkonsolc 1?. abgespeichert ist.
Dieser Betrieb wird für jeden der anderen Parameter, als dawären, "Geschwindigkeit1;, "Zeitdauer - EIN" , "Zeitdauer AUS", "Betriebsart", "Gehäuse", "Elektroden -I1,1 "-2", "-3" und "-4" und "Impulsdauer" wiederholt. Zunächst wird jedoch das Register in der externen Steuereinrichtung, das den neueinzustellenden Wert abzuspeichern hat, gleich dem augenblicklichen, aus dem implantierten Kontrollregister empfangenen Wert gesetzt. Dementsprechend müssen nur die Parameter über die Tastenfolge mit "F" eingegeben werden, deren Änderung erwünscht ist.
Nachdem neue Parameterwerte eingegeben worden sind, wird die Funktionstaste "P" gedrückt, um das Implantat auf den neueinzustellenden Wert zu programmieren. Durch Niederdrücken der Taste "P" wird die Anzeigevorrichtung gelöscht, bis die Überprüfung der erfolgreichen Neueinstollung durch Erscheinen einer "-3" in der in der Fig.
14021
1 8 links dargestellten Hälfte der Anzeigevorrichtung
angezeigt wird: ["-3: 3· Eine schrittweise Erläuterung
der Neueinstellungsroutine, die durch das Drucken der
Taste "B" initiiert wird, ist in den folgenden Tabellen
5 6a und 6b dargestellt. Die Anordnung der Tabelle
TABELIjE 6 a
Steuervorgang
1. Warten auf Nachbarschaftserkennung
3„ Übertragung eines Impulses
"REQUEST TO SEND" und Warten auf Impuls "CEAR TO SEND"
Stimulatoran bworL
2. Aktivieren des Infrarotdetektors
•4 „ übertragung von 2 Impulsen "CLEAR TO SEND"
Übertragung von einem Befehl "INTERROGATE CONTROL REGISTER" (Abfrage-Kontrollregister)
6. Dekodierung des Befehles
9,
Dekodierung der Kontrollregister-Impulsfolge
Vergleichen der in dem Kontrollregister empfangenen Daten mit
den vorherigen Daten in dem Kontrollregister. Bei mangelnder Übereinstimmung nimmt die Steuereinrichtung
an, daß ein neuer Patient vorliegt
und es wird Schritt 1 von Tabelle 5
durchgeführt.
10. Warten auf Nachbarschafts-Erkennung
11. Übertragung eines Impulses "REQUEST 12. Übertragung TO SEND" und Warten auf Impulse von 2 Impul-
"CLEAR TO SEND" - sen.VCLEAR
TO SEND"
99
13. Übertragung von dem Befehl 14. Dekodierung des Be-"LOAD TEMPORARY REGISTER" fehls (Laden des Tömporärregisters)
15. Übertragung des Kommandos "PROPOSED VALUES"
(Neu einzustellende Werte)
16. Dekodierung der Impulsfolge und Abspeicherung in Tempporärregistern
17. Warten auf Annäherungserkennung
18. Übertragung des Kommandos "INTERROGATE TEMPORARY RE-GISTER"
(Abfrage der Temporärregister)
Pb. Warten auf Annäherungserkennung
;>6. Übertragung eines Impulses 27. "REQUEST TO SEND" und Warten auf Impulse "CLEAR TO SEND" Dekodierung des Befehls
Übertragung des Inhalts des Temporärregisters
Dekodierung und Abspeicherung der Temporärregister-Impuls- Werte
Vergleichen der Temporärregister-Werte mit den neu einzustellenden Werten. Bei mangelnder Übereinstimmung Wiederaufnahme bei Schritt 1 (Tabelle 5a)
Übertragung von 2 Impulsen "CLEAR TO SEND"
28. Übertragung des Befehles 29. Dekodierung des Be-"ACTIVATE" fehls
30. Übertragung der Tempo rar regist errWerte in das Kontrollregister
31. Warten auf Aufnäherungs-Erkennung
32. Übertragen eines Impulses 33. Übertragung von 2 Tm-"REQUEST TO SEND" und Warten pulsen "CLEAR TO SEND" auf Impulse "CLEAR TO SEND"
3·4. Übertragung von einem Befehl'35. Dekodierung des Be-"INTERROGATE CONTROL REGISTER" fehls
37. Dekodierung und Abspeicherung
der Kontrollregisterwerte
38. Vergleichen der Kontrollre- 39. Wiederaufnahme der gister-Werte mit den neu ein- Stimulation zustellenden Werten. Bei Nichtübereinstimmung Sprung auf
Schritt 1 in Tabelle 5a
Die ersten 8 Schritte der Tabelle 6a als einer durch das Njederdrücken der Taste "P" automatisch aktivierten Funktionsfolge sind identisch mit denen der Initialisierungs-Abfrageroutine, in denen der Inhalt der Kon-trollregister des Implantats zu der Steuereinrichtung Übertragen wird , nachdem die Annäherung erkannt wurde und Gynchroriisierungsaustauschsignale ausgesendet wurden. Dieses Mal vergleicht die Steuereinrichtung die neu empfangenen Kontrollregisterdaten mit den vorher abgespeicherten Kontrollregisterdaten, die während der anfänglichen Abfrage aufgenommen worden sind. Bei fehlender
4*
Übereinstimmung nimmt die Steuereinrichtung an, daß ein rifiuor Patient, vorliegt und bearbeitet erneut die Initia-1 i :-;i r:rung-Abfragoroutine. Dieses wird bei erfolgreicher Initialisierungsabfrage durch 4 Querstriche angezeigt, die in den einzelnen Stellen der Anzeigevorrichtung erscheinen [—: — J . Wenn der Inhalt des Kontrollregisters in Schritt 9 der Tabelle 6a Übereinstimmung zeigt, wird erneut Datenerfassung und Austausch von Synchronisierungssignalen betrieben und dann das Laden der Temporärregister in dem Mikroprozessor 50 in dem Implantat dadurch begonn'en, daß ein 3-bit-Befehl "LOAD T" gefolgt von einem 27-bit-Datenwort übertragen wird.
DLo Einstellungsroutine betreibt erneut Datenerfassung und Synehronisierungsdatenaustausch in den Schritten 17 hjs 19 und fragt die soeben geladenen Temporärreßister dadurch ab, daß ein 3-bit-Befehl "XMIT T" ausgesendet wird. In den Schritten 23 und 24 werden die durch das Implantat ausgesendeten Temporärregister-Werte mit den gewünschten Werten verglichen und bei Nicht-Übereinstimmung wird die Einstellungsroutine in den Tabellen 6a und 6b erneut gestartet. Bei Übereinstimmung betreibt die Steuereinrichtung erneut Datenerfassung und Synchronisierungs-Datenaustausch mit dem Implantat (Schritt 25 bis 27) und übermittelt den Befehl "ACTIVE", der bewirkt, daß das Implantat den Tornporärregister-Wort in das Kontrollregister überträgt (Schritt 30). Dieser Befehl bewirkt die Neueinstellung dan Stimulators auf gewünschte Parameterwerte, wie es weiter unten in Zusammenhang mit der Erläuterung der Tabellen 7 bis 19 beschrieben wird. Die externe Programmierungsroutine ist jedoch noch nicht abgeschlossen. Nach dem erneuten Synchronisieren mit Datentausch ("handshake") wird das Implantat veranlaßt, die Kon-
krollrcgisterwerte zu übermitteln, indem ein 3-bit-Befehl "XMIT C" wie in der'Initialisierungs-Abfrageroutine ausgesendet wird. Wenn die gerade übermittelten Kontrollregisterwerte nicht mit den gewünschten,
a β α ο
> β Ö 4
3140
noch in der externen Steuereinrichtung befindlichen Werten übereinstimmen, wird die Programmierungsroutine "durchgestartet". Wenn sie jedoch richtig sind, wird auf der Anzeigevorrichtung Γ-3: J und damit das Ende der Programmierungs- bzw. Neueinstellungs-Routine angezeigt, und es wird weiterhin angezeigt, daß die Stimulation durch das Implantat entsprechend den neu eingestellten Stimulationsparametern wieder aufgenommen wird.
Es gibt zwei weitere Funktionen, die durch die Tastatur 104 ausgewählt werden können. Die Funktionstaste "P" ähnelt der Funktionstaste "F", sie wird jedoch verwendet, um lediglich den gewünschten Wert des ausgewählten Parameters anzuzeigen.
Beispiel 2: Niedergedrückte Taste sich ergebende Anzei p,e
τ [-1: 3
1 C 1: 9]
Die obigen Tastatursequenzen zeigen die beabsichtigten Amplitudenwerte an, die beim ersten Beispiel angegeben worden sind. Wenn die Taste "F" anstelle der Taste "T" gedrückt worden wäre, wäre der Amplitudenparameter-Wert, der bei der Initialisierungs-Abfrage (d. h., "10") ermittelt wurde, angezeigt worden.
Die Funktionstaste "F" wird verwendet, um das Implantat automatisch auf "AUS" zu programmieren, ohne daß die Taste "F" benutzt werden muß und damit alle "AUS"-Zustände der beabsichtigten Neuwerte eingeben zu müssen. Das Niederdrücken der Taste "S" wird durch die Anzeige
oj i'_2» jn der in Fig, 8 links dargestellten Hälfte der Anzeigevorrichtung angezeigt.
Zusätzlich zu den 4 beschriebenen Befehlen ist die
' Steuereinrichtung in der Lage, den Inhalt des Festwertspeichers in dem Implantat zu überprüfen. Diese Eigenschaft ist wohl allgemein nur dann sinnvoll anzuwenden, wenn eine Steuereinrichtung bei der Herstellung verwendet wird und mit ihr der ROM-Inhalt des implantierbaren Stimulators vor dem Versand überprüft werden soll. Diese Eigenschaft wird durch die nachstehend dargestellte Tastenfolge aufgerufen:
Boispiel 3;
Niodergodrückto Taste sich ergebende Anzeige
15 [15: ]
Der Maschinenzyklus des externen Mikroprozessors 100 ist entwurfsbedingt etwa 1,25 ms. Daher sollte die Quarz-Taktfrequenz für den externen Mikroprozessor 100 nominal 6,5 MHz sein. Da die implantierten und externen Einrichtungen mit je unabhängigen Spannungsquellen arbeiten und der interne Takt zumindest bei der vorliegenden Ausführungsform aus einem quarzlosen Oszillator ist os möglich, daß mit der Batteriealterung
ZJ das Zeitintervall für den Telemetrie-Impulscode das Abtastintervall von 1,5 ms übersteigt. Daher kann es ratsam sein, beispielsweise die Impulsbreite des Impulses "Klar zum Senden" abzutes.ten und das Abtastintervall dementsprechend mit zusätzlichem Aufwand anzupassen,
Die Befehle ROM DMP und STAT OFF aus der externen Steuereinrichtung rufen spezielle Unteroutinen in dem Implantat auf. Die Unterroutine ROM DMP erzeugt automatisch ein in serieller Form ausgegebenes Speicherabbild
des implantierten Festwertspeichers ROM 52 aus dem Datenausgangsanschluß Q des Mikroprozessors 50 in pulsbreiten-moduli erten Code. Die Unterroutine STAT OFF erzeugt automatisch Parameter für AUS-Parameterwerte
40212
direkt über eine interne Initialisierungsroutine in dem Festwertspeicher ROM 52.
In den Fig. IO bis 30 sind detaillierte Logikablauf informationen in Form von Flußdiagrammen der einzelnen Funktionsblöcke in Assemblersprache mit deutschen Kommentaren versehen dargestellt« Mittels der erwähnten Assemblersprache läßt sich eine wesentlich übersichtlich ere und den Funktionsablauf, welcher durch den Inhalt des ROMs 52 festgelegt ist, erläuternde Darstellung in einer Listenform erreichen. So wird in den Tabellen 7 bis 19 der Gesamtumfang der in den Tabellen la und Ib in hexadezimaler Form dargestellten Funktionssteuerungsinformationen in 12 logisch trennbare Funktionsblöcke aufteilt, die hier als "Routinen" bezeichnet werden. Zur weiteren Erläuterung werden darüber hinaus die wichtigsten durch die Assembler-Sprache dargestellten, vom Prozessor ausgeführten, Einzelinformationen zugrunde liegenden Einzelfunktionen mit einer erklärenden Erläuterung oder einem Kommentar versehen.
Unter "Einzelfunktionen" werden die kleinsten logisch als abgeschlossen anzusehenden Funktionsabläufe verstanden, welche auf der Maschinenebene des RCA CDP 1802 COSMAC-Mikroprozessors darstellbar sind. Diese können mit ".Assembler-Anweisungen" oder einfach mit "Anweisungen" bezeichnet werden. Da der Aufbau der internen Steuerung beträchtlich komplexer als der der externen Steuerung ist, wird die folgende Erläuterung zu den
ou Tabellen 7 bis 19 näher an die Einzelanweisungen gekoppelt.
Zunächst sollen jedoch noch einige in dem erwähnten Rc;-nutzer-Handbuch vorgegebene Definitionen erläutert wer-
den. Es wird mit symbolischen Registerbezeichnungen gearbeitet, d. h., in einem Registerdefinitionsbereich werden den 16 Mehrzweckregistern des Mikroprozessors 16 symbolische Namen zugeordnet, auf die beim Ansprechen
des entsprechenden Registers Bezug genommen wird. Dieses Register wird mit R (...) angesprochen, wobei für ... der symbolische Name einzusetzen ist. R(...).O bezeichnet die 8 niederwertigen. Bits des Registers R( ...'), R(...).l bezeichnet die 8 höherwertigen Bits des 16-bit-Registers K (...). Auf eine Adresse ... wird durch A (...) Bezug genommen. "X —*■ Y" bedeutet das Laden des Inhal Los von X nach Y. Mit #wird eine Hexadezimalzahl l)c/,f!i chno i;. " Du «teil t den Akkumulator des Mikroprozessors ^DP 180? dar. Dia Notierung eines Wertes wird durch οJ non Querstrich über diesem Wert angezeigt; und eine Sprungmarke wird durch einen unmittelbar folgenden Doppelpunkt (:) gekennzeichnet.
Den Tabellen 7 bis 19 liegt je die gleiche Aufbaustruktur zugrunde. Die erste Spalte entspricht der ersten Spalte der Tabellen la und Ib und stellt somit die Basisadresse für die Code-Information dar. (Displacement = 0). Die Anweisung ist in Form von hexadezimalen Zahlen (entsprechend den Spalten 2 - 9 in Tabellen la und Ib) einzeln in Spalte 2 dargestellt; in Spalte 3 erfolgt eine durchlaufende dezimale Numerierung des Ausdrucks. Beispielsweise sind in Zeile 33 fünf Befehlsbytes in aufeinanderfolgenden Speicheradressen $ 0002 # 0003, # 0004,# 0005und#0006 abgelegt. Die nächste Spalte rechts neben der Zeilennummer enthält Marken, wie beispielsweise "START: "_, mit denen besondere Stellen in den Routinen gekennzeichnet werden (symbolische Adressen) In der nächsten Spalte ist die Übersetzung der Hexadezimalcode-Anweisung in Assembler-Sprache dargestellt, wobei auf das erwähnte Manual verwiesen wird. Zusätzliche Erläuterungen bezüglich der Wirkungsweise oder Funktion sind — durch eine Folge von 2 Punkten abgesetzt — in den äußeren rechten Bereichen der Tabellen 7 bis 19 dargestellt.
Di ο den Hexadezimalzahlen in der zweiten Spalte der Tabellen 7 bis 19 dargestellten Bitmuster sind in dem
3 β 6 9
β β O
& β
β O
ο * c t,
β° 09 βοο Λ
ROM 52 abgespeichert, dessen Inhalt bereits bei der Herstellung festgelegt wird. Dor Gesamtumfang der Informationen nimmt gerade zwei Seiten von aufeinanderfolgendem Speicherraum ein (insgesamt 205 Speicherplätze hexadezimal). Unbenutzte Speicherplätze enthalten Nullen. 79 weitere Speicherplätzte (03Bl - 03FF) sind mit Parameterwerten belegt und in der Tabelle 7, angefangen bei Zeile Nummer 0484, dargestellt. Hier werden besondere, alternative Werte für die Einschalt-Zeitdauer (Zeitdauer "EIN"), die Ausschalt-Zeitdauer;j (Zeitdauer "AUS"), die Geschwindigkeit, die Stromimpulsamplituden und die Impulsbreiten durch Adressierung der entsprechenden Datenwortteile angesteuert. Beispielsweise wird die tatsächliche Geschwindigkeit nicht durch die Geschwindigkeitsbits des Datenwortes festgelegt» Anstelle dessen ergeben die Geschwindigkeits-Bits eine relative Adressierung in der Parametertabelle, mit welcher die gewünschte Geschwindigkeit ermittelt werden kann. Unterschiedliche Parameter können in dem ROM-Tabellen festgelegt werden, ohne daß Eingriffe in den Funktionsablauf oder das Datenwort nötig wären. Diese Eigenschaft erlaubt dem Arzt, verschiedene Neuralstimulatoren in dem Operationssaal zu lagern, wobei sich eine von der anderen nur in den Parametertabellen in dem ROM unterscheidet, um damit sogar noch einen größeren Auswahlbereich für Parameter zu schaffen, als dieser durch einen einzelnen programmierbaren Neuralstimulator ermöglicht wird. Wenn der Neuralstimmulator einmal implantiert ist, kann der Neuralstimulator genau in dieser Ausführungsform mit 16 auswählbaren verschiedenen Geschwindigkeiten aus der ROM-Parametertabelle beaufschlagt werden. Die Realisierung mit Parametertabelle weist auch für den Hersteller den Vorteil einer größeren Anpassungsfähigkeit auf.
TABELLE 7
0351 ;
03;· 1 03BAi
0?:'3 03E0;
03:5 oi3e;
03ί·7 01E:Ji;
03::? Cf.BF;
03H-D 073Oi
03SF 07CD»
03Cl cane:
03C3 oa9a;
03C5 0C18;
03C7 OECE ί
0379 1302?
03CE: ία 5F;
03CD 1E:6A·
03CF 23D2;
03Dl ;
0331 FC;
0332 F9;
0303 fs ;
03D1 Fi;
0305 ee;
0336 EA;
0337 E6>
02OQ ;
0338
os:.-3 1a;
0339 3Ξ::
02:· A 3i >
OSIiC id;
OCTO 17;
033F 11Ϊ
O ΞΙ 0 οε;
03Ξ1 ob;
03t2 09;
03£3 07;
03Ξ1 os;
03E5 01!
0Ξ-Ξ6 03;
03Ξ7 02;
03-£B ;
03Ξ8 2F3D3
O3H:F 211DOl
0181 01B5
ORC Φ03Β1 . .***PARAHETERTABELLEN χχχχχχχχχχ
ons:
'03~6 ;
on;
0187 OiE)B 0489 0Ί90 0191 0192 0193 0191 0195 0196 0197 0198 0199 0500 0501 0502 0503 0501 0505 OSOn 0507 050Q 0509 0510 0511 0512 0513 0511 0513 0516 0517 051B 0519 0520 0521 0522 0523 0521 0525 0526 0527 0528
;o529
; 0529 0529 0530 0531 0532
offs:
rates:
amps:
OURS:
O" A οε:
OZ-' U m;
03:C ie;
O 3." O id;
03-E 22;
03.-F 27;
o-soo *
0100
0000
0533 0531 0535 053<4 0537 0538 0539 0510 0511 0512 END »90ά 1992 ti 078 .1208 11123 ρ 1638 rlBS3 ρ 1997 ρ 2281 ρ 2711
ρ 3790
ρ 5727 »7018 »9170
p*FC p*F9 »*F5 p#Fl ρ*·ΕΕ
p19 ρ 39 ρ 29 -23 »19 »17 pH pH
ΡΫ
.geschwinoigkeits-catenmert »0»
.N=26,385(l-(0.97aR/(R+l)))
.GESCHWINOIGKEITS-CATENWERT »15»
.1 MINUTEN
.2
.3
.5
.6 ■ -
.7
.8 Hz
.10
.12
.15
.20
.25
.30
.33
.AO
.50
.60
.?5
.100
.120
.150
.200
»♦2F3D3735362631211DOD170715053222
..50 \iS N= (DAUER/JO)-! FÜR IO μ5 TAKT
,9 ..100
pH ..150
.19 ..200
»21 ..250
.29 ..300
»31 ..350
»39 ..AOO
.. -3U0212
In der folgenden Tabelle 8 ist die Zuordnung der symbolischen Registerbezeichnungen zu den physikalischen Registern O bis 15 dargestellt. Diese Registerdefinitionen bilden die logische Voraussetzung fUr die Gesamtroalisierung, wie auch aus der in Spalte 3 dargestellten Aubdrucks-Zeilennummer ersichtlich ist. Die Wahl der Registerzuordnungen ist willkürlich. TEMPA, TEMPB und CONTA und CONTB sind 16-bit-Temporärregister und Kontroll register, die das Datenwort empfangen. Die Register ONE,
MAEN, RDEC und FREE sind Allzweckregister. Das Register RATE speichert die abgespeicherte Geschwindigkeit aus der Parametertabelle ab, um eine schnelle Neueinstellung während der EIN/AUS-Zyklen zu ermöglichen. Es gibt zwei Register für die Gehäuse- und Elektroden-Verbindungszu-
stände für den Betrieb mit wechselnder Polarität bei aufeinanderfolgenden Ausgangsimpulsen. Dan KTN/AUH-Rf1)', i r. l.or zeigt an, welcher Zeitabschnitt des Zyklus in dem Neuralstimulator momentan eingeschaltet ist.
TABELLE
0000 0000 0000 0000
00CO 0000 0000 OÜ00 0000 OUCO 0000 0000 0000 0000 0000 00 00 0000
0000 OOGO 0000 0000 OOGO
0000
0000 0000 OOGO 0000
0001
0002 ..xxxx NEURAL-STIN. TEST^STEUERUNG ****
0003
0001 ..«««REGISTER-DEFINITIONEN sx
00 03 CONTA=Z
0 0 00 CONTEi=Il
0007 ONE=I
0008 MAXN-O 000? RDEC=3
0010 FREE-1
0011 TEMPA=S 0 012 TEMPB=O 0013 CASE1«7 0 011 CASE2=B 0015 ELEC1-9 0 016 ELECZ-IO
0017 RATE=? ..R(RATE).! & R(CASFl).O TEILEN SICH
0018
DAS SELBE REGISTER. R(RATE).1 SPEICHERT DIE EINGESTELLTE GESCHWINDIGKEIT AB
0019
0020 CYCLE=IZ
0021 0N=13
0022 OFF=H
0023 ONOFF=S ..R(ONOFF).! & R(CASE2)o0 TEILEN SICH DAS
00^ υ R(OUOFFn^l ΒΕ;1»ΕΪΜ
0025
0026 QOUT=IS
0027
0028
68
Die Initialisierungsroutine ist in Tabelle 9a und 9b dargestellt und beginnt bei Zeile Nummer 29. Dort wird die Unterbrechungsfähigkeit des Mikroprozessors j·/·:;j><··rrI. (DlS TNT). Wenn die Unterbrechungsmöglichkeit jf.oHpf-rrI. IrA:, Kind die Stimulator-Ausgängsimpulse ebenso gesperrt, da der Mikroprozessor keinen Ausgangsimpuls an der Leitung I/O 4 aussenden kann. Die Register werden initialisiert durch Laden der Anfangsadresse der ersten interrupt service-Unterroutine (Unterbrechungs-Bedienungs-Unterroutine) in das Register ONE, die Anfangsadresse der Unterroutine DECODE: in das Register RDEC und die Anfangsadresse der Telemetrie-Ausgangsunterroutine SUBQ: in das Register QOUT.
TABELLE 9 a
DIS rO·.UNTERBRECHUNGS-FLIP-FLOP DEAKTIVIEREN
..««χ REGISTER-INITIALISIERUNG χχχ
LDi ι; phi ONe; phi" rdec; phi άουτ
LDI A.0<IS31>; PLO ONE LDI A.OfDECODE)J PLO RDEC LDI A.0(SUEQ)J PUJ QOUT
Die in der Tabelle 9b dargestellte Unterroutine STATOF: lad automatisch ein vorgeordnetes Bitmuster in die Temporärregister A und B.
TABELLE 9 b
0000 7100t 0 029 START:
0002 J 0030
0002 ; 0031
0002 0032
0002 F8O1E:1E:3E:F; 0033
0007 FBElAIi 0031
00OA F3E:£.a:i; 0035
00OD fsaiaf; 0030
0010 * 0037
DOlO 0038
0010
0013 F81CA5; OC16 F8F0c:ö; 0019 F8A0A6!
001C
001C 30D3; 0Ü1E
001E
ooiE Eo; ooiF 7ooo; 0021
0021 312D:
00P3
0 0J3
0023 ic:
0021 9Ct 0025 3A2i; 0027 ;
0027 7l10; 0029 ? 0029 ;
D029 3076; 002S ;
002E: 7110! 002D ;
002D ;
0 039 STATOF: *00->TEMPA.1
0010 ♦1C->TEMPA.O
0011 *F0->TEMFB.l
0012 *AO->TEMPB.O
0013
0011 BR ACTIVE
0015
0016
0 017 L0C21: SEX MAIN
0 0IB RET f0
0019
0 05U L0C23: Bl L0C22
0051
0 052
0053 INC CYCLE
0Ü51 CHI CYCLE
0055 BNZ L0C23
0056
0057 DIS ·Φ10
005B
0059
006() BR LOCH
0061
0 062 L0C22: DIS r*10
0063
0061
INITIALISIERUNG VON TEHPA ε I.' TEHPB HIT DEN ffATENWERTEN FÜR .. »STAT OFR"1'
,. SPRUNG NACH "ACTIVE:"
UNTERBRECHUNG ERMÖGLICHEN, "0" ·* IiI ΧεΡ LADEN
.. SPRUNG NACH L0C22:, WENN NEUEINSTELLUNG ERFORDERIIOi
• ·
..RÜCKSPRUNG NACH L0C2B:, WENN ..EIN/AUS-ZYKLUS NICHT AISGE-..SCHALTET IST
..UNTERBRECHUNGS-FF DEAKTIVIEREN J1FREE" NACH X, "HAIN" NACH P LADEN
.. SPRUNG NACH L0C41:
.. UNTERBRECHUNGS-FF DEAKTIVIEREN; .. "FREE" NACH X ZUR AUSGABE BEI I. "ACIIVE:":;ILA0EN_ _
^ Die STATOF:-Unterrouti.no stellt Parameterwcrto ein, dlrbewirken, daß der Neuralstimulator sich in einem AUS-Zustand befindet. Über die Parameter für den AUS-Zustand hinaus werden die 5 höherwertigen Bits in dem niederwertigen Byte des Temporärregisters B Identifikations-Kennungsnummer-Bits zugeordnet, mit denen das einzelne, konkrete Ausführungsmodell des Neuralstimulators identifizierbar ist.
TO Daraufhin erfolgt eine Verzweigung zu der Unterroutine ACTIVE:, die weiter unten dargestellt ist. "ACTIVE:" überführt den Inhalt der Temporärregister in die Kontrollregister und führt eine Neueinstellung sämtlicher Neuralstimulator-Parameter durch. Vor der Datenübertragung zu den Kontrollregistern stellt der Mikroprozessor zunächst den Amplituden-Haltekreis durch Isolation bzw. Ausmaskierung des Amplituden-Codes in dem höherwertigen Byte des Temporärregisters A dadurch ein, daß er die angesteuerte Amplitude aus der Parametertabelle ermittelt und sie auf den Datenbus legt. Die Anweisung "INP 3" in Assemblersprache aktiviert die I/O 3-Taktleitung und setzt das Reedschalter-Flip-Flop 42 in dem in Fig. 2 dargestellten Kommunikationsmodul. Nach der Neueinstellung des Amplituden-Haltekreises wird der gesamte Inhalt des Temporärregisters zu dem Kontrollregister übertragen. Die Haltekreise 70 und 80 für die Geschwindigkeit und den niederwertigen Teil der Impulsdauer-Information werden in ähnlicher Weise und dadurch programmiert, daß der
Code aus den entsprechenden Teilbereichen des Kontrollen
registers zur Adressierung der Parametertabelle herangezogen wird. Die höherwertigen Impulsdauerbits werden in die Gehäuseregister für unmittelbar folgende Programmierung geladen.
Die Unterroutine "ACTIVE:" ist in Tabelle 10 dargestellt. 35
?o
TABELLE
00O3 FB035
00D6 ?5i
O0D7 FAOF! 00D9 FCEBi
O ODE: Α^ΟΙΑ-OQDE i
0ODE Ε-Ί»
OODF 6E=J
00EO J
ooEO ;
οοεο m
OOEl B2;
O0E2 96:
00E3 BE=:
O OEI 85A2!
O O Eo 8ώΑΒ»
O0E3 ;
O0E8 92f
OOED
OOEF
00F3
00F3
0OF4
00F1
D0F5
00F7
0OF9
0OF"A
O OFA
0 OFB
DOFE
00FF
0102
FCt>8i
69 i
se·;
FA07;
FCF8!
B7i FACFFl;
88FACF;
F1A8;
0105 aa;
0106 oft;
0107 ; 0.107 ;
0206 ..**D1ESE ROUTINE DIEMT ZUR EINSTELLUNG VON GESCHWINDIGKEIT,
0207 ..AMPLITUDE UND PULSBREITE DURCH UNTERSUCHUNG DER ENTSPRECHENDEN
0208 ..BITS IN CONTA UND CONTB.
0209 0210
0211 active:
0212 0213 0211
OZlS 0216 0217 0218 0219 0220 0221 0222 0223 022·ί 0225 0226 0227 0228 0229 0230
0231
0232 0233 0231 023H 0236 0237 023B 0239 0240 0211 02Ί2 0213
024S 02Ί6 0217 0210
0219 0250 0251 0252
LDI A. KRATES) PHI FREE
CHI TEMPA
ANI »OF ADI A.
..INITIALISIERUNG VON ZEIGERN ..AUF DIE SEITE DER PARAHETER-■■r. TABELLEN
..INITIALISIERUNG VON ZEIGER.O ..AUF DIE EINGESTELLTE AMPLITUDE
PLO FREE« LDN FREE? PLO FREE
SEX FREE INP
CHI TEMPA
PHI CONTA
GHI TEMPE
PHI CONTE:
CLO TEMPA; PLO CONTA
CLO TEMPBι PLO CONTB
EINSTELLUNG DES AHPLITUOENHALTEKREISES UND SETZEN DES ON/OFFrFLtP-FLOPS(BEVOR HHV ABLÄUFT)
INHALT DER TEHPORÄR-REGISTER" IN DIE KONTROLLREGISTER LADEN
CHI CONTA BHR; SHRi SHR
..INITIALISIERUNG VON ZEIGER.O AUF .'.DIE EINGEStLLTE GESCHWINDIGKEIT „ABSPEICHERUNG DER GE-
ADI A. O (RATES) . .SCHWINIGKEIT IN R(RATE)1I
PLO free; ldn free; plo free» phi rate
INP 1 ..EINSTELLUNG DES"'BT5CHWINDIGKEITSHALTEKREISES
CLO CONTB ..INITIALISERUJG DES ZEIGERS AUF DIE ANI +07 ..EINGESTELLTE CHUER
ADI A.O(DURS) PLO FREE
CLO CASEl ..ODERUNG DER HÖKRWERTIGEN IHPULS-
ANI *CFJ OR ..DAUER-BITS
PLO CASEl
GLO CASE2S ANI *CF ORI PLO CASE2
LDN FREE ..EINSTELLUNG DB NIEDERWERTIGEN TEILES
PLO FREE ..DES IMPULSJAUK-HALTE-KREISES INP 2
Anhand von Tabelle 11 wird in der Folge die Einstellungsmöglichkeiten der Elektroden- und Gehäuse-Register beschrieben.
TABELLE 11
OiS? S
S
;
οίο? ?
A
0253 .. ***EINSTELLUN3DER POLARITSlSRt(ISItR FÜR ELEKTRODt UND
D 3. OA S 01OA 82f OiOE: FA02.· OlOD 3220S 01OF I BlOF
fVW
89;
fbffaa;
0u6 baf6c7f9b0aaj
011C 2^ΘΊ3Α1άί
;
82S
D121 Fo;
3333Ϊ
;
012^ 87;
FAEfJ
012?
0129
012A
012B
012F
0130
0130
0133
0133
0135
0136
0137
013?
0238
013A
D13D
013D
013E
Ot-SO
F9BOS
A7S
se;
FAE:FF?8DJ A8?
cooiv;
B7!
FA3F»
A7;
B2f
FA02;
F9C0 5
Ol-Ή 3Q17J
ons ;
0J33 88?
FA3F!
Α85
;
· · GEHÄUSE 0253
0256 L.0C31S 0257 0258 025?
02Ä0 0261 0262 0263
0265
0266
0267
0268 LOOPS
0269
0270
0271 LOC33;
0272
0273
027-Ί
0275
0276
0277
0278
0279
0280
02Ώ1
0282
02Q3
0281
0285 L0C37:
02Ω6
02£)7
0288
0289
0290
0291
0292
0293
0294
0295
0296
0297
0298
029? LDC39:
0300
0301
0302
0303
CHI CONTB
PUO ELECl
PLO ELEC2
GLD CONTA
ANI #02
BZ LDC33
. .ELE KtroDEN-POLARITÄTSMUSTER .. NACH ELECl.0 & ELEC2.0 LADEN
,.SPRUNG NACH L0C33, WENN BtTRIEBSARi ,.11KONTINUIERLICh11
.iBEIRIEBSARI 1ST "ALTERNIEREND", ALSO
PLO FREE ..ELEC2 MIT tEH- GEGENWERT ZU ELECl LADEN GLO ELECl
XRI #FF5 PLO ELEC2 GLO ELEC2-; SHR! LSNFj ORI §ßO» PLO ELEC2 DEC FREE» GLO FREE» BNZ LOOP
GLO CONTA . .SPRUNG NACH LOC37.', WENN DAS GEHÄUSE
SHR ..ANODEISl
BDF L0C37
CLO CASEl ..GEHA'IJ&VIMMER "AUS"-GESCHAL TET(LOSCIItN)- AN2 «BF ..10 B7E5 VON CASEl.0 ε CASE2.0
ORI F1LO GLO ANI PLO
£80 CAGE CASE2 *BFf CASE2
ORI *BQ
LER LOC38 . .SPRUNG NACH LCC38
CLO ANI PLO
GLO ANI LBZ
GLO ORX PLO
CASEl *3F CASEl
CONTA ♦02 L0C39
CASE2 *C0 CASE2
..GEHÄUSE ISl AM)UE. OÜ IN B713G VON ..CASEl.OLADEN
..SPRUNGNACH L0C39:, WENN DIE BEfHIEBS-..ART 11KCNTINUIBiLICH11 IST
..ANDERU(G DES CEHÄUSES ÜUR »KATHODE11 ..11 BS6 VONCASE2.0
BR L0C3B
GLO ANI PLO
CASE2 *3F
..ÜEIIÄUSI ISI Ii(NTlNUlUfIICH ANODI-..OO NACH B7B6V0N CASC?.O LADI-N
% ' "·314σ212
' Die Elektroden- und Gehäuse-Register werden - wie in don Ausdruckzeilen 256 bis 303 dargestellt ist - beginnend hol dor Marko T.OC 31:, programmiert. Die 8 Elektroden-Polaritäts-Zustandsbits werden in die niederwertigen Bytes der 2 Elektrodenregister (ELBC 1 und ELEC 2) geladen und das Betriebsarten-Bit wird abgeprüft. Wenn die Betriebsart mit gleichbleibender Polarität vorgesehen ist, besteht kein Bedarf, die Bits in dem zweiten Elektrodenregister zu ändern; wenn jedoch die Betriebsart
^O alternierender Polarität zeigt, werden die Bits des zwei.ten Elektrodenregisters (d. h. , bei geraden Zyklen) logisch beeinflußt, um damit die alternierende Betriebsart herbeizuführen. Diese Beeinflussung ist jedoch um einiges komplizierter als einfach "das Komplement der
'-> Hi ti·, riohmon", da der Zweibitcode für jede Elektrode 4 vcr.'ich i odono Zustände kennze Lehnen .kann, von denen nur ? reversibel sind, nämlich "Anode" und "Kathode". Die anderen beiden sind "AUS" (d. h., abgetrennt) und "gesperrt", wobei beide bei ungeraden und geraden Zyklen
zu gleich bleiben.
Bei der Marke LOC 33: wird das Gehäuse so programmiert, daß zunächst das Gehäusebit getestet wird. Nur die zwei höerwertigen Bits des niederwertigen Bytes der beiden Gehäuseregister (CASE 1 bzw. CASE 2 ) werden verwendet. Wenn das Gehäuse immer abgeschaltet ist, werden die logischen Werte "1" und "0" in die höherwertigen Bits beider Register geladen. Wenn das Gehäuse normalerweise als Anode verbunden ist, werden logische Nullen in die höherwerti-
gen Bits beider Register geladen, wenn die Betriebsart kontinuierlich ist. Wenn sie alternierend ist, werden logische Nullen in die höherwertigen Bits des ersten Gehäuseregisters und logische Einsen in die höherwertigen Bj ts des zweiten Gehäuseregisters geladen.
Die in der Tabelle 12 dargestellte Unterroutine ermöglicht die Einstellung der gewünschten EIN- und AUS-Datenwerte zur Festlegung der Zeitdauer, in welcher der Sti-
3H0212
mulator bei jeder Zyklusperiode ein- bzw. ausgeschaltet ist.
0117
0117
0117
0117
82?
0118
FAEO!
014A 329E:;
OHC
OHC BZi
01ID F6F6»
OHF FA07»
i
32BF;
;
FCDOJ
A1;
FB03»
0158
055E ;
0:5E 82f
015F F6F6F6F6F6;
;
A-ti
0I65
0167
OloO
0169
016C
0171
0176
017A
017D
0181
0181
0181
01B5
0187
F303;
92?
F6F6F6;
FAlEFCBlACi
EC72E:DF0AD?
21813281;
8DF1ADS
9D2C71BD;
1C3076;
BDf FDFF;
018B 90?
Ol89 7DFFB0J
OlSC ;
0!ÖC COOO79;
018F J
018F J
OISF V7f
o:9o au
ei;
0J92 695
0SV3 S
EOJ
01V1 7000;
; 3C96»
S
019B C0002E:;
019E: 5
019E: EO?
019C 61FF;
019E i
019E 30965
OiAO 5
η 10η 2
0301 0305 0306 0307 0308 0309 0310 0311 0312 0313 03.11 0315 0316 0317
031. ti 0319
0320 0321 0322
0323 0321 0325 0326 0327
0320 0329 0330 0331 0332 0333 0331 0335 0336 0337 0330 0339 0310 0311
TABELLE 12
EINSTBiUNG DER RICHTIGEN "EIN"4JND "AUS"-GATENWERTE ..IN DIE REGISTBIR(ON) UND R(OFF)*************
L0C38: CLO CONTA ..SPRUNG NAOH L0C61, WENN DAUERND "AUS"
ANI ΦΕ0 BZ L0C61
GLO CONTA ..ISOLIERUNG DER »AUS"-BITS SHR; SHR ANI #07
BZ LOC60 ..SPRUNG NACH L0C6O, WENN DAUERND "EIN"
ADI A.O(OFFS-l) ..»AUS'MJATENWERT IN K(Of-F) LAUlN PLO FREE
ldi a. koffs)
phi free; lon free; phi off; ldi *6s; plo off
GLO CONTA .-ISOLIERUNG ER "EIN"-BITS SHRi SHR; SHR; SHR,; SHR
PLO FREE ..HULTIPLIZIEfENDER "EIN"-TABELLEN-i·
ldi a.konsi) ..werte hit11ton11,. und abspreichephi cycle ..rung des pr)duktes in r(on) chi conta
shr; shr; shr;
ani »ie; adi a.0<ons); plo cycle sex cycle; ldxa; phi on; ldx; plo oh locos: dec free; glo free j bz locoi GLO on; add; plo on
chi on; dec cycle; aoc; phi on inc cycle; br
L0C61:
0312
0313
0311
0313
0316
0317
0318 LOCaO!
0319
0350
0351
0352
0353
0351
0358
0356 LQC62S
0357
0358
0359
0360 LOC6I:
0361
0362
0363
0361
0365
GLO ON ..SUBTRAKTION DfS FRODUKTES VON FFFFH1
SDI *FF ..UND ABSPEICHERJNGDER DIFFERENZ
PLO ON .!WIEDERUM IN D/6 EGISTER R(ON)
CHI ON
SDEI #FFJ PHI ON
LBR LOC12 ..RÖCKSPRUNG N\CHL0C42 UND WIEOER-..AUFNAHHE DER STIMULATION
CHI RATE ..ERZEUGUNG EINES I/O-IMPULSES ZUM
PLO FREE ..SETZEN DES ENSTELLUNGS-HALTE-
SEX FREE ..KREISES
ΣΝΡ 1
SEX HAIN ..INTERRUPT IR(OGLlCIO, O NACH X1I' LAHfN
RET ,0
BNl χ
..WARTESCHLEIFE, BIS NEUEINSTELLUNG
LBR LOC22 . .SPRUNG NACH L0C22;
SEX MAIN ..EINSTELLUNG HS STIMULATORS AUF DUT 1; f*fh.MINII1ALGESCH!'IN(IGKEIT
BR LOCÄ2
..SPRUNG NACH LCC62:
Das kann dadurch erreicht werden, daß die die EIN- bzw. AUS-Datenwerte darstellenden Bits in dem Datenwort in dem Kontrollregister ausmaskiert werden, d. h., der Inhalt des Kontrollregisters wird so mit einer Maske beaufschlagt, daß alle in diesen Zusammenhang unwichtigen Informationen gelöscht werden und die relevanten Bits isoliert werden. Wenn der Code für die EIN-Zeitdauer anzeigt, daß der Stimulator immer AUS-geschaltet sein muß, wird die Impulsgeschwindigkeit bis auf die Minimal geschwindigkeit verlangsamt, dadurch, daß die Unterroutine bei LOC 61!beginnt. Wenn andererseits der Code für die AUS-Zeitdauer anzeigt, daß der Stimulator immer KIN-geschaltet sein soll, startet die Unterroutine bei LOG 60: und bewirkt eine Neueinstellung des Geschwindig kr;i t,f!-[|all.ekroU'.cK Über dio Taktloltung I/O 1 und aktivierl die Unterbrechungsfähigkeit, um damit dem Neuralstimulator den Betriebsbeginn zu ermöglichen. In den beiden erwähnten Fällen, immer AUS oder EIN, besteht keine Notwendigkeit dafür, daß der Mikroprozessor den EIN/AUS-Zyklus zeitlich steuert. Dementsprechend wird durch die Assembler-Anweisung bei Marke LOC 62: die Interrupt-Leitung entweder in dem Zustand deaktiviert oder aktiviert belassen, in Abhängigkeit davon, ob der Stimulator immer AUS-geschaltet sein soll oder immer ETN-geschaltet sein soll, während EFl fortlaufend abgefragt wird, um zu überprüfen, ob es Zeit für eine Neueinstellung ist. Im übrigen ist der Mikroprozessor äussohl i oßl:I ch uni.or der Kontrolle der Unterbrechungsanfrage-Eingangsleitung, also des interrupts request-Signalesj d. h. , unter der Kontrolle des Ausgangssignales von dem Geschwindigkeitszähler.
Wenn EIN- und AUS-Datenwerte beide nicht triviale Werte annehmen, wird dar Funktionsablauf etwas verwickelter. Kür die Fortführung der Routine ab LOC 38 in der Ausdruckszeile 319 wird die AUS-Zeit bzw. ihr entsprechender Datenwert aus der Parametertabelle durch den AUS-Code in dem Datenwort aus dem Kontrollregister ange-
I 4 · • « β
steuert und in das höherwertige Byte des Registers OFF geladen,' und die hexadezimalen Stellen 6 und 5 werden in das niederwertige Byte des Registers OFF geladen, um eine genauere Zeitsteuerung von 60 Sekunden zu erreichen. Daraufhin werden die Bits des EIN-Codes ausmaskiert und in das Register FREE geladen. Das Register CYCLE zeigt auf die entsprechende Position in dem Bereich fUr die EIN-Datenwerte in der Parametertabelle. Dieser Bereich erstreckt sich von Speicherplatz 03Bl bis Speicherplatz 03CF (Hexadezimal), wie es in der Tabelle 7 weiter oben dargestellt ist. Jeder der Werte in der Tabelle 1st P Bytes lang. Die Tabelle wird dadurch adressiert, daß das höherwertige Adressbyte (03) aus der Parametertabelle ermittelt wird und zu dem verdoppelten Geschwindigkeitswert hinzuaddiert wird. Daraufhin wird der Wert in dem Datenfeld für den Code für die EIN-Zeitdauer und das Produkt von dem hexadezimal dargestellten Wert FFiF subtrahiert und in dem Register ON abgespeichert.
In der weiter unten dargestellten Tabelle 13 wird der Zustand des Stimulator-Flip-Flops dargestellt. Die Verzweigung zu der Marke LOC 42: in der Ausdru cks-Zeilennummer 132 findet von der oben erläuterten Routine aus statt und bewirkt das Laden der EIN-Zeitdauer, dadurch, daß der Inhalt des Registers ON in das Register CYCLE geladen wird, und die Stimulatorgeschwindigkeit neu eingestellt wird;und das Flag in dem Register ON/OEF eingeschaltet wird, worauf das Programm zu der in der Tabelle 9b dargestellten Hauptroutine bei LOC 21: zurückkehrt.
Die Hauptroutine schaltet die interrupt-Leitung ein und testet EFl, um zu überprüfen, ob es Zeit für die Neueinstellung ist. Wenn nicht, wird bei jedem Schleifendurchlauf der Zykluszähler-Datenwert erhöht, bis der Zykluszähler abläuft. Wenn der Zykluszähler "0" ist, wird der interrupt gesperrt und ein Sprung zu LOC 41: durchgfifUhrl., und dort; das Register O]\j/OI'K abj'.iterilet. Wenn der Stimulator eLngoi'.chalte t, war und amigoru'linl U-1.
1 werden soll, wird der Geschwindigkeits-Haltekreis auf eine Minimalgeschwindigkeit eingestellt und der Inhalt des Registers OFF in das Register CYCLE geladen und das AUS-Flag gesetzt.
0076 !
0076 ;
0076 :
0 076 ;
0076 :
0076 9ί
0077
0079
0079
007A
0 07E:
007C
007D
007D
007E
007F
0081
ooai
0083
0081
0081
00Θ7
0087
0089
0039
S089
008S
008C
3A89;
90;
Ec;
SOi ACJ
97;
E469;
Faoi;
Ba;
301Ei
F3ff;
69;
ooao ;
ouso ;
003D fEi
ο u sir f-c;
ooaF &z;
0090 CZl
0091 ;
0091 FSOO;
0 093 E:S;
009Λ ;
0094 εο;
0095 ;
0095 3021!
0097 ;
0097 ;
0097 ;
0 097 :
0097 95."
0098 0-i
0099 es;
009A OF;
009E: 96DF86DF;
009F ;
009F C00117;
00A2 ;
00A2 92;
οοA3 df;
0A1 62."
0A5 DF;
0Ai, 9COFQfOF;
00ΛΑ ;
Ο0ΛΑ C00H7;
ooao ;
0121
0125
0126
0127
0128
0129 LOCH:
0130
0131
0132
0133
0131
0135
0136
0137
0138
0139
0110
TABELLE 13
xxxvxx -ßlESE ROUTINE VERÄNDERT DEN ZUSTAND DES STIHULA-TOR-FLIP-FLOPS JE NACH ERFORDERNIS ZU "EIN" ODER "AUS11
LC1C12:
GHI ONOFF ·. SPRUNG NACH Ü0C40:, KENN EINGE- E'NZ LOC40 .. SCHALTET
.. WAHL DER "ΕΙΝ''-ZEITDAUER
0142
0143
0144
0145
0146
0147
0148
0149 LOC40:
0150
0151
0152
0153
0154
0153
0156
0157
015Ü
0159
0160
0161
0162
0163
0164
0165
0166
0167
0168
0169 XMITT:
0170
0171
0172
0173
0174
0175
0176
0177 XMITCί
0178
0179
0180
0181
0182
0183
0181 GH! PHt GLO PLO
GHI PLO SEX
LDI PHI
ON CYCLE ON CYCLE
RATE FREE FREEf
«01 ONOFF
. NEUEINSTELLUNG DER GESCHWINDIGKEIT , (UND SETZEN DES FLIP-FLOP EFl) INP ί
.. SETZEN DES EIN/AUS-FLAGS ZU "EIN"
NOF-; NOPJ NOP ·. ZUR VERZÖGERUNG
BR L0C21
LDI PLO INP
GHI PHI GLO PLO
LDX PHI
♦FF FREE
OFF CYCLE OFF CYCLE
O CINOFF
SEX MAIN BR L0C23
CHI SEP GLO
TEMPA OOUT TEMPA OOUT
RÜCKSPRUNG ZUR WIEDERAUFNAHME DER STIMULATION
VERHINDERUNG DER GESCHWINDIGKEIT
(X-11FREE" WEGEN DER ANWEISUNG IN L0C23:)
WAHL DER "AUS»-ZEITDAUER
LÖSCHEN DES EIN/AUS-FLAGS
"O" IN X LADEN
RÖCKSPRUNG NACH L0C23: ZUH START DES »AUS"-ZEITA8SCHNITTES -
TEMPORÄRREGISTER NACH O LADEN
GHI TEMPB! SEP QOUTJ CLO TEMPBi SEP CJOUT LBR L0C3S ·· SPRUNG NACH L0C38:
. KONTROLLREGISTER NACH Q LADEN
"GHI SEP GLO SEP
CONTA ODUT CONTA ClOUT
CHI CONTBJ SEP QOUTi CLO CONTB! SEP QOUT LBR L0C3B ·· SPRUNG NACH L0C38:
" *31
1 Daraufhin erfolgt ein Rücksprung zu LOC 23: (Tabelle 9b), wobei der Assemblerbefehl für die Aktivierung der Interruptmöglichkeit übergangen wird und die Überprüfung des EFl-FIjp-Flops und die Jnkrementierung des Zykluszählers 5 weitergeführt wird. Wenn der Stimulator andererse i l.s aus geschaltet war und jetzt eingeschaltet werden soll, wird der Inhalt des Registers ON in das Register CYCLE geladen und die eingestellte Geschwindigkeit erneut eingestellt. Nach den Sätzen des EIN-Flags erfolgt ein Rück-10 sprung zum Anfang der Hauptschleife bei LOC 21 in Tabelle 9b, die Unterbrechungsmöglichkeit wird aktiviert, und damit die Wiederaufnahme des Stimulatorausgangssignales ermöglicht.
15
Die übrigen Routinen sind aufrufbare Unterroutinen zur Ausführung von besonderen Funktionen. Die wichtigste dieser ist - natürlich - die in Tabelle 14 dargesl.ell Ie Interrupt Service- Unterroutine für die Unterbrechungsbehandlung.
20
OIDE i
DlDE t
01Dt Elf
OIDF 7ooo;
OlEl t
QlEl E7i
01E2 60;
01E3 ψ
01E3 E?;
OiEI 6c;
D1E5 t
D1E5 9c;
01E6 P
01E6 ;
01E6
01E6 Ei;
01E7 70001
01E? t
0JE9 9
01EP es;
01EA
Ö1EE:
6D;
01E5 EA i
OiEC 6c;
DIED
t
OIEO 30DE S
01EF ί
OiEF I
0Ί35
0136
0137
013B
0-^39
ISSi
TABELLE 14
xxxxxxx INTERRUPT SERVICE UNTERROUTINEN*****
0112 0113
0111 0115 0116 0117
Q11B 0119 0150 0151 0152 0153 0151 ISS2!
0153
0156
0157
0158
015?
0160 HERES
0161
0*562
SEX DNE ..RETURN, ZEIGER AUF ISSl; RET »0 .."0" NACHXg P LADEN SEX CASEi ..EINSTELLUNG DER GEHÄUSEPOLARITÄTS- INP 5 .-UND HÖfflWERTIGEK IMPULSDAUER-BITS
SEX ELECl ..EINSTEUJJNG DER ELEKTRODENPOLARITÄT
INP 1 ..UND EINEHALTEN DES AUSGANGS-
..SCHALTKOSES
CHI CYCLE ..TESTEN DES ARBEITSZYKLUS IN DER ..HnUPTRUTINE.(DIODE ZUM HERAUF-
..ZIEHEN DER BESPANNUNG ERFORDERLICH
SEX ONE ..RETURN, IIGER AUF ISS2; RET fO ..»o» IN XS P LADEN
SEX CASE2 ..EINSTEUJJNG DER GEHÄUSEPOLARITÄT UND INP 5 ..DER HÖtffiWERTIGEN IMPULSDAUER-BITS
SEX ELEC2 ..EINSTEUJJNG DER ELEKTRODENPOLARITÄT INP 1 ..UND EINHALTEN DES AUSGANGS-
..SCHALTWEISES
BR ISS1-3 ..SPRUNG WCH RETURN
3ie wird jedesmal dann aufgerufen, wenn der Geschwindigkeitszähler 72 abläuft und die Unterbrechungsmöglichkeit nicht deaktiviert ist.
in dor- Interrupt Service-Unterroutine werden die Gehäuse-Polar 1 fcäts- und die höherwertigen Impulsdauer-Bits dadurch eingestellt, daß der Inhalt des Registers CASEl an die Speicheradressbusleitungen dann angelegt wird, wenn der Taktimpuls I/O 5 auftritt. Daraufhin wird der Inhalt des Registers ELECl auf den Speicheradressbus gelegt, während I/O 4 getaktet wird. Die Anfangsadresse der Interrupt Service-Routine wird so inkrementiert, daß beim nächsten Mal, wenn der Interrupt auftritt, die zweite oder alternative Interrupt Service-Unterroutine aufgerufen wird. In der zweiten Interrupt-Service-Unterroutine wird der Inhalt des Registers CASE2 auf den Bus gebracht, während die Leitung I/O 5 ein Taktsignal erzeugt.. Daraufhin wird der Inhalt des Registers ETJ1XP an den Speicheradressbus (MA) angelegt und die Taktleitung I/O 4 wird aktiviert, um die Elektrodenpolarität einzustellen und den Ausgangsschaltkreis einzuschalten. Bei Auswahl der alternierenden Betriebsart werden die Verbindungszustände des Gehäuses bzw. der Elektroden, die entweder als Anode oder als Kathode verbunden sind, umgedreht.
Mit weiteren Unterroutinen werden besondere Teilfunktionen bei der Dekodierung bzw. bei der Telemetrie abgedeckt. In der Tabelle 15 weiter unten ist die Befehls-Dekodierungs-Unterroutine "COMMAND" für die Dekodierung df: f. Π-I) I I.-Bfifohlßcodes und zur entsprechenden Stimulator- ;; l.üuorung dargestellt. Sie beginnt mit der Ausdrucks-Zeilennummer 65 mit der Anfangsmarke CMND:. Diese Unterroutine Ist auch zuständig für die Erzeugung eines Impulses "CLEAR TO SEND" (CTS) von 1 ms Dauer, mit welchem die Empfangsfähigkeit angezeigt wird, und der auf den ersten Programmierungsimpuls anspricht, wenn EFl gesetzt ist, und, 2 ms später, für die Erzeugung
7%
1140212
eines zweiten Impulses "fertig zur Programmierung" von
ebenfalls 1 ms Dauer, nach welchem die Dekodierungsunterroutine aufgerufen wird, um den Zustand der Leitung EF2 zu testen, d. h., den Infrarot-Dateneingang, den IR-Da-
5 teneingang. 0065 CMNDI TABELLE 15
NOP» NOP
.. VERZÖGERUNG, UH DEN ERSTEN IR- 2. START DES IMPULSES "EMPFANGSFÄHIG
002D C1C4J 0066 NOPJ NOP .. IMPULS BEENDEN ZU LASSEN, BEVOR
002F C1C1J 0067 NOPS NOP .. Q AUFTRITT .. ZUR VERZÖGERUNG
0031 C1C1S 0008 NOP} NOP
0033 C1C1J 0069
007U
SEQ .. START DES IMPULSES "EMPFANGSFÄHIG .. ENDE DES 2. IMPULSES "EMPFANGS-
0035
0035
f
7Bi
0071
0072
0073
LDI 6 .. INITIALISIERUNG DER VERZÖGERUNGS-
.. SCHLEIFE
.. FÄHIG"
0036
0036
0038
F306J
P
0071 NOPJ NOPJNOP .. ZUR VERZÖGERUNG
0 038 C1.C1C1» .nn73 RDEiCI SEP ROEC ■·· EINLESEN DER 3
Q03B 0070 REQ .. ENDE DES IMPULSES "EMPFANGSFÄHIG" .. ALS BEFEHL DIENENDEN BITS
003B 7a; 0077
0078
0079
003C j 0080 SMI +01! ENZ x-Z ■· VERZÖGERUNG 2ftHkC.
003C
003C
ψ
FF013A3C;
0081 RDY2: .. FORTSETZUNG, WENN KEINE IMPULSE
0010 t 0082 SEQ; SEQ .. MEHR
0010 7S7B? 0083
0H12 r 0081 NOP; NOPJ NOP
0012 C1C1C1J 0085
0015 5 00(96 REQ
0015 7AJ 00E17
0016 » oobei
0016 ; 0089 SEP RDECJ SEP
0016 D3D3D3! 0090
0019 9 0091
0019- i 0092
0019 i 0093 EiNi L0C12
0019 3C79J 0091 BNl LOC12
001c: 3C79J 0093 BNl L0C12
001D 3C79J 0096 BNl L0C12
001F 3C79;
0051 t
0051 FB0132AO!
0097
XRX Φ01» EZ LOCl
0055 ; 0098 XRI
0055 Fg:01} 0099
0057 ; 0100* XRI
0057 FE:0532D3J 0101
0 05B 0102 XRI
O OSB FB05J 0103
D05D Ϋ 0101 XRI
005D FBO23297J 0105
0061 ? 0106 XRI
0061 FB02S 0107
0063 t Ol OS XRI
0063 FB013ZA2J 0109
0067 » 0110 XRI
0067 FEiOl? Olli
0069 9 0112 XRI
0069 FBO 6 J 0113 LBZ
006E: C201EFJ 0111
006E p 0115 XRI
006E FB06J 0116
0070 J 0117 XRI . ..
0070 FB07J- 0110
0072
0 071
3210 ι
t
0119
0120
«01
0071 307?! 0121
0076 ? 0122 »05J EZ ACTIVE
O076 Θ123
#03
#02» BZ XMITT
#02
#01» EZ XMITC
#01
#06
ROMOMP
#06
#07
BZ STATOF
E*: LOC12
. TEST, OB DER LETZTE BEFEHL . EIN BEFEHL "LOAD T" WAR
. RÜCKSPREICHERUNG VON "D"
.. TEST, OB DER LETZTE BEFEHL .. EIN BEFEHL "ACTIVATE." WAR
.. RÜCKSPBKERERUNG VON "D"
. TEST, OB DER LETZTE BEFEHL .. EIN BEFEHL "XMITT" WAR .. RÜCKSPBICHERUNG VON "D"
.. TEST, OB DER LETZTE BEFEHL .. EIN BEFEHL "XHITC" WAR .. RÜCKSPEKDHERUNG VON "D"
.. TEST, OB DER LETZTE BEFEHL .. EIN BEFEHL "ROMDHP" WAR
.. RÜCKSPEICHERUNG VON "D"
.. TEST, OB IM ÄUS-ZUSTAND .. (STAT OFF)
.. CODE UNGÜLTIG
ZO
F808;
7&;
OIAO OIAO OIAO OIAO OIAO OIAO 01Al 01Al O1A2 O1A2
OIAI Ol A3 01A5
01A6 01A7 01Λ7 Ol AU 01ΛΒ OIAA OlAA O IAC OIAC OlAD OlAD 01AE OIAE 01AF 01AF O IE: O
0182 7a;
01E:3
01B6 D1B8 O IE: A O IE: A
Die in Zusammenhang mit Tabelle 13 dargestellten Unter-T-DUt i non XMTT T und XMIT C dienen je zum Übermitteln do;: Inhalt:; der Temporärregister bzw· der Kontrollregister. Sie beginnen mit den symbolischen Adressmarken XMITT: bzw. XMITC:, und dienen dazu, den Inhalt des Temporär- bzw. des Kontrollregisters aus dem Q-Ausgangsanschluß des Mikroprozessors 50 herauszuschieben, um damit die Daten-Rück-Telemetrierung zu der Steuereinrichtung zu ermöglichen.
Die mit SUBQ bezeichnete Unterroutine ist in der Tabelle 16 dargestellt. Hier wird der Inhalt des Mikroprozessor-Registers "D", d. h., der "Akkumulator" in dem Mikroprozessor 50, aus dem Q-Ausgangsanschluß des Mikroprozessor::; herausgeschoben, wobei, wie weiter oben erläu-L-orL, eine Pulabrd tan-Modulation erfolgt.
TABELLE 16
0366 ·· xxxxxxxxxxxxx SUBQ xxxxx*xxxxxxxxxx (FF}
0367 ..ÜERNAHHE DES BYTESTW»D" UND HERAUSSCHIEEN NACH LINKS
0368 -.AUS DEM "Q"-AUSGANG2i? RÜCK-TELEHETRIERUNG ZU DER NEURAL-0369
0370
0371
0372
0373 SUBQ!
037 ·Ί
0375
0376
0377
037Q GETt
0379
03E10
03Ql
Fei
(MOFJ S 33AD;
7AS
03133
32A0 J 30A5;
0383 03EI6 03(37 03S8 03B9
• 0390 LCJC70: 0391 0392 0393 0391 0393
0396 0397
0398 0399 DIOO 0Ί01
* xxxxxxxxxxxxxxxxxx
SEP HAIN ..RETURN
PHI FREE ..ABSPEICHERUNG DES DATENBYTES
LDI 8 ..INITIALISIERUNG DES SCH.EIFENZÄHLERS
PLO FREE ..FÜR 8 BITS
SEO ..1NACH 0 LADEN
GHT. FREE ..HOLEN DES DATENBYTE SHL ..EIN BIT NACH OF LADEN
NOP5 SEP QOUT ..VERZÖGERUNG
BDF LOC70 ..SPRUNG NACH L0C70, WENN BIT "IHJ1IST REU .."0" NACH 0 LADEN
DEC FREE ..DEKREKENTIERUNG T£S SCHLEIFENZÄHLERS
PHI FREE ..ABSPEICHERUNG DES GECHOBENEN BYTES GLO
FREE NOP
-.SPRUCH NACH »GET:», WENN SCHLEIFE -.NOCH NICHT BEENDET. ANDERNFALLS
REQ .iRÜCKSPRUCH NACH SJBIJ-I FÜR DEN RETURN
NOPJ ΝΟΡί NOP ..EBENSO »0» (ACHQ LADEN (NOP1S
SUBQ-1 GET
..SIND FÜR DIE VffiZÖGERUNG NÖTIG)
β α βββαο * e>
»6 00 βββββ ο
] In der in Tabelle 17 dargestellten Routine wird das als Impulsfolge vorliegende Datenwort so dekodiert, daß seinen einzelnen, funktionalen Bits die entsprechenden Funktionen zugeordnet werden. Sie beginnt mit LOCl:, in
5 der Ausdrucks-Zeilennummer 0187 und dient zur Dekodierung der 27 impulsbreiten-modulierten Eingangssignale in logische Werte "1" und "0" und weiterhin ?,ur Abtipricherung der sich ergebenden Datenwerte In den Tetnporärcgistern A und B in dem Implantat.
10 TABELLE 17
00*o : 0183 ,.««xx DECODIERUNG VOH EINER IMPULSFOLGE BΠ
0OAD ; 0186 I. 27 IMPULSEN
0OAD D303D303S 0187 UOCi: SEF- ROECS SEP RDF.CS SEP RDECJ SEP RDE-C
0 0Bl D3D3D3D35 0188 SEP RDECi SEP RDECJ SEP RDEt: I SEP RDEC
O0E:5 Ε:5ϊ 01H9 PHl TEMPA
0066 f 0190
0066 D3D3D3D3S 0191 L0C2*. SEP RDECi SEP RDECS SEP Rt)ECS SEP RDUC
00SA D303D303S 0192 SEP RDEC; SEP RDECJ SEP RDECJ SEI"- RDEC
OOE'.E ASJ 0193 PLO TEMPA
00BF Ϊ 0194
00&F D3D3D3D3S 019S UC1C3: · SEP ROECI SEP RDUCJ SEP RDEC; SEP RDiIC
O0C3 D3D3D3D3; 019& SEP RDECi SEP RDEC? SEP RDECJ SEP RDEC
O0C7 E-Si 019/ PHI TEMF1ES
OOC0 ; 0198
O0C8 D3D3D3I 0199 LOCi: SEP RDECS SEP RDKCS SEP RDEX; «...,..,,.... OOCE: FA07F9A0S 0200 ANI »071 ORI *A0 . .HOl)ELtCODL -5. 5 HOCHSTWtRl IGL
0OCF AAS " 0201 PLO TEMPB ..BUS VON D
00DO COOlVS 0203 LBR LOC3B ..SPRUNG NACH L0C38
00D3 » 020^
O0D3 S 020Ü
Die für die Entscheidung, ob ein Impuls eine logische 25 "O" oder eine logische "1" darstellt, wird in der in der Tabelle 18 dargestellten Unterroutine "DECODEi1 durchgeführt. Zu einem Zeitpunkt 1,5 ms nach der Impuls-Forderflanke wird das Eingangssignal abgetestet und entschieden, ob es sich um eine logische "0" oder eine logische 30 "i" handelt. Die DECODE-Unterroutine wird von der letzten Unterroutine und von der in Tabelle 15 dargestellten Unterroutine "COMMAND" aufgerufen.
OIBA f
0102
01 BA t 0103
01 BA do; 0101
01BB P 0103
0IE=B 3DCB 5 0106
Ol BD 3DCE:; 0107
01BF 3DCE:; 010Ö
OlCl 3DCBt 0109
01C3 9 OHO
01C3 F800B0f 0111
01C6 F879A0J 0112
01C9 3O£:A; 0113
OICB ; " 0111
O ICE: FEi 0115
OICC ! 0116
OICC C1C1C1C1C1J 0117
01Dl f 0118
oini 3DD7! 0119
01D3 * 0120
01D3 fafe; 0121
O IDS J 0122
01D5 3Dt)AJ 0123
01D7 »
r
0121
01D7 F90i; 0125
01D9 * 0126
01D9 11; 0127
OIDA ψ 0128
01DA D3D3; 0129
OIDC r 0130
O IOC 30 βλ; 0131
01DE 0132
OIDE f 0133
οιοε r 0131
TABELLE 18
κχ UNTER-ROUTINE "DECODE"
SEP HAIN ..RETURN
XXXXXX
(FF)
DECODE.« BN2 LOCiO ..SPRUNG NACH LOClO? WENN IMPULS
Ewa LOClO ..SPBUNG NACH LOClO, WENN IMPULS
BN?. LOClO ..SPRUNG NACH LOClO, WENN IMPULS BNZ LOClO
A.1(L0C12)->HA1N.1 A.O<L.OC1Z)->MAIN.O BR DECODE-I
LOClOi SHL
NOF-; NOF-; NOPI NOP,- NOP - -VERZÖGERUNG
BN2 LOCO ..SPRUNG NACH L0C8, WENN DAS BIT "1" IST
ANI *FE ..LÖSCHEN DES LSB
BR LOC? ..SPRUNG NACH L0C9 LC1C8: ORXl ..SETZENDESLSB
INC FREE ..VERZÖGERUNG LOC?.: SEP RDEC? SEP ROEC ..VERZÖGERUNG
BR DECODE-I ..SPRUNG ZUM AUFSETZEN DES .."RETURN"
Eine weitere, vorteilhaft einzusetzende Routine ist in Tabelle 19 dargestellt.
OIEF 7E:;
01FO C1;
OlFl CIf
O1F2 C1;
O1F3 7Af
O1F1 i
O1F1 D3D3f
O1F6 ;
O1F6 Ei3F800f
01F9 A3f
01FA Ϊ
OIFA 13."
OIFB J
OIFB DT;
oiFC ;
DlFC 833AFAf
01FF f
OIFF F801Er3f
FB&BA3;
;
C00079?
TABELLE 19
0163 ROHDMP: BEO
0161
01615
0166
0167
0168
0169
0170
0171
0172
0173
0171 DMF-I:
0175
0176
0177
0178
0179
01BO
0181
01B2
0183
NOP NOP NOP REQ EIGENEN. S-TS.IMP.ULSES******* .."CLEAR TO SEND" - SENDBEREIT
SEP RDECf SEP RDEC
..LESEN EINER SEITE ZUM .."ROMDMP"(SPEICHERABBILD)
PHI ROECf LDI O ..INWEMENTIERUNG DES ROM-ADRESS-
PLO RDEC ..ZEERS "RDEC" .
LDA RDEC ..AUFNEHMENEINES BYTES FÜR XMIT (SENDEN) SEP QOUT ..SENDEN EMS BYTES CLO RDECJ BNZ DHPl ..FERTIG?
LDI A.1(DECODE)f PHI RDEC LDI A.O(DECODEX PLO RDEC
..NEUINITIALISIERUNG ..VON RDEC
LBR L0C42 -
35 Sie kann beispielsweise zur Erzeugung eines Speicherabzuges in sequenzieller Form aus dem Q-Ausgang des Mikroprozessors 50 verwendet werden; sie erzeugt einen Sendebereitschaftsimpuls "CLEAR TO SEND" (CTS).
t, β β β β
3.Η0212
Im folgenden wird der Betrieb der Stimulator-Einrichtung mit einzelnen Anweiseeinrichtungen beschrieben. Wenn der eingestellte EIN/AUS-Zyklus des implantierten Stimulators so beschaffen ist, daß die Stimulations-Impulsfolge immer "EIN" ist, d. h. , die AUS-Zeitdauer = Ö, führt der Mikroprozessor 50 immer, wenn kein Interrupt vorliegt, die der Assembler-Anweisung in LOC 62: (Ausdruckzeile 0356) in Tabelle 12 entsprechende Funktion ' durch. Mit dieser Funktion wird durch den Mikroprozessor 50 die Leitung EFl fortwährend abgefragt, um zu überprüfen, ob eine Neueinstellung erforderlich ist. Beim Ansprechen auf eine Unterbrechungsanfrage (Interrupt Request) führt der Mikroprozessor Interrupt Service-Unterroutinen durch. Wenn der eingestellte EIN/AUS-Zyklus so beschaffen ist, daß der Stimulator immer ausgeschaltet ist, d. h., die EIN-Zeitdauer = O^ verbringt der Mikroprozessor seine gesamte Zeit damit, EFl abzufragen. Wenn der Stimulator einen echten EIN/AUS-Arbeitszyklus durchführt, wird durch den Mikroprozessor EFl
wiederholt abgefragt und das Register CYCLE inkrementiert, wobei die Funktionsausführung fortwährend bei LOC 23: in der Ausdruckzeile 50 in der Tabelle 9b verbleibt. Beim Übergang von einem Zustand zu dem anderen führt der Mikroprozessor die von der Anfangsadrewne
LOC 41: Jn Tabelle 13 eingetragenen Anweisungen durch und kehrt bei der Marke LOC 23: in Tabelle 9b zu der Zeitsteuerung und zur Abfrageschleife für die Leitung EFl zurück. In dieser Schleife spricht der Mikroprozessor nur dann auf Unterbrechungsanfragen an, wenn er sich in
- -
dem EIN-Zeitabschnitt des Zyklus befindet.
Wenn der Arzt den Wechs.el der eingestellten Impulsparameter vornehmen will, um dem Patienten eine andere Stimulationstherapie zu verschreiben, positioniert er den Telemetriekopf 16 über das Implantat mit der in Fig. 8 dargestellten Übertrageeinrichtung 30 mit elektromagnetischer Tr1UgCrWClIo. Der in Flg. 2 dargestellte RoRonanztranspondor 30 r.chaltet den IR-Empfänger 36 ein.
Der erste von dem Telemetriekopf übermittelte IR-Impuls setzt EFl im Mikroprozessor 50. EFl sperrt die Unterbrechungsmöglichkeit (siehe LOC 22:) und ruft die Befehls-Dekodierungs-Routine auf, die 2 Impulse "CLEAN TO SEND" zurück zu dem Telemetriekopf über den Transponder 30 sendet und dann auf einen Befehl wartet. Die Steuerkonsole führt automatisch die in Tabelle 4 dargestellte Initialisierungs-Abfrageroutine aus. Das 32-bit-Datenwort, das von dem Telemetriekopfempfänger 134 empfangen worden ir.t, wird dekodiert und extern abgespeichert. Unterdessen kehrt der implantierte Mikroprozessor zu dem normalen Betriebszustand über die Marke LOC 38: in der Ausdruck-Zeilennummer 308 in Tabelle 12 zurück. Der Arzt kann die augenblicklichen Parameter mittels der Taste "F" und der entsprechenden numerischen Taste einzeln anzeigen.
Nach der Auswahl neuer Parameter für die Stimulation über die Tastenfolge mit "F" initialisiert der Arzt die in Tabelle 6 a dargestellte Programmierungsroutine dadurch, daß er die Taste "P" drückt. Nach dem Synchronisierungs-Datenaustausch und der Patienten-Zustimmung werden die Temporärregister geladen und vor der Übertragung zu den Kontrollregistern überprüft. Nach Ausführung jedes externen Befehles kehrt der Mikroprozessor zum Normalbetrieb über die symbolische Adressmarke LOC 38: in Tabelle 12 zurück.
Der Befehl "ACTIVE" ruft die Unterroutine auf, die den Inhalt der Temporärregister zu den Kontrollregistern überträgt und alle Haltekreise und die Register RATE, ON, OFF, ELECl, ELEC2, CASEl.. und CASE2 in dem Mikroprozessor neu einstellt und dann mit den neu eingestellten Parametern über die Marke LOC 38: zum Normal betrieb zurückkehrt. Zur erneuten Überprüfung fragt die externe Programmierroutine die Kontrollregister noch einmal über den Befehl XMIT C ab. Nach der Ausführung der Telemetrie« in Zusammenhang mit der Unterroutine
> ο ρ Oo
3Η0212
XMIT C wird der Normalbetrieb über die Marke LOC 38: fort geführt.
Wenn der Patient vor der Neueinstellung den Stimulator dadurch abgeschaltet hat, daß er den langsamen Takt 54 mit seinem Permanentmagneten, mit dem der Reedschalter betätigbar ist, gesperrt hat, taktet der schnelle Takt den Mikroprozessor in einer weiter unten dargestellten Weise durch einen Neueinstellungs-Funktionsablaufs-Abschnitt. Wenn der Telemetriekopf über dem Implantat angeordnet wird, aktiviert der Transponder mit passiv abgestimmter Spule den Infrarotempfänger. Der erste IR-Impuls setzt das in Fig. 3 dargestellte EFl-Flip-Flop 74 zurück und schaltet den schnellen Takt ein. Der langsame Takt verbleibt ausgeschaltet. Die Register werden abgefragt, wobei der schnelle Takt den Mikroprozessor taktet. Kein Stimulationsimpuls (Interrupt Request) tritt auf, bis der langsame Takt startet. Für das Starten des langsamen Taktes kann der Magnet verwendet werden, um das Reedschalter-Flip-Flop 42 umzuschalten. Als Alternative kann das Flip-Flop durch Neueinstellung der Haltekreise zurückgesetzt werden. In der Routine "ACTIVE;" wird der Amplituden-Haltekreis zunächst über die Leitung I/O 3 programmiert, was mit der Assembler-Anweisung "INP 3" durchführbar ist, und wobei der Amplituden-Haltekreis auch das Reedschalter-Flip-Flop A2 setzt und somit den langsamen und den Geschwindigkeitszähler unmittelbar startet. Im weiteren Ablauf der Routine "ACTIVE" wird der Geschwindigkeits-Haitekreis über die Leitung I/O 3 (Assembleranweisung INP 1 in der Ausdrucks-Zeilennummer 0235 in der Tabelle 10) programmiert, wobei auch eine Zurückspeisung erfolgt, um das Flip-Flop EFl zu setzten. Der Ausgangsanschluß Q des Flip-Flops EFl 74 betätigt die Taktmultiplexer, die
OJ normalerweise direkt den langsamen Takt an den Mikroprozessor schalten und den schnellen Takt sperren. Von da an arbeitet die Routine "ACTIVE" mit der langsamen Taktgeschwindigkeit wie üblich, bis der Normalbetrieb
des Stimulationsimpuls-Generators über die Marke LOC 38.* wieder aufgenommen wird.
Die für die Steuerung der Steuereinrichtung verantwortliehe Funktionsablaufinformation in den nun folgenden Tabellen 20 bis 34 dargestellt. Diese Tabellen entsprechen den in den Fig. 31 bis 38 dargestellten Logikablaufinformationen, wobei diese der zusätzlichen Erläuterung dienen. Bezüglich der verwendeten Notation sei auf die in Zusammenhang mit der Assembler-Sprachen-Erläuterung der Funktionsfolge des implantierten Stimulators gegebenen Definitionen verwiesen.
NACH QERrTJCHT
0000;
0000;
0000;
0000;
0000;
0000;
0000;
0000;
0000;
0000;
0000;
0000;
0000;
0000;
0000;
0000;
0000;
0000;
0000;
0000;
0000;
0000;
EO;
62FF;
63FF;
6400;
0007;
0007;
0007;
0007;
0007
OOOA
OOOD
0
0013
0016
0019
001D
003F
0022
0025
0028
002B
002E
0031
0034
0037
003A
D
0040
0043
F806B1;
F879A1;
F808B2;
F813A2;
F806B3;
F8A4A3;
F806B4;
F801A4;
F806B5;
F895A5;
F804B6;
F866A6;
F805B7;
F89EA7;
F805B8;
F83FA8;
F805B9;
F801A9;
F806BA;
F855AA;
F806BB;
0001 0002 0003 0004 0005 0006 0007 0008 0009
0010 0011
0012
0013 0014 0015
0016 0017 0018 0019 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029
0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0053
Tabelle 20
START:
Neuralstimulator-Steuereinrichtung Markendefinitionen
INPBUF=#0800 ..Speicherfeld für Tastatur-..Eingänge STACK=#D813 ..Stack-Speicherung im RAM ..zur Festlegung der Unter-. . routi'nentechnik PRTEMP=#O817 ..4-Byte-Tabel-,«le zur Aussendunß von Shru-..erungsänderungen zum SLi-..mulator STTEMP=&081B ..4-Byte Tabel-..Ie für den Inhalt des Sti-..mulator-Temporärregister STC0NT=#081F ..4-Byte Tabel-.-.Ie für den Inhalt des Sti-..mulator-Steuerregisters
SEX 0 ..Hauptroutine OUT 2,#FF ..Anzeige löschen OUT 3,#-FF OUT 4,#00 ..Nachbarschafts-LED ausschal-..ten {Ausschalten des LED ..für ungültige Eingabe; ..Telemetrie deaktivieren Registerini tialIkI prong LDI A.1(SEND); PHI 1
O(SEND);
1(STACK);
O(STACK);
1(DELAY);
0(DELAY);
1 (SHORT)
0(SHORT);
l(LONG)
LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDI LDT
A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A,
O(LONG) 1(LOAD); 0(LOAD); 1(ICONT); O(ICONT); 1(ITEMP); 0(ITEMP); l(ACTIVA) O(ACTIVA) 1(DECODE) o(DECODE)
A.l(MATCH)
PLO PHI 2 PLO PHI 3 PLO
PHI 4 PLO PHT PLO PHI 6 PLO PHI 7 PLO PHI 8 PLO ; PHI 9 ; PLO ; PHI Λ ; PLO A PHl Π
0046 F82AAB; 0049 F806BC; 004C F810AC; 004F;
004F;
0052
0053
0054
0055
0056
LDI A.0(MATCH);PLO B LDI A.I(MOVE); PHI C LDI A.O(MOVE); PLO C
10
004F;
004F 344F; 0051;
00b1 6401;
0053;
0053;
0053 E?;
0054 79D722;
0057 79DC081C; 005B 22;
005C ;
005C 79D622;
005F 79D822; 0062 79DB081C
0066 081822; 0069 ;
0069 3B00;
0068 E062EE63EE
0070 6400;
0072;
0072;
0072
0072 E2;
0073 F8088F; 0076 F800AF; 0079 F802BD;
007C F874AD; 007F 79DD22;
0082 E2;
0083 0FFBE232A1; 0088 0FFBE332E2; 0088 0FFBE4C2011D; 0093 0FFBE1C2019C; Tabelle 21
0057 TTCFTl
0058PH0X: Bl*..auf Nachbarschaft
0059 .. warten
0060 OUT 4,#01
0061 ..Nachbarschaf U;-LEDeinschal ten; ..ausschalten des LED
0062 ..für ungültige Eingabe,TeIe-
0063 ..metrie deaktivieren
0064 SEX 2 ..X zum Stack-Pointer machen
0065 MARK; SEP 7; DEC 2 ..Steuerre-
£[ ΐ S "fc 6 3Γ* cLfo f Γ* Gi £C G Π
0066 MARK; SEP C,A(STCONT-3) ..Laden
0067 DEC 2 ..der Stimulator-Kon-..trollregister-Tabelle in die . ·. Steuereinrichtungs-Temporär-
0068 ..register
0069 MARK; SEP6; DEC 2 ..Laden der ..Temporärregister
0070 MARK; SEP8; DEC 2 ..Abfrage der-..selben
0071 MARK; SEP B,A(STCONT-3) ..Ver-..gleich der Temprär u. der ..Kontrollregister im Stimulator .. auf Übereinstimmung (DF=I)
0072 ,A(STTEMP-3); DEC 2 0073
0074 BNF START ..Sprung auf Start:, ..wenn Übereinstimmung
0075 SEX 0;0UT 2#EE; OUT 3 ,#EE
0076 OUT 4,#00 ..Nachbarschafts-LED ..ausschalten
0077 ..Ausschalten d. LED f. ungültige ..Eingabe
0078 ..Telemetrie deaktivieren 0079
0080INPUT: SEX 2
0081 LDI A.It INPBUF); PHI F
0082 LDI A.O(INPBUF); PLO F
0083 LDI A.1(KEYBRD); PHI D ..Initia-..lisieren der Tastatur-Unter-..routine
0084 LDI A.0(KEYBRD); PLO D
0085 MARK; SEP D; DEC 2 ..Aufruf der ..Tastaturunterroutine
00861NPUT1:
0087 LDN F;
0088 LDN F;
0089 LDN F;
SEX 2
XRI#"E2; BZ SCMD ^ BZ PCMD
XRI #Έ4; LBZ FCMD 0090 LDN F; XRI#E1; LBZ TCMD
0099 EO63FFEF622F;
OO9F OOAl; OOAl 00A3 O O A4 OOAB O OAA 0OAE 00B4 OOBB OQBA OOBD 00C3 0OC 5 00C5 00C7 00C9 OOCB OOCD 0ODl 0OD1 00D4 00D7 0ODA 0ODA OODE OODF OQEO OOEO
3072;
34Al;
EO;
62FF63E2;
6401;
79D30422;
7B79D326227A;
79D32622;
6405;
F803BD;
2D35C59D3ABD;
30Al;
35C5;
3DC7;
35C9
6401;
79D32622;
79D5P2; 79D522; 79D522;
79D32622; 6400 GHI D; BN2 *·-4
0091 SEX O; OUT 3,#FF; SEX F; OUT 2; DEC F
009? BR INPUT
0093
0094SCMD: Bl *
0095 SEX O
0096 OUT 2,#FF, OUT 3,# EP
0097 OUT 4, #01 -
0098 MARK; SEP 3, #04; DEC 2
0099 SEQ; MARK; SEP 3,#26, DEC 2, REQ
0100 MARK; SEP 3,#26; DEC 2
0101 OUT 4,# 05
0102 LDI#03;PHI D
0103 DEC D; B2 SCMD2
0104 BR SCMD
0105
0106SCMD2: B? afc
0107 BN2 *
0108 B2 *
0109 OUT 4,#01
0110 MARK; SEP 3, #"26; DEC 2 Olli
0112 MARK; SKP 5; DEC 2 03 13 MARK; SEP 5; DEC ?.
03 14 MARK; SEP 5; DEC 2
0316 MARK; SEP 3,^26; DEC 2
0118 OUT 4,#:00
0119 ..Nachbarschafts-LED ausschalten
0120 ..ausschalten d. LED f. ungülti-..ge Eingabe, Telemetrie deakti-..vieren
OOEO ; OOEO 3072 00E2 ; 00E2 34E2; 00E4 EO; 00E5 6401; 00E7 79D722;
0OEA 79DB081C;
OQEE 081822; 0OFl ; 0OFl 3B00; 00F3 79D622;
00F6 79D8P2; 00F9 79DB0814;
Tabelle 22
0122 BR INPUT
0124PCMD:
0125 SEX O
0126 OUT 4,
0127 MARKjSEP 7; DEC 2..Steuerregister ..abfragen
0128 MARK; SEP B,A<STCONT-3) ..Ver-..gleich der Temporär- und Kon-..trollregister Jm Stimulator auf
0129 ,A(STTEMP-3); DEC 2 ..Überein-
0130 ..Stimmung
0131 BNF START ..anderer Patient 0332 MARK; SEP 6; DEC 2 .«Aufruf der
..Unterroutine "LOAD:" 03 33 MARK; SEP 8; DFC 2 .. Aufruf" von
.."ITEMP:"
0134 MARK; SEP B,A(PRTEMP-3) ..Ver~ ..gleich der Temporär- und Kon-
3U0212
00FD 0818??; 0100 0B00E2; Ο10.Ί 79D9PP;
0106 79D722; 0109 79DB0814;
01OD 081C22; in 0310 CB00E2;
0113 E062FF63E3; 0118 6400;
03 IA ;
OHA
J
ΟΠΑ C00072;
15 03 IA E062FF63E4;
OHD E2;
03 22 79DD22;
0123 OFFAlO;
0126 C2OO82;
20 0329 OFFB15C2O?OO;
012C EF632F;
0332 0FFE333D;
0135 0FFC0A5F;
0139 0FFA0F5F;
03 3D FFOB;
25 0141 C30262;
0143 F804BD;
0146 F8CAAD;
0149 0F3256;
30 014C FF015F1D1D304C;
014F 4DBE0DAE;
0156 F808BD;
015 A F81FAD;
03 5D DE;
0160 5FEF ;
DC 0161 FD093B6D;
ib 0163 0FF9F05F;
0167 3071;
03 6B 0FFC065F;
016D 622F;
0171 E2F802BD;
0173
• .trollregister im Stimulator
..Übereinstimmung 0135 ,A(STTEMP-3);DEC 2 03 36 LBNF POMD
0137 MARK; SEP 9; DEC 2 ..Aufruf
.. der Unterroutine "ACTIVATE:"
0138 MARK; SEP7; DEC 2 ..Aufruf der ..Unterroutine 11ICONT"::1
0139 MARK; SEP B,A(PRTEMP-3) ..Ver-..gleich der Steuer- und Kon-
..trollregister auf Überein-..Stimmung 0340 ,A(STC0NT-3); DEC
0141 LBNF PCMD
0142 SEX 0; OUT 2,#FF;0UT 3#E3
0143 OUT 4,#00 .. Nachbarschafts ..LED ausschalten
0144 ..ausschalten des LED für un-..gültige Eingabe
0145 ..Telemetrie deaktivieren 0146
0147 LBR INPUT 0148FCMD: SEX 0; OUT 2 ^FF; OUT
0149 SEX 2
0150 MARK; SEP D; DEC 2 ..Aufruf der ..Tastaturunterroutine
03 51 LDN F; ANI^lO ..War es ein
..Befehl? 0152 LBZ INPUTl ..Sprung auf Ein-
..gang 1:, wenn ja 03 53 LDN F; XRI jf 15;LBZ ROMDMP
0154 SEX F; OUT 3;DEC F
0155 LDN F; SHL; BDF*+6
0156 LDN F; ADI //OAjSTR F
0157 LDN F; ANI ffOF;STR F
0158 SMI #0B
0159 LBDF NVALID ..Sprung, wenn un-..gültige Eingabe
0160 LDI A.l(BRTAB); PHI D..Initia-..lisierung des Pointer auf ..Sprungtabelle
0161 LDI A.O(BRTAB); PLO D 0162AGAIN3: LDN F; BZ *+9
0163 SMI^tOl; STR F; INC D; INC D; BR AGAIN3
0164 LDA D; PHI E; LDN D; PLO E
0165 LDI A.I (STCONT); PHI D
0166 LDI A.O(STCONT); PLO D
0167 SEP E
0168 STR F; SEX F
0169 SDI#09;BNF *+8
0170 LDN F; ORI#FO; STR F
0171 BR EXIT3
0172 LDN F; ADI^06;STR F 0173EXIT3: OUT 2; DEC F 03 74 SEX 2; LDI A.I(KEYBRD); PHl D
O C
• · a
s ο ö Q ί
10
0177 F874AD; 0175 Γ 0187 LDI A.0(KEYBRD); PLO D OUT SEX O; OUT 2, $FF
017A 79DD22; 0176 MARK ; SEP D; DEC 2 MARK 3,#E1; SEX 2
017D OFFAlO; 0177 LDN F; ΑΝΙΨΙΟ ; SEP D; DEC 2 ..Au
0180 C20082; 0178 LBZ INPUTl
0183 EF622F; 0179 SEX F; OUT 2; DEC F
0186 0FFE338E; 0180 LDN F; SHL; BDF *+6
018A 0FFC0A5F; 0181 LDN F; ADI fFOA; STR F
018E 0FFA0F5F; 0182 LDN F; ANI #0F; STR F
0192 F808BD; 0183 LDI A.l(PRTEMPF); PHI D
0195 F817AD; 0184 LDI A.O(PRTEMPF); PLO D
0198 DE; 0185 SEP E
0199 CO0072; 0186 LBR INPUT
Tabelle 23
019C;
019C E062FF; 0188TCMD:
01 9F 63E1E2; 0189
01A2 79DD22; 0190
I5 01A5 OFFAlO; 01A8 C20082;
01AB. EF632F; 01AE 0FFE3386; 01B2 0FFC0A5F; 01BA 0FFA0F5F; 20 01BA FFOB; OIBC C30262;
jf der
..Tastaturuntarroutinc "KEYBRD" ' LDN F; ΑΝΙΨΙΟ ..War es ein Be-..fehl?
LBZ INPUTl ..Sprung auf "INPUTl" ..wenn ja
OUT 3; DEC F
SHL; BDF * + 6
ANI #OA;STR F
0196 LDN F; ANI #"OF;STR F
0197 SMI^OB
LBDF NVALID ..Sprung, wenn un-..gültige Eingabe
0191 0192
0193 0194 0195
0198
SEX LDN LDN
F; F; F:
OIBF F804BD; 0199 LDI A.l(BRTAB); PHT D ..InItIo- #01; STR F; INC D; INC D; BR D; PHI E; LDN D; PLO E SEX F; OUT 2;. DEC F
. .1 i sie rung der; Pointer auf dio AGAIN2 A.I(PRTEMP); PHI D
01Π2 F8CAAD; 0200 LDI A. 0(BRTAB); PLO D ..f.prun^- LDA A.O(PRTEMP); PLO D
. . t ab e 111? LDI E
01C5 0F32DF; 0201 AGAIN2; LDN F; BZ *+9 LDI F; SEX F
01C8 FF015F1D1D30C5 ;O2O2 SMI SEP φθ9; BNF * + 8
STR F; ORI#FO; STR F
Ö1CF 4DBE0DAE; 0203 SDI EXIT2
01D3 F8O8BD; 0204 LDN F; ADI #06;STR F
01D6 F817AD; 0205 BR ?: 0UT2; DEC F; LBR INPUT
01D9 DE; 0206 LDN
01DA 5FEF; 0207 0212EXIT;
01 DC FD093BE6; 0208 0213
01E0 0FF9F05F; 0209 021^ PAGE
01E4 30EA; 0210 0215
01E6 0FFC065F; 0211 0216
01EA 622FD00072; O? 17
01EF 9 0218
01EF > O219ROMDMP: Bl *
01EF > 0220
01EF J
OPOO Λ
J
O? OO Ϊ
0200 3400
0202 EF622F;
15
0205 0206 Ο2θ3 02OC 0212 0216 0218 02lB 0221 0223 0223 0225 0Ρ.Ρ7 0229 022R 022F 022F 0232 0235 0238 0238 0230 023C. 023Ε 0240 0242 0244 0248 0248 024Β 024Ε 024Ε
EO;
6401;
79D30422
7B79D326227A;
79D32622;
6405;
F803BD;
2D35239D3A1B
3000;
3523; 3D25; 3527; 6401; 79D32622;
79D522; 79D522; 79D422;
79D32622;
6405; 3D3E; 3540; 6401; 79D32622;
79D422; 79D522;
79D32622;
0252 02 b 5 0255 0258 025Β 025Ε 0261 0262
0267 0269 0269 0269 0269
COOO72;
F802B0;
F862A0;
F802BD;
F874AD;
DO;
E062FF63FF;
6403;
E279DD22;
026D Ε06401; 0270 ; 0270 ; 0270 ; 0270 C00082; 0273 ;
0221 SEX
0222 OUT 4, $
0223 MARKjSEP 3,#04; DEC
0224 SEQ; MARK; SEP 3,^26; DEC 2; REQ
0225 MARK; SEP 3, #-26; DEC
0226 OUT 4, #05
0227 LDI #03; PHI D
0228 DEC D; B2 DMPl; GHI D; BNZ *-4
0229 BR ROMDMP 0230 023IDMPl: B2 * 0232 BN2 * 0223 B2 *
0234 OUT 4,#01
0235 MARK; SEP 3,#26;DEC 0236
0237 MARK; SEP 5; DEC
0238 MARK; SEP-5; DEC
0239 MARK; SEP 4; DEC 0240 0241 MARK; SEP 3,#26; DEC 0242
0243 OUT 4,#05
0244 BN2 *
0245 B2 *
0246 OUT 4,£01
0247 MARK; SEP 3,#26; DEC 0248
0249 MARK; SEP 4; DEC
0250 MARK; SEP 5; DEC 0251
0252 MARK; SEP3; DEC
Tabelle
0253 LBR INPUT 0254 0255.NVALl: LDI A.I(NVALID); PHI Q
0256 LDI A.O(NVALID); PLO
0257 LDI A.l(KEYBRD); PHI D
0258 LDI A.O(KEYBRD); PLO D
0259 SEP
026Q NVALID:. SEX O; OUT 3,#FF; OUT 3 ,^FF ..Anzeige löschen
0261 OUT A,f
0262 ..Nachbarschafts-LED anschalten;
0263 ..LED für ungültige Eingabe aus-
0264 ..schalten;Telemetrie deaktivie-
0265 JSEX 2; MARK; SEP D; DEC 2. .ren
.J. Auf ruf d. Tastaturunterroutine .."KEYBRD:"
0266 SEX O; OUT
0267 ..Nachbarschafts-LED anschalten;
0268 ..LED für ungültige Eingabe aus-
0269 ..schalten; Telemetrie deaktivie
0270 LBR INPUTl ..ren 0271
a β β
B Λ Ο O φ
ίο
15
20
25
0273 0273 0273 0273 0273 0273 0273 0273
0273 71;
0274 F2;
0275 F808-52; 0278 ;
0278 F03274 ; 02 7Β
027Β 6122; 027D EF69; 027F 3Α87; 0281 E2F0F652; 0285 3078;
0287 0287 0289 028Β 028Ε 0291 0294 0296 Ο29Α 029Ε Ο2.Α2 02 A4 02Α7 02Α9 02AC 02AF 02Β3 02Β7 02BR 02BE 02C0 02C4
F0F6;
33Α2;
F6339E;
F6339A;
F63396;
30DC;
F8F33OA4;
F8F230A4;
F8F130A4;
F8F0;
5F02F6;
33BB;
F633B7;
F633B3;
F804F45F;
F804F45F;
F804F45F;
F8F9F7;
33C4;
F816F45F;
O2C4 1F693AC5; 0?C8 F8FF5F; 02CB 0F32D3;
0273 .. ******** Tastaturunterroutine
0274 .."KEYBRD:" erzeugt einen Abtast--
0275 ..impuls, um jede Tastaturzeile
0276 ..zu multiplexen, dann erfolgt
0277 ..die Spalteneingabe, um festzu-0278...stellen, ob eine Taste gedruckt
0279 ..worden ist; wenn eine gedruckte ..Taste erkannt wird, wird fest-..gestellt, um welche Taste es ..sich handelt und diese dann im ..M(R(F)) in einem für die Aus-..gabe auf der LCD-Anzeigevorrich-..tung geeigneten Format abgespet-..chert
0280 DIS
028IKEYBRD: SEX 2
0282 LDI #08; STR 2 ..Konstante spei-
0283 ..ehern zur Abtastung der ober-..sten Zeile der Tastatur
0284MUX: LDX; BZ KEYBRD ..Sprung,
0285 ..wenn die Abtastung aller Zeilen ..beendet ist
0286 OUT 1; DEC 2..Abtasten der Zeilen Ο·287 SEX F; INP 1. . Spalteneingabe
0288 BNZ KYPRSD ..Sprung, wenn eine
0289 SEX 2; LDX; SHR; STR2 ..Taste ge-
0290 BR MUX ..drückt wurde jKonstante ..speichern für nächst niedrigere ..Zeile
O292KYPRSD: LDX; SHR
0293 BDF COLl
0294 SHR;BDF C0L2
0295 SHR; BDF C0L3
0296 SHR; BDF C0L4
0297 BR CMD
0298C0L4; LDI^FS; BR CONT O299COL3: LDI #F2; BR CONT 0300C0L2: . LDI#Fl; BR CONT 0301COL1: . LDI#F0 0302C0NT: STR F; LDN 2; SHR
0303 BDF ROWl
0304 SHR; BDF R0W2
0305 SHR; BDF R0W3 0306R0W4: LDI & 04; ADD; STR F 0307R0W3: LDI* 04; ADD; STR F 0308R0W2: LDI#04; ADD; STR F 0309R0W1: LDI4Γ F9; SM
0310 BDF EXITl
0311 LDI#16; ADD; STR F.„für die An-
0312 ..zeige in Dezimalzahlen umwan-..dein
O313EXIT1:
0314 LDI #FF; STR F
0315 LDN F; BZ
INC F; INP 1; BNZ *-l
10
15
20
*~· 25
30
35
• · ma*· · 4
3U0212
O2GE FF015F30CB; O2D3 693AC5; O2D6 2FE212;
0316 SMI #01 ; STR F; BR *-6
0317 INP 1; BNZ ΕΧΙΤ1+1
0318 DEC F; SEX 2; INC
Tabelle
O2D9 02DC 02E0 02E3 0PE6 02EB OPFO O?F5 OPFA OPFA 02FA 02FA 0300 0300 0300 0303 0303 0303 0303 0303 0303 0303
C00273
02F633EB;
F633F0;
F633F5;
F8E45F30C4;
F«E15F30C4;
F8EP5F30C4;
F8E35F30C4; 0319 LBR KEYBRD-I 0320CMD: LDN2; SHR; BDF TCMDl
0321 SHR; BDF SCMDl
0322 SHR; BDF PCMDl O323FCMD1:LDI#E4;STR F;BR EXITl
C00P55; 0324TCMD1:
O325SCMD3:
0326PCMD1:
0327 0328 0329 0330 PAGE 0331 0332 0333NVALX2:
LDI#E1; STR F; BR EXITl LDI #E2; STR F; BR EXITl LDI #Έ2; STR F; BR EXITl
LBR NVALl .-.Aussprung
0334 0335 0336 0337 0338 0339.
Seite zu NVALl:
..*********Die folgenden Unter-..routinen werden durch die 11F"-..und "T"-Befehle angesprungen ..um den derzeitigen Zustand der 0340 ..Stimulator-Kontrollregister ..oder der Temporär-Steuerregister ..zu bestimmen oder zu ändern.
0303 0DFAF0F6F6F6F6;0341 RATE; LDND; ANI #F0; SHR; SHR;
SHR; SHR;
0342 SEP
0343 LDN D; ANl/jbF; STR D
SHL; SHL; SHL; SHL STR D
030A DO;
030B 0DFA0F5D;
030F OFFEFEFEFE;
0314 EDF45D;
0317 DO;
0318
0318 2D2D2D0DFA07;
03IE DO;
031F 0FFFO833OO;
0324 2D2D2D0DFAF85D
032R 0FEDF45D;
032F DO;
0330 5
0330 ODFAOF;
0333 DO;
0334 0DFAF05DED;
0339 0FF45D;
033C DO;
033D »
03 3D PD0DF6F6;
0341 F6F6F6;
0344 DO;
0345 0FFF083300;
034A 2D0DFA1F5D;
034F OFFEFEFEFEFE;
0355 EDF45D;
ADD;
0344 LDN F;
0345 SEX D;
0346 SEP 0347
0348DUR: DEC D; DEC D; DEC D; LDN D; ANI #07
0349 SEP
0350 LDN F; SMI 08; BDF NVALX2 ;0351 DEC D;DEC D;LDN D; ANI#F8;STR D
0352 LDN F;SEX D; ADD; STR D
0353 SEP 0 · 0354 0355AMP: _LDN D; ANI #OF 0356 . SEP 0357 0358
ANI#FO; STR D; SEX D ADD; STR D
LDN D;
LDN F: 0359 SEP 0360 036ITON: DEC D; LDN D; SHR; SHR 036? SHR; SHR; SHR
0363 SEP
0364 LDN F; SMI #08; BDF NVALX2
0365 DEC D; LDN D; ANI #IF; STR D
0366 LDN F; SHL; SHL; SHL; SHL; SHL
0367 SEX D; ADD; STR D
0358 DO;
0359 ;
0359 2D0DFA1CF6F6;
035F 0360 0365 036Α 036D 0370 0371 0371 0371 0376 0377 037C 0381 0386
0387 0387 038Β 038C 0391 0396 039Α 039Β 039Β 03Α0 03Α4 03AA 03AR 03AB 03Β0 03Β5 03BB 03BF 03C 3 03C8 03CC 03CD 03CD 03D2 03D7 02DD 03DF 03DE 03Ε3 03Ε8 03EE 03F?
03P1F 0400 0400
DO; 0FFF083300; 2D0DFAE35D; OFFEFE; EDF45D; DO;
2DODFAO2F6; DO; OFFFO233OO; 2D0DFAFD5D; 0FFEEDF45D; DO;
2D0DFA01; DO; 0FFF023300; 2D0DFAFE5D; 0FFDF45D; DO;
2D2D0DFA22; FE7E7E7E; FC0FF6F6F6F6; DO;
0FFB023200; OFFF043300; 2D2D0DFADD5D; 0FF63BC3; 0DF9205D; 0FF6F63BCC; 0DF9025D; DO;
2D2D0DFA11; FE7E7E7E7E; FC0FF6F6F6F6; DO;
OFFBO232OO; OFFF043300; 2D2D0DFAEE5D; 0FF63BF6; ODF9 3OBD; OKFbKoHKF; 0DF9015D; DO;
2D2D0DFA88;
0368 SEP 0369
0370T0FF: SHR
0371 SEP
0372 LDN
0373 DEC
0374 LDN
0375 SEX
0376 SEP 0377 0378 0379MOPK:
0380 SF.P
0381 LDN
0382 DEC
0383 LDN
0384 SEP
DEC D; LDN D; ANI#IC; SHR;
F; SMI ^08; BDF NVALX2
D; LDN D; ANI^E3;STR D
F; SHL; SHL
D; ADD; STR D 0
DEC P; LDN D; ANT:/) OP ; Π11 Γι 0
F; SMl^O?; HDF NVAI.X? D; LDN D; ANT #FD; STH D F; SHL; SEX D; ADD; STR D 0
Tabelle 26
03
0386CASE: DEC D; LDN D; ANI #
0387 SEP
0388 LDN F; SMI#02; BDF NVALX2
0389 DEC D; LDN D; ANI#FE; STR D
0390 LDN F; SEX D; ADD; STR D
0391 SEP 0392 0393El: . DEC D; DEC D; LDN D; ANl/22
0394 SHL; RSHL;RSHL; RSHL
0395 ADI #0F; SHR; SHR; SHR; SHR
0396 SEP 0397
0398 LDN F; XRI #02; BZ NVALX2
0399 LDN F; SMI f04; BDF NVALX2
0400 DEC D; DEC D; LDN D; ANI#DD; STR D
0401 LDN F; SHR; BNF *+6
0402 LDN D J ORI #"2Ö; STR D
0403 LDN F; SHR;_i_SHR; BNF *+6
0404 LDN D; ORI #02; STR D
0405 SEP 0406 0407EF2: DEC D; DEC D; LDN D; ANIf11 Ο4Ο8 SHL; RSHL; RSHL; RSHL; RSHL
0409 ADI #0F; SHR;SHR;SHR;SHR
0410 SEP
0411 J^.
0412 LDN F; XRI^F02; BZ NVALX2
0413 LDN F; SMI* 04; BDF NVALX2
0414 DEC D; DEC D; LDN D; ANI#EE; STR D
0415 LDN F; SHR; BNF *+6
0416 LDN D; ORTf-IO; .STR Π (J417 LDN F; SHR: HIlR; HNK " u>
0418 LDN D; ORIiTOl; STR D
0419 SEP 0420 0421EF3: DEC D; DEC D; LDN D; ANt/88
10
15
FE7E;
FC0FF6F6F6F6;
DO;
0FFB023262;
0FFF043362;
2D2D0DFA775D;
0F0FF63B27;
0DF9805D;
0FF6F63B30;
0DF9085D;
DO;
2D2D0DFA44; FE7E7E; FC0FF6F6F6F6; DO;
a? GP; 0FFF04336:1 ; 2D2D0DFABB5D; 0FF63B58; 0DF9405D; 0FF6F63B61; 0DF9045D; DO;
C00255;
0405 0407 040D 040E 040E 0413 0418 041E 0423 0427 042C 0430 0431 0431 0436 0439 04 3 F 0440 044 t) 044 b 044A 0450 0454 0458 045D 0461 0462 0462 0465
0465 0465 0465 0465 0465 0465
0465 71;
0466 ; 0466 3466; 0468 ; 0468 ;
0468 E6;
0469 ; 0469 ; 0469 640]; 046B ; 046B ;
04 6B ; 046B 79D30422; 046F ; 046F ; 046F 7B79D326227A; 0475 ;
0422 SHL; RSHL
0423 ADI#OF; SHR; SHR; SHR; SHR
0424 SEP O 0425
XRI #02; BZ NVALX3 SMIf04; BDF NVALX3 DEC D; LDN D; ANI#77; LDN F; SHR; BNF *+6 0RI#80; STR D SHR; SHR; BNF *+6 " OR3#O8; STR D
0426 LDN F
0427 LDN F
0428 DEC D; DEC1D; LDN D; ANI#77; STR D
0429 LDN F
0430 LDN D
0431 LDN F
0432 LDN D
0433 SEP O 0434
043SE4: DEC D; DEC D; LDN D; ANPF44
RSHL SHR; SHR; SHR
0436 SHL; RSHL;
0437 ADI^OF;SHR
0438 SEP O 0439
0440 LDN 1 0441 LDN F;
XRI#o2; BZ NVAI.X3 SMI#04; BDF NVALX3
0442 DEC D; DEC D; LDN D; ANT^BB; STR D
0443 LDN F; SHR; BNF *+6
0444 LDN D; 0RI#40; STR D
SHR; SHR; BNF *+6 0RI#04; STR D
0445 LDN F
0446 LDN D
0447 SEP O 0448
0449NVALX3
LBR NVALl
0450 ..Aussprung aus Seite zu NVALl:
Tabelle 0451
0452 . .**-****Unterroutine "Laden"
0453 ..sendet den Impuls "REQUEST TO
0454 ..SEND" aus u. wartet, bis der
0455 ..Stimulator einen Impuls "CLEAR
0456 ..TO SEND" sendet, und dann sen-..det die Steuerung den Inhalt .. des Steuereinrichtungs-Tempo-..rärregisters
0457 DIS 0458
O459.LOAD: Bl * 0460 ..Warten auf Nachbarschaft 0461
0462 SEX 6
0463 ..für sofortige Ausgaben 0464
0465 OUT 4, #01
0466 ..Nachbarschafts-LED anschalten,
0467 ..LED für ungültige Eingabe aus-..schalten, Telemetrie deaktivie-
0468 .. ren
0469 MARK; SEP 3,#04; DEC
0470 ..50/Lsec vor "RTS"-Impuls ver-
0471 ..zögern ("RTS"=REQUEST TO SEND)
0472 SEQ; MARK; SEP 3,#26; DEC 2; REQ
0473 .."RTS"-Impuls erzeugen
0475 0475 0479 0479 0479 047B 047B 04 7B 047B 047 F 0484 0486 0486
10
25
30
79D32622
6405;
F803BD;
0474
0475 MARK; SEP 3^26; DEC 2
0476 ..500/Usec verzögern 0477
0478 OUT 4,#-0lS
0479 ..NachbarschafU;-LED anschalten;
0480 ..LED für ungültige Eingabe aus-
0481 ..schalten, Telemetrie aktivieren
0482 LDIf 03;PHI D
0486 3586; 0488 3D88;
04 8 A 048A
Ö48C 04 8 E 04 8 E 04 8 E
358A; 6401;
048E 79032622;
on 0492 0492
79D522; 0495 79D422; 790422; 79D34022;
0498 049B 049B
049F O49F
04A2 04A5
04A5 04A9 04AA 04AE 04AF
04B3 O4B4
04BB 04BF 04C6
F8O8BE;
F817AE; >
79D10822;
2E
79Dl0822;
2E *
79D10822;
2E;
2D35869D5A7E; 0483 DEC D; B2 LOADl; GHI D; BNZ *-4 3066; 0484 BR LOAD
; 0485 ..Verzögerung während des Testes
; 0486 ..für den "CTS"-Impuls ("CTS"=
..CLEAR TO SEND)
0487LOAD1: B2 *..Warten auf das Ende
..des ersten "CTS"-Impulses 0488 BN2 * ..Warten auf weiteren zwei -
..ten "CTS"-Impuls 0489
0490L0AD2: B2*..Warten auf das Endn
..des zweiten Tmpulsps 0491 OUT 4,#-01
049Γ . .Nachbarr.chnf tn-LEI) anr.chalt.fti;
0493 ..LED für ungültige Eingabe an-
0494 ..schalten, Telemetrie deaktivie-. .ren
0495 MARK; SEP 3^26; DEC 2 .. Verzö-..gerung vor Befehl
0497 MARK; SEP 5; DEC 2 ..Aufruf von .."SHORT:"&"LONG:"
0498 MARK; SEP 4; DEC2 ..(Senden des ..Lade-Befehls)
0499 MARK; SEP4; DEC2
0500
0501 MARK; SEP 3,#40; DEC 2 .. 800/sec
..verzögern
0502
0503 LDI A.l(PRTEMP); PHI E..Initiali-..sierung des Register-.
0504 LDI A.O(PRTEMP); PLO E ..Pointer«
0505 ..zum Temporäregister in der ..Steuereinrichtung
0506 MARK; SEP l,#08; DEC 2..4-maliges 0507DEC E ..Aufruf der Unterroutine "SEND:1
0508 MARK; SEP 1 ,#08;DEC2..zur Aussen-
0509 DEC E..dung des Inhaltes d. Tempo-
0510 MARK; SEP l,#08; DEC2..rärregi-..sters. Wiedereinstellung des ..XMIT-Pointers nach jedem Aufruf
0511 DEC E
OEFEFEFEFEFESE ;0512 LDN E; SHL; SHL; SHL;_ SHL; SHL;,
STR E ->
79D10322: 0513 MARK; SEP l,#03; DEC 2 0EF6F6F6F6F65E;0514 LDN E;SHR;SHR;SHR;SUR;STR E; E212; 0515 SEX 2; INC 2..Vorbereiten zum Re-
■»-s,-turn
3U0212
15
20
25
30
04C8 04CA O4CA 04CA 04CC 04CE O4DO 04D2 04D4 04D6 04D8 04DA 04DC 04DE 04E0 04E0 04E0 0500 0500 0500 0500 0500 0500
3065;
0303; 0330; 033D; 0359; 0371; 0387; 039B; 03DD; 0400; 0431; 0318;
0500 71;
0501 ; 0501 3401; 0503 ; 0503 ;
0503 E9;
0504 ; 0504 ; 0504 640]; 0506 ; 0506 ; 0506 ;
0506 79D30422; 050A ; 050A;
050A 7B79D326227A; 0510 ; 0510 ;
0510 79D32622; 0514 ; 0514 ; 0514 6405; ObIG ; 0516 ; 0516 ; 0516 F803BD;
0519 2D35219D3A19; 051F '3001 ; 0521 ; 0521 ; 0521 3521;
Tabelle 28 BR LOAD-I ,A(AMP)
0516 ,A(TON)
0517 ,A(TOFF)
0518 0519BRTAB: ,A(RATE) ,A(MODE)
0520 ,A(CASE)
0521 ,A(El)
0522 ,A(E2)
0523 ,A(E3)
0524 ,A(E4)
0525 ,A(DUR)
0526
0527
0528 PAGE
0529
0530
0531 ***-*-*****TJn+;e
0532
0533
0534
0535
Dutine " Activa-
0536 ..te:"sendet "RTS"-Impulse aus,
0537 ..wartet dann auf einen "CTS"-Im-
0538 ..puls vom Stimulator und sendet ..dann einen "Activate"-Befehl
0539 DIS
0540
0541ACTIVA: Bl *
0542 ..Warten auf Nachbarschaft 0543
0544 SEX 9
0545 ..für sofortige Ausgaben 0546
0547 OUT 4,#Ό3
0548..Nachbarschafts-LED anschalten; 0549..LED für ungültige Eingabe aus-0550..schalten, Telemetrie deaktivie-. . ren
0551 MARKjSEP 3,#04; DEC 2
0552 ..50/tsec Verzögerung vor "RTS"-
0553 ..Impuls
0554 SEQ; MARK; SEP 3,#26; DEC 2; REQ
0555 .."RTSH-Impuls erzeugen 0556
0557 MARK; SEP 3,#26; DEC 2
0558 .. 500Msec Verzögerung 0559
0560 OUT 4,1=05
0561 ..Nachbarschafts-LED einschalten,
0562 ..LED für ungültige Eingabe aus-
0563 ..schalten, Telemetrie aktivieren
0564 LDI#Ö3, PHI D
0565 DEC D; B2 ACTIVl; GHI D; BNZ *-4
0566 BR ACTIVA
0567 ..Verzögerung während des Testens
0568 ..des "CTS"-Impulses
0569 ACTIVl; B2 *..Warten auf das Ende
0523 3D23;
0525 ;
0525 3525;
0527 ;
0527 6401;
0529 ;
0529 ;
0529 ;
0529 79D32622; 052D ;
052D 79D522;
0530 79D422;
..des erston- "CTS"-Tmpulf.p·^ 0570 BN2 *. .Warten auf weiteren zwcil.cn
.."CTS"-Impuls 0571
0572ACTIVE?: B2 * ..Warten auf das En-
. .de des zweiten "CTS"-Impulses 0573
0574 OUT 4 ,#01
0575 ..Nachbarschafts-LED einschalten,
0576 ..LED für ungültige Eingabe aus-
0577 ..schalten, Telemetrie deaktivie-..ren
0578 MARK; SEP 3,126; DEC 2.. Verzöge-
0579 ..rung vor Befehl "CMND"
0580 MARK; SEP 5; DEC 2..Aufruf "SHORT:"
0581 MARK; SEP 4; DEC 2..&"L0NG:" um . ."Activate" zu senden
Tabelle 29
0533 79D5P2 0536 ; 0536 79D32622; O53A ; 053A E212;
053C 3000;
053E ; 053E;;
053E ;
053E ;
053E ;
053E ;
053E :
053E 71; 053F 343F; 0541 0541
0541 E8: 0542 0542
0542 6401; 0544 0544 0544 0544 79D30422; 0548 0548 0548 7B79D326227A; 054E 054E 054E 79D32622; 0552 0552 0552 6405; 058? MARK; SEP 5; DKC ? 0583
0584 MARK; SEP 3,#26; DEC 2 ..Verzö-
0585 ..gern 0,5 msec
0586 SEX 2; INC 2 ..Vorbereiten zum
..Return
0587 BR ACTIVA-I
0588
0589 ..*********Unterroutine "ITEMP:"
0590 ..sendet einen "RTS"-Impuls aus,
0591 ..wartet dann auf einen "CTS"-
0592 ..Impuls vom Stimulator, sendet
0593 ..dann Abfragebefehl an das Tem-
0594 ..porärregister ab, und speichert ..dann den Inhalt des Temporär-..registers des Stimulators im ..Speicher ab.
0595 DIS
0596ITEMP: Bl *
0597 ..Warten auf Nachbarschaft 0598
0599 SEX 8
0600 ..für sofortige Ausgaben 0601
0602 OUT 4
0603 ..Nachbarschafts-LED einschalten;
0604 ..LED für ungültige Eingabe aus-
0605 ..schalten, Telemetrie deaktivie-
0606 MARK; SEP 3,#04; DEC 2 ..ren
0607 ..50/Asec verzögern vor "RTS"-
0608 ..Impuls
0609 SEQ; MARK; SEP 3,#26; DEC 2; REQ
0610 .."RTS"-Impuls erzeugen 0611
0612 MARK; SEP 3,#26; DEC 2
0613 ..500yM.sec verzögern 0614
0615 OUT 4,#05
ΛΟΟ
3 UO
0554 0554 0554 0554 0557 055D 05 5 F 055F 055F
0561 0563 0563 0565 0565 0567 0567 0567 0567 056B 056B 056E 0571 0574
0Γ> 7 4 Ub 7 7 Ob7A
05 7 A 05 7 E 057E 057E 0580 0580 0580 C580
F8039D;
2D355F9D3A57
303F;
355F;
3D61;
3563;
6401;
79D32622;
79D422; 79D522; 79D422;
F808BE; KRlMAIi;
79D32622;
6405;
79DA22;
0583 0586 0589 058C 05 8 F Ub 9 Γ1 (Jb 9 b 0599 0599 059Β 059D 059D 05 9D 05 9D 059D 05 9 D
9F5E2E; 79DA22; 9F5E2E; 79ÜAPP· 9F5EPE:
79ΠΛ.'1
9 F KA 07 b F.;
E212;
303E;
0616 ..Nachbarschafts-LED anschalten,
0617 ..LED für ungültige Eingabe aus-
0618 ..schalten;Telemetrie aktivieren
0619 LDI #Ό3; PHI D
;0620 DEC D; B2 ITEMPl; GHI D; BNZ *-4
0621 BR ITEMP
0622 ..Verzögerung während des Testes
0623 ..des "CTS"-Impulses 0624ITEMP1: B2 * ..Warten auf das Ende
..des ersten "CTS"-Impulses
0625 BN2 * ..Warten auf weiteren zwei-
0626 ..ten "CTS"-Impuls
0627ITEMP2: B2 * ..Warten auf das Ende
0628 ..des zweiten "CTS"-Impulses
0629 OUT 4,#01
0630 ..Nachbarschafts-LED einschalten,
0631 ..LED für ungültige Eingabe aus-
0632 ..schalten; Telemetrie deaktivieren
0633 MARK; SEP 3 #26; DEC 2 ..Verzögern
0634 ..vor Befehl 11CMND".
0635 MARK; SEP 4; DEC 2 ..Aufruf von
0636 MARK;''SEP 5; DEC 2 .."Long:" und
0637 MARK; SEP 4; DEC 2 .."Short:" zur
0638 ..Aussendung eines Abfragebefehls ..für das Temporärregister
0639 LDI A. 1( STTEMP); PHT E..Tnitia-
0640 LDJ A. OC STTEMP); PLO E..lisierung
0641 ..des Speicherfeldes für das Tempo-..rärregister im Stimulator
0642 MARK; SEP 3,#26; DEC
0643 ..Verzögere 500/tsec 0644
0645 OUT 4,#05
0646 ..Nachbarschafts-LED einschalten,
0647 ..LED für ungültige Eingabe aus-
0648 ..schalten, Telemetrie aktivieren
0649 MARK; SEP A; DEC 2 ..Aufruf von .."Decode" 4x
Tabelle
0650 CiHl F; STR E; DEC E
0651 MARK; SEP A; DEC.2. .Zeiten zum Ein-
0652 GHI F; STR E; DEC E..lesen der
0653 MARK; SEP A; DEC 2..Temporärregi-
0654 GHI F; STR E; DEC E..ster im Sti-
0655 MARK; SEP A; DEC 2..mulator;Spei-
0656 GHI F; ANI#07;STR E..ehern von Da-
0657 ..ten über Register
0658 SEX 2; INC 2.,Vorbereiten zum Re-
0659 BR ITEMP-I ..turn 0660
0661 ..******Die Unterroutine "ICONT"
0662 ..sendet einen "RTS"-Impuls aus,
0663 ..wartet dann auf einen "CTS"-Im-
0664 ..puls, sendet dann einen "ICONT"-
0665 ..Register-Befehl und speichert
• »ο <· β *
9 O «Ββ
05 9D
O59D O59E 05A0 05 Λ Ο 05AO Ο5Α1 05Al 05Al Ο5Α3 05 A3 05Α3 05Α3 05Α7 05Α7 05Α7 05AD 05AD 05AD 05AD 05Bl 05Bl 05Β3 05 B 3 05Β3 05 B 3 05Β6 05BD 05BF 05BF 05BF
71; 349Ε;
Ε7;
6401
79D30422
7B79D326227A
79D32622 79D32622
6405;
0666 ..dann den Inhalt des Stimulator-
..Kontrollregisters im Speicher ab
0667 DIS
0668TNCONT: Bl *
0669 0670 0671 0672 0673 0674 0675 0676 0677 0678 0679 0680 0681 0682 0683 0684 0685 0686 0687 0688 0689 0690
.Warten auf Nachbarnrhaft.
SEX 7
. .fUr
sofortige Ausgaben
OUT 4,#01
..Nachbarschafts-LED anschalten, .,LED für ungültige Eingabe aus-..schalten; Telemetrie deaktivieren MARK; SEP 3,#04; DEC 2 ..50/tsec Verzögerung vor "RTS"-lrn-..puls
SEQ; MARK; SEP 3,#26; DEC 2; REQ .."RTS"-Impuls erzeugen
MARK; SEP 3,^2 6; DEC 2 ..500/Msec Verzögerung
OUT 4,#05
. .Nachbarschaf ts-LF.D eingehalten; ..LED für uri}',ü] t. i i\o F. i rigabe nu.·'.-..schalton; Telemetrie akU vl eren
05Cl 05C3 05C3 0505 05C5 05C7 05C7 05C7 05C7 05CB 05CR 05CE 05Dl 05D4 05D4 05D7 05DA 05DA
F803BD; 0691 LDI#03; PHI D
2D35BF9DCAO5B6;O692 DEC D; B2 ICONTl;GHI D; LBNZ *-4 309E;
j
35BF; 3DCl; 35C3;
6401;
79D32622;
79D422; 79D422; 79D522;
F808BE; F81FAE;
79D32622:
0693 BR ICONT
0694 ..Verzögern während des Testens
0695 ..des "CTS"-Impulses 0696INC0NT1: B2 *..Warten auf das Ende
..des ersten "CTS"-Impulses
0697 BN2 *..Warten auf weiteren zweiten
0698 .."CTS"-Impuls
0699INC0NT2:B2 *..Warten auf das Ende
0700 ..des zweiten "CTS"-Impulses
0701 OUT 4, 01
0702 ..Nachbarschafts-LED einschalten;
0703 ..LED für ungültige Eingabe aus-
0704 ..schalten; Telemetrie deaktivieren
0705 MARK; SEP 3,#26; DEC 2..Verzögern
0706 ..vor Befehl "CMND".
MARK; SEP 4; DEC 2..Aufruf "Short·,"
.&" LON(J ".um
05DE ; 05DE ;
0707
0708 MARK; SEP 4; DEC 2
0709 MARK; SEP 5; DEC 2..ICONT Register-
0710 ..Befehl auszusenden
0711 LDI A.l(STCONT); PHI E..Initiali-
0712 LDI A-O(STCONT); PLO E..sierung 0713..des Speicherfeldes für das Sti-0714 MARK; SEP 3,#26; DEC 2..mulator-
..Kontrollregister
Tabelle 31
0715
0716 . .Verzögerung 500/nsec
402
3HG212
O5DE 6405; 05E0 ; 05E0 ; 05E0 ; 05E0 79DA22; 05E3 9F5E2E; 05E6 79DA22; O5E9 9F5E2E;
05EC OhKF 05KP OM-1S1 CU.KiJ 05F9 05FB 05FD 05FD 05FD 05FD 0600 0600 0600 0600 0600 0601 0602 0606 0606 0607 060B 060B 060D 060F 060F 060F 060F 060F 060F
79DA22; 9F5K2E; 79ÜA2?; 9FFA075K;
E212; 309D;
71; 7B; 79D34C22;
7A; 79D39822;
E212; 3000;
71;
7?BD;
72AD; 0614 F808BE;
F814AE;
061A ; 061A 4D5E1E;
061T) 4D5E1E;
4D5E; E212;
0717 OUT 4,#05
0718 ..Nachbarschafts-LED einschalten;
0719 ..LED für ungültige Eingabe aus-
0720 ..schalten; Telemetrie aktivieren
0721 MARK; SEP A; DEC 2 ..4maliger Auf-
0722 GHI F; STR E; DEC E..ruf der Unter-
0723 MARK; SEP A; DEC 2 ..routine
0724 GHI F; STR E; DEC E.."Decode:" zum ..Einlesen des Kontrollregisters
0725 MARK; SEP A; DEC 2..im Stimulator
0726 GHI F; STR E; DEC E..Speichern von
0727 MARK; SEP A; DEC 2 ..Daten über
0728 GHI F; ANli'07; STR E..Register "OVPU
0730 SEX 2; INC 2..Vorbereiten zum Re-
0731 BR ICONT-I ..turn 0732
0733-0734
0735 PAGE 0736 0737
0738 .."SHORT:"-Unterroutine sendet ein
0739 ..Daten-Bit=O aus
0740 DIS " ·
0741SH0RT: SEQ..Einschalten des "IR"-
0742 MARK ;w SEP 3 ,"#4C; DEC 2 ..Impulses
0743 ..lmsec verzögern
0744 REQ ..Ausschalten des "IR"-Impulses
0745 MARK; SEP 3,#98; DEC
0746 ..2 msec verzögern
0747 SEX 2; INC 2..Vorbereiten zum Re-
0748 BR SHORT-I ..turn 0749
0750 ..********Unterroutine "Move:"be-
0751 ..wegt eine 4 Byte-Tabelle deren
0752 ..Adresse über Mitlauf-Parameter
0753 ..erzeugt wird. Die Tabelle wird
0754 DIS ..zur Steuer-Temporärregister-
..Tabelle geladen
0755M0VE: LDXA; PHI D..Inline Para-. .meter -> RD.
0756 LDXA; PLO D..Inline Parameter -^RD.0
0757 LDI A.l(PRTEMP); PHI E
..Neuinitialisierung als Pointer T
0758 LDI A.0(PRTEMP-3); PLO E
..Ende der Einstellung der Tempo-
0759 ..rärregister der Steuereinrichtung
0760 LDA D; STR E; INC E
..Bewege erstes Byte
0761 LDA D; STR E; INC E ..Bewege zwei tos Byte
07 6? LDA D; STR E_; INC E
..Bewege drittes Byte
0763 LDA D; STR E..Bewege viertes Byte
0764 SEX 2; INC 2 ..Vorbereitung zum ..Return ·
»0
I 0627 300F; 0765 BR MOVE-I . . InI ine Parame lev -··-> RD. 1 0782 LDI #80; SHL . .1->DF laden (Tabellen) ..Vorbereiten zur Wiederholung ..Initialisierung des Bit-Zählers ..stes Datenbit
0629 m-
J
0766 LDXA; PLO D ..Inline Parameter->HD.O 0783 BR MATCH-I ..Übereinstimmung) LD1#OO; SHL . . 0->DF( Tabell on LDI #00; PHI F MARK; SEP 3,9^72; DEC 2
0629 9 0767 ..**********Unterroutine "MATCH" LDXA; PHI E 0784N0MAC11: SEX ?; TNC P ..stimmen nicht überein) ..Löschen des Speicherfeldes für ..1,5 msec Verzögerung
0629 J 0768 ..vergleicht zwei 4-Byte-Tabellen, ..Inline Parameter->RE.1 BR MATCH-I ..das Eingabebyte
0629 ; 0769 ..deren Adressen über Inline-Para- LDXA; PLO E 0785 0796NXPULS: BN2 * ..Warten auf näch- GHI F; SHL..Vorbereiten des Ein-
0629 9 0770 ..meter erzeugt werden. ..Inline Parame ter-s=· RE . 0 . .********Un-terroutine "DECODE" ..gangs-Bit-Speicher-Feldes
5 . . (M i 11au f-P a ram ο t e r f ü r Üb e r p,ab ο ) SEX E 0786 ..liest 8 Daten-Bits vom Neural- 0797 B2 *+6..Ist Bit A=EINS?
0629 71; 0771 DIS LDA D; XOR; BNZ NOMACH ..Vergleich 0787 ..stimulator ein, kehrt dann zu 0798 ANI FE; BR *+6..Wein, BIb=O
062A 72BD; 0772MATCH: LDXA; PHT D.. IRX; LDA D; XOR; BNZ NOMACH ..Tabel- 0788 ..der aufrufenden Routine zurück, 0799 ORI 01; BR *+?..Ja, BiL=I
IRX; LDA D; XOR; BNZ NOMACh .,len 0789 ..wobei RF das Datenbyte enthält... 0800 PHI F; DEC F..Abspeicherung des
O6?C 72AD; 0773 IRX; LDA D; XOR: BNZ NOMACH ..Vor- 0790 DIS 0803 ..Bits in RF.1 und Dekrementie-
O6?E 72BE; 0774 ..bereitung für "Return" 0791 0793DECODE: LDI#08;PLO F 0802
SEX 2; INC 2 0803
10 0630 72AE; 0775 Tabelle 32 0792 0794 0804
0805
0632 EE; 0776 0795 0806
0633 4DF33A4D; 0777
0637 604DF33A4D; 0778
O63C 604DF33A4D; 0779
0641 604DF33A4D; 0780
15 0646 E212; 0781
0648 F880FE;
064B 3029;
OM D E21P;
20 064F F800FE;
0652 3029;
0654 9
0654 J
0654 9
0654 J
25 0654 β
5
0654 71;
0655 F808AF;
0658 F800BF;
30 065B J
065B 3D5B;
065D 79D37222;
0661
0661 ;
0661 9FFE;
35 0663 5
0663 3569;
0665 FAFE306D;
0669 F901306D;
066D BF2F;
066F *
,rung des Bitzählers
40 <t
1 066F 356F; 0807
0671 8F3A5B; 0808
0674 ι 0809
0674 t 0810
0674 E212; 0811
0676 3054; 0812
i 067 8 0813
0678 0814
0678 0815
0678
r
0816
0678 71 ; 0817
0679 OEBF; 0818 SEND:
067B 72AF; 0819
067D 9FFEBF; 0820 AGAIN
0680 3387; 0821
0682 79D422; 0822
0605 308C; 0823
0687 79D522; 0824
068A 308C; 0825
068C 2F8F3A7D; 0826
0690 0827
0690 I 0828
0690 E212; 0829
0692 3078; 0830
0694 0831
0694 0832
0694 0833
0694 0834
0694 71; 0835
0695 7B; 0836 LONG:
0696 79D39822; 0837
069A .; 0838
069A I 0839
O69A 7A; 0840
069B 79D34C22; 084.1
069F I 084.2
O69F I 0843
069F E212; 0844
06Al 3094 ; 0845
06A3 0846
06A3 » 0847
06A3 0848
B2 * ..Warte auf Ende des Bits GLO F; BNZ NXPULS ..Sprung zu ..NXPULS:, wenn der Bit-Zähler ..nicht "NULL" ist SEX 2; INC 2 ..Vorbereiten BR DECODE-I ..zum Return
. .*********Unterroutine "SEND" ..sendet das Byte aus, auf ..das durch RE gezeigt wird ..und kehrt dann zur aufru-• · fenden Routine zurück DIS
LDN E; PHI F..auszusendendes . .Byte -* RF.1
LDXA; PLO F..Inline Parameter . . -► Bit-Zähler
GHI F; SHL; PHI F..Vorberei-. . ten zum Aussenden des Bits BDF *+7 ..Ist das Bit eine MARK; SEP 4; DEC 2 ..Nein, ..sende aus "0"
BR * + 7
MARK;SEP 5;DEC 2..Ja,sende ..aus "1"
BR *+2
DEC F; GLO F; BNZ AGAIN:
..Dekrcmentiere Bit-Zähler ..und Sprung,
..wenn nicht NULL SEX 2; INC 2 ..Vorbereiten BR SEND-I ..zum Return
..••••«Unterroutine- "LONG" ..sendet ein Daten-Bit=l aus DIS
SEO..Einschalten des "IR"-Im-MARK; SEP 3,£98; DEC 2..pulses ..Verzögere 2 msec
REO ..Ausschalten des "IR"-. .Impulses
MARK; SEP 3,f4C; DEC 2 . · ..Verzögere 1 msec
SEX 2; INC 2 ..Vorbereiten BR LONG-I ..zum Return
..* ♦•"DELAY: "-Unter-,
..routine
31402Ί2
71; Tabelle 0849 33
06A3 72; 0850 DELAY: DIS
06A4 AD8D; 0851 LDXA
06A5 PLD D; GLO D. .Blindbefehi
2D8D8D8D; 0852 ..zur Verzögerung
06A7 3AA7; 0853 DEC D; GLO D; GLO D; GLO D
06AB E212; 0854 BNZ «-4 .. Schleife bis =0
06AD SEX ?; INC 2 .. Vorbereiten
30A3; 0855 ..zum Return
06AF t 0856 BR DELAY-I
06Bl t 0857
06Bl 0858
06Bl END
Diis mikroprozessorgesteuerte Neuralstimulatorimplantat, wie es oben beschrieben ist, optimiert die Flexibilität der Kontrolle über Stimulationsimpulsparameter sowohl fur den Hersteller wie auch für den anwendenden Arzt, während es die Anzahl der Bauteile wie auch den Stromverbrauch minimiert, wodurch eine lange Batterielebensdauer gegeben ist. Die Energieeinsparung wird dadurch durchgeführt, daß der schnelle Takt, der die Impulsbreite zeitlich steuert, deaktiviert wird, außer, wenn er für diese Funktion oder für das Takten des Mikroprozessors unbedingt notwendig ist. Die vollständig bidirektionale Kommunikationsfähigkeit des Implantates stellt zuverlässige Parametereingabe sicher und bietet eine Abfragemöglichkeit der Betriebparameter des Stimulators /.u beliebigen Zeltpunkten. Die einmalige Arbeltsteilung zwischen dem Mikroprozessor mit Festwertspeicher und den diskret aufgebauten Digitalzählern bietet ein Höchstmaß an Flexibilität und Effizienz. Die Betriebsart mit alternierender Polarität war früher als Stimulationsbetriebsart nicht verfügbar. In bestimmten Fällen weist sie physiologische Vorteile auf. Insbesondere wird angenommen, daß die elektro-chemischen Wirkungen auf das Gewebe in der Nähe der Elektrode durch den Polaritätswechsel bei ausgedehnter Therapiedauer verbessert wird.
Die Verwendung einer festeingestellten Parametertabelle für die Impulsgeschwindigkeit, die Impulsbreite, die Impulsamplitude und die EIN- und AUS-Zeitdauer bietet zusätzlich die Möglichkeit, die abgespeicherten Parametorwerte dadurch zu ändern, daß die Herstellungsmaske ohne Wirkung auf das Betriebssystem geändert wird.
Die oben beschriebene Schaltung kann in vieler Hinsicht geändert und modifiziert werden, ohne von dem Erfindungsgedanken abzuweichen. Beispielsweise hängt der Betrieb des Mikroprozessors nicht von einer festgelegten Datenübertragungsform ab. Impulsbreiten-Modulationen mit Infrarot-Übermittlung und magnetische Reflexsignaltelemetrie werden bevorzugt, andere Informationsaustausch-
ιοί-
möglichkeiten können selbstverständlich auch angewendet werden, wenn die Einrichtung entsprechend angepaßt int, um die Daten zu dekodieren. Der Mikroprozessor RCA CDP 1802 wird wegen seiner CMOS-Technologie bevorzugt, und deswegen, weil er eine Vielzahl von internen Registern aufweist. Nichtsdestoweniger können andere im Ilandol erhältliche Mikroprozessoren verwendet werden, und insbesondere können mit den zu erwartenden Technologiefortschritten neue Bauteile zweifellos noch besser geeignet.
sein. Neben dem internen Mikroprozessor kann externer' Schreib-Lese-Speicher zusätzlich angewendet werden, wenn dies nötig sein sollte. Der langsame und der schnelle Takt kann in verschiedener Art und Weise realisiert werden; die in Fig. 3 dargestellte Bauelementen-Anordnung mit RC-Schmitt-Träger-Oszillator werden jedoch besonders bevorzugt, da sie einen niedrigen Energieverbrauch aufweisen. Als Alternative kann es möglich sein, nur einen einzelnen Oszillator zu verwenden und nur den Teil des Oszillators zu wechselnder die Geschwindigkeit bestimmt. Dieser Aufbau kann jedoch auch als eine Konfiguration mit 2 getrennten Oszillatoren angesehen werden .
Die Erfindung hängt nicht von besonderen Einzelheiten der Steuerkonsole ab oder einem besonderen Befehl oder Datenformat, wie auch die abgespeicherten Prograrnminformationen geändert werden können, um die Erfordernisse eines beliebigen sinnvollen Formates zu erfüllen. Die Grundlagen der Erfindung sind nicht auf Neuralstimulatoren mit Mehrfachelektrodenanordnung beschränkt, sie sind anwendbar auf alle implantierbaren Stimulatoren, die elektrische Impulse an eine Stimulationselektrodfi anlegen. In der bevorzugten Ausführungsform werden zwar diskrete Bauteile für die Realisierung der Parameter-O-J Haltekreise und für die Impulserzougungsfunkt i onon verwendet, damit ist jedoch nicht die Möglichkeit au es p. erschlossen, diese Funktionen funktional identisch mit entsprechenden Anweiseeinrichtungen durch den Mikropro-
i'.essor nachbilden zu lassen, wobei auch ein zweiter Mikropru/'ci.s.sor fUr dio Tmpulserzeugunj;£5funkt".I on hinzugefügt, werden kann. In gewisser Hinsicht ist die Gesamteinrichtung nicht auf eine Verarbeitungseinrichtung mit digitaler Logik und voreingestellten Multi-Speichervorrichtungen beschränkt, vielmehr sind bestimmte Eigenschaften allgemein bei Stimulator-Implantaten anwendbar. Beispielsweise kann eine Hardware-Realisierung vorgesehen werden, insbesondere kann die Betriebsart mit alternierender Polarität oder die Impulserzeugungseinrichtung mit 2 Takten für die Energieeinsparung vollständig in Hardware implementiert werden.

Claims (1)

  1. Patentansprüche
    Implantierbarer Gewebestimulator, dadurch gekennzeichnet, daß mindestens eine Stimulationselektrode und
    eine Verarbeitungseinrichtung (Mlkroproaes&or-gpstützte Steuereinrichtung 18) mit digitaler Logik und mit einer voreingestellten Multi-Speichervorrichtung (ROM 52) vorgesehen ist, die eine Anweiseeinrichtung für die Funktionssteuerung und eine Verarbeitungssteuervorrichtung (Mikroprozessor 50) mit steuernden Ausgangsanschlüssen und mindestens einem Eingangsanschluß für eine Unterbrechungsanfrage des Funktionsablaufs für die Eingabe aus der voreingestellten Multi-Speichervorrichtung (ROM 52) und für die Ausführung des entsprechenden Funktionsablaufes aufweist, wobei die Multi-Speichervorrichtung (R(M 52) eine die Unterbrechungsanfrage unter vorbestimmten Bedingungen beantwortende Anweisoeinrichtung für den Funktionsablauf aufweist, wozu mit der Anweiseeinrichtung für den Funktionsablauf eine eine Impulssteuerung erzeugende Funktiomjfolge für die Unterbrechungsbedienung durchführbar ist,
    BÜRO 6370 OBERURSEL-LINDENSTRASSE 10 TEL. 06171/56349 TFXEX 4186343 real d
    BÜRO 6050 FREISING· SCHNEGGSTRASSE 3-5 TEL. 08161/62091 TELEX 526S47 pawa d
    ZWEIGBÜRO 8390 PASSAU LUDWIGSTRASSE 2 TEL. 0851/36616
    -TELEGRAMMADRESSE PA'.v,\MUC - POST' ECK MÜNCHEN 1360 52-802 · — TELECOPY: 08161/620% (CRüui U - automat.) —
    daß eine Impuls-Zeitsteuervorrichtung (Impulsgenerator 22) zur Erzeugung eines Ausgangssignales für eine Unterbrechungsanfrage in vorbestimmten Zeitabständen, die den Zeitpunkt für den Beginn eines Stimulations-Ausgangsimpulses festlegen, vorgesehen ist, und
    daß zur Anlegung eines Stimulationsimpulses an die Stimulationselektrode eine Impulserzeugungseinrichtung vorgesehen ist, mit der Impulse in Abhängigkeit von der Impulssteuerung erzeugbar sind.
    2. Gewebestimulator nach Anspruch 1, dadurch gekennzeichnet, daß die Multi-Speichervorrichtung (ROM 52) eine Anweiseeinrichtung für den Funktionsablauf aufweist, mittels der die Verarbeitungssteuervorrichtung (Mikroprozessor 50) eine Funktionsfolge zur zeit-• liehen Steuerung eines voreingestellten EIN/AUS-Zyklus erzeugen kann und mittels der die Unterbrechungsfähigkeit der Verarbeitungssteuervorrichtung (Mikroprozessor 50) während der AUS-Periode des Zyklus verhinderbar ist.
    3. Oewebestimulator nach Anspruch 2, dadurch gekennzeichnet, daß in der Multi-Speichervorrichtung (ROM 52) eine Anweiseeinrichtung für den Funktionsablauf vorgesehen ist, mittels der die Verarbeitungssteuervorrichtung (Mikroprozessor 50) ein Steuersignal zur Verminderung der Geschwindigkeit der Impuls-Zeitsteuervorrichtung (Impulsgenerator 22) während des AUS-Zeitabschnittes des Zyklus erzeugt, und daß die Impuls-Zeitsteuervorrichtung (Impulsgenerator 22) von der Verarbeitungssteuervorrichtung (Mikroprozessor 50) mittels des Steuersignales steuerbar ist.
    Δ. Clnwebes timulator nach Anspruch 1, dadurch gekennzeichnet, daß die Impuls-Zeitsteuervorrichtung
    (Impulsgenerator 22) und die Impulserzeugungseinrichtung sich außerhalb der Verarbeitungseinrichtung (Mikroprozessor-gestützte Steuereinrichtung 18) mit digitaler Logik befinden.
    5. Gewebestimulator nach Anspruch 1, dadurch gekennzeichnet, daß ein Langsamtakt-Generator (54) und ein Schnelltakt-Generator (56) vorgesehen sind, daß. die Impuls-Zeitsteuervorrichtung (Impulsgenerator 22) und die Impulserzeugungseinrichtung eine erste und eine zweite voreinstellbare Rückwärtszähl-Vorrichtung (72 bzw. 82) aufweisen, die jeweils ein das-FJrrc Lchc»n des Wertes "Null" beim Herunterzählen von einem voreingestellten Datenwort aus anzeigendes Zeitablauf-Ausgangssignal erzeugen, und die je einen Voreinstellungs-Eingangsanschluß und einen Takt-Eingangsanschluß aufweisen, wobei die Takt-Eingangsanschlüsse der beiden Zählvorrichtungen (72, 82) je mit dem Langsamtakt-Generator (54) bzw. dem Schnelltakt-Generator (56) verbunden sind und der Zeitablauf-Ausgangsanschluß der ersten Zählvorrichtung (72) nut einem Eingangsanschluß für die Unterbrechungsanfrage verbunden ist,
    daß eine Aktivierungsvorrichtung fUr den schnell on Takt für den erneuten Start der ersten Zählvorrichtung (72) entsprechend dem Zeitablauf-Ausgangssignal der ersten Zählvorrichtung (72) vorgesehen ist, und daß die Impulserzeugungseinrichtung eine logische Start/Stop-Vorrichtung für den Stimulationsausgangsimpuls aufweist, mit der entsprechend der Impulssteuerung durch Aktivierung der zweiten Rückwärtszählvorrichtung (82) die Stimulation gestartet wird, und in Abhängigkeit von dem Zeitablauf-Ausgangssignal der zweiten Zählvorrichtung (82) beendet wird.
    6. Gewebestimulator nach Anspruch 5, dadurch gekennzeichnet, daß die Multi -Spei chervorr ich Luri}> (HOM Ί,'1)
    eine Anweiseeinrichtung für den Funktionsablauf aufweist, mittels der durch die ■Verarbeitungssteuervorrichtung (Mikroprozessor 50) eine Funktionsfolge für die Steuerung der EIN/AUS-Zykluszeit durchführbar ist, und mittels der die Unterbrechungsfähigkeit der Verarbeitungssteuervorrichtung (Mikroprozessor 50) während der AUS-Periode des Zyklus verhinderbar ist.
    7. Gewebostimulator nach Anspruch 5, dadurch gekennzeichnet, daß die Verarbeitungssteuervorrichtung (Mikroprozessor 50) eine variabel voreinstellbare Speichervorrichtung für die Geschwindigkeitssteuerung (Geschwindigkeits-Haltekreis 70) aufweist, und daß die Multi-Speichervorrichtung (ROM 52) eine Anweiseeinrichtung für den Funktionsablauf aufweist, mittels der durch die Verarbeitungssteuervorrichtung (Mikroprozessor 50) ein entsprechendes Geschwindigkeitssignal an den Eingangsanschluß für die Voreinstellung der ersten Zählvorrichtung (72) anlegbar ist.
    8. Gewebestimulator nach Anspruch 7, dadurch gekennzeichnet, daß die Multi-Speichervorrichtung (ROM 52) eine Anweiseeinrichtung für den Funktionsablauf aufweist, mittels der durch die Verarbeitungssteuervorrichtung (Mikroprozessor 50) eine Funktionsfolge für die Steuerung der EIN/AUS-Zykluszeit durchführbar und die Unterbrechungsfähigkeit der Verarbeitungssteuervorrichtung (Mikroprozessor 50) verhinderbar ist, und ein Datenwert entsprechend einer voreingestellten Minimalgeschwindigkeit an den Eingangsanschluß für die Voreinstellung der ersten Zählvorrichtung (72) während der AUS-Periode des Zyklus anlegbar ist, und mittels der der Eingangsanschluß für die Voreinstellung der ersten Zählvorrichtung (72) auf eine variable Steuerungsgeschwindigkeit neu einstellbar und die Unterbrechungsfähigkeit während der EIN-Periode des Zyklus wiederherstellbar ist.
    9. Gewebestimulator nach Anspruch 5, dadurch gekennzeichnet, daß die Verarbeitungssteuervorrichtung (Mikroprozessor 50) einen Eingangsanschluß für den Takt aufweist, und daß eine Verbindungsvorrichtung mit einer Logik zur Verbindung des Takteingangsanschlusses der Verarbeitungsvorrichtung (Mikroprozessor 50) mit der Erzeugungsvorrichtung für den schnellen Takt (56) bei aktiviertem schnellen Takt» und zur Verbindung mit der Erzeugungsvorrichtung für den langsamen Takt (54) bei nicht aktiviertem schnellen Takt vorgesehen ist.
    10. Gewebestimulator nach Anspruch 8, dadurch gekennzeichnet, daß die Frequenz des Signales an dem Takteingangsanschluß die Länge einer Periode eines Maschinenzyklus der Verarbeitungssteuervorrichbung (Mikroprozessor 52) bestimmt, daß die Funktionsfolge für die Steuerung der EIN/AUS-Zykluszeit eine Anweiseeinrichtung für den Funktionsablauf zur Erzeugung und zur Abspeicherung eines ETN-Datenwertr;n air. Funktion sowohl der Dauer det; ei η go η te 11 ten F. TN-Xc i L-abschnittes als auch der variablen eingestellten Geschwindigkeit aufweist, und daß eine Inkrementiervorrichtung zur Erhöhung des Datenwertes bei einer Anzahl von jeweils N Maschinenzyklen, wobei N ganzzahlig ist, vorgesehen ist, bis der Datenwert durch seine Inkrementierung einen vorbestimmten Pegel erreicht hat, wodurch die EIN-Periode des Zyklus zeitlich gesteuert wird, und der EIN-Datenwert so be- stimmt werden kann, daß mit ihm die Kompensation der geschwindigkeitsvariablen Frequenz der Maschinenzyklen im Schnelltakt möglich ist.
    11. Gewebestimulator nach Anspruch 10, dadurch gekerinzeichnet, daß die Einrichtung für die Steuerung EIN/AUS-Zykluszeit eine Abspeichervorrichtung für die Abspeicherung eines AUS-Datonwc;rtcu·. auf wo i :·; ι , der eine Funktion eines voretngcateilten AUS-Zc i LmLi-
    schnittes und der voreingestellten Minimalgeschwindigkeit ist, und daß eine Inkrementiervorrichtung für den AUS-Datenwert jeweils bei N Maschinenzyklen, wobei N ganzzahlig ist, vorgesehen ist, bis der Datenwert mit seiner Inkrementierung einen vorbestimmten Pegel erreicht, wodurch der AUS-Zeitabschnitt des Zyklus zeitlich gesteuert wird, während welchem die Erzeugungsvorrichtung für den schnellen Takt (56) mit regelmäßigen Periodizitätsintervallen aktiviert wird.
    12. Gewebestimulator nach Anspruch 1, dadurch gekennzeichnet, daß weiterhin eine Mehrzahl von Haltekreisvorrichtungen für variable Ausgangsimpulsparameter (20)
    '^ vorgesehen sind, mit welchen die Parameter der Ausgangsimpulse aus der.Impulserzeugungseinrichtung bestimmbar sind, und welche je eine auf den steuernden Ausgangsanschluß der Verarbeitungssteuervorrichtung (Mikroprozessor 50) ansprechende Ausgangssteuerein-υ richtung zur Erzeugung einer vorgegebenen Gruppenanordnung von bestimmten Impulsparametern aufweisen, und daß die Multi-Speichervorrichtung (ROM 52) eine' Anweiseeinrichtung für den Funktionsablauf aufweist, mittels der durch die Verarbeitungssteuervorrichtung (Mikroprozessor 50) ein steuernder Ausgangsdatenwert entsprechend den Impulsparametern erzeugbar ist.
    13. Gewebestimulator nach Anspruch 12, dadurch gekennzeichnet, daß die Verarbeitungssteuervorrichtung
    (Mikroprozessor 50) eine Mehrzahl von Impulsparameter-Registern und einen externen Eingangsanschluß zum Empfang von extern erzeugten Datenwerten über Impulsparameter aufweist, daß die Multi-Speichervorrichtung (ROM 52) eine Anweiseeinrichtung für einen Funktions-
    ablauf aufweist, mittels der durch die Verarbeitungssteuervorrichtung (Mikroprozessor 50) externe Datenwerte umwandelbar sind und die entsprechenden Datenwerte in den Impulsparameter-Registern abspeicherbar
    ·· β» · O · α β »ο ο οο is? I 8V U ίέι I ^C
    ' sind, und daß eine Übertragungsvorrichtung zur Übertragung der Datenwerte aus den Impulsparameter-Registern in die Haltekreise für die Impulsparameter (20) vorgesehen ist.
    5
    14. Gewebestimulator nach Anspruch 13, dadurch gekennzeichnet, daß die Verarbeitungssteuervorrichtung (Mikroprozessor 50) eine Datensammelschiene (24) aufweist, mit der die Haltekreise für die Impulsparameter (20) verbunden sind, daß die Multi-Speichervorrichtung (ROM 52) eine Anweiseeinrichtung fUr den Funktionsablauf aufweist, mittels der durch die Vorarbeitungssteuervorrichtung (Mikroprozessor 50) eine Ausgangssteuerung zur Identifikation der Parameterart
    '5 erzeugbar und zugleich ein Parameterausgangswert auf die Datensammelschiene (24,) anlcgbar ist, und daß die Haltekreise für die Impulsparameter (20) den jeweiligen Parametern entsprechende Ausgangsdatenwerte in Abhängigkeit von Steuerungsdatenwerten zur Identifi-
    ^ kation der entsprechenden Parameterart aufweisen.
    15. Gewebestimulator nach Anspruch 13, dadurch gekennzeichnet, daß die Multi-Speichervorrichtung (ROM 52) mit einer einer Mehrzahl von voroingostollt.cn .IrripuJs-
    ^ parametertabellen entsprechenden Gliederung und mil einer Anweiseeinrichtung für den Kunk I. i on.v.ab! auf versehen ist, mittels der durch die Verarbo j tungssteurrvorrichtung (Mikroprozessor 52) aus den Parametertabellen extern übermittelten Datenwerten enl,-
    sprechende Speicherwerte ermittelbar sind, und daß die Übertragungsvorrichtung den aus der Parametertabelle erhaltenen Datenwert an die Haltekreisvorricntungen für die Impulsparameter (20) anlegt.
    16. Gewebestimulator nach Anspruch 15, dadurch gekannzeichnet, daß die Multi-Speichervorrichtunp, (ROM 5Γ1) eine Anwoltieeinrichtung für den Funk t. i on.-sab'l au Γ ;iu!'~ weist, mittels der durch die VerarbeitunRssteuorvor-
    richtung (Mikroprozessor 50) eine Funktionsfolge für die Zeitsteuerung für einen externen voreingestellten EIN/AUS-Zyklus durchführbar ist und mittels der die Unterbrechungsfähigkeit der Verarbeitungssteuervorrichtung (Mikroprozessor 50) während der AUS-Periode des Zyklus verhinderbar ist, daß die Verarbeitungssteuervorrichtung (Mikroprozessor 50) weiterhin ein EIN-Register und ein AUS-Register aufweist, daß die Multi-Speichervorrichtung (ROM 52) mit ihrer Parametertabelle eine Mehrzahl von AUS-Datenwerten und eine Mehrzahl von EIN-Datenwerten aufweist, und daß die Multi-Speichervorrichtung (ROM 52) weiterhin eine Anweiseeinrichtung für den Funktionsablauf aufweist, mittels der durch die Verarbeitungssteuervorrichtung (Mikroprozessor 50) ein EIN-Datenwert und ein AUS-Datenwert aus der abgespeicherten Tabelle externen Datenwerten entsprechend ermittelbar ist und der EIN-Datenwert bzw. der AUS-Datenwert in das EIN-Register bzw. in das AUS-Register ladbar ist.
    17. Gewebestimulator nach Anspruch 16, dadurch gekennzeichnet, daß die Verarbeitungssteuervorrichtung (Mikroprozessor 50) ein Zyklus-Register aufweist, und daß die Multi-Speichervorrichtung (ROM 52) weiterhin oine Anwärmeinrichtung für den Funkfcionsablauf aufweist, mittels der gegen Ende des AUS-Zyklus mit der Verarbeitungssteuervorrichtung (Mikroprozessor 50) der EIN-Datenwert in das Zyklus-Register ladbar ist und mittels der das Zyklus-Zählregister zu regelmäßig aufeinanderfolgenden Zeitabständen inkrementierbar ist, bis der Zählerstandswert in dem Zykluszählregister das Ende des EIN-Zyklus anzeigt, und mittels der die Unterbrechungsfähigkeit der Verarbeitungssteuervorrichtung (Mikroprozessor 50) verhinderbar ist und der AUS-Datenwert in den Zykluszähler ladbar und zu regelmäßig aufeinanderfolgenden Zeitpunkten dekrementierbar ist, bis der Datenwert in dem Zykluszähler das Ende des AUS-Zyklus anzeigt, und mittels
    β θ Λ O O «Ο OO ο
    • ο ο a « e> ΐ> οβ
    β βοΑοο Oo © α ο ο
    O 9 O O O O O σ
    der die Unterbrechungsfähigkeit der Verarbeitungssteuervorrichtung (Mikroprozessor 50) wi edorherr. Io L1-bar ist und der Zyklus wiederholbar ist.
    18. Gewebestimulator nach Anspruch 1, dadurch gekennzeichnet, daß eine Steuereinrichtung (26, 28) zum Anschluß der Stimulationselektrode vorgesehen ist, welche zwischen der Impulserzeugungsvorrichtung und der Stimulationselektrode angeordnet ist, und
    daß eine Haltekreisvorrichtung (96) für den Elektrodenanschluß zur Schaltung der Stimulationselektrode entweder als Anode oder als Kathode vorgesehen int, wobei die Haltekreisvorrichtung für don tflcktrodonanschluß (96) von einem entsprechend steuernden Au:;-gangsdatenwert der Verarbeitungssteuervorrichtung (Mikroprozessor 50) steuerbar ist.
    19. Gewebestimulator nach Anspruch 18, dadurch gekenn-
    zeichnet, daß die Multi-Speichervorrichtung (ROM 52) mit ihrer Funktionsfolge für die Unterbrechungsbedienung eine Anweiseeinrichtung für den Funktionrsablauf aufweist, mittels der durch die Haltekreisvorrichtung für den Elektrodenanschluß (96) die Neu-
    einstellung der Elektrodenverbindung vor jedem Ausgangsimpuls anzeigbar ist.
    20. Gewebestimulator nach Anspruch 19, dadurch gekennzeichnet, daß die Haltekreisvorrichtung für den 30
    Elektrodenanschluß (96) auf die Impulssteuerung anspricht.
    21» Gewebestimulator nach Anspruch 19, dadurch gekennzeichnet s daß die Verarbeitungssteuervorrichtung (Mikroprozessor 50) ein "Elektrode 1"-Register und ein "Elektrode 2"-Register aufweist, mit welchen der Verbindungszustand der Elektroden bei entsprechend alternierenden Ausgangsimpulsen speicherbar ist, und
    daß die Funktionsfolge für die Unterbrechungsbedienung in der Multi-Speichervorriehtung (ROM 52) eine Anweiseeinrichtung für den Funktionsablauf aufweist, mit der die Haltekreisvorrichtung für den Elektroden-
    anschluß in Übereinstimmung mit dem Inhalt des "Elektrode !"-Registers bzw. des "Elektrode 2"-Registers bei jeweils alternierenden Stimulationsausgangsimpulsen anzeigbar ist.
    22. Gewebestimulator nach Anspruch 21, dadurch gekennzeichnet, daß eine Mehrzahl von Stimulationselektroden vorgesehen ist, deren Verbindungszustand bei alternierenden Ausgangsimpulsen mittels des Inhaltes des "Elektrode !"-Registers bzw. des "Elektrode 2"-Registers angezeigt wird, und daß eine Mehrzahl von Steuereinrichtungen für die Elektrodenverbindungs- und Haltekreisvorrichtungen für den Elektrodenanschluß (96) vorgesehen sind, die je den Stimulationselcktrodcn zugeordnet sind und die entsprechend dem
    Inhalt der Elektrodenregister betätigbar sind.
    23. Gewebestimulator nach Anspruch 22, dadurch gekennzeichnet, daß ein metallisches Gehäuse mit einer der Steuereinrichtungen für den Elektrodenanschluß verbunden ist und damit als zusätzliche Stimulationselektrode dient.
    24. Gewebestimulator nach Anspruch 23, dadurch gekennzeichnet, daß die Verarbeitungssteuervorrichtung (Mikroprozessor 50) ein "Gehäuse 1"-Register und ein "Gehäuse 2"-Register aufweist, daß der Inhalt dieser Gehäuse-Register dem Verbindungszustand des Gehäuses jeweils bei alternierenden Stimulationsausgangsimpulsen entspricht, und daß die Multi-Speichervorrichtung (ROM 52) eine Funktionsfolge für die Unterbrechungsbedienung mit einer Anweiseeinrichtung für den Funktionsablauf aufweist, mittels der durch die Verarbeitungssteuervorrichtung (Mikroprozessor 50) eine
    9 OO OO O
    OOti OO Q
    » ·ύ α α ο ο
    β© β Ö#> O-Q ο ο ο
    ■j Gehäuse-Haltekreisvorrichtung entsprechend dem Inhalt des "Gehäuse !"-Registers bzw. des "Gehäuse 2"-Registers unmittelbar vor dem jeweiligen Wechsel der entsprechenden Stimulationsausgangsimpulse steuerbar 1st.
    25. Implantierbarer Gewebestimulator, grkcnnf.c i chnc t. durch
    eine Stimulationselektrode,
    durch eine Impulserzeugungseinrichtung zur Erzeugung ■jQ von Impulsen in vorbestimmten Zeitabständen,
    durch eine Einrichtung zum Anlegen der Impulse an die Stimulationselektrode, und
    durch eine Verbindungsvorrichtung zur alternierenden Verbindung der Stimulationselektrode als Anode und als Kathode bei alternierend aufeinanderfolgenden. Impulsen.
    26. Irnplantierbarer Gewebes tlmulat.ur, tfoketirr/o 1c.hnc L durch eine Mehrzahl von Stimulationsolßktroden,
    durch eine Mehrzahl von Impulserzeugungseinrichtungen zur Erzeugung von Impulsen in vorbestimmten Zeitabständen,
    durch eine Einrichtung zum Anlegen der Impulse an die Stimulationselektrode, und durch eine Bestimmungseinrichtung zur Bestimmung des Verbindungszustandes joder der Stimulationselektroden unabhängig von den anderen Stimualtionselektroden als nicht verbunden, verbunden als Anode oder verbunden als Kathode - zum Wechsel des Verbindungszustandes der befcroffondon Stimulationselektrode bei aufeinanderfolgenden alternierenden Impulsen.
    27. Gewebestimulator nach Anspruch 26, dadurch gekennzeichnet, daß in einem metallischen Gehäuse die Im-
    pulserzeugungseinrichtung und die Bestimmungseinrichtung für den Elektrodenanschluß angeordnet ist, und daß eine der Stimulationselektroden das Gehäuse bildet.
    28. Gewebestimulator nach Anspruch 26, dadurch gekennzeichnet, daß eine Registervorrichtung zur Abspeicherung von dem gewünschten Verbindungszustand der Stimulationselektrode bei alternierenden Impulsen entsprechenden Datenwerten vorgesehen ist, und daß die Bestimmungseinrichtung für die alternierende Verbindung der Stimulationselektroden auf den Inhalt der Registervorrichtung anspricht.
    1529. Gewebestimulator nach Anspruch 28, dadurch gekennzeichnet, daß eine Änderungsvorrichtung vorgesehen ist, mit welcher der Inhalt der Registervorrichtung entsprechend extern erzeugten Datenwerten änderbar ist.
    30. Implantierbarer Gewebestimulator, gekennzeichnet durch mindestens eine Stimulationselektrode,
    durch einen Langsamtakt-Generator (5-4), 25
    durch einen Schnelltakt-Generator (56),
    durch erste und zweite voreinstellbare Rückwärtszähl-Vorrichtungen (72, 82)j mit denen je ein Zeitablauf-
    signal erzeugbar ist, das dem Herunterzählen auf "Null" von einem momentanen Datenwert aus entspricht, und die je einen voreinstellbaren Eingangsanschluß und einen Taktanschluß aufweisen, wobei die Taktanschlüsse der beiden Zählvorrichtungen (72, 82) mit dem Langsamtakt-Generator (54) bzw. dem Schnelltakt-Generator (56) verbunden sind,
    durch eine Aktivierungsvorrichtung (58, 60) für den
    » β« ο ac ac*
    • · β β Ο f> ο D ο
    00 · 0 O fc Oo
    ο e θ 9 C ο ο ο β ς> β
    » ο ο ο ο ο λ
    ' OO «a« «ο ο ο
    ο ο ο
    ^ sdinellen Takt, mit welcher in Abhängigkeit von dem Zeitablaufsignal der ersten Zählvorrichtung (72) der schnelle Takt eingeschaltet wird,
    durch eine Logikvorrichtung (86) fur den Start dos Ausgangsimpulses, mittels der der Ausgangsimpuls in Abhängigkeit von dem Zeitablaufsignal der ersten Zählvorrichtung (72) startbar und mittels der der Ausgangsimpuls in Abhängigkeit von dem ZeitablaufsLgnal dor '^ zweiten Zählvorrichtung (82) beendbar ist, und
    durch eine Einrichtung für das Anlegen eines Stimulationsausgangsimpulses entsprechend dem Ausgangsimpuls der Logikvorrichtung (86) an die Stimulations-'^ elektrode.
    31. Gewebestimulator nach Anspruch 30, dadurch gekennzeichnet, daß die erste und die zweite Zählvorrichtung (72, 82) je einen voreinstellbaren Aktivie-
    rungseingangsanschluß aufweisen, wobei der Aktivierungseingangsanschluß der ersten Zählvorrichtung (72) auf das Zeitablaufsignal der ersten Zählvorrichtung (72) für den Neustart der ersten Zählvorrichtung (72) anspricht, und der Aktivierungseingangsanschluß der
    zweiten Zählvorrichtung (82) auf das Ausgangssignal der Logikvorrichtung (86) anspricht, und daß der Schnelltakt-Generator (56) im Anschluß an das Auftreten des Ausgangssignales der Logikvorrichtung (86) deaktivierbar ist.
    32. Gewebestimulator nach Anspruch 30, dadurch gekennzeichnet, daß der Langsamtakt-Generator (54) und dor Schnelltakt-Generator (56) je als getrennte Oszillatorschaltkreise ausgebildet sind.
    33ο Gewebestimulator nach Anspruch 31, dadurch gekennzeichnet, daß eine auf ein extern erzeugtes Signal ansprechende Abschaltvorrichtung (40, 42) vorgesehen
    14
    ist, mit welcher der langsame Takt abschaltbar ist.
    34. Gewebestimulator nach Anspruch 33, dadurch gekennzeichnet, daß die Abschaltvorrichtung für den langsamen Takt (40, 42) eine Logikschaltung C42) aufweist, mittels der der langsame Takt in Abhängigkeit von dem Abschaltsignal nur dann abschaltbar ist, wenn der schnelle Takt ebenfalls abgeschaltet ist.
    35. Implantierbarer Gewebestimulator, gekennzeichnet durch mindestens eine Stimulationselektrode,
    durch eine Festwertspeichervorrichtung zur Abspeicherung einer Mehrzahl von alternativen, fest eingestellten Datenwerten über Impulsparameter,
    durch eine Mehrzahl von Impulsparameter-Haltekreisen (96) zur Abspeicherung veränderlicher binärer Datenwerte, welche die entsprechenden Impulsparameter kennzeichnen,
    durch eine auf extern erzeugte Daten ansprechende Steuervorrichtung zur Adressierung und zur Ermittlung entsprechender festgelegter Parameterwerte aus der
    Festwertspeichervorrichtung und zur entsprechenden Einstellung der zugehörigen Parameter-Haltekreise (96),
    durch eine Impulserzeugungseinrichtung zur Erzeugung von Ausgangsimpulsen in Übereinstimmung mit den Daten in den entsprechenden Impulsparameter-Haltekreisen (96), und
    durch eine Einrichtung zum Anlegen von Stimulationsimpulsen entsprechend dem Ausgangssignal der Impulserzeugungseinrichtung an die Stimulationselektrode.
    36. Gewebestimulator nach Anspruch 35, dadurch gekennzeichnet, daß in der Festwertspeichervorrichtung eine
    3 β O
    O O β OO
    -..: .:. 3Ί40212
    Parametertabelle vorgesehen ist, welche Daten zur Kennzeichnung einer Mehrzahl von alternativen Zeitabschnitten "EIN" und einer Mehrzahl von alternativen Zeitabschnitten "AUS" in einem EIN/AUS-Zyklus aufweist,
    daß ein EIN-Register und ein AUS-Register vorgesehen ist, wobei die Steuervorrichtung eine auf extern erzeugte EIN/AUS-Datenwerte ansprechende Einrichtung zur Adressierung und Ermittlung der entsprechenden "EIN"-Zeitsteuerdaten und der entsprechenden "AUS"-Zeitsteuerdaten aus der Festwertspeichervorrichtung und zur Übertragung dieser Daten die entsprechenden EIN/AUS-Register aufweist und
    daß eine Zeitsteuervorrichtung zur Zeitsteuerung des EIN/AUS-Zyklus entsprechend den Daten in den EIN- und AUS-Registern und zur Erzeugung eines Ausgangssignales entsprechend der EIN- und AUS-Zeitabschnitte des Zyklus vorgesehen ist, wobei die Einrichtung zum Anlegen der S.timulationsimpulse an die Stimulationselektrode auf das Ausgangssignal zum Anlegen der Impulse aus der Impulserzeugungseinrichtung an die Stimulationselektrode nur während dor. ETN-Zei f.abschnittes des Zyklus anspricht.
    37. Eingabeeinrichtung zur Voreinstellung eines implantierbaren Gewebestimulators mit Impulsparametern, gekennzeichnet durch eine modulare Kommunikationsvorrichtung, mittels der von außen übermittelte Steuerbefehle und Impulsparameterdatenwerte empfangbar sind und mittels der ein dementsprechender serieller binärer Ausgangsdatenwert erzeugbar ist,
    durch eine Verarbeitungsvorrichtung mit digitaler Logik mit einer Multi-Speichervorrlchtung, welche Anweiseeinrichtungen für einen festgelegten Funkt: i-onr.-ablauf, weiter eine VerarbeitungssteuervorrichLung
    • ·
    ] für die Eingabe aus der voreingestellten Multi-Speichervorrichtung und für die Ausführung des entsprechenden Funktionsablaufes, weiterhin eine Mehrzahl von Mehrzweckregistern, weiter eine serielle Dateneingangsanschluß-Anordnung, die mit der Ausgangsanschluß-Anordnung der modularen Kommunikationsvorrichtung empfangsfähig verbunden ist, und schließlich eine Mehrzahl von steuernden Ausgangsanschlüssen und eine Datensammelschiene aufweist,
    durch eine Mehrzahl von Haltekreisvorrichtungen für die Abspeicherung der gewünschten Impulsparameter, sowie weiter dadurch gekennzeichnet,
    ]5 daß die Multi-Speichervorrichtung eine Anweiseeinrichtung für einen Funktionsablauf aufweist, mittels der durch die Verarbeitungssteuervorrichtung eine vorbestimmte Folge von steuernden Einzelinformationen an der seriellen Dateneingangsanschluß-Anordnung durch das Hereinladen eines fortlaufenden Datenwortes, welches bestimmte Impulsparameter anzeigt, in mindestens ein internes Mehrzweckregister beantwortbar ist,
    daß die Multi-Speichervorrichtung eine Anweiseeinrichtung für einen Funktionsablauf aufweist, mittels der durch die Verarbeitungssteuervorrichtung der Inhalt eines internen Mehrzweckregisters zu einem anderen internen Mehrzweckregister in Abhängigkeit von einer vorbestimmbaren Folge von steuernden Einzelinformationen an der seriellen Dateneingangsanschluß-Anordnung übertragbar ist, und
    daß die Multi-Speichervorrichtung eine Anweiseeinrichtung für einen Funktionsablauf aufweist, mittels der durch die Verarbeitungssteuervorrichtung ein einer vorbestimmten Parameterart entsprechendes Ausgangssteuerungs-Datenwort erzeugbar ist, und mittels der zur
    ·· ·ο · α» „β * β α α ο
    • β » O » ο ,
    Ο« »« „Ο. ο.
    OO οβο
    Festlegung des entsprechenden Parameters zugleich ein einem Teil des Inhaltes des anderen Mehrzweckregiste-rs entsprechendes Datenwort an die Datensammelschiene anlegbar ist, wobei die Haltekreisvorrichtung so angeschlossen ist, daß mit ihr das Datenwort auf der Datensammelschiene in Abhängigkeit von dem Ausgänge-Signal des steuernden Ausgangsanschlusnes ermittelbar ist.
    38. Eingabeeinrichtung nach Anspruch 37, dadurch gekennzeichnet, daß die modulare Kommunikationsvorrichtung einen Dateneingangsanschluß und eine Datenübermittlungsvorrichtung aufweist, und
    daß die Multi-Speichervorrichtung eine Anweiseeinrichtung für einen Funktionsablauf aufweist, mittels der durch die Verarbeitungssteuervorrichtung zur Übermittlung in Abhängigkeit vom Vorliegen einer Folge von steuernden Einzelinformationen an der seriellen Dateneingangsanschluß-Anordnung der Inhalt entwedor des einen oder des anderen Mehrzweckregisters seriell von dem entsprechenden Mehrzweckregister zu dem DaU1H-eingangsanschluß der modularen Kommunikationsvorrichtung schiebbar ist.
    39. Verfahren zur Steuerung der Stimulationsimpulspara- meter, gekennzeichnet durch eine Abhängigkeit von externen Steuerinformationen für einen implantierten Stimulator mit einer Mehrzahl von Registern und einem variabel steuerbaren Impulsgenerator mit folgenden Verfahrensschritten:
    a) Bestimmung mindestens eines Tcmporärre^,i sU-rr. und mindestens eines Kontrollregis I, er η ,
    b) Laden eines von außen übermi L LoI ton , IinpuJ r.purameter kennzeichnenden DalenworLes in dat; Tornporärregister in Abhängigkeit von einer von außen
    18
    übermittelten entsprechenden Steuerungsinformation,
    c) nicht-zerstörendes Schieben des Inhaltes des Temporärregisters seriell aus diesem Register,
    d) Übermitteln der herausgeschobenen seriellen Datenworte des Temporärregisters aus dem Implantat heraus,
    e) Übertragen des Inhaltes des Temporärregisters zu dem Kontrollregister in Abhängigkeit von einer entsprechenden externen Steuerinformation,
    f) Festlegung der Impulsparameter für die Impulserzeugungseinrichtung entsprechend dem Inhalt des Kontrollregisters.
    40. Verfahren nach Anspruch 39, gekennzeichnet durch die weiteren Verfahrensschritte:
    g) Nicht-zerstörendes Herausschieben des Inhalts des Kontrollregisters, und
    h) Übermitteln des herausgeschobenen seriellen Datenwortes des Kontrollregisters aus dem Implantat heraus.
    41. Verfahren nach Anspruch 39,dadurch gekennzeichnet, daß der zur Festlegung der Impulsparameter dienende Verfahrensschritt f) die Adressierung einer Tabelle mit abgespeicherten Parametern entsprechend dem Inhalt des Kontrollregisters und das Festlegen von Betriebs-Impulsparametern aus dem Impulsgenerator entsprechend den adressierten und abgespeicherten Parameterwerten umfaßt.
    99 β β
    » β · e.
    B en «
    -.42. Verfahren zur Steuerung von Stimulationsimpulsen eines implantierbaren Gewebestimulators, gekennzeichnet durch eine Stimulationselektrode, durch Datenspeicherregister und durch einen einstellbaren Im-
    ,. pulsgenerator, mit folgenden VerfahrensBchrl tten:
    a) Erzeugung von kontinuierlich anlegbaren Arbeitsimpulsparameterwerten für den Impulsgenerator,
    ν« b) Steuerung eines Verbindungszustandes jeder
    Stimulationselektrode unabhängig von den anderen als nicht verbunden, verbunden als Anode oder verbunden als Kathode,
    c) Starten des Betriebes des Impulsgenerators, und
    d) Umkehrung des Verbindungszustandes jeder Stimulationselektrode, welche verbunden ißt, vor dem entsprechenden folgenden Stimulationsimpuls.
    43. Verfahren nach Anspruch 42, dadurch gekennzeichnet, daß eine Mehrzahl von den Stimulationselektroden verwendet wird.
    2544, Verfahren nach Anspruch 43, dadurch gekennzeichnet, daß eine der Elektroden als metallisches Gehäuse eingesetzt wird, welches dem implantierbaren Stimulator zugeordnet ist.
DE19813140212 1980-10-09 1981-10-09 Implantierbarer gewebestimulator, sowie eingabeeinrichtung zu dessen voreinstellung Withdrawn DE3140212A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/195,665 US4424812A (en) 1980-10-09 1980-10-09 Implantable externally programmable microprocessor-controlled tissue stimulator

Publications (1)

Publication Number Publication Date
DE3140212A1 true DE3140212A1 (de) 1982-08-19

Family

ID=22722267

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19813140212 Withdrawn DE3140212A1 (de) 1980-10-09 1981-10-09 Implantierbarer gewebestimulator, sowie eingabeeinrichtung zu dessen voreinstellung

Country Status (4)

Country Link
US (2) US4424812A (de)
JP (1) JPS57122876A (de)
DE (1) DE3140212A1 (de)
FR (3) FR2500757A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0211159A1 (de) * 1985-05-15 1987-02-25 Dumin Wu Apparat und System zur Erzeugung von Lebensinformationssignalen

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4467810A (en) * 1982-09-30 1984-08-28 Cordis Corporation Multi-mode microprocessor-based programmable cardiac pacer
US4571589A (en) * 1982-11-22 1986-02-18 Cordis Corporation Biomedical implant with high speed, low power two-way telemetry
US4549548A (en) * 1983-09-14 1985-10-29 Vitafin N.V. Pacemaker system with automatic event-programmed switching between unipolar and bipolar operation
US4875483A (en) * 1983-10-17 1989-10-24 Telectronics, N.V. Implantable cardiac pacer with programmable antitachycardia mechanisms
US4545380A (en) * 1984-04-16 1985-10-08 Cordis Corporation Method and apparatus for setting and changing parameters or functions of an implanted device
US4883057A (en) * 1984-05-09 1989-11-28 Research Foundation, The City University Of New York Cathodic electrochemical current arrangement with telemetric application
US5443710A (en) * 1984-05-09 1995-08-22 Research Foundation, The City University Of New York Microelectrodes and their use in a cathodic electrochemical current arrangement with telemetric application
US4941201A (en) * 1985-01-13 1990-07-10 Abbott Laboratories Electronic data storage and retrieval apparatus and method
US4699143A (en) * 1985-06-17 1987-10-13 Minnesota Mining And Manufacturing Company Electrical simulator for biological tissue having remote control
US4936304A (en) * 1985-10-07 1990-06-26 Thomas Jefferson University Pacing system and method for cardiac pacing as a function of determined myocardial contractility
AU599341B2 (en) * 1985-10-07 1990-07-19 Thomas Jefferson University Myocardial contractility-sensitive pacer and method
US4821724A (en) * 1986-08-01 1989-04-18 Telectronics N.V. Pacing pulse compensation
US4708144A (en) * 1986-10-06 1987-11-24 Telectronics N.V. Automatic sensitivity control for a pacemaker
FR2604908B1 (fr) * 1986-10-13 1990-06-22 Saint Nicolas Cie Financiere Procede de reglage d'un stimulateur cardiaque implantable en fonction de l'effort du patient porteur du stimulateur, stimulateur cardiaque implantable a parametres reglables et programmateur externe de commande d'un stimulateur cardiaque implantable reglable
IT1214738B (it) * 1986-11-11 1990-01-18 Sbm Soc Brevetti Medicina Perfezionamento negli impianti di stimolazione cardiaca mediante pacemaker
US5280435A (en) * 1987-05-08 1994-01-18 Baumer Electric Ag Identification system having a plurality of devices for reading, writing and recognizing a code and a plurality of code carriers and associated process
US5038781A (en) * 1988-01-21 1991-08-13 Hassan Hamedi Multi-electrode neurological stimulation apparatus
US4934368A (en) * 1988-01-21 1990-06-19 Myo/Kinetics Systems, Inc. Multi-electrode neurological stimulation apparatus
US5022395A (en) * 1989-07-07 1991-06-11 Cardiac Pacemakers, Inc. Implantable cardiac device with dual clock control of microprocessor
ES2100894T3 (es) * 1989-08-17 1997-07-01 Univ City Microelectrodos y su uso en una disposicion de corriente electroquimica catodica con aplicacion telemetrica.
US5531774A (en) * 1989-09-22 1996-07-02 Alfred E. Mann Foundation For Scientific Research Multichannel implantable cochlear stimulator having programmable bipolar, monopolar or multipolar electrode configurations
US5876425A (en) * 1989-09-22 1999-03-02 Advanced Bionics Corporation Power control loop for implantable tissue stimulator
US5603726A (en) * 1989-09-22 1997-02-18 Alfred E. Mann Foundation For Scientific Research Multichannel cochlear implant system including wearable speech processor
US5569307A (en) * 1989-09-22 1996-10-29 Alfred E. Mann Foundation For Scientific Research Implantable cochlear stimulator having backtelemetry handshake signal
US5186170A (en) * 1989-11-13 1993-02-16 Cyberonics, Inc. Simultaneous radio frequency and magnetic field microprocessor reset circuit
DE3939899A1 (de) * 1989-11-29 1991-06-06 Biotronik Mess & Therapieg Herzschrittmacher
US5052389A (en) * 1990-07-26 1991-10-01 Cook Pacemaker Corporation Low-power A/D converter for an implantable medical device and method of use
US5350411A (en) * 1993-06-28 1994-09-27 Medtronic, Inc. Pacemaker telemetry system
US5591217A (en) * 1995-01-04 1997-01-07 Plexus, Inc. Implantable stimulator with replenishable, high value capacitive power source and method therefor
US5626629A (en) * 1995-05-31 1997-05-06 Advanced Bionics Corporation Programming of a speech processor for an implantable cochlear stimulator
US5722998A (en) * 1995-06-07 1998-03-03 Intermedics, Inc. Apparatus and method for the control of an implantable medical device
US5697958A (en) * 1995-06-07 1997-12-16 Intermedics, Inc. Electromagnetic noise detector for implantable medical devices
US5693076A (en) * 1996-01-16 1997-12-02 Medtronic, Inc. Compressed patient narrative storage in and full text reconstruction from implantable medical devices
US6609031B1 (en) * 1996-06-07 2003-08-19 Advanced Neuromodulation Systems, Inc. Multiprogrammable tissue stimulator and method
US5843142A (en) 1997-03-27 1998-12-01 Sultan; Hashem Voice activated loco motor device and method of use for spinal cord injuries
US6023641A (en) * 1998-04-29 2000-02-08 Medtronic, Inc. Power consumption reduction in medical devices employing multiple digital signal processors
DE19918590B4 (de) * 1998-04-29 2006-06-08 Medtronic, Inc., Minneapolis Implantierbare medizinische Vorrichtung
US6496729B2 (en) * 1998-10-28 2002-12-17 Medtronic, Inc. Power consumption reduction in medical devices employing multiple supply voltages and clock frequency control
US6516227B1 (en) 1999-07-27 2003-02-04 Advanced Bionics Corporation Rechargeable spinal cord stimulator system
US7133937B2 (en) * 1999-10-29 2006-11-07 Ge Medical Systems Information Technologies Input devices for entering data into an electronic medical record (EMR)
KR20020077346A (ko) * 1999-11-24 2002-10-11 너바시브 인코퍼레이티드 근전도검사 시스템
US7066910B2 (en) 2000-04-27 2006-06-27 Medtronic, Inc. Patient directed therapy management
US7082333B1 (en) 2000-04-27 2006-07-25 Medtronic, Inc. Patient directed therapy management
US6658301B2 (en) * 2000-09-13 2003-12-02 Alfred E. Mann Institute For Biomedical Engineering At The University Of Southern California Method and apparatus for conditioning muscles during sleep
US6472991B1 (en) 2001-06-15 2002-10-29 Alfred E. Mann Foundation For Scientific Research Multichannel communication protocol configured to extend the battery life of an implantable device
US7085952B2 (en) * 2001-09-14 2006-08-01 Medtronic, Inc. Method and apparatus for writing data between fast and slow clock domains
US7130694B1 (en) 2001-12-26 2006-10-31 Advanced Bionics Corporation Pulse skipping strategy
US6985773B2 (en) 2002-02-07 2006-01-10 Cardiac Pacemakers, Inc. Methods and apparatuses for implantable medical device telemetry power management
US7228179B2 (en) * 2002-07-26 2007-06-05 Advanced Neuromodulation Systems, Inc. Method and apparatus for providing complex tissue stimulation patterns
US7177703B2 (en) * 2003-05-11 2007-02-13 Boveja Birinder R Method and system for providing pulsed electrical stimulation to sacral plexus of a patient to provide therapy for urinary incontinence and urological disorders
US7813809B2 (en) 2004-06-10 2010-10-12 Medtronic, Inc. Implantable pulse generator for providing functional and/or therapeutic stimulation of muscles and/or nerves and/or central nervous system tissue
CN100435883C (zh) * 2003-11-27 2008-11-26 徐志强 一种配合pc机使用的电疗仪
US8467875B2 (en) 2004-02-12 2013-06-18 Medtronic, Inc. Stimulation of dorsal genital nerves to treat urologic dysfunctions
JP4705952B2 (ja) * 2004-04-07 2011-06-22 カーディアック ペースメイカーズ, インコーポレイテッド 埋込み型医療装置におけるrfトランシーバ・デューティ・サイクルのシステムと方法
WO2005099817A1 (en) 2004-04-07 2005-10-27 Cardiac Pacemakers, Inc. Rf wake-up of implantable medical device
US7794499B2 (en) 2004-06-08 2010-09-14 Theken Disc, L.L.C. Prosthetic intervertebral spinal disc with integral microprocessor
US8195304B2 (en) 2004-06-10 2012-06-05 Medtronic Urinary Solutions, Inc. Implantable systems and methods for acquisition and processing of electrical signals
US8165692B2 (en) 2004-06-10 2012-04-24 Medtronic Urinary Solutions, Inc. Implantable pulse generator power management
ATE523221T1 (de) * 2004-06-10 2011-09-15 Medtronic Urinary Solutions Inc Systeme und verfahren für die bilaterale stimulierung von linken und rechten ästen der dorsalen genitalnerven zur behandlung von funktionsstörungen, wie z.b. harninkontinenz
US7761167B2 (en) 2004-06-10 2010-07-20 Medtronic Urinary Solutions, Inc. Systems and methods for clinician control of stimulation systems
US9308382B2 (en) 2004-06-10 2016-04-12 Medtronic Urinary Solutions, Inc. Implantable pulse generator systems and methods for providing functional and/or therapeutic stimulation of muscles and/or nerves and/or central nervous system tissue
US9205255B2 (en) 2004-06-10 2015-12-08 Medtronic Urinary Solutions, Inc. Implantable pulse generator systems and methods for providing functional and/or therapeutic stimulation of muscles and/or nerves and/or central nervous system tissue
US20070066995A1 (en) * 2004-06-10 2007-03-22 Ndi Medical, Llc Implantable pulse generator systems and methods for providing functional and/or therapeutic stimulation of muscles and/or nerves and/or central nervous system tissue
US7758567B2 (en) * 2004-07-09 2010-07-20 The Alfred E. Mann Foundation For Scientific Research Medical device including processor running independent processes to cooperatively control therapy
US8600521B2 (en) * 2005-01-27 2013-12-03 Cyberonics, Inc. Implantable medical device having multiple electrode/sensor capability and stimulation based on sensed intrinsic activity
US9314633B2 (en) 2008-01-25 2016-04-19 Cyberonics, Inc. Contingent cardio-protection for epilepsy patients
US8565867B2 (en) * 2005-01-28 2013-10-22 Cyberonics, Inc. Changeable electrode polarity stimulation by an implantable medical device
US8260426B2 (en) * 2008-01-25 2012-09-04 Cyberonics, Inc. Method, apparatus and system for bipolar charge utilization during stimulation by an implantable medical device
US7454245B2 (en) 2005-01-28 2008-11-18 Cyberonics, Inc. Trained and adaptive response in a neurostimulator
US7561918B2 (en) 2005-01-28 2009-07-14 Cyberonics, Inc. Autocapture in a neurostimulator
US8082033B2 (en) * 2005-04-13 2011-12-20 The Cleveland Clinic Foundation System and method for providing a waveform for stimulating biological tissue
US9211408B2 (en) 2005-04-13 2015-12-15 The Cleveland Clinic Foundation System and method for neuromodulation using composite patterns of stimulation or waveforms
US7715912B2 (en) * 2005-04-13 2010-05-11 Intelect Medical, Inc. System and method for providing a waveform for stimulating biological tissue
US9339650B2 (en) 2005-04-13 2016-05-17 The Cleveland Clinic Foundation Systems and methods for neuromodulation using pre-recorded waveforms
EP1906815A2 (de) * 2005-07-12 2008-04-09 Alfred E. Mann Institute for Biomedical Engineering at the University of Southern California Verfahren und gerät zum nachweis von objektorientierung und position
US7711419B2 (en) 2005-07-13 2010-05-04 Cyberonics, Inc. Neurostimulator with reduced size
US20070027486A1 (en) * 2005-07-29 2007-02-01 Cyberonics, Inc. Medical devices for enhancing intrinsic neural activity
US8175717B2 (en) * 2005-09-06 2012-05-08 Boston Scientific Neuromodulation Corporation Ultracapacitor powered implantable pulse generator with dedicated power supply
US7489561B2 (en) 2005-10-24 2009-02-10 Cyberonics, Inc. Implantable medical device with reconfigurable non-volatile program
US8428731B2 (en) 2005-10-27 2013-04-23 Cyberonics, Inc. Sequenced therapy protocols for an implantable medical device
US8694118B2 (en) 2005-10-28 2014-04-08 Cyberonics, Inc. Variable output ramping for an implantable medical device
US7729758B2 (en) * 2005-11-30 2010-06-01 Boston Scientific Neuromodulation Corporation Magnetically coupled microstimulators
US20070173890A1 (en) * 2006-01-24 2007-07-26 Cyberonics, Inc. Stimulation mode adjustment for an implantable medical device
US7996079B2 (en) * 2006-01-24 2011-08-09 Cyberonics, Inc. Input response override for an implantable medical device
US7657310B2 (en) 2006-01-26 2010-02-02 Cyberonics, Inc. Treatment of reproductive endocrine disorders by vagus nerve stimulation
WO2007098200A2 (en) * 2006-02-16 2007-08-30 Imthera Medical, Inc. An rfid-based apparatus, system, and method for therapeutic treatment of obstructive sleep apnea
ES2538726T3 (es) * 2006-03-29 2015-06-23 Dignity Health Sistema de estimulación del nervio vago
US7805197B2 (en) 2006-04-07 2010-09-28 Boston Scientific Neuromodulation Corporation System and method using multiple timing channels for electrode adjustment during set up of an implanted stimulator device
US7869885B2 (en) * 2006-04-28 2011-01-11 Cyberonics, Inc Threshold optimization for tissue stimulation therapy
US7962220B2 (en) * 2006-04-28 2011-06-14 Cyberonics, Inc. Compensation reduction in tissue stimulation therapy
US9480846B2 (en) 2006-05-17 2016-11-01 Medtronic Urinary Solutions, Inc. Systems and methods for patient control of stimulation systems
US7869867B2 (en) 2006-10-27 2011-01-11 Cyberonics, Inc. Implantable neurostimulator with refractory stimulation
US7742819B2 (en) 2006-11-07 2010-06-22 Boston Scientific Neuromodulation Corporation System and method for uniformly displacing a region of neural stimulation
US7962214B2 (en) * 2007-04-26 2011-06-14 Cyberonics, Inc. Non-surgical device and methods for trans-esophageal vagus nerve stimulation
US7904175B2 (en) * 2007-04-26 2011-03-08 Cyberonics, Inc. Trans-esophageal vagus nerve stimulation
US7869884B2 (en) * 2007-04-26 2011-01-11 Cyberonics, Inc. Non-surgical device and methods for trans-esophageal vagus nerve stimulation
US7974701B2 (en) * 2007-04-27 2011-07-05 Cyberonics, Inc. Dosing limitation for an implantable medical device
CA2697826A1 (en) * 2007-10-09 2009-04-16 Imthera Medical, Inc. System and method for neural stimulation
US7639907B2 (en) * 2007-11-14 2009-12-29 Elbex Video Ltd. Method and apparatus for operating AC powered appliances via video interphones, two way IR drivers and remote control devices
US11766565B2 (en) 2008-01-25 2023-09-26 Flint Hills Scientific, L.L.C. Contingent cardio-protection for epilepsy patients
US9579506B2 (en) 2008-01-25 2017-02-28 Flint Hills Scientific, L.L.C. Contingent cardio-protection for epilepsy patients
US8204603B2 (en) * 2008-04-25 2012-06-19 Cyberonics, Inc. Blocking exogenous action potentials by an implantable medical device
CA2738479C (en) 2008-10-09 2017-11-28 Imthera Medical, Inc. Method of stimulating a hypoglossal nerve for controlling the position of a patient's tongue
US8457747B2 (en) 2008-10-20 2013-06-04 Cyberonics, Inc. Neurostimulation with signal duration determined by a cardiac cycle
US20100191304A1 (en) 2009-01-23 2010-07-29 Scott Timothy L Implantable Medical Device for Providing Chronic Condition Therapy and Acute Condition Therapy Using Vagus Nerve Stimulation
BR112012010986A2 (pt) * 2009-11-10 2016-04-12 Imthera Medical Inc sistema para estimular um nervo hipoglosso para o controle da posição da língua de um paciente
US8041221B2 (en) 2009-11-11 2011-10-18 Elbex Video Ltd. Method and apparatus for coupling optical signal with packaged circuits via optical cables and lightguide couplers
US9186519B2 (en) * 2010-01-28 2015-11-17 Medtronic, Inc. Wireless communication with an implantable medical device
US20150051681A1 (en) * 2013-08-19 2015-02-19 Boston Scientific Neuromodulation Corporation Methods and systems for anodal stimulation to affect cranial and other nerves
CN104104368B (zh) * 2014-07-29 2017-01-18 南京鼎世医疗器械有限公司 一种四通道动态调幅信号发生器
US11409677B2 (en) 2020-11-11 2022-08-09 Qorvo Us, Inc. Bus slave circuit and related single-wire bus apparatus
US11489695B2 (en) * 2020-11-24 2022-11-01 Qorvo Us, Inc. Full-duplex communications over a single-wire bus
US11706048B1 (en) 2021-12-16 2023-07-18 Qorvo Us, Inc. Multi-protocol bus circuit

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1082752A (en) * 1964-05-06 1967-09-13 Yissum Res Dev Co Cardiac pacemaker
US3311111A (en) 1964-08-11 1967-03-28 Gen Electric Controllable electric body tissue stimulators
GB1338382A (en) * 1969-12-02 1973-11-21 Devices Ltd Demand pacemaker
US3920024A (en) 1973-04-16 1975-11-18 Vitatron Medical Bv Threshold tracking system and method for stimulating a physiological system
GB1493353A (en) * 1973-11-21 1977-11-30 Devices Implants Ltd Device for terminating tachycardia
US4019518A (en) * 1975-08-11 1977-04-26 Medtronic, Inc. Electrical stimulation system
DE2738871A1 (de) * 1976-09-29 1978-03-30 Arco Med Prod Co Herzschrittmacher
US4126139A (en) 1977-05-20 1978-11-21 Arco Medical Products Company Method and means for receiving parameter control data in an implantable heart pacer
GB2062308B (en) * 1977-06-04 1982-07-14 Nat Res Dev Stored program digital data processor
US4164945A (en) * 1977-06-13 1979-08-21 Medtronic, Inc. Digital cardiac pacemaker medical device
US4132233A (en) 1977-06-13 1979-01-02 Medtronic, Inc. Digital cardiac pacer
US4163451A (en) * 1977-10-26 1979-08-07 Cordis Corporation Interactive method and digitally timed apparatus for cardiac pacing arrhythmia treatment
FR2419720A1 (fr) * 1978-03-14 1979-10-12 Cardiofrance Co Stimulateur cardiaque implantable a fonctions therapeutique et diagnostique
US4222385A (en) * 1978-09-07 1980-09-16 National Research Development Corporation Electronic heart implant
US4208008A (en) 1978-11-06 1980-06-17 Medtronic, Inc. Pacing generator programming apparatus including error detecting means
US4404972B1 (en) * 1981-05-18 2000-07-11 Intermedics Inc Implantable device with microprocessor control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0211159A1 (de) * 1985-05-15 1987-02-25 Dumin Wu Apparat und System zur Erzeugung von Lebensinformationssignalen

Also Published As

Publication number Publication date
JPS57122876A (en) 1982-07-30
US4592360A (en) 1986-06-03
US4424812A (en) 1984-01-10
FR2499266A1 (fr) 1982-08-06
FR2499265A1 (fr) 1982-08-06
FR2500757A1 (fr) 1982-09-03

Similar Documents

Publication Publication Date Title
DE3140212A1 (de) Implantierbarer gewebestimulator, sowie eingabeeinrichtung zu dessen voreinstellung
DE3225223A1 (de) Interaktive programmiereinrichtung fuer implantierbare biomedizinische vorrichtungen
DE2236434C3 (de) Implantierbares elektromedizinisches Reizstromgerät
DE69634486T2 (de) Drathloses eeg system für eine effiziente schall-evozierte reaktion
DE3315513C2 (de) Programmierbare Schaltungsanordnung (insb. für einen inplantierbaren Gewebestimulator) zum Anliefern von elektrischen Gewebereizimpulsen
DE3106427C2 (de)
DE69927148T2 (de) Hörbare tonkommunikation aus einer implantierbaren medizinischen vorrichtung
DE3145149C2 (de)
DE69724952T2 (de) Herzschrittmacher zur vorbeugung von arhythmie und fibrillation unter verwendung einer konsistenten herzreizung
EP0811398B1 (de) Implantierbares Stimulationsgerät
DE2803366C2 (de)
DE69819526T2 (de) Herzreizung mit mehrfachen reizungstherapiemerkmalen
DE60115073T2 (de) Telemetrisches modulationsprotokollverfahren für medizinische vorrichtungen
DE2823804A1 (de) Programmierbarer, einpflanzbarer herzschrittmacher
DE3928142A1 (de) Fernsteuersystem
DE2828127A1 (de) Herzschrittmacher
DE3422112A1 (de) Implantierbarer herzschrittmacher
DE2635826A1 (de) Anordnung zur elektrischen stimulation
DE2944542C2 (de)
DE2452516A1 (de) Herzschrittmacher
DE2826330A1 (de) Einpflanzbarer schrittmacher mit selektiv veraenderbaren merkmalen
DE69533995T2 (de) Zweikammer-Herzschrittmachersystem mit verbesserter Umschaltung zwischen dem synchronen und dem asynchronen Modus
DE3432964A1 (de) Tragbarer sender
DE2220781A1 (de) Herzschrittmacher mit einstellbaren Betriebsparametern
DE2825626A1 (de) Digitaler herzschrittmacher

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee