AT9321U1 - Cochlearimplantat-kommunikator - Google Patents

Cochlearimplantat-kommunikator Download PDF

Info

Publication number
AT9321U1
AT9321U1 AT0042305U AT4232005U AT9321U1 AT 9321 U1 AT9321 U1 AT 9321U1 AT 0042305 U AT0042305 U AT 0042305U AT 4232005 U AT4232005 U AT 4232005U AT 9321 U1 AT9321 U1 AT 9321U1
Authority
AT
Austria
Prior art keywords
prosthesis
frame
sequence
interface system
implant
Prior art date
Application number
AT0042305U
Other languages
English (en)
Original Assignee
Cochlear Ltd
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 Cochlear Ltd filed Critical Cochlear Ltd
Publication of AT9321U1 publication Critical patent/AT9321U1/de

Links

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/28Encapsulations, e.g. encapsulating layers, coatings, e.g. for protection
    • H01L23/31Encapsulations, e.g. encapsulating layers, coatings, e.g. for protection characterised by the arrangement or shape
    • H01L23/3107Encapsulations, e.g. encapsulating layers, coatings, e.g. for protection characterised by the arrangement or shape the device being completely enclosed
    • H01L23/315Encapsulations, e.g. encapsulating layers, coatings, e.g. for protection characterised by the arrangement or shape the device being completely enclosed the encapsulation having a cavity
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C43/00Compression moulding, i.e. applying external pressure to flow the moulding material; Apparatus therefor
    • B29C43/32Component parts, details or accessories; Auxiliary operations
    • B29C43/36Moulds for making articles of definite length, i.e. discrete articles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B81MICROSTRUCTURAL TECHNOLOGY
    • B81CPROCESSES OR APPARATUS SPECIALLY ADAPTED FOR THE MANUFACTURE OR TREATMENT OF MICROSTRUCTURAL DEVICES OR SYSTEMS
    • B81C1/00Manufacture or treatment of devices or systems in or on a substrate
    • B81C1/00015Manufacture or treatment of devices or systems in or on a substrate for manufacturing microsystems
    • B81C1/00261Processes for packaging MEMS devices
    • B81C1/00269Bonding of solid lids or wafers to the substrate
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B81MICROSTRUCTURAL TECHNOLOGY
    • B81CPROCESSES OR APPARATUS SPECIALLY ADAPTED FOR THE MANUFACTURE OR TREATMENT OF MICROSTRUCTURAL DEVICES OR SYSTEMS
    • B81C1/00Manufacture or treatment of devices or systems in or on a substrate
    • B81C1/00015Manufacture or treatment of devices or systems in or on a substrate for manufacturing microsystems
    • B81C1/00261Processes for packaging MEMS devices
    • B81C1/00333Aspects relating to packaging of MEMS devices, not covered by groups B81C1/00269 - B81C1/00325
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B81MICROSTRUCTURAL TECHNOLOGY
    • B81CPROCESSES OR APPARATUS SPECIALLY ADAPTED FOR THE MANUFACTURE OR TREATMENT OF MICROSTRUCTURAL DEVICES OR SYSTEMS
    • B81C1/00Manufacture or treatment of devices or systems in or on a substrate
    • B81C1/00865Multistep processes for the separation of wafers into individual elements
    • B81C1/00904Multistep processes for the separation of wafers into individual elements not provided for in groups B81C1/00873 - B81C1/00896
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P1/00Details of instruments
    • G01P1/02Housings
    • G01P1/023Housings for acceleration measuring devices
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/02Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses
    • G01P15/08Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses with conversion into electric or magnetic values
    • G01P15/0802Details
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/16Fillings or auxiliary members in containers or encapsulations, e.g. centering rings
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C35/00Heating, cooling or curing, e.g. crosslinking or vulcanising; Apparatus therefor
    • B29C35/02Heating or curing, e.g. crosslinking or vulcanizing during moulding, e.g. in a mould
    • B29C35/08Heating or curing, e.g. crosslinking or vulcanizing during moulding, e.g. in a mould by wave energy or particle radiation
    • B29C35/0805Heating or curing, e.g. crosslinking or vulcanizing during moulding, e.g. in a mould by wave energy or particle radiation using electromagnetic radiation
    • B29C2035/0822Heating or curing, e.g. crosslinking or vulcanizing during moulding, e.g. in a mould by wave energy or particle radiation using electromagnetic radiation using IR radiation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C43/00Compression moulding, i.e. applying external pressure to flow the moulding material; Apparatus therefor
    • B29C43/32Component parts, details or accessories; Auxiliary operations
    • B29C43/50Removing moulded articles
    • B29C2043/503Removing moulded articles using ejector pins, rods
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C33/00Moulds or cores; Details thereof or accessories therefor
    • B29C33/0022Multi-cavity moulds
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B81MICROSTRUCTURAL TECHNOLOGY
    • B81BMICROSTRUCTURAL DEVICES OR SYSTEMS, e.g. MICROMECHANICAL DEVICES
    • B81B2201/00Specific applications of microelectromechanical systems
    • B81B2201/02Sensors
    • B81B2201/0228Inertial sensors
    • B81B2201/0235Accelerometers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B81MICROSTRUCTURAL TECHNOLOGY
    • B81BMICROSTRUCTURAL DEVICES OR SYSTEMS, e.g. MICROMECHANICAL DEVICES
    • B81B2207/00Microstructural systems or auxiliary parts thereof
    • B81B2207/05Arrays
    • B81B2207/056Arrays of static structures
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B81MICROSTRUCTURAL TECHNOLOGY
    • B81CPROCESSES OR APPARATUS SPECIALLY ADAPTED FOR THE MANUFACTURE OR TREATMENT OF MICROSTRUCTURAL DEVICES OR SYSTEMS
    • B81C2201/00Manufacture or treatment of microstructural devices or systems
    • B81C2201/03Processes for manufacturing substrate-free structures
    • B81C2201/034Moulding
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B81MICROSTRUCTURAL TECHNOLOGY
    • B81CPROCESSES OR APPARATUS SPECIALLY ADAPTED FOR THE MANUFACTURE OR TREATMENT OF MICROSTRUCTURAL DEVICES OR SYSTEMS
    • B81C2203/00Forming microstructural systems
    • B81C2203/01Packaging MEMS
    • B81C2203/0127Using a carrier for applying a plurality of packaging lids to the system wafer
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/48Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
    • H01L2224/4805Shape
    • H01L2224/4809Loop shape
    • H01L2224/48091Arched
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/48Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
    • H01L2224/481Disposition
    • H01L2224/48151Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive
    • H01L2224/48221Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked
    • H01L2224/48245Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being metallic
    • H01L2224/48247Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being metallic connecting the wire to a bond pad of the item
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/48Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
    • H01L2224/484Connecting portions
    • H01L2224/48463Connecting portions the connecting portion on the bonding area of the semiconductor or solid-state body being a ball bond
    • H01L2224/48465Connecting portions the connecting portion on the bonding area of the semiconductor or solid-state body being a ball bond the other connecting portion not on the bonding area being a wedge bond, i.e. ball-to-wedge, regular stitch
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/10Details of semiconductor or other solid state devices to be connected
    • H01L2924/102Material of the semiconductor or solid state bodies
    • H01L2924/1025Semiconducting materials
    • H01L2924/10251Elemental semiconductors, i.e. Group IV
    • H01L2924/10253Silicon [Si]
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/156Material
    • H01L2924/157Material with a principal constituent of the material being a metal or a metalloid, e.g. boron [B], silicon [Si], germanium [Ge], arsenic [As], antimony [Sb], tellurium [Te] and polonium [Po], and alloys thereof
    • H01L2924/15738Material with a principal constituent of the material being a metal or a metalloid, e.g. boron [B], silicon [Si], germanium [Ge], arsenic [As], antimony [Sb], tellurium [Te] and polonium [Po], and alloys thereof the principal constituent melting at a temperature of greater than or equal to 950 C and less than 1550 C
    • H01L2924/15747Copper [Cu] as principal constituent
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/161Cap
    • H01L2924/162Disposition
    • H01L2924/16235Connecting to a semiconductor or solid-state bodies, i.e. cap-to-chip
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/181Encapsulation
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/30Technical effects
    • H01L2924/301Electrical effects
    • H01L2924/3011Impedance

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Mechanical Engineering (AREA)
  • Micromachines (AREA)
  • Prostheses (AREA)

Abstract

Es ist eine Softwaredatenbank zur Steuerung von gewebestimulierenden Prothesen vorgesehen. Eine Vielzahl von Software-Modulen ist in der Datenbank gespeichert und ermöglicht es Benützern, abstrakte Kommandos hohen Niveaus, beispielsweise von einem psychophysikalischen Niveau einzugeben, ohne daß eine detaillierte Kenntnis der vom Niveau des Systems bedingten Betriebserfordernisse der Prothese erforderlich ist. Beim Empfang solcher Kommandos wird auf die Datenbank zugegriffen, um Software-Module zur Ausführung der Kommandos zu erhalten und einen Satz an Softwarekommandos zu schaffen. Der Sofware-Kommandosatz wird dem Prozessor der Prothese oder direkt der Prothese übermitteIt.

Description

