-
Diese Erfindung betrifft eine Steuereinrichtung für ein
intravaskuläres Kathetersystem und insbesondere solch ein System
zur Steuerung und Überwachung des Betriebs von Motoren, die
beim Betrieb des Katheters verwendet werden.
-
Während eines Atherektomieverfahrens unter Verwendung eines
rotierenden Katheters ist es oft notwendig und wünschenswert,
den Katheter durch ein Gefäß entlang eines Führungsdrahtes zu
führen, der wiederum durch das Zentrum des Katheters und
teilweise durch das Lumen des Gefäßes zu winden. Weiterhin ist es
wünschenswert, das Katheterrohr in dem Gefäß nach der
Atherektomie zu belassen, um das Rein und Rauswinden des
Führungsdrahtes in oder aus dem Katheterrohr zu ermöglichen; weiterhin
ist es wünschenswert, das Katheterrohr an seinem Ort zu
belassen, ohne es aus dem Gefäß zu entfernen, um von einem
Atherektomiekatheter auf eine diagnostische Vorrichtung oder einen
Ballonkatheter zu wechseln. Unglücklicherweise können
konventionelle rotierende Katheter, die keinen Führungsdraht
aufweisen, nicht für einen solchen Austausch verwendet werden, da
sie massiv sind und daher keine einfachen Mittel existieren,
um die erwünschte Austauschfunktion bereitzustellen.
-
Ein Ansatz für konventionelle Vorrichtungen wird in US-PS-
4,696,667 (Masch) gefunden, die einen intravaskulären Katheter
einschließlich eines flexiblen Führungsdrahtes offenbart, der
innerhalb einer flexiblen hohlen röhrenförmigen
Antriebseinrichtung angeordnet ist. Die röhrenförmige Antriebseinrichtung
ist ursprünglich mit einem Bearbeitungskopf am distalen Ende
der Röhre verbunden und wird am proximalen Ende der Röhre
durch eine Antriebseinrichtung angetrieben. Die
Antriebseinrichtung setzt sich aus einer Reihe von Zahnrädern zusammen,
die in das röhrenförmige Antriebsteil eingreifen und dieses
drehen. Das röhrenförmige Antriebsteil ist stationär und kann
nicht entfernt werden.
-
Ein weiteres Beispiel ist US-PS-4,747,406 (Nash), welches
einen flexiblen langgestreckten röhrenförmigen Katheter
offenbart, mit einem Werkzeug, das bei relativ hohen Geschwindig
keiten, z.B. 20.000 Umdrehungen pro Minute, rotiert und am
distalen Ende des Katheters angeordnet ist. Das verwendete
Werkzeug weist eine zentrale Öffnung auf und wird mittels
einer Hohldrahtantriebswelle rotiert.
-
Bei anderen Kathetern des "Kensey" Typs stimmt ein zentraler
Durchgang der Antriebswelle mit der zentralen Öffnung des
Schneidwerkzeugs überein, um einen konventionellen
Führungsdraht aufnehmen zu können. Daher, obwohl der Katheter entlang
des Führungsdrahtes während des Fräsbetriebs hereingeschoben
werden kann, kann die Antriebseinrichtung nicht entfernt
werden.
-
Ein spezielles Problem, auf das sich die intravaskuläre
Therapie gerichtet hat, ist eine akute Lungenthrombose, ein
lebensgefährdender Zustand, der schwierig zu diagnostizieren und zu
behandeln ist. Akute Thrombosen können in vielen Bereichen des
vaskulären Systems auftreten, was einen verringerten
hemodynamischen Fluß und potentielle Probleme für den Patienten
bewirkt. Obwohl gegenwärtig Techniken zur Behandlung von
Thrombosen existieren, besitzt jede Nachteile, die diese über die
Maßen zeitraubend und riskant bei begrenzter Wirksamkeit
machen.
-
Verschiedene Medikamententherapien sind für die Behandlung von
Thromben vorgeschlagen worden, z.B. Blutverdünner, wie z.B.
Streptokenase, Urokinase und Gewebeplasminogenaktivator (TPA)
die als geeignet befunden worden sind, Thromben im Patienten
zu verringern. Ein Nachteil dieses Ansatzes ist aber, daß
diese Medikamente langsam wirkende Reagenzien sind, was bei
akuten Bedingungen, wie z.B Lungenthrombosen, bedeutet, daß die
Patienten nicht lange genug leben, damit das Medikament wirken
kann. Obwohl bei erhöhten Dosen die Ergebnisse im gewissen
Umfang schneller auftreten, wird das Auftreten von inneren
Blutungen zu einem negativen Faktor.
-
Chirurgische Entfernung von Thromben befallenen Gefäßen ist
ebenfalls durchgeführt worden, aber diese Vorgehensweise ist
wesentlich invasiver als eine Medikamententherapie. Darüber
hinaus sind bestimmte Bereiche des Körpers bei dieser
Vorgehensweise gefährdeter, was das Patientenrisiko weiter erhöht.
Eine Ballontechnik ist bei bestimmten Thromben befallenen
Gefäßen, z.B. in den unteren Extremitäten, angewendet worden. In
den Beinen wird ein entleerter Ballon über den erwünschten
Behandlungsbereich hindurchgeführt, dann aufgeblasen und
zurückgezogen, wodurch Trümmer zusammen mit dem Ballon hochgezogen
werden. Ein Nachteil dieser Technik ist die Gefahr, daß
nichtentfernte Thrombusteile stromaufwärts fließen und sich in dem
Gefäßlumen niederlassen.
-
Ein "Kensey" Typ eines Rekanalisierungskatheters ist ebenfalls
für diese Verwendung bei einem interventionellen Ansatz, um
die Thrombose zu behandeln, untersucht worden; es wurde z.B.
ein 8 F Katheter von den Doktoren Kensey und Nash entwickelt.
Obwohl festgestellt wurde, daß solche Vorrichtungen zur
Thrombenentfernung in der Lage sind, haben sie keine diagnostische
Fähigkeiten und sind schwierig an die korrekte Stelle zu
manövrieren. Weiterhin hat die freie Spitze des Katheters das
Potential, ein Trauma in enganliegenden Stellen zu bewirken.
-
In der Vergangenheit, wenn Ärzte sowohl eine rotierende
Kathetervorrichtung al 5 auch eine Fluidverteileinrichtung al 5
Einzeleinheit betreiben mußten, dann war es notwendig, zwei
voneinander getrennte und unabhängige Steuerungen zu betreiben.
Mit anderen Worten, eine bestimmte Motorsteuerung wurde
verwendet, um die Geschwindigkeit der Rotation der Katheterspitze
zu steuern und eine davon getrennte Fluidsteuerung, wurde
verwendet, um die Menge der abgegebenen Flüssigkeit zu steuern,
und die beiden Steuerungen kommunizierten miteinander über ein
davon getrenntes Interface. Der Betreiber eines solchen dualen
Systems mußte sehr gut ausgebildet sein, um beide Systeme
richtig zu überwachen. Weiterhin, da das Fluidsteuerungssystem
ein Steuerungssystem für allgemeine Zwecke ist, stellt es
bestimmte Funktionen bereit, die für eine
Fluideinspritzkathetervorrichtung mit rotierender Spritze nicht benötigt werden.
Somit ist das resultierende System wesentlich komplexer als
tatsächlich benötigt und entsprechend teurer als nötig.
-
Beispiel für Kathetermotoren und Motorsteuerungssysteme nach
dem Stand der Technik umfassen das von E.T.I. Norland
Corporation, Fort Atkinson, Wisconsin, unter der Teilenummer TWI
hergestellte System. Beispiele von Fluidsteuerungssystemen nach
dem Stand der Technik umfassen die im US-PS-4,854,324 im Namen
von Alan D. Hirschman et al. und mit dem Titel "Processor
Controlled Angiographic Injector Device"; US-PS-4&sub3;812,724 im
Namen von Alois A. Langer et al. mit dem Titel "Injector
Control"; US-PS-4,024,864 im Namen von Gomer L. Davies et al. mit
dem Titel "Injector With Overspeed Protector"; US-PS-3,701,345
im Namen von Marlin S. Heilman et al. mit dem Titel
"Angiographic Injector Equipment" und US-PS-3,623,474 im Namen von
Marlin S. Heilman mit dem Titel "Angiographic Injection
Equipment" gezeigten Systeme.
-
Dementsprechend verbleibt nach wie vor die Notwendigkeit für
ein interventionelles Instrument, das in den Körper perkutan
eintritt und zu einer selektiven Diagnose in der Lage ist,
wenn es sich ausreichend nah zu einem betroffenen Bereich des
vaskulären Systems befindet, insbesondere für solch ein
System, das in der Lage ist, eine akute Thrombose zu
untersuchen und zu behandeln.
-
Es besteht ebenfalls weiterhin die Notwendigkeit für einen
rotierenden intravaskulären Katheter, der ein entfembares
Antriebssystem aufweist, das es ermöglicht, einen Katheter an
Ort und Stelle im Lumen eines Gefäßes zu belassen, so daß eine
Antriebseinrichtung und der Führungsdraht austauschbar durch
das Zentrum des Katheters geführt werden können.
-
Es besteht ebenfalls weiterhin die Notwendigkeit für ein
verbessertes kombiniertes Regelsystem für den Drehmotor und die
Fluidinfusion für Katheter mit rotierenden Spitzen, das von
einem einzelnen Bediener während einer intravaskulären
Operation
wirkungsvoll bedient werden kann.
-
Entsprechend der vorliegenden Erfindung wird ein
intravaskuläres Kathetersystem mit einem Katheterteil mit einer
rotierenden Spitze, die an einer flexiblen rotierenden Welle
angebracht ist, und einer Fluidbahn, die einen Fluidfluß in
Richtung der rotierenden Spitze erlaubt. Zusätzlich wird eine
Einrichtung für Steuerung der Fluidinjektion in die Fluidbahn und
danach der Wellenrotation bereitgestellt. Die
Steuereinrichtung überwacht sowohl die rotierende Welle als auch den
Fluidfluß und unterbricht sowohl die Wellenrotation als auch den
Fluidfluß, wenn sie einen Fehler bezüglich entweder der
Wellenrotation oder des Fluidflusses feststellt.
-
Die Erfindung kann unter Bezugnahme der beigefügten
Zeichnungen, die eine oder mehrere bevorzugte Ausführungsformen
illustrieren, besser verstanden werden, wobei:
-
Fig. 1 eine Schnittansicht eines Katheters entsprechen der
Erfindung ist, worin die lösbare Verbindung der
Antriebseinrichtung mit dem Arbeitskopf wie auch das bevorzugte schnelle
Trennsystem zwischen dem Antriebskabel und den Einrichtungen
zur Rotation des Antriebskabels gezeigt ist;
-
Fig. 2 eine vergrößerte Schnittansicht des Arbeitskopfes ist,
worin die lösbare Verbindung zwischen der Schneidspitze und
dem Antriebskabel dieser Erfindung gezeigt ist;
-
Fig. 3 eine vergrößerte Ansicht des torsionsübertragenden
distalen Endes des Antriebskabels ist, das dafür angepaßt ist,
um die Schneidspitze dieser Erfindung zu rotieren;
-
Fig. 4 eine Vorderansicht der Schneidspitze ist, wobei die
Antriebseinrichtung in den zentralen Durchgang der vorliegenden
Erfindung eingesetzt ist;
-
Fig. 5 eine externe Ansicht der bevorzugten Spiralwicklung
ist, die das Antriebskabel umgibt;
-
Fig. 6 eine Schnittansicht des in Fig. 1 gezeigten Katheters
ist mit der Ausnahme, daß die Antriebseinrichtung durch einen
Führungsdraht ersetzt worden ist, der sich durch den zentralen
Durchgang dieser Erfindung erstreckt;
-
Fig. 7 eine externe perspektivische Ansicht eines
Thrombectomiekatheters ist, der insbesondere die Antriebseinrichtung und
die Infusionsöffnungen dieser Erfindung zeigt;
-
Fig. 8 eine vergrößerte Ansicht des distalen Endes der in Fig.
7 gezeigten Katheterummantelung ist, wobei die ummantelte
Spitze und die Infusionsöffnungen in einer bevorzugten
Ausführungsform der Erfindung im Detail gezeigt sind;
-
Fig. 9 eine perspektivische Ansicht des Steuersystems zur
Steuerung des Kathetermotors und des Fluidinjektormotors
zeigt, die miteinander gekoppelt sind, um den Betrieb des in
Fig. 1 gezeigten Katheters zu steuern;
-
Fig. 10 die Bedientafel des in Fig. 9 gezeigten Systems
darstellt;
-
Fig. 11 ein Blockschaltbild des Steuersystems in Fig. 9 zeigt;
-
Fig. 12 in erster Linie in Blockformat ein detaillierteres
Schaltbild der beiden Prozessoren und der damit verbundenen
Schaltkreise zeigt, die verwendet werden, um den Kathetermotor
und den Fluidinjektormotor zu steuern;
-
Fig. 13 die Fußschalterschaltung zeigt;
-
Fig. 14 die Überwachungsschaltung für die Richtung mit der der
Fluidmotor läuft, zeigt und
-
Fig. 15 in erster Linie in Form eines Blockschaltbildes die
Kathetermotortreiberschaltung zeigt.
-
Bezugnehmend auf die Fig. 1 bis 2 enthält ein intravaskularer
Katheter, der im allgemeinen mit 10 bezeichnet ist, eine
langgestreckte flexible Umhüllung 12 mit gegenüberliegenden
proximalen 14 und distalen 16 Enden, die einen zentralen Durchgang
18 definiert, der sich zwischen den Enden erstreckt und diese
miteinander verbindet. Ein Arbeitskopf, der im allgemeinen mit
bezeichnet ist, ist am distalen Ende 16 der Umhüllung 12
angeordnet und enthält vorzugsweise Lagerungseinrichtungen 22,
um eine rotierbare Spitze 24 an dem Arbeitskopf abzustützen.
Ein flexibles Antriebskabel 26 erstreckt sich durch den
zentralen Durchgang 18 und weist einen Antriebsteil 28 auf, das
lösbar mit dem Arbeitskopf 20 verbunden ist und ein
Antriebsteil 30, das antreibend mit einer Quelle zur Erzeugung einer
Drehbewegung hoher Geschwindigkeit verbunden ist. Das Kabel 26
kann aus dem zentralen Durchgang 18 der Umhüllung 12 entfernt
werden, sobald der Antriebsteil 28 von dem Arbeitskopf 20
getrennt worden ist.
-
Bezugnehmend auf die Fig. 1 bis 6 wird eine trennbare Kupplung
bereitgestellt, vorzugsweise ein Luer-Lock-Mechanismus 34, um
das Antreibsteil 28 des Kabels 26 von dem Arbeitskopf 20
trennbar anzukoppel oder abzukoppeln. Insbesondere enthält der
schnell trennbare Kupplungsmechanismus 34 weiterhin ein
männliches Teil 36, das in ein weibliches Teil 38 eingreift, wobei
sowohl das männliche Teil 36 als auch das weibliche Teil 38
Bestandteile der Umhüllung 12 sind. Der
Schnelltrennmechanismus 34 arbeitet als eine Drehkupplung, die es ermöglicht, die
Umhüllung an der Kupplung 34 abzutrennen und die
Antriebseinrichtung zu entfernen und durch einen Führungsdraht 40, wie in
Fig. 6 gezeigt, zu ersetzen. Wie in Fig. 2 gezeigt, bewegt
sich die Spitze 24 gemeinsam mit dem Arbeitskopf 20, weil die
Lagerbuchse 22 im Preßsitz in den zentralen Durchgang 18
eingepaßt ist. Die Spitze 24 weist einen zentralen Führungsweg 42
auf, der alternativ das Antriebsende 28 des Kabels 26 braucht,
um die Spitze zu rotieren, und ermöglicht, wenn das Kabel aus
dem zentralen Durchgang entfernt worden ist, den Führungsdraht
durch den Führungsweg 42 hindurchzuführen (Fig. 6).
-
Bezugnehmend auf Fig. 5 ist das Antriebskabel 26 vorzugsweise
aus einem flexiblen massiven Draht hergestellt, der wie in
Fig. 1 und 6 gezeigt sich durch den zentralen Durchgang
zwi -schen dem proximalen 14 und distalen 16 Ende der Umhüllung 12
erstreckte Das Antriebsende 30, das an die Antriebsquelle
angekoppelt ist, enthält weiterhin einen Teil 43 mit
vergrößertem Durchmesser, der im Preßsitz in eine Verengung 44, die in
dem zentralen Durchgang 18 benachbart zu dem proximalen Ende
14 der Umhüllung 12 ausgebildet ist, eingepaßt ist. Ein
Anschlag 46 wird an dem Antriebsende 30 bereitgestellt, um die
axiale Bewegung des Kabels zu begrenzen, wobei der Anschlag 46
an einem proximalen Vorsprung 48 und einem distalen Vorsprung
50 eines aufgeweiteten Zentrierungsteils 52 anliegt und das
dem proximalen Ende 14 der Umhüllung 12 benachbart ist.
-
Weiterhin bezugnehmend auf die Fig. 1 und 6 bis 7 versorgt
eine Quelle für eine einspritzbare Flüssigkeit den zentralen
Durchgang 18 der Umhüllung 12 über eine Einlaßöffnung 54 mit
einer radiopaken Flüssigkeit. Die Einlaßöffnung 54 ist mit
einem Gehäuse 56 verbunden, das ein Injektionsrohr 58 mit
einem Lumen 60 (gezeigt mit gestrichelten Linien) aufnimmt,
das sich zu einer Einlaßöffnung 62 öffnet, die wiederum zu der
Verengung 44 des zentralen Durchgangs 18 führt. Die durch den
Kanal 62 eingespritzte radiopake Flüssigkeit wandert in
Richtung des distalen Endes 16 der Umhüllung 12 durch den
zentralen Durchgang 18 und tritt aus den Infusionsöffnungen 31 für
große Volumina in das Lumen des Gefäßes aus. Es wird darauf
hingewiesen, daß zusätzliche Infusion von Flüssigkeit durch
Einsickern durch verschieden artikulierte Oberflächen des
Arbeitskopfes 20 auftreten kann. Ein solcher Strömungsweg ist
aber im Vergleich mit der wesentlich größeren
Infusionskapazität, die durch die Öffnungen 31 erreicht wird, wesentlich
stärker beschränkt. Das Antriebskabel 26 ist aus einem Draht
mit kleinem Durchmesser hergestellt und ist weiterhin von
einer langgestreckten, helikal gewundenen Wicklung 64 umgeben,
die die Form einer Drahtwicklung, die das Kabel 26 umgibt,
annimmt. Die helikale Wicklung 64 verhindert, daß das Kabel 26
bei der Rotation in reibenden Kontakt mit dem vergleichsweise
weicherem Plastikmaterial der Ummantelung 12 tritt,
insbesondere,
wenn die Ummantelung gebogen wird, was häufig bei der
Anpassung an den gewundenen Weg eines Gefäßlumens auftritt.
Die helikal gewundene Wicklung 64 kann zusammen mit dem
Antriebskabel als ein einziges Bauteil aus der Umhüllung 12
entfernt werden. Der aufgeweitete Teil 30 des Antriebskabels 26,
der im Betrieb benachbart zum proximalen Ende 14 der Umhüllung
12 angeordnet ist, ist an die Antriebswelle 66 gekoppelt, die
durch eine entsprechende Quelle für die Drehbewegung
angetrieben wird.
-
Unter Bezugnahme auf die Fig. 2 bis 4 weist der Antriebsstift
28 des Kabels 26 ein Futter 68 auf, das einen Vorsprung 70
aufweist, an dem das Ende einer Welle 72 anliegt, die
einstükkig mit der Spitze 24 verbunden ist. Wie vorhergehend erwähnt,
erstreckt sich die Lagerhülse 22 in den zentralen Durchgang am
distalen Ende 16 der Ummantelung 12. Die Lagerbuchse 22
schnappt axial am distalen Ende der Ummantelung 12 aufgrund
von Verriegelungshaken, die in eine entsprechende Nut 76
eingreifen ein, die an der inneren Oberfläche 78 der Ummantelung
12 ausgebildet ist. Eine Führungshülse 80 erstreckt sich
proximal vom Haken 74 zum Zentrum des Futters 68 und liegt an der
Lagerbuchse 22 an. Das Futter 68 weist eine interne Passung 82
auf, in die das Antriebskabel 26 eingeschweißt ist. Die
Lagerbuchse 22 enthält eine umlaufende Nut 84. Der Antriebsstift 28
des Kabels 26 hat ein angespitztes Ende 88, das sich teilweise
in den Führungsweg 42 der Spitze 24 erstreckt. Der
Antriebsstift 28 weist einen irregulären, vorzugsweise rechtwinkligen
Querschnitt auf, der an den Führungsweg 42 angepaßt ist, so
daß der Antriebsstift 28 des Kabels 26 die Drehbewegung auf
den Führungsweg 42 überträgt, um die Spitze 24 mit hoher
Geschwindigkeit zu drehen.
-
Fig. 4 zeigt die Spitze 24 in größerem Detail mit einem Paar
abgeflachter halbkugelförmiger Seiten 90, die ein Paar
bogenförmiger Schneidkanten 92 definieren, die zentral im
Führungsweg 42 zusammenlaufen. Wie angenommen werden kann, verbleibt
nach wie vor ein relativ begrenzter Strömungsweg durch
Sickerung von eingespritzter Flüssigkeit durch den Führungsweg über
Öffnungen zwischen benachbarten gegliederten Oberflächen, wie
durch Nr. 94 verdeutlicht.
-
Bezugnehmend auf die Fig. 6 bis 7 wird eine bevorzugte
Ausführungsform des Katheters 10 gezeigt, der speziell zur Diagnose
und Behandlung von lebensbedrohenden akuten Lungenthrombosen
entwickelt worden ist. Die Umhüllung 12 ist insbesondere
geeignet für die gewundenen Verzweigungen der Lunge; es ist aber
ebenfalls auf andere vaskuläre Thrombosen anpaßbar. Die Spitze
24 fungiert als Hochgeschwindigkeitsrotationsimpeller und hat
eine abgerundete Form, die von einem Verstärkungsrand umgeben
ist, der an dem Arbeitskopf 20 einer 8 F flexiblen
Katheterummantelung 12 befestigt ist. In diesem Zusammenhang dient die
Spitze 24 dazu, den Thrombus zu homogenisieren. Der
Verstärkungsrand 96 hat eine Vielzahl von relativ breiten länglichen
Schlitzen 98, obwohl kreisförmige oder runde Öffnungen (nicht
gezeigt) verwendet werden können. Der Verstärkungsrand 96, der
dazu entwickelt worden ist, um ein glattes Äußeres für das
Gefäßlumen bereitzustellen, besteht aus relativ dünnem Metall
mit glatten Kanten, der das Gefäßgewebe vor der Spitze schützt
und im Vergleich mit den oben erwähnten Strukturen nach dem
Stand der Technik eine Verletzung der Gefäßwand verhindert.
Ein Führungsdraht (nicht gezeigt) kann verwendet werden, um
den Katheter durch das Lumen zu führen, wie oben unter
Bezugnahme auf die anderen Figuren erläutert ist.
-
Flüssigkeit wird durch die Öffnungen 31 vorzugsweise mittels
manueller Verabreichung injiziert (siehe weiter unten), wobei
das Antriebskabel 26 entfernt wurde, um einen ungehinderten
Fluß durch den zentralen Durchgang, wie in Fig. 6 gezeigt, zu
ermöglichen. Wo höhere Zuführgeschwindigkeiten benötigt
werden, z.B. größer als 10-60 ml pro Minute, kann ein spezielles
Einspritzrohr mit der Ummantelung 12 über einen
standardisierten Luer-Anschluß statt des proximalen Segments der
Ummantelung 12 angekoppelt werden.
-
Die Erfinder haben mittels Untersuchungen an simulierten
Gefäßen mit Thromben, z.B. unter Verwendung von Speisegelatine
festgestellt, daß eine geringfügige Durchdringung der Spitze
24 am distalen Ende über den Verstärkungsrand 96 hinaus
wünschenswert ist, um den Thrombus in die Impellerspitze 24
"hereinzuziehen" und schnell aufzubrechen, wobei dies als eine
Kombination einer Pumpe und eines Mixers wirkt. Ein kleinerer
8 F-Einführkatheter ist für eine subkuntane Einbringung in das
Gefäß durch eine entsprechend kleinere Einstichstelle
angemessen, wodurch jegliche Notwendigkeit für einen größeren
Führungskatheter eliminiert wird. Ein Paar von Öffnungen 31 kann
lateral gegenüberliegend, d.h. 180º voneinander entfernt, zu
einem anderen Paar von lateral gegenüberliegenden Öffnungen
angeordnet sein, die ihrerseits proximal und um 90º zu dem
ersten Paar an Öffnungen 31 versetzt angeordnet sind. Obwohl
das in Bezug auf die Fig. 9-15 (weiter unten) beschriebene
Einspritzsystem typischerweise für Thrombectomieverfahren
angemessen ist, die periphere Gefäße bei nicht lebensbedrohenden
Situationen betreffen, ist eine höhere Volumengeschwindigkeit
bei der Auflösung von Lungenthromben notwendig, insbesondere
in den mittel- bis -großen Verzweigungen, wo eine manuelle
Injektion in die Röhre 58 durch die Öffnung 54 mit
Geschwindigkeiten von 1-20 ml pro Sekunde benötigt wird, in Abhängigkeit
der Röntgenstrahlungssensitivität.
-
Unter Bezugnahme nun auf Fig. 9 ist eine perspektivische
Ansicht des Steuersystems 100 zur Steuerung des
Kathetermotorsystems 102 und Fluideinspritzsystems 104, die miteinander
gekoppelt sind, um den Betriebskatheter 10 zu steuern, in Fig. 9
gezeigt. Das Steuerungssystem 100 wird bei der Atherectomie
und einigen Anwendungen zur Auflösung von Thromben verwendet.
Das Steuersystem steuert und treibt insbesondere die Rotation
der Spitze 24 an und stellt einen geregelten Flüssigkeitsfluß
durch den Kanal 94 (Fig. 4 des Katheters 10) bereit. Das
Kathetermotorsystem 102 ist in der Lage, die Spitze 24 mit einer
Geschwindigkeit von bis zu 100.000 Umdrehungen pro Minute zu
rotieren, und das Fluideinspritzsystem 104 regelt die
Fließgeschwindigkeit des durch den Katheter fließenden Fluids, wobei
dieses Fluid u.a. zur Kühlung und Schmierung der Spitze 24
verwendet wird. Zusätzlich beinhaltet das System 100 ein
Stromversorgungsmodul 106, Fußschalter 108, einen Ständer 110,
der dazu verwendet wird, das Kathetermotorsystem 102 zu
halten,
ein Fluideinspritzsystem 104 und eine Reihe von Kabel
i12, die das Stromversorgungsmodul 106 mit dem Fußschalter 108
dem Kathetermotorsystem 102 und dem System 104 verbinden.
-
Es wird darauf hingewiesen, daß für die meisten Indikationen
der Fluidinjektor 104 zur Infusion von peripheren Gefäßen,
selbst bei Thrombolysen, ausreichend ist; eine manuelle
Einspritzung mit höheren Geschwindigkeiten als die durch den
Injektor 104 bereitgestellten ist bei manchen Anwendungen
notwendig, bei denen die Zuführgeschwindigkeit für das Überleben
des Patienten kritisch ist. Solche Situationen umfaßt die
Auflösung von Lungenthromben, insbesondere in mittel bis großen
Verzweigungen.
-
Das Stromversorgungsmodul 106 stellt eine niedrige
Gleichspannung für das Kathetermotorsystem 102, das Fluidinjektorsystem
104 und den Fußschalter 108 bereit. Modul 106 umfaßt einen
Ausschalter 114, um die Wechselspannung, die dem
Stromversorgungsmodul 106 bereitgestellt wird, abzuschalten.
-
Das Fluidinjektorsystem 104 ist dazu ausgerichtet, um bei
Drücken bis 10,3 x 10&sup5; Pascal (150 Psi) betrieben zu werden,
und die Fließgeschwindigkeit des Fluids ist von 10-60 ml pro
Minute in Schritten von 5 ml pro Minute einstellbar. Eine
Systemschalttafel 116, die in Fig. 10 im Detail gezeigt ist,
ist als Abdeckung des Fluidkontrollsystems 104 angeordnet und
kann von einem Operateur verwendet werden, um sowohl die
Geschwindigkeit der rotierenden Spitze 24 und des Fluidflusses
durch den Katheter 10 zu steuern. Schalttafel 116 wird im
Detail hiernach in bezug auf Fig. 10 beschrieben. Das
Fluidkontrollsystem 104 enthält ebenfalls einen Knopf 118, um die
Fließgeschwindigkeit, die durch den Kolben der in dem System
104 mit eingeschlossenen Spritze 120 erzeugt wird, manuell zu
steuern, der ansonsten durch einen elektrischen Motor
gesteuert wird.
-
Das Kathetermotorsystem 102 umfaßt den Kathetermotor und eine
Motorsteuereinheit hierfür. Der Motor ist ein zweipoliger
bürstenloser Dreiphasen-Gleichstrommotor, der durch eine
Steuereinheit
in Stufen von 5.000 UpM bis bis zu einem Maximum von
100.000 UpM steuerbar ist. Das Kathetermotorsystem 102 enthält
ebenfalls einen Lüfter (nicht gezeigt) und eine Kontrollampe
122, die bei einer niedrigen Geschwindigkeit, wenn der Motor
zum Betrieb bereit ist, und bei einer höheren Geschwindigkeit,
wenn der Motor betrieben wird, aufleuchtet. Das
Kathetermotorsystem 102 kann von Harowe Servo Controls, Inc., West Chester,
Pennsylvania, unter der Teilenummer B1110H1495 für den Motor
und unter der Teilenummer CNT3605F001 für die angeschlossene
Motorsteuereinheit erworben werden.
-
Der Fußschalter 108 ist ein zweipoliger Schalter, der, wenn er
heruntergedrückt wird, sowohl das Kathetermotorsystem 102 und
das Fluidinjektorsystem 104 in Betrieb setzt. Wenn der
Fußschalter 108 anfänglich heruntergedrückt wird, wird zuerst das
Fluidinjektorsystem 104 und ungefähr 2-4 Sek. später der Motor
in dem Kathetermotorsystem 102 in Betrieb gesetzt. Diese
Verzögerung stellt sicher, daß das Fluid vor der Inbetriebnahme
des Kathetermotors fließt, so daß die Spitze 24 nicht
beschädigt wird.
-
Unter Bezugnahme auf Fig. 10 ist die Schalttafel 116 gezeigt.
Die mit Armed/Injecting bezeichnete Lampe 124 leuchtet auf
sobald Fußschalter 108 gedrückt wird. Die Fluidskala 126 gibt
die Fluidmenge an, die in der Spritze 120 verbleibt. Der
verbleibende Teil der Tafel 126 ist in drei Bereiche aufgeteilt,
der Injektorsteuerungsbereich 128, der Motorsteuerungsbereich
130 und der zusätzliche Steuerungsbereich 132. Der
Injektorsteuerungsbereich 128 umfaßt eine zweiziffrige Anzeige 134,
die die programmierte Flußgeschwindigkeit in Milliliter pro
Minute (ml/Min.) anzeigt. Die Flußgeschwindigkeit wird durch
Drücken einer der Tasten 136 oder 138, die jeweils die
Flußgeschwindigkeit erhöhen (Taste 136) oder erniedrigen (Taste
138), programmiert. Zwei zusätzliche Tasten, Entleertaste 140
und Fülltaste 142, werden verwendet, um entweder die Spritze
120 zu entleeren oder zu füllen. Wenn die Entleertaste 140
gedrückt und gehalten wird, bewegt sich der Kolben der Spritze
120 vorwärts und jegliche Flüssigkeit in der Spritze 120 wird
ausgestoßen, und wenn die Entleertaste 140 freigelassen wird,
wird der Kolben angehalten. Eine Klappe 144, die die Lagerung
der Spritze 120 ermöglicht (in Fig. 9 gezeigt), muß
geschlossen sein, um den Betrieb der Entleertaste 140 zu erlauben.
Wenn die Fülltaste 142 gedrückt wird, bewegt sich der Kolben
der Spritze 120 rückwärts und die Spritze 120 wird gefüllt.
Die Fülltaste 142 ist aktiv, unabhängig davon, ob die Klappe
144 offen oder geschlossen ist. Der Kolben der Spritze 120 muß
vollständig zurückgezogen werden, damit die Spritze 120
entfernt werden kann. Ein Injektormotor und eine daran
angeschlossene Steuerung (weiter unten beschrieben) steuert die
Bewegung des Kolbens der Spritze 120.
-
Zusätzlich umfaßt Injektorsystem 128 drei Lampen, eine Lampe
146 zur Anzeige eines niedrigen Flüssigkeitsstandes, eine
Lampe 148 zur Anzeige eines Minimalflüssigkeitsstandes und eine
Lampe 150 zur Anzeige der Druckgrenze. Die Lampe 146 zur
Anzeige eines niedrigen Flüssigkeitsstandes leuchtet auf, wenn
die Menge an Flüssigkeit in der Spritze 120 die 30 ml Menge
erreicht und die Lampe 148 zur Anzeige eines minimalen
Flüssigkeitsstandes leuchtet auf, wenn die Menge der Flüssigkeit
in der Spritze 120 die 5 ml Menge erreicht. Die Lampe 150 zur
Anzeige der Druckgrenze leuchtet auf, wenn der Druck des
Fluidinjektorsystems 104 10,34 x 10&sup5; Pascal (150 Psi)
erreicht, während die Flüssigkeit eingespritzt wird. Wenn der
Grenzdruck erreicht wird, schaltet sich das System automatisch
ab. Für jede der Lampen 146, 148 und 150 kann ein
Signaltongeber (nicht gezeigt) angesteuert werden, um eine weitere
Warnung bereitzustellen.
-
Der Motorsteuerungsbereich 130 wird verwendet, um die
Geschwindigkeit des Kathetermotorsystems 102 zu steuern und
umfaßt eine dreiziffrige Anzeige 152, ein Paar von Tasten 154
und 156 und eine Geschwindigkeitswarnlampe 158. Anzeige 152
zeigt die programmierte oder gewünschte Geschwindigkeit des
Kathetermotors des Kathetermotorsystems 102 (in 1.000 UpM) ,
wie durch die Tasten 154 und 156 festgesetzt, an. Insbesondere
wird, um die programmierte Geschwindigkeit des Motors in dem
Kathetermotorsystem 102, wie durch Anzeige 152 angezeigt, zu
erhöhen, die Taste 154 gedrückt, und um die Geschwindigkeit
des Motors im Kathetermotorsystem 102, wie durch die Anzeige
152 angezeigt, zu erniedrigen, die Taste 156 gedrückt. Falls
die tatsächliche Motorgeschwindigkeit des Kathetermotorsystems
102 um mehr als 5.000 UpM länger als 1 1/2 Sek. abweicht,
leuchtet Lampe 158 auf, um dadurch einen Fehlerzustand der
Geschwindigkeit anzuzeigen. Danach reduziert das Steuersystem
die Geschwindigkeit des Motors in dem Kathetermotorsystem 102
automatisch auf Null.
-
Der zusätzliche Steuerungsbereich 132 umfaßt drei Tasten, eine
Niedrig/Hoch-Taste 160, eine Bereittaste 162 und eine
Stoptaste 164 und zwei Druckanzeigelampen, eine
"Niedrig"-Anzeigelampe 166 und eine "Hoch"-Anzeigelampe 168. Die "Niedrig/-
Hoch"-Taste 160 wird verwendet, um zwischen dem niedrigen und
hohen Grenzdruck des Flüssigkeitinjektorsystems 104 hin und
her zu springen. Falls nur ein einzelner Grenzdruck verwendet
wird, kann sowohl der niedrige als auch der hohe Grenzdruck
auf denselben Wert festgesetzt werden oder die "Niedrig/Hoch"-
Taste 160 kann desaktiviert werden. Die Bereittaste 162 wird
gedrückt, um das Fluidinjektorsystem 104 zu aktivieren, und
wenn das System 104 aktiviert ist, sind die Entleertaste 140
und die Fülltaste 142 inaktiviert worden und die
Bereit/Injektionslampe 124 blinkt. Der Fußschalter 108 kann freigelassen
werden, falls es erwünscht ist, das Kathetermotorsystem 104
anzuhalten. Sobald die Stromversorgung zum Kathetermotorsystem
102 unterbrochen wird, wird das Fluidinjektorsystem 104
angehalten und desaktiviert und das Kathetermotorsystem 102, und
die Fließgeschwindigkeit des Fluidinjektorsystems 104 behalten
ihre Einstellungen. Weiterhin erlischt die
Bereit/Injektionslampe und die Entleer- und Fülltasten werden reaktiviert.
Alternativ kann die Stoptaste 164 gedrückt werden, um das
Kathetermotorsystem 102 anzuhalten und dies hebt den gedrückten
Fußschalter 108 auf. Wenn die Stoptaste 164 zurückgestellt
wird, kehren das Kathetermotorsystem 102 und das
Fluidinjektorsystem 104 zu den Grundeinstellungen zurück.
-
Unter Bezugnahme auf die Fig. 11 ist ein elektrisches
Blockschaltbild des Systems 100 gezeigt. In Fig. 11 wurden
dieselben numerischen Zuordnungen für Komponenten verwendet, die mit
den in der Fig. 9 gezeigten übereinstimmen. Wie vorhergehend
mit Bezug auf Fig. 9 bemerkt, sind die Hauptkomponenten des
Systems das Kathetermotorsystem 102, das Fluidinjektorsystem
104, das Stromversorgungsmodul 106 und der Fußschalter 108.
Wie weiterhin aus Fig. 11 ersichtlich, umfaßt das
Kathetermotorsystem 102 eine Kathetermotorsteuerung 170 und einen
Kathetermotor 172. Der Kathetermotor 172 kann ein im Handel
erhältlicher bürstenloser, zweipoliger, Dreiphasen-Gleichstrommotor
sein. Der Kathetermotor 172 kann zusätzlich einen Lüfter
(nicht gezeigt) und eine Anzeigevorrichtung für die bereits
abgelaufene Zeit (nicht gezeigt) enthalten und stellt kodierte
Signale zur Verfügung, die die tatsächliche Geschwindigkeit
des Motors 172 angeben. Die Motorsteuerung 170 kann ebenfalls
eine im Handel erhältliche Pulsweiten-modulierte Steuerung für
einen bürstenlosen Motor sein, die eine Steuerausgabe von Null
bis 100.000 UpM bereitstellt.
-
Das Fluidinjektorsystem 104 umfaßt die vorhergehend unter
Bezugnahme auf Fig. 10 beschriebene Bedientafel 116 und den
Injektormotor 176, der angeschlossen werden kann, um den Kolben
jeder im Handel erhältlichen 130 ml Spritze mit einem
entsprechenden Innendurchmesser des Zylinders zu bewegen. Eine
Kodierscheibe 174 ist an der Welle 175 angebracht, um Signale
zur Feststellung der tatsächlichen Geschwindigkeit und
Richtung des Injektormotors 176 bereitzustellen. Zusätzlich umfaßt
das Fluidinjektorsystem einen Hauptprozessor 178 und einen
Geschwindigkeitsprozessor 180, die zusammen den Gesamtbetrieb
des Systems 100 steuern, wie im Detail hiernach beschrieben
wird. Weiterhin wird eine Injektormotorsteuerung 182 im
Fluidinjektorsystem 104 bereitgestellt, um entsprechende
Pulsweiten-modulierte und andere Steuerungssignale bereitzustellen,
um die Geschwindigkeit und Richtung des Injektormotors 176 zu
steuern. Im allgemeinen werden die beiden Prozessoren und
deren zugeordnete Schaltkreise detaillierter in Fig. 12 gezeigt
und die Injektormotorsteuerung 182 wird in Fig. 15 gezeigt.
Zusätzlich versorgt Stromversorgungsmodul 106 jeden der
anderen der in Fig. 11 beschriebenen Blöcke mit Spannung. Es kann
entsprechende Spannungsregler zur Umwandlung der normalen
Netzspannung (z.B. 120 Volt Wechselspannung) zu den
verschiedenen, innerhalb des Systems 100 benötigten Spannungen
umfassen.
-
Unter Bezugnahme auf Fig. 12 regelt der Hauptprozessor 178 im
allgemeinen die meisten Funktionen des Systems 100 und der
Geschwindigkeitsprozessor 180 überwacht im allgemeinen die
Geschwindigkeit des Kathetermotors 172. Der Hauptprozessor kann
eine Motorola 68705U3 Mikrosteuerung mit 112 Bytes RAM, 3776
Bytes EPROM, drei I/O Ports, bezeichnet mit A, B und C und
einen Eingabeport, bezeichnet mit D, sein. Die folgenden
Signalzuordnungen für die vier Ports des Hauptprozessors 178
werden vorgenommen.
-
Port A, 0-7 Bits: Nur zur Ausgabe konfiguriert. Port A wird
als Datenbus 184 verwendet, um 8 Bits paralleler Daten zu
anderen Komponenten zu senden. Zusätzlich werden Leitungen 0 und
1 verwendet, um serielle Daten zu den Anzeigen 134 und 152 auf
der Bedienstafel 116 zu senden, wobei Zuleitung 0 das
Datensignal und Leitung 1 das Taktsignal übermitteln.
-
Port B: Leitungen 0-2 und 7 sind für die Ausgabe konfiguriert
und Leitung 3-6 sind für die Eingabe konfiguriert.
Insbesondere sind die Leitungen 0-5 an die verschiedenen Tasten der
Bedientafel 116 gekoppelt, wobei die Leitungen 0-2 eine Reihe
selektieren und die Leitungen 3-5 die Spalte der selektierten
Reihe lesen.
-
Leitung 6, mit HISPDER bezeichnet, deutet, wenn der Pegel hoch
ist, auf einen Fehler des Kathetermotors 172 hin. Dieses
Signal wird ebenfalls im Handshake-Betrieb verwendet.
-
Leitung 7, mit /HISPDEN bezeichnet, wird verwendet, um den
Kathetermotor 172 zu aktivieren und zu desaktivieren. Wenn der
Pegel des Signals hoch ist, wird der Kathetermotor 172
desaktiviert und, wenn der Pegel des Signals niedrig ist, wird der
Kathetermotor 172 aktiviert.
-
Port C: Leitungen 0-5 sind für die Ausgabe konfiguriert und
Leitungen 6 und 7 sind für die Eingabe konfiguriert.
Insbesondere ist Leitung 0, die mit LATCHEN bezeichnet ist,
angeschlossen, um Latch 186 zu aktivieren, der ebenfalls auf die
Datenbus 184-Signale von Port A anspricht, wenn der Pegel von
LATCHEN niedrig wird, erscheinen dann die Daten auf dem
Datenbus 184 an den acht Outputs des Latch 186. Diese Outputs
werden dann Folgesignale, die wie angegeben, bereitgestellt
werden, um die dargestellten Funktionen zu ermöglichen:
-
BEEPER bewirkt einen hörbaren Warnton;
-
/REV, wenn der Pegel niedrig ist, deutet darauf hin, daß der
Injektormotor 176 in umgekehrter Richtung betrieben wird;
-
RUN, wenn der Pegel hoch ist, deutet darauf hin, daß der
Injektormotor 176 in der Vorwärtsrichtung betrieben wird;
-
LIGHT bewirkt, daß die Bereit/Injektionslampe 124 erleuchtet
werden soll;
-
PRESS LIM bewirkt, daß die Grenzdrucklampe 150 erleuchtet
werden soll;
-
SPDERR bewirkt, daß die Geschwindigkeitsfehleranzeigelampe 158
erleuchtet werden soll;
-
NOFLO bewirkt, daß die Mindestflüssigkeitsanzeigelampe 148
erleuchtet werden soll und
-
LOFLO bewirkt, daß die Niedrigflüssigkeitsanzeigelampe 146
erleuchtet werden soll.
-
Leitung 1, die mit WOOG bezeichnet ist, it ein Signal, das
wenigstens alle 1,2 Sek. während des ordnungsgemäßen Betriebs
bereitgestellt wird. Es wird verwendet, um einen monostabilen
Multivibrator zur Zeitüberwachung oder den stabilen
Schaltkreis 188 vor seiner 1,2 Sek.-Auszeit hin und her zu schalten.
-
Leitung 2, die mit SELDA1 bezeichnet ist, wird an dem Latch
Enable (LE) Einlaß des Digitalanalogumwandlers (DAC) 190 des
Kathetermotors bereitgestellt. Wenn der Pegel des
SELDA1-Signals niedrig ist, liest der Kathetermotor DAC 190 die hierfür
bereitgestellten Daten des Datenbusses 184. Das SELDA1-Signal
und die Signale des Datenbus 184 werden in ähnlicher Art und
Weise für den Geschwindigkeitsprozessor 180 bereitgestellt.
-
Die mit ENDISD bezeichnete Leitung 3 wird verwendet, um die
Anzeigentreiber innerhalb der Bedientafel 116 zu aktivieren,
um die seriellen Informationen über Datenbus-Leitungen 0 und 1
aufzunehmen.
-
Die mit SYSINHIBIT bezeichnete Leitung 4 setzt, wenn der Pegel
des Signals hoch ist, die Anzeigen, Output Latch 186 und die
Injektormotorrelays, die in Fig. 15 gezeigt sind, zurück.
-
Die mit SELDA2 bezeichnete Leitung 5 wird an dem Line Enable
(LE) Einlaß des Digitalanalogumwandlers 192 des Injektormotors
bereitsgestellt.
-
Die mit PRSFST bezeichnete Leitung 6 legt, wenn der Pegel des
Signals hoch ist, fest, daß das Injektorsystem 104 seinen
Grenzdruck erreicht hat.
-
Die mit PRSSLO bezeichnete Linie 7 legt, wenn der Pegel des
Signals hoch ist, fest, daß das Injektorsystem für mindestens
eine Sekunde lang unter Grenzdruck gewesen ist.
-
Port D weist lediglich Input-Leitungen auf. Insbesondere die
mit PHASEB bezeichnete Leitung 0 wird verwendet, um den
Zustand des Kanals A von der Kodierscheibe 174 festzulegen.
-
Die mit PHASEA bezeichnete Leitung 1 wird verwendet, um den
Zustand des Kanals B von der Kodierscheibe 174 festzulegen.
-
Die mit LOLIM bezeichnete Leitung 2 legt, wenn der Pegel des
Signals niedrig ist, fest, daß der Kolben der
Fluidinjektorspritze 120 die Niedrigfluidgrenze von 30 ml verbleibenden
Fluids in der Spritze 120 erreicht hat.
-
Die mit FOOT bezeichnete Leitung 3 legt, wenn der Pegel des
Signals hoch ist, fest, daß der Fußschalter betätigt worden
ist.
-
Die mit DOOR bezeichnete Leitung 4 legt, wenn der Pegel des
Signals hoch ist, fest, daß die Klappe 144 für die Spritze
offen ist.
-
Die mit FWDLIM bezeichnete Leitung 5 legt, wenn der Pagel des
Signals niedrig ist, fest, daß der Kolben der Spritze 120 den
vorderen Grenzschalter erreicht hat, was bedeutet, daß die
Spritze leer ist.
-
Die mit EDGE bezeichnete Leitung 6 bewirkt eine Unterbrechung
an der Anstiegsflanke, wenn eine Änderung im Zustand der
Kanäle des Kodierers auftritt. Der Pegel dieses Signals ist
ungefähr 50 Mikrosekunden lang niedrig bei der Anstiegs- oder
Abfallflanke des jeweiligen Kodierkanals A oder B und wird unter
Bezugnahme auf Fig. 14 weiterhin diskutiert.
-
Die mit REVLIM bezeichnete Leitung 7 legt fest, daß der Kolben
der Spritze 120 den Endpunkt der Umkehrbewegung erreicht hat.
-
Zusätzlich enthält der Hauptprozessor ein mit /INT
bezeichneten Unterbrechungsinput, an den der Output des AND Gates 194
gekoppelt ist. Die Tastenspaltensignale PB3, PB4 und PB5 von
der Bedientafel 116 werden an den drei Inputs des AND Gates
194 bereitgestellt und daher bewirkt ein Signal, wenn immer
eine Taste der Bedienungstafel 116 gedrückt wird, das
Auftreten einer Unterbrechung in der Ausführung des Programms durch
den Hauptprozessor 178.
-
Zusätzlich weist der Hauptprozessor 178 ein Interrupt-Input
auf, an den das EDGE-Signal gekoppelt ist, wie oben für Port
D, Leitung 8, beschrieben, um die Motorbewegung festzustellen.
Schließlich verfügt der Hauptprozessor 178 über einen /RESET-
Input, an den der Output der stabilen Schaltung 188 gekoppelt
ist. Wenn die stabile Schaltung 188 nicht wenigstens alle 1,2
Sek. zurückgesetzt wird, wird angenommen, daß sich der
Hauptprozessor "aufgehängt" hat, d.h. daß das Programm in eine
Endlosschleife geraten ist, die es nicht verlassen kann und der
Pegel des Outputs der stabilen Schaltung 188 wird hoch und
setzt den Hauptprozessor 178 zurück. Es wird darauf
hingewiesen,
daß die FWDLIM, REVLIM, LOLIM und DOOR-Signale, die dem
Port D des Hauptprozessor 178 bereitgestellt werden, von
verschiedenen Begrenzungssensoren 196, die physikalisch im System
100 angeordnet sind, bereitgestellt werden.
-
Der Geschwindigkeitsprozessor 180 ist ein Motorola MC68705P3
acht Bit Mikroprozessor mit 112 Bits RAM, 1786 Bits EPROM und
zwei 8 Bit I/O Ports A und B und einem vier Bit I/O Port C.
Die Hauptfunktion des Geschwindigkeitsprozessors 180 ist, die
Geschwindigkeit des Kathetermotors 172 zu überwachen und die
Stopfunktion, falls der Kathetermotor nicht innerhalb von
5.000 UpM der einprogrammierten Geschwindigkeit betrieben
wird. Die 8 Bits des Ports A sind als Input Port konfiguriert
und ausgerichtet, um die Daten des Datenbus 184 zu empfangen,
damit der Geschwindigkeitsprozessor 180 die
Geschwindigkeitswerte, die dem Kathetermotor-DAC 190 zugesendet worden sind,
kennt.
-
Port B des Geschwindigkeitsprozessors 180 verfügt über
Leitungen 0 und 4, die als Inputs konfiguriert sind und Leitungen 3
und 6, die als Outputs konfiguriert sind. Die Leitungen 1, 2,
5 und 7 des Ports B werden nicht verwendet und sind
dementsprechend mit N/C bezeichnet. Die verschiedenen Leitungen des
Ports B sind wie folgt:
-
Die mit SENSOR/2 bezeichnete Leitung A ist eine Sequenz von
Sensorpulsen, die von einer Hall-Effekt-Vorrichtung in dem
Kathetermotor 172 stammen und die tatsächliche Geschwindigkeit
des Kathetermotors 172 wiedergeben; das SENSOR/2-Signal ist
das SENSOR-Signal, das durch eine Teilung durch zwei
Schaltkreise 198 geleitet wird.
-
Leitung 3 enthält ein Signal mit hohem Pegel, wenn ein
Geschwindigkeitsfehler zuerst ermittelt wird und wird einer
Auszeit-Schaltung 200 zur Verfügung gestellt.
-
Leitung 4 überwacht den Output der Auszeitschaltung 200 und,
wenn der Pegel des Signals hoch wird, wird ein
Geschwindigkeitsfehler im Kathetermotor 172 festgestellt.
-
Leitung 6 ist ähnlich zu dem WOOG-Signal des Ports C, Leitung
1 des Hauptprozessors 178 und wird verwendet, um
kontinuierlich den stabilen Schaltkreis 202 wenigstens alle 1,2 Sek.
zurückzusetzen.
-
Port C ist so konfiguriert, daß die Leitungen 0 und 1 Outputs
sind und die Leitung 2 ein Input ist. Leitung 3 des Ports C
wird nicht verwendet. Die verschiedenen Signale des Ports C
sind:
-
Leitung 0 stellt ein Signal durch Emitter-Folger-Transistor
schaltkreis 204 zur Verfügung, das verwendet wird, um die
Bewegungen des Kathetermotors 172 zu ermöglichen. Das Signal
wird mit HISPD PWR bezeichnet, und der Motor 172 wird
aktiviert, wenn sein Pegel hoch ist.
-
Die mit HISPDER bezeichnete Leitung 1 wird im Hochpegelzustand
dem Hauptprozessor 178 bereitgestellt, wenn der
Geschwindigkeitsprozessor 180 einen Geschwindigkeitsfehler bezüglich des
Kathetermotors 172 feststellt.
-
Leitung 2 legt das Ergebnis von dem OR-Gate 206 fest, zu dem
die /REV und RUN-Signale bereitgestellt werden. Wenn der Pegel
der Leitung 2 niedrig wird, wird der Geschwindigkeitsprozessor
180 angewiesen, den Geschwindigkeitsfehlerzustand
zurückzusetzen oder bereit zu sein, eine Information vom Hauptprozessor
178 aufzunehmen.
-
Zusätzlich zu den drei Ports weist der
Geschwindigkeitsprozessor 180 einen Unterbrecher-Input (/INT) auf, an den das
SELDA1-Signal des Hauptprozessors 178 gekoppelt ist, einen
Timerinput, an das das SENSOR/2-Signal gekoppelt ist und ein
/RESET-Input, an den der Output der stabilen Schaltung 202
gekoppelt ist, auf.
-
Sowohl die Kathetermotorsteuerung 170 als auch die
Injektormotorsteuerung 182 reagieren auf die Analogsignale der DACs 190
bzw. 192 und stellen weitenmodulierte Pulse zur Verfügung, um
die Motoren 172 und 176 anzutreiben. DACs 190 und 192 wiederum
sind in der Lage, auf die Datensignale des Datenbusses 184 zu
reagieren, wenn jeweils eins der SELDA1 oder SELDA2-Signale
von dem Hauptprozessor 178 bereitgestellt werden. Der SELDA1
Puls wird bereitgestellt, wenn eine Änderung der
Geschwindigkeit des Kathetermotors 172 durch den Hauptprozessor 178
gefordert wird und das SELDA2-Signal wird jedesmal
bereitgestellt, wenn eine Änderung der Geschwindigkeit des
Injektormotors 176 von dem Hauptprozessor 178 gefordert wird. Der Output
des DACs 190 des Kathetermotors wird über einen integrierten
Schaltkreis 108 bereitgestellt, um eine gleichmäßige
Beschleunigung/Abbremsung der Kathetermotorsteuerung 170
bereitzustellen, die wiederum drei pulsweitenmodulierte Signale den drei
Windungen des Kathetermotors 172 bereitstellt. Der Output des
DACs 192 des Injektormotors wird als VDC-Signal der
Injektormotorsteuerung 182 bereitgestellt, wie in Fig. 15 detailliert
dargestellt.
-
Unter Bezugnahme auf Fig. 13 wird ein elektrischer Schaltplan
des Fußschalters 108 gezeigt. Fußschalter 108 umfaßt einen
Doppelpolschalter mit zwei Schaltarmen 212 und 214, die
jeweils an Masse angeschlossen sind. Solange der Fußschalter 108
nicht gedrückt ist, ist die Position der Schaltarme 212 und
214 wie gezeigt an die Output-Terminals 216 bzw. 218
angeschlossen; wenn der Fußschalte 108 heruntergedrückt wird,
wandern die Schaltungsarme 212 und 214, um in Kontakt mit den
Terminals 220 und 222 zu treten, die ansonsten nicht
angeschlossen sind. Terminal 216 ist an die positive Spannung +V
über Widerstand 224 und 218 ist an die positive Spannung +V
über Widerstand 226 gekoppelt. Die Verzweigung von Terminal
216 und Widerstand 224 ist über Invertierer 228 gekoppelt und
wird als FOOT-Signal bezeichnet, das zu dem Prozessor 178
gesendet wird, um den Betrieb des Injektormotors 176 zu
aktivieren.
-
Nachdem der Injektormotor einige Sekunden in Betrieb gewesen
ist, ändert der Hauptprozessor 178 den Zustand des /HISPDEN-
Signals, um anzuzeigen, daß Inbetriebnahme des Kathetermotors
172 begonnen werden kann. Dieses Signal zusammen mit der
Verzweigung
des Terminals 218 des Widerstands 226 werden über
NAND-Gate 230 und Invertierer 232 bereitgestellt. Das
Ausgangssignal aus dem Wechselrichter 232 ist das MSTART-Signal,
das bereitgestellt wird, um den Pulsweitenmodulator in der
Kathetermotorsteuerung 170 zu aktivieren.
-
Unter Bezugnahme auf Fig. 14 wird nun die Art und Weise der
Bestimmung der Geschwindigkeit und der Richtung des
Fluidinjektormotors 126 erklärt Wie vorgehend erwähnt, ist die
Kodierscheibe 174 mit der Abtrittswelle 175 des Injektormotors
176 verbunden. Die Abtriebswelle 174 beinhaltet eines Vielzahl
von z.B. Elementen aus einem magnetischen Material 234, die
gleichmäßig über die Außenkante der Scheibe verteilt sind. Ein
Paar magnetische Detektoren 236 und 238, wie z.B. Hall-Effekt-
Vorrichtungen, sind gegenüberliegend zu der Kodierscheibe 174
angeordnet, um ein Signal zu erzeugen, wenn ein magnetisches
Element mit einem Detektor in Übereinstimmung gebracht wird.
Diese Signale werden dann über Detektorschaltkreise 214 und
242 bereitgestellt, die entsprechende pulsförmige Signale
erzeugen. Die Detektoren 236 und 238 sind ungefähr 180º Phasen
verschoben zueinander angeordnet, das bedeutet, sie sind so
angeordnet, daß, wenn einer der Detektoren 236 oder 238 in
voller Übereinstimmung mit einem magnetischen Element 234
steht, der andere der Detektoren 236 oder 238 in voller
Übereinstimmung mit dem nichtmagnetischen Raum zwischen den
Elementen 234 steht. Die Ausgangssignale der Detektorschaltkreise
240 und 242 sind die PHASEA- bzw. die PHASEB-Signale. Sowohl
die PHASEA als auch die PHASEB-Signale werden als
Eingangssignale für das EXCLUSIVE NOR Gate 224 bereitgestellt, dessen
Ausgangssignal das EDGE-Signal ist.
-
Wie vorgehend geschrieben, werden die PHASEA, PHASEB und EDGE-
Signale dem Hauptprozessor 178 zur Verfügung gestellt und als
Reaktion dieser Signale kann die Geschwindigkeit und Richtung
des Fluidinjektormotors 176 bestimmt werden. Das EDGE-Signal
ist ein Pulssignal mit der doppelten Frequenz von entweder dem
PHASEA oder dem PHASEB-Signal aufgrund des EXCLUSIVE-NOR
Betriebs des Gates 244. Durch Beachtung der relativen
Phasendifferenz zwischen den PHASEA und PHASEB-Signalen, das bedeutet
ob das PHASEA-Signal vorherläuft oder dem PHASEB-Signal
hinterherläuft, kann die Richtung des Injektormotors 176 bestimmt
werden. Diese Information wird von dem Hauptprozessor 178
verwendet, um zu bestimmen, wann die Daten den Output Latches 186
bereitgestellt werden, was zu dem Bereitstellen der RUN und
/REV-Signale führt. Diese Signale werden wiederum von der
Injektormotorsteuerung 182 verwendet, um die Rotationsrichtung
des Injektormotors 176 zu steuern.
-
Unter Bezugnahme auf Fig 15 ist ein detaillierteres Diagramm
der Injektormotorsteuerung 182 gezeigt. Pulsweitenmodulator
246 stellt Pulse mit einer Frequenz von 27 KHZ zur Verfügung
mit einem Tastgrad der von der Höhe der hierzu zugeführten
Spannungen abdrängt. Insbesondere variiert die Spannung, mit
der der Pulsweitenmodulator 246 versorgt wird, zwischen
ungefähr 0,5 Volt und ungefähr 3,5 Volt und je größer die Spannung
ist, um so kleiner ist der Tastgrad des modulierten Pulses am
Output des Pulsweitenmodulators 246. Zwei unterschiedliche
Spannungskontrollsignale werden als Eingangssignale dem
Pulsweitenmodulator 246 zugeführt und das Signal mit der höheren
Spannung regelt das Ausgangssignal.
-
Die Reihe von Pulsen am Output des Pulsweitenmodulators 246
werden über Steuerkreis 248 der Gate-Elektrode des Leistungs-
FET-Transistors 250 bereitgestellt, um den Source-Drainweg des
Transistors 250 für die Dauer eines jeden Pulses leitend zu
machen. Wenn der FET-Transistor 250 leitend ist, ist die
Ansteuerungsspannung VD über Umkehrrelais 252 und Antriebsrelais
294 mit einem der Vorwärts- (+) oder Umkehr- (-) Terminals des
Injektormotors 176 gekoppelt. Wenn die Spannung VD an das
Vorwärtsterminal (+) gekoppelt ist, läuft der Injektormotor 176
in Vorwärtsrichtung und bewirkt, daß die Flüssigkeit aus der
Spritze 120 in den Katheter 10 oder in das Abfallreservoir
ausgestoßen wird, falls die Entleertaste 140 gedrückt wird.
Auf der anderen Seite, wenn die Spannung V an das
Umkehrterminal (-) gekoppelt ist, läuft der Injektormotor 176 in
Umkehrrichtung, um es zu ermöglichen, den Kolben in seine
Ausgangsposition zurückzuführen und/oder die Spritze 120 zu
füllen, falls die Fülltaste 142 gedrückt ist.
-
Umkehrrelais 252 beinhaltet 2 Schaltarme 256 und 258;
Schaltarm 256 weist zwei damit verbundene Terminals 260 und 262 auf
und Schaltarm 258 weist zwei damit verbundene Terminals 264
und 266 auf. In ähnlicher Weise beinhaltet das Vorwärtsrelais
254 zwei Schaltarme 268 und 270; Schaltearm 258 weist zwei
damit verbundene Terminals 272 und 274 auf und Schaltarm 270
weist zwei damit verbundene Terminals 276 und 278 auf.
Schaltarm 256 ist am Terminal 272 und Schaltarm 258 ist an Terminal
276 angeschlossen, um das Umkehrrelais 252 und das
Vorwärtsrelais 254 miteinander zu verbinden. Schaltarm 268 ist mit dem
Vorwärtsterminal (+) des Injektormotors 176 verbunden und
Schaltarm 270 ist mit dem Umkehrterminal (-) des
Injektormotors 176 verbunden.
-
Eine Relaisspule 280 ist, wenn Strom hindurch fließt, so
angeschlossen, um den Schaltarm 256 von Terminal 262 zum Terminal
260 und Schaltarm 258 vom Terminal 266 zum Terminal 264 zu
bewegen. In ähnlicher Art und Weise ist eine Relaisspule 182,
wenn Strom hindurch fließt, so angeschlossen, um Schaltarm 268
vom Terminal 274 zum Terminal 272 und Schaltarm 270 vom
Terminal 278 zum Terminal 276 zu bewegen. Ein Ende jeder der Spulen
280 und 282 ist an eine Quelle positiver Spannung gekoppelt
und das andere Ende einer jeden Spule 280 und 282 ist über den
Kollektor-Emitter-Weg der jeweiligen Transistoren 284 und 286
an Masse gekoppelt. So wie sie angeschlossen sind, haben die
Spulen 280 und 282 Stromfluß, wenn die jeweiligen Transistoren
284 und 286 durch Stromfluß zu ihren jeweiligen Basen leitend
sind.
-
Die Basis des Transistors 286 ist an den Output des NOR Gate
288 gekoppelt, das seine beiden Inputs an /REV des Output von
Latches 186 und an das SYSINHIBIT-Signal des Hauptprozessors
178 gekoppelt hat. Somit wird Spule 280 nur mit Strom
versorgt, wenn es erwünscht ist, den Injektormotor 176 in
Umkehrrichtung zu betreiben, was durch ein /REV-Signal mit hohem
Pegel und ein SYSINHIBIT-Signal mit hohem Pegel festgelegt wird.
-
Die Basis des Transistors 286 ist an den Output des AND Gate
290, das drei Inputs aufweist, gekoppelt; ein Input des AND
Gates 290 ist an das RUN-Signal von Output Latches 186
gekoppelt, und an einem anderen Input des AND Gate 290 wird das
/SYSINHIBIT-Signal, das durch Hindurchleiten des SYSINHIBIT-
Signals durch Invertieren 292 bereitgestellt wird, zugeführt.
Der dritte Input des AND Gate 290 ist an den Output der
Überstrom- und Überspannungsschutzschaltung 294 gekoppelt.
Schutzschaltung 294 überwacht zwei Signale MT1 und MT2 (die hier
nachfolgend beschrieben wird) des Motors 176, um
sicherzustellen, daß die Geschwindigkeit und der Druck des Injektorsystems
nicht außerhalb der Grenzen liegt. Wenn entweder die
Geschwindigkeit oder der Druck während des normalen Betriebs des
Injektormotors 176 die Grenzen überschreiten (Pegel von RUN und
/SYSINHIBIT sind hoch), dann versorgt die Schutzschaltung 294
AND Gate 290 mit einem hochpegligen Signal, was wiederum ein
hochpegliges Signal daraus auslöst, das die Spule 282
ansteuert. Dies wiederum schaltet die Schaltarme 286 und 270 in
Kontakt mit den Terminals 274 und 278 und beendet dadurch die
Zufuhr von Strom zu dem Injektormotor 176.
-
Der Drain des FET-Transistors 250 ist an die Terminals 262 und
264 des Umkehrrelais 252 gekoppelt. Die Back EMF des
Injektormotors 176 ist proportional der Geschwindigkeit des
Injektormotors 176 und tritt als Spannung an Drain des FET-Transistors
250 auf; diese Spannung wird als MT2-Spannungssignal
bezeichnet. Terminals 260 und 266 des Umkehrrelais 252 sind
aneinander und über einen sehr kleinen, wie z.B. 0,1 Ohm-Widerstand
296 an Masse gekoppelt, um dadurch die Messung des durch den
Motor 176 fließenden Stroms zu ermöglichen. Dieser Strom ist
proportional zu dem Rückstaudruck des Injektorsystems 104. Die
Verzweigung zwischen den Terminals 260 und 262 und dem
Widerstand 298 stellt das MT1-Spannungssignal dar und legt den
Strom, der durch Motor 176 fließt, fest.
-
Das obere Eingangssignal des Pulsweitenmodulator 246 ent
spricht der Summe von drei unterschiedlichen Signalen, die
über jeweilig gemeinschaftlich miteinander verbundenen
Skalierungswiderständen 298, 300 und 302 bereitgestellt werden. An
dem anderen Ende des Widerstands 298 tritt das VDC-Signal aus
dem Output des Injektor DAC 192 (Fig. 12) auf und
repräsentiert das primäre Signal (bei Abwesenheit vom festgestellten
Geschwindigkeits- oder Druckfehlerbedingungen) zur Steuerung
des Modulators 246. Das andere Ende des Widerstands 300 ist
mit dem Output der Geschwindigkeitsüberwachungsschaltung 304
verbunden, die die Back emf des Injektormotors 176 mißt. Die
Geschwindigkeitsüberwachungsschaltung 304 versorgt einen
Differential-Verstärker darin mit den MT1 und MT2-Signalen, wobei
das daraus austretende Signal ein Spannungssignal ist, das
proportional zu der Geschwindigkeit des Injektormotors 176
ist. Das andere Ende des Widerstands 302 wird über einen
Analoginvertierer 306 dem Output eines Druckmeßschaltkreises 308
bereitgestellt. Druckmeßschaltkreis 308 reagiert auf das MT1-
Signal und stellt eine negative Spannung, die proportional zu
dem Strom durch den Motor 176 und dem Druckaufbau in der
Spritze 120 ist, bereit. Die Polarität dieser Spannung wird
durch Invertierer 306 umgekehrt und fungiert als
Spannungsabfallkompensationssignal (winding voltage drop condensation
signal). Der niedrige Input des Pulsweitenmodulators 246 ist die
Summe zweier Signale, die durch gemeinsam verbundene
Widerstände 310 und 312 bereitgestellt werden. Das andere Ende des
Widerstands 310 ist mit der Druckmeßschaltung 308 verbunden,
und das andere Ende des Widerstands 312 ist mit der
Selektorschaltung 314 verbunden. Die Selektorschaltung 314 stellt eine
von drei unterschiedlichen Spannungen, die durch die
Einstellung der Potentiometer 316, 318 und 320 bestimmt wird, an
ihrem Output bereit, die durch den Code der REV und
HI/LO-Signale, die an den Selektor-Inputs bereit gestellt werden,
bestimmt sind. Das REV-Signal ist das /REV-Signal, das über den
Invertierer 322 bereitgestellt wird. Der zentrale Abgreifarm
des Potentiometers 316 ist mit dem ersten und zweiten Daten-
Input der Selektorschaltung 314 verbunden und ist an den
Output der Selektorschaltung 314 gekoppelt, wenn der Pagel des
/REV-Signals niedrig ist, wodurch eine Bewegung des
Injektormotors 176 in Umkehrrichtung angezeigt wird. Die Spannung von
dem zentralen Abgreifarm des Potentiometers 318 tritt an dem
Output der Selektorschaltung 314 auf, wenn der Pegel des /REV-
Signals hoch ist, wodurch eine Vorwärtsbewegung des Injektor
motors 176 angezeigt wird und der Pegel des HI/LO-Signals hoch
und die Spannung am zentralen Abgreifarm des Potentiometers
318 erscheint an dem Output der Selektorschaltung 314, wenn
der Pagel des /REV-Signals hoch ist und der Pagel des HI/LO-
Signals niedrig ist. Das bestimmte Signal, das an dem Output
auftritt, repräsentiert den ausgewählten Druck, der für das
Fluidinjektorsystem 104 erlaubt ist, wie es durch die Auswahl
der Tasten auf der Bedientafel 116 durch den Bediener bestimmt
ist.
-
Die Verzweigung der Widerstände 310 und 312 ist ebenfalls an
den Vergleichsoperator 324 gekoppelt, der das PRSFST-Signal
für den Hauptprozessor 178 zur Verfügung stellt, wenn der
Druck des Injektorsystems 104 annähernd die durch den Bediener
festgesetzte Grenze erreicht. Der Output des
Vergleichsoperators 324 wird ebenfalls einer Schaltung 326, die eine Auszeit
vom einer Sekunde erzeugt, bereitgestellt, die wiederum das
PRSSLO-Signal erzeugt, wenn der Pagel des PRSFST-Signals mehr
als eine Sekunde lang hoch bleibt.
-
Im Betrieb wird das Geschwindigkeitsbedarfssignal VDC vom In
jektor DAC 192 und das Geschwindigkeitssignal von der
Geschwindigkeitsüberwachung 304 und das Kompensationssignal von
dem Invertierer 304 aufsummiert und dem oberen Input des
Pulsweitenmodulators 246 zugeführt. Zur selben Zeit werden die
Drucksignale an dem unteren Input des Modulators 246
bereitgestellt. Modulator 246 reagiert auf die ihm zugeführte höhere
Spannung und verringert entsprechend den Tastgrad. Dies
wiederum verringert die Geschwindigkeit des Injektormotors 176.
Unter Bezugnahme auf die Figuren 12 und 15 wird die
Geschwindigkeit des Injektormotors 116, wie weiter unten beschrieben,
gesteuert. Wenn der Fußschalter 106 gedrückt wird, wird ein
Softwaretimer innerhalb des Hauptprozessors 178 auf eine
Frequenz, basierend auf der programmierten
Fließgeschwindigkeitsinformation auf der Anzeige 134 der Bedienungstafel 116
festgesetzt. Die Auszeitsignale aus dem Softwaretimer werden mit
den EDGE-Signalen von Gate 244 in Fig. 14 verglichen, die in
Beziehung zu der tatsächlichen Geschwindigkeit des Motors 176
stehen, wie sie durch das Codierrad 174 bestimmt wird.
Jedesmal wenn der Softwaretimer aussetzt, wird ein gespeicherter
Geschwindigkeitsbedarfswert um ein Bit inkrementiert und kurz
danach wird der in einem Geschwindigkeitsbedarfsregister
gespeicherte Wert über Datenbus 184 dem Injektor-DAC 192
zugeleitet. Gleichzeitig wird das SELDA2-Signal bereitgestellt, um
es dem Injektor-DAC 192 zu ermöglichen, das neue Datensignal
des Datenbus 184 zu empfangen.
-
Immer wenn ein EDGE-Signal aufgenommen wird, werden die
Phasensignale des Decoders 174, PHASEA und PHASEB, decodiert, um
festzustellen, ob eine Vorwärts- oder Rückwärtsrotation der
Motorwelle 175 auftritt. Wenn eine Vorwärtsrotation auftritt,
wird das Geschwindigkeitsbedarfsregister um ein Bit
dekrementiert. Falls eine Rückwärtsdrehung der Welle 175 festgestellt
wird, während das RUN-Signal eintrifft, was für ein
Motorzittern spricht, wird dann das Geschwindigkeitsbedarfsregister um
ein Bit inkrementiert, um den korrespondierenden Vorwärtspuls
zu löschen. Wenn der Injektormotor 176 beschleunigt, nimmt der
Geschwindigkeitsbedarfswert expotentiell zu, da die
Inkremente, die durch die Auszeit des Timers erzeugt wird, mehr und
mehr durch die höhere Frequenz des EDGE-Pulses resultierend
aus der zunehmenden Geschwindigkeit überschrieben werden.
-
Während des normalen Vorwärtsbetriebes erzeugt eine Zunahme in
der Belastung eine entsprechende Verringerung der
Geschwindigkeit. Dies wird durch die Zunahme des
Geschwindigkeitsbedarfswerts und die Ausgangsspannung des Injektor-DAC 192
kompensiert. Wenn der erlaubte Druck erreicht wird, wird das PRSFST-
Signal ausgegeben. Hauptprozessor 178 reagiert auf das PRSFST-
Signal durch nicht weiteres Erhöhen des
Geschindigkeitsbedarfswertes und somit des Ausgabewertes des Injektor-DACS 192.
Falls das PRSFST-Signal eine Sekunde lang bestehen bleibt,
wird das PRSSLO-Signal ausgegeben und der Hauptprozessor 178
schaltet das System 100 ab.
-
Zusätzlich, falls der Hauptprozessor 178 versucht, die
Geschwindigkeit des Injektormotors 176 zu erhöhen und keine
Reaktion auf die Geschwindigkeitserhöhung bei der Überwachung
des EDGE-Signals bei einer Umdrehung festgestellt wird,
schaltet der Hauptprozessor 178 das gesamte System ab. Daher, falls
der Meßschaltkreis 294 eine Notfallsituation bezüglich
Überspannung oder Überstrom feststellt und die Schließung des
Betriebsrelais 254 bewirkt, wodurch die Stromversorgung für den
Injektormotor 176 abgeschaltet wird, stellt der Hauptprozessor
187 aufgrund längerer EDGE-Signale fest, daß sich der
Injektormotor verlangsamt und versucht, dies durch entsprechende
Signale an den Kathetermotor-DAC 190 zu kompensieren. Aufgrund
des Fehlens jeglicher Reaktion (da das Betriebsrelais 254
zurückgesetzt wurde) erzeugt der Hauptprozessor 178 Befehle, um
den Kathetermotor 172 und den Rest des Systems abzuschalten.
Gleichzeitig wird eie Fehlermeldung auf den Anzeigen der
Bedientafel 116 angezeigt. Es wird darauf hingewiesen, daß
ungeachtet der Tatsache, daß der Injektormotor 176 abgeschaltet
wurde, die Flüssigkeit mehrere Sekunden lang weiterfließt, bis
der Leitungsdruck auf null reduziert ist. Dies ist mehr als
ausreichend, um die Geschwindigkeit des Kathetermotors 172 zu
verringern.
-
Im allgemeinen wird die Geschwindigkeitsüberwachung für den
wesentlich schnelleren Kathetermotor 172 durch
Geschwindigkeitsprozessor 180 erreicht. Geschwindigkeitsprozessor 180
ließ die Geschindigkeitsdaten des Kathetermotors, die über den
Datenbus 184 von dem Hauptprozessor 178 bereitgestellt werden,
zu der Zeit, wenn sie dem Katheter-DAC 190 zugeführt werden.
Diese Daten werden mit dem SENSOR/2-Signal verglichen, die dem
Timer Input des Geschwindigkeitsprozessors 180 zugeführt
werden. Durch Verwendung einer Tabelle, um den Bedarfswert und
den tatsächlichen Geschwindigkeitswert zu vergleichen, stellt
der Geschwindigkeitsprozessor 180 ein Fehlersignal über
Leitung 3 des Ports B bereit, wenn der Unterschied zwischen den
beiden größer ist als das Äquivalent eines festgesetzten upm-
Wertes. Falls dieses Signal 1½ Sekunden lang anhält, ändert
die Auszeitschaltung 200 deren Zustand und überträgt ein
Fehlersignal auf Leitung 4 des Ports B. Dies wiederum führt zu
der Übermittlung des HISPDER-Signals zu dem Hauptprozessor
178, was wiederum bewirkt, daß die Kathetermotorsteuerung 170
den Kathetermotor 172 abschaltet.
-
Der Betrieb des Programms innerhalb des
Geschwindigkeitsprozessors 180 wird nun beschrieben. Die erste Routine, die bei
Zuführung von Strom oder durch RESET ausgelöst wird, wird RESET
bezeichnet. Diese Routine initialisiert die Ports und den
Stack und führt einen RAM und ROM-Test durch. Danach
initialisiert es sich selbst mit einer Geschwindigkeitsanfrage von
null und konfiguriert und startet den internen Timer. Eine
Geschwindigkeitsaufforderung von null wird durch Laden des
Akkumulators mit den angeforderten Werten und dann durch
Erzeugung einer Software Unterbrechung durchgeführt. In diesem Fall
ist der angeforderte Wert null. Der Timer wird dann so
festgesetzt, daß er mit einer logischen Und-Verknüpfung des Timer-
Inputs und der internen Uhr (1 MHz) des Mikroprozessors läuft,
so daß er jedesmal, wenn er auf null runterzählt, eine
Unterbrechung bewirken kann. Schließlich springt die RESET-Routine
in die Mitte der SPDER-Routine (die hiernach beschrieben
wird), so daß kein Hinweis auf einen Geschwindigkeitsfehler
gesetzt wird und wartet statt dessen auf den Hoch-zu-niedrig-
zu-hoch-Übergang des Hauptprozessors 178, um zu der
Hauptschleife zurückzukehren.
-
Die Hauptschleife ist, wo der Geschwindigkeitsprozessors 180
tatsächlich die Geschwindigkeit des Kathetermotors 172
überwacht. Es ist ebenfalls wichtig festzustellen, daß Bereiche in
der Schleife existieren, die nachprüfen, falls ein Hand-Shake-
Betrieb durchgeführt wird. Damit die Hauptschleife
ordnungsgemäß funktioniert, ist der interne 8 Bit-Timer so konfiguriert,
daß die Uhr, die ihn inkrementiert, auf der logischen und
Verknüpfung der internen Uhr basiert (Betriebsgeschwindigkeit von
einem MHz) und das SENSOR/2-Signal dem Timer-Input zugeführt
wird. Das SENSOR/2-Signal weist einen 50%-igen Tastgrad auf,
dessen Dauer doppelt so lang ist wie die Dauer des
SENSOR-Signals, das von dem Kathetermotor 172 kommt. Das SENSOR-Signal
ist kein 50%-iger Tastgrad, dies ist der Grund, warum seine
Frequenz durch 2 dividiert ist. Dies ist geeignet, da die
Zeitdauer, in der der Pegel des Timer-INPUT hoch ist, derzeit
einer Dauer eines vollständigen Zyklus des Kathetermotors 172
entspricht. Durch Verwendung dieses Wertes kann die
Geschwindigkeit
des Kathetermotors 172 überprüft werden. Da der
Geschwindigkeitsprozessor 180 nicht die Zeit, in der der Pegel
des Timer-INPUT niedrig ist, messen kann, stellt er sicher,
daß er nicht für zu lange Zeit niedrig bleibt.
Geschwindigkeitsprozessor 180 führt die Geschwindigkeitskontrolle durch,
und durch Aufnehmen zweier Meßwerte wird ein guter Mittelwert
der Geschwindigkeit des Motors erreicht. Nur beim Überprüfen,
ob sie innerhalb der Geschwindigkeitstoleranz liegt, führt die
Software eine obere und eine untere Überprüfung durch.
-
Immer wenn die Geschwindigkeit außerhalb der Toleranz ist,
übermittelt der Geschwindigkeitsprozessor 180 nicht direkt ein
Signal dem Hauptprozessor 180, sondern er startet statt dessen
die Auszeitschaltung 200. Nachdem die Auszeitschaltung 200
gestartet wurde, liest der Geschwindigkeitsprozessor 180
weiterhin die Geschwindigkeit des Kathetermotors 172. Falls er eine
Geschwindigkeit feststellt, die innerhalb der Toleranz liegt,
setzt er die Auszeitschaltung 200 zurück, falls sie nicht
bereits ausgesetzt worden ist. Falls die Auszeitschaltung 200
aussetzt, bevor der Geschwindigkeitsprozessor 180 eine
Geschwindigkeitsmessung erhält, die innerhalb der Toleranz
liegt, teilt der Geschwindigkeitsprozessor 180 dem
Hauptprozessor 178 einen Geschwindigkeitsfehlerzustand unter
Verwendung des HISPDER-Signals mit.
-
Es existieren zwei Unterbrechungen, die kritisch für den
Betrieb der Hauptschleife sind. Dies sind die
SELDA1-Unterbrechung vom Hauptprozessor 178 und die Unterbrechung des
internen Timers. Die SELDA1-Unterbrechung vom Hauptprozessor 178
ist eine externe Unterbrechung, die über die /INT-Leitung des
Geschwindigkeitsprozessors 180 signalisiert wird. Diese
Unterbrechung tritt immer dann auf, wenn der Hauptprozessor 178
einen Geschwindigkeitswert über Datenbus 184 an den
Kathetermotor 172 sendet. Da der Geschwindigkeitsprozessor 180 wissen
muß, welcher Geschwindigkeitswert angefordert ist, liest er
ebenfalls den neuen Geschwindigkeitswert und speichert diesen
ab.
-
Die Timerunterbrechung tritt auf, wenn der Timer-Input-Bit
hoch ist und der Timer aussetzt. Da der Pegel des
Timereingangssignals für eine längere Zeit hoch bleibt, als ein Acht-
Bit-Timer zählen kann, ist die Timerunterbrechungsroutine
übersetzt, um die Zähldauer zu erhöhen, jedesmal wenn der
Timer aussetzt. Dies erhöht die Gesamtzahl der verwendeten Bits
um die Zeitdauer, die der Timerinput hoch bleibt, auf 16 Bits.
Der Rest dieses Teils der Offenbarung diskutiert die Routinen,
die bei dem Fluß der Hauptschleife beteiligt sind, dann den
Timerunterbrechungstreiber und schließlich den
/INT-Unterbrechungstreiber. Es existiert weiterhin eine Unterbrechung, die
von dem Geschwindigkeitsprozessor 180 verwendet wird und als
Software-Unterbrechung bezeichnet wird. Sie wird nur während
der RESET-Routine verwendet und ist nicht von großer Bedeutung
für den Betrieb des Systems, wird aber hierin beschrieben, da
sie ein Teil des /INT-Unterbrechungstreibers ist.
-
Die LOOP-Routine ist der Ausgangspunkt, worin der
Geschwindigkeitsprozessor 180 das meiste seiner Zeit verbringt. Das
erste, was getan werden muß, ist zu überprüfen, ob der
Hauptprozessor 178 einen Handshake-Betrieb, wie vorhergehend
erwähnt, durchführen möchte. Dann überprüft die LOOP-Routine ob
sie zwei Zyklen des SENSOR/2-Signals von Kathetermotor 172
erhalten hat. Wenn zwei SENSOR/2-Zyklen erhalten wurden, springt
die LOOP-Routine zu der CHECK-Routine, um festzustellen, ob
der erhaltene SENSOR/2 festlegt, daß der Kathetermotor 172
sich innerhalb des erlaubten Geschwindigkeitsbereichs
befindet. Dann überprüft sie einen Teststift, um zu zeigen, daß die
Wellenform, wie von dem Geschwindigkeitsprozessor 180
aufgenommen, niedrig ist und löscht die Speicherstellen TPER und
TPER + 1, die verwendet werden, um zu zählen, wie lange sie
ein niedriges Signal feststellt. Obwohl dieses Zählen nicht
akkurat ist, führt der Geschwindigkeitsprozessor 180 diese
Zählung durch, um sicherzustellen, daß die Wellenform in dem
Timer-Input-Bit nicht frir eine zu lange Zeit niedrig bleibt.
-
Die WLOW-Routine ist das, wo das Programm des
Geschwindigkeitsprozessors 180 seine Zeit verbringt, wenn der Timer-Input
niedrig ist. Diese Routine wird verwendet, wenn sich der
Geschwindigkeitsprozessor 180 darauf vorbereitet, die Dauer
des Signals von Kathetermotor 172 festzustellen, in der sein
Pegel niedrig ist. Die Aufgaben, die die WLOW-Routine
durchführt, sind die folgenden:
-
1. Überprüfung, ob der Hauptprozessor 178 einen
Handshake-Betrieb anfordert;
-
2. Zurücksetzen der Zeitüberwachungsschaltung;
-
3. Überprüfen, ob der Pegel des Timer-Inputs für eine zu
lange Zeit niedrig ist;
-
4. Überprüfen, ob die Timeout-Schaltung 200 ausgesetzt hat;
-
5. in der Schleifen verbleiben, falls der Pegel des
Timer-Inputs nach wie vor niedrig ist und
-
6. Fortführen mit der WHIGH-Routine, falls sie einen hohen
Pegel am Timer-Input feststellt.
-
Die WHIGH-Routine wird durchgeführt, wenn der Pegel des Timer-
Inputs hoch ist. Diese Routine wird verwendet, wenn der
Geschwindigkeitsprozessor 180 tatsächlich die Zeitdauer des
SENSOR/2-Signals vom Kathetermotor 172 liest, während dessen
Pegel hoch ist. Die Aufgaben, die diese Routine erfüllt, sind
die folgenden:
-
1. Überprüfung, ob der Hauptprozessor 178 einen
Handshake-Betrieb anfordert;
-
2. Zurücksetzen mit der Zeitüberwachungsschaltung,
-
3. Überprüfen, ob der Pegel des Timer-Inputs für eine zu
lange Zeit hoch ist,
-
4. Überprüfen, ob die Timeout-Schaltung ausgesetzt hat,
-
5. in der Schleife verbleiben, wenn der Pegel des
Timer-Inputs nach wie vor hoch ist und
-
6. Abzweigung zu der LOOP-Routine, um sich darauf
vorzubereiten, eine weitere Zeitdauer festzustellen, falls der
Pegel des Timer-Inputs niedrig ist.
-
Die ISLOW-Routine wird angesteuert, wenn die WLOW-Routine
feststellt, daß der Pegel des Timer-Inputs für eine zu lange
Zeit niedrig ist. Die ISLOW-Routine setzt TVALH fest, um eine
niedrige Geschwindigkeitsmessung wiederzugeben. Sie nimmt dann
än, daß der Kathetermotor 172 nicht zu schnell gelaufen ist
und überspringt den Code, der den Zustand einer zu hohen
Geschwindigkeit überprüft durch Springen in den Bereich der
CHECK-Routine, wo diese bestimmt, ob der Kathetermotor 172 zu
langsam läuft.
-
Die CHECK-Routine ist, wo die beiden benötigten Zyklen über
prüft werden, um festzustellen, ob sie innerhalb des erlaubten
Geschwindigkeitsbereiches liegen. Sie überprüft zuerst, ob das
Signal einer zu hohen Geschwindigkeit entspricht; mit anderen
Worten, oberhalb der oberen Geschwindigkeitsbeschränkung der
Betriebstoleranzen des Kathetermotors 172 liegt. Darauffolgend
überprüft sie, ob die Geschwindigkeit unterhalb der unteren
Geschwindigkeitsbegrenzung ist. Wenn die Geschwindigkeit
innerhalb der Geschwindigkeitstoleranzen liegt, stellt die
CHECK-Routine dann sicher, daß alle Fehleranzeigen gelöscht
werden. Bevor der Geschwindigkeitsprozessor 180 wieder eine
Geschwindigkeitsmessung erhält, wartet diese Routine darauf,
daß der Pegel des Inputs an den Timer niedrig ist. Während des
Wartens, daß der Pegel des Inputs abfällt, stellt die CHECK-
Routine aber sicher, daß der Pegel des Timer-Inputs nicht für
zu lange Zeit hoch bleibt. Wenn der Pegel des Inputs abfällt,
springt die CHECK-Routine zurück zu der Hauptschleife.
-
Da der Software-Timer in einer Art und Weise betrieben wird,
daß er nach unten statt nach oben zählt, nimmt der
Geschwindigkeitsprozessor 180 den Wert von nullen und zieht ihn von
dem in dem Timerregister TDR gespeicherten Wert ab, um die
Zeitdauer zu erhalten, die weiterhin in dem Timerregister
gespeichert wird. Wie vorhergehend erläutert, wird der
tatsächliche Zähler für den Zeitraum auf 16 Bit expandiert unter
Verwendung der Speicherstelle TVAL, um mit der Zahl der Zeiten
mitzuhalten, in denen der Timer aussetzt, um den hohen Byte
des Timerzeitraumes zu halten. Der Inhalt des Low-Bytes des
Timerzeitraumes ist der Wert, der unter Verwendung des
Timerregisters errechnet wird. Diese Werte werden bei
Speicherstellen TVALH bzw. TVALL gespeichert. Es wird darauf hingewiesen,
daß TVAL durch die Timerunterbrechungsroutine nicht durch die
Hauptschleife auf neuesten Stand gebracht wird.
-
Wenn ein Geschwindigkeitswert angefordert ist, setzt die /INT-
Routine die Speicherstellen VFASTH/VFASTL und VSLOWH/VSLOWL
fest, um die Geschwindigkeitsbeschränkungen für den
angeforderten Geschwindigkeitswert wiederzugeben. Um zu überprüfen,
ob die festgestellte Geschwindigkeit oberhalb der oberen
Grenze liegt, werden die Speicherstellen TVALH/TVALL und VFASTL/-
VFASTL jeweils miteinander verglichen. Falls TVALH/TVALL
niedriger oder gleich sind als VFAST/VFASTL, dann werden die
Speicherstellen TVALH/TVALL und VSLOW/VSLOWL jeweils
miteinander verglichen. Dann, wenn die Speicherstellen TVALH/TVALL
größer oder gleich sind als die Werte der Speicherstellen
VSLOWH/VSLOWL, stellt die Software im
Geschwindigkeitsprozessor 180 fest, daß sie weder einen Fehler zu hoher oder zu
niedriger Geschwindigkeit festlegt und löscht die
Hardware-Timerschaltung 200. Wenn aber ein Geschwindigkeitsfehler
festgestellt wird, wird der Kontrollbit der Timeout-Schaltung 200
hochgesetzt, selbst wenn er vorhergehend festgesetzt wurde.
-
Der Geschwindigkeitsprozessor 180 resynchronisiert sich dann
selbst mit einem SENSOR/2-Inputsignal geringer Flanke für den
Timer-Input durch Festsetzen des Software-Timerregisters auf
$FF (wie hierin verwendet, steht $ für "Hexadezimal"), um zu
zeigen, daß Zeitdauermessungen von null eingegangen sind. Das
Timerregister wird ebenfalls zurückgesetzt, und die
Speicherstelle TVAL wird auf null gelöscht. Zu diesem Zeitpunkt, falls
der Timer-Input niedrig ist, kehrt der
Geschwindigkeitsprozessor 180 zu der Hauptschleife zurück, um eine weitere
Geschwindigkeitsmessung für den Kathetermotor 172 zu erhalten. Falls
der Pegel des Inputs nicht niedrig ist, überprüft das
Programm, ob der Hauptprozessor 178 einen Handshake-Betrieb
anfordert. Dann wird die stabile Zeitüberwachungsschaltung 202
zurückgesetzt. Danach wird die Speicherstelle TVAL überprüft,
um festzustellen, ob der Pegel des Timer-Inputs für zu lange
Zeit hoch bleibt. Falls dies der Fall ist, sind weitere
Untersuchungen notwendig, daher geht die Software in die
CHECK-Routine über. Falls nicht, wird die Timeout-Schaltung 200
überprüft, um festzustellen, ob sie abgelaufen ist. Falls der
Timer-Input-Bit
nach wie vor hoch ist, wird die RSYNC-Routine
wiederholt mit der Ausnahme des Zurücksetzens der
TVAL-Speicherstelle und des Timerregisters. Falls der Timer-Input-Bit
abfällt, wird die RSYNC-Routine nur wieder aufgerufen, um das
Timerregister und die Speicherstelle TVAL richtig
zurückzusetzen und um sicherzustellen, daß der Pegel des Timer-Inputs
niedrig ist.
-
Die TOOSLOW-Routine wird während der CHECK-Routine aufgerufen,
falls die eingegangene Geschwindigkeitsmessung als unterhalb
der akzeptablen unteren Toleranzgrenze befunden worden ist.
Der Zweck der TOOSLOW-Routine ist es, anzuzeigen, daß eine zu
niedrige Geschwindigkeit aufgetreten ist und für diesen Fehler
ein Flag zu setzen. Um dies zu tun, setzt die TOOSLOW-Routine
die diagnostischen Bits fest und ruft die MRG-Routine auf,
um tatsächlich für diesen Fehler ein Flag zu setzen.
-
Die TOOFAST-Routine wird während der CHECK-Routine aufgerufen,
falls die eingehende Geschwindigkeitsmessung als oberhalb der
akzeptablen oberen Toleranzgrenze befunden worden ist. Der
Zweck der TOOFAST-Routine ist es, der Umgebung zu zeigen, daß
ein Fehler zu hoher Geschwindigkeit aufgetreten ist und für
diesen Fehler ein Flag zu setzen. Um dies zu tun, setzt die
TOOFAST-Routine die diagnostischen Bits entsprechend fest und
ruft die MRG-Routine auf, um für den Fehler tatsächlich ein
Flag zu setzen.
-
Die MRG-Routine setzt ein Flag für einen
Geschwindigkeitsfehlerzustand. Sie stellt zuerst sicher, daß der Kathetermotor
172 angehalten wurde. Um den Geschwindigkeitsfehlerzustand
anzuzeigen, zeigt die MRG-Routine den Fehler nicht tatsächlich
dem Hauptprozessor 178 an, statt dessen startet sie die
Timeout-Schaltung 200. Dann springt sie zu der RSYNC-Routine, um
einen weiteren Geschwindigkeitswert zu erhalten.
-
Jedesmal wenn festgestellt wird, daß die Timeout-Schaltung 200
abgelaufen ist, wird die SPDER-Routine aufgerufen, um dem
Prozessor 178 die Geschwindigkeitsfehlerbedingung mitzuteilen.
Nach Übersendung der Mitteilung über den
Geschwindigkeitsfehler
an den Hauptprozessor 178 durch Bereitstellung des
HISPDER-Signals mit einem hohen Pegel, wartet die
SPDER-Routine auf den Hauptprozessor 178, bis dieser eine Mitteilung
übersendet hat, um die Geschwindigkeitsfehlerbedingung zu
löschen, bevor sie fortfährt, die Geschwindigkeit des
Kathetermotors 172 wieder zu überwachen. Es ist wichtig,
festzustellen, daß die SPDER-Routine ebenfalls verwendet wird, um den
Handshake-Betrieb zwischen Hauptprozessor 178 und
Geschwindigkeitsprozessor 180 durchzuführen, da sie ein
hoch-zu-niedrigzu-hoch Sequenz benötigt, bevor sie einen
Geschwindigkeitsfehler zurücksetzen kann.
-
Um einen Geschwindigkeitsfehler anzuzeigen, setzt die SPDER-
Routine den Pagel der Geschwindigkeitsfehlerleitung hoch, dann
wartet sie auf die hoch-zu-niedrig-zu-hoch Sequenz und löscht
dann den Geschwindigkeitsfehlerzustand durch Löschen der
Geschwindigkeitsfehlerleitung, Zurücksetzen des Inputs der
Timeout-Schaltung 200 und wartet, bis die Timeout-Schaltung 200
gelöscht ist, Reaktivieren des Kathetermotors 172 und
Zurückspringen in den Bereich der Hauptschleife, die die Überwachung
der Geschwindigkeit des Kathetermotors 172 fortführt.
-
Die TSTLOW-Routine ist so konzipiert, daß jedesmal, wenn sie
aufgerufen wird, sie eine bestimmte Menge an Zeit konsumiert.
Sie überprüft auch, wieviele Male sie aufgerufen worden ist.
Das Übertragbit wird gelöscht, um zu zeigen, daß der Pegel des
Timer-Input, der dasselbe Signal ist, das in Bit null von Port
B eingeht, für zu lange Zeit niedrig gewesen ist. Ansonsten
wird das Übertragbit festgesetzt, um anzuzeigen, daß das
Signal nach wie vor akzeptabel ist. Um festhalten zu können, wie
oft TSLOW aufgerufen wurde, erhöht die TSLOW-Routine jedesmal,
wenn sie aufgerufen wird, die Speicherstelle TPER. Sie erhöht
die Speicherstelle TPER + 1 jedesmal, wenn die Erhöhung der
Speicherstelle DPER auf null zurückläuft. Es dauert 80
Mikrosekunden (oder 80 Mikroprozessorzeitzyklen), um die TSTLOW-
Routine durchzuführen. Es ist erlaubt, die Routine $333 mal
(entspricht 70 ms) aufzurufen. Wenn die Speicherstelle TPER
einen Wert von $3 erreicht, wird das Übertragbit gelöscht,
bevor sie zu dem Aufrufer der TSTLOW-Routine zurückkehrt,
anderenfalls
kehrt sie zu dem Aufrufer mit dem gesetzten
Übertragbit zurück.
-
Immer wenn eine Routine das Zurücksetzen der
Zeitüberwachungsschaltung erwähnt, wird die WDOG-Routine aufgerufen, um diese
Aufgabe zu erfüllen. Damit die WDOG-Routine die
Zeitüberwachungsschaltung zurücksetzt, bringt sie Bit 6 von Port B
zuerst auf einen niedrigen und dann auf einen hohen Wert.
-
Die Timerunterbrechungstreiber-Routine ist verantwortlich für
die Überwachung der Geschwindigkeit des Kathetermotors 172.
Diese Routine wird jedesmal aufgerufen, wenn der interne 8
Bit-Timer aussetzt, so daß sie mit der Anzahl, mit der der
Timer aussetzt, mithalten kann und festlegt, wann der Timer
aussetzt. Um dies zu tun, überprüft der
Timerunterbrechungstreiber zuerst den Wert, der bei der Speicherstelle TVAL
gespeichert ist, und überprüft, ob dieser bereits auf $FF erhöht
worden ist. Falls dies der Fall ist, erhöht sie nicht mehr
TVAL und stellt über das diagnostische Timeoutbit fest, daß
ein Timeout stattgefunden hat. Falls TVAL nicht bei $FF steht,
erhöht die Timerunterbrechungstreiber-Routine TVAL um eins und
stellt fest, daß der oben erwähnte Timeout stattgefunden hat.
Die SELDA1-Leitung, die vom Hauptprozessor 168 kommt und mit
dem Kathetermotor-DAC 192 verbunden ist, ist ebenfalls mit der
Unterbrechungsanfragel ei tung /INT des Geschwi ndi gkei
tsprozessors 180 verbunden. Da das SELDA1-Signal bei niedrigem Pegel
aktiv ist, wird der Geschwindigkeitsprozessor 180 jedesmal
unterbrochen, wenn ein Geschwindigkeitswert zum Kathetermotor
DAC 192 geschaltet wird. Da eine Möglichkeit besteht, daß ein
Geschwindigkeitswert übersendet werden kann, während der
Geschwindigkeitsprozessor 180 die Timerunterbrechung ansteuert,
wie vorhergehend erwähnt, wird ein Handshake-Betrieb
durchgeführt, um sicherzustellen, daß der Geschwindigkeitsprozessor
180 die richtigen Geschwindigkeitswerte erhält. Zusätzlich um
die angeforderten Geschwindigkeitswerte zu erhalten, setzt die
/INT-Routine die richtigen Werte bei den Speicherstelle
VSLOW/VSLOWH und VFASTL/VFASTH fest. Das Festsetzen dieser
Speicherstellen ist der Teil, der /INT-Routine, die den Soft
wareunterbrechungstreiber ausfmacht. Dieser Bereich der /INT-
Routine wird SOFT genannt.
-
Das erste was die /INT-Routine tut, ist die
Geschwindigkeitsdatenfestsetzung an Port A zu übergeben. Das ist derselbe
Wert, der zu dem Kathetermotor-DAC 192 gesendet wird. Dann
überprüft die /INT-Routine, ob dies ein komplett zulässiger
Wert ist durch Überprüfen, ob die /INT-Leitung aktiv ist oder
nicht. Falls die /INT-Leitung inaktiv ist, akzeptiert die
/INT-Routine den Wert an Port A als zulässigen
Geschwindigkeitsbedarfswert nicht und steigt aus. Falls die /INT-Leitung
aktiv ist, akzeptiert die /INT-Routine den Wert als zulässig
und der Geschwindigkeitsprozessor 180 teilt dem Hauptprozessor
178 mit, daß der Geschwindigkeitsprozessor 180 den neuen
Geschwindigkeitswert durch Festsetzung der
Geschwindigkeitsfehlerleitung angenommen hat. Das ist der Beginn der Handshake-
Sequenz zwischen den beiden Prozessoren, die überprüft, ob der
Geschwindigkeitsprozessor 180 die neu angeforderten
Geschwindigkeitswerte erhalten hat. Dann löscht die /INT-Routine die
Timeoutschaltung 200, um ein Aussetzen zu verhindern. Die
/INT-Routine wartet dann auf den Hauptprozessor 178, damit
dieser die /INT-Leitung desaktiviert. Während des Wartens, daß
die /INT-Leitung desaktiviert wird, wird die
Zeitüberwachungsschaltung 202 fortlaufend zurflckgesetzt. Es ist zu beachten,
daß die WDOG-Routine nicht aufgerufen wird, um die
Zeitüberwachung zurückzusetzen, statt dessen wird in die Schleife aus
Zeitgründen der notwendige Code eingegeben.
-
Der Hauptprozessor 178 desaktiviert die /INT-Leitung, er teilt
dem Geschwindigkeitsprozessor 180 mit, daß der Hauptprozessor
128 eine Mitteilung erhalten hat, daß der Geschwindigkeitswert
erhalten wurde. Dies ist die zweite Phase der
Handshake-Sequenz. Da der Geschwindigkeitsprozessor 180 die
Geschwindigkeitsfehlerleitung verwendet, um den Handshake durchzuführen,
muß Geschwindigkeitsprozessor 180 die Geschwindigkeitsfehler
leitung desaktivieren, damit der Hauptprozessor 178 dies nicht
irrtümlich für einen Geschwindigkeitsfehler hält. In der
Endphase der Handshake-Routine wartet der Hauptprozessor 178, bis
die Leitung desaktiviert ist.
-
Die SOFT-Routinesequenz kann ebenfalls als
Software-Unterbrechungsanfragetreiber/Routine interpretiert werden. Der Zweck
der SOFT-Routine ist es, in den SLOWTAB und FASTTAB Tabellen
Beschreibungen zu erzeugen, um die Toleranzwerte für den
erforderlichen Geschwindigkeitswert zurückzugewinnen. Die
zurückgewonnenen Werte werden an der richtigen Speicherstelle
abgespeichert. Es unterliegt der Verantwortlichkeit der CHECK-
Routine festzustellen, ob der aufgefundene
Geschwindigkeitswert innerhalb dieser Toleranzwerte liegt.
-
Um die Toleranzwerte zurückzugewinnen, müssen die
Überschreibungen erst errechnet werden. Es wird darauf hingewiesen, daß,
da die Überschreibung auf zwei Bytes und nicht auf einen
hinweist, sie mit zwei multipliziert werden muß. Berechnete
Überschreibung wird an der Speicherstelle WRO und an der
Speicherstelle WRO + 1 abgespeichert. Danach wird die Startadresse des
SLOWTAB diesem Offset zuaddiert und als Operand für den "LDA
$XXXX" Befehl im RAM abgespeichert. Nachdem die Adressen
richtig festgesetzt wurden, wird GETINI aufgerufen, um
sicherzustellen, daß die richtigen Operationscodes an der richtigen
RAM-Stelle abgespeichert sind, so daß ein Sprung zu GET
durchgeführt werden kann. Der Initialisierung der richtigen RAM-
Stellen folgend, wird die GET-Routine aufgerufen, um das
Highbyte der unteren Grenze des gewünschten Geschwindigkeitswertes
zu halten. Nachdem das Byte zurückgewonnen worden ist, wird es
an der Speicherstelle VSLOWH abgespeichert. Danach wird INCGET
aufgerufen, um die Adresse des Operanden für den "LDA $XXXX"
Befehl zu erhöhen, der an der Speicherstelle GET abgespeichert
ist. Dies deutet auf das Lowbyte der unteren Grenze für den
angeforderten Geschwindigkeitswert, der in Speicherstelle
VSLOWL abgespeichert wird. Dasselbe Verfahren wird
durchgeführt, um die Bytes der oberen Toleranzgrenze von FASTTAB zu
erhalten mit der Ausnahme, daß sie in Speicherstellen VFASTH
und VFASTL anstatt von VSLOWH und VSLOWL abgespeichert werden.
Dies markiert dann das Ende der /INT-Routine, so daß die
Routine dorthin zurückkehrt, wo der Prozessor unterbrochen worden
ist.
-
Den Betrieb des Geschwindigkeitsprozessors 180
zusammenfassend, enthält dieser drei Basisroutinen, die Hauptschleife,
die Timerunterbrechungstreiberroutine und die
Unterbrechungsanfrage/Unterbrechungstreiberroutine. Die Timerroutine führt
das tatsächliche Zählen der Pulse durch, die von Kathetermotor
172 zurückkommen. Die Unterbrechungsanfrageroutine informiert
den Geschwindigkeitsprozessor 180 von der neuen
Betriebsgeschwindigkeit. Die Hauptschleife nimmt dann die
Geschwindigkeitswerte auf, die durch die Timer-Routine erzeugt worden
sind und vergleicht sie mit den Geschwindigkeitswerten, die
durch die Unterbrechungsanfrageroutine festgesetzt worden
sind.