Beschreibung
Prozessor-Anordnung, Textilgewebestruktur,
Flächenverkleidungsstruktur und Verfahren zum Übertragen von elektronischen Nachrichten zwischen Prozessoren einer Prozessor-Anordnung
Die Erfindung betrifft eine Prozessor-Anordnung, eine Textilgewebestruktur, eine Flächenverkleidungsstruktur sowie ein Verfahren zum Übertragen von elektronischen Nachrichten zwischen Prozessoren einer Prozessor-Anordnung.
Bei einem Netzwerk aus Prozessoren, d.h. bei einer Prozessor- Anordnung mit einer Vielzahl von Prozessoren, welche in Form einer Baumstruktur miteinander gekoppelt sind, besteht das grundsätzliche Problem, dass bei der Versendung elektronischer Nachrichten, welche Nutzdaten enthalten, von einzelnen Netzwerkknoten, d.h. der einzelnen Prozessoren, an den Wurzel-Knoten (d.h. den Wurzel-Prozessor) Kollisionen der elektronischen Nachrichten und damit Staus bei der
Weiterleitung der elektronischen Nachrichten auftreten können .
Bei einer Prozessor-Anordnung, bei der die Prozessoren in Form eines vollständigen Binärbaums angeordnet sind, verdoppelt sich beispielsweise die Anzahl eintreffender elektronischer Nachrichten mit der Tiefe des Baums, anders ausgedrückt, mit der Anzahl der Hierarchieebenen der Baumstruktur, so dass bei einer Baumtiefe von 20 bereits eine Million elektronischer Nachrichten auf einmal, d.h. zu einem vorgegebenen Zeitpunkt, wie beispielsweise einem Taktzeitpunkt, an den Wurzel-Knoten versendet werden können.
Ein Beispiel für eine solche Prozessor-Anordnung mit einer Vielzahl von in einer Baumstruktur miteinander gekoppelten Prozessoren ist ein selbstorganisierendes Netzwerk von
uniformen Prozessoren, wie es beispielsweise in [1] beschrieben ist.
Gemäß [1] sind die einzelnen Prozessoren (Knoten) der Prozessor-Anordnung flächig in einem regulären Raster angeordnet, welches beliebige Fehler und Formen aufweisen kann.
Fig.l zeigt eine Prozessor-Anordnung 100 gemäß [1] mit einer Vielzahl von Prozessorelementen 101, welche orthogonal miteinander vermascht sind. Dies bedeutet, dass jeweils ein Prozessorelement 101 mit maximal vier unmittelbar zu diesem benachbarten Prozessorelementen über eine bidirektionale Kommunikationsverbindung gekoppelt ist. Somit kann jedes Prozessorelement 101 der Prozessor-Anordnung 100 jeweils mit seinem unmittelbar benachbart angeordneten Prozessorelement, im Folgenden bezeichnet als Nachbarprozessorelement, elektronische Nachrichten austauschen.
Gemäß [1] wird im Rahmen eines Selbstorganisationsprozesses eine Baumstruktur ausgebildet, mittels der die geometrische Selbsterkennung und das Routing der elektronischen Nachrichten in dem Netzwerk, d.h. in der Prozessor-Anordnung 100, ermöglicht wird. Der Wurzel-Knoten wird von einem Schnittstellenprozessor 102, auch bezeichnet als Portal- Prozessor, gebildet.
Der Schnittstellenprozessor 102 ist gemäß [1] ein informationsverarbeitendes oder informationsgenerierendes System, wobei der Schnittstellenprozessor 102 eine
Nachrichtenschnittstelle der Prozessor-Anordnung 100 bildet. Der Schnittstellenprozessor 102 ist mit mindestens einem Prozessorelement 101 der Prozessor-Anordnung 100 gekoppelt über eine bidirektionale Kommunikationsverbindung 103.
Die Kommunikationsverbindungen zwischen den
Prozessorelementen 101 der Prozessor-Anordnung 100 sind mit dem Bezugszeichen 104 bezeichnet.
Jedes Prozessorelement 101 weist im Rahmen einer technischen Anwendung einen Prozessor sowie einen diesem zugeordneten Aktor, wie beispielsweise eine Display-Anordnung und/oder einen diesem zugeordneten Sensor auf (nicht gezeigt in Fig.l) .
Fig.l zeigt ferner fehlerhafte Prozessorelemente 105, in Fig.l symbolisch dargestellt mit einem Kreuz.
Aufgrund des Selbstorganisationsprozesses, wie er in [1] beschrieben ist, ist es trotz der fehlerbehafteten Prozessoren 105 ermöglicht, ausgehend von jedem funktionstüchtigen Prozessorelement 101 innerhalb der Prozessor-Anordnung 100 elektronische Nachrichten zu dem Portal-Prozessor 102 zu übermitteln bzw. von dem Portal- Prozessor 102 eine elektronische Nachricht an jedes
Prozessorelement 101 und damit an jeden Prozessor der Prozessor-Anordnung 100 zu senden.
Fig.2 zeigt eine andere Prozessor-Anordnung 200 gemäß [1] , wobei die Prozessorelemente 201 gemäß dieser Ausgestaltung in Form einer hexagonalen Vermaschung miteinander gekoppelt sind, d.h. ein Prozessorelement 201 der Prozessor-Anordnung 200 ist mit sechs Nachbarprozessorelementen direkt gekoppelt. Wiederum ist ein Portal-Prozessor 202 als Nachrichtenschnittstelle für die Prozessoren 201 der Prozessor-Anordnung 200 vorgesehen.
Gemäß Fig.2 ist der Schnittstellenprozessor 202 mittels zweier bidirektionaler Kommunikationsverbindungen 203 mit zwei Prozessorelementen 201 der Prozessor-Anordnung 200 gekoppelt. Das Einspeisen von elektronischen Nachrichten ausgehend von dem Schnittstellenprozessor 202 zu den
Prozessorelementen 201 und damit zu den Prozessoren der Prozessor-Anordnung 200 ist unkritisch hinsichtlich des Auftretens von Datenkollisionen, d.h. von Kollisionen elektronischer Nachrichten, da sich der Nachrichtenstrom ausgehend von dem Schnittstellenprozessor 202 in die Prozessor-Anordnung 200 hinein aufteilt.
Aus technischen und aufwandstechnischen Gründen kann pro Zeiteinheit, d.h. pro Zeittakt bei einer synchron getakteten Prozessor-Anordnung 200 nur eine vorgegebene Menge von elektronischen Nachrichten über eine Kommunikationsverbindung 204 zwischen zwei einander benachbarten und gekoppelten Prozessorelementen 201 übertragen werden und es kann nur eine vorgegebene Anzahl von elektronischen Nachrichten in einem Prozessorelement 201, genauer in einem dem jeweiligen
Prozessor zugeordneten Pufferspeicher (nicht gezeigt) in dem Prozessorelement 201 zwischengespeichert werden.
Somit kann es bei einem Nachrichtenfluss der elektronischen Nachrichten ausgehend von einem Prozessorelement 201 der
Prozessor-Anordnung 200 in Richtung des Wurzel-Knotens, d.h. in Richtung des Schnittstellenprozessors 202, bei unkontrollierter Übertragung der elektronischen Nachrichten zu Datenkollisionen, d.h. zu Kollisionen elektronischer Nachrichten, oder zu PufferÜberläufen bei den den
Prozessorelementen 201 zugeordneten Pufferspeichern kommen.
Grundsätzlich besteht eine Möglichkeit der Reduzierung des Risikos des Auftretens von Datenkollisionen darin, die Pufferspeicher der Prozessoren 201 ausreichend groß zu dimensionieren .
Wird die Prozessor-Anordnung 100, 200 jedoch als ein Sensornetzwerk ausgestaltet, beispielsweise derart, dass mittels der Sensoren Bilddaten, Temperaturdaten oder
Gewichtsdaten, d.h. Druckdaten, erfasst werden sollen und an den Schnittstellenprozessor 102, 202 übertragen werden
sollen, bedeutet dies einen erheblichen Nachteil, da gegebenenfalls sehr große und damit teure Pufferspeicher für jeden Prozessor der Vielzahl von Prozessoren 101, 201 vorgesehen werden müssten, da die Prozessoranordnung 100, 200 im Prinzip beliebig groß ausgebildet sein kann.
Alternativ ist es vorstellbar, nur diejenigen Prozessorelemente, die sich örtlich nahe an dem Schnittstellenprozessor 102, 202 befinden, mit sehr großen Pufferspeichern zu versehen, da gerade in der örtlichen Nähe zu dem Schnittstellenprozessor 102, 202 ein Datenstau und die damit verbundenen Datenkollisionen zu erwarten sind. Bei einer solchen Architektur der Prozessor-Anordnung 100, 200 würde diese jedoch ihren Selbstorganisations-Charakter und ihre Flexibilität hinsichtlich der Anordnung der
Prozessorelemente 101, 201 verlieren. Auch würde die Fehlertoleranz der gebildeten Prozessor-Anordnung 100, 200 erheblich reduziert werden. Ferner würde die jeweilige Gesamtheit eines Prozessorelements, gebildet aus einem Sensor und/oder Aktor und einem dem Sensor und/oder Aktor zugeordneten Prozessor 101, 201 gebildete Einheit nicht mehr durchgängig für alle Einheiten der Prozessor-Anordnung 100, 200 gleich ausgebildet sein.
In [2] , [3] und [4] sind Sensornetzwerke auf Funkbasis beschrieben, bei denen jedoch keine reguläre Struktur vorhanden ist.
Zur Lösung des Problems auftretender Datenkollisionen wird gemäß diesen Veröffentlichungen eine Aggregation der
Sensordaten verwendet, wobei man davon ausgeht, dass die ermittelten und zu einem Wurzel-Knoten zu übertragenden Sensordaten eine hohe Redundanz aufgrund der örtlichen Nähe der einzelnen Knoten, bei denen die Sensordaten erfasst wurden, aufweisen und die Sensordaten somit zusammengefasst werden können.
Auf diese Weise werden somit eintreffende elektronische Nachrichten von einem Prozessor, d.h. von einem Netzwerkknoten, nicht weitergeleitet, sondern zu einer einzelnen elektronischen Nachricht zusammengefasst und nur diese einzelne Nachricht wird weiter gesendet.
Der Hauptnachteil dieser Vorgehensweise ist in dem dabei eintretenden Informationsverlust zu sehen.
Insbesondere ist zu bemerken, dass leistungsschwache Prozessoren, d.h. Prozessoren mit einer geringen Rechenleistung und mit nur einem sehr kleinen zur Verfügung stehenden Pufferspeicher nur eine lokale (Daten-) Sicht haben und zudem keine komplizierten und rechenaufwendigen Verarbeitungsalgorithmen durchführen können.
Ferner sollten beispielsweise aufgenommene Bilddaten global an alle Prozessoren in einer Prozessor-Anordnung verarbeitet werden, da sonst allenfalls eine genau organisierte Blockstruktur der Prozessoren Bildverarbeitungsverfahren sinnvoll verwenden könnte.
Ein anderes Beispiel ist in einer Druckmessung zu sehen, wenn eine Person über beispielsweise einen Teppich mit darin integrierten Drucksensoren geht. Die Gesamtmenge der erfassten Messdaten über eine vorgegebene Zeitspanne kann wie ein Fingerabdruck mit in einer Datenbank gespeicherten Referenzdaten verglichen werden, um auf die Person Rückschlüsse ziehen zu können, wobei dies bei einer Aggregation von Sensordaten nicht möglich wäre, da ein hohes
Informationsdefizit aufgrund des Informationsverlustes vorhanden wäre .
Somit liegt der Erfindung das Problem zugrunde, für eine Prozessor-Anordnung eine einfache und kostengünstige Vorgehensweise anzugeben, mit der die Kollision von
elektronischen Nachrichten in der Prozessor-Anordnung vermieden wird.
Das Problem wird durch die Prozessor-Anordnung, die Textilgewebestruktur, die Flächenverkleidungsstruktur und das Verfahren zum Übertragen von elektronischen Nachrichten zwischen Prozessoren einer Prozessor-Anordnung mit den Merkmalen gemäß den unabhängigen Patentansprüchen gelöst .
Eine Prozessor-Anordnung weist zumindest einen Schnittstellenprozessor auf, der eine
Nachrichtenschnittstelle der Prozessor-Anordnung bildet. Ferner ist eine Vielzahl von Prozessoren vorgesehen, die in einer Baumstruktur miteinander gekoppelt sind und elektronische Nachrichten untereinander austauschen können, wobei zumindest teilweise nur die einander örtlich direkt zueinander benachbart angeordneten Prozessoren miteinander zum Austausch elektronischer Nachrichten gekoppelt sind. Jeder Prozessor der Vielzahl von Prozessoren weist einen ihm zugeordneten Pufferspeicher auf, in dem jeweils eine vorgegebene Anzahl von elektronischen Nachrichten zwischengespeichert werden kann. Ferner ist für jeden Prozessor der Vielzahl von Prozessoren ein Sensor und/oder ein Aktor vorgesehen und diesem zugeordnet, d.h. mit dem jeweiligen Prozessor gekoppelt, wobei Sensordaten und/oder Aktordaten des Sensors bzw. Aktors in den elektronischen Nachrichten von bzw. zu dem Schnittstellenprozessor übertragen werden können. Jeder Prozessor der Vielzahl von Prozessoren ist derart eingerichtet, dass er von einem Nachbar-Prozessor eine Erlaubnis-Angabe verarbeitet, mit der angegeben wird, wie viele elektronische Nachrichten der jeweilige Prozessor an den Nachbarprozessor zu einem vorgegebenen Zeitpunkt oder während eines vorgegebenen Zeitraums senden darf. Jeder Prozessor sendet nur maximal so viele elektronische Nachrichten an den Nachbarprozessor zu dem jeweiligen vorgegebenen Zeitpunkt oder während des
vorgegebenen Zeitraums, wie es ihm gemäß der Erlaubnis-Angabe vorgegeben ist.
Bei einem Verfahren zum Übertragen von elektronischen Nachrichten zwischen Prozessoren einer Prozessor-Anordnung, welche mindestens einen Schnittstellenprozessor aufweist, der eine Nachrichtenschnittstelle der Prozessor-Anordnung bereitstellt, sowie eine Vielzahl von Prozessoren, die in einer Baumstruktur miteinander gekoppelt sind, und die elektronische Nachrichten untereinander austauschen können, wobei zumindest teilweise nur die einander örtlich direkt benachbart angeordneten Prozessoren miteinander zum Austausch elektronischer Nachrichten gekoppelt sind, wobei jeder Prozessor der Vielzahl von Prozessoren einen ihm zugeordneten Pufferspeicher aufweist, in dem eine vorgegebene Anzahl von elektronischen Nachrichten zwischengespeichert werden können, und wobei jedem Prozessor der Vielzahl von Prozessoren ein Sensor und/oder ein Aktor zugeordnet und mit dem jeweiligen Prozessor gekoppelt ist, wobei Sensordaten und/oder Aktordaten in den elektronischen Nachrichten von bzw. zu dem Schnittstellenprozessor übertragen werden, verarbeitet jeder Prozessor der Vielzahl von Prozessoren von einem Nachbarprozessor eine Erlaubnis-Angabe, mit der angegeben wird, wie viele elektronische Nachrichten der Prozessor an den Nachbarprozessor zu einem vorgegebenen Zeitpunkt oder während eines vorgegebenen Zeitraums senden darf. Der Prozessor sendet nur maximal so viele elektronische Nachrichten an einen Nachbarprozessor zu dem vorgegebenen Zeitpunkt oder während des vorgegebenen Zeitraums, wie ihm dieser in der Erlaubnis-Angabe vorgibt.
Unter einer Baumstruktur, in welcher die Vielzahl von Prozessoren miteinander gekoppelt sind, ist erfindungsgemäß jede Art von Kopplung der Prozessoren zu verstehen, bei der die Vielzahl von Prozessoren einen Nachrichtenfluss hin zu dem Schnittstellenprozessor bilden, wobei der Nachrichtenfluss analog zu einem Trichter zusammengeführt
wird, d.h. es findet eine Zusammenführung der elektronischen Nachrichten im Nachrichtenfluss von den Prozessoren zu dem Schnittstellenprozessor hin statt. In diesem Zusammenhang ist die Baumstruktur nicht zwingend örtlich lokal zu verstehen, d.h. es können bei einer Baumstruktur, welche eine Vielzahl von Hierarchieebenen aufweist, ein Nachrichtenfluss auch stattfinden zwischen Prozessoren einer Hierarchieebene der Baumstruktur. Es ist lediglich vorgesehen, dass irgendwann der Nachrichtenfluss hin zu dem Schnittstellenprozessor auf eine andere Hierarchieebene der Baumstruktur, welche hinsichtlich des Nachrichtenflusses näher an dem Schnittstellenprozessor angeordnet ist, übergeht, so dass eine Bündelung der Nachrichten aufgrund des Übergangs zwischen unterschiedlichen Hierarchieebenen der Baumstruktur stattfindet.
Anschaulich kann die Erfindung darin gesehen werden, dass ein spezielles Protokoll vorgesehen wird, gemäß dem elektronische Erlaubnis-Nachrichten (im Folgenden auch bezeichnet als Permit-Nachrichten) ausgetauscht werden in Verbindung mit kleinen Pufferspeichern, welche in den jeweiligen relativ rechenleistungsschwachen Prozessoren in den Netzwerkknoten (d.h. den Prozessorelementen) vorgesehen sind.
Elektronische Nachrichten dürfen nur dann in Richtung des Schnittstellenprozessors, d.h. in Richtung Downlink der Prozessor-Anordnung versendet werden, wenn eine entsprechende Genehmigung in Form einer Permit-Nachricht des in Nachrichtenflussrichtung hin zu dem Schnittstellenprozessor gesehenen nächsten Knotens, d.h. nächsten Prozessors der
Nachrichtenkette, vorliegt. Die entsprechenden Erlaubnis- Angaben (im Folgenden auch bezeichnet als Permits) werden gemäß einem sehr einfachen erfindungsgemäßen Algorithmus in den jeweiligen Prozessoren errechnet mittels Prognose der zukünftigen Belegung des jeweiligen Pufferspeichers des Prozessors in der Prozessor-Anordnung.
Die Prozessor-Anordnung kann in unterschiedlichen technischen Anwendungen eingesetzt werden, beispielsweise in den in [1] beschriebenen technischen Anwendungen.
Insbesondere eignet sich die Prozessor-Anordnung zum Einsatz in einem Display-Netzwerk, wobei in diesem Fall die einzelnen Prozessoren als Pixel ausgestaltet sind oder als Sensornetzwerk (ebenfalls als Pixel ausgestaltet) oder einer Kombination aus einem Sensornetzwerk und einem Aktornetzwerk. Insbesondere eignet sich die Erfindung zum Einsatz in einem selbstorganisierenden Netzwerk aus Prozessoren, welche in sensorische Fliesen mit Anzeigeelementen integriert sind. Ein anderes vorteilhaftes Einsatzgebiet ist in der vernetzten Elektronik in Industrietextilien zu sehen, beispielsweise bei einem „intelligenten" Teppich, wobei Prozessoren in
Knotenpunkte des Textilmaterials eines Teppichs eingebracht sind und mittels in das Textilmaterial ebenfalls eingebrachter elektrisch leitfähiger Leitungen miteinander elektrisch gekoppelt sind, oder auch für betonverstärkende Elemente, beispielsweise bei Spannungssensoren im Rahmen von Textilbeton.
Die einzelnen Prozessoren der Prozessor-Anordnung sind mittels einer, vorzugsweise bidirektionalen, Kommunikationsverbindung miteinander gekoppelt.
Die Kommunikationsverbindung kann sowohl mittels einer elektrisch leitfähigen Verbindung, wie beispielsweise einer elektrischen Leitung, oder auch mittels einer Funkverbindung realisiert sein.
Zumindest ein Teil der Aktoren kann als ein bildgebendes Element ausgebildet sein, die Sensoren können als beliebige Sensoren, beispielsweise als Temperatursensor, als Drucksensor oder als Spannungssensor ausgebildet sein.
Durch die Erfindung wird es auf sehr einfache Weise ermöglicht, dass bei Einsatz selbst von leistungsschwachen Prozessoren in einer Prozessor-Anordnung und bei Verwendung lediglich kleiner Pufferspeicher für die jeweiligen Prozessoren eine Datenkollision im Nachrichtenfluss ausgehend von einem Prozessor zu dem Schnittstellenprozessor vermieden werden kann.
Bevorzugte Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.
Die Ausgestaltungen der Erfindung betreffen sowohl die Prozessor-Anordnung, die Textilgewebestruktur, die Flächenverkleidungsstruktur als auch das Verfahren zum Übertragen elektronischer Nachrichten zwischen Prozessoren einer Prozessor-Anordnung.
Gemäß einer Ausgestaltung der Erfindung ist es vorgesehen, dass die Prozessoren der Prozessor-Anordnung synchron getaktet werden hinsichtlich der Verarbeitung und
Weiterleitung einer oder mehrerer elektronischer Nachrichten. Anders ausgedrückt bedeutet dies, dass ein globaler Takt von einem Taktgeber an die Prozessoren der Prozessor-Anordnung bereitgestellt und diesen zugeführt wird, so dass eine synchrone Datenverarbeitung, insbesondere eine synchrone Übertragung von elektronischen Nachrichten von einem Prozessor zu einem jeweiligen Nachbarprozessor jeweils zu einem Takt erfolgt. Auf diese Weise ist eine sehr geordnete und berechenbare Verarbeitung der elektronischen Nachrichten erreicht.
Jeder Prozessor der Prozessor-Anordnung ist gemäß einer Ausgestaltung der Erfindung derart eingerichtet, dass in jedem Zeitintervall zwischen einem ersten Zeittakt und einem zweiten Zeittakt folgende Schritte durchführbar sind:
• es wird eine Erlaubnis-Angabe des ersten Zeittaktes des jeweiligen Prozessors eingelesen, anders ausgedrückt es
wird eine elektronische Erlaubnis-Nachricht, empfangen von einem Nachbarprozessor, welcher in Nachrichtenflussrichtung zu dem Schnittstellenprozessor angeordnet ist, eingelesen; • es wird die Belegung des Pufferspeichers des jeweiligen Prozessors für zumindest den zweiten Zeittakt, vorzugsweise für noch weiter in der Zukunft liegende Zeittakte berechnet, d.h. prognostiziert; • es wird eine neue Erlaubnis-Angabe und damit verbunden eine neue Erlaubnis-Nachricht gebildet, abhängig von der berechneten Belegung des Pufferspeichers des jeweiligen Prozessors und als neue elektronische Nachricht entgegen der Nachrichtenflussrichtung weg von dem Schnittstellenprozessor zu einem Nachbarprozessor zu dem Zeitpunkt des zweiten Zeittakts übertragen.
Besonders bevorzugt ist jedes Prozessorelement aus der Mehrzahl von Prozessorelementen mit allen benachbarten Prozessorelementen mittels elektrisch leitfähiger Fäden und leitfähiger Datenübertragungs-Fäden gekoppelt, d.h. bei einem regelmäßigen rechteckigen Raster mit jeweils vier benachbarten Prozessorelementen.
Vorzugsweise ist mindestens ein Sensor mit der Mehrzahl von Prozessoreinheiten gekoppelt. Solch ein Sensor kann ein
Drucksensor, ein Wärmesensor, ein Rauchsensor, ein optischer Sensor oder ein Geräuschsensor sein.
In einer Weiterbildung weist die Textilgewebestruktur mindestens ein bildgebendes Element und/oder, ein
Schallwellen-Erzeugungselement und/oder ein Vibrations- Erzeugungselement auf, welches mit mindestens einem Teil der Mehrzahl von Mikroelektronikkomponenten gekoppelt ist.
Das heißt, dass die Textilgewebestruktur mindestens einen darin integrierten Aktor aufweist. Der Aktor ist beispielsweise eine bildgebende Einheit oder eine
schallerzeugende Einheit, vorzugsweise eine Flüssigkeits- Kristall-Anzeigeeinheit oder eine Polymerelektronik- Anzeigeeinheit, allgemein jede Art von Anzeigeeinheit, oder ein Lautsprecher, der eine Schallwelle erzeugt, allgemein jedes eine elektromagnetische Welle erzeugendes Element. Ein weiterer möglicher vorgesehener Aktor ist ein vibrationserzeugendes Element.
Gemäß einer anderen Ausgestaltung ist bei der Textilgewebestruktur oder der Prozessor-Anordnung die
Mehrzahl von Prozessoren und/oder Sensoren und/oder Aktoren derart eingerichtet, dass zum Ermitteln eines jeweiligen Abstands eines ersten Prozessorelements von einer Referenzposition elektronische Nachrichten ausgetauscht werden zwischen dem ersten Prozessorelement und einem zweiten, benachbarten Prozessorelements der Textilgewebestruktur bzw. der Prozessor-Anordnung. Jede Nachricht enthält eine Abstandsinformation, welche den Abstand eines die Nachricht sendenden Prozessorelements oder eines die Nachricht empfangenden Prozessorelements von der
Referenzposition angibt. Ferner ist die Mehrzahl von Prozessorelementen derart eingerichtet, dass aus der Abstandsinformation einer empfangenen Nachricht der eigene Abstand zu der Referenzposition ermittelbar ist oder speicherbar ist. Das erfindungsgemäß eingesetzte Verfahren zur Selbstorganisation ist im Detail in [1] beschrieben.
Vorzugsweise ist die Flächenverkleidungsstruktur als Wand- Verkleidungsstruktur oder Fußboden-Verkleidungstruktur oder Decken-Verkleidungstruktur ausgebildet.
Die Flächenverkleidungsstruktur kann zumindest über Teilbereichen der Textilgewebestruktur ein gleichförmig mit elektrisch leitfähigen Drähten durchzogenes Textil aufweisen,
Das mit elektrisch leitfähigen Drähten durchzogene Textil kann zur Vermeidung von „Elektrosmog" in der Umgebung von
Menschen verwendet werden. Hierdurch kann der „Elektrosmog" abgeschirmt werden. Dabei ist jedoch zu beachten, dass gegebenenfalls bestimmte Bereiche, z.B. Bereiche über kapazitiven Sensoren, nicht von der Abschirmung überdeckt werden dürfen .
Die Erfindung eignet sich insbesondere zum Einsatz in folgenden Anwendungsbereichen:
• Hausautomatisierung, insbesondere zur Erhöhung des häuslichen Komforts,
• Alarmanlagen mit Positionsbestimmung und optionaler Gewichtsbestimmung eines Eindringlings,
• eine automatische Besucherführung auf Messen bei einer Ausstellung oder in einem Museum, • für ein Leitsystem in einer Notfallsituation, beispielsweise in einem Flugzeug oder in einem Zug, um den Passagieren einen Weg zu einem Notausgang anzuzeigen,
• in Textilbetonkonstruktionen, in welchen Textilgewebestrukturen dazu dienen können, mögliche Schäden zu detektieren,
• Informationsgewinnung zur Führung einer Statistik, in welchen Bereichen in einem Geschäft sich Kunden wie lange aufhalten.
Eine erfindungsgemäße Textilgewebestruktur enthält neben einen vorzugsweise aus Kunstfaser (elektrisch nicht- leitfähigen Fäden) bestehenden Grundgewebe, leitfähige Fäden, vorzugsweise leitfähige Kett- und Schussfäden, die vorzugsweise aus Metalldrähten, z.B. Kupfer,
Polymerfilamenten, Carbonfilamenten oder anderen elektrisch leitfähigen Drähten bestehen. Werden Metalldrähte verwendet, wird vorzugsweise eine Beschichtung aus edleren Metallen, z.B. Gold oder Silber als Korrosionsschutz bei Feuchtigkeit oder aggressive Medien verwendet. Eine andere Möglichkeit besteht darin Metallfäden durch das Aufbringen eines
Isolierlackes, z.B. Polyester, Polyamidimid, oder Polyurethan zu isolieren.
Als Datenübertragungs-Fäden können neben elektrisch leitfähigen Fasern auch Lichtwellenleiter aus Kunststoff oder Glas verwendet werden.
Das Grundgewebe der Textilgewebestruktur wird vorzugsweise in einer Dicke hergestellt, welche einer Dicke der zu integrierenden Mikroelektronikkomponenten, im Folgenden auch Mikroprozessormodule genannt, z.B. Sensoren, Leuchtdioden und/oder Mikroprozessoren angepasst ist. Ein Sensor kann z.B. ein Drucksensor, ein Wärmesensor, ein Rauchsensor, ein optischer Sensor oder ein Geräuschsensor sein. Vorzugsweise wird ein Abstand der optisch und/oder elektrisch leitfähigen Fasern so gewählt, dass es zu einem Anschlussraster des zu integrierenden Prozessorelements passt.
Auch wenn in den folgenden Ausführungsbeispielen Teppich- Prozessor-Anordnungen beschrieben sind, so ist die Erfindung nicht auf einen Teppich beschränkt, sondern ist auf jedes zur Flächenbedeckung bzw. Flächenverkleidung geeignete Element anwendbar, allgemein auf jede Prozessor-Anordnung, bei denen einem Prozessor ein Sensor und/oder ein Aktor zugeordnet ist.
Die erfindungsgemäße Textilgewebestruktur mit integrierter Mikroelektronik, Prozessoreinheiten und/oder Sensoren und/oder Aktoren, z.B. Anzeigelämpchen, ist für sich voll funktionsfähig und kann unter verschiedenartige Flächenverkleidungen fixiert werden. Hierbei sind zum Beispiel nicht leitende Textilien, Bodenbeläge aus Teppichboden, Parkett, Kunststoff, Gardinen, Rollos, Tapeten, Isoliermatten, Zeltdächer, Verputzschichten, Estrich und Textilbeton zu nennen. Vorzugsweise wird das Fixieren mittels Klebens, Laminierens, oder Vulkanisierens durchgeführt.
Ausführungsbeispiele der Erfindung sind in den Figuren dargestellt und werden im Folgenden näher erläutert.
Gleiche Elemente sind in den Figuren mit gleichen Bezugszeichen versehen.
Es zeigen
Figur 1 eine Prozessor-Anordnung gemäß dem Stand der Technik;
Figur 2 eine andere Prozessor-Anordnung gemäß dem Stand der Technik;
Figur 3 eine Prozessor-Anordnung in einer Textilgewebestruktur gemäß einem Ausführungsbeispiel der Erfindung;
Figur 4 eine Skizze eines Prozessorelements der Prozessor- Anordnung mit einem Prozessor und einem dem Prozessor zugeordneten Sensor;
Figur 5 eine Prozessor-Anordnung gemäß einem zweiten Ausführungsbeispiel der Erfindung zu einem ersten Zeitpunkt des erfindungsgemäßen Verfahrens zum Übertragen elektronischer Nachrichten;
Figur 6 eine Prozessor-Anordnung gemäß dem zweiten Ausführungsbeispiel der Erfindung zu einem zweiten Zeitpunkt des erfindungsgemäßen Verfahrens zum Übertragen elektronischer Nachrichten;
Figur 7 eine Prozessor-Anordnung gemäß dem zweiten Ausführungsbeispiel der Erfindung zu einem dritten Zeitpunkt des erfindungsgemäßen Verfahrens zum Übertragen elektronischer Nachrichten.
Figur 8 die Prozessor-Anordnung gemäß dem zweiten Ausführungsbeispiel der Erfindung zu einem vierten Zeitpunkt des erfindungsgemäßen Verfahrens zum Übertragen elektronischer Nachrichten.
Figur 9 die Prozessor-Anordnung gemäß dem zweiten Ausführungsbeispiel der Erfindung zu einem fünften Zeitpunkt des erfindungsgemäßen Verfahrens zum Übertragen elektronischer Nachrichten;
Figur 10 die Prozessor-Anordnung gemäß dem zweiten Ausführungsbeispiel der Erfindung zu einem sechsten Zeitpunkt des erfindungsgemäßen Verfahrens zum Übertragen elektronischer Nachrichten;
Figur 11 die Prozessor-Anordnung gemäß dem zweiten Ausführungsbeispiel der Erfindung zu einem siebten Zeitpunkt des erfindungsgemäßen Verfahrens zum Übertragen elektronischer Nachrichten;
Figur 12 die Prozessor-Anordnung gemäß dem zweiten Ausführungsbeispiel der Erfindung zu einem achten Zeitpunkt des erfindungsgemäßen Verfahrens zum Übertragen elektronischer Nachrichten;
Figur 13 die Prozessor-Anordnung gemäß dem zweiten Ausführungsbeispiel der Erfindung zu einem neunten Zeitpunkt des erfindungsgemäßen Verfahrens zum Übertragen elektronischer Nachrichten;
Figur 14 die Prozessor-Anordnung gemäß dem zweiten Ausführungsbeispiel der Erfindung zu einem zehnten Zeitpunkt des erfindungsgemäßen Verfahrens zum Übertragen elektronischer Nachrichten;
Figur 15 die Prozessor-Anordnung gemäß dem zweiten Ausführungsbeispiel der Erfindung zu einem elften
Zeitpunkt des erfindungsgemäßen Verfahrens zum Übertragen elektronischer Nachrichten;
Figur 16 die Prozessor-Anordnung gemäß dem zweiten Ausführungsbeispiel der Erfindung zu einem zwölften Zeitpunkt des erfindungsgemäßen Verfahrens zum Übertragen elektronischer Nachrichten;
Figur 17 eine erfindungsgemäße Textilgewebestruktur, auf welche in Teilbereichen ein dunkler Teppich fixiert ist; und
Figur 18 eine Draufsicht auf die Prozessor-Anordnung der Textilgewebestruktur aus Figur 17 gemäß dem ersten Ausführungsbeispiel der Erfindung.
In Fig.3 ist eine schematische Darstellung einer Prozessor- Anordnung, eingebettet in einer Textilgewebestruktur 300 gemäß einem Ausführungsbeispiel der Erfindung gezeigt.
Die erfindungsgemäße Textilgewebestruktur 300 weist als Grundstruktur ein grobmaschiges Gewebe auf, welches aus nicht leitfähigen Fäden 301 ausgebildet ist. Ferner weist die Textilgewebestruktur 300 erste elektrisch leitfähige Fäden 302 und zweite elektrisch leitfähige Fäden 307 auf. Die ersten elektrisch leitfähigen Fäden 302 dienen als Erdung für in die Textilgewebestruktur 300 zu integrierenden Mikroelektronikkomponenten 303. Die zweiten elektrisch leitfähigen Fäden 307 werden für die Stromversorgung der in die Textilgewebestruktur 300 zu integrierenden Prozessorelemente 303 verwendet.
Ferner weist die Textilgewebestruktur 300 jeweils zwei leitfähige Datenübertragungs-Fäden 304 auf, welche zur Datenübertragung von und zu den integrierten Prozessorelementen 303 verwendet werden.
Die elektrisch leitfähigen Fäden 302, 307 und die leitfähigen Datenübertragungs-Fäden 304 sind vorzugsweise im Gewebe in einem quadratischen Raster angelegt, so dass ein quadratisches Raster von Kreuzungspunkten 305 in der Textilgewebestruktur 300 gebildet wird.
Ein Bereich eines solchen Kreuzungspunktes ist in Fig.3 mit a) markiert.
Ferner sind in einem Bereich, welcher in Fig.3 mit b) markiert ist, eines Kreuzungspunktes 305 die elektrisch leitfähigen Fäden 302, 307 und die leitfähigen Datenübertragungs-Fäden 304 entfernt, wodurch eine Lücke in der Textilgewebestruktur 300 gebildet wird.
Im Bereich c) der Fig.3 ist in einer Lücke in der Textilgewebestruktur 300 ein Prozessorelement 303 angeordnet, wobei die elektrisch leitfähigen Fäden 302, 307 und die leitfähigen Datenübertragungs-Fäden 304 an das Prozessorelement 303 gekoppelt werden, um das
Prozessorelement 303 mit elektrischer Energie zu versorgen und eine Datenübertragungsleitung für das Prozessorelement
303 bereitzustellen.
Vorzugsweise wird in der erfindungsgemäßen
Textilgewebestruktur 300 jedes Prozessorelement 303 an einem jeweiligen Kreuzungspunkt 305 der elektrisch leitfähigen Fäden 302 und 307 und der leitfähigen Datenübertragungs-Fäden
304 angeordnet und nachfolgend an die elektrisch leitfähigen Fäden 302 und 307 und die leitfähigen Datenübertragungs-Fäden
304 gekoppelt, welche von vier Seiten an das Prozessorelement 303 heranführen.
Die Kopplung zwischen dem Prozessorelement 303 und den elektrisch leitfähigen Fäden 302 und 307 und den leitfähigen Datenübertragungs-Fäden 304 kann mittels Kontaktierung durch
eine flexible Leiterplatte oder mittels sogenannten Drahtbondens realisiert sein.
Im Bereich d) der Fig.3 ist schematisch ein Prozessorelement 303 gezeigt, welches verkapselt ist, um den Kopplungsbereich (Kontaktstellen) zwischen Prozessorelement 303 und den elektrisch leitfähigen Fäden 302, 307 und den leitfähigen Datenübertragungs-Fäden 304 zu isolieren und ferner einen mechanisch robusten und wasserfesten Schutz 306 bereitzustellen.
Eine erfindungsgemäße Textilgewebestruktur 300 weist an einer Mehrzahl von Kreuzungspunkten 305 jeweils ein Prozessorelement 303 auf. Eine solche „intelligente" Textilgewebestruktur 300 kann als Basisschicht oder als
Zwischenlage einer Wand- oder Bodenverkleidung oder andere Arten von technischen Textilien bilden.
Sie kann z.B. auch als Schicht einer Textilbetonkonstruktion verwendet werden. Die Prozessorelemente 303 der
Textilgewebestruktur 300 können mit einer Vielzahl von verschiedenartigen Sensoren und/oder Aktoren gekoppelt sein. Zum Beispiel können dies LEDs (Leuchtdioden) , Anzeigeelemente oder Displays sein, um Informationen, welche zu den Prozessorelementen 303 übertragen werden anzuzeigen bzw. um erfasste Sensordaten von den Prozessorelementen 303 zu einem Auswertesystem hin über den Schnittstellenprozessor zu übertragen.
Fig.17 zeigt ein Ausführungsbeispiel eines so genannten intelligenten Teppichs mit einer erfindungsgemäßen Prozessor- Anordnung .
Im unteren rechten Teil der Fig.17 ist ein grobmaschiges Grundgewebe 1700 dargestellt, in welches leitfähige Fäden
302, 304 und 307 in einem quadratischen Raster eingewoben sind. An Kreuzungspunkten 305 der leitfähigen Fäden 302, 304
und 307 sind Prozessorelemente 303 in dem grobmaschigen Grundgewebe 1700 angeordnet. Somit entsteht ein regelmäßiges Raster aus Prozessorelementen 303, welche jeweils auf vier Seiten mit Versorgung- und Datenleitungen kontaktiert sind. Wobei die Prozessorelemente 303 zusätzlich mit einer Verkapselung und mit einer Leuchtdiode und/oder mit einem Drucksensor versehen sind. Ferner ist im linken und hinteren Teil der Fig.17 ein Teppichboden auf der Textilgewebestruktur 300 fixiert.
Die erfindungsgemäße Textilgewebestruktur 300 mit integrierter Mikroelektronik, insbesondere mit integrierten Prozessorelementen 303 mit Sensoren und/oder Aktoren, z.B. Anzeigelä pchen, ist für sich voll funktionsfähig und kann unter verschiedenartige Flächenverkleidungen fixiert werden. Hierbei sind zum Beispiel nicht leitende Textilien, Bodenbeläge aus Teppichboden, Parkett, Kunststoff, Gardinen, Tapeten, Isoliermatten, Zeltdächer, Verputzschichten, Estrich und Textilbeton zu nennen.
Vorzugsweise wird das Fixieren mittels Klebens, Laminierens, oder Vulkanisierens durchgeführt. Zur Vermeidung von „Elektrosmog" in der Umgebung von Menschen, kann über die erfindungsgemäße Textilgewebestruktur zur Abschirmung auch ein gleichförmig mit elektrisch leitfähigen Drähten durchzogenes Textil aufgebracht werden. Dabei ist jedoch zu beachten, dass gegebenenfalls bestimmte Bereiche, z.B. Bereiche über kapazitiven Sensoren, nicht von der Abschirmung überdeckt werden dürfen.
Die erfindungsgemäße Textilgewebestruktur mit integrierter Mikroelektronik wird vorzugsweise an einer Stelle am Rand der Textilgewebestruktur mit einer zentralen Steuereinheit, z.B. einem einfachen Personal Computer, gekoppelt.
Mit einfachen Algorithmen beginnen die Prozessorelemente, sich gemäß den in [1] beschriebenen Verfahren selbst zu
organisieren. Wird eine Textilgewebestruktur, welche ein Netzwerk aus Prozessorelementen aufweist, angeschlossen, d.h. in Betrieb genommen, so beginnt eine Lernphase, nach der jedes Prozessorelement seine exakte physikalische Position im Raster kennt.
Ferner werden automatisch Wege für Datenströme durch das Raster hindurch konfiguriert, wodurch Sensor- oder Displayinformationen um defekte Bereiche der Textilgewebestruktur geleitet werden können. Durch die
Selbstorganisation des Netzwerkes, werden defekte Bereiche erkannt und umgangen. Dadurch ist das Netzwerk aus Mikroelektronikmodulen auch noch funktionsfähig, falls die Textilgewebestruktur 300 in eine Form geschnitten ist, welche durch den jeweiligen Verwendungszweck vorgegeben ist. Darüber hinaus bewirkt die Selbstorganisation, dass kein manueller Installationsaufwand für das Netzwerk von Mikroelektronikmodulen notwendig ist.
Fig.18 zeigt eine schematische Draufsicht auf eine Prozessor- Anordnung 1800 der Textilgewebestruktur 300 aus Fig.3 und Fig.17 mit einer Vielzahl von Prozessorelementen 303, welche in ein Textilelement, wie oben beschrieben, eingebettet sind.
Die Prozessorelemente 303 sind an jeweils einem
Kreuzungspunkt 305 von zwei im Wesentlichen im rechten Winkel zueinander angeordneten Textilfäden eingebracht, wie oben im Zusammenhang mit Fig.3 beschrieben.
Gemäß einer ersten alternativen Ausführungsform ist vorgesehen, dass die Textilfäden selbst elektrisch leitfähig sind. Sind sie es nicht, so ist es in einer anderen Ausgestaltung der Erfindung vorgesehen, wie oben beschrieben, dass in den Textilfäden elektrisch leitfähige Leitungen 302, 304, 307 vorhanden sind zum Übertragen elektrischer Signale.
Mittels der elektrisch leitfähigen Textilfasern oder mittels der elektrischen Leitungen 302, 304, 307 sind die einander unmittelbar benachbarten Prozessorelemente 303 in dem Textilgewebe 300 miteinander zum Austausch elektronischer Nachrichten gekoppelt.
Ferner ist ein als Schnittstellenprozessor 1801 vorgesehener Portal-Prozessor bereitgestellt, welcher mit mindestens einem der Prozessorelemente 303 in dem Textilelement 300 verbunden ist zum Einspeisen bzw. Auslesen von Nachrichten in bzw. aus der Prozessor-Anordnung 1800. Ferner ist ein mit dem Schnittstellenprozessor 1801 gekoppeltes Auswertesystem 1802 vorgesehen, eingerichtet als Personal Computer, mit dem eine Auswertung der von den Sensoren 401 der Prozessorelemente 303 erfassten und aus der Prozessor-Anordnung 1800 über den Schnittstellenprozessor 1801 zu dem Auswertesystem 1802 übertragenen Sensordaten durchgeführt wird, beispielsweise eine statistische Überwachung der Daten, eine Schwellenwertüberprüfung, etc.
Die Prozessoren der Prozessorelemente 303 ermitteln in einem Verfahren, wie es in [1] beschrieben ist, im Rahmen einer Selbstorganisation ihre Position relativ zu dem oder den Schnittenstellenprozessoren 1802.
Die Prozessoren der Prozessor-Anordnung 1800 sind bezüglich des Schnittstellenprozessors 1801 in einer Baumstruktur mit unterschiedlichen Hierarchieebenen angeordnet. Unter Hierarchieebene ist in diesem Zusammenhang ein Abstand bezüglich des Nachrichtenflusses, definiert in einer Anzahl von zwischen dem betrachteten Prozessor und dem Portalprozessor liegenden anderen Prozessoren, zu verstehen.
Die Prozessoren der Prozessor-Anordnung 1800 sind mittels eines globalen synchronen Taktgebers (nicht gezeigt) synchron getaktet.
Gemäß den folgenden Ausführungsbeispielen wird ein Protokoll dargestellt, mit dessen Hilfe die im Folgenden noch näher erläuterten elektronischen Nachrichten so lange in der Prozessor-Anordnung 1800 gepuffert werden, wie es notwendig ist.
Eine grundlegende Idee der Erfindung ist, dass jeder Prozessor zwar nur einen kleinen, ihm zugeordneten Pufferspeicher aufweist, aber dass durch die Größe des Netzwerkes, d.h. das durch die Anzahl der in der Prozessor- Anordnung 1800 enthaltenen Prozessoren, entstehende Datenproblem hinsichtlich einer Datenkollision auch durch die Größe des gesamten Pufferspeichers des Netzwerkes, gebildet durch die Summe der einzeln, den Prozessoren zugeordneten Pufferspeichern, gelöst wird.
Fig.4 zeigt ein Prozessorelement 303 mit einem Prozessor 400 gemäß einem Ausführungsbeispiel der Erfindung, wobei nach erfolgter Selbstorganisation innerhalb des Prozessors 400 den einzelnen vier Kommunikationsverbindungen, mittels welchen der Prozessor 400 mit benachbarten Prozessoren verbunden ist, schon eine Richtung bezüglich des Nachrichtenflusses zu bzw. weg von dem Schnittstellenprozessor 1801 zugeordnet ist.
Für jeden Prozessor 400 ist jeweils ein Pufferspeicher 401 vorgesehen der Puffergröße bmax.
Ferner ist gemäß dem vorliegenden Ausführungsbeispiel ein Drucksensor 402 bei zumindest einem Teil der Prozessoren 400 bzw. der Prozessorelemente 303 vorgesehen, welcher mittels einer elektrischen Leitung 403 mit dem Prozessor 400 verbunden ist und darüber dem Prozessor 400 Sensordaten 404 übermittelt.
Die Sensordaten 404 enthalten beispielsweise einen von dem Drucksensor 402 ermittelten Druckwert oder eine über eine vorgegebene Zeitdauer ermittelte Mehrzahl von Druckwerten.
Durch die gemäß dem in [1] beschriebenen Verfahren durchgeführte Selbstorganisation ist nach erfolgter Durchführung eine Orientierung ermittelt und dem Prozessor 400 zugeordnet, wobei mit einer Orientierung insbesondere auch die Datenflussrichtung im Rahmen der Übertragung von Daten ermittelt wurden. Bei dem Prozessor 400 ist durch einen Pfeil 405 die Nachrichtenflussrichtung hin zu dem Schnittstellenprozessor 1801 der Prozessor-Anordnung 1800 beschrieben.
Die Datenflussrichtung hin zu dem Schnittstellenprozessor 1801 wird im Folgenden auch als Downlink bezeichnet, die Nachrichtenflussrichtung weg von dem Schnittstellenprozessor 1801 wird im Folgenden auch als Uplink bezeichnet.
Jede Kommunikationsverbindung 406 weist eine vorgegebene maximale Kapazität auf, d.h. eine maximal vorgegebene Anzahl zu einem Zeittakt oder in einem Zeitintervall maximal über eine Kommunikationsverbindung 406 übertragbare Anzahl von elektronischen Nachrichten.
Der Prozessor 400 besitzt somit erfindungsgemäß genau eine bidirektionale Kommunikationsverbindung 406 in Richtung der Baumwurzel, d.h. in Richtung des Schnittstellenprozessors 1801 (in Downlink-Richtung) und k E NQ bidirektionale
Kommunikationsverbindungen 406 zu Prozessoren, die weiter weg von dem Wurzel-Knoten, d.h. dem Schnittstellenprozessor 1801 liegen (in Uplink-Richtung) .
Bei einer orthogonalen Vermaschung, wie sie gemäß diesem Ausführungsbeispiel vorgesehen ist, ist k ε {θ, 1, 2, 3} und bei einer hexagonalen Vermaschung, wie sie gemäß einer alternativen Ausgestaltung der Erfindung vorgesehen ist, ist k ε {θ, 1, 2, 3,4, δ}.
Im Folgenden werden die Voraussetzungen angenommen, wie sie in [1] hinsichtlich der Ausgestaltung der Prozessoren 400 innerhalb der Prozessor-Anordnung 1800 beschrieben sind, insbesondere die folgende Taktung der Prozessoren 400 der Prozessor-Anordnung 1800.
Innerhalb eines Zeittaktes führt jeder Prozessor 400 folgende Aktionen durch:
• Lesen von einer oder mehreren elektronischen Nachrichten, die an einer oder mehreren Kommunikationsverbindungen 406 des Prozessors 400 anliegen und die im zeitlich vorangegangenen Zeittakt von einem Nachbarprozessor versendet wurden.
Verarbeiten der empfangenen Nachrichten.
• Gegebenenfalls Versenden von einer elektronischen Nachricht oder mehreren elektronischen Nachrichten über eine Kommunikationsverbindung 406 oder über mehrere Kommunikationsverbindungen 406, die im zeitlich nächsten Zeittakt von einem Nachbarprozessor empfangen werden können .
Innerhalb eines Zeittaktes kann somit eine elektronische Nachricht 407 nur von einem Prozessor 400 zu einem diesem unmittelbar benachbarten Nachbarprozessor „wandern", d.h. übermittelt werden.
Gemäß einer alternativen Ausführungsform ist keine globale gemeinsame Taktung der Prozessoren 400 der Prozessor- Anordnung 1800 vorgesehen, was hinsichtlich der Realisierung jedoch keinen Unterschied macht.
Zur einfacheren Darstellung der Erfindung wird jedoch eine gemeinsame Taktung der Prozessoren 400 in der Prozessor- Anordnung 1800 angenommen .
Die Anzahl der elektronischen Nachrichten, die in einem Zeittakt von einem Prozessor zum nächsten gesendet werden kann, wird durch die Kapazität c ε N der jeweiligen bidirektionalen Kommunikationsverbindung 406 beschrieben.
Zur Vereinfachung wird ohne Einschränkung der Allgemeingültigkeit im Folgenden die gleiche Kapazität c auf allen bidirektionalen Kommunikationsverbindungen 406 angenommen. Erweiterungen für unterschiedliche Kapazitäten der einzelnen Kommunikationsverbindungen 406 werden jedoch analog gehandhabt .
Ferner besitzt jeder Prozessor 400 einen Pufferspeicher zur Speicherung von bis zu bmax ε N elektronischen Nachrichten, wie oben erläutert.
Unterschieden wird im Folgenden zwischen Punkt-zu-Punkt- Nachrichten, die ein Prozessor 400 zu einem Nachbarprozessor übermittelt und die der Nachbarprozessor verarbeitet, anders ausgedrückt, konsumiert, und Routing-Nachrichten, welche Sensordaten und/oder Aktordaten enthalten, und die nicht von dem Nachbarprozessor verarbeitet werden, sondern zu dem in Downlink-Richtung nächsten Nachbarprozessor weiter versendet werden .
Als eine Punkt-zu-Punkt-Nachricht wird erfindungsgemäß eine Erlaubnis-Nachricht (Permit-Nachricht) verwendet, die einen oder mehrere ganzzahlige Parameterwerte enthält.
Bei Empfang einer Erlaubnis-Nachricht Permit(πQ, it±, 2> •••) aus der Downlink-Richtung in dem Prozessor 400 wird dem die Erlaubnis-Nachricht empfangenden Prozessor 400 gestattet, zum aktuellen Zeittakt %Q E {θ, ... , c} elektronische Nachrichten an den die Erlaubnis-Nachricht sendenden Nachbarprozessor zu schicken, zum zeitlich nächsten Zeittakt 7t]_ ε {θ, ... , c} elektronische Nachrichten, usw.
Im einfachsten Fall enthält die Erlaubnis-Nachricht nur einen Parameterwert, d.h. eine Erlaubnis-Angabe, mit der angegeben wird, wie viele elektronische Nachrichten der die Erlaubnis- Nachricht empfangende Prozessor zum aktuellen Zeittakt an den die Erlaubnis-Nachricht sendenden Nachbarprozessor übermitteln darf (Permit(πg)) .
Jeder Prozessor 400 berechnet die Belegung seines Pufferspeichers, d.h. seinen Pufferfüllstand für zukünftige Zeittakte und sendet anschließend entsprechende Erlaubnis- Nachrichten in Uplink-Richtung zu den jeweils in Uplink- Richtung diesem Prozessor 400 unmittelbar benachbarten Nachbarprozessoren. Eine einmal gesendete Erlaubnis-Angabe kann durch eine nachfolgende Erlaubnis-Nachricht überschrieben werden.
Die Belegung des Pufferspeichers 401 des Prozessors 400 zu Beginn eines Zeittaktes wird durch b ε NQ b < bmax beschrieben, die erteilten Erlaubnis-Angaben des in Downlink- Richtung angeordneten Nachbarprozessors werden als po , Pi, ... verwaltet und die Erlaubnis-Angaben für die Nachbarprozessoren in Uplink-Richtung werden als pk, p^, ... mit
1 < i < k bezeichnet. Weist der Prozessor in Uplink-Richtung keine Nachbarprozessoren mehr auf, d.h., anders ausgedrückt, ist k = 0, so entfällt diese Verwaltung.
Im Folgenden wird die oben beschriebene Vorgehensweise für einen Zeittakt im Detail beschrieben:
1. Abfrage von elektronischen Nachrichten, welche von einem in Downlink-Richtung angeordneten Nachbarprozessor empfangen werden: Liegt eine neue Erlaubnis-Nachricht mit dem Parametern (πg, π]_, 2> •••) vor, so setze
Pj := π-j, j ε N0. (1)
In diesem Zusammenhang ist hinsichtlich der Implementierung des Verfahrens auf einem Rechner anzumerken, dass für den Fall, dass beispielsweise als Parameter (#0,^) vorliegt, pg := π und pj_ := 7t]_ gesetzt werden und eventuell existierende Erlaubnis-Angaben P2 , P3 , ... auf den Wert Null gesetzt werden.
2. Pufferspeicher-Leerung:
Die Anzahl a der zu dem in Downlink-Richtung angeordneten Nachbarprozessor zu sendenden Puffernachrichten wird auf a := min(b, pg) (2) gesetzt .
Es werden a elektronische Nachrichten aus dem Pufferspeicher 401 des Prozessors 400 an den in Downlink- Richtung des Prozessors 400 angeordneten Nachbarprozessor gesendet und es wird b := b - a (3) gesetzt.
3. Durchschleifen von elektronischen Nachrichten: Falls a < pg gilt, so wird a := pg - a (4) als die Anzahl der noch versendbaren elektronischen Nachrichten 407 gesetzt. Es werden bis zu a elektronische Nachrichten 407 von den in Uplink-Richtung angeordneten Nachbarprozessoren abgefragt und diese elektronischen
Nachrichten 407 werden an den in Downlink-Richtung angeordneten Nachbarprozessor versendet.
4. Füllen des Pufferspeichers (Puffer-Befüllung) :
Anschließend werden alle elektronischen Nachrichten 407, welche von in Uplink-Richtung benachbart angeordneten Nachbarprozessoren anliegen mit der Anzahl ai, ..., aj- abgefragt, wobei die gegebenenfalls durchgeschleiften elektronischen Nachrichten 407 bereits abgezogen sind.
Die abgefragten elektronischen Nachrichten 407 werden in dem Pufferspeicher 401 gespeichert, d.h. die neue Belegung des Pufferspeichers 401 ergibt sich gemäß folgender Vorschrift: b := b + ai + &2 + ••• + ak • (5)
5. Aktualisieren der Erlaubnis-Angaben (Permit-Update in Downlink) :
Die Downlink-Erlaubnis-Angaben werden gemäß folgender Vorschrift verschoben: pj := pj
+1, j ε N (6) und die Erlaubnis-Angaben für die Uplink-Prozessoren werden gesetzt gemäß folgender Vorschrift:
Dies bedeutet, dass pi die maximale Zahl der im zeitlich nächsten Takt vom Uplink-Prozessor i erwarteten elektronischen Nachrichten ist.
Hinsichtlich einer einfachen Implementierung des
erfindungsgemäßen Verfahrens ist anzumerken, dass für den Fall, dass beispielsweise nur pg und pi berücksichtigt bzw. verwendet werden, pg := ]_ und p]_ := 0 gesetzt werden. Wird nur pg verwendet, so wird konstant pg = 0 verwendet.
6. Prognose der Belegung der Pufferspeicher (Prognose der Pufferfüllstände) : Die Belegung des Pufferspeichers 401 bi d.h. der Pufferfüllstand i im zeitlich nächsten Takt berechnet sich gemäß folgender Vorschrift: bj_ = max(θ, b - pg + pj + p^ + ... + pj). (8)
Dann ist
PL := bmax - bi + pi (9) die maximale Anzahl an elektronischen Nachrichten, die im übernächsten Takt von den in Uplink-Richtung angeordneten Nachbarprozessoren geschickt werden darf.
Für j = 1, 2, ... werden folgende Verfahrensschritte durchgeführt: -- Es werden p 1-:,...,pk-j gemäß einer im Folgenden näher erläuterten Arbitrierungsstrategie so gewählt, dass pj + ... + p^ ≤ Pj und O ≤ Pj ≤ c, l ≤ i ≤ k. (10)
-- Anschließend wird der nächste Pufferfüllstand berechnet gemäß folgender Vorschrift: b-j+ι = max|p, bj - pj + p- + p- + ... + p- J. (11)
-- Schließlich wird die nächste Nachrichtenzahl gemäß folgender Vorschrift berechnet: Pj+1 := bmax - b +i + pj+i . (12)
Im einfachsten Fall werden nur Erlaubnis-Angaben pJ berechnet. Für größere j wird Pj+i := Pj+i erwartet.
7. Versenden der Erlaubnis-Nachrichten:
An jeden in Uplink-Richtung mit dem Prozessor 400 gekoppelten Nachbarprozessor i (mit 1 < i < k) wird je eine Erlaubnis-Nachricht
Permit1 i- ϊ>2' gesendet. Es werden selbstverständlich nur die in der jeweiligen Implementierung vorgesehenen Erlaubnis-Angaben an den jeweiligen Nachbarprozessor in der Erlaubnis- Nachricht versendet, im einfachsten Fall also nur die Erlaubnis-Angabe p^" .
Damit ist die erfindungsgemäße Vorgehensweise vollständig mit Ausnahme der Arbitrierungsstrategie beschrieben. Die
Arbitrierungsstrategie beschreibt, wie die Anzahl Pj von vorgegebenen Erlaubnis-Angaben an die verschiedenen in Uplink-Richtung angeordneten Nachbarprozessoren verteilt wird.
Alternative Ausgestaltungen zur Realisierung einer solchen Arbitrierungsstrategie werden im Folgenden noch näher erläutert .
Zur Erläuterung der Arbitrierungsstrategie wird aus Gründen der Einfachheit eine Prozessor-Anordnung 500 gemäß einem
zweiten Ausführungsbeispiel der Erfindung beschrieben, wie sie in Fig.5 dargestellt ist.
Es ist jedoch anzumerken, dass die Erfindung keineswegs auf die in Fig.5 dargestellte Prozessor-Anordnung 500 beschränkt ist, sondern sie ist selbstverständlich auf alle in einer Baumstruktur angeordneten Prozessoren in einer Prozessor- Anordnung anwendbar, insbesondere auch auf die Prozessor- Anordnung 1800 gemäß dem ersten Ausführungsbeispiel der Erfindung.
Die Prozessoren gemäß dem zweiten Ausführungsbeispiel der Erfindung sind hinsichtlich der oben beschriebenen Vorgehensweise zur Ermittlung und Versendung und Berechnung der Erlaubnis-Angaben in gleicher Weise ausgestaltet wie die Prozessoren gemäß dem ersten Ausführungsbeispiel der Erfindung .
Wiederum wird angenommen, dass Sensordaten 404 jedes Prozessors 400 zu einem bestimmten Zeitpunkt von dem jeweiligen Sensor 402 ermittelt werden und dann in einer Sensornachricht von dem Prozessor 400 in Richtung des Portals zu dem Schnittstellenprozessor 501 und von dort zu dem Auswertesystem 504 gesendet werden. Es handelt sich somit in der Regel um mehrere zeitlich äquidistante Abfragen von Sensorwerten .
Nach Ermittlung der Sensordaten, d.h. allgemein nach Erhebung des Datenmaterials, kann somit jeder Prozessor 400 automatisch (zeitgesteuert) mit dem Einsammeln von Daten, d.h. mit dem Einsammeln von elektronischen Daten-Nachrichten aus der Uplink-Richtung beginnen, d.h. der oben beschriebene Algorithmus (Schritte 1 bis 7) startet in allen Prozessoren 400 gleichzeitig zu einem Taktzeitpunkt.
In diesem Fall genügt es, wenn der Schnittstellenprozessor 501 Erlaubnis-Nachrichten vom Typ
Permit(πg)
an die Nachbarprozessoren 400 des Schnittstellenprozessors 501 versendet, da die Datenlast der Prozessor-Anordnung von selbst in Richtung des Schnittstellenprozessors 501 „sackt", d.h. sich ausbreitet, und sich der maximale Datenfluss am Schnittstellenprozessor 501 in kurzer Zeit einstellt.
Damit werden also auch netzwerkweit, d.h. in der gesamten Prozessor-Anordnung 500 nur Erlaubnis-Nachrichten (Permit- Nachrichten) von diesem Typ versendet und die Abarbeitung des oben beschriebenen Algorithmus wird entsprechend vereinfacht.
Nach Abschluss eines Selbstorganisations-Verfahren, wie es in [1] beschrieben ist, liegt in jedem Prozessor 400 die Information vor, wie viele andere Prozessoren n in Richtung jeden Uplinks i liegen (Durchsatz) .
Daher wird gemäß diesem Ausführungsbeispiel der Erfindung folgende Arbitrierungsstrategie verwendet:
Für jeden Uplink-Prozessor 400 wird die Zahl
z < ni (13)
der tatsächlich eingetroffenen elektronischen Nachrichten 407 festgehalten. Wenn nun gemäß dem oben beschriebenen Algorithmus P]_ Permits zu vergeben sind, so werden die Uplinks in Schleife nacheinanderfolgend abgeprüft und es wird ein Permit erteilt bzw. um den Wert 1 erhöht, falls gilt:
zi < ni . (14)
Dabei ist der Startpunkt der Schleife der um einen Wert 1 versetzte Endpunkt der Schleife der letzten Erlaubnis- Angaben-Vergabe (Permit-Vergabe) .
Als anschauliches Beispiel für die Durchführung des Verfahrens sind in den Fig.5 bis Fig.16 die einzelnen Schritte in der Prozessor-Anordnung 500 dargestellt.
In diesem Beispiel ist ohne Einschränkung der Allgemeingültigkeit die Kapazität einer bidirektionalen Kommunikationsverbindung 406 zwischen zwei Prozessoren 400 auf c = 2 festgelegt und die Pufferspeichergröße mit bmax - ^ begrenzt. Die zu übertragenden Daten sind in einer jeweiligen, dem Prozessor 400 zugeordneten Datennachricht 407 in den Fig.5 bis Fig.16 dargestellt, wobei mit der in der Datennachricht 407 angegebenen Zahl der jeweilige Prozessor, dem der jeweilige Sensor 401 eindeutig zugeordnet ist, eindeutig identifiziert wird.
Mit den Pfeilen sind jeweilige Erlaubnis-Nachrichten 502 bezeichnet und mit den jeweiligen den Pfeilen 502 zugeordneten Zahlen werden die Parameter der Erlaubnis- Nachricht bezeichnet. Gegebenenfalls werden an den Eingängen bzw. Ausgängen der bidirektionalen Kommunikationsverbindung 406 zwischen den Prozessoren 400 die Verwaltungsdaten PO/ Pl' - un<3- Po' J ••• als jeweilige Ziffern an den Prozessoren 400 dargestellt, d.h. die zu erwartenden elektronischen Nachrichten 407 aus Uplink-Richtung bzw. die erhaltenen Erlaubnis-Angaben (Permits) aus Downlink-Richtung. Zur Illustration der Verwendung von Permits höherer Ordnung werden diese von dem Schnittstellenprozessor 501 oder womöglich, beispielsweise von Knoten 10 in Fig.5, eingesetzt.
In den Fig.5 bis Fig.16 sind der Nachrichtenfluss sowie die Pufferbelegung und die Permits sowie die jeweiligen elektronischen Nachrichten zu den jeweiligen Taktzeitpunkten dargestellt .
Wie in Fig.5 gezeigt ist, hat der Schnittstellenprozessor 501 eine maximale Pufferspeicherkapazität von vier elektronischen Nachrichten.
Da er von einem auch ihm zugeordneten Sensor eine
Sensornachricht 407 empfängt, kann er im nächsten Zeittakt noch drei andere elektronische Nachrichten 407 von in Uplink- Richtung ihm benachbarten Nachbarprozessoren 400 empfangen.
Somit schickt er an jeden seiner unmittelbar ihm benachbarten Nachbarprozessoren 400 (Prozessor 2, 10, 14) eine Erlaubnis- Nachricht 501, in der angegeben ist, dass diese ihm in Downlink-Richtung im nächsten Zeittakt eine elektronische Nachricht übermitteln dürfen.
In entsprechender Weise arbeiten auch die anderen Prozessoren 400, da auch dort jeweils angenommen wird aus Gründen der einfacheren Erläuterung, dass jeweils nur eine Sensornachricht 407 gebildet wird, und jeweils entsprechend Nachrichten in Uplink-Richtung benachbarten Prozessoren im nachfolgenden Zeittakt empfangen werden können.
Im Folgenden wird ohne Einschränkung der Allgemeingültigkeit angenommen, dass zu jedem Taktzeitpunkt von dem Schnittstellenprozessor 501 zwei elektronische Nachrichten 407 an das Auswertungssystem 504 ausgelesen werden können.
In der folgenden Beschreibung wird jeweils abhängig von den in den Fig.5 bis Fig.16 angegebenen Nummern der jeweilige Prozessor bzw. die jeweilige Nachricht 407 bezeichnet.
So wird beispielsweise eine neunte Sensornachricht 407 jeweils mit dem Zeichen „9" in der Sensornachricht 407 bezeichnet und die neunte Sensornachricht 407 wurde von dem Sensor 402 des neunten Prozessors „9" 400 aufgezeichnet und von dem neunten Prozessor 400 zwischengespeichert und in Richtung des Schnittstellenprozessors 501 gesendet. Die
entsprechende Nomenklatur wird auch für die anderen Sensornachrichten und Prozessoren verwendet.
Die in den Fig.6 bis Fig.16 dargestellte Vorgehensweise ist derart, dass die Prozessoren 400 jeweils abhängig von den ihnen übermittelten Erlaubnis-Angaben 502 zu dem nächsten Taktzeitpunkt die gemäß der Erlaubnis-Angabe 502 entsprechende Anzahl von elektronischen Nachrichten in Richtung des Schnittstellenprozessors 501 zu dem ihm auf dem jeweiligen Nachrichtenpfad unmittelbar benachbarten Nachbarprozessor übermitteln.
Fig.5 zeigt somit den Zustand, zu dem die Sensornachrichten 407 noch alle in den Pufferspeichern 401 der einzelnen Prozessoren 400 gespeichert sind (erster TaktZeitpunkt) .
Fig.6 zeigt die Prozessor-Anordnung 500 zu dem zweiten Taktzeitpunkt, wobei die erste Sensornachricht 407 schon an das Auswertesystem 504 weitergeleitet wird und die zweite Sensornachricht 407, die zehnte Sensornachricht 407 und die vierzehnte Sensornachricht 407 zu dem Schnittstellenprozessor 501 übermittelt werden.
Die dritte Sensornachricht 407, die fünfte Sensornachricht 407 und die achte Sensornachricht 407 werden von den jeweiligen Prozessoren 400 dem zweiten Prozessor 400 zugeführt, die elfte Sensornachricht 407 wird von dem elften Prozessor 400 an den zehnten Prozessor 400 übertragen und die fünfzehnte Sensornachricht 407 und die achtzehnte Sensornachricht 407 werden von den jeweiligen Prozessoren an den vierzehnten Prozessor 400 übertragen.
Ferner werden die vierte Sensornachricht 407 von dem vierten Prozessor an den dritten Prozessor 400 übertragen, die sechste Sensornachricht 407 und die siebte Sensornachricht 407 werden an den fünften Prozessor 400 übertragen, die neunte Sensornachricht 407 wird an den achten Prozessor 400
übertragen, die zwölfte Sensornachricht 407 und die dreizehnte Sensornachricht 407 werden an den elften Prozessor 400 übertragen, die sechzehnte Sensornachricht 407 und die siebzehnte Sensornachricht 407 werden an den fünfzehnten Prozessor 400 übertragen und die neunzehnte Sensornachricht 407 und die zwanzigste Sensornachricht 407 werden an den achtzehnten Prozessor 400 übertragen.
Ferner werden auch zu diesem Taktzeitpunkt die entsprechenden Erlaubnis-Nachrichten 502 von den Prozessoren in Uplink- Richtung zu den jeweiligen Nachbarprozessoren übertragen, wobei in diesem Zusammenhang anzumerken ist, dass von dem Schnittstellenprozessor 501, da der gesamte Puf erspeicher dort leer ist, zwei Nachrichten von dem zweiten Prozessor 400 und zwei Nachrichten dem zehnten Prozessor 400 ermöglicht sind zur Übertragung in dem nächsten anschließenden Taktzeitpunkt sowie eine Nachricht von dem vierzehnten Prozessor 400.
Fig.7 zeigt die Prozessor-Anordnung zu dem dritten TaktZeitpunkt .
Wie Fig.7 zu entnehmen ist, werden die zweite Sensornachricht 407 und die zehnte Sensornachricht 407 aus der Prozessor- Anordnung 500 von dem Schnittstellenprozessor 501 in das
Auswertesystem 504 übertragen. Die vierzehnte Sensornachricht 407 wird in dem Pufferspeicher 401 des
Schnittstellenprozessors 501 gespeichert. Ferner werden die fünfte Sensornachricht 407 und die dritte Sensornachricht 407 von dem zweiten Prozessor 404 an den Schnittstellenprozessor 501 übertragen sowie die elfte Sensornachricht 407 von dem zehnten Prozessor 400 an den Schnittstellenprozessor 501 und die fünfzehnte Sensornachricht 407 von dem vierzehnten Prozessor 400 an den Schnittstellenprozessor 501.
Zu diesem Zeitpunkt ist die achte Sensornachricht 407 in dem Pufferspeicher 401 des zweiten Prozessors 400 gespeichert und
die achtzehnte Sensornachricht 407 in dem Pufferspeicher 404 des vierzehnten Prozessors 400.
Die vierte Sensornachricht 407 wird von dem dritten Prozessor 400 an den zweiten Prozessor 400 übertragen sowie die zwölfte Sensornachricht 407 von dem elften Prozessor 400 an den zehnten Prozessor 400 und die neunzehnte Sensornachricht 407 von dem achtzehnten Prozessor 400 an den vierzehnten Prozessor 400.
Die siebte Sensornachricht 407 und die sechste Sensornachricht 407 sind in dem Pufferspeicher 401 des fünften Prozessors 400 gespeichert und die neunte Sensornachricht 407 ist in dem Pufferspeicher 401 des achten Prozessors 400 gespeichert. Ferner sind die dreizehnte
Sensornachricht 407 in dem Pufferspeicher 401 des elften Prozessors 400, die siebzehnte Sensornachricht 407 und die sechzehnte Sensornachricht 407 in dem Pufferspeicher 401 des fünfzehnten Prozessors 400 und die zwanzigste Sensornachricht 407 in dem Pufferspeicher 401 des achtzehnten Prozessor 400 gespeichert .
Ferner werden Erlaubnis-Nachrichten 502 von dem Schnittstellenprozessor 501 an den zweiten Prozessor 400 und an den vierzehnten Prozessor 400 übertragen, in welchen den beiden Prozessoren zu dem nächsten Taktzeitpunkt die Erlaubnis gegeben wird, jeweils eine Sensornachricht 407 zu dem Schnittstellenprozessor 501 zu übermitteln.
Der zweite Prozessor 400 übermittelt jeweils eine Erlaubnis- Nachricht 502 an den fünften Prozessor 400 und an den achten Prozessor 400, jeweils ebenfalls mit der Maßgabe, zu dem nächsten Taktzeitpunkt dem zweiten Prozessor 400 jeweils maximal eine Sensornachricht 407 zu übermitteln.
Gemäß einer von dem zehnten Prozessor 400 an den elften Prozessor 400 übermittelten Erlaubnis-Nachricht 502 darf der
elfte Prozessor 400 zu dem nächsten Taktzeitpunkt maximal zwei Sensornachrichten 404 an den zehnten Prozessor 400 übermitteln.
Der vierzehnte Prozessor 400 übermittelt an den fünfzehnten Prozessor 400 und an den achtzehnten Prozessor 400 jeweils eine Erlaubnis-Nachricht 502, in der jeweils angegeben ist, dass die beiden Prozessoren 400 zu dem nächsten Taktzeitpunkt jeweils maximal eine Sensornachricht an den vierzehnten Prozessor 400 übermitteln dürfen.
Fig.8 zeigt die Prozessor-Anordnung 500 zu dem vierten TaktZeitpunkt .
Zu diesem Zeitpunkt werden zwei Sensornachrichten 404, nämlich die dritte Sensornachricht 407 und die vierzehnte Sensornachricht 407 von dem Schnittstellenprozessor 501 an das Auswertesystem 504 übertragen.
Der Schnittstellenprozessor 501 hat drei Sensornachrichten 404, nämlich die fünfzehnte Sensornachricht 407, die elfte Sensornachricht 407 und die fünfte Sensornachricht 407 in dessen Pufferspeicher 401 gespeichert.
Ferner werden die achte Sensornachricht 407 von dem zweiten Prozessor und die achtzehnte Sensornachricht von dem vierzehnten Prozessor an den Schnittstellenprozessor 501 übertragen .
In dem Pufferspeicher 401 des zweiten Prozessors 400 ist die vierte Sensornachricht 407 gespeichert, in dem Pufferspeicher 401 des zehnten Prozessors die zwölfte Sensornachricht 407 und in dem Pufferspeicher 401 des vierzehnten Prozessors 400 die neunzehnte Sensornachricht 407.
Von dem fünften Prozessor 400 wird gemäß der von ihm zuvor empfangenen Erlaubnis-Nachricht 502 eine, nämlich die sechste
Sensornachricht 407 an den zweiten Prozessor 400 übermittelt, und der achte Prozessor 400 sendet die neunte Sensornachricht 407 an den zweiten Prozessor 400. Der elfte Prozessor 400 sendet die dreizehnte Sensornachricht 407 an den zehnten Prozessor 400, der fünfzehnte Prozessor 400 sendet die sechzehnte Sensornachricht 407 an den vierzehnten Prozessor 400 und der achtzehnte Prozessor 400 sendet die zwanzigste Sensornachricht 407 an den vierzehnten Prozessor 400.
In dem Pufferspeicher 401 des fünften Prozessors 400 ist noch die siebte Sensornachricht 407 gespeichert und in dem Pufferspeicher 401 des fünfzehnten Prozessors 400 ist die siebzehnte Sensornachricht 407 zwischengespeichert.
Gemäß der oben beschriebenen Arbitrierungsstrategie sendet zu dem vierten Taktzeitpunkt der Schnittstellenprozessor 501 drei Erlaubnis-Nachrichten 502 an seine Uplink-Nachbar- Prozessoren, jeweils eine an den zweiten Prozessor 400, den zehnten Prozessor 400 und den vierzehnten Prozessor 400, in denen angegeben ist, dass jeder der drei Prozessoren 400 zu dem nächsten Taktzeitpunkt jeweils maximal eine Sensornachricht 407 an den Schnittstellenprozessor 501 übermitteln darf.
Ferner übermittelt der zweite Schnittstellenprozessor 400 eine Erlaubnis-Nachricht 502 an den fünften Prozessor 500 mit der Maßgabe, dass der fünfte Prozessor 400 zu dem nächsten Taktzeitpunkt maximal eine Sensornachricht an den zweiten Prozessor übertragen darf. Der zehnte Prozessor 400 übermittelt dem elften Prozessor 400 eine Erlaubnis-Nachricht und erlaubt diesem, zu dem nächsten Taktzeitpunkt dem zehnten Prozessor 400 eine Sensornachricht zu übermitteln. Gemäß einer von dem vierzehnten Prozessor 400 an den fünfzehnten Prozessor 400 übermittelten Erlaubnis-Nachricht 502 ist es dem fünfzehnten Prozessor 400 ermöglicht, zu dem nächsten TaktZeitpunkt, der in Fig.9 dargestellt ist, maximal eine
Sensornachricht 407 an den vierzehnten Prozessor 400 zu übermitteln.
Fig.9 zeigt die Prozessor-Anordnung 500 zu dem fünften Taktzeitpunkt .
Zu diesem TaktZeitpunkt werden zwei Sensornachrichten, nämlich die elfte Sensornachricht 407 und die fünfte Sensornachricht 407 aus dem Pufferspeicher 401 des Schnittstellenspeichers an das Auswertesystem 504 weitergeleitet .
In dem Pufferspeicher 401 des Schnittstellenprozessors 501 sind drei Sensornachrichten gespeichert, nämlich die achtzehnte Sensornachricht 407, die achte Sensornachricht 407 und die fünfzehnte Sensornachricht 407.
Von dem zweiten Prozessor 400 wird die vierte Sensornachricht 407 zu dem Schnittstellenprozessor 501 übertragen, von dem zehnten Prozessor 400 die zwölfte Sensornachricht 407 und von dem vierzehnten Prozessor 400 die neunzehnte Sensornachricht 407.
In dem Pufferspeicher 401 des zweiten Prozessors 400 sind die neunte Sensornachricht 407 und die sechste Sensornachricht 407 gespeichert, in dem Pufferspeicher 401 des zehnten Prozessors 400 die dreizehnte Sensornachricht 407 und in dem Pufferspeicher 401 des vierzehnten Prozessors 400 die zwanzigstes Sensornachricht 407 und die sechzehnte Sensornachricht 407.
Ferner wird zu dem fünften Taktzeitpunkt von dem fünften Prozessor 400 die siebte Sensornachricht 407 an den zweiten Prozessor 400 übertragen und die siebzehnte Sensornachricht 407 wird von dem fünfzehnten Prozessor 400 an den vierzehnten Prozessor 400 übertragen.
Gemäß der oben beschriebenen Arbitrierungsstrategie sendet zu dem fünften Taktzeitpunkt der Schnittstellenprozessor 501 zwei Erlaubnis-Nachrichten 502 an seine Uplink-Nachbar- Prozessoren, eine Erlaubnis-Nachricht 502 an den zehnten Prozessor 400 und eine Erlaubnis-Nachricht 502 an den vierzehnten Prozessor 400, in denen jeweils angegeben ist, dass jeder der beiden Prozessoren zu dem nächsten Taktzeitpunkt jeweils maximal eine Sensornachricht 407 an den Schnittstellenprozessor 501 übermitteln darf.
Ferner übermittelt der zweite Schnittstellenprozessor 400 eine Erlaubnis-Nachricht 502 an den fünften Prozessor 500 mit der Maßgabe, dass der fünfte Prozessor 400 zu dem nächsten Taktzeitpunkt maximal eine Sensornachricht an den zweiten Prozessor übertragen darf. Gemäß einer von dem vierzehnten
Prozessor 400 an den fünfzehnten Prozessor 400 übermittelten Erlaubnis-Nachricht 502 ist es dem fünfzehnten Prozessor 400 ermöglicht, zu dem nächsten TaktZeitpunkt, der in Fig.10 dargestellt ist, maximal eine Sensornachricht 407 an den vierzehnten Prozessor 400 zu übermitteln.
Zu dem sechsten Taktzeitpunkt werden von dem Schnittstellenprozessor 501 an das Auswertesystem 504 wiederum zwei Sensornachrichten 404, nämlich die achte Sensornachricht 407 und die fünfzehnte Sensornachricht 407 übertragen (vergleiche Fig.10).
Ferner sind zu diesem Taktzeitpunkt die neunzehnte Sensornachricht 407, die zwölfte Sensornachricht 407, die vierte Sensornachricht 407 und die achtzehnte Sensornachricht 407 in dem Pufferspeicher 401 des Schnittstellenprozessors 501 gespeichert.
Von dem zehnten Prozessor 400 wird die dreizehnte Sensornachricht 407 und von dem vierzehnten Prozessor 400 die sechzehnte Sensornachricht 407 an den Schnittstellenprozessor 501 übertragen.
In dem Pufferspeicher 401 des zweiten Prozessors 400 sind zu diesem Taktzeitpunkt die siebte Sensornachricht 407, die neunte Sensornachricht 407 und die sechste Sensornachricht 407 gespeichert.
In dem Pufferspeicher 401 des vierzehnten Prozessors 400 sind zu diesem Zeitpunkt die siebzehnte Sensornachricht 407 und die zwanzigste Sensornachricht gespeichert.
Gemäß der oben beschriebenen Arbitrierungsstrategie sendet zu dem sechsten Taktzeitpunkt der Schnittstellenprozessor 501 zwei Erlaubnis-Nachrichten 502 an seine Uplink-Nachbar- Prozessoren, eine Erlaubnis-Nachricht 502 an den zweiten Prozessor 400 und eine Erlaubnis-Nachricht 502 an den vierzehnten Prozessor 400, in denen jeweils angegeben ist, dass jeder der beiden Prozessoren zu dem nächsten Taktzeitpunkt jeweils maximal eine Sensornachricht 407 an den Schnittstellenprozessor 501 übermitteln darf.
Fig.11 zeigt die Prozessor-Anordnung 500 zu dem siebten Taktzeitpunkt des erfindungsgemäßen Verfahrens .
Zu diesem Taktzeitpunkt werden von dem Schnittstellenprozessor 501 die vierte Sensornachricht 407 und die achtzehnte Sensornachricht 407 aus dessen Pufferspeicher 401 ausgelesen und an das Auswertesystem 504 übermittelt .
In dem Pufferspeicher 401 des Schnittstellenprozessors 501 sind zu diesem Taktzeitpunkt die sechzehnte Sensornachricht 407, die dreizehnte Sensornachricht 407, die neunzehnte Sensornachricht 407 und die zwölfte Sensornachricht 407 gespeichert .
Von dem zweiten Prozessor 404 wird die sechste Sensornachricht 407 und von dem vierzehnten Prozessor 400
wird die zwanzigste Sensornachricht 407 zu dem Schnittstellenprozessor 501 übertragen.
Die siebte Sensornachricht 407 und die neunte Sensornachricht 407 sind in dem Pufferspeicher 401 des zweiten Prozessors 400 gespeichert und die siebzehnte Sensornachricht 407 ist zu diesem Taktzeitpunkt in dem Pufferspeicher 401 des vierzehnten Prozessors 400 gespeichert.
Gemäß der oben beschriebenen Arbitrierungsstrategie sendet zu dem siebten Taktzeitpunkt der Schnittstellenprozessor 501 zwei Erlaubnis-Nachrichten 502 an seine Uplink-Nachbar- Prozessoren, eine Erlaubnis-Nachricht 502 an den zweiten Prozessor 400 und eine Erlaubnis-Nachricht 502 an den vierzehnten Prozessor 400, in denen jeweils angegeben ist, dass jeder der beiden Prozessoren zu dem nächsten Taktzeitpunkt jeweils maximal eine Sensornachricht 407 an den Schnittstellenprozessor 501 übermitteln darf.
Fig.12 zeigt die Prozessor-Anordnung 500 zu dem achten
Taktzeitpunkt, zu dem die neunzehnte Sensornachricht 407 und die zwölfte Sensornachricht 407 an das Auswertesystem 504 übermittelt werden.
In dem Pufferspeicher 401 des Schnittstellenprozessors 501 sind zu diesem Taktzeitpunkt die zwanzigste Sensornachricht 407, die sechste Sensornachricht 407, die sechzehnte Sensornachricht 407 und die dreizehnte Sensornachricht 407 gespeichert.
Von dem zweiten Prozessor 400 wird die neunte Sensornachricht 407 und von dem vierzehnten Prozessor 400 wird die siebzehnte Sensornachricht 407 zu dem Schnittstellenprozessor 501 übertragen .
In dem Pufferspeicher 401 des zweiten Prozessors 400 ist die siebte Sensornachricht 407 zwischengespeichert.
Gemäß der oben beschriebenen Arbitrierungsstrategie sendet zu dem achten Taktzeitpunkt der Schnittstellenprozessor 501 zwei Erlaubnis-Nachrichten 502 an seine Uplink-Nachbar- Prozessoren, eine Erlaubnis-Nachricht 502 an den zweiten Prozessor 400 und eine Erlaubnis-Nachricht 502 an den vierzehnten Prozessor 400, in denen jeweils angegeben ist, dass jeder der beiden Prozessoren zu dem nächsten Taktzeitpunkt jeweils maximal eine Sensornachricht 407 an den Schnittstellenprozessor 501 übermitteln darf.
Fig.13 zeigt die Prozessor-Anordnung 500 zu dem neunten Taktzeitpunkt des Verfahrens .
Zu diesem Taktzeitpunkt werden die sechzehnte Sensornachricht 407 und die dreizehnte Sensornachricht 407 von dem Schnittstellenprozessor 501 an das Auswertesystem übertragen.
In dem Pufferspeicher 401 des Schnittstellenprozessors 501 sind die neunte Sensornachricht 407, die siebzehnte
Sensornachricht 407, die zwanzigste Sensornachricht 407 und die sechste Sensornachricht 407 gespeichert.
Von dem zweiten Prozessor 400 wird die siebte Sensornachricht 407 an den Schnittstellenprozessor 501 übertragen.
Gemäß der oben beschriebenen Arbitrierungsstrategie sendet zu dem neunten Taktzeitpunkt der Schnittstellenprozessor 501 eine Erlaubnis-Nachricht 502 an den zweiten Prozessor 400, in der angegeben ist, dass der zweite Prozessor 400 zu dem nächsten Taktzeitpunkt maximal eine Sensornachricht 407 an den Schnittstellenprozessor 501 übermitteln darf.
Fig.14 zeigt die Prozessor-Anordnung 500 zu dem zehnten Taktzeitpunkt des Verfahrens.
Zu diesem Zeitpunkt werden die zwanzigste Sensornachricht 407 und die sechste Sensornachricht 407 von dem Schnittstellenprozessor 501 an das Auswertesystem 504 übertragen.
In dem Pufferspeicher 401 des Schnittstellenprozessors 501 sind die siebzehnte Sensornachricht 407, die neunte Sensornachricht 407 und die siebzehnte Sensornachricht 407 gespeichert .
Die Pufferspeicher aller anderen Prozessoren 400 der Prozessor-Anordnung 500 sind nunmehr leer.
Fig.15 zeigt die Prozessor-Anordnung 500 zu dem elften TaktZeitpunkt, zu dem die neunzehnte Sensornachricht 407 und die siebzehnte Sensornachricht 407 von dem Schnittstellenprozessor 501 an das AuswerteSystem 504 übertragen werden.
In dem Pufferspeicher 401 des Schnittstellenprozessors 501 ist lediglich noch die siebte Sensornachricht 407 gespeichert, welche zu dem in Fig.16 dargestellten Taktzeitpunkt (zwölfter TaktZeitpunkt) an das Auswertesystem 504 übertragen wird.
Wie den Figuren zu entnehmen ist, ist der Datenstrom in Richtung des Schnittstellenprozessors 501 schon ab dem in Fig.7 dargestellten Taktzeitpunkt maximal, d.h. schon zu diesem Zeitpunkt werden immer zwei Sensornachrichten 404 von dem Schnittstellenprozessor 501 an das Auswertesystem 504 übertragen. Diese optimale Auslastung der Schnittstellen- Kommunikationsverbindung bleibt so lange aufrechterhalten, bis alle Sensornachrichten 407 aus der Prozessor-Anordnung 500 an das Auswertesystem 504 übertragen wurden. Die Daten, d.h. die Sensornachrichten 407 „sacken" so weit in Richtung des Schnittstellenprozessors 501 wie möglich und verlassen
dann die Prozessor-Anordnung 500 in geordneter Weise und ohne Datenkollision.
Gemäß einem alternativen Ausführungsbeispiel der Erfindung ist es vorgesehen, dass die Sensornachrichten 407 und damit die Sensordaten, von dem Schnittstellenprozessor 501 aus abgefragt werden, d.h. jeder Prozessor 400 der Prozessor- Anordnung 500 beginnt erst dann mit dem Erfassen von Daten aus seinen mit ihm verbundenen Uplink-Nachbar-Prozessoren, wenn er die erste Erlaubnis-Nachricht 502 von einem in Downlink-Richtung mit dem Prozessor 400 gekoppelten Nachbarprozessor erhalten hat.
Je nach Anzahl der Verzweigungen in der Nähe des Schnittstellenprozessors 501 kann sich somit die Zeit verlängern, bis sich ein maximaler Datenfluss an dem Schnittstellenprozessor 501 einstellt, da räumlich entferntere Netzwerkteile erst nach Ablauf einer Latenzzeit, die sich aus der Entfernung ergibt, Daten transportieren.
Um diesem Effekt entgegenzuwirken, kann der
Schnittstellenprozessor 501 komplexere Erlaubnis-Nachrichten verschicken, beispielsweise vom Typ Permit(πg, 7t]_, 2) • Die
Nachbarprozessoren werden dann maximal Nachrichten vom Typ Permit(πg, π]_) und deren Nachbarprozessoren wieder Nachrichten vom einfachen Typ versenden. Der Effekt ist eine höhere Durchflussgeschwindigkeit in der Nähe des
Schnittstellenprozessors 501 zu Beginn der Datenabfrage und damit in der Regel ein schnelleres Erreichen des maximalen Daten-Durchflusses.
Im Beispiel von den Fig.5 bis Fig.16 wird von dem Schnittstellenprozessor 501 eine solche komplexe Erlaubnis- Nachricht verwendet (in den Figuren bezeichnet mit dem Bezugszeichen 503).
Da bei dem Schnittstellenprozessor 501 drei Uplink-Rechner vorgesehen sind, ergibt sich in dem Beispiel bereits, dass nur Nachrichten vom einfachen Typ verwendet werden.
Bei einem Beispiel, bei dem der Schnittstellenprozessor 501 ein oder zwei Nachbarprozessoren in Uplink-Richtung aufweist, würde dieser Erlaubnis-Nachrichten des Typs Permit(πg, τi-_) versenden.
Die Arbitrierungsstrategie kann auch gemäß diesem
Ausführungsbeispiel identisch zum vorangegangenen Beispiel gewählt werden.
Gemäß einer alternativen Ausführungsform, im Folgenden auch bezeichnet als eine spontane (selektive) Datensammlung mit
Botschafternachrichten, werden Daten, d.h. Sensornachrichten nur dann gesammelt, wenn spezielle Ereignisse auftreten, beispielsweise eine Gewichtsänderung auf einen Drucksensor der Prozessor-Anordnung 500.
In diesem Fall kann eine Punkt-zu-Punkt-Nachricht in Downlink-Richtung geschickt werden, um den Dateneingang anzukündigen. Mehrere solcher Botschafternachrichten können zu einer Botschafternachricht zusammengefasst werden, die als Parameter die Anzahl solcher Nachrichten enthält. Jeder Uplink-Prozessor kann in diesem Fall mit der Zahl ni der Botschafternachricht versehen werden (mit eventuell späterer Änderung, wenn weitere Botschafternachrichten eintreffen) . Die Zahl ni ersetzt dann die Durchsatzzahl aus dem vorangegangen Beispiel, so dass die weitere Vorgehensweise dann identisch zu der oben beschriebenen ist.
Bei Verzicht auf Botschafternachrichten können spontan entstehende Nachrichten auch mittels einer anderen Arbitrierungsstrategie gesammelt werden. Dazu werden in jedem Prozessor 400 ständig Erlaubnis-Nachrichten an die Uplink- Nachbarprozessoren geschickt.
So lange keine Nachrichten von diesen eintreffen, wird reihum jeweils eine Erlaubnis-Angabe weitergegeben. Etabliert sich ein Datenfluss von einem oder mehreren Uplink-Prozessoren, so erhalten diese häufiger ein Permit als die Uplink- Prozessoren, die keine Daten liefern (beispielsweise im Verhältnis 10:1) .
Die Vorteile der oben beschriebenen Vorgehensweise sind insbesondere die folgenden:
• Die in der Prozessor-Anordnung enthaltenen Sensornachrichten werden kollisionsfrei von den jeweiligen Prozessoren zu dem Schnittstellenprozessor geleitet . • Der Datenstrom bei dem Schnittstellenprozessor der Sensornachrichten wird nach einer kurzen Latenzzeit maximal, d.h. c Nachrichten pro Zeittakt. Daher ist die Geschwindigkeit des Datenauslesens aus der Prozessor- Anordnung bzw. die Auslesezeit minimal. • Zur Gewährleistung eines maximalen Datenstroms beim Schnittstellenprozessor genügt eine Puffergröße
-"max = 2c . Werden Erlaubnis-Angaben höherer Ordnung, d.h. pϊ, P3, ... vergeben, so lässt sich der Pufferspeicher sogar noch weiter verkleinern.
• Das Verfahren weist eine einfache Struktur auf und benötigt skalierbar wenig Speicherplatz .
In diesem Dokument sind folgende Veröffentlichungen zitiert:
[1] WO 03/48953 A2
[2] J. M. Rabaey et al, Pico Radio Supports ad hoc ultra-low power wireless networking, I Triple E Computer 33 (7) , Seiten 42-48, 2000;
[3] J. M. Rabaey et al, Pico Radios for wireless sensor networks : The next challenge in ultra-low power design, ISSCC, 2002;
[4] S. Madden et al, Tag: A tiny aggregation service for at- hock sensor networks, Technical report, Inter research IRB-TR-02-011, August 2002
Bezugszeichenliste
100 Prozessor-Anordnung
101 Prozessor 102 Schnittstellenprozessor
103 Kommunikationsverbindung
104 Kommunikationsverbindung
105 Defekt
200 Prozessor-Anordnung
201 Prozessor
202 Schnittstellenprozessor
203 Kommunikationsverbindung 204 Kommunikationsverbindung
300 Textilgewebestruktur 301 Nicht leitfähiger Faden
302 Erster elektrisch leitfähiger Faden
303 Prozessorelement 304 Datenübertragungs-Faden
305 Kreuzungspunkt
306 Schutz
307 Zweiter elektrisch leitfähiger Faden
400 Prozessor
401 Pufferspeicher
402 Sensor
403 Elektrische Leitung
404 Sensordaten 405 Datenflussrichtung
406 Bidirektionale Kommunikationsverbindung
407 Sensornachricht
500 Prozessor-Anordnung 501 Schnittstellenprozessor
502 Erlaubnisnachricht
503 Komplexe Erlaubnisnachricht
504 Auswertesystem
1700 Grobmaschiges Grundgewebe
1800 Prozessor-Anordnung
1801 Schnittstellenprozessor
1802 Auswertesystem