2 AT 009 321 U1
Gebiet der Erfindung
Die vorliegende Erfindung bezieht sich auf eine Software-Datenbank, die für die Schaffung eines Software-Kommandosatzes zur Übertragung an eine gewebestimulierende Prothese, wie 5 ein Cochlear-Implantat verwendbar ist.
Hintergrund der Erfindung
Bei vielen Menschen, die im wesentlichen taub sind, liegt der Grund für die Taubheit im Fehlen io oder in der Zerstörung jener Haarzellen in der Cochlea, welche akustische Signale in Nerven-impulse umwandeln. Diese Menschen sind daher nicht in der Lage, brauchbare Verbesserungen durch konventionelle Hörhilfesysteme zu erhalten, gleichgültig wie laut die akustische Stimulierung gemacht wird, weil eben eine Beschädigung oder das Fehlen der Mechanismen vorliegt, welche Nervenimpulse in der normalen Art und Weise erzeugen können. 15
Aus diesem Grund wurden Cochlearimplantatsysteme entwickelt. Solche Systeme überbrücken die Haarzellen in der Cochlea und bewirken elektrische Stimulationen der Gehörnervfasern, wodurch sie es dem Gehirn ermöglichen, einen Höreindruck zu empfangen, welcher die natürlichen Hörempfindungen ersetzt, die normalerweise auf die entsprechenden Nerven wirken. Das 20 US-Patent Nr. 4 532 930 A, dessen Inhalt hier als Bezug aufgenommen wird, bietet eine Beschreibung eines Typs eines traditionellen Cochlearimplantatsystems.
Typischenweise bestanden Cochlearimplantatsysteme im wesentlichen aus zwei Komponenten, nämlich einer äußeren Komponente, die normalerweise als Prozessoreinheit bezeichnet wurde 25 und einer inneren implantierten Komponente, die normalerweise als Stimulator-/Empfänger-einheit bezeichnet wurde. Herkömmlicherweise haben diese beiden Komponenten zusammengearbeitet, um einem Benützer eine Schallempfindung zu bieten.
Die Außenkomponente bestand traditionell aus einem Mikrophon zur Erfassung von Geräu-30 sehen, wie der Sprache und Umgebungsgeräuschen, einem Sprachprozessor, der die erfaßten Geräusche in ein codiertes Signal umwandelt, einer Energiequelle, wie einer Batterie und einer äußeren Übertragungsspule.
Das codierte Ausgangssignal des Sprachprozessors wird transcutan auf die implantierte Stimu-35 lator-/Empfängereinheit übertragen, die innerhalb einer Ausnehmung des Schläfenbeines des Benützers angebracht ist. Die transcutane Übertragung findet über die äußere Übertragungsspule statt, die so angeordnet ist, daß sie mit einer implantierten Empfängerspule kommunizieren kann, die mit der Stimulator-/Empfängereinheit versehen ist. Diese Kommunikation dient zwei wesentlichen Zwecken, nämlich 40 1. um das codierte Signal transcutan zu übertragen und 2. um die implantierte Stimulator-/Empfängereinheit mit Energie zu versorgen. Herkömmlicherweise bestand diese Verbindung in Form einer RF-Kupplung, doch wurden auch andere Kupplungen vorgeschlagen und mit wechselnder Erfolgsrate eingesetzt. 45
Die implantierte Stimulator-/Empfängereinheit umfaßt traditionell eine Empfängerspule, die von der äußeren Prozessoreinheit das codierte Signal und Energie erhält und einen Stimulator, der das codierte Signal verarbeitet und ein Stimulierungssignal an eine in der Cochlea angebrachte Elektrode ausgibt, welche die elektrische Stimulierung direkt an den Gehörnerv anlegt und so dadurch eine Hörempfindung erzeugt, welche dem erfaßten Originalton entspricht. Als solches war die implantierte Stimulator-/Empfängereinheit eine verhältnismäßig passive Einheit, die vom Empfang sowohl von Energie als auch von Daten von der externen Einheit abhängig war, um die gewünschte Funktion zu erfüllen. 55 Traditionellerweise wurde die Außenkomponente am Körper des Benützers getragen, z. B. in 3 AT 009 321 U1 einer Tasche der Kleidung des Benützers, einer Gürteltasche oder in einem Geschirr, wogegen das Mikrophon auf einer Klammer montiert war, die hinter dem Ohr oder am Ohrläppchen des Benützers angebracht wurde. Kürzer zurückliegend war es im wesentlichen durch Verbesserungen in der Technologie möglich, die physischen Dimensionen des Geräuschprozessors zu verringern, so daß es möglich wurde, die Außenkomponenten in einer schmalen Einheit zu vereinigen, die hinter dem Ohr des Benützers getragen werden konnte. Diese Einheit gestattete es, das Mikrophon, die Energieeinheit und den Geräuschprozessor in einer einzigen Einheit unterzubringen, die diskret hinter dem Ohr des Benützers getragen werden kann, wobei die äußere Übertragungsspule immer noch an der Seite des Kopfes des Benützers angebracht wurde, um die Übertragung des codierten Signals vom Geräuschprozessor und von Energie auf die implantierte Stimulatoreinheit zu ermöglichen.
Es ist ersichtlich, daß es mit weiteren Verbesserungen in der Technologie möglich sein wird, alle Komponenten des Systems vollständig im Kopf des Benützers zu implantieren und so ein System zu schaffen, das von außen her unsichtbar und in der Lage ist, wenigstens eine gewisse Zeitspanne unabhängig von jeder äußeren Komponente zu arbeiten.
Es sollte jedoch verstanden werden, daß, wenn auch die Verpackung der Einrichtung kleiner geworden ist und fortlaufend kleiner und einfacher sein wird, das tatsächliche System weiterhin kompliziert bleibt und aus einer Anzahl diskreter Komponenten besteht, die Zusammenwirken, um ein gewünschtes Endresultat zu erhalten. Da nun das Implantat in der Lage wird, kompliziertere Aufgaben zu erfüllen und kompliziertere Stimulierungsfrequenzen und Sprachverarbei-tungsstrategien vorzunehmen, werden die Schnittstellen und Protokolle zwischen allen diesen unterschiedlichen Systemelementen kontinuierlich noch komplexer, um zu gewährleisten, daß die Integrität der Daten und der übertragenen Informationen innerhalb des Systems erhalten bleibt. Diese Komplexizität und Notwendigkeit, eine genaue Kontrolle über die durch das ganze System übertragenden Signale zu gewährleisten, hat es Personen ohne genaue Systemkenntnis des Produktes sehr schwierig gemacht, Grundlagenstudien durchzuführen, die es ermöglichen, die Grundparameter der Einrichtung zu ändern und auszuwechseln, damit sie zu einer besonderen Studie passen. Solche Studien erfordern typischerweise nur hohe und Basiskenntnisse der Basisparameter der Einrichtung, ohne daß es notwendig ist, die detaillierte und komplexen Systemerfordernisse zu verstehen, beispielsweise die Art und Weise, wie der Sprachprozessor des Cochlear-Implantates die empfangenen Audiosignale in ein codiertes RF-Signal verarbeitet.
Auf dem Gebiet der Cochlear-Implantate wurde und wird fortlaufend viel Arbeit zu leisten sein, um die Wirkungen verschiedener Stimulierungsmuster und die resultierenden Empfindungen des Implantatbenützers durch solche Muster zu untersuchen. Bei der fortlaufenden Suche nach konstanter Verbesserung der Art und Weise, wie ein erfaßtes Geräusch einem Cochlearimplantatempfänger präsentiert wird, so daß die entstehende Hörempfindung so nahe als möglich jener einer normal hörenden Person entspricht, besteht eine sehr realistische Notwendigkeit, die Untersucher mit Hilfsmitteln auszustatten, die es ihnen ermöglicht, diese Untersuchung leichter durchzuführen. In solchen Fällen ist es wichtig, dass die Person, welche die Untersuchung durchführt, in erster Linie eher mit dem Untersuchungsbereich befaßt ist, als bei der Untersuchung ein internes Verständnis des speziellen, verwendeten Implantates und der Schnittstellen, die innerhalb der Hardware des Implantates selbst vorhanden sind, zu haben.
Wie oben dargelegt wurde, ist die Wirkungsweise eines implantierten Stimulators durch das auf ihn vom Sprachprozessor übertragene RF-Signal bestimmt. Damit ein erwünschtes Stimulierungsmuster an den Implantatempfänger abgegeben wird, muss das richtige RF-Signal auf den implantierten Stimulator übertragen werden. Damit eine korrekte Wirkungsweise des Ausganges des Stimulators gewährleistet wird, musste der Untersuchende typischerweise Kenntnisse des Implantates, des RF-Codierungsprotokolls, des Sprachprozessors und der Hardware- 4 AT 009 321 U1
Schnittstelle, an die der Sprachprozessor angeschlossen ist, einbringen.
Die vorliegende Erfindung schafft für Untersuchende eine Einrichtung, die es ermöglicht, den Ausgang der Cochlear-Implantate zu regeln, ohne daß die Notwendigkeit besteht, den Inhalt der Implantatkonstruktion und seine Wirkungsweise zu verstehen.
Ausführungsformen des Erfindungsgegenstandes können auch eine Einrichtung vorsehen, die es Untersuchern ermöglicht, komplexere Studien der Wirkungsweisen verschiedener Stimulierungsmuster auf Sprach- und Geräuschempfang durchzuführen, als dies mit dem bestehenden Untersuchungseinrichtungen möglich war.
Jede Diskussion von Dokumenten, Tätigkeiten, Materialien, Vorrichtungen, Artikeln usw., die in die vorliegende Beschreibung eingebracht wurde, hat lediglich den Zweck, eine Erklärung der vorliegenden Erfindung zu geben. Es darf nicht vorausgesetzt werden, daß einige oder alle dieser Elemente einen Teil des Standes der Technik bilden oder Gegenstand des allgemeinen Wissens auf dem Gebiet sind, das mit der vorliegenden Erfindung in Bezug steht, wie es in Australien vor dem Prioritätstag jedes Anspruches dieser Anmeldung vorhanden war.
Zusammenfassung der Erfindung
Nach einem ersten Gesichtspunkt besteht die vorliegende Erfindung aus einer Softwaredatenbank, die eine Vielzahl vorbestimmter Softwaremodule enthält, wobei jedes Softwaremodul Steuerbefehle für eine gewebestimulierende Prothese bestimmt.
Nach einem zweiten Gesichtspunkt betrifft die vorliegende Erfindung eine Kommunikationseinrichtung für die Kommunikation mit einer gewebestimulierenden Prothese, welche Kommunikationseinrichtung in der Lage ist, einen Software-Befehlsatz an die Prothese auszugeben, um diese Prothese zu veranlassen, ein Stimulierungsmuster zu erzeugen, wobei die Kommunikationseinrichtung eine Datenbank vorbestimmter Softwaremodule umfaßt, die für die Schaffung eines Softwarebefehlsatzes verwendbar sind.
Die Kommunikationseinrichtung ist vorzugsweise in Antwort auf einen Satz willkürlicher Kommandos von einem Benützer betreibbar. Nach einem dritten Aspekt besteht die vorliegende Erfindung aus einer Speichereinrichtung, die in maschinenlesbarer digitaler Form eine Vielzahl von Softwaremodulen speichern kann, wobei jeder Softwaremodul Instruktionen zur Steuerung einer gewebestimulierenden Prothese bestimmt.
Nach einem vierten Aspekt besteht die vorliegende Erfindung aus einem Cochlearimplantat-Kommunikator, der in der Lage ist, eine Schnittstelle für den Empfang von Instruktionen von einem Benützer zu bilden und in dem Sinn betreibbar ist, daß er Funktionen innerhalb einer gespeicherten Kommunikationsdatenbank aufruft, wobei diese Funktionen in dem Sinn betreibbar sind, daß sie das Implantat in Übereinstimmung mit den vom Benützer empfangenen Instruktionen steuern, wobei diese Instruktionen keine detaillierte Kenntnis der Konstruktion und Ausführungsform des Implantates erfordern.
Nach einem fünften Aspekt sieht die vorliegende Erfindung ein Verfahren zur Steuerung des Betriebes einer gewebestimulierenden Prothese vor, welches Verfahren folgende Schritte umfaßt:
Empfang von Benützerinstruktionen, die eine gewünschte Aktion der Prothese angeben und Zugriff auf eine Datenbank vorbestimmter Softwaremodule um einen Softwarekommandosatz aufzubauen, der die Prothese veranlaßt, eine gewünschte Aktion vorzunehmen.
Nach einem sechsten Aspekt sieht die vorliegende Erfindung ein Verfahren zum Betrieb einer gewebestimulierenden Prothese vor, welches Verfahren folgende Schritte aufweist: 5 AT 009 321 U1
Empfang einer willkürlichen Benützerinstruktion, die eine gewünschte Aktion der Prothese spezifiziert und
Aufsuchen einer Datenbank vorbestimmter Softwaremodule, um zu erreichen, daß die willkürli-5 chen Benützerinstruktionen von der Prothese befolgt werden, um eine bestimmte Wirkung zu erzeugen.
Durch Schaffung einer Kommunikationseinrichtung, die Instruktionen hohen Niveaus oder willkürlichen Instruktionen von einem Benützer annehmen und diese Instruktionen dazu verwenden io kann, um eine gewebestimulierende Prothese in der gewünschten Weise zu steuern, gestattet es die vorliegende Erfindung dem Benützer der Kommunikationseinrichtung die Prothese zu steuern, ohne daß die Notwendigkeit besteht, daß die Benützer detaillierte Kenntnisse der systembedingten Erfordernisse der Prothese hat, zu denen RF-Zykluszeitbestimmungen, Stromstärken, Energieversorgungsnotwendigkeiten der Prothese usw. zählen. Solche Einrich-15 tungen können es den Untersuchern ermöglichen, sich auf physiologische Stimulierungen und Reaktionen unter minimaler Beachtung von ein niedrigeres Niveau aufweisenden Systemerfordernissen zu konzentrieren.
Die Instruktionen für jedes der Softwaremodule können Instruktionen zur Bestimmung eines 20 Stimulierungsmusters umfassen, das von der Prothese zu erzeugen ist. Alternativ können die Instruktionen auch die Anpassung der Telemetrie durch die Prothese regeln und/oder sich auf die Erfassung von Daten von der Prothese beziehen, wie z. B. Daten, welche die Systembedingungen innerhalb der Prothese angeben oder angeforderte Telemetriedaten. 25 Bei einer bevorzugten Ausführungsform kann die gewebestimulierende Prothese eine implantierbare Prothese sein. Noch bevorzugter kann die Prothese ein Cochlear-Implantat sein. Für die Zwecke der folgenden Beschreibung wird die gewebestimulierende Prothese mit den Ausdrücken eines Cochlearimplantates beschrieben, das einen Sprachprozessor aufweist. Im einzelnen wird die Einrichtung unter Bezugnahme auf Cochlearimplantate beschrieben werden, 30 die vom vorliegenden Anmelder entwickelt wurden, wie beispielsweise die Nucleus®-Familie von Implantaten. Es ist aber vorauszusetzen, daß die vorliegende Erfindung auch in allen Typen von Cochlearimplantaten und anderen gewebestimulierenden Einrichtungen als Cochlearimplantaten verwirklicht werden kann. Das Schnittstellensystem kann eine Rechnereinheit aufweisen oder ein Teil davon sein, beispielsweise ein Personalcomputer (PC). Ein derartiger 35 Computer enthält vorzugsweise eine grafische Benützerschnittstelle (GUI), die es dem Benützer gestattet, dem Schnittstellensystem Instruktionen zu erteilen, wie z. B. verschiedene Parameter für die Funktionen oder Module, die in der Datenbank gespeichert sind, vorzugeben. Der Benützer kann vorzugsweise ein Tastenfeld, eine Maus, ein Touchpad, einen Joystick oder andere bekannte Einrichtungen zum Betrieb von Rechnereinheit und GUI verwenden. 40
Der Softwarekommandosatz der von einem oder mehreren Modulen erhalten wird, kann an den Sprachprozessor über eine Hardwareschnittstelle ausgegeben werden (beispielsweise ein klinisches Programmiersystem (CPS) oder ein tragbares Programmiersystem (PPS), um das Cochlearimplantat zu veranlassen, ein Stimulierungsmuster an dem Cochlearimplantatbenützer 45 auszugeben. Der Softwarekommandosatz könnte auch direkt an den Sprachprozessor ausgegeben werden und es ist auch möglich, daß der Softwarekommandosatz direkt an das Implantat ausgegeben wird ohne daß die Notwendigkeit besteht, den Sprachprozessor zu überbrücken, wenn eine geeignete Verbindung verwendet wird. Die Verwendung der Datenbank vorbestimmter Softwarekommandos/Modulen gestattet es, einem Prüfer bei der Studie der Wirkungsweise so von Cochlearimplantaten geeignete Softwarekommandosätze zu schaffen, ohne daß er das Zusammenwirken der Komponenten des Cochlearimplantates einschließlich der Schnittstellenhardware, dem Sprachprozessor, der RF-Schnittstelle (zwischen dem Sprachprozessor und dem Implantat) und der Implantathardware verstehen muß. Typischerweise ist das für einen Softwareentwickler zur Entwicklung der Software notwendige Wissen im allgemeinen auf das 55 Verständnis der Kapazitäten und Grenzen der Hardwarefunktion begrenzt, beispielsweise 6 AT 009 321 U1 betrifft dies die maximale Stimulierungsrate, die mit dem Implantat möglich ist, usw.
Die Datenbank erreicht diese Abtrennung von der Hardware dadurch, daß eine Basisschnittstelle vorgesehen wird, die vorzugsweise die Eintragung eines Rahmens für alle anderen Teile der 5 Datenbank benützt. Der Rahmen kann ein Stimulierungsrahmen sein, der einen einzelnen Stromimpuls für die Ausgabe am Implantat spezifiziert oder ein nicht stimulierender Rahmen der ein Implantatkommando, wie ein Telemetriekommando spezifiziert. Der Rahmen könnte auch gleichzeitige Stimulationen für die Ausgabe durch das Implantat spezifizieren. Ein Benützer des erfindungsgemäßen Systems, wie ein Untersuchender, kann individuell in jeden Rahmen eine io der folgenden Aktionen spezifizieren:
Die Elektrode(n), die zu stimulieren sind (beispielsweise Auswahl von einer oder mehreren von 22 Intracochlearelektroden); die Referenzelektrode (beispielsweise Auswahl aus einer oder mehreren von 22 Intracochlearelektroden und zwei Extra-Cochlearelektroden); die Pulsstrom-15 stärke, die Pulsphasenbreite, der Phasensprung und der Periode jedes Stimulierungsrahmens. Dementsprechend kann ein Softwaremodulsatzanwender von solchen Instruktionen durch Nützung der Softwaremoduldatenbank typischerweise einen oder mehrere Rahmen in Übereinstimmung mit den Instruktionen enthalten. 20 Der Rahmen kann auch ein nicht stimulierender Rahmen sein, der dazu verwendet wird, einige Operationen des Implantates neben der Ausgabe eines Stimulierungsimpulses zu veranlassen.
Ein spezielles Stimulierungsmuster kann eine Sequenz erwünschter Stimulierungsrahmen enthalten. Eine Sequenz kann die Stimulierungsrahmen enthalten, die auf das Implantat über-25 tragen werden sollen und/oder andere Steuerfunktionen einschließlich nicht stimulierender Rahmen. Die Sequenz kann als Datenbehälter für einen Kommandobefehl verstanden werden, der einen oder mehrere Rahmen oder die gewünschte Steuerfunktion umfaßt. Beispielsweise können zusätzlich zu dem Kommandobefehl, einen Rahmen auf das Implantat zu übertragen, Kommandobefehle vorhanden sein, um die Anpassung der Telemetrie zur passenden Zeit in 30 der Sequenz vorzunehmen bzw. Kommandobefehle die Verbindung auf die Rechnereinheit zurückzumelden usw.
Dementsprechend enthält das Kommunikationssystem vorzugsweise in weiterer Folge einen Sequenzgenerator. Ein derartiger Sequenzgenerator kann dazu Verwendung finden, eine vor-35 gefertigte Sequenz von Rahmen für einen speziellen Zweck zu schaffen. Ein Beispiel für einen solchen Sequenzgenerator ist ein psychophysikalischer Sequenzgenerator, der das Timing der Entladungszeit, die Entladungspause, die Anzahl der Entladungen usw. aufnimmt und eine entsprechende Sequenz erzeugt. Die Verwendung eines solchen Sequenzgenerators hat eine Anzahl von Vorteilen, weil es nicht notwendig ist, Kenntnis über die individuellen Stimulierungs-40 rahmen zu haben, die in einer solchen Sequenz vorhanden wären. Vielmehr arbeitet der Benützer einfach am Niveau der vorstehend erwähnten psychophysikalischen Parameter. Eine Sequenz von Rahmen, die vom Sequenzgenerator bestimmt wurde, kann für die Schaffung zukünftiger Referenzen als weiteres Softwaremodul in der Datenbank gespeichert werden. 45 Eine Datenbankeinrichtung kann dazu Verwendung finden, es einem Benützer zu ermöglichen, eine Sequenz von Rahmen zu konstruieren.
Wenn die Konstruktion einer Sequenz vollständig ist, wird ein Sequenzbild vorzugsweise in den Speicher des Sprachprozessors des Implantates übertragen und eingeschrieben. Das Se-50 quenzbild wird dann von einem Befehlsinterpreter im Sprachprozessor verarbeitet. Jeder Kommandobefehl wird vom Befehlsinterpreter verarbeitet, der jene Wirkung veranlaßt, die mit dem Kommandobefehl angestrebt wird. Diese Tätigkeiten können die Übertragung eines Rahmens auf das Implantat, Durchführung der Telemetrie oder Absendung einer Mitteilung an das Rechnersystem umfassen. Das Timing dieses Prozesses wird vorzugsweise vom Kommandointer-55 preter gesteuert und entspricht vorzugsweise einem RF-Zyklus des Implantates/Sprach- 7 AT 009 321 U1
Prozessors.
Die Datenbank von Befehlen/Modulen kann wenigstens zwei Komponenten enthalten, nämlich die Sprachprozessorsoftware und die Rechnersoftware. Die Sprachprozessorsoftware ist vor-5 zugsweise der Kommandointerpreter, der die Kommandobefehle hinsichtlich der Frequenz der Stimulierungsrahmen mit dem gewünschten Stimulierungsmuster, nicht stimulierende Rahmen, welche das Implantat auf eine gewünschte Art und Weise kontrollieren und/oder geeigneter Steuerlogik interpretiert. Die Rechnersoftware kann typischerweise in zwei Module unterteilt werden, nämlich jenen der die Sequenz und jenen der die Kommunikation zwischen dem io Sprachprozessor und der Rechnereinheit bestimmt.
Die Softwaredatenbank umfaßt vorzugsweise eine oder mehrere Implantatklassen, die in der Datenbank vorhandenen Implantatklassen modellieren vorzugsweise die verschiedenen Typen von Cochlearimplantaten, die mit dem Schnittstellensystem verbunden werden können, bei-15 spielsweise die Nucleus® 22 und Nucleus® 24 Cochlearimplantate. Das Implantatklassenmodell umfaßt vorzugsweise alle relevanten Implantatcharakteristika, um ein richtiges Zusammenwirken zwischen dem Ausgang des Schnittstellensystems und dem Implantat zu gewährleisten, das zu einem bestimmten Zeitpunkt angeschlossen ist. In das Modell können Implantatcharakteristika, wie Übertragungsfrequenz, das RF-Protokoll, die minimalen und maximalen Strom-20 stärken aufgenommen werden. Beim Anschluß eines Implantates an das Schnittstellensystem besteht die erste Aufgabe, die vom Schnittstellensystem zu erfüllen ist, darin, die Datenbank zu benützen, um ein Bild des passenden Implantattypes zu schaffen. Bei einer Ausführungsform kann die Datenbank intern eine Anzahl von Implantaten aufnehmen und alle notwendigen Parameter enthalten. Wenigstens eines dieser Implantate muß ausgewählt werden, bevor das 25 Schnittstellensystem die Verbindung mit dem Implantat aufnehmen kann. Nach einer anderen Ausführungsform kann die Datenbank mit ihrer Schnittstelleneinrichtung dazu verwendet werden, das implantierte Objekt darzustellen und dann entsprechend mit dem Schnittstellensystem zu benützten. 30 Die Datenbank kann in einer Programmiersprache, wie C or C++ geschrieben sein. Die Datenbank kann aber auch eine dynamische Zugriffsdatenbank DLL sein. Die Anwendungsbefehle durch den Benützer können unter Verwendung einer Programmentwicklungseinrichtung geschrieben werden, welche die Funktionen einer externen Datenbank, beispielsweise Borland Delphi, Microsoft Visual C++ oder Borland C++ Builder aufrufen kann. 35
Nach einer weiteren Ausführungsform wird ein Stimulierungsimpuls durch die Kanalnummer (beispielsweise 1 bis 22) und die Stärke (beispielsweise 0 - 1023) definiert. Dieses Format kann intern den Sprachprozessor des Implantates als Eingang für die Speicherungsfunktion Verwendung finden. Die Speicherfunktion zeichnet den Eingang für Patienten spezifischer Parameter 40 auf, beispielsweise die aktive Elektrode der Referenzelektrode, die Stromstärke, den Phasenabstand und verwendet dabei die Grenz- und Komfortpegel des Implantatempfängers. Diese Ausführungsform hat eine Anzahl von Vorteilen, wie: - sie ermöglicht die Speicherung vom Subjekt unabhängiger Stimulierungsdaten 45 - die Programmierung muß nicht für jedes Subjekt wiederholt werden, aber die Ablegung variiert für jedes Objekt - sie verringert die zu speichernde oder zu übertragende Datenmenge - sie verringert das Risiko einer Überstimulierung - sie gestattet eine globale Volumensregelung bei allen Stimulierungsfällen in einer Sequenz. 50
Nach einer weiteren Ausführungsform ist es ersichtlich, daß die individuellen Stimulierungsrahmen direkt von der Rechnereinheit zum Implantat gesendet werden. Dies ist im Gegensatz zu der oben beschriebenen Situation, bei der der Benützer eine Sequenz in den Speicher des Sprachprozessors herunterladen muß. Diese Ausführungsform ermöglicht es, eine Lautfolge (im 55 äquivalenten Stimulierungsrahmen) „offline“ vorzubereiten, wobei die Stimulierungsrahmen in 8 AT 009 321 U1
Echtzeit an das Implantat gesendet würden. Diese Strömungsmode gestattet es, viel längere Stimulierungsmuster an den Implantatempfänger abzugeben, als typischerweise im Speicher eines Sprachprozessors gespeichert werden können. Die „offline“ Verarbeitung könnte in einer Anwendungsform in einem MATLAB durchgeführt werden.
Wie diskutiert wurde, kann das Schnittstellensystem auch nicht stimulierende Rahmen ausgeben, die das Implantat veranlassen, Telemetriewerte vom Implantat auf das Schnittstellensystem zurück zu übertragen. Beispielsweise können die Impedanztelemetrie (d. h. die Impedanz zwischen zwei Elektroden eines Kanals, kann durch Spannungsmesser an den Elektroden während der Stimulierungsphase berechnet werden), Wirksamkeitstelemetrie (d. h. ein Meßvorgang der bestätigt, daß das Implantat die vorgegebene Strommenge an einem Kanal abgibt) und die neurale Reaktionstelemetrie, d. h. eine Messung der Reaktion der Nerven auf einen Stimulierungsimpuls erfaßt werden. Bei einer bevorzugten Ausführungsform können die nicht stimulierenden Rahmen in eine Sequenz von stimulierenden Rahmen eingebettet sein. Solche nicht stimulierende Rahmen können beispielsweise zur folgenden Sequenz von Kommandos führen, die an den Sprachprozessor übergeben werden: (i) starte einen neuen Pufferspeicher (ii) speichere Resultate im Pufferspeicher (iii) erfasse die Anzahl (x) von gespeicherten Resultaten und (iv) übertrage die gesamten Resultate zurück zur Rechnereinheit.
Bei einer noch weiteren Ausführungsform kann das Schnittstellensystem ein Trägersignal ausgeben, das dazu dient, den Betrieb einer außerhalb des Schnittstellensystems befindlichen Einrichtung auszulösen. Beispielsweise kann ein Trägersignal ausgegeben werden, um die Aufzeichnung aufgerufener Möglichkeiten mit einer geeigneten Einrichtung durchzuführen. Es kann sich dabei um eine EABR (Electrically Elicited Auditory Brainstem) Maschine oder um für Prüfungsvorgänge bei mit den interessierenden Stimulierungsrahmen ausgelösten Vorgängen aufgenommene Aufzeichnungen eines digitalen Speicheroszilloskopes (DSO) oder um ähnliche Vorgänge handeln.
Die Datenbank der Kommandos/Module enthält vorzugsweise ein triggerzulassendes Kommando und ein triggerabschaltendes Kommando. Diese Kommandos werden passend platziert, um den gewünschten Ausgang zu erzeugen, beispielsweise abhängig von einer Sequenz nach dem gewünschten Rahmen, für den ein Trägerimpuls zu erzeugen ist. Dies gewährleistet eine Verzögerung zwischen dem momentan verarbeiteten Rahmenkommando und der dem Implantatempfänger präsentierten Stimulierung.
Die vorliegende Erfindung sieht ferner ein Verfahren zum Testen der Wirkungsweise einer gewebestimulierenden Prothese, wie einer implantierbaren Prothese vor. Diese Prothese kann in weiterer Folge ein Cochlearimplantat sein.
Die vorliegende Erfindung sieht auch ein Verfahren zur Kommunikation mit einem Cochlearimplantat unter Verwendung der hier beschriebenen Kommunikationsmittel vor.
Die vorliegende Erfindung schafft eine Anzahl von Vorteilen für Forscher, die auf dem Gebiet von Cochlearimplantaten arbeiten. Ihre Anwendung macht es nicht erforderlich, daß der Untersuchende die genaue Arbeitsweise der Hardware des Implantates versteht, um zu gewährleisten, daß passende Stimulierungsmuster vom Implantat abgegeben werden. Sie erlaubt es auch den Forschern, schneller neue Ideen einzubringen und Experimente mit Implantaten vorzunehmen und jene Resultate zu verbessern, die mit traditionellen Techniken erreichbar sind.
Die potentiellen Anwendungsformen umfassen direkte Tierversuche, psychophysikalische Experimente, Erfassung des vorhandenen Potentials und Sprachcodierungsuntersuchungen. 9 AT 009 321 U1
Durch die ganze Beschreibung wird das Wort „umfassen“ oder Variationen davon, wie „umfasst“ oder „umfassend“ so verstanden, daß es die Aufnahme eines erwähnten Elementes, Bestandteiles oder Schrittes einer Elementengruppe, einer Gruppe von Schritten usw. erwähnt, aber nicht den Ausschluß aller anderen Elemente, Bestandteiles oder Schritte oder Gruppe von 5 Elementen, Bestandteilen oder Elementen bedeutet.
Kurze Beschreibung der Zeichnung
An Hand nur eines Beispiels wird eine bevorzugte Art und Weise zur Durchführung der vorlie-io genden Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben.
Fig. 1 ist ein Beispiel für eine NIC Datenbankarchitektur gemäß der vorliegenden Erfindung.
Fig. 2 ist ein Stimulierungsrahmen mit Parametern,
Fig. 3 ist ein Beispiel für die Implantat- und Rahmenklassenhierarchie, 15 Fig. 4 ist ein Timingschema für eine Taktgeberanordnung und
Fig. 5 ist eine bildliche Darstellung eines Cochlearimplantatsystems nach dem Stand der Technik.
Bevorzugte Art der Ausführung der Erfindung 20
Vor der Beschreibung von Ausbildungsformen der vorliegenden Erfindung ist es zweckmäßig, kurz die Konstruktion eines Types eines bekannten Cochlearimplantatsystems unter Bezugnahme auf Fig. 5 zu beschreiben. 25 Bekannte Cochlearimplantate bestehen typischenweise aus zwei Hauptkomponenten, nämlich einer externen Komponente, die einen Geräusch- (Sprach-)Prozessor 29 umfaßt und einer inneren Komponente, die einen implantierten Empfänger und eine Stimulatoreinheit 22 umfaßt. Der Sprachprozessor 29 ist in dieser Darstellung so konstruiert und angeordnet, daß er hinter das äußere Ohr 11 passen kann. Alternative Ausführungsformen können am Körper getragen 30 werden. Dem Sprachprozessor 29 ist eine Übertragungsspule 24 zugeordnet, welche an die implantierte Einheit 22 über eine RF-Schleife elektrische Signale überträgt.
Die implantierte Komponente umfaßt eine Empfängerspule 23 für den Empfang von Energie und Daten von der Übertragungsspule 24. Von der implantierten Empfänger- und Stimulato-35 reinheit 22 reicht ein Kabel 21 zur Cochlea 12 und endet in einem Elektrodenfeld 20. Die so empfangenen Signale werden über das Elektrodenfeld 22 auf die Basismembran 8 übertragen und stimulieren dadurch den Gehörnerv 9. Die Arbeitsweise einer solchen Einrichtung ist beispielsweise im US-Patent Nr. 4 532 930 A beschrieben. 40 Der Geräuschprozessor 29 des Cochlearimplantates kann eine Tonspektalanalyse der akkustischen Signale durchführen und gibt Amplitudenhöhen im Kanal aus. Der Sprachprozessor 29 kann die Ausgänge auch im Hinblick auf Stärke oder Begrenzung des Spektralmaximas sortieren, wie dies in der SPEAK™-Strategie verwendet wird, die von Cochlear Ltd. entwickelt wurde. Für die Zwecke der vorliegenden Beschreibung steht „NIC“ für „Nucleus® Implant Communica-45 tor“. Wenn auch die vorliegende Beschreibung auf die Beschreibung eines Systems gerichtet ist, das für die Verwendung mit vom vorliegenden Anmelder entwickelten Systemen bestimmt ist, ist klarzustellen, daß die vorliegende Erfindung auch Anwendungsmöglichkeiten bei anderen Implantaten und Vorrichtungen hat, die die gleichen oder ähnliche Arbeitsprinzipien einsetzen. so Überblick
Wie oben beschrieben wurde, ist das Verhalten eines Cochlear-Implantates durch das RF-Signal bestimmt, das zu ihm vom Sprachprozessor übertragen wird. Damit ein erwünschtes Stimulierungsmuster an den Implantatempfänger übertragen wird, muß das korrekte RF-Signal 55 auf das Implantat übertragen werden. Damit in diesem niedrigen Pegelbereich der Differenzie- 10 AT 009 321 Ui rung gearbeitet werden kann, ist es notwendig, Wissen über das Implantat, das RF-Codierungsprotokoll, über den Sprachprozessor und über die Hardwareschnittstelle (an die der Sprachprozessor angeschlossen ist) einzubringen. Die Datenbank von Softwarebefehlen nach der vorliegenden Erfindung (in der Folge die „NIC Library“) zielt darauf ab, dies dadurch zu 5 vermeiden, daß eine Schnittstelle hohen Niveaus dem Grundgerät des Cochlearimplantatsystems hinzugefügt wird.
Die NIC Library verwendet einen Rahmen für alle anderen Teile der Datenbank. Ein Stimulierungsrahmen spezifiziert einen einzelnen Stromimpuls, wogegen ein nichtstimulierender Rah-io men einen Befehl an das Implantat, z. B. einem Telemetriebefehl spezifiziert. Nicht stimulierende Rahmen werden typischenweise automatisch von der Datenbank eingesetzt, um die erwünschten Resultate zu erhalten. Eine Sequenz bedeutet jene Rahmen die auf das Implantat und andere Steuereinrichtungen zu übertragen sind. Sie wird bei der NIC-Anwendung (Sequenzgenerator) konstruiert. Die Sequenz ist aktuell ein Datenbehälter für Kommandoabschnit-15 te, wobei ein Kommandoabschnitt einen Rahmen oder die gewünschte Steuerinformation repräsentiert. (Beispielsweise kann zusätzlich zu dem Kommandoabschnitt zur Übertragung eines Rahmens eines Implantats ein Kommandoabschnitt vorhanden sein, um die Durchführung oder Anpassung der Telemetrie zu einer geeigneten Zeit in der Sequenz zu bewirken.) Ferner können Kommandoabschnitte zur Auslösung von Rückmeldungen an den PC usw. vorgesehen 20 werden.
Wenn die Sequenzkonstruktion komplett ist, wird das Bild der Sequenz in den Speicher des Sprachprozessors eingeschrieben. Die Sequenzabbildung wird dann vom NIC command Interpreter verarbeitet, der im Sprachprozessor (beispielsweise Cochlear Sprint™-Prozessor) vor-25 handen ist. Jeder Kommandoabschnitt wird vom command Interpreter verarbeitet, was die mit dem Kommandoabschnitt zu erreichende Aktion bewirkt. Wie schon beschrieben wurde, umfassen diese Aktionen die Übertragung eines Rahmens auf das Implantat, Anpassung der Telemetrie vom Implantat oder die Absendung einer Verbindungsmitteilung an den PC. Das ge-sammte Timing wird vom command Interpreter kontrolliert und ist an einen RF-Zyklus des Imp-30 lantat/Sprachprozessors angepaßt.
Architektur
Die NIC-Datenbank besteht aus zwei Komponenten, nämlich der Sprachprozessorsoftware und 35 der PC-Software, siehe Fig. 1. Wie oben diskutiert wurde, ist die Sprachprozessorsoftware ein Commandointerpreter, der die Kommandoabschnitte in der Sequenz interpretiert, nämlich Stimulierungsrahmen mit dem gewünschten Stimulierungsmuster, nicht stimulierende Rahmen zur Steuerung des Implantates in einer erwünschten Form oder geeignete Steuerlogik, was alles aufgrund dieser Prozesse erreicht wird. Die PC-Software kann in der Zwischenzeit lose in zwei 40 Module geteilt werden, nämlich jenen, der die Sequenzen konstruiert und jenen, der sich mit den Verbindungen zwischen dem Sprachprozessor und dem PC befaßt. NIC Datenbank-Schnittstelle 45 Bei einer bevorzugten Ausführungsform bietet die NIC Datenbank eine C Sprache Schnittstelle, daß die NIC-Anwendung (d. h. ein Anwenderprogramm, welches die NIC Softwaredatenbank verwendet) verwenden kann und daß sich auf dem Niveau von klinische Bedeutung aufweisenden Einheiten bewegt, wie dies detailliert in Tabelle 1 angegeben ist. Dies ist auch in Fig. 2 für einen Stimulierungsrahmen veranschaulicht (d. h. einen Rahmen, der einen zweiphasigen so Stromimpuls erzeugt, wobei der „Rahmen“ (frame) die Basiseinheit für die Information ist, die vom Sprachprozessor auf ein Implantat übertragen wird). Falls die Stromstärke in Mikroampere angegeben wird, dann ist es möglich, eine Stimulierung auf eine Art zu beschreiben, die vollkommen unabhängig von dem Implantatmodell und Protokoll ist. Die Kliniker sind jedoch daran gewöhnt, in Bedingungen der Stromstärke zu denken, die implantatabhängig ist. 55 5 11 AT 009 321 U1
Tabelle 1: Verfahren zur Festlegung von Stimulierungsparametern
Parameter Stimulierungselektroden Stimulierungsbetriebsarten Ströme
Festlegbare Werte 1-22, ECE! und ECE2 CG, BP, BP+1, MP1, MP1+2, usw. als festgelegtes Stromniveau oder in
Mikroampere (μΑ) 10
Zeitparameter (umfaßt Phasenbreite, Phasenabstand usw) in Mikrosekunden (ps) 15 Implantat- und Rahmenklassen
Implantat- und Rahmenklassen bilden in Verbindung mit Sequenzklassen die Basis für die NIC Datenbank. Das Implantatklassenmodell umfaßt die verschiedenen Implantattypen die es gibt; eine Klasse existiert für die Implantate der CIC1 Serien (d. h. den integrierten Schaltkreis der in 20 der ersten Generation der Nucleus Cochlearimplantate verwendet wurde) und eine Klasse gibt es für Implantate der CIC3 Serien (d. h. den integrierten Schaltkreis der in den Nucleus Cochlearimplantaten der gegenwärtigen Generation Verwendung findet.
Die Implantatcharakteristika der Übertragungsfrequenz, des RF Protokolls, der minimalen und 25 maximalen Stromstärke usw. sind alle in den Modellen eingeschlossen und müssen deshalb vom Untersucher nicht gewußt werden. In ähnlicher Weise klassifiziert das Rahmenmodell den Weg, auf dem Parameter, die im klinischen Schnittstellenbereich spezifiziert wurden in Parameter übersetzt werden, die durch das Implantat verarbeitet werden können. Dies umfaßt die Codierung des RF Protokolls usw. Sowohl die Implantatklassenhierarchie als auch die Rah-30 menklassenhierarchie stehen in enger Beziehung; die Beziehung zwischen den beiden Hierarchien ist in Fig. 3 dargestellt.
Es sollte bemerkt werden, daß, soweit es die NIC Anmeldung betrifft, diese Hierarchie intern in der NIC Datenbank vorhanden ist. Die NIC Anwendung und der NIC Benützer brauchen nur mit 35 der vorgesehenen C-Sprachenschnittstelle befaßt werden und können annehmen, daß die NIC Datenbank die inneren Teile korrekt managen wird.
Schaffung von Implantatobjekten 40 Viel von dem wie die NIC Datenbank wirkt, hängt davon ab, welcher Implantattyp Verwendung finden soll; als ein Beispiel sei angeführt, daß die minimale und maximale Stromstärke davon abhängt, ob ein Implantat der CIC1 oder ein Implantat der CIC3 Verwendung findet. Aus diesem Grund besteht die erste Aufgabe, die bei einer NIC Anwendung gelöst werden muß, um die NIC Datenbank benützen zu können darin, ein Objekt des passenden Implantattypus zu 45 schaffen. Das Implantatobjekt wird dann, wann immer es gebraucht wird, dazu verwendet, um Abstimmungen der Rahmenklassen, der Sequenzklassen usw. durchzuführen.
Es gibt zwei Methoden, um Implantatobjekte zu schaffen. Das erste Verfahren verwendet die Tatsache, daß die NIC Datenbank intern eine Anzahl von Implantatobjekten mit allen Möglich-50 keiten der Parameter auf Vorrat hält. Dies wird automatisch Verwendung finden, wenn die Funktionen aufgerufen werden, die für Rahmenobjekte ImpFrameNew, ImpSequenceNew für die Sequenzen und ImpedanceTestNew für die Impedanzprüfung sind. Ein implantiertes Objekt muß ausgewählt werden, bevor einer dieser Funktionen aufgerufen wird. 55 / * In the application code. 7 12 AT 009 321 U1 / * Select an implant object for a CIC1 series implant. This will use an RF frequency * of 2.5 MHz and the expanded RF protocol. Ensure that the function succeeded. 7 5 int errorCode = lmplantSelectType(CIC1, EXPANDED, 2.5); if (errorCode != 0) { fprintf(stderr, "The function lmplantSelectType(CIC1, EXPANDED 2.5) failed\n"); io return; } / * Create an implant object for a C1C3 series implant. This will use an RF frequency * of 5.0 MHz and the embedded RF protocol. Ensure that the function succeeded. 7 15 errorCode = lmplantSelectType(CIC3, EMBEDDED, 5.0); if (errorCode != 0) { fprintf(stderr, "The function lmplantSelectType(CIC3, EMBEDDED 5.0) failed\n"); return; 20 } / * Further application Processing as necessary. 7 25 Liste 1 - Auswahl von implantierten Implantaten
Das zweite Verfahren dient für die NIC Anwendung zur Schaffung und managen der Implantate die für die Verwendung gewünscht werden. Dieses Verfahren ist völlig unterschiedlich von den vorstehend erwähnten ersten Verfahren, die Implantate, welche mit diesen Verfahren geschaf-30 fen werden, können mit getrennten Schaffungsfunktionen für den Rahmen die Sequenz und die dem Impedanztest unterzogenen Objekte erzeugt werden. Diese sind ImpFrame New-Withlmplant für die Rahmenobjekte, ImpSequence NewWithlmplant für die Sequenzobjekte und Impedance-TestNewWithlmplant für die Impedanztestobjekte. Bemerke, daß es sehr wichtig ist, für die Zerstörungsfunktion die bei jedem der Implantate, die bei diesem Verfahren geschaffen 35 wurden, aufgerufen werden kann, da das Speichermanagement die Aufgabe der NIC Anwendung ist. / * In the application code. 7 40 / * Create an implant object for a CIC1 series implant. This will use an RF frequency * of 2.5 MHz and the expanded RF protocol. Ensure that the function succeeded. 7 IMPLANT* cic1_implant= lmplantNew(2.5, EXPANDED); if (!cic1_implant) 45 fprintf(stderr, "The function lmplantNew(2.5, EXPANDED) failed\n"; return; } so / * Create an implant object for a CIC3 series implant. This will use an RF frequency * of 5.0 MHz and the embedded RF protocol. Ensure that the function succeeded. 7 IMPLANT* cic3_implant = lmplantNew(5.0, EMBEDDED); if (!cic3_implant) 55 fprintf(stderr, "The function lmplantNew(5.0, EMBEDDED) failed\n"); 13 AT 009 321 U1 return; } / * Further application Processing as necessary. 7 / * Now destroy the implant Objects to reclaim the memory; they are no longer needed. 7 lmplantDelete(cic1 Jmplant); lmplantDelete(cic3Jmplant); 10
Schaffung von Rahmenobjekten
Um eine Rahmenobjekt zu schaffen, muß die passende Bildungsfunktion ImpFrameNew oder ImpFrame NewWithlmplant aufgerufen werden. Das Rahmenobjekt wird dann passend für das 15 Implantat geschaffen, wenn die Funktion ImpFrameNew aufgerufen wurde, oder als Funktionsparameter vorgesehen, wenn die Funktion ImpFrameNewWithlmplant gewählt wurde.
Liste 3 - Zeigt diesen Vorgang mit einem Beispiel für beide Verfahren der Schaffung des Rahmenobjektes 20 / * In the application Code. 7 /* Select a CIC3 series implant. 7 int errorCode = lmplantSelectType(CIC3, EMBEDDED, 5.0); 25 if (errorCode != 0) { fprintf(stderr, "Thefunction lmplantSelectType(CIC3, EMBEDDED, 5.0) failed\n"); return; } 30 / * Now use the selected implant to create an appropriate frame object. 7 IMP_FRAME* framel = lmpFrameNew(); if (Iframel) { 35 fprintf(stderr, "The function lmpFrameNew() failed\n"); return; } / * Further application Processing as necessary. 7 40 / * Now create a frame object directly from an implant object. 7 / * First create the implant object. 7 45 IMPLANT* cic3_implant = lmplantNew(5.0, EMBEDDED); if (!cic3_implant) { fprintf(stderr, "The function lmplantNew(5.0, EMBEDDED) failed\n"); return; 50 } / * And now create the frame object. 7 IMP_FRAME* frame2 = lmpFrameNewWithlmplant(cic3_implant); if (!frame2) 55 { 14 AT 009 321 U1 fprintf(stderr, "The function lmpFrameNewWithlmplant(cic3_implant) failed\n"); return; 5 / * Further application processing as necessary. 7 / * And don't forget to delete the Objects! 7 lmpFrameDelete(frame1); io lmpFrameDelete(frame2); lmplantDelete(cic3_implant);
Liste 3 - Schaffung von Rahmenobjekten 15 Setzen der Rahmenparameter
Funktionen werden vorgesehen, um die Parameter von Rahmenobjekten zu setzen und diese sind in Tabelle 2 detailliert. Ein Beispiel zum Setzen dieser Parametern mit typischen Werten ist in Liste 4 vorgesehen. 20
Rahmenfunktion ImpFrameGetActiveElectrode ImpFrameGetReferenceElectrode / ImpFrameSetElectrodes ImpFrameGetCurrentLevel / ImpFrameSetCurrentLevel ImpFrameGetCurrent / ImpFrameSetCurrent ImpFrameGetPhaseWidth/lmpFrameSetPhaseWidth ImpFrameGetPhaseGap/lmpFrameSetPhaseGap ImpFrameGetPeriod / ImpFrameSetPeriod
Parameter aktive Elektrode Referenzelektrode 25
Stromstärke Strom
Phasenbreite 30 Phasenabstand
Periode
Tabelle 2 - Impulsstimulierungsschnittstelle 35 / * Select a CIC3 series implant. 7 int errorCode = lmplantSelectType(CIC3, EMBEDDED, 5.0); if (errorCode != 0) ( fprintf(stderr, "The function lmplantSelectType(CIC3, EMBEDDED, 5.0) failed\n"); 40 return; } / * Now use the selected implant to create an appropriate frame object. 7 IMP_FRAME* frame = lmpFrameNew(); 45 if (Iframe) { fprintf(stderr, "The function lmpFrameNew() failed\n"); return; } 50 /* Set the electrode Parameters; MP1+2 Stimulation on electrode 10. 7 errorCode = lmpFrameSetElectrodes(frame, 10, ECE1_2); if (errorCode != 0). { 55 fprintf(stderr, "The function lmpFrameSetElectrodes(frame, 10, ECE1_2) failed\n"); 15 AT 009 321 U1
ImpFrameDelete(frame); return; } 5 / * Set the current level parameter; a level of 180. 7 errorCode = lmpFrameSetCurrentLevel(frame, 180); if (errorCode != 0) { fprintf(stderr, "Thefunction lmpFrameSetCurrentLevel(frame, 180)failed\n"); io ImpFrameDelete(frame); return; } / * Set the phase width parameter; a duration of 50.0 us. 7 15 errorCode = lmpFrameSetPhaseWidth(frame, 50.0); if (errorCode != 0) { fprintf(stderr, "The function lmpFrameSetPhaseWidth(frame, 50.0) failed\n"); ImpFrameDelete(frame); 20 return; / * Set the phase gap parameter; a duration of 20.0 us. 7 errorCode = lmpFrameSetPhaseGap(frame, 20.0); if (errorCode != 0) 25 { fprintf(stderr, "The function lmpFrameSetPhaseGap(frame, 20.0) failed\n");
ImpFrameDelete(frame); return; } 30 / * Set the period parameter; a period is 4000.0 us, or a Stimulation rate of 250 Hz. 7 errorCode = lmpFrameSetPeriod(frame, 4000.0); if (errorCode != 0) { 35 fprintf(stderr, "The function lmpFrameSetPeriod(frame, 4000.0) failed\n");
ImpFrameDelete(frame); return; } 40 / * Use the newly created frame as and when needed. 7 / * And don't forget to delete all objects created. 7 ImpFrameDelete(frame); 45 Liste 4 - Beispiele für das Setzen von Rahmenparametern Zeitbestimmungsparameter in den Rahmenklassen
Es gibt zwei Ausgaben im Hinblick auf die Zeitbestimmungsparameter für die Rahmenklassen, so Die erste Ausgabe ist jene, daß die minimale Auflösung der Zeitbestimmungsparameter vom verwendeten Protokoll und der Auflösung des internen Sprachprozessorspeichers abhängt. Die zweite Ausgabe ist jene, daß die Zeitbestimmungsparameter untereinander in Beziehung stehen und ebenso zu internen protokollspezifischen Elementen. Beide dieser Ausgaben und wie die NIC Datenbank mit ihnen umgeht, sind in diesem Abschnitt diskutiert. 55 16 AT 009 321 U1
Die erste Ausgabe ist die Genauigkeit des Systemtimings. Die Systemtiminggenauigkeit muß innerhalb der Grenzen eines RF Zyklus des Implantates / Sprachprozessors liegen. Im Hinblick auf die CIC1 Serie der Implantate ist dies ein Zyklus seines 2,5 MHz (400 ns) RF Signales, wogegen für die Implantate der CIC3 Serie dies ein Zyklus seines 5 MHz (200 ns) Signales ist. 5 Im Hinblick auf den Sprachprozessor hängt dies von der internen Repräsentation der Timingparameter ab, die sich ändert, um die Größe der Timingparameter anzupassen. Um mit dieser Lösungsaufgabe sowohl für das Implantat als auch den Sprachprozessor zustande zu kommen, modelliert die NIC Datenbank jede Komponente und wird automatisch die Timingparameter auf den engsten möglichen Wert modifizieren. Es ist wichtig, in Betracht zu ziehen, daß die Timing-io parameter in Richtung der maximalen „Sicherheit“ eingestellt werden. Die Phasenbreiteparameter werden auf den engsten Wert reduziert, wogegen sowohl die Phasenabstands- und die Periodenparameter auf den engsten Wert vergrößert werden.
Ein Beispiel für die Anpassung der möglichen Timingwerte ist in Tabelle 3 präsentiert. Diese ist 15 für ein Implantat der CIC3 Serie (die eine 5 MHz RF Frequenz verwendet) und den SPrint Sprachprozessor vorgesehen.
Timingparameter
Spezifizierter Wert Verwendeter Wert 99,8 ps 28.2 ps 4655.2 ps 20 Phasenbreite 100,0 ps
Phasenabstand 28,1 ps
Periode 4655 ps
Tafel 3 - Beispiel für die Timingquantifizierung 25
Die zweite Ausgabe betrifft die internen Beziehungen zwischen den Timingparametern. Das grundlegende Konzept ist hier, daß die Periode größer sein muß, als zweimal der Phasenabstand plus der Phasenbreite. Dies wird ferner jedoch nur durch die Besonderheiten der Protokolle kompliziert. Aus diesem Grund wurde für die NIC Datenbank die Annäherung gewählt, 30 nach der die Phasenbreite und der Phasenabstand mit ihren Parametern Priorität vor den Periodenparametern haben. Beim Setzen der Timingparameter für ein Rahmenobjekt muß dies in Betracht gezogen werden.
In der Praxis bedeutet dies, daß, wenn die Phasenbreite und Phasenabstandsparameterwerte 35 so sind, daß der Periodenparameterwert nicht groß genug wäre um sie aufzunehmen, dann wird der Periodenparameterwert nach Bedarf vergrößert. Diese Ausgabe ist am besten mit einem Beispiel illustriert, das in der Liste 5 gezeigt ist. Ein Rahmenobjekt soll für ein CIC3 Implantat geschaffen werden. Die Phasenbreite soll auf 100 ps, der Phasenabstand auf 50 ps und die Periode auf 200 ps (d. h. auf eine Stimulierungsrate von 5 kHz) gesetzt werden. Augen-40 scheinlich ist der Periodenwert in seiner Dauer zu kurz, um zwei Phasenbreiten mit einer Dauer von je 100 ps und den Phasenabstand mit einer Dauer von 50 ps aufzunehmen. Der Periodenwert wird automatisch auf einen Wert von etwa 260 ps erhöht (der genaue Wert hängt von dem eingeschriebenen RF Protokoll ab, d. h. von einem Protokoll, das die Rahmenparameter als binäre Amplitudenmodulation der RF Entladungen für jede Phase umfaßt. 45 / * A CIC3 series implant has been selected, a frame has been created and its electrodes * and current level have been set. These steps are not relevant to the example. 7 so / * Set the phase width parameter; a duration of 100.0 us. 7 errorCode = lmpFrameSetPhaseWidth(frame, 100.0); if (errorCode != 0) { fprintf(stderr, "Thefunction lmpFrameSetPhaseWidth(frame 100.0) failed\n"); 55 ImpFrameDelete(frame); 17 AT 009 321 U1 retum; } / * Set the phase gap parameter; a duration of 50.0 us. 7 5 errorCode = lmpFrameSetPhaseGap(frame, 50.0); if (errorCode != 0) { fprintf(stderr, "The function lmpFrameSetPhaseGap(frame, 50.0) failed\n"); ImpFrameDelete(frame); io return; } / * Set the period parameter; a period is 200.0 us. 7 errorCode = lmpFrameSetPeriod(frame, 200.0); 15 if (errorCode != 0) { fprintf(stderr, "The function lmpFrameSetPeriod(frame, 200.0) failed\n");
ImpFrameDelete(frame); return; 20 } / * Now get the period parameter. It will not be 200.0 us as set above, rather it will * be approximately 260 us, because of the priority of the phase width and phase gap * Parameters over the period parameter. 7 25 Microsec new_period = ImpFrameGetPeriod(frame); if (new_period < 0) { fprintf(stderr, "The function ImpFrameGetPeriod(frame) failed\n"); ImpFrameDelete(frame); 30 return; } / * Remainder of NIC application code. 7 35
Liste 5 - Beispiel der Rahmentimingparameter Sequenzen 40 Wie bereits diskutiert wurde, ist eine Sequenz ein Behälter für Kommandobefehle. Jedem Kommandobefehl ist eine Aktion zugeordnet, die vom Kommandointerpreter in einer Zeit ausgeführt wird, wenn der Kommandobefehl Verarbeitung findet. Einige Beispiele für Kommandobefehle, die in der NIC Datenbank existieren und ihre Funktionalität sind in Tabelle 4 detailliert.
Funktionalität 45 Kommandobefehl
Channel Magnitude 50 End
Instruiert den Kommandointerpreter einen Rahmen auf das Implantat zu übertragen. Nur der Kanal und die Größe sind im Befehl spezifiziert, wobei die verbleibende Information über die eingebaute Funktionsmappe zur Verfügung gestellt wird. Dieser Befehl verwendet weniger Speicher als der Rahmenbefehl (frame token).
Zeigt dem Kommandointerpreter an, daß die Verarbeitung der Sequenz aufhören soll. Keine weiteren Befehle werden verarbeitet und Energierahmen werden übertragen werden, um das 55 18 AT 009 321 U1
Kommandobefehl Funktionalität Implantat im Bedarfsfall unter Energie zu halten. Frame Instruiert den Kommandointerpreter, einen Rahmen auf das Implantat zu übertragen. Next Das Ende einer Wiederholungsschleife. Siehe das repeat Kommando für mehr Details. Pause Informiert den Kommandointerpreter bei der Verarbeitung von Befehlen zu pausieren. Während dieser Zeit werden keine Rahmen auf das Implantat übertragen. Power Frame Instruiert den Kommandointerpreter einen Energierahmen auf das Implantat zu übertragen. Power Frame Configuration Informiert dem Kommandointerpreter mit dem zu verwendenden Rahmen in Situationen, wo ein Energierahmen benötigt wird. Protocol Formungsbefehl der das RF Protokoll und damit in Beziehung stehende Information spezifiziert. Dieser Befehl wird von der Datenbank wo benötigt automatisch eingesetzt. Repeat Der Start einer Wiederholungsschleife. Alle Kommandos zwischen ihm und dem entsprechenden next Kommandobefehl werden wiederholt. Die Anzahl der Wiederholungen der Schleife ist als Teil dieses Kommandobefehls inkludiert. Restart Informiert den Kommandointerpreter, daß die Verarbeitung der Frequenz von deren Beginn an wieder beginnen soll. Dieser Prozeß wird unbestimmt fortlaufen und es werden keine weiteren Befehle in der Frequenz über diesen Befehl hinaus verarbeitet. Retrieve Telemetry Pointers Der Kommandointerpreter bestimmt die Lokalisierung von Telemetriehinweisen aus dem Speicher, die mit dem Kommandobefehl störe telemetry pointers gespeichert wurden. Send Communications Message Informiert den Kommandointerpreter eine Kommunikationsmitteilung vom Sprachprozessor an den PC zu senden. Store Telemtry Pointers Der Kommandointerpreter erinnert sich an die momentane Lage der Telemetriehinweise. Telemetry Instruiert den Kommandointerpreter Telemetriewerte zu sammeln. Version Indentifziert die Version des Kommandointerpreters. Dieser Befehl wird automatisch von der Datenbank eingesetzt wo dies erforderlich ist.
Tabelle 4 - Kommandobefehle 19 AT 009 321 U1
Vorzugsweise wird angestrebt, daß die NIC Anwendung nie tatsächlich direkt mit den Kommandobefehlen befaßt ist, sondern daß eine Schnittstelle vorgesehen wird, um alle Betätigungen mit Sequenzobjekten zu managen. Beispielsweise kann eine NIC Anwendung nie direkt ein frame Kommando an einen Sequenzgegenstand anfügen. Die Anwendung ruft eher die Funkti-5 on ImpSequenceAppendFrame oder ImpSequenceAppendFrames auf, um diese Aufgabe zu erfüllen. Somit besteht für viele Kommandos eine eins zu eins Übereinstimmung zwischen dem Kommandobefehl und einer Funktion, die in der Sequenzschnittstelle vorgesehen ist, jedoch können einige der oben detaillierten Kommandobefehle nie in Betracht gezogen werden, auch wenn eine passende Sequenzschnittstellenfunktion vorhanden ist. Eher werden die Sequenz-io klassen den Befehl automatisch wie benötigt an der richtigen Stelle einsetzen.
Schaffung von Sequenzobjekten
Die Schaffung von Sequenzobjekten ist sehr viel einfacher als die Schaffung von Rahmenobjek-15 ten. Es sind in der Sequenzschnittstelle zwei Funktionen vorgesehen, um Sequenzobjekte zu schaffen, nämlich ImpSequenceNew und ImpSequenceNewWithlmplant. Für die erste Funktion wird ein Sequenzobjekt passend für das vorher ausgewählte implantierte Objekt geschaffen bzw. im Fall der zweiten Funktion wird das implantierte Objekt als Funktionsparameter vorgesehen und benützt. Die Liste 6 illustriert ein Beispiel beider dieser Verfahren der Schaffung von 20 Sequenzobjekten. /* In the application code. 7 25 / * Select a CIC3 series implant. 7 int errorCode = lmplantSelectType(CIC3, EMBEDDED, 4.2); if (errorCode != 0) { fprintf(stderr, "Thefunction lmplantSelectType(CIC3, EMBEDDED, 4.2) failedW'); 30 return; } / * Now use the selected implant to create an appropriate sequence object. 7 IMP SEQUENCE* sequencel = lmpSequenceNew(); 35 if (! sequencel) { / * The function ImpSequenceNew failed. Inform the user. 7 fprintf(stderr, "The function lmpSequenceNew() failed\n"); 40 } / * Further application processing as required, using the sequence object. 7 45 / * Now create a sequence object directly from an implant object. 7 / * First create the implant object. 7 IMPLANT* cic3_implant = lmplantNew(4.2, EMBEDDED); if (!cic3_implant) 50 { /* The function ImplantNew failed. Inform the user. 7 fprintf(stderr, "The function lmplantNew(4.2, EMBEDDED) failed\n"); 55 } 20 AT 009 321 U1 / * And now create the sequence object. 7 IMP_SEQUENCE* sequence2 = lmpSequenceNewWithlmplant(cic3_implant); if (!sequence2) { 5 / * The function ImpSequenceNewWithlmplant failed. Inform the user. 7 fprintf(stderr, "The function lmpSequenceNewWithlmplant() failed\n"); Γ io / * Further application Processing as necessary. 7 / * And don't forget to delete the objects! 7 lmpSequenceDelete(sequence1); 15 lmpSequenceDelete(sequence2); lmplantDelete(cic3_implant); /* Remainder of NIC application code. 7 20
Liste 6 - Sequenzobjektschaffung Speicherung von Sequenzobjekten 25 Die vorliegende Ausführungsform sieht zwei Funktionen in der Sequenzschnittstelle vor, um die Speicherung und Wiedergewinnung von Sequenzobjekten zu managen. Diese sind ImpSe-quenceReadSequence und ImSequenceWriteSequence. Diese Funktionen können Verwendung finden, um eine Serie von Stimulierungssequenzen auf Platten zu speichern und dann wie passend zu einer späteren Zeit zu verwenden. 30
Die Liste 7 illustriert die Verwendung dieser Funktionen /* In the application code. A sequence object has been created previously. 7 35 / * Store the sequence, previously constructed, to the file examplel .seq. 7 error_code = lmpSequenceWriteFile(sequence, "examplel .seq"); if (error_code != 0) { 40 / * The function ImpSequenceWriteFile failed. Inform the user. 7 fprintf(stderr, "The function lmpSequenceWriteFile() failed\n"); Γ 45 / * Further application code as required. 7 / * Retrieve the sequence from the file examplel .seq. 7 error_code = lmpSequenceReadFile(sequence, "examplel.seq"); so if (error_code != 0) { /* The function ImpSequenceReadFile failed. Inform the user. 7 fprintf(stderr, "The function ImpSequenceReadFileO failed\n"); 55 } 21 AT 009 321 U1 / * The object sequence now contains / * Remainder of NIC application code. 7
Liste 7 - Beispiel für die Speicherung und Wiederverwendung einer Sequenz Zugabe von Kommandobefehlen zu einer Sequenz io Vorzugsweise sieht die Sequenzschnittstelle einer Anzahl von Funktionen vor, die Kommandobefehle (wie detailliert in Tafel 4) direkt dem Sequenzobjekt zufügen. Im einzelnen umfassen diese Funktionen die Hinzufügung von Rahmenobjekten zu dem Sequenzobjekt, was in diesem Abschnitt behandelt werden wird und Schleifenkommandobefehle. Die Funktionen ImpSequen-ceAppendFrame und ImpSequenceAppendPowerFrame werden veranlassen, daß ein Rahmen 15 zum Implantat übertragen wird. Die vorherige Funktion nimmt ein Rahmenobjekt als einen Parameter, wogegen die letztere Funktion ein Energierahmenobjekt verwendet, das zu der Zeit angesetzt wurde, als daß Sequenzobjekt geschaffen wurde. Die Liste 8 illustriert die Verwendung dieser Funktionen 20 / * In the application code. A number of frame and sequence objects have been created * previously. 7 / * Append a frame to the sequence. 7 25 error_code = lmpSequenceAppendFrame(sequence, frame); if (error_code != 0) { / * The function ImpSequenceAppendFrame failed. Notify the user. 7 fprintf(stderr, "The function lmpSequenceAppendFrame() failed\n"); 30 } / * Append a power frame to the sequence. 7 error_code = ImpSequenceAppendPowerFrame(sequence); 35 if (error_code != 0) { / * The function ImpSequenceAppendPowerFrame failed. Notify the user. 7 fprintf(stderr, "The function ImpSequenceAppendPowerFrameO failed\n"); 40 } /* Perform further sequence construction as required. 7 45 / * Signify the end of the sequence with an end token. 7 error_code = ImpSequenceAppendEndToken(sequence); if (error_code ! = 0) { so / * The function ImpSequenceAppendEndToken failed. Notify the user. 7 fprintf(stderr, "The function ImpSequenceAppendEndTokenQ failed\n");
Liste 8 - Anbringung von Rahmenkommandobefehlen 55 22 AT 009 321 U1
Schleifen in den Sequenzen
In der bevorzugten Ausführungsform umfaßt das Konzept einer Sequenz auch Schleifen, wobei ein Satz von Kommandobefehlen in einer spezifizierten Anzahl wiederholt werden kann. Diese 5 Funktion wird in einer Anzahl von Situationen automatisch eingesetzt, um Speicherkapazität im entstehenden Sequenzbild zu sparen (d. h., die Datenstruktur die eine Sequenz definiert). Die NIC Anwendung braucht sich nicht selbst mit dem Fall der automatischen Verwendung der Schleifenfunktion zu befassen, sondern muß nur realisieren, daß einige Verfahren, die ein Sequenzobjekt benützen, in einem kleineren Sequenzbild resultieren. Diese Funktionalität wird io automatisch für die Funktionen ImpSequenceAppendFrame, ImpSequenceAppendPowerFra-mes und ImpSequenceAppendSequence (falls erforderlich) eingesetzt. Die Liste 9 illustriert, wann die Schleifenfunktionsfähigkeit automatisch durch das Sequenzobjekt verwendet werden wird und gibt auch eine Codierung an, um die Verwendung der Schleifenfunktion zu verhindern. 15 / * In the application code. A number of frame and sequence objects have been created * previously. */ / * A loop will be used here automatically to conserve memory. The loop will repeat one 20 * hundred (100) times. 7 error_code = lmpSequenceAppendFrames(sequence, frame 100); if (error_code != 0) { / *The function ImpSequenceAppendFrames failed. Notifythe user. 7 25 fprintf(stderr, "The function ImpSequenceAppendFramesO failed\n"); } / * A loop will also be used here automatically. Again the loop will repeat one 30 * hundred (100) times. 7 error_code = lmpSequenceAppendPowerFrames(sequence, 100); if (error_code != 0) { / * The function ImpSequenceAppendPowerFrames failed. Notify the user. 7 35 fprintf(stderr, "The function lmpSequenceAppendPowerFrames()failed\n"); } / * And a loop will also be used here automatically. Again the loop will repeat one 40 * hundred (100) times. 7 error_code = lmpSequenceAppendSequence(sequence, sub_sequence, 100); if (error_code != 0) { / * The function ImpSequenceAppendSequence failed. Notify the user. 7 45 fprintf(stderr, "The function ImpSequenceAppendSequenceO failed\n"); } / * The following code will prevent a loop being used and will transmit exactly the so * same set of frames to the implant as the first example above. However, it will use * far more memory. 7 for (int i = 0; i < 100; i++) { error_code = lmpSequenceAppendFrame(sequence, frame); 55 if (error_code != 0) 23 AT 009 321 U1 { / * The function ImpSequenceAppendFrame failed. Notify the user. 7 fprintf(stderr, "The function ImpSequenceAppendFrameQ failed\n"); s } } /* Perform further sequence construction as required. 7 10 / * Signify the end of the sequence with an end token. 7 error_code = ImpSequenceAppendEndToken(sequence); if (error code != 0) { 15 / * The function ImpSequenceAppendEndToken failed. Notify the user. 7 fprintf(stderr, "The function lmpSequenceAppendEndToken() failed\n");
Liste 9 - Inhärente Schleifenfunktion 20 Zusätzlich kann die Schleifenstruktur manuell durch geeignete Benützung der Sequenzschnittstellenfunktionen ImpSequenceAppendRepeatToken und ImpSequenceAppendNextToken spezifiziert werden. Die Liste 10 illustriert die Verwendung dieser Funktionen. / * In the application code. A number of frame and sequence objects have been created 25 * previously. 7 / * Create a loop that will repeat a two frame sub-sequence, one hundred *(100) times. 7 30 error_code = lmpSequenceAppendRepeatToken(sequence, 100); if (error_code != 0) { /* The function ImpSequenceAppendRepeatToken failed. Notify the user. 7 fprintf(stderr, "The function ImpSequenceAppendRepeatTokenO failed\n"); 35 } errorcode = lmpSequenceAppendFrame(sequence, framel); if (error_code != 0) 40 { / * The function ImpSequenceAppendFrame failed. Notify the user. 7 fprintf(stderr, "The function ImpSequenceAppendFrame(framel) failed\n"); } 45 error_code = lmpSequenceAppendFrame(sequence, frame2); if (error_code != 0) { / * The function ImpSequenceAppendFrame failed. Notify the user. 7 so fprintf(stderr, "The function lmpSequenceAppendFrame(frame2) failed\n"); } error_code = ImpSequenceAppendNextToken(sequence); 55 if (error code != 0) 24 AT 009 321 U1 { / * The function ImpSequenceAppendNextToken failed. Notify the user. 7 fprintf(stderr, "The function ImpSequenceAppendNextTokenO failed\n"); 5 } / * Perform further sequence construction as required. 7 io / * Signify the end of the sequence with an end token. 7 error_code = ImpSequenceAppendEndToken(sequence); if (error code != 0) { /* The function ImpSequenceAppendEndToken failed. Notify the user. 7 15 fprintf(stderr, "The function ImpSequenceAppendEndTokenQ failed\n");
Liste 10 - Schleifenkonstruktion 20 Es sollte bemerkt werden, daß ein kleineres Sequenzbild in einem größeren Stimulierungsmuster resultieren kann (aufgrund der Konservierung einer begrenzten Speicherkapazität) und daß es nur eine kürzere Zeit benötigen wird, um das Sequenzbild an den Sprachprozessorspeicher zu übertragen. 25 Die Sequenzschnittstelle hat die Funktion, eine Sequenz für immer zu wiederholen. Dies wäre zweckmäßig, wenn ein konstantes Stimulierungsmuster verlangt wird und die Dauer der Stimulierung nicht kritisch ist. Die Liste 11 veranschaulicht ein Beispiel der Konstruktion einer solchen Sequenz. 30 / * In the application code. A number of frame and sequence objects have been created * previously. 7 / * Create a sequence that will be repeated "forever" (or at least until the sequence 35 * Processing is stopped. 7 error_code = lmpSequenceAppendFrame(sequence, framel); if (error_code != 0) { / * The function ImpSequenceAppendFrame failed. Notify the user. 7 40 fprintf(stderr, "The function ImpSequenceAppendFrame(framel) failed\n"); } error_code = lmpSequenceAppendFrame(sequence, frame2); 45 if (error_code != 0) { / * The function ImpSequenceAppendFrame failed. Notify the user. 7 fprintf(stderr, "The function lmpSequenceAppendFrame(frame2) failed\n"); 50 } / * Append other command tokens as required. 7 55 /* The sequence is to repeat forever, the repeat forever token is used in the place of an end 25 AT 009 321 U1 token. */ error_code = lmpSequenceRepeatForever(sequence); if (error_code != 0) { 5 / * The function ImpSequenceRepeatForever failed. Notify the user. */ fprintf(stderr, "The function ImpSequenceRepeatForeverQ failed\n");
Liste 11- Beispiel für die ewige Wiederholung 10
Sequenzgeneratoren - Impedanz Test Für viele Sequenzen, die eine NIC Anwendung generieren kann, wird die Struktur der Sequenzen mit der Ausnahme von einigen allgemeinen Parametern ähnlich sein. Typischerweise sind 15 diese Hauptparameter von Natur aus im hohen Niveaubereich; die Parameter wirken in den individuellen Rahmen in der Sequenz, haben jedoch einen holistischen Effekt auf die Sequenz. Sequenzen die dafür ausgelegt sind, psychophysikalische Stimulierungsmuster zu bilden, sind typisch für diesen Effekt, es sind bestimmte Unterschiede in den individuellen Rahmen innerhalb der Sequenz vorhanden, wobei sie durch Unterschiede in den Elektroden, welche stimu-20 liert werden, der Stimulierungsentladungsdauer, der Entladungsabstände, der Anzahl der Wiederholungen usw. verursacht werden.
Das Sequenzgeneratorkonzept gestattet es einer NIC Anwendung in einem höheren Niveau der Abstraktion als individuelle Rahmen zu arbeiten. Die Parameter hohen Niveaus werden spezifi-25 ziert als Teil der Schnittstelle an den Sequenzgenerator und das Wissen wie die passende Sequenz aus diesen Parametern zu generieren ist, ist intern enthalten.
Der Impedanz-Testsequenzgenerator schafft eine Sequenz, welche die Spannungstelemetriefunktionsfähigkeit des CIC3 Implantates aufruft und dann die an jeder abgerufenen Elektrode 30 vorhandene Impedanz berechnet. Eine NIC Anwendung kann den Impedanztestsequenzgenerator dazu verwenden, um in ihm eine Impedanzmeßfunktion vorzusehen. Die NIC Anwendung kann entweder die Parameter spezifizieren, die vom Impedanztestobjekt benötigt werden oder die sensiblen Abweichungen benützen die vorgesehen werden. Es ist nicht notwendig, Kenntnis von der Spannungs-Fernmeßfunktion des CIC3 Implantates Kenntnis zu haben, um den Impe-35 danztestgenerator zu benützen. Tatsächlich illustriert es perfekt, das Sequenzgeneratorkonzept eines Schnittstelienniveaus über jenem das individuelle Rahmen spezifiziert.
Die Parameter, die durch die Schnittstelle der ImpedanceTest Klasse gesetzt werden können und ihre Abweichungen sind in Tafel 5 spezifiziert. Jeder dieser Parameter ist durch eine pas-40 sende „set“-Funktion spezifiziert, z. B. besteht die Funktion für den Stimulierungsart-Parameter: ImpedanceTestSetStimulationMode. verwendeter Wert Commond Ground (CG) 100 25,0 ps 1 - 22 (inklusiv)
Parameter Stimulationsbetriebsart 45
Stromstärke Phasenbreite so Elektroden
Wertebereich Common Ground (CG), Monopolar 1 (MP1), Monopolar 2 (MP2) Monopolar 1 und 2 (MP1+2) 0-255 400,0 ps 1 - 22, Maximum von 22 Elektroden
Tafel 5 - Impedanz Test Parameter 55
Vorzugsweise macht der Impedanz-Test-Sequenzgeneratorverbrauch von der Bedingungsno- 26 AT 009 321 U1 tierung um im Bedarfsfall die NIC Anwendung auf bestimmte Zustände aufmerksam zu machen. Die Bedingungen, die in der ImpedanceTest Klasse Verwendung finden, sind in Tafel 6 detailliert. Die Channel to be Stimulated-Bedingung kann von der NIC Anwendung verwendet werden, um dem Benutzer eine Fortschrittsanzeige zu geben. Die NIC Anwendung wird eine 5 Channel to be Stimulated Bedingungsmitteilung für jede der Elektroden erhalten, für welche die Impedanz gemessen wird.
Bedingung Beschreibung io Channel to be Stimulated Die NIC Anwendung wird von dieser Bedingung unterrichtet, unmittelbar bevor jede Elektrodenimpedanz gemessen wird.
Characteristic Data Collected 15 Sequence End
Die Telemetriedaten wurden gesammelt und die Impedanzwerte können nun erfaßt werden.
Die Sequenzverarbeitung hat aufgehört, d. h., das Ende der Sequenz wurde festgestellt.
Tabelle 6 - Bedingungen, die in der Impedanztestklasse Verwendung finden. 20
In der Liste 12 sind einige Codierungsbeispiele gezeigt, welche die Verwendung des Impedanztestsequenzgenerator illustrieren. / * Functions to be invoked by the NIC Library for the three conditions. 7 25 void UserOnSequenceEnd() { /‘Codeto beexecuted on being notifiedoftheSequence End conditiongoeshere. 7 } 30 void UserOnDataCollected() { / * Code to be executed on being notified of the Characteristic Data Collected * condition goes here. 7 35 } void UserOnChannelStimulated(Electrode ae, Electrode re) { 40 / * Code to be executed on being notified of the Channel To Be Stimulated * condition goes here. 7 } 45 / * In application code. Previous to this a CIC3 type implant object has been selected, * a sequence object has been created and the Communications System has been * initialized. 7 so / * Set up the functions which will be called automatically by the NIC Library when the * respective condition occurs. 7 int error_code = RegisterOnSequenceEndFunction(UserOnSequenceEnd) if (error code != 0) { 55 / * The function RegisterOnSequenceEndFunction failed. Notify the user. 7 27 AT 009 321 U1 fprintf(stderr, "The function RegisterOnSequenceEndFunctionQ failed."); } 5 error_code =
RegisterOnCharacteristicDataCollectedFunction(UserOnDataCollected); if (error_code != 0) { /* The function RegisterOnCharacteristicDataCollectedFunction failed. Notify io * the user. 7 fprintf(stderr, "The function RegisterOnCharacteristicDataCollectedFunction() failed."); } 15 error_code =
RegisterOnChannelToBeStimulatedFunction(UserOnChannelStimulated); if (error_code != 0) { 20 / * The function RegisterOnChannelToBeStimulatedFunction failed. Notify the user. 7 fprintf(stderr, "The function RegisterOnChannelToBeStimulatedFunction() failed."); } 25 / * Create an instance of the ImpedanceTest dass. 7 IMPEDANCE_TEST* impedance_test = lmpedanceTestNew(); if (!impedance_test) { / * The ImpedanceTestNew function failed. Notify the user. 7 30 fprintf(stderr, "The function lmpedanceTestNew() failed."); } / * Set the Stimulation mode; MP1+2 is to be used. 35 error code = lmpedanceTestSetStimulationMode(impedance_test, MP1_2) if (error_code != 0) { / * The function ImpedanceTestSetStimulationMode failed. Notify the user. 7 fprintf(stderr, "The function ImpedanceTestSetStimulationModeO failed."); 40 } / * Set the electrodes to measure impedances on; * electrodes 1 through 15 are to be used. 7 45 Electrode electrodes_to_measure[15]; for (inti = 0; i < 15; i++) { electrodesToMeasure[i] = i + 1; } 50 error_code= lmpedanceTestSetElectrodes(impedance_test, 15, &electrodes_to_measure) if (error_code != 0) { 55 / * The function ImpedanceTestSetElectrodesfunction failed. Notify the user. 7 28 AT 009 321 U1 fprintf(stderr, "The function lmpedanceTestSetElectrodes() failed."); } 5 / * Generate the sequence which will measure the electrode impedances. 7 error_code = lmpedanceTestGenerateSequence(impedance_test, sequence) if (error_code != 0) { / * The function ImpedanceTestGenerateSequencefailed. Notify the user. 7 io fprintf(stderr, "The function ImpedanceTestGenerateSequenceQ failed."); } /* Write the sequence into program slot 1 of the speech processor. 7 15 error_code = lmpCommunicatorWriteSequence(sequence, 1); if (error_code != 0) { /* The function ImpCommunicatorWriteSequence. Notify the user 7 fprintf(stderr, "The function lmpCommunicatorWriteSequence() failed."); 20 } / * Set the damp gap System setting to 10.0 us. 7 error_code = ImpCommunicatorSetDampGap(IO.O); 25 if (error_code != 0) { /* The function ImpCommunicatorSetDampGap. Notify the user. 7 fprintf(stderr, "The function ImpCommunicatorSetDampGapO failed."); 30 } / * Start the sequence in program slot 1; the impedance_test object is to deal with * the resulting communication messages. 7 error code = lmpCommunicatorStartSequence(1, (COMMUNICATIONS_HANDLER*)impe-35 dance_test); if (error_code != 0) { / * The function ImpCommunicatorStartSequence. Notify the user. 7 fprintf(stderr, "The function ImpCommunicatorStartSequenceO failed."); 40 } / * The damp gap setting must be returned to 0.0 us the next time the function * ImpCommunicatorStartSequence is invoked. 7 45
Liste 12 - eines Impedanztestbeispieles
Kommunikation zwischen dem Sprachprozessor und dem PC 50
Bei den bevorzugten Ausführungsformen kann die Kommunikation, die zwischen dem Sprachprozessor und dem PC stattfindet, grob in zwei Typen unterteilt werden. Die erste Type dient für direkt installierte Kommunikationen vom PC. Dies umfaßt die Absendung eines Sequenzbildes an den Sprachprozessor, Instruktion an den Kommandointerpreter, die Sequenzverarbeitung zu 55 starten, Instruktion an den Kommandointerpreter, die Sequenzverarbeitung zu beenden usw.. 29 AT 009 321 U1
Die zweite Type ist für Kommunikationen, die vom Sprachprozessor initiiert werden. Dies umfaßt Mitteilungen, die in eine Sequenz eingebettet sind, Mitteilungen, die anzeigen, daß die Sequenzverarbeitung aufgehört hat usw.. 5 Initialisierung des Kommunikationssystemes und Auswahl der Hardwareschnittstelle
Die Komminikationskomponente der NIC Datenbank wird durch die Funktion ImpCommunica-torlnit initialisiert. In ähnlicher Weise wie bei den Implantat-, Rahmen-, Sequenz- und Impedanztestobjekten muß die Zerstörungsfunktion ImpCommunicatorDelete aufgerufen werden, sobald io die NIC Anwendung aufgehört hat, die Kommunikationskomponente der NIC Datenbank zu benützen. Die Kommunikationskomponente der NIC Datenbank ist jedoch eine Einzeleinheit, was bedeutet, daß nur eine davon zu irgendeiner Zeit existieren kann. Man bemerke auch, daß vor dem Aufrufen der Funktion ImpCommunicatorlnit eine Hardwareschnittstelle gewählt sein muß. 15
Die NIC Datenbank der vorliegenden Erfindung kann beide Typen an Hardwareschnittstellen benützen, die derzeit erhältlich sind, nämlich das Clinical Programming System (CPS) und das Portable Programming System (PPS). In der Datenbank existieren zwei Funktionen, um zwischen diesen beiden Typen wählen und auch die entsprechende Schnittstelle richtig konfigurie-20 ren zu können. Die Funktion ImpCommunicatorSetCPSConfiguration wählt die CPS Schnittstelle und die Basisadresse der IF5 Karte, wogegen die Funktion ImpCommunicatorSetPPSConfi-guration die PPS Schnittstelle den Kommunikationseingang und die Kommunikationsgeschwindigkeit auswählt. 25 CPS Schnittstelle
Um die CPS Hardwareschnittstelle zu benützen, muß die Adresse, auf der sich die Schnittstelle im 1/0 Adressenspeicher des PC's befindet, spezifiziert werden. Die möglichen Adressen, an dem sich die CPS Schnittstelle befinden kann, sind ox100, 0X220, 0X300, oder 0X340 (alle 30 diese Adressen im Hexadezimalsystem). Ein Beispiel, wie man die Datenbank initialisieren kann, um die CPS Hardwareschnittstelle zu benützen, ist in der Liste 13 angegeben. /* In the application code. 7 35 / * The most common address at which the CPS interface is located is 0x300. * Though it could as easily be located at 0x100, 0x220 or 0x340. 7 int if5_card_address = 0x300; 40 / * Set the interface type to CPS and set its Parameters. 7 error_code = lmpCommunicatorSetCPSConfiguration(if5_card_address); if (error_code != 0) { 45 / * The ImpCcmmunicatorSetCPSConfiguration function failed. Notify the user. 7 } /* Now initialise the Communications System, which will use the CPS interface. 7 so error_code = lmpCommunicatorlnit(); if (error_code ! = 0) { / * The ImpCommunicatorlnit function failed. Notify the user. 7 55 } 30 AT 009 321 U1 / * Further application code. 7
Liste 13 - Konfiguration der CPS Schnittstelle 5 PPS Schnittstelle
Um die Hardwareschnittstelle des PPS zu verwenden, muß der Kommunikationseingang an den die Schnittstelle angeschlossen ist und die Rate in der die Kommunikation mit der Schnittstelle io gewünscht wird, spezifiziert werden. Die Kommunikationseingänge, die von der Datenbank angeboten werden, sind 1, 2, 3 und 4. Die Kommunikationsraten, die von der Datenbank ange-boten werden, sind 9600, 14400, 19200, 28800, 38400, 57600 und 115200. Es wird empfohlen, daß eine Kommunikationsrate von 57600 oder 115200 benützt wird. Ein Beispiel, wie man die Datenbank initialisieren kann, um die PPS Hardwareschnittstelle zu benützen, ist in Liste 14 15 angegeben. / * In the application code. 7 20 / * The most common port to which the PPS interface is connected is COM1. * Though it could as easily be located at COM2, COM3 or COM4. 7 int ppsjDort = 1; / * The recommended communication rate is either 57600 or 115200. 7 25 int pps_communications_rate = 115200; / * Set the interface type to CPS and set its Parameters. 7 error_code = lmpCommunicatorSetPPSConfiguration(pps_port, pps_communications_rate); if (error_code != 0) 30 { /* The ImpCommunicatorSetPPSConfiguration function failed. Notify the user. 7 } 35 / * Now initialise the Communications System, which will use the PPS interface. 7 errorcode = lmpCommunicatorlnit(); if (error_code != 0) { / * The ImpCommunicatorlnit function failed. Notify the user. 7 40 } / * Further application code. 7 45
Liste 14 - PPS Schnittstellenkonfiguration Initiieren von Kommunikationen 50 Die Tafel 7 initiiert die Funktionen, welche die NIC Datenbank bietet, um die Initiierung und Beendigung von Kommunikationen zu managen.
Funktion Beschreibung 55 ImpCommunicatorConnect Initiiert Kommunikationen mit dem Sprachprozessor. Diese 5 5 31
Funktion AT 009 321 U1
Beschreibung
Funktion versagt, wenn im Sprachprozessor nicht die korrekte Version der command Interpreter Software vorhanden ist.
ImpCommunicatorForceConnect Initiiert Kommunikationen mit dem Sprachprozessor. Die
Funktion ladet automatisch die richtige Version der command Interpreter Software herunter. Diese Aktion wird alle io früheren im Sprachprozessor vorhandenen Informationen löschen.
ImpcommunicatorDisconnect 15
Beendet die Kommunikation zwischen dem Sprachprozessor und dem PC und schaltet Energie vom Sprachprozessor ab.
ImpCommunicatorReset Setzt die Hardwareschnittstelle zurück; Energie wird vom
Sprachprozessor abgezogen und dann wieder angelegt. 20 Tafel 7 - Funktionen der Initiierung und Beendigung der Kommunikation.
Der Unterschied, der zwischen den Funktionen ImpCommunicatorConnect und ImpCommunicatorForceConnect existiert, ist so, daß die NIC Anwendung den Benützer warnen kann, daß die Inhalte des Sprachprozessorspeichers verlorengehen werden, wenn fortgesetzt wird. Wenn der 25 Sprachprozessor nicht mit der Hardwareschnittstelle verbunden ist, dann werden beide Funktionen ImpCommunicatorConnect und ImpCommunicatorForceConnect nicht vorhanden sein.
Die Auflistung 15 bietet ein Beispiel für diesen Prozeß. 30 / * The CPS is being used. 7 int error_code = lmpCommunicatorSetCPSConfiguration(0x300); if (error_code != 0) { /‘The ImpCommunicatorSetCPSConfigurationfunctionfailed, something is wrong with 35 * the hardware interface. Notify the user. 7 } / * Initialize the Communications System. 7 40 errorcode = lmpCommunicatorlnit(); if (error_code != 0) { / * The ImpCommunicatorlnit function failed, something is wrong with the hardware * interface. Notify the user. 7 45 } / * Initiate Communications with the hardware System. 7 error_code = lmpCommunicatorConnect(); so if (error_code != 0) { / * Either the correct Version of command Interpreter Software is not present * in the speech processor, or the speech processor is not connected. 7 error_code = lmpCommunicatorForceConnect(); if (error_code != 0) 55 32 AT 009 321 U1 { / * The speech processor is not connected to the hardware. Notify the user. 7 } 5 } / * Further application Processing goes here. * io // Cease Communications with the speech processor. ImpCommunicatorDisconnectO;
Liste 15 - Initiierung eines Kommunikationsbeispieles 15 Kommunikationsfunktionen für Sequenzen
Tafel 8 detailliert die Funktionen, welche die NIC Datenbank bietet, um die sich mit Sequenzen befassenden Kommunikationen zu managen und Liste 16 bietet einige Beispielsfälle von sequenzverarbeitenden Kommunikationen. 20
Funktion Beschreibung
ImpCommunicatorReadSequence 25 ImpCommunicatorWriteSequence 30
Liest eine Sequenz aus dem Programmspalt, der im Sprachprozessor spezifiziert ist. Schreibt eine Sequenz in den im Sprachprozessor spezifizierten Programmspalt. Die gesamte Handhabung des Sequenzbildes wird automatisch als Teil dieser Funktion erfüllt. Es ist nicht notwendig, die Funktion ImpCommuni-catorClearSequence aufzurufen, bevor eine neue Sequenz in einem Programmspalt geschrieben wird.
ImpCommunicatorClearSequence 35 ImpCommunicatorStartSequence
Entfernt eine Sequenz, aus dem im Sprachprozessor spezifizierten Programmspalt.
Informiert den Sprachprozessor, mit der Sequenzverarbeitung zu beginnen.
ImpCommunicatorStopSequence Informiert den Sprachprozessor, die Sequenzverarbei-40 tung zu beenden. Diese Funktion wird garantiert, um ihre
Wirkung unabhängig vom Zustand des Systems aus Sicherheitsgründen zu erfüllen. Die NIC Anwendung kann spezifizieren, ob das Implantat angeschaltet bleiben soll. 45 Tafel 8 - Funktionen der Sequenzkommunikation / * The sequence object has previously been set up and Communications has already * been initiated.7 50 // Write the constructed sequence into program slot 1 on the speech processor. error_code = lmpCommunicatorWriteSequence(sequence, 1); if (error_code != 0) { 55 / * The function ImpCommunicatorWriteSequence failed. Notify the user. 7 33 AT 009 321 U1 } // Start processing the sequence in program Slot 1. 5 error_code = ImpCommunicatorStartSequence(l); if (error_code != 0) { / * The function ImpCommunicatorStartSequence failed. Notify the user. */ 10 } // Further application processing goes here. 15 / * For whatever reason, the sequence processing is to be stopped. The parameter * keep_powered_up is a Boolean parameter previously set by the user. 7 error_code = ImpCommunicatorStopSequece(true); if (error code != 0) { 20 / * The function ImpCommunicatorStopSequence failed. Notify the user. 7 }
Liste 16 - Kommunikationen, die sich mit Sequenzen befassen 25
Kommunikationen mit Sprachprozessorparametern
Die Tafel 9 detailliert die Funktionen, welche die NIC Datenbank bietet, um die Operationsparameter des Sprachprozessors zu managen. 30
Funktion Beschreibung 35 40
ImpCommunicatorSetDampGap
Setzt das Zeitintervall zwischen der abfallenden Kante des RF Rahmens und jener Zeit, zu der die Telemetrieempfangsschaltung aktiviert wird. Dies sollte immer auf 0 ps gesetzt werden, wenn keine Telemetrie empfangen wird und auf 10 ps, wenn die Telemetrie empfangen werden soll (beispielsweise vom Impedanz-Testsequenz generator. Diese Funktion sollte unmittelbar vor der Funktion ImpCommunicatorStartSequence aufgerufen werden.
ImpCommunicatorSetTeleDAC Setzt den Triggerpegel des DAC in den Telemetrieempfangskreis. Das System benützt einen sensiblen Ab-fallwert, weshalb diese Funktion nur unter besonderen Um-45 ständen Verwendung finden sollte.
ImpCommunicatorSetTransmit Setzt die Ubertragungsspannung, die vom RF Ausgang des Voltage Sprachprozessors zu benützen ist. Der Bereich erhältlicher
Spannungen liegt zwischen 2400 mV bis inkl. 3400 mV. Das System benützt bei der Auswahl den Wert von 3400 mV.
ImpCommunicatorGetTransmit Zieht die momentane Übertragungsspannung, die vom RF Voltage Ausgang des Sprachprozessors verwendet wurde, ab. 55 34 AT 009 321 U1
Tafel 9 - Kommunikationsfunktionen der Sprachprozessorparameter Zusatzfunktionen
5 Schließlich detailliert die Tafel 10 die zusätzlichen Kommunikationsfunktionen, die von der NIC
Datenbank angeboten werden. Funktion io ImpCommunicatorGetSPrintSupervisorVersion 15 ImpCommunicatorGetFileSupervisorVersion 20 ImpCommunicatorGetRevisionNumber
Beschreibung Findet die Version der Kommandointerpretersoftware aus dem Sprachprozessor. Es müssen Kommunikationen zwischen dem PC und dem Sprachprozessor initiiert worden sein, bevor diese Funktion aufgerufen werden kann. Findet die Version der Kommandointerpretersoftware, die auf der Festplatte vorhanden ist. Diese Funktion kann jederzeit aufgerufen werden. Findet die Version der NIC Datenbank.
Tafel 10 - Zusätzliche Kommunikationsfunktionen 25
Konditionsnotierung
Eine Kondition ist eine interne Zustandsänderung in der NIC Datenbank die von Interesse bei der NIC Anwendung sein kann. Im allgemeinen zeigen die Konditionen an, daß eine Kommuni-30 kationsnachricht vom Sprachprozessor empfangen wurde. Eine Anzahl von Konditionen zeigt jedoch mehr als dies an. Die derzeit in der NIC Datenbank existierenden Konditionen sind in Tafel 11 detailliert. Die condition notification Schnittstelle gestattet es der NIC Anwendung, eine Funktion zu registrieren, die automatisch von der NIC Datenbank aufgerufen wird, wenn die Kondition stattfindet. Diese Registrierungsfunktion hat das Format: RegisterOnxxxxFunction, 35 wenn xxxx ein Name einer Bedingung ist. Beispielsweise ist die Registerfunktion für Channel To Be Stimulated die RegisterOnChannelToBeStimulatedFunction. Wenn die NIC Anwendung nicht wünscht, von der Bedingung benachrichtigt zu werden, dann sollte für sie nicht eine Funktion registriert werden.
Beschreibung Der Sprachprozessor hat die Kommunikation mit dem Implantat verloren. Dies kommt nur vor, wenn die Telemetrie vorgenommen wurde. Die Telemetriemessung wurde durchgeführt, ihre Daten gesammelt und verarbeitet. Das Resultat der Messungen kann nun gespeichert werden. Beschreibung Die für das Implantat charakteristischen Telemetriedaten wurden gesammelt und verarbeitet. Das Resultat der Messungen kann nun gespeichert werden. NRT-Daten wurden gesammelt und verarbeitet. Das 40 Kondition
ImplantNoResponse 45
ComplianceDataCollected
Kondition 50
CharacteristicDataCollected 55 NRTDataCollected 35 AT 009 321 U1
Kondition
Beschreibung
Resultat der Messungen kann nun gespeichert werden. Nur für NRT-Anwendung.
CommunicationsErrorCondition Mit dem Kommunikationssystem ist ein Irrtum aufgetreten.
CalibrationDataCollected 10 ChannelToBeStimulated 15 SufficientSweeps
Daten für eine Implantat-Kalibrierungs-Sequenz wurden gesammelt und verarbeitet. Das Resultat der Messungen kann nun gespeichert werden.
Ein Kanal soll stimuliert werden. Daten werden als Teil der Angabe der Elektroden des Kanals angeboten.
Die gewünschte Anzahl von Schleifen wurde komplettiert; Eine Schleife ist ein Satz von Stimulierungsrahmen.
Liste 17 - Beispiel der Konditionsbeschreibung 20 Sync Puls Schaffung
Ein Sync Puls ist ein von der Hardware-Schnittstelle (entweder CPS oder PPS) zu einer bestimmten Zeit während der Sequenzverarbeitung generiertes Signal, das dazu Verwendung findet, um einen Teil äußerer Zusatzausstattung anzusprechen. Dieser Typ der Funktionalität ist 25 zweckmäßig, wenn es erwünscht ist, einen Teil des Stimulierungsmusters zu beobachten oder wenn eine Reaktion eines Implantatempfängers auf ein Stimulierungsmuster zu beobachten ist. Typischerweise würde ein Digital Storage Oscilloscope (DSO) im vorstehenden Fall Verwendung finden, wogegen eine Evoked Arbitrary Brainstem Response (EABR) Aufzeichnungsmaschine im letzteren Fall verwendet würde. 30
Syncs mit der PPS Schnittstelle
Bei Verwendung der PPS Hardware-Schnittstelle sind zwei Arten der Sync Signalerzeugung erhältlich (dies umfaßt nicht die Option keine Sync Pulse zu erzeugen). Diese Arten sind: 35 - ein Sync Impuls wird am Führungsrand jedes RF Rahmens erzeugt; - die Sync Puls Erzeugungsschaltung kann aktiviert und nichtaktiviert durch Kommunikationsmitteilungen vom Sprachprozessor an die Hardware-Schnittstelle werden. Wenn die Schaltung aktiviert wird, wird ein Sync Puls an der Führungskante jedes RF Rahmens er- 40 zeugt. Dies ist als gated sync pulse generation bekannt.
Abhängig von der Verwendung für den Sync Impuls ist die zweite Option für die Sync Impulserzeugung häufig zweckmäßiger als die erste Option. Die Art um mit der Sync Erzeugungsfunktion zu arbeiten, wird erreicht, daß die Funktion ImpCommunicatorSetSyncPulseType verwendet 45 wird. Diese Funktion umfaßt eine Mitteilung um anzuzeigen, welche Art der Sync Erzeugungsschaltung arbeiten soll. Die derzeit verwendeten Werte sind wie folgt:
Sync Mode Beschreibung Parameten/vert
Keine Sync Impulse 0 so Beschränkte Sync Pulserzeugung 1
Sync Pulse auf jeden RF Rahmen 5
Tafel 12 - PPS Sync Moden
Die Schaffung einer Sequenz mit Sync Pulsen wird zu verschiedenen Resultaten abhängig vom 55 verwendeten Protokoll führen. Für das eingebettete Protokoll muß die Sync Puls Mitteilung um 36 AT 009 321 U1 den Rahmen und zwei Rahmen nach dem zu synchronisierenden Rahmen platziert werden. Der Versatz um zwei Rahmen ist fällig, wenn ein Versatz um einen Rahmen im eingebetteten Protokoll und ein Versatz um einen Rahmen in der internen Verarbeitung des Kommandoin-terpretors vorhanden ist. Für das erweiterte Protokoll (es ist ein Protokoll, das die Rahmenpa-5 rameter als die Längen der RF Entladungen enthält), muß die Sync Puls Mitteilung um den Rahmen einen Rahmen nach dem zu synchronisierenden Rahmen platziert werden. Der Versatz um einen Rahmen ist nur dann fällig, wenn die interne Verarbeitung des Kommandoin-terpretors einen Versatz um einen Rahmen fordert. io Um die Kommunikationsmitteilung zur Aktivierung oder Entaktivierung der Sync Puls Erzeugungsschaltung in der Hardware Schnittstelle zu senden, sollte die Funktion ImpSequenceAp-pendSendCommsMessage verwendet werden. Die Kommunikationsmitteilung zur Aktivierung der Schaltung ist ENABLE_PPS2_SYNC-PULSES, wogegen zur Deaktivierung der Schaltung die Kommunikationsmitteilung lautet: DISABLE_PPS2_SYNC-PULSES. 15
Eine Sequenz die zu dem Zweck geschaffen wurde Sync Pulse unter Verwendung der PPS Hardware-Schnittstelle zu generieren, kann auch mit der CPS Schnittstelle Verwendung finden, obwohl hier keine Sync Pulse erzeugt werden. Die Datenbank wurde so ausgelegt, daß sie Kommunikationsmitteilungen ignoriert, die normalenweise in dieser Situation die Sync Pulser-20 Zeugungsschaltung im PPS aktivieren oder deaktivieren würden.
Beispiel eines eingebetteten Protokolls Für den Zweck des Beispiels soll ein Sync Signal erzeugt werden, damit die Details eines be-25 stimmten Stimulierungsrahmens eingefangen werden können. Fig. 4 detailliert das exakte Timing. Das Ziel besteht hier darin, eine Sequenz mit 4 identischen Stimulierungsrahmen zu schaffen, wobei ein Sync Impuls nur für den 2. Stimulierungsrahmen generiert wird. Die Anwendungscodierung, welche diese gewünschte Reaktion erzeugen würde, ist in der Liste 18 detailliert (Bemerke, daß die PPS Mitteilungen aktuell vor und nach dem 4. Rahmen in der Sequenz 30 und nicht vor dem 2. liegen). / * The frame period is set to 10OO.Ous, thus allowing for the 400.0us * activation and deactivation time inherent with the PPS sync pulse * generation circuitry (in gated sync pulse mode). 7 35 lmpFrameSetPeriod(frame, 1000.0); lmpSequenceAppendFrame(sequence, frame); II first frame lmpSequenceAppendFrame(sequence, frame); // second frame 40 lmpSequenceAppendFrame(sequence, frame); // third frame II This message will enable syncs for the second. frame.
ImpSequenceAppendSendCommsMessage (sequence, SP5_ENABLE_PPS2_SYNC_PUL- SES); 45 lmpSequenceAppendFrame(sequence, frame); // fourth frame II This message will disable syncs for the second frame. lmpSequenceAppendSendCommsMessage(sequence, S P5_D IS AB LE_PPS2_S YN C_P U L- 50 SES);
Liste 18 - Eingebettetes Beispiel für ein Sync Protokoll Erweitertes Protokollbeispiel 55

Claims (29)

  1. 37 AT 009 321 U1 Die erwünschte Reaktion aus dem System ist die gleiche, wie die obige doch wird ein erweitertes Protokoll verwendet. Die Anwendungscodierung ist in Liste 19 detailliert (Bemerke wie die PPS Nachrichten aktuell vor und nach dem 3. Rahmen in der Sequenz und nicht vor dem 2. liegen). 5 II The frame period is set to 1000.0us, thus allowing for the 400.0us // activation and deactivation time inherent with the PPS sync pulse // generation circuitry (in gated sync pulse mode). lmpFrameSetPeriod(frame, 1000.0); 10 lmpSequenceAppendFrame(sequence, frame); // first frame lmpSequenceAppendFrame(sequence, frame); II second frame // This message will enable syncs for the second frame. 15 lmpSequenceAppendSendCommsMessage(sequence, SP5_ENABLE_PPS2_SYNC_PULSES); lmpSequenceAppendFrame(sequence, frame); // third frame 20 // This message will disable syncs for the second frame. lmpSequenceAppendSendCommsMessage(sequence, SP5_DISABLE_PPS2_SYNC_PULSES); lmpSequenceAppendFrame(sequence, frame); // fourth frame 25 Liste 19 - Erweitertes Beispiel des Sync Protokolls Es wird für Fachleute vorausgesetzt, daß eine Vielzahl von Variationen und/oder Modifikationen der in den gezeigten speziellen Ausführungsformen der Erfindung vorgenommen werden kön-30 nen, ohne daß dadurch der Rahmen oder der Umfang der allgemein beschriebenen Erfindung verlassen wird. Die gegenwärtigen Ausführungsformen sollten daher in jeder Hinsicht nur als illustrierend und nicht als einschränkend angesehen werden. 35 Ansprüche: 1. Schnittstellensystem zur Steuerung des Betriebes ein oder mehrere Typen von gewebestimulierenden Prothesen, welches Schnittstellensystem aufweist: Eine Eingabeeinrichtung zum Empfang willkürlicher, von einem Benutzer eingebbarer Be-40 fehle, die eine gewünschte Aktion der Prothese spezifizieren, welche willkürlichen Befehle unspezifisch für die Prothese sind; eine Umwandlungseinrichtung zur Umwandlung der willkürlichen Befehle in prothesenspezifische, von der Prothese vollziehbare Befehle und eine Ausgabeeinrichtung zur Ausgabe der prothesespezifischen Befehle an die Prothese 45 um diese zur Ausführung der gewünschten Aktion zu veranlassen.
  2. 2. Schnittstellensystem nach Anspruch 1, wobei die Umwandlungseinrichtung eine Datenbank vorbestimmter Softwaremodule zur Umwandlung der willkürlichen Befehle in prothesespezifische, von der Prothese vollziehbare Steuerbefehle aufweist. 50
  3. 3. Schnittstellensystem nach Anspruch 2, wobei die Datenbank der vorbestimmten Softwaremodule eine Mehrzahl variabler zulässiger Werte für jede Variable in einem prothesespezifischen Bereich enthält.
  4. 4. Schnittstellensystem nach Anspruch 3, wobei die Umwandlungseinrichtung die willkürli- 38 AT 009 321 U1 chen Befehle in prothesespezifische Steuerbefehle umwandelt und dabei einen Wert für wenigstens eine der genannten Variablen im prothesespezifischen Bereich vorgibt.
  5. 5. Schnittstellensystem nach Anspruch 4, wobei die Ausgabeeinrichtung die prothesespezifi- 5 sehen Steuerbefehle an die Prothese übermittelt und jeder der vorbestimmten variablen Werte im empfängerspezifischen Bereich gespeichert ist.
  6. 6. Schnittstellensystem nach Anspruch 5, wobei eine der Variablen eine Stimulierungsamplitude ist und der empfängerspezifische Bereich durch einen Minimalschwellwert (T-Level) io und einen Maximal-Komfortschwellwert (C-Level) des Protheseempfängers definiert ist.
  7. 7. Schnittstellensystem nach einem der Ansprüche 1 bis 6, wobei die prothesespezifischen Steuerbefehle ein von der Prothese zu erzeugendes Stimulierungsmuster definieren.
  8. 8. Schnittstellensystem nach einem der Ansprüche 1 bis 7, wobei die prothesespezifischen Steuerbefehle zur Steuerung der Beschaffung von Telemetriedaten der Prothese dienen.
  9. 9. Schnittstellensystem nach einem der Ansprüche 1 bis 8, wobei die prothesespezifischen Steuerbefehle zur Datenbeschaffung von der Prothese dienen. 20
  10. 10. Schnittstellensystem nach einem der vorhergehenden Ansprüche, wobei der Typ oder die Typen der gewebestimulierenden Prothese eine oder mehrere Typen von Cochlear-Implantatmodellen umfassen. 25 30 35 40 45
  11. 11. Schnittstellensystem nach einem der Ansprüche 2 bis 6, wobei prothesespezifische Steuerbefehle von wenigstens einem Softwaremodul der Softwaredatenbank einen Datenrahmen zur Übertragung auf eine bestimmte Prothese umfassen.
  12. 12. Schnittstellensystem nach Anspruch 11, wobei der Datenrahmen ein Stimulierungsrahmen ist.
  13. 13. Schnittstellensystem nach Anspruch 11, wobei der Datenrahmen ein nichtstimulierender Rahmen ist, der einen Befehl an die spezifische Prothese ausdrückt.
  14. 14. Schnittstellensystem nach Anspruch 13, wobei der nichtstimulierende Rahmen ein Telemetriekommando ist.
  15. 15. Schnittstellensystem nach den Ansprüchen 1 bis 14, wobei das Schnittstellensystem ein Personalcomputer (PC) ist.
  16. 16. Schnittstellensystem nach Anspruch 15, wobei die Eingabeeinrichtung eine grafische Be-nützerschnittstelle (GUI) des PC umfaßt, die es dem Benützer ermöglicht, die willkürlichen Befehle einzugeben.
  17. 17. Schnittstellensystem nach Anspruch 12, wobei der Datenrahmen gleichzeitige Stimulierungen bestimmt, die für die Abgabe von mehreren Elektroden der spezifischen Prothese bestimmt sind.
  18. 18. Schnittstellensystem nach einem der Ansprüche 2 bis 6, 11 bis 14 und 17, wobei ein Soft-50 waremodul der Datenbank eine Benützereingabe wenigstens einer Variablen erfordert, die ausgewählt ist aus: zu stimulierende(n) Elektrode(n), Bezugselektrode, Stimulierungspegel, Puls-Phasenabstand, Phasenbreite und Stimulierungsrahmenperiode.
  19. 19. Schnittstellensystem nach einem der Ansprüche 2 bis 6, 11 bis 14, 17 und 18, wobei die 55 prothesespezifischen Steuerbefehle von wenigstens einem Rahmen der Softwaredaten- 39 AT 009 321 U1 bank eine Sequenz von Datenrahmen zur strömenden Weitergabe an die Prothese umfaßt.
  20. 20. Schnittstellensystem nach einem der Ansprüche 2 bis 6,11 bis 14 und 17 bis 19, wobei die Umwandlungseinrichtung wenigstens einen Sequenzgenerator zur Bildung einer fertigen 5 Sequenz von Rahmen für einen spezifischen Zweck umfaßt.
  21. 21. Schnittstellensystem nach Anspruch 20, wobei der Sequenzgenerator ein psychophysikali-scher Sequenzgenerator ist, der nach einer Eingabe eine Sequenz generiert, die auf einer Eingabe basiert, die wenigstens einen Wert, nämlich Zeitbestimmung der Stromstoßstärke, io Zwischenzeit der Stromstöße und/oder Anzahl der Stromstöße bestimmt.
  22. 22. Schnittstellensystem nach Anspruch 20 oder 21, wobei der Sequenzgenerator im Sinne einer Speicherung einer generierten Sequenz als Softwaremodul in der Datenbank betätigbar ist. 15
  23. 23. Schnittstellensystem nach einem der Ansprüche 2 bis 6, 11 bis 17 und 17 bis 22, das darüber hinaus eine Datenbank-Schnittstelleneinrichtung enthält, die vom Benützer zur Konstruktion einer Sequenz von Rahmen benützbar ist.
  24. 24. Schnittstellensystem nach Anspruch 23, wobei das Schnittstellensystem selbständig den Empfang von willkürlichen Instruktionen vom Benützer vor der Abgabe von prothesespezifischen Steuerbefehlen an die spezifische Prothese unterstützt.
  25. 25. Verfahren zur Steuerung des Betriebes einer oder mehrerer Typen von gewebestimulie- 25 renden Prothesen, welches Verfahren umfaßt: Empfang willkürlicher Instruktionen von einem Benützer, welche Instruktionen eine gewünschte Wirkung der Prothese spezifizieren, wobei die willkürlichen Instruktionen unspezifisch für die Prothese sind; Umwandlung dieser willkürlichen Instruktionen in prothesespezifische Steuerinstruktionen, 30 die von der Prothese verarbeitet werden können und Zufuhr dieser prothesespezifischen Steuerinstruktionen an die Prothese um diese zur Durchführung der gewünschten Aktion zu veranlassen.
  26. 26. Verfahren nach Anspruch 25, wobei der Umwandlungsschritt den Betrieb wenigstens eines 35 Softwaremoduls von einer Datenbank von vorbestimmten Softwaremodulen umfaßt, um prothesespezifische Steuerinstruktionen aus den willkürlichen Instruktionen des Benützers zu generieren.
  27. 27. Verfahren nach Anspruch 26, wobei der Betätigungsschritt für das wenigstens ein Soft-40 waremodul die Festlegung des Wertes wenigstens einer Variablen bedingt, wobei zulässige Werte der wenigstens einen Variablen innerhalb eines prothesespezifischen Bereiches liegen.
  28. 28. Verfahren nach Anspruch 27, wobei der festgelegte Wert der wenigstens einen Variablen 45 in einem empfängerspezifischen Bereich gespeichert wird.
  29. 29. Verfahren nach Anspruch 28, wobei die wenigstens eine Variable Stimulierungsamplitudenvariable und der empfängerspezifische Bereich durch einen Minimalschwellwert (T-Level) und einen Maximalkomfortschwellwert (C-Level) eines Protheseempfängers be- 50 stimmt ist. Hiezu 3 Blatt Zeichnungen 55
AT0042305U 2001-01-10 2005-06-24 Cochlearimplantat-kommunikator AT9321U1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AUPR2453A AUPR245301A0 (en) 2001-01-10 2001-01-10 An apparatus (WSM06)

Publications (1)

Publication Number Publication Date
AT9321U1 true AT9321U1 (de) 2007-08-15

Family

ID=3826488

Family Applications (2)

Application Number Title Priority Date Filing Date
AT02729357T ATE349704T1 (de) 2001-01-10 2002-01-08 Herstellungsverfahren für beschleunigungsmesser, der durch auf dem wafer-massstab angebrachte kappen geschützt wird
AT0042305U AT9321U1 (de) 2001-01-10 2005-06-24 Cochlearimplantat-kommunikator

Family Applications Before (1)

Application Number Title Priority Date Filing Date
AT02729357T ATE349704T1 (de) 2001-01-10 2002-01-08 Herstellungsverfahren für beschleunigungsmesser, der durch auf dem wafer-massstab angebrachte kappen geschützt wird

Country Status (7)

Country Link
US (4) US6777259B2 (de)
EP (1) EP1358489B1 (de)
JP (1) JP2004525357A (de)
AT (2) ATE349704T1 (de)
AU (1) AUPR245301A0 (de)
DE (1) DE60217067D1 (de)
WO (1) WO2002056031A1 (de)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1423282B1 (de) * 2001-09-06 2011-02-09 Ricoh Company, Ltd. Herstellungsverfahren für flüssigkeitstropfenabgabekopf
US6989122B1 (en) * 2002-10-17 2006-01-24 National Semiconductor Corporation Techniques for manufacturing flash-free contacts on a semiconductor package
FR2849014B1 (fr) * 2002-12-20 2005-06-10 Commissariat Energie Atomique Microstruture encapsulee et procede de fabrication d'une telle microstructure
JP2005172543A (ja) * 2003-12-10 2005-06-30 Mitsubishi Electric Corp 加速度センサおよび加速度センサの製造方法
EP1758814A4 (de) * 2004-03-15 2010-12-15 Georgia Tech Res Inst Verkapselung für elektro-mechanische-mikrosysteme und herstellungsverfahren dafür
DE102004029586A1 (de) * 2004-06-18 2006-01-12 Infineon Technologies Ag Substratbasiertes Gehäusesbauelement mit einem Halbleiter-Chip
JP2006071432A (ja) * 2004-09-01 2006-03-16 Oki Electric Ind Co Ltd 加速度センサチップパッケージ及びその製造方法
US7337671B2 (en) 2005-06-03 2008-03-04 Georgia Tech Research Corp. Capacitive microaccelerometers and fabrication methods
JP2007048994A (ja) * 2005-08-11 2007-02-22 Akita Denshi Systems:Kk 半導体装置及びその製造方法
WO2007020701A1 (ja) * 2005-08-18 2007-02-22 C & N Inc 加速度センサ装置
JP4984486B2 (ja) * 2005-10-20 2012-07-25 株式会社デンソー センサの製造方法
US7578189B1 (en) 2006-05-10 2009-08-25 Qualtre, Inc. Three-axis accelerometers
US7767484B2 (en) 2006-05-31 2010-08-03 Georgia Tech Research Corporation Method for sealing and backside releasing of microelectromechanical systems
US8119502B2 (en) * 2006-07-10 2012-02-21 Schott Ag Method for packaging components
JP2009063550A (ja) * 2007-09-10 2009-03-26 Rohm Co Ltd 半導体センサ装置
JP2009063551A (ja) * 2007-09-10 2009-03-26 Rohm Co Ltd 半導体センサ装置
US9289137B2 (en) * 2007-09-28 2016-03-22 Volcano Corporation Intravascular pressure devices incorporating sensors manufactured using deep reactive ion etching
DE102007058951B4 (de) * 2007-12-07 2020-03-26 Snaptrack, Inc. MEMS Package
US20100013033A1 (en) * 2008-07-18 2010-01-21 Chia-Shing Chou Enablement of IC devices during assembly
FR2949453A1 (fr) * 2009-09-02 2011-03-04 Commissariat Energie Atomique Dispositif et procede d'encapsulation, microcapsule incorporant ce dispositif
JP2011128140A (ja) * 2009-11-19 2011-06-30 Dainippon Printing Co Ltd センサデバイス及びその製造方法
JP5006429B2 (ja) * 2010-06-11 2012-08-22 トレックス・セミコンダクター株式会社 半導体センサー装置およびその製造方法
US9131325B2 (en) 2010-08-31 2015-09-08 Freescale Semiconductor, Inc. MEMS device assembly and method of packaging same
US8304275B2 (en) * 2010-08-31 2012-11-06 Freescale Semiconductor, Inc. MEMS device assembly and method of packaging same
US20120146452A1 (en) * 2010-12-10 2012-06-14 Miradia, Inc. Microelectromechanical system device and semi-manufacture and manufacturing method thereof
TWI409885B (zh) * 2011-05-16 2013-09-21 矽品精密工業股份有限公司 具微機電元件之封裝結構及其製法
TWI417973B (zh) * 2011-07-11 2013-12-01 矽品精密工業股份有限公司 具微機電元件之封裝結構之製法
US9040355B2 (en) 2012-07-11 2015-05-26 Freescale Semiconductor, Inc. Sensor package and method of forming same
US8709868B2 (en) 2012-08-23 2014-04-29 Freescale Semiconductor, Inc. Sensor packages and method of packaging dies of differing sizes
US8659167B1 (en) 2012-08-29 2014-02-25 Freescale Semiconductor, Inc. Sensor packaging method and sensor packages
US9099391B2 (en) * 2013-03-14 2015-08-04 Infineon Technologies Austria Ag Semiconductor package with top-side insulation layer
JP6339669B2 (ja) 2013-07-08 2018-06-06 モーション・エンジン・インコーポレーテッド Memsデバイスおよび製造する方法
WO2015042700A1 (en) 2013-09-24 2015-04-02 Motion Engine Inc. Mems components and method of wafer-level manufacturing thereof
WO2015013827A1 (en) 2013-08-02 2015-02-05 Motion Engine Inc. Mems motion sensor for sub-resonance angular rate sensing
JP6590812B2 (ja) 2014-01-09 2019-10-16 モーション・エンジン・インコーポレーテッド 集積memsシステム
US20170030788A1 (en) 2014-04-10 2017-02-02 Motion Engine Inc. Mems pressure sensor
US11674803B2 (en) 2014-06-02 2023-06-13 Motion Engine, Inc. Multi-mass MEMS motion sensor
JP6256301B2 (ja) * 2014-10-31 2018-01-10 株式会社デンソー 電子回路部品
US11287486B2 (en) 2014-12-09 2022-03-29 Motion Engine, Inc. 3D MEMS magnetometer and associated methods
CA3220839A1 (en) 2015-01-15 2016-07-21 Motion Engine Inc. 3d mems device with hermetic cavity
KR20170069806A (ko) * 2015-12-11 2017-06-21 현대자동차주식회사 멤스센서의 제조방법
CN109485010A (zh) * 2018-12-06 2019-03-19 中芯长电半导体(江阴)有限公司 Mems封装结构、晶圆级mems封装结构及其制备方法
US11784103B2 (en) * 2020-12-09 2023-10-10 Texas Instruments Incorporated Covers for semiconductor package components

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US159218A (en) * 1875-01-26 Improvement in musical merchandise-boxes
AT314820B (de) * 1969-02-18 1974-04-25 Optipatent Ag Vorrichtung zum Füllen von Gießformen
FR2596569B1 (fr) * 1986-03-25 1988-05-20 Ceraver Dispositif de demoulage d'un isolateur electrique composite
EP0459723B1 (de) * 1990-05-30 1996-01-17 Hitachi, Ltd. Halbleiterbeschleunigungsmesser und Kraftfahrzeugsteuerungssystem mit einem solchen
JP2547894B2 (ja) * 1990-07-27 1996-10-23 株式会社東芝 半導体樹脂封止用金型機構
IL102556A (en) * 1991-08-16 1998-02-08 Johnson & Johnson Vision Prod Device and process for fusing detachable lens mold units
JPH06347475A (ja) * 1993-06-08 1994-12-22 Murata Mfg Co Ltd 加速度センサおよびその製造方法
IL107549A (en) * 1993-11-09 1996-01-31 Nova Measuring Instr Ltd Device for measuring the thickness of thin films
JPH07191055A (ja) * 1993-12-27 1995-07-28 Hitachi Ltd 静電容量式加速度センサ
US5508231A (en) * 1994-03-07 1996-04-16 National Semiconductor Corporation Apparatus and method for achieving mechanical and thermal isolation of portions of integrated monolithic circuits
JPH08233848A (ja) * 1995-02-28 1996-09-13 Mitsubishi Electric Corp 半導体センサ
CA2217369A1 (en) * 1995-04-10 1996-10-17 Johannes A.S. Bjorner Two-camera system for locating and storing indicia on conveyed items
JPH08304447A (ja) * 1995-05-02 1996-11-22 Mitsubishi Electric Corp 半導体加速度センサおよびその製造方法
JP3613838B2 (ja) * 1995-05-18 2005-01-26 株式会社デンソー 半導体装置の製造方法
JP3496347B2 (ja) * 1995-07-13 2004-02-09 株式会社デンソー 半導体装置及びその製造方法
US5798557A (en) 1996-08-29 1998-08-25 Harris Corporation Lid wafer bond packaging and micromachining
WO1999013343A1 (fr) * 1997-09-10 1999-03-18 Matsushita Electric Industrial Co., Ltd. Capteur d'acceleration et procede de fabrication
JPH11138668A (ja) * 1997-11-12 1999-05-25 Komatsu Ltd 板状構造体とその製造方法
DE19806818C1 (de) * 1998-02-18 1999-11-04 Siemens Matsushita Components Verfahren zur Herstellung eines elektronischen Bauelements, insbesondere eines mit akustischen Oberflächenwllen arbeitenden OFW-Bauelements
JP3846094B2 (ja) * 1998-03-17 2006-11-15 株式会社デンソー 半導体装置の製造方法
DE19857550A1 (de) * 1998-12-14 2000-06-21 Bosch Gmbh Robert Verfahren zur Verkapselung von metallischen Mikrobauteilen
JP4151164B2 (ja) * 1999-03-19 2008-09-17 株式会社デンソー 半導体装置の製造方法
JP3533984B2 (ja) * 1999-03-26 2004-06-07 松下電工株式会社 半導体加速度センサおよびその製造方法
TW411593B (en) * 1999-06-22 2000-11-11 Vanguard Int Semiconduct Corp Plastic carrier mold with magnetic inserting article
US6452238B1 (en) * 1999-10-04 2002-09-17 Texas Instruments Incorporated MEMS wafer level package
US6768628B2 (en) * 2001-04-26 2004-07-27 Rockwell Automation Technologies, Inc. Method for fabricating an isolated microelectromechanical system (MEMS) device incorporating a wafer level cap

Also Published As

Publication number Publication date
AUPR245301A0 (en) 2001-02-01
WO2002056031A1 (en) 2002-07-18
ATE349704T1 (de) 2007-01-15
EP1358489B1 (de) 2006-12-27
US20050142686A1 (en) 2005-06-30
EP1358489A4 (de) 2005-08-10
US7407614B2 (en) 2008-08-05
DE60217067D1 (de) 2007-02-08
EP1358489A1 (de) 2003-11-05
US20050142242A1 (en) 2005-06-30
JP2004525357A (ja) 2004-08-19
US7284976B2 (en) 2007-10-23
US20030122227A1 (en) 2003-07-03
US20040255670A1 (en) 2004-12-23
US6777259B2 (en) 2004-08-17
US6925875B2 (en) 2005-08-09

Similar Documents

Publication Publication Date Title
AT9321U1 (de) Cochlearimplantat-kommunikator
DE69614103T2 (de) Mehrkanalige in die cochlear implantierte prothese mit flexibler steuerung von stimulus-wellenformen
DE69636715T2 (de) Vorrichtung und Verfahren zur Erzeugung eines synthetisierten Elektrokardiogramms
DE60222076T2 (de) Darstellungsstruktur für ein Netzwerk, dass implantierbare Herztherapie-Geräte unterstützt
DE69926354T2 (de) Abfrage einer implantierbaren aktiven medizinischen vorrichtung unter verwendung einer hörbaren tonkommunikation
DE69417609T2 (de) Räumlich getrennte Kontrollvorrichtung für einen implantierbaren Stimulator für das Gewebewachstum
DE60111223T2 (de) Tragbare erweiterungsvorrichtung für datenübertragung in einem kommunikationssystem einer medizinischen vorrichtung
DE69927148T2 (de) Hörbare tonkommunikation aus einer implantierbaren medizinischen vorrichtung
DE2803366C2 (de)
DE68922362T2 (de) Körperleitungspfad in einem Kommunikationssystem einer medizinischen Vorrichtung.
DE3485926T2 (de) Cochleares implantationssystem mit psychologischem testen oder programmieren mittels kartographierter reaktionen des patienten, vorgesehen zur codierung.
DE69630494T2 (de) System und Verfahren zur Speicherung und zur Darstellung von medizinischen Daten, gemessen von einer implantierten Vorrichtung
DE60012905T2 (de) Peripheres speicherpflaster und zugriffsverfahren zur verwendung mit einer implantierbaren medizinischen vorrichtung
DE60116784T2 (de) Patientengesteuertes therapiemanagement
DE69634810T2 (de) System zum Austauschen von Patientengerät-Informationen
DE60036873T2 (de) Verfahren und vorrichtung zum behandeln von inkontinenz
DE60107062T2 (de) Vollständig implantierbare cochlea-microprothese mit einer vielzahl von kontakten
DE60036875T2 (de) Transkutane elektrische nervenstimulation auf der basis von kanalspezifischen abtastsequenzen
DE2811120C2 (de)
DE69827867T2 (de) Implantierbarer Herzschrittmacher
EP0215729B1 (de) Herzschrittmacher
DE19927853A1 (de) In ein medizinisches Managementsystem integrierte Programmiervorrichtung zur Kommunikation mit einer implantierbaren medizinischen Vorrichtung
DE2929498A1 (de) Implantierbares elektronisches geraet
US8019432B2 (en) Provision of stimulus components having variable perceptability to stimulating device recipient
EP3873553B1 (de) System und verfahren zur steuerung eines herzunterstützungssystems

Legal Events

Date Code Title Description
MN9K Cancelled due to lapse of time
MK07 Expiry

Effective date: 20120131