-
Die
Erfindung betrifft eine Peripherieschnittstelle mit einer Steuereinheit,
die einen Datenstrom von einem Steuerrechner empfängt und
sequentiell an ein Peripheriegerät ausgibt, ein Verfahren
zum Übertragen eines Datenstroms über eine Peripherieschnittstelle,
wobei ein Datenstrom von einem Steuerrechner empfangen und vorzugsweise
sequentiell an ein Peripheriegerät ausgegeben wird, und
einen Datenstrom, enthaltend Steuerdaten für ein Peripheriegerät.
-
Eine
Peripherieschnittstelle dient der Kommunikation zwischen einem Steuerrechner
und einem oder mehreren Peripheriegeräten durch elektronische
Datenübertragung. Nach dem Stand der Technik werden Peripheriegeräte über
Standardschnittstellen wie „USB” (engl. „Universal
Serial Bus”), „Ethernet” (IEEE 802) oder „Firewire” (IEEE 1394)
angeschlossen, die auf der Peripherieseite einen separaten Bus bereitstellen,
während sie mit dem Steuerrechner typischerweise über
einen seiner Systembusse kommunizieren. Soll über die Peripherieschnittstelle
ein Peripheriegerät gesteuert werden, so erzeugt der Steuerrechner,
genauer gesagt, dessen Zentraleinheit (engl. „Central Processing
Unit”, CPU), beispielsweise einen Strom von Steuerdaten, der
im Arbeitsspeicher (engl. „random access memory”;
RAM) des Steuerrechners abgelegt wird. Die Übertragung
zur Peripherieschnittstelle wird in der Regel durch eine von der
Zentraleinheit ausgeführte Treibersoftware kontrolliert,
welche Zugriffe des Schnittstellenbausteins auf den Arbeitsspeicher
auslöst. Der Zugriff auf den Arbeitsspeicher erfolgt zyklisch
mittels direktem Speicherzugriff (engl. „direct memory
access”; DMA) über den Systembus des Steuerrechners.
Die Peripherieschnittstelle weist zu diesen Zweck eine DMA-Steuerung
(engl. „DMA controller”) auf. Typischerweise wird
von der DMA-Steuerung in jedem DMA-Zyklus ein Datenblock übertragen,
dessen Größe in der Regel einer einzelnen Speicherseite
(engl. „memory Page”) des Arbeitsspeichers entspricht.
-
Die
Treibersoftware meldet jeden DMA-Zyklus bei der DMA-Steuerung des
Peripheriegeräts zur Übertragung an. Der Steuerrechner
führt anschließend andere Software, beispielsweise
ein Anwendungsprogamm mit Benutzerinteraktion, aus. Er erhält
später eine Bestätigung der vollständigen Übertragung
in Form einer Unterbrechungsanforderung (engl. „interrupt
request”, IRQ). Auf die Unterbrechungsanforderung hin wird
die reguläre Programmausführung unterbrochen und
stattdessen die Treibersoftware ausgeführt, welche die
Datenübertragung durch Auslösen des nächsten
DMA-Zyklus fortsetzen muss. Um kontinuierlich eine hohe Datenübertragungsgeschwindigkeit
zu erreichen, ist eine sehr kurze Reaktionszeit der Treibersoftware
auf eine solche Unterbrechungsanforderung notwendig, so dass der
jeweils nächste DMA-Zyklus rechtzeitig ausgelöst
wird. Insbesondere in einem echtzeitkritischen System darf eine
maximale Reaktionszeit nicht überschritten werden, um eine
Lücke in der Datenübertragung zu verhindern. Verwendet
der Steuerrechner ein nicht echtzeitfähiges Betriebssystem, so
ist eine deterministische Behandlung einer Unterbrechungsanforderung
für einen DMA-Zyklus jedoch nicht möglich. Die
Reaktionszeit auf eine Unterbrechungsanforderung kann hier nahezu
beliebig ansteigen, wenn die Auslastung des Systems zunimmt oder
wenn es eine Vielzahl gleichzeitiger DMA-Übertragungsvorgänge
gibt. Die Anzahl der gleichzeitigen DMA-Übertragungsvorgänge
nimmt mit der zu erzielenden Datenübertragungsgeschwindigkeit
zu und wird außerdem durch die Größe
der zu übertragenden Datenmenge bestimmt. Übersteigt
die Reaktionszeit der Zentraleinheit einen kritischen Wert, so kommt
es zu Unterbrechungen des Datenstroms.
-
Manche
Peripheriegeräte sind jedoch auf einen kontinuierlichen,
also lückenlosen Datenstrom angewiesen. Beispielsweise
muss die Abtasteinheit (engl. „scanner”) eines
Laser-Scanning-Mikroskops (LSM) während eines Bildaufnahmevorgangs
permanent mit Steuerdaten für die Bewegung eines oder mehrerer
Galvanometerspiegel versorgt werden. Dies erfolgt typischerweise,
indem der Steuerdatenstrom blockweise (korrespondierend mit Zeitintervallen)
erzeugt und vom Steuerrechner zur Abtasteinheit übertragen
wird. Dadurch besteht beispielsweise die Möglichkeit, auch
während eines Bildaufnahmevorgangs kurzfristig die Abtastbewegung
zu verändern. Bei einer Unterbrechung des Datenstroms führt jedoch
jeder Galvanometerspiegel von seinem derzeitigen Bewegungszustand
aus eine freie Schwingbewegung durch. Je nach momentaner Auslenkung, Geschwindigkeit
und Beschleunigung des jeweiligen Spiegels zum Zeitpunkt des Datenstromabbruchs kann
es zu einer Beschädigung des Spiegels (z. B. durch Überdrehung)
oder der Probe (z. B. durch Überbelichtung) kommen.
-
Im
Stand der Technik muss auf dem Steuerrechner also nachteiligerweise
ein aufwendiges Echtzeitbetriebssystem verwendet werden, um Unterbrechungen
des Datenstroms zu verhindern.
-
Der
Erfindung liegt die Aufgabe zugrunde, eine Peripherieschnittstelle,
einen Datenstrom und ein Verfahren der jeweils eingangs genannten
Art zu verbessern, so dass einem Peripheriegerät, insbesondere
bei einem nicht echtzeitfähigen Betriebssystem des Steuerrechners,
ein Datenstrom lückenlos bereitgestellt werden kann.
-
Die
Aufgabe wird gelöst durch eine Peripherieschnittstelle,
welche die in Anspruch 1 angegebenen Merkmale aufweist, durch einen
Datenstrom, welcher die in Anspruch 10 angegebenen Merkmale aufweist,
und durch Verfahren, welche die in Anspruch 13 oder 15 angegebenen
Merkmale aufweisen.
-
Vorteilhafte
Ausgestaltungen der Erfindung sind Gegenstand der jeweiligen Unteransprüche.
-
Erfindungsgemäß ist
vorgesehen, dass die Steuereinheit der Peripherieschnittstelle aus
dem empfangenen Datenstrom eine Anweisung für eine Modifikation
der Ausgabe des Datenstroms entnimmt. Indem die Steuereinheit in
dem empfangenen Datenstrom eine Anweisung für eine Modifikation
der Ausgabe des Datenstroms identifiziert und den Datenstrom gemäß der
identifizierten Anweisung modifiziert ausgibt, kann sie ohne echtzeitkritische
Interaktion mit dem Steuerrechner den Datenstrom gemäß der
identifizierten Anweisung den jeweils vorliegenden Bedingungen anpassen.
Da der Steuerrechner den Datenstrom erstellt, kann er über
eine die Ausgabe des Datenstroms modifizierende Anweisung das Verhalten
der Peripherieschnittstelle beeinflussen. Die Modifikation kann
beispielsweise ab der Stelle im Datenstrom, an der sich die Anweisung
befindet, einmalig oder bis zu einer abändernden Anweisung
oder permanent durchgeführt werden. Denkbar ist auch, dass
die Modifikation stattdessen ab einem Zeitpunkt, zu dem eine vorgebbare
(z. B. äußere) Bedingung erstmalig erfüllt
ist, einmalig oder bis zu einer abändernden Anweisung oder
permanent durchgeführt wird. Die Anweisung kann auch derart gestaltet
sein oder von der Steuereinheit interpretiert werden, dass die Ausgabe
des Datenstroms nur modifiziert wird, solange die vorgebbare äußere Bedingung
erfüllt ist. Zu diesem Zweck kann die Steuereinheit wiederholt
prüfen, ob die in der Anweisung enthaltene Bedingung für
die Modifikation erfüllt ist und nur, wenn und solange
die Bedingung erfüllt ist, die Modifikation durchführen.
Ist die Bedingung nicht mehr erfüllt, so kann die Ausgabe
des Datenstroms unmodifiziert fortgesetzt werden. Die Modifikation
kann beispielsweise in einer Umordnung des Datenstrominhalts oder
einer Wiederholung bestimmter Abschnitte des Datenstroms bestehen.
Die Art der Modifikation kann dabei von vornherein feststehen oder
alternativ in der Anweisung kodiert sein. Dabei können
weitere Parameter in der Anweisung kodiert sein.
-
Durch
eine erfindungsgemäß im Datenstrom enthaltene,
vorzugsweise bedingte Modifikationsanweisung kann die Zusammensetzung
des Datenstroms, der das Peripheriegerät erreicht, durch
die Peripherieschnittstelle selbständig, also ohne zeitkritischen
Einsatz der Zentraleinheit des Steuerrechners, flexibel der jeweiligen
Situation angepasst werden. Beispielsweise kann die Modifikationsanweisung
ein Segment von Ersatzdaten („Notfallsegment”)
mit einer der Steuereinheit vorbekannten Markierung enthalten. Falls
die Steuereinheit in diesem Beispiel feststellt, dass der vom Steuerrechner
bereitgestellte Datenstrom abgerissen ist, wird sie die Ausgabe
an das Peripheriegerät mit den Ersatzdaten nahtlos fortsetzen.
Insbesondere kann sie die Ersatzausgabe wiederholt durchführen
bis ihr wieder genügend reguläre Daten vom Steuerrechner
vorliegen. So kann eine lückenlose Ausgabe eines konsistenten Datenstroms
an das Peripheriegerät erreicht werden. Ein Echtzeitbetriebssystem
ist nicht erforderlich. Die Peripherieschnittstelle kann dabei unmittelbar
am Peripheriegerät angeordnet sein, so dass sie beispielsweise
ausschließlich analoge Steuersignale ausgibt. Alternativ
kann zwischen der Peripherieschnittstelle und dem Peripheriegerät
ein weiterer Datenbus angeordnet sein.
-
Vorzugsweise
enthält die die Ausgabe modifizierende Anweisung einen
bedingten oder unbedingten Sprungbefehl für die Fortsetzung
der Ausgabe an einer durch den Sprungbefehl bestimmbaren oder bestimmten
Position innerhalb des Datenstroms. Ein Sprungbefehl weist die Steuereinheit
an, die Ausgabe zu modifizieren, indem sie an einer mit dem Sprungbefehl
anzugebenden, anderen Stelle des Datenstroms fortgesetzt wird. Ein
bedingter Sprungbefehl weist die Steuereinheit an, die Ausgabe nur
dann an der anderen Stelle fortzusetzen, wenn eine mit dem Sprungbefehl
anzugebende logische Bedingung erfüllt ist; anderenfalls
setzt die Steuereinheit die Ausgabe hinter dem Sprungbefehl sequentiell
fort. Der Sprungbefehl selbst wird in keinem Fall an das Peripheriegerät
ausgegeben. Die Verwendung von Sprungbefehlen innerhalb des Datenstroms
erlaubt die flexible Veränderung der Ausgabe des Datenstroms
an das Peripheriegerät, ohne dass die Peripherieschnittstelle
die innere Struktur des Datenstroms zu kennen braucht. Sie muss
lediglich Sprungbefehle als solche erkennen und eine eventuelle
Bedingung für die Ausführung des Sprungbefehls
interpretieren können. Durch bedingte und unbedingte Sprungbefehle
kann die modifizierte Ausgabe an das Peripheriegerät mit
geringem Aufwand in Schleifen erfolgen. Dies kann beispielsweise zur
Verringerung der benötigten Übertragungsbandbreite
ausgenutzt werden. So braucht ein sich wiederholendes Segment von
Steuerdaten nur einmal zur Peripherieschnittstelle übertragen
werden, wenn ein Zähler in der Peripherieschnittstelle
mittels einer in den Datenstrom eingebetteten Anweisung initialisiert
wird und eine bedingte Sprunganweisung vom Ende zum Anfang des betreffenden
Datensegments eine endliche Wiederholung bewirkt.
-
Vorteilhafterweise
ist es auch möglich, dass der Steuerrechner zwei oder mehr
simultane Steuerdatenströme erzeugt, die alle zur Peripherieschnittstelle übertragen
werden, wobei die Steuereinheit der Peripherieschnittstelle zu einem
bestimmten Zeitpunkt nur Steuerdaten aus genau einem der Datenströme
an das Peripheriegerät ausgibt. Durch in die Datenströme
eingebettete Modifikationsanweisungen für die Ausgabe,
beispielsweise entsprechend erweiterte Sprungbefehle, kann die Ausgabe
zwischen den Steuerdatenströmen gewechselt werden. Dieser
Wechsel kann in kurzer Zeit erfolgen, beispielsweise innerhalb von
Mikrosekunden. Diese schnelle Umschaltung kann beispielsweise in
medizinischen Versuchsanordnungen, in denen mit kurzer Reaktionszeit
unterschiedliche Gerätefunktionen ausgelöst werden
müssen, genutzt werden. Eine solche Umschaltung zwischen
mehreren Datenströmen kann insbesondere auch mit Modifikationsanweisungen
für eine Ersatzdatenausgabe kombiniert werden. Beispielsweise
können in jeden der simultan zu übertragenden
Steuerdatenströme Ersatzdaten-/Notfallsegmente eingebettet
werden.
-
Wenn
der Datenstrom segmentweise aufgebaut ist, wobei jedes Segment eine
konstante Länge oder eine Längenangabe aufweist,
kann jedes Segment eine Inhaltsangabe enthalten, beispielsweise
in Form einer oder mehrerer numerischer oder alphanumerischer Zeichen.
Durch eine solche Inhaltsangabe können Segmente mit Ersatzdaten
als solche markiert sein. Eine solche Markierung für ein
Ersatzdatensegment kann als Sprungbefehl über das Ersatzdatensegment
hinweg aufgefasst werden, so dass die Ersatzdaten nicht unmittelbar
an das Peripheriegerät ausgegeben werden. Das Sprungziel kann
die Steuereinheit dabei anhand der vereinbarten beziehungsweise
explizit angegebenen Segmentlänge bestimmen. Alternativ
kann zu einem Sprungbefehl eine Sprungweite (engl. „offset”)
explizit angegeben werden. Das Sprungziel zur Fortsetzung der Datenausgabe
ergibt sich dann aus der aktuellen Position im Datenstrom zuzüglich
der Sprungweite. Alternativ kann ein Sprungziel direkt mit dem Sprungbefehl
angegeben werden.
-
In
einer allgemeineren Ausprägung der Erfindung identifiziert
die Steuereinheit ein Abreißen des zu empfangenden Datenstroms
und gibt daraufhin selbständig einen Ersatzdatenstrom aus.
Der Ersatzdatenstrom kann der Steuereinheit dabei entweder fest
vorgegeben werden, beispielsweise in einem Nurlesespeicher (engl. „read-only
memory”, ROM). Es kann sich beispielsweise um Ersatzdaten
handeln, die die Galvanometerspiegel so steuern, dass stationär
ein unkritischer Probenbereich oder ein Bereich außerhalb
der Probe beleuchtet wird („Parken”). Alternativ
zur Speicherung kann die Steuereinheit den Ersatzdatenstrom während
der Übertragung (engl. „on-the-fly”)
erzeugen, beispielsweise anhand der zuletzt regulär an
das Peripheriegerät ausgegebenen Daten. Dies kann beispielsweise
vorsorglich permanent-simultan zur regulären Ausgabe erfolgen, wobei
die Ausgabe im Falle des Abreißens des regulären
Datenstroms lediglich vom regulären Datenstrom auf den
Ersatzdatenstrom umgeschaltet wird. Dadurch ist die Reaktionszeit
bis zur Ausgabe des Ersatzdatenstroms minimal. Alternativ kann die
Erzeugung des Datenstroms erst nach Detektion des Abreißens
gestartet werden.
-
In
einer vorteilhaften, alternativen Ausführungsform kann
die Steuereinheit eine Anweisung für eine Zusammensetzung
des Ersatzdatenstroms aus dem Datenstrom entnehmen. Dadurch kann
die Ersatzausgabe flexibel gestaltet werden, denn der Steuerrechner
kann auf diese Weise die Ersatzausgabe situationsabhängig
beeinflussen. Dennoch ist keine echtzeitkritische Interaktion zwischen
Steuerrechner und Peripherieschnittstelle erforderlich. Die Anweisung
für die Zusammensetzung des Ersatzdatenstroms kann beispielsweise
als Anweisung für eine Modifikation des Datenstroms im
obenbeschriebenen Sinne ausgestaltet sein beziehungsweise von der
Steuereinheit auf diese Weise interpretiert werden.
-
Zweckmäßigerweise
beendet die Steuereinheit die Ausgabe des Ersatzdatenstroms, wenn
der Steuerrechner den zu empfangenden Datenstroms fortsetzt, und
gibt den fortgesetzten Datenstrom aus. Dadurch kann der Datenstrom
nahtlos übertragen werden. Wird über die Peripherieschnittstelle
neben dem Steuerdatenstrom zum Peripheriegerät auch ein Ergebnisdatenstrom
vom Peripheriegerät zum Steuerrechner übertragen,
so kann die Steuereinheit Ergebnisdaten, die aus dem Zeitraum der
Ausgabe der Ersatzsteuerdaten resultieren, verwerfen. Dadurch kann
die Ersatzdatenausgabe für den Steuerrechner transparent
gestaltet werden. Alternativ ist es möglich, dass die Steuereinheit
der Peripherieschnittstelle das Abreißen des Steuerdatenstroms
mitteilt, beispielsweise mit Beginn oder am Ende der Ersatzdatenausgabe,
auf einer separaten Signalleitung oder in den Ergebnisdatenstrom
einkodiert. Der Steuerrechner kann daraufhin selbst einen Teil des
Ergebnisdatenstroms verwerfen, beispielsweise einen Teil, der ausschließlich
Ergebnisdaten aus dem Zeitraum der Ersatzdatenausgabe enthält.
-
Bevorzugt
sind solche Ausgestaltungen der Peripherieschnittstelle, in denen
die Steuereinheit den Datenstrom über einen Systembus des
Steuerrechners empfängt. Darunter sind auch Ausführungsformen
zu verstehen, in denen die Steuereinheit den Datenstrom aktiv durch
direkte Speicherzugriffe aus dem Arbeitsspeicher des Steuerrechners
liest. Insbesondere kann das in
DE
10 2008 009 634 , deren Offenbarungsgehalt hier in vollem
Umfang einbezogen wird, beschriebene Datenübermittlungsverfahren verwendet
werden.
-
Die
Vorteile der Erfindung können insbesondere für
die Steuerung einer Komponente eines Laser-Scanning-Mikroskops als
Peripheriegerät verwendet werden. Dadurch können
Schäden an einer Abtasteinheit oder an einer Probe vermieden
werden.
-
Zweckmäßigerweise
ist die Peripherieschnittstelle als Steckkarte für den
Steuerrechner oder als Schaltung für den Einsatz in dem
Steuerrechner ausgebildet. Dadurch hat ihre Steuereinheit mit geringem
Aufwand Zugriff auf den Systembus und insbesondere den Arbeitsspeicher
des Steuerrechners. Zudem benötigt eine Steckkarte nur
geringen Bauraum.
-
Die
Erfindung umfasst auch einen Datenstrom, der einen Abschnitt mit
im Falle eines Datenstromabrisses auszugebenden Ersatzsteuerdaten und
eine den Abschnitt einleitende Ersatzdatenmarkierung enthält.
Vorteilhafterweise ist die Ersatzdatenmarkierung ein bedingter oder
unbedingter Sprungbefehl über die Ersatzsteuerdaten hinweg. Insbesondere
kann in den Ersatzsteuerdaten, insbesondere an ihrem Ende, ein bedingter
oder unbedingter Sprungbefehl zurück in das Ersatzsteuerdatensegment
angeordnet sein.
-
Besonders
vorteilhaft ist es, wenn die Ersatzsteuerdaten vor einem Übergang
zu nachfolgenden regulären Steuerdaten so ausgebildet werden,
dass sie das Peripheriegerät in denselben Zustand versetzen
wie die den Ersatzsteuerdaten vorausgehenden regulären
Steuerdaten. Dadurch kann die Ersatzdatenausgabe für den
Steuerrechner transparent gestaltet werden.
-
Nachfolgend
wird die Erfindung anhand von Ausführungsbeispielen näher
erläutert.
-
In
den Zeichnungen zeigen:
-
1 ein
Blockdiagramm eines ersten Steuerrechners mit angeschlossenem Peripheriegerät,
-
2 schematisch
die Einrichtung von Puffern im Arbeitsspeicher des Steuerrechners,
-
3 ein
Blockdiagramm eines zweiten Steuerrechners mit angeschlossenem Peripheriegerät,
-
4 ein
Schema eines Laser-Scanning-Mikroskops mit einem Steuerrechner,
-
5 schematische Darstellungen der zweidimensionalen
Abtastung in einem LSM,
-
6 schematische Darstellungen eines periodischen
Abtastvorgangs und von Datenströmen mit Modifikationsanweisungen
und
-
7 mögliche Varianten von in den
Datenstrom eingebetteten Sprungbefehlen.
-
In
allen Zeichnungen haben übereinstimmende Teile gleiche
Bezugszeichen.
-
1 zeigt
einen Steuerrechner 1 mit einer Zentraleinheit 2,
einem Arbeitsspeicher 3, einer erfindungsgemäßen
Peripherieschnittstelle 4 und einem Brückenbaustein 5 als
Bindeglied zwischen Prozessorbus 6, Speicherbus 7 und
Systembus 8. An die Peripherieschnittstelle 4 ist über
einen Peripheriebus 9 ein Peripheriegerät 10 angeschlossen.
Der Brückenbaustein 5 vermittelt Speicherzugriffe
ohne Treiberaufwand für die Zentraleinheit 2 weiter.
Dadurch kann die Steuereinheit 11 der Peripherieschnittstelle 4 über
den Systembus 8 lesend und schreibend direkt auf den Arbeitsspeicher 3 des
Steuerrechners 1 zugreifen. Die Steuereinheit 11 ist
als FPGA (engl. „Field Programmable Gate Array”)
ausgebildet. Das Datenübertragungsverfahren ist dabei in
der Firmware beziehungsweise im FPGA-Programm des FPGA kodiert.
Die Peripherieschnittstelle 4 ist beispielsweise als PCI-Express-Steckkarte
(engl. „peripheral component interconnect”) mit
einem lösbaren Systembusanschluss (nicht gezeigt) und einem
lösbaren Peripheriebusanschluss (nicht gezeigt) ausgebildet.
-
In 2 ist
die Einrichtung von Puffern durch den Steuerrechner 1 in
dessen Arbeitsspeicher 3 gezeigt. Die Zentraleinheit 2 des
Steuerrechners 1 führt eine Software 14 aus,
in der Unterprogramme mit einer Softwarelogik 15 zur Durchführung
des den Steuerrechner 1 betreffenden Teils des erfindungsgemäßen
Verfahrens eingerichtet sind. Unabhängig von der Software 14 und
der Zentraleinheit 2 führt die Steuereinheit 11 der
Peripherieschnittstelle 4 den komplementären Teil
des erfindungsgemäßen Verfahrens durch. Bei zwei
entgegengesetzten unidirektionalen Datenströmen reserviert
die Software 14 zweckmäßigerweise einen
Sendepuffer 16 und einen Empfangspuffer 17. Der
Sendepuffer 16 dient dem Steuerrechner 1 zum Ablegen
von Daten, die von der Steuereinheit 11 ausgelesen und
zum Peripheriegerät 10 übertragen werden
sollen, durch die Software 15. Der Empfangspuffer 17 dient
der Peripherieschnittstelle 4 zum Ablegen von Daten, vom
Peripheriegerät 10 empfangen wurden und von der
Software 14 ausgelesen werden sollen, durch die Steuereinheit 11.
Beide Puffer 16,17 werden beispielsweise sowohl
vom Steuerrechner 1 als auch von der Peripherieschnittstelle 4 als
Ringpuffer angesprochen. Die Erfindung kann aber auch mit jeder
anderen Art der Speicherverwaltung realisiert werden.
-
Jeder
der Puffer 16 und 17 besteht beispielsweise jeweils
aus mehreren verteilten, zu einem virtuell zusammenhängenden
FIFO-Puffer zusammengesetzten Blöcken des Arbeitsspeichers 3.
Die Puffer 16 und 17 sind von der Software 14 als
nicht auslagerbar reserviert und weisen eine Größe
von jeweils 32 MByte auf. Sie können in anderen Ausführungsformen
(nicht abgebildet) auch unterschiedliche und andere Größen
aufweisen. Auch ist es möglich, einen oder beide Puffer
jeweils als einen physikalisch zusammenhängenden Block
zu reservieren. Der Cache (nicht gezeigt) der Zentraleinheit 2 wird
für die Adressbereiche, in denen die Puffer 16 und 17 liegen,
deaktiviert. Nach der Reservierung teilt die Software 14 der
Steuereinheit 11 die Anfangsadresse und die Größe
des Leserpuffers 16 und des Schreibpuffers 17 mit.
Die Steuereinheit 11 stellt zu diesem Zweck jeweils zwei
Hardwareregister, die in den Adressbereich der Zentraleinheit 2 eingeblendet sind,
zur Verfügung.
-
Die
Peripherieschnittstelle 4 umfasst beispielsweise jeweils
einen Pufferspeicher (nicht gezeigt) einer Größe
von 8 Kilobyte für jede Übertragungsrichtung.
Der erste Pufferspeicher dient zum Zwischenspeichern von Daten,
die aus dem Sendepuffer 16 des Steuerrechners 1 ausgelesen
wurden, vor der weiteren Übertragung über den
Peripheriebus 9 zum Peripheriegerät 10.
Der zweite Pufferspeicher dient zum Zwischenspeichern von Daten,
die über den Peripheriebus 9 vom Peripheriegerät 10 empfangen
wurden, vor dem Schreiben in den Empfangspuffer 17 des
Steuerrechners 1. In anderen Ausgestaltungen können
auch andere Pufferspeichergrößen vorgesehen werden.
-
Die
Steuereinheit 10 empfängt den Datenstrom beispielsweise
blockweise in Datenblöcken von jeweils 4 KByte. Sobald
der erste Block vollständig im ersten Pufferspeicher enthalten
ist, gibt sie die im ersten Pufferspeicher befindlichen Daten sequentiell
aus, also beispielsweise byte- oder wortweise. Währenddessen
können je nach Pufferspeichergröße bereits
ein oder mehrere weitere Datenblöcke empfangen und in den
ersten Pufferspeicher geschrieben werden. Die Ausgabe wird mit diesem
Datenblock nahtlos fortgesetzt.
-
Indem
die Zentraleinheit 2 des Steuerrechners 1 beim
Erzeugen des Datenstroms für das Peripheriegerät 10 eine
Anweisung zur Modifikation der Ausgabe in den Datenstrom einbettet,
braucht die eigentliche Modifikation nicht von dem Steuerrechner 1 durchgeführt
zu werden. Stattdessen kann die Modifikation der Ausgabe in der
Peripherieschnittstelle 4 durch deren Steuereinheit 11 selbständig
durchgeführt werden, ohne dass diese ihrerseits detaillierte Kenntnisse über
den Inhalt des Datenstroms haben muss. Eine echtzeitkritische Interaktion
mit der Zentraleinheit 2 ist nicht erforderlich. Die Steuereinheit 11 muss
lediglich in der Lage sein, eine Modifikationsanweisung im Datenstrom
als solche zu erkennen. Zu diesem Zweck kann beispielsweise eine
bestimmte Bit- oder Bytekombination als Markierung für
eine Modifikationsanweisung vereinbart werden. Erkennt die Steuereinheit 11 der
Peripherieschnittstelle 4 eine Modifikationsanweisung,
so kommen unterschiedliche Reaktionsmöglichkeiten in Betracht.
Beispielsweise kann die Modifikationsanweisung aus einem Blocksegment
bestehen, dass einen Ersatzdatenstrom enthält, der von
der Steuereinheit 11 nicht unmittelbar ausgegeben, sondern
stattdessen in einen speziellen Notfallpuffer kopiert wird. Stellt
die Steuereinheit 11 später fest, dass der von
dem Steuerrechner 1 Datenstrom unterbrochen ist, so kann
sie beispielsweise den Ersatzdatenstrom aus dem Notfallpuffer an
das Peripheriegerät 10 ausgeben, entweder einmalig
oder wiederholt bis wieder reguläre Daten vom Steuerrechner 1 vorliegen.
Andere Möglichkeiten werden nachfolgend am Beispiel eines
Laser-Scanning-Mikroskops beschrieben, sind jedoch nicht auf diese
spezielle Anwendung beschränkt.
-
Ein
direkter Zugriff der Steuereinheit 11 auf den Arbeitsspeicher 3 ist
auch in der in 3 dargestellten Konfiguration
möglich. Hier ist die erfindungsgemäße
Peripherieschnittstelle 4 über einen zweiten Brückenbaustein 12 und
einen Zwischenbus 13 an den Systembus 8 angeschlossen,
im übrigen ist die Anordnung identisch mit der in 2 gezeigten.
Aufgrund der Vermittlung des zweiten Brückenbausteins 12 werden
die direkten Speicherzugriffe in dieser Konfiguration entsprechend
verzögert. Auch hier ist die Peripherieschnittstelle 4 entsprechend 1 als PCI-Express-Steckkarte
ausgebildet, alternativ ist beispielsweise die Ausbildung als CardBus-Steckkarte
möglich. Die Durchführung des erfindungsgemäßen
Verfahrens ist sowohl mit der Konfiguration der 1 als
auch mit der Konfiguration der 3 möglich.
In beiden Konfigurationen kann die jeweilige Steckkarte als Peripherieanschluss
beispielsweise eine LVDS-Schnittstelle (engl. „low voltage
differential signaling interface”) aufweisen, auf der der
Datenstrom an das Peripheriegerät 10 ausgegeben
wird.
-
4 ist
eine schematische Darstellung eines LSM, das mittels eines Steuerrechners 1 gesteuert
wird. Das LSM ist modular aus einem Beleuchtungsmodul L mit Lasern 23,
einem Abtastmodul S (engl. „scanning module”),
einem Detektionsmodul D und der Mikroskopeinheit M mit dem Mikroskopobjektiv 31 zusammengesetzt.
Das Licht der Laser 23 kann durch Lichtklappen 24 und
Abschwächer 25 von dem Steuerrechner 1 beeinflusst
werden, bevor es über Lichtleitfasern und Koppeloptiken 20 in
die Abtasteinheit S eingespeist und vereinigt wird. Über
den Hauptstrahlteiler 33 und die X-Y-Abtasteinheit 30,
die zwei Galvanometerspiegel aufweist (nicht dargestellt), gelangt
es durch das Mikroskopobjektiv 21 zur Probe 22,
wo es ein Fokusvolumen (nicht abgebildet) beleuchtet. Von der Probe
reflektiertes oder emittiertes Licht wird gelangt durch das Mikroskopobjektiv 21 über
die Abtasteinheit 30 durch den Hauptstrahlteiler 30 in
das Detektionsmodul D. Das Detektionsmodul D weist mehrere Detektionskanäle
mit jeweils einer Lochblende 31, einem Filter 28 und
einem Photovervielfacher 32 auf, die durch Farbteiler 29 separiert sind.
Anstelle von Lochblenden 31 können, beispielsweise
bei linienförmiger Beleuchtung, auch Schlitzblenden (nicht
abgebildet) verwendet werden. Die konfokalen Loch- oder Schlitzblenden 31 dienen
der Diskriminierung von Probenlicht, das nicht aus dem Fokusvolumen
stammt. Die Photovervielfacher 32 detektieren daher ausschließlich
Licht aus dem Fokusvolumen. Die Abtasteinheit 30 ist als
Peripheriegerät 10 über eine Peripherieschnittstelle 4,
die beispielsweise gemäß 1 oder gemäß 2 ausgestaltet
sein kann, an einen Steuerrechner 1 angeschlossen.
-
Während
der Bildaufnahme kann es beispielsweise aufgrund einer Bedienungshandlung
eines Benutzers am Steuerrechner 1 zu einer Änderung
eines oder mehrerer Abtastparameter wie beispielsweise der Abtastgeschwindigkeit
kommen, so dass eine Änderung der Spiegelbewegung nötig wird.
Da der Steuerrechner 1 die Steuerdaten blockweise erzeugt,
kann die Änderung bereits im nächsten Block, also
in den Steuerdaten für die nächste beziehungsweise übernächste
Pixelzeile, berücksichtigt werden.
-
Das
konfokal beleuchtete und aufgenommene Fokusvolumen der Probe 22 kann
mittels der Abtasteinheit 30 über die Probe 22 bewegt
werden, um pixelweise ein Bild aufzunehmen, indem die Galvanometerspiegel
der Abtasteinheit 30 gezielt verdreht werden. 5 zeigt einen Bewegungsablauf und das erzielte
Ergebnis. Beispielsweise führt einer der Galvanometerspiegel
schnelle bidirektionale Bewegungen in X-Richtung durch, während
der andere eine langsame unidirektionale Bewegung in Y-Richtung durchführt,
typischerweise in diskreten Schritten während der Richtungsumkehr
des ersten Galvanometerspiegels (5A). Die
X-Bewegung kann dabei eine Sinus-Schwingung sein (5B). Üblicherweise
wird sowohl bei der Hin-Abtastbewegung als auch bei der Rück-Bewegung
jeweils eine Pixelzeile aufgenommen. Eine Schwingungsperiode entspricht also
der Dauer der Aufnahme zweier Pixelzeilen. Im Bereich der Umkehrpunkte
kann die Beleuchtung und die Datenaufnahme unterbrochen werden,
um die Probe 22 zu schonen. Dadurch wird nur ein Ausschnitt
des maximalen Abtastfeldes (engl. „scan field”)
aufgenommen (fett umrandet in 5C). Sowohl
die Bewegung der Galvanometerspiegel als auch das Schalten der Beleuchtung
mittels der Lichtklappen 24 oder der Abschwächer 25 werden
unmittelbar von dem Steuerrechner 1 über die Peripherieschnittstelle 4 gesteuert.
Die Datenaufnahme von den Photovervielfachern 32 erfolgt
ebenfalls über die Peripherieschnittstelle 4.
-
In 6 sind ein Ausschnitt aus einem anderen
beispielhaften Bewegungsablauf des schnellen X-Galvanometerspiegels
und Ausschnitte aus einem beispielhaften Steuerdatenstrom dargestellt.
Die Abtastgeschwindigkeiten in Hin- und Rückrichtung unterscheiden
sich deutlich (6A). In der Folge unterscheiden
sich auch die Dauern der Datenaufnahmeintervalle. Es ist zu erkennen,
dass sich der Bewegungsablauf in diesem Beispiel dennoch periodisch wiederholt.
Eine Periode entspricht auch hier der Dauer der Aufnahme zweier
Pixelzeilen. Die Bewegung der Galvanometerspiegel wird unmittelbar
von dem Steuerrechner 1 gesteuert. Zu diesem Zweck stellt
der Steuerrechner 1 der Abtasteinheit 30 während
einer Messung blockweise einen Strom von Steuerdaten zur Verfügung,
der von der Peripherieschnittstelle 4 übertragen
wird. Zu jeder Periode erzeugt die Zentraleinheit 2 des
Steuerrechners 1 in dessen Arbeitsspeicher 3 im
Sendepuffer 16 einen Datenblock Bn'
mit einem Segment Bn, das Steuerdaten für
die Galvanometerspiegel enthält, und mit einem Segment
SOS, das Ersatzdaten für die Galvanometerspiegel enthält
(6B und 6C). In
alternativen Ausführungsformen (nicht abgebildet) kann
die Länge der im Datenstrom übertragenen Steuerdatensegmente
Bn beispielsweise statt genau einer Bewegungsperiode
auch genau einer halben Bewegungsperiode entsprechen, so dass pro
Bewegungsperiode zwei Datenblöcke Bn'
und Bn+1' übermittelt werden.
-
Am
Anfang jedes Ersatzdatensegments SOS ist ein unbedingter relativer
Sprungbefehl JMP angeordnet, der die Steuereinheit 11 anweist,
die Ausgabe hinter dem Ersatzdatensegment SOS, also in einem nachfolgenden
Datenblock Bn+1, fortzusetzen (6B).
Da die Steuereinheit 11 Vorwärtssprünge
nur ausführt, wenn die Zieladresse gültig ist, wenn
also am Sprungziel gültige Daten eines vollständig
empfangenen Datenblocks Bn+1' vorliegen, stellen
die Sprungbefehle JMP implizit eine Anweisung an die Steuereinheit 11 dar,
die Ersatzdaten nur dann auszugeben, wenn nach der Ausgabe der Steuerdaten
Bn noch keine gültigen Nachfolgedaten
Bn+1 vorliegen. In alternativen Ausführungsformen
(nicht dargestellt), in denen die Steuereinheit 11 Vorwärtssprünge
ohne Prüfung auf gültige Daten am Sprungziel durchführt,
kann stattdessen der Sprungbefehl selbst explizit die Bedingung „Zieladresse
gültig” („gültige Daten am Sprungziel”)
enthalten. Anstelle von relativen Sprungzielen (positive oder negative Sprungweiten)
können auch absolute Sprungziele (Datenstromadressen) verwendet
werden, sofern die Steuereinheit einen absoluten Ausgabezähler
in Art eines Programmzählers (engl. „program counter”; PC)
führt.
-
Ist
ein Block B
n' fertiggestellt, teilt die
Zentraleinheit
2 der Steuereinheit
11 der Peripherieschnittstelle
4 über
Systembus
8 mit, dass ein vollständiger Datenblock
im Sendepuffer
16 vorliegt. Dies kann beispielsweise gemäß
DE 10 2008 009 634 mit
Hilfe eines ersten Zeigers hinter das Ende der gültigen, noch
zu übertragenden Daten und eines zweiten Zeigers auf das
Ende der bereits übertragenen Daten und damit auf den Beginn
der noch zu übertragenden Daten geschehen. Daraufhin kopiert
die Steuereinheit
11 den Datenblock in ihren Pufferspeicher
und gibt ihn im Anschluss an den vorhergehenden Datenblock nahtlos
an das Peripheriegerät
10 aus.
-
Würde
ohne die erfindungsgemäßen Anweisungen zur Modifikation
der Datenstromausgabe die Erzeugung eines Datenblocks Bn+1,
beispielsweise bei einem nicht echtzeitfähigen Betriebssystem
aufgrund hoher Rechenlast, verzögert, so dass er der Steuereinheit 11 nicht
rechtzeitig für die Fortsetzung der regulären
Ausgabe zur Verfügung steht, so würden zwar die
Steuerdaten des letzten noch vollständig übertragenen
Steuerdatenblocks Bn noch an das Peripheriegerät 10 ausgegeben.
Danach wären die Galvanometerspiegel aber ungesteuert.
Sie würden ihre momentane Bewegung gemäß den
Grundsätzen der Massenträgheit und der harmonischen
Schwingungen fortsetzen. Dadurch könnten die Galvanometerspiegel
oder die Probe 22 beschädigt werden. Erfindungsgemäß wird
ein Abreißen des an das Peripheriegerät 10 ausgegebenen
Datenstroms durch den eingebetteten Sprungbefehl JMP und die sich anschließenden
Ersatzsteuerdaten SOS verhindert. Einmalig auszugebende Ersatzdaten
SOS könnten beispielsweise die Galvanometerspiegel so steuern, dass
stationär ein unkritischer Probenbereich oder ein Bereich
außerhalb der Probe beleuchtet wird („Parken”),
bis wieder reguläre Steuerdaten Bn+1 verfügbar
sind.
-
In
einer alternativen Ausführungsform (6C) ist
am Ende des Ersatzdatensegments SOS ein zweiter unbedingter Sprungbefehl
JMP angeordnet, dessen Sprungziel der Anfang des Ersatzdatensegments
SOS ist. Nach einer abrissbedingten Ausgabe der Ersatzdaten fährt
die Steuereinheit 11 am Beginn des Ersatzdatensegments
SOS mit der Ausgabe fort. Dort stößt sie auf den
unbedingten Sprungbefehl JMP zum nachfolgenden Datenblock Bn+1 und prüft erneut, ob dieses Sprungziel
gültig ist. Wenn ja, springt sie zur Fortsetzung der Ausgabe
an dieses Sprungziel. Die Ausgabe wird dann regulär fortgeführt.
Ist das Sprungziel ungültig, übergeht die Steuereinheit 11 den
ersten Sprungbefehl JMP und gibt erneut die Ersatzdaten SOS aus.
Es handelt sich um eine Ersatzdaten-Ausgabeschleife, die erst verlassen
wird, wenn ein gültiger Nachfolgedatenblock Bn+1',
also insbesondere ein gültiges Steuerdatensegment Bn+1, vorliegt. Vorzugsweise enthalten die
Ersatzsteuerdaten eine Notfallbewegungskurve, die so gestaltet ist,
dass sich der nachfolgende reguläre Steuerdatenblock Bn+1 ohne Unstetigkeiten oder Einschwingvorgänge
direkt anschließen kann. Beispielsweise sind die Galvanometerspiegel
am Ende der Ersatzsteuerdaten auf dieselben Beschleunigungen und
dieselben Auslenkwinkel eingestellt wie am Ende der vorangehenden
regulären Steuerdaten. Durch eine solche Ausgestaltung
braucht die Software 14 des Steuerrechners 1 keine
gesonderte Fehlerbehandlung durchzuführen. Sie wird von
der Peripherieschnittstelle 4 allenfalls über
die genaue Dauer der Verzögerung informiert. Auch ohne
diese Information bleiben die Messdaten der Software 14 konsistent,
da der Systemzustand des Peripheriegeräts 10 sowohl
nach Abarbeitung der regulären Steuerdaten als auch der
Ersatzdaten gleich ist.
-
In
den Teilfiguren von 7 sind unterschiedliche
allgemeine Beispiele für die Behandlung von Sprungbefehlen
(Mnemonik JMP) durch die Steuereinheit 11 dargestellt.
Durchgezogen gezeichnete Pfeile stellen ausgeführte Sprünge,
unterbrochen gezeichnete Pfeile nicht ausgeführte Sprünge dar.
Ein Sprungbefehl wird (unabhängig von einer eventuellen
Bedingung) von der Steuereinheit 11 zweckmäßigerweise
nur dann ausgeführt, wenn am Sprungziel gültige
Steuerdaten vorliegen. Dadurch wird verhindert, dass undefinierte
Steuerdaten ausgegeben werden.
-
Werden
ausschließlich ganze Blöcke (nach Übertragung über
den Systembus 8) für gültig erklärt, so
wird ein Vorwärtssprung innerhalb eines Datenblocks (7A)
stets ausgeführt und die Ausgabe am Sprungziel fortgesetzt.
Auch Rückwärtssprünge innerhalb eines
Datenblocks (7B) werden stets ausgeführt
und die Ausgabe am Sprungziel fortgesetzt. Ist der nachfolgende
Datenblock Bn+1 noch nicht vollständig übertragen,
so wird ein Vorwärtssprung in diesen Block Bn+1 (7C)
nicht ausgeführt und stattdessen die Ausgabe unmittelbar
nach dem Sprungbefehl fortgesetzt. Ist der nachfolgende Datenblock
Bn+1 vollständig, das Sprungziel
(„Zieladresse”) also gültig, so wird
ein Vorwärtssprung in diesen Block Bn+1 (7D)
ausgeführt und die Ausgabe am Sprungziel fortgesetzt.
-
Die
Sprungbefehle können verschachtelt werden. Beispielsweise
kann zwischen einem Vorwärtssprungbefehl und dessen Sprungziel
ein Rückwärtssprungbefehl mit einem Sprungziel
vor dem Vorwärtssprungbefehl liegen. Ist der nachfolgende Datenblock
Bn+1 noch nicht vollständig übertragen (7E),
so wird der Vorwärtssprung in diesen Block Bn+1 nicht
ausgeführt und stattdessen die Ausgabe unmittelbar nach
dem Sprungbefehl fortgesetzt. Nach einiger Zeit wird der unbedingte
Rückwärtssprungbefehl erreicht, der zur Wiederholung
der Ausgabe führt, bis ein gültiger Nachfolgeblock
zur Verfügung steht. Liegt der nachfolgende Datenblock
Bn+1 vollständig vor (7F),
so wird der Vorwärtssprung in diesen Block Bn+1 ausgeführt
und die Ausgabe am Sprungziel fortgesetzt. Die Daten zwischen dem
Vorwärtssprungbefehl und dessen Sprungziel werden nicht
ausgegeben.
-
Im
Beispiel gemäß 7G enthält
das beispielhafte Notfallsegment SOS drei Sprungbefehle. Zwischen
zwei aufeinanderfolgenden Vorwärtssprungbefehlen liegen
erste Ersatzsteuerdaten, die beispielsweise das Peripheriegerät
in einen definierten Zustand bringen. Auf den zweiten Vorwärtssprungbefehle
folgen zweite Ersatzsteuerdaten, die das Peripheriegerät 10 in
dem definierten Zustand halten. Daran schließt sich ein
unbedingter Rückwärtssprungbefehl an, dessen Sprungziel
der zweite Vorwärtssprungbefehl ist. Die Vorwärtssprungbefehle
werden nur ausgeführt, wenn kein gültiger Nachfolgedatenblock
vorliegt. In der abgebildeten Situation liegt kein Nachfolgedatenblock
vor. Die Vorwärtssprünge werden deshalb nicht
ausgeführt. Dadurch werden zunächst die regulären
Steuerdaten des Blocks Bn an das Peripheriegerät 10 ausgegeben, dann
einmal die ersten Ersatzdaten, dann in wiederholt die zweiten Ersatzdaten.
Erst wenn ein gültiger Nachfolgeblock Bn+1 vorliegt
(nicht abgebildet) wird der hintere Vorwärtssprung aus
der Schleife herausführen.
-
Zweckmäßigerweise,
aber nicht zwingend, ist in einem blockweise unterteilten Datenstrom
in jedem Datenblock Bn ein Notfallsegment
SOS mit entsprechenden Sprungbefehlen vorgesehen. Das jeweilige
Notfallsegment SOS kann dabei jeweils am Ende oder an beliebiger
anderer Stelle innerhalb des betreffenden Datenblocks Bn liegen.
Die zweite Alternative (nicht abgebildet) kann beispielsweise realisiert
werden, indem ein unbedingter Vorwärtssprung die reguläre
Ausgabe über das Notfallsegment hinwegführt, wenn
am Ende der regulären Steuerdaten ein Rückwärtssprung
in das Notfallsegment SOS erfolgt, an dessen Anfang ein (von der
Steuereinheit 11 nur bei Gültigkeit des Sprungziels
ausgeführter) Vorwärtssprung in den nächsten
Block Bn+1 steht.
-
In
weitergehenden Ausführungsformen (nicht abgebildet) können
die Sprungbefehle andere Bedingungen als die Gültigkeit
von Sprungzielen umfassen. Beispielsweise können in Verbindung
mit einem Initialisierungsbefehl für einen in der Steuereinheit 11 geführten
Zähler Sprungbefehle mit Inkrement oder Dekrement und einer
Bedingung für den Zählerstand realisiert werden.
Auf diese Weise können Ausgabeschleifen mit einer vorbestimmen
Anzahl von Iterationen programmiert werden. In solchen Schleifen
können beispielsweise reguläre Steuerdaten enthalten
sein. Beispielsweise könnten in einem LSM die Steuerdaten
für eine zweidimensionale Bildaufnahme in nur einem Datenblock
passen, indem zwei verschachtelte Schleifen für den X-
und den Y-Galvanometerspiegel programmiert werden.
-
Allgemein
kann ein Datenstrom, unabhängig davon, ob er blockweise
erzeugt und übertragen wird, in Abschnitte konstanter Größe
unterteilt sein. Die Sprungweite eines Sprungbefehls kann in solchen
Fällen als Anzahl von zu überspringenden Abschnitten
angegeben werden. Dadurch kann die benötigte Bitbreite
für die Sprungweitenangabe gegenüber einer Angabe
beispielsweise in Bytes reduziert werden. Bei einer Abschnittsgröße
von 256 Bytes und einer Bitbreite der Sprungweitenangaben von 8 Bits
sind dann Sprünge zwar nur in Schritten von 256 Bytes möglich,
im Gegenzug jedoch über +/–127 Abschnitte hinweg
anstatt nur über +/–127 Bytes.
-
- 1
- Steuerrechner
- 2
- Zentraleinheit
- 3
- Arbeitsspeicher
- 4
- Peripherieschnittstelle
- 5
- Brückenbaustein
- 6
- Prozessorbus
- 7
- Speicherbus
- 8
- Systembus
- 9
- Peripheriebus
- 10
- Peripheriegerät
- 11
- Steuereinheit
- 12
- Brückenbaustein
- 13
- Zwischenbus
- 14
- Software
- 15
- Softwarelogik
- 16
- Lesepuffer
- 17
- Schreibpuffer
- 20
- Kollimationsoptik
- 21
- Mikroskopobjektiv
- 22
- Probe
- 23
- Laser
- 24
- Lichtklappe
- 25
- Abschwächer
- 26
- Faserkoppler
- 27
- Tubuslinse
- 28
- Filter
- 29
- Dichroitischer
Strahlteiler
- 30
- Scannerspiegel
- 31
- Lochblende
- 32
- Photovervielfacher
- 33
- Hauptstrahlteiler
- D
- Detektionsmodul
- M
- Mikroskop
- L
- Beleuchtungsmodul
- S
- Abtastmodul
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- - DE 102008009634 [0017, 0044]