-
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.
-
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.
-
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
-
- - US 7020701 [0005]
- - DE 112004000662 T5 [0114]