-
Die
Erfindung bezieht sich auf eine Sensorvorrichtung, ein Sensornetzwerk
und ein Verfahren zum Konfigurieren einer Sensorvorrichtung.
-
Sensorvorrichtungen
werden zum Aufnehmen von Messwerten aus ihrer Umgebung eingesetzt.
Diese Daten können
von einem Prozessor weiterverarbeitet und ausgegeben werden. Ein
besonderes Augenmerk liegt bei Sensorvorrichtungen auf deren Energieverbrauch,
insbesondere bei batteriebetriebenen Varianten. Eine Möglichkeit
Energie einzusparen besteht darin, den Prozessor so wenig wie möglich einzusetzen.
-
Prozessorzeit
kann eingespart werden, indem ein Vorprozessor vorgesehen wird.
Ein Vorprozessor ist ein Hardwarebeschleuniger wie z. B. ein ASIC,
welcher in der Lage ist spezialisierte Aufgaben durchzuführen, wobei
er nur einen Bruchteil der Energie des Prozessors verbraucht.
-
Dies
hat den Vorteil, dass ein für
die spezifische Anwendung optimiertes Design produziert wird. Der
ASIC kann bei niedrigerer Taktrate mehr Daten verarbeiten als eine
CPU eines Mikrocontrollers. Dies liegt an dem hohen Maß an Parallelität der Datenverarbeitung
im ASIC. Dadurch ergibt sich auch der Vorteil des viel geringeren
Stromverbrauchs des ASIC im Gegensatz zu einer CPU. Als weitere
Variante können
das CPU und der Hardwarebeschleuniger auf einem Chip integriert
werden.
-
Aus
US 2003/0163298 A1 ist
ein rekonfigurierbares Messsystem mit einem programmierbaren Hardwarebestandteil
und unveränderlichen
Hardwareressourcen bekannt. Weiterhin ist aus
WO 03/017090 A2 ein auf
einem Netzwerk basierendes System zur Konfigurierung eines Messsystems
bekannt, welches Programme verwendet, die sich auf eine Nutzerspezifikation
beziehen.
-
In
der
US 702 0701 wird
für den
Einsatz einer Sensorvorrichtung in verschiedenen Aufgabengebieten
eine Umkonfiguration des Vorprozessors vorgeschlagen. Es wird beschrieben,
dass dazu eine Anwendungsprogrammierungsschnittstelle (Application
Programming Interface, API) eingesetzt wird, welche es einem Programmierer
erlaubt, in einer Scriptsprache neue aufgabenspezifische Programme
für den
Vorprozessor zu schreiben und an die Sensorvorrichtung zu übertragen.
Die API wird über
den Prozessor implementiert. Programmscripte werden vom Programmierer über die
API an die Sensorvorrichtung übertragen.
Nachteil dieser Vorrichtung ist ein hoher Aufwand für die Implementierung
der Anwendungsprogrammierungsschnittstelle in der Sensorvorrichtung,
der sich im Flächenverbrauch
und in den Herstellungskosten niederschlägt. Weiterhin ist der erforderliche
Aufwand für
eine Umkonfiguration der Sensorvorrichtung hoch. So ist es von Nachteil, dass
die Umkonfiguration einen externen Eingriff erfordert.
-
Ein
der Erfindung zugrunde liegendes technisches Problem ist es, die
genannten Nachteile zu reduzieren oder völlig zu beseitigen.
-
Das
technische Problem wird durch eine Sensorvorrichtung mit mindestens
einem Sensor gelöst,
der ausgebildet ist, mindestens eine Messung wiederholt durchzuführen und
einem Messergebnis entsprechende Messdaten auszugeben. Die Sensorvorrichtung
enthält
einen Prozessor, und einen konfigurierbaren Vorprozessor, welcher
mit dem Sensor und mit dem Prozessor verbunden ist, und der ausgebildet
ist, die Messdaten des Sensors aufzunehmen und vorzuverarbeiten,
das Vorliegen mindestens eines ersten vorbestimmten Kriteriums zu überprüfen und
den Prozessor bei Erfüllen
des ersten Kriteriums zu aktivieren.
-
Der
Prozessor der erfindungsgemäßen Sensorvorrichtung
ist ausgebildet, die vom Vorprozessor vorverarbeiteten Messdaten
zu verarbeiten und das Vorliegen mindestens eines zweiten vorbestimmten Kriteriums
zu prüfen
und den Vorprozessor bei Erfüllen
des zweiten Kriteriums unabhängig
von einer Eingabe von extern so umzukonfigurieren, dass sich die Aufnahme
oder Vorverarbeitung der Messdaten durch den Vorprozessor nach der
Umkonfiguration von der Vorverarbeitung der Messdaten vor der Umkonfiguration
des Vorprozessors unterscheidet.
-
Die
erfindungsgemäße Sensorvorrichtung hat
den Vorteil, dass der Prozessor den Vorprozessor unabhängig von
einer Eingabe von extern konfigurieren kann. Es entsteht somit eine
Sensorvorrichtung mit einem hohen Maß an Eigenintelligenz und Selbstständigkeit.
Die Sensorvorrichtung ist unabhängig von
einer Konfiguration durch eine Überwachungsperson,
oder ein Überwachungssystem.
Der Prozessor konfiguriert den Vorprozessor autonom, ohne einen
Eingriff von extern, sei es durch einen manuellen Steuereingriff
oder durch einen Steuereingriff über
einen Kommunikationskanal.
-
Der
Prozessor kann dabei als frei programmierbare CPU ausgebildet sein,
welche bei ihrem Einsatz wesentlich mehr Energie verbraucht als
der Vorprozessor, welcher ein konfigurierbarer Hardwarebeschleuniger
sein kann und in Situationen eingesetzt wird, wenn der Prozessor
nicht unbedingt gebraucht wird.
-
Die
erfindungsgemäße Sensorvorrichtung kann
damit insbesondere in Umgebungen eingesetzt werden, die für menschlichen
Eingriff nicht geeignet sind und in denen zumindest zeitweise kein
Kommunikationskanal für
einen ferngesteuerten Steuereingriff bereitsteht. Derartige Bedingungen
können
beispielsweise im Einsatz einer Sensorvorrichtung in einem Reaktor
in der chemischen Produktion oder in der Kerntechnik vorliegen.
In solchen Umgebungen können
beispielsweise Funkkommunikationskanäle zumindest zeitweise stark
gestört
sein. Auch für
Anwendungen in der Raumfahrt ist der erfindungsgemäße Sensor
geeignet. Schließlich
kann er in der Medizintechnik mit Vorteil eingesetzt werden. Weitere
vorstellbare Situationen für
den Einsatz des Sensorsystems sind abgelegene terrestrische Gebiete ohne
Kommunikationsinfrastruktur. Der Einsatz selbstkonfigurierender
Sensorvorrichtungen ist auch dann von Vorteil, wenn ein Netz aus
vielen Einheiten aufgebaut wird, da eine externe Konfiguration dann entsprechend
aufwendig ist. Schließlich
können
sich die einzelnen Sensorvorrichtungen individuell an ihre jeweilige
Umgebung anpassen und dadurch die Leistungsfähigkeit des Gesamtnetzes erhöhen.
-
Eine
autonome Umkonfiguration des Vorprozessors ist also insbesondere
von Interesse, wenn keine oder eine nur sehr eingeschränkte Kommunikation
mit Bedienpersonen oder Steuerungssystemen möglich ist, wenn große Sensornetze
neu zu konfigurieren sind, oder wenn die einzelnen Sensorvorrichtungen
individuell zu konfigurieren sind.
-
Die
Sensorvorrichtung kann sich so automatisch an geänderte Bedingungen anpassen.
Dies ist von Vorteil, da verteilte Sensorvorrichtungen oft kaum
zu warten sind. Somit funktioniert die Sensorvorrichtung optimal,
auch wenn sich die Bedingungen ändern.
-
Das
Sensorsystem kann auch sehr unterschiedliche Aufgaben erfüllen, wobei
der Vorprozessor vom Prozessor für
die jeweilige Aufgabe konfiguriert wird. Stark unterschiedliche
Aufgaben werden üblicherweise
von unspezifischen Prozessoren erledigt werden, welche entsprechend
viel Energie verbrauchen. Alternativ können Sensorvorrichtungen für verschiedenartige
Aufgaben gezielt spezialisiert werden, wodurch der Energieverbrauch
reduziert werden kann. Diese Vorgehensweise führt aber zu hohem Aufwand,
um die einzelnen Systeme zu entwickeln.
-
Beispiele
für unspezifische
Prozessoren sind CPUs von Desktopcomputern oder Mikrokontroller. Der
Energieverbrauch richtet sich bei diesen Beispielen in erster Linie
nach der Taktfrequenz der Prozessoren.
-
Mit
der vorgestellten Sensorvorrichtung wird erreicht, dass der energiesparende
Vorprozessor immer optimal konfiguriert wird, und so die meiste
Zeit allein arbei ten kann, wobei der Prozessor in den Schlafmodus
wechseln kann. Mit Vorverarbeiten kann also die Verarbeitung von
Messdaten allein durch den Vorprozessor ausgedrückt werden.
-
Mit
dem Ausdruck das Vorliegen des Kriteriums wird das Erfüllen des
Kriteriums bezeichnet.
-
Zum
einen kann die Konfiguration des Vorprozessors festlegen, welche
Operationen auf den Sensordaten durchgeführt werden, bevor sie weiter im
System verarbeitet werden. Beispiele für solche Operationen sind Glättung, Schwellwertüberprüfung oder
Bestimmung der zeitlichen Änderung.
Es kommen auch komplexere Operationen der digitalen Signalverarbeitung
wie Fouriertransformation oder Konvolution in Betracht. Zum anderen
kann die Konfiguration die Werte für Parameter setzen, welche
in den ausgewählten
Operationen verwendet werden. Beispielsweise kann die Zeitkonstante
für eine
zeitliche Glättung
oder ein Schwellwert festgelegt werden. Des weiteren kann die Konfiguration
festlegen, unter welchen Bedingungen der Vorprozessor den Hauptprozessor
aktiviert, um evtl. eine weitere Rekonfiguration durchzuführen.
-
In
einem Ausführungsbeispiel
der Sensorvorrichtung sind die Messdaten analoge Messwerte. In einem
anderen Ausführungsbeispiel
sind die Messdaten digitalisierte Messwerte.
-
In
einem Ausführungsbeispiel
ist der Vorprozessor als konfigurierbare Logikschaltung mit mindestens
einem Logikgatter ausgebildet. Insbesondere kann der Vorprozessor
als FPGA (engl. field programmable gate array) ausgebildet sein.
Eine Konfiguration des Vorprozessors entspricht in diesem Ausführungsbeispiel
einem Schaltkreisplan des Vorprozessors. Durch Überspielen und Programmieren eines
neuen Schaltkreisplans vom Prozessor her kann in diesem Ausführungsbeispiel
eine Umkonfiguration des Vorprozessors durchgeführt werden. Der Prozessor ist
in einem Ausführungsbeispiel
mit einem verschiedene Schaltkreispläne enthaltenden Speicher verbunden.
In Abhängigkeit
vom Ergebnis der Prüfung
des Vorliegens eines Kriteriums kann der Prozessor auf einen jeweils zugeordneten
Schaltkreisplan zugreifen und diesen für das Umkonfigurieren auswählen.
-
Das
Umkonfigurieren des Vorprozessors kann in einem alternativen Ausführungsbeispiel
bedeuten, dass vorgegebene ausführbare
Programme für
den Vorprozessor für
die verschiedenen Aufgaben im Speicher des Prozessors abgelegt sind
und bei Erfüllen
eines Kriteriums auf den Vorprozessor übertragen werden. Dafür muss der
Prozessor nur so lange aktiviert sein, bis das Programm übertragen wurde
und kann dann wieder in den Schlafmodus wechseln. In einem Ausführungsbeispiel
besteht die Konfiguration des Vorprozessors in einem Austausch der
Firmware des Vorprozessors. In einem weiteren Ausführungsbeispiel
ist der Vorprozessor als konfigurierbare Complex Programmable Logic
Device kurz CPLD ausgebildet.
-
In
einem Ausführungsbeispiel
kann das Konfigurieren des Vorprozessors so ausgeführt werden, dass
der Prozessor die interne Schaltstruktur des Vorprozessors verändert. Der
Vorprozessor kann intern aus Logikschaltungen bestehen und ausgebildet sein,
nach vorgegebenen Schaltplänen
verschaltet zu werden. Der Prozessor überträgt bei der Konfiguration Konfigurationssignale
an den Vorprozessor, welcher dadurch intern anhand der Schaltpläne neuverschaltet
wird.
-
Die
Auswahl des Schaltplans wird vom Prozessor anhand des erfüllten zweiten
Kriteriums getroffen. Je nach erfülltem zweiten Kriterium ist
eine andere spezifische Konfiguration des Vorprozessors möglich. Die
Schaltpläne
können
in einem Speicher, der mit dem Prozessor verbunden ist, in einer
Schaltplantabelle gespeichert sein. Die zweiten Kriterien können im
Speicher in einer zweiten Kriterientabelle gespeichert sein. Die
Kriterien oder Kombinationen von Kriterien können auf passende Schaltpläne in der Schaltplantabelle
verweisen.
-
In
einem weiteren Ausführungsbeispiel
enthält
der Vorprozessor mindestens eine Look-Up-Tabelle, in welchem wenigstens
Teile der Konfiguration gespeichert werden.
-
Ein
Vorprozessor mit einer Logikschaltung kann in einem Ausführungsbeispiel
ein anwendungsspezifischer integrierter Schaltkreis (ASIC) sein,
welcher verschiedene für
spezielle Anwendungen spezialisierte Logikschaltungsblöcke enthält. In einem Ausführungsbeispiel
enthält
der Vorprozessor eine Steuereinheit und interne Logikblöcke, welche
durch die Steuereinheit verschaltet oder zu- oder abgeschaltet werden können. Die
Steuereinheit ist dabei mit dem Prozessor verbunden und wird vom
Prozessor konfiguriert, indem ein Schaltplan an die Steuereinheit übertragen
wird. In dieser Ausführungsform besteht
das Umkonfigurieren in der Aktivierung oder Deaktivierung bestimmter
interner Logikblöcke,
je nach gewünschter
Funktionalität
des Vorprozessors. Bei einem hierauf basierenden Ausführungsbeispiel wird
der Vorprozessor konfiguriert, indem der Prozessor Konfigurationsregister
des Vorprozessors beschreibt, dessen Werte die internen Logikblöcke aktivieren
bzw. deaktivieren, Parameter zur Verarbeiten der Daten festlegen,
oder die Reihenfolge der Verarbeitung durch die verschiedenen Logikblöcke ändern".
-
Bei
einer Ausführungsform
hat die Sensorvorrichtung eine Hardware-Einheit als Vorprozessor, welche
verschiedene Funktionen ausführen
kann. Welche Funktionen tatsächlich
ausgeführt
werden, hängt
von den Werten in Konfigurationsregistern ab, welche beim Konfigurieren
des Vorprozessors durch den Prozessor beschrieben werden. Diese
Werte selektieren erstens die Art der Funktionen, welche ausgeführt wird.
Zweitens können
sie numerische Parameter bestimmen (z. B. der Schwellwert, bei welchem
das CPU aufgeweckt wird, oder eine Zeitkonstante, über welche
zeitlich gemittelt wird). Dieser konfigurierbare Vorprozessor könnte ein
ASIC sein, welches mit Standardkomponenten zu einem System zusammengebaut
werden kann.
-
Bei
einem weiteren Ausführungsbeispiel
ist der Vorprozessor zusammen mit einem CPU und anderen Blöcken wie
Speicher, Systembus, Sensor oder Radioteil zu einem System-on-Chip
integriert.
-
Der
Prozessor kann dabei über
vordefinierte Steuersignale die Logikschaltungsblöcke aktivieren oder
deaktivieren oder beeinflussen. Dadurch wird der ASIC für spezielle
Anwendungen konfiguriert. Die Steuersignale können dabei über Haltegliedblöcke, welche
Flip-Flop-Schaltungen enthalten, aufrechterhalten werden, wenn der
Prozessor in den Schlafmodus wechselt. Die Haltegliedblöcke können in
der Steuereinheit enthalten sein.
-
In
einem Ausführungsbeispiel
enthält
der Vorprozessor eine Vielzahl von Kriterientabellen, welche z.
B. in einem Speicher abgelegt sein können oder als Logikschaltungen
ausgebildet sind. In den Kriterientabellen sind erste Kriterien
oder Kombinationen aus ersten Kriterien abgelegt, bei deren Erfüllung der
Prozessor aktiviert werden soll. Die Kriterientabellen sind momentanen
Konfigurationen des Vorprozessors zugeordnet oder in der Konfiguration enthalten.
Je nach momentaner Konfiguration des Vorprozessors, kann er in einer
entsprechenden Kriterientabelle prüfen, ob das Kriterium oder
eine Kombination von Kriterien erfüllt ist und gegebenenfalls den
Prozessor aktivieren.
-
In
einem Ausführungsbeispiel
ist der Vorprozessor ausgebildet je nach seiner Konfiguration dem Prozessor
vorverarbeitete Messdaten zu übertragen, anhand
der der Prozessor prüft,
ob ein zweites Kriterium erfüllt
ist und der Vorprozessor neu konfiguriert wird.
-
Umkonfiguration
wird synonym mit Neukonfiguration verwendet. Die Entscheidung, ob
ein zweites Kriterium erfüllt
ist wird dabei vom Prozessor gefällt.
Da zu erwarten ist, dass ein zweites Kriterium selten vorliegt im
Vergleich zu der Gesamtlaufzeit der Sensorvorrichtung, ist die Neukonfiguration
von geringerer Bedeutung für
den gesamten Energieverbrauch. Die Sensordatenverwaltung oder Messdatenbehandlung
wie Vorverarbeitung wird im Vergleich mit der Neukonfiguration trotz
relativ komplexer Abläufe
wenig Energie verbrauchen, da die Neukonfiguration nur wenig Systemzeit
in Anspruch nimmt und seltener vorkommt.
-
In
einem weiteren Ausführungsbeispiel
der Sensorvorrichtung enthält
das erste oder das zweite Kriterium
- – eine die
Systemzeit betreffende Bedingung oder
- – eine
die vom Sensor ausgegebenen Messdaten betreffende Bedingung oder
- – eine
den inneren Zustand der Sensorvorrichtung betreffende Bedingung.
-
Wenn
eine der Bedingungen erfüllt
ist kann das bedeuten, dass das erste oder das zweite Kriterium
erfüllt
ist. Damit kann z. B. das zweite Kriterium von den Umgebungsbedingungen
des Sensorsystems abhängen,
wegen welchen eine automatische Neukonfiguration des Vorprozessors
durch den Prozessor durchgeführt
werden soll, um die Sensorvorrichtung an die veränderten Bedingungen automatisch
anzupassen.
-
Weiterhin
kann z. B. anhand der Systemzeit bestimmt werden, ob Tag oder Nacht
ist und der Vorprozessor kann in einem spezialisierten Tagesprogramm
laufen und auf ein spezialisiertes Nachtprogramm umkonfiguriert
werden, wenn eine bestimmte Uhrzeit überschritten wurde.
-
Beispielsweise
könnte
die Sensorvorrichtung tagsüber
optische Signale und nachts akustische Signale verarbeiten. Anwendungsbeispiele
könnten
die Umweltüberwachung
oder militärische
Aufgaben sein.
-
Beispiele,
für welche
Bedingungen für
die ein erstes oder zweites Kriterium erfüllt sein kann, welche die aufgenommenen
Messdaten betreffen, werden im folgenden ausgeführt.
-
Eine
denkbare Bedingung könnte
sein, dass Anzeichen dafür
vorliegen, dass eine besondere Situation auftritt.
-
Eine
einfache Bedingung für
das Vorliegen einer besonderen Situation könnte sein, dass bestimmte Messwerte
einen vorbestimmten Wert über- oder
unterschreiten.
-
Es
ist in einem Beispiel einer Bedingung auch denkbar, dass der Vorprozessor
bei Überschreiten
oder Unterschreiten einer bestimmten Änderungsrate der Messdaten,
den Prozessor aktiviert, damit dieser die Daten in komplexerer Art
analysiert und ggf. ein Ereignis auslöst.
-
Ein
besonders langes Anhalten eines oder mehrerer Messwerte auf einem
bestimmten Niveau kann eine Bedingung darstellen.
-
Eine
besondere Kombination von Messwerten, welche z. B. in einer Look-Up-Tabelle abgelegt sein
können,
könnten
eine Bedingung erfüllen.
Ein Beispiel sind medizinische Anwendungsfälle, bei denen gerade die Kombination
von verschiedenen Messdaten wie z. B. Herzschlag, Glukosespiegel, Temperatur
eine Bedingung erfüllen.
Wie zu erkennen, können
die Messwerte dabei von verschiedenen Sensoren verschiedener Sensorklassen
stammen, wie Temperatursensoren, Ph-Wert-Sensoren, chemischen oder Gas-Sensoren,
akustischen oder Druck-Sensoren
etc.
-
Es
versteht sich, dass das Erfüllen
einer Bedingung ausreichend sein kann, um ein Kriterium zu erfüllen, oder
auch eine Kombination von Bedingungen das Kriterium erfüllen. Erfüllen einer
Bedingung kann auch das Nichterfüllen
einer oder mehrerer Bedingungen bedeuten. Z. B. wenn die Bedingung
ist, dass Messwerte in einem Bereich liegen und die Messwerte außerhalb
des Bereiches liegen.
-
Eine
Bedingung kann auch vom inneren Zustand des Sensorknotens abhängen. Ein
Beispiel ist der Batterieladezustand, bei welchem, wenn dieser niedrig
ist, der Sensorknoten selbstständig
ein energiesparendes Programm abarbeiten kann, während er bei gutem Ladezustand
der Batterie ein genaueres und energieaufwändigeres Programm bearbeitet.
-
Wenn
der Sensorknoten seine Energie von der Umgebung bekommt, z. B. in
Form einer Solarzelle, kann als Bedingung auch das Energieangebot von
der externen Energiequelle beinhalten und danach der Energieverbrauch
eingestellt oder reduziert werden.
-
Um
dies zu steuern kann entweder der Vorprozessor neu konfiguriert
werden, oder der Vorprozessor enthält schon Programme mit verschiedenen Energiesparstufen,
welche entsprechend abgerufen werden können. Es ist auch denkbar,
dass der Prozessor die Verarbeitungstätigkeit übernimmt oder unterstützt. Es
ist auch möglich,
dass der Vorprozessor die Prioritäten in der Aufnahme und Verarbeitung
der Sensordaten ändert,
um dadurch Energie zu sparen. Beispielsweise kann es bei Vorhandensein
von sowohl optischen als auch akustischer Sensoren sinnvoll sein,
die Verarbeitung optischer Signale einzustellen und nur noch akustische
zu behandeln, da hierfür
weniger Energieaufwand nötig
ist.
-
Ein
weiterer innerer Zustand des Sensorknotens kann die Funktion einzelner
Sensoren betreffen. Wenn z. B. ein Sensor ausgefallen ist, kann
der Sensorknoten so konfiguriert werden, dass die verfügbare Energie
optimal zur Verarbeitung der funktionsfähigen Sensoren eingesetzt wird.
Als Beispiel könnte ein
optischer Sensor ausgefallen sein und damit ein erstes und zweites
Kriterium erfüllt
sein. Dann könnte der
Prozessor den Vorprozessor so konfigurieren, dass er einen akustischen
Sensor verwendet oder stärker
auswertet.
-
Im
weiteren werden Beispiele erläutert,
welche Konsequenzen die Sensorvorrichtung ziehen könnte, wenn
eine Bedingung für
ein erstes oder zweites Kriterium erfüllt ist. Dabei ist zu verstehen, dass
die Konsequenz auch eine Neukonfiguration des Vorprozessors sein
kann, wobei der Vorprozessor unten genannte Konsequenzen zieht.
-
Wenn
z. B. eine besondere Situation anhand der Messwerte angezeigt wird,
könnte
die Sensorvorrichtung Messdaten zeitweise mit höherer Auflösung aufnehmen und ggf. versenden.
Zu einem späteren Zeitpunkt
führt die
Sensorvorrichtung eine weitere Autokonfiguration durch, welche zurück in den
ersten Zustand wechselt. In diesem Zustand betreibt die Sensorvorrichtung
nur denjenigen Aufwand, welcher benötigt wird, um eine besondere
Situation zu erkennen.
-
Dadurch
ist die Sensorvorrichtung im Stande, zeitlich getrennte Ereignisse
mit minimalem Energieaufwand zu überwachen
und dann mit der benötigten
Genauigkeit zu verarbeiten.
-
Die
Sensorvorrichtung könnte
die Messdaten auch einer besonderen Prüfung oder Verarbeitung unterziehen,
die ggf. nur mit dem Prozessor möglich
ist, dazu könnte
der Vorprozessor den Prozessor aktivieren und die vorverarbeiteten
Messdaten an den Prozessor übergeben.
-
Der
Prozessor könnte
dann z. B. einen Alarm auslösen,
wenn die besondere Prüfung
der Messdaten eine kritische Situation anzeigen. Der Alarm könnte dann
ausgegeben werden, z. B. über
eine Kommunikationseinrichtung.
-
In
einem weiteren Ausführungsbeispiel
ist der Prozessor ausgebildet, bei Vorliegen des zweiten Kriteriums
den Vorprozessor so umzukonfigurieren, dass der Vorprozessor nach
der Umkonfiguration ausgebildet ist, nicht abgetastete Sensoren
abzutasten oder abgetastete Sensoren nicht abzutasten.
-
Bei
einer weiteren Ausführungsform
der Sensorvorrichtung ist der Prozessor ausgebildet, bei Vorliegen
eines zweiten Kriteriums den Vorprozessor so umzukonfigurieren,
dass der Vorprozessor abgeschaltete Sensoren zuschaltet und abtastet
oder zugeschaltete Sensoren abschaltet und bei der der Vorprozessor
ausgebildet ist, Sensoren zuzuschalten und abzutasten oder zugeschaltete
Sensoren abzuschalten.
-
Bei
einem Ausführungsbeispiel
der Sensorvorrichtung ist der Prozessor oder der Vorprozessor ausgebildet,
bei Vorliegen eines ersten oder zweiten Kriteriums abgeschaltete
Sensoren zuzuschalten und abzutasten oder zugeschaltete Sensoren
abzuschalten.
-
In
einem Ausführungsbeispiel
ist der Prozessor ausgebildet, bei Vorliegen eines zweiten Kriteriums
den Vorprozessor so umzukonfigurieren, dass der Vorprozessor nach
der Umkonfiguration Messdaten mit einer höheren Auflösung vom Sen sor her aufnimmt
oder nach erfolgter Vorverarbeitung mit einer höheren Auflösung ausgibt als vor der Umkonfiguration.
-
Bei
einer weiteren Ausführungsform
der Sensorvorrichtung ist der Prozessor ausgebildet, bei Vorliegen
des zweiten Kriteriums den Vorprozessor so umzukonfigurieren, dass
eine Abtastrate oder eine Abtastauflösung des Vorprozessors mindestens eines
Sensors vor der Umkonfiguration sich von der Abtastrate oder Abtastauflösung nach
der Umkonfiguration unterscheidet.
-
Bei
einem weiteren Ausführungsbeispiel
der Sensorvorrichtung ist der Vorprozessor ausgebildet, bei Vorliegen
eines ersten Kriteriums die Abtastraten oder die Abtastauflösung von
mindestens zwei Sensoren unabhängig
voneinander neu festzulegen.
-
Die
Sensorvorrichtung könnte
die anfallenden Messdaten speichern oder Sensoren zuschalten oder
abschalten oder die Abtastprioritäten verändern, so dass andere Sensoren
Messdaten mit einem höheren
Abtastintervall oder anderer Abtastauflösung aufnehmen und andere weniger.
-
Die
Sensorvorrichtung könnte
die Abtastintervalle einer bestimmten Häufigkeit eines Ereignisses
anpassen.
-
Die
Sensorvorrichtung könnte
die Anwendung verschiedener Kompressionsmethoden an die eingehenden
Daten oder den internen Zustand anpassen, um dadurch die Menge der
zu verschickenden oder zu speichernden Daten zu reduzieren.
-
Insbesondere
könnte
die Sensorvorrichtung mit dem Prozessor auf das zweite Kriterium
prüfen und
den Vorprozessor an die Bedingungen anpassen, indem er den Vorprozessor
neu konfiguriert. Ggf. kann der Prozessor nach der Neukonfiguration wieder
in den Schlafmodus wechseln, bis wiederum eine Bedingung für ein erstes
Kriterium erfüllt
ist.
-
In
einer Ausführungsform
der Sensorvorrichtung ist der Vorprozessor ausgebildet, bei Vorliegen eines
ersten Kriteriums eine Konfigurationsanfrage an den Prozessor auszugeben,
welcher ausgebildet ist den Vorprozessor bei Empfang der Konfigurationsanfrage
neu zu konfigurieren.
-
Das
zweite Kriterium, was eine Neukonfiguration des Vorprozessors nach
sich zieht, könnte
insbesondere dadurch erfüllt
sein, dass der Vorprozessor eine Anfrage zur Neukonfiguration an
den Prozessor stellt. Der Prozessor kann also insbesondere Prüfen, ob
der Vorprozessor eine solche Anfrage stellt. Eine solche Anfrage
kann z. B. auch schon mit einem bestimmten Kode gestellt werden,
der ein ganz bestimmtes Programm zur Neukonfiguration vom Prozessor
abfragt. In diesem Fall wäre
der Vorprozessor schon auf die Bedingung eingestellt und könnte sich
selbst für
eine Neukonfiguration entscheiden.
-
In
einem weiteren Ausführungsbeispiel
der Sensorvorrichtung ist der Prozessor ausgebildet, nach Aktivierung
durch den Vorprozessor die Sensordaten zu verarbeiten.
-
In
einem Ausführungsbeispiel
enthält
die Sensorvorrichtung eine Datenübertragungseinheit und
ist ausgebildet, über
die Datenübertragungseinheit
Nachrichten zu versenden und zu empfangen.
-
Dadurch
kann die Sensorvorrichtung, beispielsweise in Zeiten ungestörter Kommunikationsbedingungen,
Messdaten aussenden und kann Nachrichten empfangen.
-
Eine
Nachricht kann z. B. eine Aufforderung zum senden der Messdaten
an ein Empfangsgerät oder
eine weitere Sensorvorrichtung sein.
-
In
einem Ausführungsbeispiel
der Sensorvorrichtung ist der Prozessor ausgebildet, bei Vorliegen
eines ersten und zweiten Kriteriums den Vorprozessor so zu konfigurieren,
dass der Vorprozessor Messdaten mit einer höheren Auflösung aufnimmt oder nach extern über die
Datenübertragungseinheit überträgt.
-
Dadurch
ist die Sensorvorrichtung besonders für Fälle geeignet, bei welchen viele
Sensorvorrichtungen eingesetzt werden und es sehr aufwändig wäre die Sensorvorrichtungen
zu warten.
-
Ein
Beispiel einer Anwendung wäre
die Überwachung
der strukturellen Stabilität
von Gebäuden.
Die meiste Zeit fallen kaum oder keine relevanten Messdaten an und
der Vorprozessor kann sehr energiesparend mit niedriger Abtastrate
die Überwachungsfunktion übernehmen.
Wenn etwas besonderes passiert, könnte der Prozessor aktiviert
werden und die Messdaten mit einer höheren Auflösung selbst prozessieren, oder
er könnte
den Vorprozessor so konfigurieren, dass er mit einer höheren Abtastrate
oder Auflösung
Messdaten erfasst oder verarbeitet.
-
Beispielsweise
könnte
die Sensorvorrichtung an einer Brücke akustisch wahrnehmen, dass
ein LKW in der Nähe
ist, was ein erstes Kriterium darstellen könnte, und daraufhin die Auflösung von
Erschütterungssensoren
erhöhen
oder diese erst anschalten.
-
Eine
weitere Anwendung könnte
im medizinischen Bereich liegen. Als Beispiel könnten verschiedene Körperfunktionen
des Patienten mittels einer tragbaren batteriebetriebenen Sensorvorrichtung überwacht
werden, welche möglichst
klein und energiesparsam sein soll. Auch hier könnten Messdaten mit höherem Aufwand
aufgenommen oder verarbeitet werden, wenn sich eine gefährliche
Situation abzeichnet, was dem Erfüllen eines ersten oder zweiten Kriteriums
entspricht. Z. B. könnten
dann weitere Sensormodule, welche mehr Energieverbrauch haben kurzzeitig
zugeschaltet werden. Die Entscheidung, wann ein solcher Fall vorliegen
könnte,
bedarf komplizierter Algorithmen, welche auf den einzelnen Patienten
angepasst sein können.
Deshalb sollte eine solche Entscheidung auf dem Prozessor stattfinden.
-
Ein
erstes Kriterium kann auch eine Anfrage von extern an die Sensorvorrichtung
sein, angefallene und gespeicherte Daten mit der Datenübertragungseinheit
zu übertragen.
Es wäre
z. B. denkbar, dass die Datenübertragungseinheit
im zellulä ren
Mobilfunknetz funktioniert und von extern, also aus beliebiger Entfernung
eine Anfrage zum Übertragen
der letzten oder der relevanten Messdaten kommt.
-
Dazu
könnte
der Vorprozessor den Prozessor aktivieren und die Abwicklung der
Kommunikation dem Prozessor überlassen.
-
Es
ist auch der umgekehrte Fall denkbar, dass eine erste Bedingung,
wie eine besondere Situation, erfüllt ist, und die Sensorvorrichtung
daraufhin Messdaten nach extern überträgt.
-
Eine
weitere mögliche
Bedingung den inneren Zustand der Sensorvorrichtung betreffend könnte sein,
dass der interne Speicher der Sensorvorrichtung voll ist und eine Übertragung
der gespeicherten Messwerte nach extern ausgelöst wird. Auch dazu könnte der
Vorprozessor den Prozessor aufwecken. In einem Ausführungsbeispiel
sind der Prozessor, der Vorprozessor und der Speicher, und die Datenübertragungseinheit über einen
Systembus miteinander verbunden.
-
Die
Sensorvorrichtung wird im folgenden auch mit dem Ausdruck Sensorknoten
bezeichnet.
-
In
einem Ausführungsbeispiel
ist die Sensorvorrichtung Teil eines Sensornetzwerks, in welchem Sensorknoten
miteinander kommunizieren können. So
können
z. B. verarbeitete Messdaten über
mehrere Sensorknoten transportiert werden und so weitere Strecken
zurücklegen,
um z. B. zu einem Punkt des Netzwerks mit einer Datenverarbeitungsanlage
zur Weiterverarbeitung der Daten gesendet zu werden.
-
In
einem Ausführungsbeispiel
der Sensorvorrichtung ist der Vorprozessor mit der Datenübertragungseinheit
verbunden und ist ausgebildet, die vorverarbeiteten Messdaten nach
extern über
die Datenübertragungseinheit
zu übertragen.
-
Dies
hat den Vorteil, dass der Vorprozessor die vorverarbeiteten Messdaten
selbst an seine Umgebung verschicken kann, ohne dass der Prozessor arbeiten
muss. Das spart zusätzlich
Prozessorzeit und damit Energie.
-
Bei
einem Ausführungsbeispiel
der Sensorvorrichtung ist die Datenübertragungseinheit eine Datenübertragungseinheit
für drahtlose
Datenkommunikation.
-
Dieses
Ausführungsbeispiel
hat den Vorteil dass Daten kabellos übertragen werden können und damit
das Aufstellen vieler Sensorvorrichtungen stark vereinfacht wird.
Insbesondere eine Kombination mit dem energiesparenden Vorprozessor
ist von Vorteil, weil sich ein batteriebetriebener Sensorknoten
anbietet.
-
Bei
einem Ausführungsbeispiel
der Sensorvorrichtung ist der Vorprozessor mit der Datenkommunikationseinheit
verbunden und ist ausgebildet, zusätzlich von extern über die
Datenkommunikationseinheit der Sensorvorrichtung konfiguriert zu
werden.
-
Dieses
zusätzliche
Merkmal ermöglicht
eine weitere Anpassung des Sensors an seine Aufgabe durch Bedienpersonal
oder eine zentrale Steuereinheit, welche die Sensorknoten konfigurieren.
-
In
einem Ausführungsbeispiel
enthält
der Sensorknoten einen Speicher zum Ablegen von Messdaten. Dies
hat den Vorteil, dass Daten zwischengespeichert werden können und
dann zusammen mit anderen Daten als Datenblock in einem Burst-Mode übertragen
werden können.
Somit muss die Datenübertragungseinheit
nicht durchgehend laufen sondern kann verwendet werden, wenn sich eine
gewisse Menge an Daten angesammelt hat.
-
In
einem Ausführungsbeispiel
ist der Prozessor ausgebildet, Konfigurationsdaten für verschiedene
spezialisierte Konfigurationen des Vorprozessors über die
Datenübertragungseinheit
zu empfangen und im Speicher abzulegen und den Vorprozessor mit
den empfangenen vordefinierten Konfigurationen zu konfigurieren.
-
In
einem weiteren Ausführungsbeispiel
der Sensorvorrichtung ist der Vorprozessor ausgebildet, die vom
Sensor empfangenen Messdaten abhängig von
seiner Konfiguration mit mindestens einem Schwellwert zu vergleichen
oder eine Änderungsrate zu
berechnen oder zu filtern oder zu komprimieren oder zu glätten oder
Extremwerte zu bestimmen oder auf die Messdaten mathematische Algorithmen
anzuwenden, je nachdem, welche Konfiguration vom Prozessor eingestellt
ist.
-
Dies
sind Beispiele für
eine Vorverarbeitung der Messdaten. Z. B. ist es von Vorteil die
Messdaten zu komprimieren bevor sie an die Umgebung übertragen
werden. Dadurch kann die Datenübertragungseinrichtung
längere
Zeit unbenutzt bleiben, und somit Energie für die Kommunikation eingespart
werden. Der Sensorknoten kann auch nur bei Über- oder Unterschreiten eines
oder mehreren Schwellwerten die Messdaten nach extern übertragen,
womit die Datenübertragungseinheit
sehr selten eingesetzt werden muss.
-
Bei
einem weiteren Ausführungsbeispiel
der Sensorvorrichtung umfasst der Vorprozessor mindestens ein Konfigurationsregister,
welches mit dem Prozessor verbunden ist und bei dem der Prozessor ausgebildet
ist, das Konfigurationsregister umzukonfigurieren, wobei das Konfigurationsregister
ein vom Prozessor beschreibbarer Speicher ist, welcher ausgebildet
ist, Maschinenkode, Steuerbits oder Parameter zu speichern, welche
die Funktion des Vorprozessors steuern.
-
Dies
ist eine spezielle Ausführungsvariante des
Vorprozessors. Ein Konfigurationsregister kann z. B. als Flash-Speicher
ausgebildet sein.
-
Bei
einem Ausführungsbeispiel
der Sensorvorrichtung ist der Vorprozessor ausgebildet, ein Steuersignal
zum Umschalten in einen Schlafmodus an den Prozessor auszugeben,
und der Prozessor ist ausgebildet, in den Schlafmodus umzuschalten, wenn
das Steuersignal vom Vorprozessor her empfängt.
-
Dies
hat den Vorteil, dass der Prozessor vom Vorprozessor gesteuert werden
kann. Der Vorprozessor kann z. B. nur dann ein Steuersignal zum
Umschalten in den Schlafmodus ausgeben, wenn er selbst arbeitet
und den Prozessor nur bei bestimmten Ereignissen aktivieren, z.
B. wenn eines der benannten Kriterien erfüllt wurde oder z. B. eine Datenkommunikation
stattfinden soll, welche der Prozessor übernehmen kann.
-
Ein
Konfigurationsverfahren für
eine Sensorvorrichtung mit mindestens einem Sensor umfasst die folgenden
Schritte:
- – der
Prozessor prüft
das Vorliegen mindestens eines vorbestimmten Kriteriums und
- – der
Prozessor konfiguriert den Vorprozessor bei Vorliegen des Kriteriums
unabhängig
von einer Eingabe von extern.
-
In
einer Ausführungsvariante
des Konfigurationsverfahrens erfolgen vor dem ersten Schritt die Schritte:
- – der
Vorprozessor nimmt Messdaten auf und verarbeitet sie vor,
- – prüft das Vorliegen
mindestens eines ersten vorbestimmten Kriteriums und
- – aktiviert
den Prozessor, wenn das erste Kriterium erfüllt ist.
-
In
einer Ausführungsvariante
des Konfigurationsverfahrens enthält das erste oder das zweite
Kriterium
- – eine
die Systemzeit betreffende Bedingung oder
- – eine
die vom Sensor ausgegebenen Messdaten betreffende Bedingung oder
- – eine
den inneren Zustand der Sensorvorrichtung betreffende Bedingung.
-
Dies
hat den Vorteil, dass von verschiedenen Bedingungen wie z. B. einem
Zeitplan oder einer gemessenen Umweltbedingung, welche sich z. B.
in den Messdaten widerspiegelt oder einem inneren Zustand der Sensorvorrichtung,
der Vorprozessor konfiguriert werden kann. Im folgenden wird der
Sensorknoten anhand der Figuren näher beschrieben.
-
1 zeigt
ein Blockdiagramm eines Sensorknotens.
-
2 zeigt
in einem schematischen Blockdiagramm einen Sensorknoten mit detaillierterer
Darstellung eines Vorprozessors.
-
3 zeigt
schematisch ein drahtloses Sensornetzwerk.
-
4 zeigt
beispielhaft ein Flussdiagramm 400 einer möglichen
Prüfungsabfolge
von Kriterien und das Ergreifen entsprechender vereinfachter Konsequenzen
-
5 zeigt
ein weiteres mögliches
Ablaufdiagramm 500, bei welchem das erste und zweite Kriterium
geprüft
wird.
-
Der
Sensorknoten wird im folgenden mit Bezug auf 1 beschrieben.
Ein Sensorknoten 100 besteht aus mindestens einem Sensor 102.
Es können
auch mehrere Sensoren enthalten sein. Sensoren können verschiedene physikalische
Größen oder andere
Umgebungsbedingungen erfassen und diese in Messdaten wandeln und
ausgeben. Beispiele für Sensoren
sind Temperatursensoren, Bewegungssensoren, Schallsensoren, Helligkeitssensoren, Feuchtesensoren,
Gassensoren, Vibrationssensoren, Drucksensoren, Strahlungssensoren
oder Magnetfeldsensoren.
-
Weiterhin
umfasst der Sensorknoten eine Datenverarbeitungseinrichtung wie
einem Prozessor 108, einen Speicher der mit dem Prozessor
verbunden ist, welcher zumeist meist als Flashspeicher oder EEProm
ausgebildet ist.
-
Weiterhin
enthält
der Sensorknoten einen Vorprozessor 106, welcher mit dem
Sensor und dem Prozessor verbunden ist. Der Vorprozessor ist zum Vorverarbeiten
von Messdaten geeignet. Das Vorverarbeiten kann Anwenden von mathematischen
Funktionen auf die Messdaten und Bewerten der Messdaten bedeuten.
Der Vorprozessor kann spezialisierte Aufgaben vollziehen und dabei
energiesparend arbeiten. In dieser Ausführung ist der Vorprozessor vom
Prozessor konfigurierbar ausgebildet. Der Prozessor kann dabei anhand
von Bedingungen ohne Steuerung von extern entscheiden den Vorprozessor neu
zukonfigurieren. Nach der Konfiguration ist der Vorprozessor auf
eine andere spezielle Aufgabe spezialisiert. Dadurch erhält der Sensorknoten
ein großes
Maß an
Eigenintelligenz und Adaptionsfähigkeit an
zum Beispiel seine Umweltbedingungen.
-
Außerdem wird
eine Kommunikationseinrichtung 110 vorgesehen, welche die
Kommunikation mit anderen Sensorknoten in einem Sensornetz oder einer
Zentrale durch ein bestimmtes Medium wie zum Beispiel Licht oder
Funk ermöglicht.
Es sind auch kabelgebundene Sensornetze möglich, im weiteren wird aber
speziell auf drahtlose Sensorknoten eingegangen. Eine Funkeinheit 112 enthält meist
eine Multiplexeinheit, um es allen Sensorknoten im Sensornetz zu
ermöglichen über das
gleiche Medium zu kommunizieren.
-
Sensorknoten
enthalten weiterhin eine Stromversorgung, wie einer Batterie im
Falle von drahtlos arbeitenden Sensorknoten. Eine besondere Bedeutung
kommt bei drahtlosen Sensorknoten 100 der Stromversorgung
zu, weil die Sensorknoten möglichst
lange unabhängig
arbeiten können
sollen. Mit heutigen Batteriesystemen ist dies aber nur eingeschränkt möglich. Es
ist daher ein besonderes Augenmerk auf die Sparsamkeit der Komponenten
der Sensorknoten zu legen. Was die Größe angeht ist es wünschenswert
die Sensorknoten so klein wie möglich
zu gestalten.
-
Ein
Aspekt zur Einsparung von Energie ist der Speicher des Sensorknotens.
Dieser soll möglichst
effizient arbeiten. Dies kann dadurch gelöst werden, dass Speichermedien
eingesetzt werden, welche nicht getaktet werden müssen, wie zum
Beispiel Flashspeicher. Diese verbrauchen nur dann Strom, wenn tatsächlich auf
sie zugegriffen wird.
-
Eine
weitere Möglichkeit
zum Energie Sparen ist die geeignete Auswahl der Recheneinheit 108. Daher
werden in möglichen
Ausführungsbeispielen Prozessoren
mit nur geringer Rechenleistung und kleinem Speicher eingesetzt,
weil höhere
Rechenleistung immer mehr Energieverbrauch zur Folge hat. Eine weitere
Lösung
ist das teilweise versetzen des Prozessors 108 in den Schlafmodus,
wenn er nicht gebraucht wird. Dies wäre zum Beispiel für die Zeiten denkbar,
in denen der Sensorknoten mit der Datenübertragung beschäftigt ist
oder der Sensorknoten erhält
einen Tagesablauf. Das bedeutet, dass der Sensorknoten periodisch
nach einem vordefinierten Zeitplan in den Schlafmodus wechselt und
nur aufwacht, wenn es im Plan vorgesehen ist. Dann führt der
Sensorknoten seine Messung aus und überträgt die gewonnenen Daten. Den
Tagesablauf kann in einem Ausführungsbeispiel
der Vorprozessor steuern.
-
Eine
weitere Methode Energie in einem Sensorknoten zu sparen ist die
gemessenen Daten zuerst auf Relevanz zu bewerten, um dann zu entscheiden,
ob die Daten übertragen
werden sollen. Die Daten können
auch vor der Übertragung
komprimiert werden. Somit lässt
sich die Anzahl von Datenübertragungen
oder die Datenmenge reduzieren. Zwar spart man sich dadurch Energie
im Radioteil für
die Übertragung,
jedoch wird üblicherweise
der Schritt des Bewertens oder der Schritt des Komprimierens im
Prozessor 108 ausgeführt
werden, was jedoch wiederum im Prozessor zusätzlich Energie kostet. Es muss
daher abgewägt
werden, wie viel Prozessorzeit sich gegenüber der Datenübertragung
in Hinsicht auf den Energieverbrauch rentiert. Deshalb kann diese Aufgaben
der Vorprozessor 106 übernehmen,
der weniger Energie verbraucht.
-
2 zeigt
einen schematischen Aufbau der Sensorvorrichtung in einer Ausführungsvariante,
bei der der Vorprozessor VP eine Vielzahl von internen Logikblöcken A,
B, C enthält.
Die Ein- und Ausgänge der
Logikblöcke
sind mit einem Multiplexer MUX verbunden. Weitere Eingänge zu MUX
sind die Sensoren S1 und S2. Weitere Ausgänge von MUX sind die Verbindungen
zum Systembus BUS über
die Datenschnittstelle ST sowie zur Einheit X, welche die Daten analysiert
und entscheidet, ob eine Rekonfiguration oder eine aufwendigere
Verarbeitung der Daten vom Hauptprozessor CPU angefordert wird.
Der Multiplexer MUX wird über
die Steuereinheit SE gesteuert, wobei ein beliebiger Eingang (auf
der linken Seite von MUX) mit einem beliebigen Ausgang (rechte Seite)
verbunden werden kann. Dieses geschieht über die Kontrollleitung (gestrichelt)
zwischen SE und MUX. Weitere Kontrollreitungen verbinden SE und die
Blöcke
A, B, C sowie X. Diese erlauben SE, diese Blöcke ebenfalls zu steuern. Der
Vorprozessor arbeitet, indem ein Programm in SE entsprechend dem Systemtakt
abläuft,
welches im Programmspeicher PS gespeichert ist. Typischerweise besteht
das Programm aus einer Endlosschleife, bei welcher Messdaten von
einem der Sensoren S1, S2 abgeholt werden, in den Logikblöcken A,
B, C verarbeitet werden und dann über den Systembus in den Speicher
RAM geschrieben werden.
-
Während des
Ablaufs des Programms kann es vorkommen, dass entsprechend der Steuerung durch
SE in Block X entschieden wird, dass eine Rekonfiguration des Vorprozessors
nötig sein
könnte.
In diesem Fall liegt das erste Kriterium zur Rekonfiguration vor.
Die SE erhält
diese Information über
die Kontrollleitung zwischen X und SE. Die Steuereinheit SE terminiert
daraufhin das laufende Programm, aktiviert den Hauptprozessor CPU
mit der Anfrage nach Rekonfiguration, und versetzt sich in den Programmiermodus.
Danach wertet CPU die Daten im Speicher RAM aus und entscheidet
seinerseits, ob die Rekonfiguration tatsächlich durchgeführt wird.
Hierbei wird das zweite Kriterium zu Rekonfiguration überprüft.
-
Um
die Rekonfiguration durchzuführen, überträgt CPU einen
neuen Inhalt in den Programmspeicher PS von SE. Die Kommunikation
zwischen CPU und SE geschieht über
einen gemeinsamen Speicherbereich GS. Dieser erlaubt, dass verschiedenartige
Befehle oder Statusmeldungen ausgetauscht werden können. Insbesondere
wird die Übertragung
des neuen Programms nach PS über
GS durchgeführt.
Nachdem das neue Programm übertragen
wurde, reaktiviert CPU die Steuereinheit SE mit einer entsprechenden
Meldung und geht in einen Schlafmodus über.
-
Während des
Ablaufes des Programms in PS auf der Steuereinheit SE kann es ebenfalls
vorkommen, dass eine aufwendigere Verarbeitung der Daten durch den
Hauptprozessor CPU angefordert wird. Dieses wird durch Block X festgestellt
und über die
Kontrollleitung an SE gemeldet. Die Steuereinheit SE terminiert
oder suspendiert daraufhin das laufende Programm, aktiviert CPU
mit einer entsprechenden Meldung, und geht in einen Schlafmodus über. Hauptprozessor
CPU verarbeitet die Daten, aktiviert danach SE mit einer entsprechenden
Meldung, und geht in einen Schlafmodus über. Eine aufwendigere Verarbeitung
kann beispielsweise das Verschicken der gesammelten Sensordaten
aus dem Speicher RAM mittels des Radios RF sein. Im folgenden wird Bezug
auf 3 genommen. Es ist ein drahtloses Sensornetzwerk 300 dargestellt.
Sensornetze bestehen aus einer Vielzahl von unabhängigen Sensorknoten 302, 304, 308,
welche sich untereinander oder mit einer zentralen Datenverarbeitungsanlage 312 (Zentrum)
vernetzen und Daten austauschen. Die Daten sind Informationen, welche
von den Sensoren aus der Umgebung gewonnen werden und gegebenenfalls
weiterverarbeitet werden. Die einzelnen Sensorknoten können eine
begrenzte Reichweite 306, 310, 314 für die Kommunikation
mit anderen Sensorknoten haben, insbesondere, wenn sie drahtlos
kommunizieren.
-
Die
Kommunikation der Sensorknoten
302,
304,
308 über die
Funkschnittstellen ist ein energieintensiver Aspekt, deshalb werden
spezielle Protokolle entwickelt, welche besonders energiesparend
funktionieren. Man versucht zum Beispiel in den Phasen, in welchen
ein anderer Sensorknoten kommuniziert, möglichst nicht zu empfangen,
wenn die Information nicht speziell für den Sensorknoten gedacht
war. Oder man vermeidet Kollisionen, d. h. dass zwei Knoten gleichzeitig
senden und der/die Empfänger
die Information nicht erhält,
wobei eine Übertragungswiederholung
nötig wäre. Die
DE 11 2004 000 662
T5 beschreibt ein Verfahren zur Vermeidung der vorgenannten
Probleme bei der Datenübertragung
durch geeignete zeitliche Synchronisation der Sensorknoten, um Energie
einzusparen. Eine zeitliche Synchronisation ist wenig komplex und
kann vom Vorprozessor übernommen
werden.
-
Sensornetze
eignen sich für
die Anwendung in vielen Gebieten. Zum Beispiel eignen sich Sensornetze
für die Überwachung
von großen
Gebieten. Hier können
sehr viele Sensorknoten in einem Gebiet ausgebracht werden. Dadurch
kann sowohl die Erfassung der gesuchten Daten und die Datenübertragung
aus dem gesamten Gebiet von den Sensorknoten durchgeführt werden.
Es ist so die Überwachung großer und
komplexer Systeme möglich.
Anwendungen sind zum Beispiel industrielle Prozessüberwachung,
Gebäudeüberwachung,
Alarmfunktionen wie Feueralarm oder Überwachung von Umweltdaten. Die
Sensorknoten können
dabei Nachrichten oder Messdaten von einem Sensorknoten zum anderen übertragen
und somit Sensorknoten in größeren Entfernungen
als ihre Reichweite erreichen. Zum Beispiel kann der Sensorknoten 302 seine
Daten an Sensorknoten 304 übertragen, welcher diese an Sensorknoten 308 überträgt, von
dem aus die Daten an die zentrale Datenverarbeitungsanlage 312 gesendet
werden können.
-
4 zeigt
ein Flussdiagramm 400 einer möglichen Prüfungsabfolge von Kriterien
und das Ergreifen entsprechender vereinfacht dargestellter Konsequenzen
durch die entsprechende Einheit, wie den Vorprozessor oder den Prozessor.
- 402: In einem stabilen Normalzustand sammelt der Vorprozessor
Messdaten der Sensoren und speichert sie in dem RAM Speicher des
Systems.
- 404: Der Vorprozessor prüft die Messdaten, die Systemzeit
oder den inneren Zustand der Sensorvorrichtung darauf, ob ein erstes
Kriterium vorliegt. Wenn kein erstes Kriterium vorliegt, kehrt der
Vorprozessor wieder zu Schritt 402 zurück. Dies ist gekennzeichnet durch
den Pfeil „nein".
-
Wenn
ein erstes Kriterium vorliegt, wechselt der Vorprozessor zu Schritt 406,
gekennzeichnet durch die Verbindung „ja".
- 406: Der Prozessor
wird aus dem Schlafzustand geweckt, er wird aktiviert.
- 408: Der Vorprozessor überträgt relevante Messdaten an den
Prozessor. Dies können
die Messdaten sein, welche das erste Kriterium erfüllen. Alternativ hat
der Vorprozessor vorher relevante Daten in den Speicher übertragen,
welche vom Prozessor ausgelesen werden können.
- 410: Der Prozessor analysiert die vom Vorprozessor empfangenen
Messdaten und ggf. neu anfallendende Messdaten. Der Prozessor kann
auch eine Nachricht auswerten, wie über den Batterieladezustand oder
eine Anfrage von extern zur Übertragung
von Messdaten.
- 412: Der Prozessor prüft, ob die Messdaten oder eine Nachricht
ein zweites Kriterium erfüllen.
Wenn nicht, fährt
er mit Schritt 414 fort, wenn ein zweites Kriterium erfüllt ist,
fährt er
mit Schritt 416 fort.
- 414: Ein zweites Kriterium liegt nicht vor. Das Vorliegen
eines ersten Kriteriums kann es aber sinnvoll machen z. B. eine
andere Messstrategie zu verwenden. Dazu kann der Prozessor z. B.
einen Befehlscode an den Vorprozessor senden.
- 416: Ein zwites Kriterium liegt vor. Daher wird der Vorprozessor
auf die geänderten
Bedingungen angepasst neukonfiguriert. (Strang „ja")
-
5 zeigt
ein weiteres mögliches
Ablaufdiagramm 500, bei welchem das erste und zweite Kriterium
geprüft
wird.
- 502: Der Vorprozessor arbeitet stationär in einem ersten
Zustand, in welchem er Messdaten aufnimmt, vorverarbeitet und gegebenenfalls
speichert oder mit der Datenübertragungseinheit
nach extern sendet.
- 504: Der Vorprozessor prüft die Messdaten oder den inneren
Zustand oder die Systemzeit, ob ein erstes Kriterium vorliegt. Wenn „nein", bleibt er im ersten
Zustand. Wenn „ja" fährt er mit
Schritt 506 fort.
- 506: Der Vorprozessor aktiviert den Prozessor aus dem
Schlafzustand und überträgt relevante
Messdaten oder Nachrichten an den Prozessor. Alternativ hat er vor
der Aktivierung des Prozessors entsprechende Daten in den Speicher
geschrieben. Der Prozessor verarbeitet und analysiert die übertragenen
oder gespeicherten Daten. Dabei kann der Prozessor eine komplexere
Verarbeitung der Messdaten vornehmen oder ggf. der erkannten Bedingung
entsprechende Signale nach extern senden.
- 508: Der Prozessor prüft, ob das erste Kriterium
nach genauerer Prüfung,
als es mit dem Vorprozessor möglich
ist, vorliegt. Wenn nicht, fährt
er mit Schritt 502 fort und kehrt in den Schlafmodus zurück. Ggf. kann
der Prozessor dem Vorprozessor mitteilen, dass das erste Kriterium
nicht erfüllt
ist. (Strang „nein")
-
Wenn
der Prozessor feststellt, dass das erste Kriterium erfüllt ist,
was z. B. erfordert, dass die Messdaten für die Zeit des erfüllt Seins
des ersten Kriteriums mit dem Prozessor verarbeitet werden müssen, fährt er mit
Schritt 510 fort.
- 510: Der Prozessor prüft, ob das
zweite Kriterium vorliegt. Wenn „ja" fährt
er mit Schritt 512 fort. Wenn „nein" kehrt er zu Schritt 506 zurück, um die
Messdaten weiter selbst auszuwerten und nicht in den Schlafmodus
zurückzukehren.
- 512: Der Prozessor konfiguriert den Vorprozessor gemäß den geänderten
Bedingungen neu und fährt mit
Schritt 502 fort. Danach kehrt er in den energiesparenden
Schlafmodus zurück.
Der Befehl in den Schlafmodus zu wechseln kann auch vom Vorprozessor
ausgegeben werden, nachdem er erfolgreich neukonfiguriert wurde.