-
Verwandte Patentanmeldungen
-
Diese Patentanmeldung beansprucht den Vorteil der provisorischen US-Patentanmeldung Nr.
63/170,339 , eingereicht am 2. April 2021, deren gesamte Inhalte hierin durch Bezugnahme einbezogen sind.
-
Gebiet der Erfindung
-
Die vorliegende Offenbarung betrifft drahtlose Netzwerke; insbesondere die Zeitsynchronisation verschiedener elektronischer Vorrichtungen, die drahtlos, z. B. über eine Bluetooth- oder eine Bluetooth-Low-Energy(BLE)-Verbindung, kommunizieren.
-
Stand der Technik
-
Persönliche Netzwerke, wie etwa Bluetooth (BT), verwenden das 2,4-GHz-Funkfrequenzband, um verschiedenen persönlichen Industrie-, Wissenschafts- und Medizinanwendungen eine drahtlose Verbindung bereitzustellen. BT-Netzwerke verwenden ein paketbasiertes Protokoll und weisen eine Architektur auf, die zentrale Vorrichtungen (CDs, Central Devices) und Peripherievorrichtungen (PDs, Peripheral Devices) umfasst. Eine CD kann mit mehreren PDs kommunizieren. Typischerweise werden Daten während einer Zeit, die der spezifischen PD-CD-Kommunikationsverknüpfung zugewiesen ist, zwischen einer CD und einer spezifischen PD transferiert. Eine PD kann sich zu einem festgelegten Zeitpunkt einschalten, um Nachrichten und Daten von der CD zu empfangen und selber Daten an die CD zu kommunizieren. Zusätzlich kann eine CD manchmal einen Aussendungsmodus verwenden, bei dem dieselben Daten an mehrere PDs simultan kommuniziert werden. Bluetooth-Low-Energy(BLE)-Netzwerke weisen Kommunikationsreichweiten auf, die denen von BT-Netzwerken ähneln, weisen jedoch erheblich geringere Leistungsaufnahmen und Kosten auf. BLE-Vorrichtungen bleiben häufig in einem Schlafmodus und gehen erst dann in einen aktiven Modus über, wenn eine Datenkommunikation direkt bevorsteht. Das BLE-Protokoll unterstützt auch den Einsatz von Mesh-Netzwerken, bei denen Daten über mehrere Pfade fließen können und keine starre hierarchische Struktur von Vorrichtungen vorgegeben ist, sodass je nach bestimmten Bedingungen und bestimmter Topologie des Netzwerks dieselben Vorrichtungen häufig sowohl als CDs als auch als PDs dienen können.
-
Figurenliste
-
- 1 illustriert eine beispielhafte Taktsynchronisation in drahtlosen Netzwerken unter Verwendung eines Zeitstempels, der durch eine zentrale Vorrichtung generiert wird, und einer bekannten Dauer eines Verbindungszeitintervalls gemäß einigen Implementierungen.
- 2 illustriert einen beispielhaften Prozess zur Durchführung einer synchronen Aktion in drahtlosen Netzwerken unter Verwendung geplanter Verbindungsereignisse gemäß einigen Implementierungen.
- 3 illustriert einen beispielhaften Prozess zur Durchführung einer synchronen Aktion in drahtlosen Netzwerken unter Verwendung von ausgesendeten Ankündigungen (Advertisings) gemäß einigen Implementierungen.
- 4 illustriert einen beispielhaften Prozess zur Durchführung einer synchronen Aktion in drahtlosen Netzwerken unter Verwendung geplanter Verbindungsereignisse mit zusätzlichem Schutz vor Paketverlust gemäß einigen Implementierungen.
- 5 illustriert einen beispielhaften Prozess zur Durchführung synchroner Aktionen in drahtlosen Netzwerken bei gleichzeitiger Begrenzung der Senderaumverwendung durch Abhören gemäß einigen Implementierungen.
- 6A und 6B veranschaulichen beispielhafte Auslösekonzepte zum Initiieren eines synchronen Ereignisses in einem drahtlosen Netzwerk gemäß einigen Implementierungen. 6A illustriert ein Auslösekonzept, das einen Hardwareinterrupt verwendet. 6A illustriert ein Auslösekonzept, das einen Firmware- oder einen Softwareinterrupt verwendet.
- 7 ist ein Ablaufdiagramm eines beispielhaften Verfahrens, das von einer zentralen Vorrichtung eines drahtlosen Netzwerks durchgeführt wird, um eine synchrone Aktion durch mehrere Peripherievorrichtungen des drahtlosen Netzwerks zu ermöglichen, gemäß einigen Implementierungen.
- 8 ist ein Ablaufdiagramm eines beispielhaften Verfahrens, das von einer zentralen Vorrichtung eines drahtlosen Netzwerks durchgeführt wird, um eine synchrone Aktion durch mehrere Peripherievorrichtungen zu ermöglichen, mit zusätzlichem Schutz vor Datenverlust, gemäß einigen Implementierungen.
- 9 ist ein Ablaufdiagramm eines beispielhaften Verfahrens, das von einer Peripherievorrichtung eines drahtlosen Netzwerks durchgeführt wird, um eine synchrone Aktion auszuführen, gemäß einigen Implementierungen.
- 10 ist ein Ablaufdiagramm eines beispielhaften Verfahrens für eine Peripherievorrichtung, um die Durchführung einer synchronen Aktion zu planen, gemäß einigen Implementierungen.
- 11 ist ein Diagramm eines drahtlosen Netzwerksystems, in dem Zeitsynchronisation und synchrone Aktionen durchgeführt werden können, gemäß einigen Implementierungen.
-
Detaillierte Beschreibung
-
In vielen persönlichen Industrie-, Wissenschafts- und Medizinanwendungen kann die Zeitsynchronisation separater Vorrichtungen beträchtliche Vorteile bereitstellen. Unter sich zeitlich verändernden Bedingungen kann es vorteilhaft sein, wenn eine Messung von mehreren Vorrichtungen simultan durchgeführt wird oder irgendeine andere Aktion von mehreren Vorrichtungen simultan initiiert wird. Beispielsweise kann die Leistung von Elektrofahrzeugen von der Gleichförmigkeit des Ladens und Entladens mehrerer Hochvoltbatteriezellen abhängen. Genaue synchrone (simultane) Messungen des Zustands jeder Zelle können sowohl Daten, die verwendet werden können, um die Batterienutzung während des Beschleunigens, des normalen Fahrens, des Bremsens und verschiedener anderer Manöver des Fahrzeugs zu optimieren, als auch Daten während des Ladens bereitstellen. Auf ähnliche Weise können medizinische Vorrichtungen konfiguriert sein, um simultane Daten von mehreren Körperteilen eines Patienten zu sammeln. Prüfungen in der Industrie (z. B. Crashtests eines Autos oder beliebiger anderer sicherheitsrelevanter Ausrüstungen) können auf die Synchronisation von Messungen durch mehrere Sensoren angewiesen sein. Eine solche Synchronisation wird typischerweise durch eine drahtgebundene Verbindung erzielt, die verwendet werden kann, um sicherzustellen, dass alle Signale simultan generiert, gesendet und/oder empfangen werden. Die Installation und Wartung drahtgebundener Verbindungen kann jedoch mühselig sein, insbesondere dann, wenn eine große Anzahl von Miniaturvorrichtungen integriert und als Teil eines größeren Systems verwendet werden. In einigen Fällen können drahtgebundene Verbindungen zu einer großen Anzahl von Peripherievorrichtungen nicht nur lästig, sondern impraktikabel oder sogar gefährlich sein. Deshalb kann es vorteilhaft sein, drahtlose Sensoren/Vorrichtungen einzusetzen, die leichter zu installieren, zu warten oder zu ersetzen sind als drahtgebundene Vorrichtungen.
-
Da drahtlose Vorrichtungen größtenteils unabhängig voneinander sind, können sie Taktgeber aufweisen, die verglichen mit anderen Taktgebern mit etwas unterschiedlichen Geschwindigkeiten laufen; z.B. können unterschiedliche Taktgeber leicht unterschiedlichen Drift, Jitter usw. aufweisen. Deshalb wäre es vorteilhaft, alle oder mindestens einige der drahtlosen Vorrichtungen zu synchronisieren. Beispielsweise könnten Vorrichtungen, die unter Verwendung einer BT-, einer BLE- oder einer anderen drahtlosen Netzwerktechnologie betrieben werden, durch entsprechend vorbereitete Signale, die zwischen einer zentralen Vorrichtung (CD) und verschiedenen Peripherievorrichtungen (PDs) ausgetauscht werden, synchronisiert werden.
-
Bestehende Verfahren zur Zeitsynchronisation umfassen, dass eine PD zu einem ersten aufgezeichneten Zeitpunkt ta eine Anforderung nach einem Zeitstempel an die CD sendet. Die CD empfängt die Anforderung, generiert einen Echtzeittakt(RTC, Real Time Clock)-Zeitstempel TS und schickt den TS zurück an die PD. Die PD empfängt diese Antwort zu einem zweiten Zeitpunkt tb, zeichnet diesen Zeitpunkt auf und schätzt, dass der Hauptzeitstempel TS zu einem Zwischenzeitpunkt (ta + tb)/2 genau zwischen den zwei aufgezeichneten Zeitpunkten generiert wurde. Die PD verwendet diese Informationen dann, um eine geschätzte Diskrepanz zwischen den zwei Takten, Δ = (ta + tb)/2 - TS, aufzuzeichnen. Diese geschätzte Diskrepanz kann anschließend für zukünftige Synchronisationsaktionen verwendet werden. Erhält die PD beispielsweise von der CD die Anweisung, eine gewisse Aktion zu einem Zeitpunkt T' (gemäß dem Takt der CD) durchzuführen, kann die PD die Diskrepanz zu dem spezifizierten Zeitpunkt hinzu addieren, um zu bestimmen, dass die Aktion zu dem Zeitpunkt t' = T' + Δ (gemäß dem Takt der PD) durchzuführen ist.
-
Dieses Verfahren unterliegt der Annahme, dass das Zeitintervall zwischen dem Senden der Anforderung nach dem Zeitstempel und dem Generieren des RTC-Zeitstempels durch die CD gleich dem Zeitintervall zwischen dem Generieren des RTC-Zeitstempels durch die CD und dem Empfangen des RTC-Zeitstempels durch die PD ist. Da die genaue Zeit für das Übertragen und Verarbeiten von Daten gewissen Unsicherheiten unterliegt (z. B. aufgrund von Signalbehinderungen, Netzwerkstörungen und Rauschen usw.), ist eine solche Annahme möglicherweise nicht immer zutreffend. Beispielsweise können Übertragungen von der CD zu der PD manchmal länger dauern als in der entgegengesetzten Richtung (oder umgekehrt). Andererseits kann das Anfordern mehrerer RTC-Zeitstempel über einen Zeitraum und das Berechnen einer durchschnittlichen Taktdiskrepanz beträchtliche Zeit in Anspruch nehmen, die zu lang sein kann (und bei längeren Zeiträumen potentiell einem zusätzlichen Taktdrift unterliegen kann).
-
Aspekte und Implementierungen der vorliegenden Offenbarung bewältigen diese und andere Begrenzungen der bestehenden Technologie, indem sie Systeme und Verfahren zur effizienten und genauen Taktsynchronisation in drahtlosen Netzwerken (z. B. zur Durchführung synchroner Aktionen) zur Verfügung stellen. In einer beispielhaften Implementierung können eine CD und eine PD in jedem Verbindungsintervall T0 genau einmal kommunizieren; die PD kann zu Beginn eines Verbindungsereignisses eine Anforderung nach einem Zeitstempel an die CD senden und die CD kann den CD-Zeitstempel TS direkt nach dem Empfangen der Anforderung aufzeichnen. Die CD kann dann bis zu dem nächsten Verbindungsereignis warten, um den aufgezeichneten Zeitstempel an die PD zu kommunizieren. Wie weiter unten noch detaillierter beschrieben, kann die PD die Taktdiskrepanz Δ basierend auf dem Zeitstempel-Zeitpunkt TS und der Dauer des Verbindungsintervalls T0 ableiten. Sobald die Diskrepanz Δ durch verschiedene PDs bestimmt wurde, kann die CD Anweisungen mit einem Zeitpunkt einer synchronen Aktion senden und mehrere PDs können dazu fähig sein, diese Aktion unter Verwendung der bestimmten Diskrepanzen synchron durchzuführen. In einer anderen beispielhaften Implementierung kann die CD die Zeitstempel nicht an die PD kommunizieren. Stattdessen kann die CD während eines erstmaligen Aufbaus der drahtlosen Verbindung zwischen der CD und verschiedenen PDs jeder PD ein Verbindungszeitfenster (innerhalb des Verbindungsintervalls T0) zuweisen, das um einen individuellen Offset von dem Start des Verbindungsintervalls versetzt ist. Die individuellen Offsets können einer (auf der CD installierten) Anwendung, die eine synchrone Aktion plant, bekannt sein. Die Anwendung kann einen Zielzeitpunkt für die synchrone Aktion festlegen und während eines Verbindungszeitfensters, das der jeweiligen PD zugewiesen wurde, eine Zeit an jede PD kommunizieren, die noch bis zu dem Zielzeitpunkt verbleibt. Unter Verwendung der kommunizierten Zeiten können verschiedene PDs dazu fähig sein, die Ausführung der synchronen Aktion zu demselben Zielzeitpunkt zu starten. In einigen Implementierungen kann die CD Ankündigungs(Advertising)-Aussendungen verwenden, um den Zielzeitpunkt für die synchrone Aktion an mehrere PDs gleichzeitig zu kommunizieren. Zahlreiche andere Implementierungen und mehrere Variationen dieser Implementierungen werden weiter unten diskutiert. Wo es sich anbietet, sind Merkmale, die in unterschiedlichen Figuren ähnliche Rollen durchführen, durch ähnliche Markierungen gekennzeichnet (die sich in der ersten Ziffer unterscheiden), z. B. CD 110, CD 210 und CD 310 in den 1, 2 und 3.
-
1 illustriert eine beispielhafte Taktsynchronisation 100 in drahtlosen Netzwerken unter Verwendung eines Zeitstempels, der durch eine zentrale Vorrichtung generiert wird, und einer bekannten Dauer eines Verbindungszeitintervalls gemäß einigen Implementierungen. In 1 sind Operationen einer zentralen Vorrichtung (CD) 110 und einer Peripherievorrichtung (PD) 120 schematisch veranschaulicht. Die CD 110 und die PD 120 können ein Teil eines Bluetooth(BT)-Netzwerks, eines BT-Low-Energy(BLE)-Netzwerks oder eines beliebigen anderen drahtlosen Netzwerks sein. Die CD 110 und die PD 120 können zuvor eine drahtlose Netzwerkverbindung aufgebaut haben. Obwohl in 1 der Kürze und Prägnanz halber eine einzige PD 120 veranschaulicht ist, kann die CD 110 Verbindungen mit mehreren PDs gleichzeitig unterstützen. Verschiedene in 1 veranschaulichte Vorrichtungen können mit einer oder mehreren assoziierten Vorrichtungen kommunikativ gekoppelt sein (z. B. über eine drahtgebundene Verbindung, einen Bus oder drahtlos). In einigen Implementierungen kann die PD 120 (und in einigen Fällen die CD 110) einen Zustand der einen oder der mehreren assoziierten Vorrichtungen überwachen oder Operationen der einen oder der mehreren assoziierten Vorrichtungen ermöglichen. Beispielsweise kann die PD 120 (und/oder verschiedene andere PDs, die in 1 nicht gezeigt sind) mit einer oder mehreren Zellen einer Batterie (z. B. einer Autobatterie eines Elektrofahrzeugs) assoziiert sein und Messungen eines Zustands der Zellen der Batterie durchführen (oder ermöglichen). Die Messungen können periodisch durchgeführt werden oder manchmal von einem Host-Controller bestimmt werden, der mit der CD 110 kommunikativ gekoppelt ist. Die PD 120 (und/oder verschiedene andere PDs) können in einen Batteriesatz integriert sein. Die Batterie kann dazu verwendet werden, einen Elektromotor, der ein Elektrofahrzeug antreibt, mit Leistung zu versorgen. Während die Batterie den Motor mit Leistung versorgt, können sich Batteriezellen in einem konstanten Entladezustand (und/oder Ladezustand, z. B. beim Bremsen) befinden, was in unterschiedlichen Zellen unterschiedlich erfolgen kann. Um aussagekräftige und genaue Messungen des Zustands verschiedener Zellen durchzuführen, können verschiedene PDs des drahtlosen Netzwerks die Messungen synchron durchführen (oder bewirken, dass die Messungen von assoziierten Sensoren, die mit den Zellen gekoppelt sind, synchron durchgeführt werden).
-
In einigen Implementierungen werden synchrone Aktionen durch die PDs dadurch möglich, dass es verschiedenen Vorrichtungen des drahtlosen Netzwerks gestattet wird, die Differenz ihrer internen Taktgeber zu mindestens einer anderen Referenzvorrichtung in dem Netzwerk, z. B. der CD 110, zu bestimmen. Die bestimmten Taktdifferenzen können verwendet werden, um synchrone Aktionen auf mehreren Vorrichtungen simultan durchzuführen. In einigen Implementierungen kann die Taktsynchronisation 100 durch die Spezifikation eines Drahtlosprotokolls der CD-PD-Verbindung ermöglicht werden. Wie es beispielsweise während eines erstmaligen Aufbaus einer Verbindung zwischen der CD 110 und der PD 120 durch die CD 110 festgelegt werden kann, können Verbindungsereignisse 130-1 und 130-2 durch ein Verbindungsintervall T0 voneinander beabstandet sein. In der folgenden Beschreibung der 1 werden die Ablesewerte des internen Taktgebers (z. B. die RTCs) der CD 110 mit dem Großbuchstaben T gekennzeichnet, mit (gegebenenfalls) verschiedenen tiefgestellten Indizes, und die Ablesewerte des internen Taktgebers der PD 120 mit dem Kleinbuchstaben t gekennzeichnet, ebenfalls mit verschiedenen tiefgestellten Indizes.
-
In einigen Implementierungen kann die Taktsynchronisation 100 wie folgt erzielt werden. Zu Beginn eines Verbindungsereignisses 130-1 kann die CD 110 eine Nachricht 112 an die PD 120 senden. Die Nachricht 112 kann ein oder mehrere Datenpakete, einen oder mehrere Rahmen, wie etwa Verwaltungsrahmen, Steuerrahmen und dergleichen, umfassen. In einigen Implementierungen kann die Nachricht 112 eine leere Nachricht sein, die einen Header, aber keinen Datenrahmen umfasst. Als Reaktion auf das Empfangen der Nachricht 112 kann die PD 120 eine Anforderung 122 nach einem Zeitstempel TS von dem RTC der CD 110 generieren und die generierte Anforderung an die CD 110 übertragen. Obwohl die Übermittlung der Nachricht 112 an die PD 120, die Generierung der Anforderung 122 durch die PD 120 und die Übertragung der Anforderung 122 an die CD 110 innerhalb von Zeiten durchgeführt werden können, die wesentlich kürzer als die Dauer des Verbindungsintervalls T0 sind, können mit solchen Prozessen einige Verzögerungen assoziiert sein. Beispielsweise kann die Nachricht 112 die Zeit t1 benötigen, um von der CD 110 an die PD 120 übertragen und von der PD 120 (z. B. von der PHY-Schicht und der Netzzugangsschicht der PD 120) verarbeitet zu werden. Ferner kann die PD 120 die Zeit t2 benötigen, um die Anforderung 122 zu generieren, die Anforderung 122 in einen oder mehrere Rahmen umzuwandeln, basierend auf dem einen oder den mehreren Rahmen ein oder mehrere Datenpakete zu generieren und das eine oder die mehreren Datenpakete an die CD 110 zu übertragen. Zusätzlich kann die Zeit t3 benötigt werden, bis die Anforderung 122 von der CD 110 empfangen und verarbeitet wurde.
-
Nach dem Empfangen der Anforderung 122 von der PD 120 generiert die CD 110 einen Zeitstempel 140. Der generierte Zeitstempel 140 kann den aktuellen Wert TS des RTCs der CD 110 zu dem Zeitpunkt, zu dem der Zeitstempel 140 generiert wurde, umfassen. Beim nächsten Verbindungsereignis 130-2 kann die CD 110 den generierten Zeitstempel 140 in einer Nachricht 114 an die PD 120 senden. Auch hier (wie bei der früheren Nachricht 112) kann die Zeit t1 benötigt werden, bis die Nachricht 114 von der PD 120 empfangen wird.
-
Um die Taktsynchronisation durchzuführen, kann die PD 120 ihre eigene Zeit t zu dem Zeitpunkt der Ankunft der Nachricht 114 (mit dem Zeitstempel 140) aufzeichnen und unter Berücksichtigung des Verbindungsintervalls einen Vergleich zwischen dem Wert TS des Zeitstempels 140, der von der CD 110 empfangen wurde, und einem aktuellen Taktwert (z. B. dem RTC) der PD 120 durchführen. In einigen Implementierungen kann dieser Vergleich wie folgt durchgeführt werden. Eine Verarbeitungsvorrichtung der PD 120 kann zu dem Zeitpunkt, zu dem die PD 120 den Zeitstempel t als Reaktion auf das Empfangen der Nachricht 114 generiert hat, den aktuellen Wert T des Takts der CD ableiten. In einigen Implementierungen kann die Verarbeitungsvorrichtung der PD 120 den aktuellen Wert T als die Summe aus dem Wert TS des Zeitstempels 140 und der Dauer des Verbindungsintervalls, T = TS + T0, ableiten. In einigen Implementierungen kann die Verarbeitungsvorrichtung der PD 120 ferner die Zeit mit einrechnen, die benötigt wird, um die Anforderung 122 durch die PD 120 zu generieren, sie zu übertragen und durch die CD 110 zu verarbeiten, und die Zeit z. B. als T = TS + T0 - t2 - t3 ableiten.
-
Es versteht sich, dass die obenstehenden Formeln als Beispiele gedacht sind und dass verschiedene andere Konzepte der Taktsynchronisation möglich sind, die auf der Dauer des Verbindungsintervalls basieren, z. B. unter Verwendung unterschiedlicher spezifischer Gleichungen, unter Berücksichtigung unterschiedlicher (oder zusätzlicher) Korrekturen, die aber trotzdem innerhalb des Umfangs dieser Offenbarung liegen.
-
Nach der Ableitung des aktuellen Taktwerts T der CD 110 kann die Verarbeitungsvorrichtung der PD 120 dann eine Taktdifferenz (Diskrepanz, Offset usw.), Δ = t - T, berechnen und diese Taktdifferenz verwenden, um verschiedene synchrone Aktionen durchzuführen, wie sie durch Anweisungen der CD 110 vorgegeben oder durch Software oder Firmware, die auf der PD 120 läuft, geplant sein können. Solche Anweisungen können als Teil der Nachricht 112, der Nachricht 114 oder beliebiger anderer (früherer oder späterer) Nachrichten, die von der CD 110 kommuniziert werden, empfangen werden. Nach dem Empfangen einer Anweisung zum Durchführen einer synchronen Aktion zu einem Zeitpunkt T' kann die PD 120 die bestimmte Taktdifferenz Δ hinzu addieren und den genauen Zeitpunkt t' = T' + Δ zum Durchführen (oder Starten) der Aktion identifizieren.
-
In einigen Implementierungen können die in 1 gezeigten Akteure umgekehrt sein, d. h. die CD 110 kann eine Anforderung nach einem Zeitstempel (z. B. als Teil der Nachricht 112) an die PD 120 senden und nach dem Empfangen des Zeitstempels von der PD 120 kann die CD 110 Berechnungen (ähnlich wie die oben beschriebenen) durchführen, um die Taktdifferenz Δ zwischen den zwei Vorrichtungen zu bestimmen. Anschließend kann die CD 110, wenn die CD 110 Anweisungen für die PD 120 zum Durchführen einer Aktion (z. B. synchron mit anderen PDs des drahtlosen Netzwerks) generiert, den Zeitpunkt der Aktion, der unter Berücksichtigung der Differenz Δ korrigiert wurde, in die Anweisungen einbeziehen. In einigen Implementierungen kann es eine Logikeinheit in der PD 120 geben, um zu detektieren, ob ein Datenpaket verpasst wurde, ob beispielsweise zwischen der Generierung einer Anforderung 112 durch die PD 110 und dem Empfangen eines Zeitstempels 140 eine Zeit vergangen ist, die länger als das Verbindungsintervall T0 (oder doppelt so lang wie das Verbindungsintervall 2T0 usw.) ist, und um eine zusätzliche Anforderung nach einem neuen Zeitstempel an die CD 110 auszulösen. In einigen Implementierungen kann der Prozess zwecks zusätzlicher Genauigkeit diverse Male wiederholt werden, und es kann eine statistische Metrik verwendet werden, um Taktdifferenzen zu korrigieren, beispielsweise durch Berechnen des Mittelwerts oder des Modus der berechneten Differenzen Δ.
-
2 illustriert einen beispielhaften Prozess 200 zur Durchführung einer synchronen Aktion in drahtlosen Netzwerken unter Verwendung geplanter Verbindungsereignisse gemäß einigen Implementierungen. Wie veranschaulicht, kann die Taktsynchronisation in einem System durchgeführt werden, das eine CD 210 umfasst, die mit mehreren PDs 220-X (z. B. PD 220-A, 220-B usw.) drahtlos verbunden ist, und die CD 210 verwendet die Differenz zwischen geplanten Kommunikationszeiten mit den verschiedenen PDs 220-X, um eine synchrone Aktion zu einem bestimmten Zeitpunkt 250 zu ermöglichen. In 2 plant die CD 210 Zeiten zur Kommunikation mit jeder der verschiedenen PDs 220-X. Obwohl der Prägnanz halber in 2 nur zwei Peripherievorrichtungen PD 220-A und PD 220-B gezeigt sind, muss die Anzahl von Peripherievorrichtungen in verschiedenen Implementierungen nicht begrenzt sein. In einigen Implementierungen kann das drahtlose Netzwerk ein verbundenes Mesh-Netzwerk sein, sodass jede beliebige Vorrichtung als die handelnde CD festgelegt werden kann und diese Rolle im Laufe der Zeit von Vorrichtung zu Vorrichtung wechseln kann. Obwohl in 2 einige Informationen gezeigt sind, die für das Verständnis der Implementierungen hilfreich sind, versteht es sich, dass andere Vorrichtungen, Ereignisse und Prozesse, die nicht explizit gezeigt sind, ebenfalls ein Teil des drahtlosen Netzwerks und Kommunikationen davon sein können, wie etwa andere Vorrichtungen, die mit der CD 210 oder den PDs 220-X assoziiert (oder gekoppelt) sind, drahtlose Kommunikationen, die während verschiedener Verbindungsereignisse (z. B. während der Verbindungsereignisse 230-A, 230-B, 231-A usw.) von den PDs 220-X zurück an die CD 210 kommuniziert werden, und dergleichen.
-
Die synchrone Aktion, die zu dem Zeitpunkt 250 erfolgt, kann eine Messung des Zustands von Vorrichtungen sein, die mit den PDs 220-X und/oder der CD 210 assoziiert sind. In einer Implementierung ist jede PD 220-X mit einem Sensor, der konfiguriert ist, um eine Zelle in der Batterie eines Elektrofahrzeugs zu überwachen, oder mit einer medizinischen Vorrichtung, die Ablesewerte von einem bestimmten Punkt in dem Körper eines Patienten ausliest, und dergleichen assoziiert. Wenn der Zeitpunkt der synchronen Aktion 250 gekommen ist, können einige oder alle Vorrichtungen (z. B. die PDs 220-X und/oder die CD 210) eine simultane Messung (oder eine beliebige andere Aktion) durchführen, um genaue Daten zu erhalten, die einen Zustand des gemessenen Systems charakterisieren (oder irgendeine andere Operation initiieren).
-
In einigen Implementierungen kann die synchrone Aktion stattdessen ein Taktsynchronisationsereignis sein, bei dem alle PDs 220-X simultan einen RTC-Zeitstempel t aufzeichnen und den aufgezeichneten Zeitstempel mit einem Zeitstempel T vergleichen, der zum selben Zeitpunkt von der CD 210 aufgezeichnet wurde und an die PDs 220-X kommuniziert (z. B. ausgesendet) wurde. Anschließend können die PDs 220-X die Differenz T -t der aufgezeichneten Zeitstempel bei der Durchführung zukünftiger synchroner Aktionen verwenden.
-
In einigen Implementierungen baut die CD 210 eine Kommunikation mit einer Vielzahl von PDs 220-X auf und programmiert diese. Die CD 210 verwaltet den zeitlichen Ablauf der verschiedenen Verbindungsereignisse 230-X mit den jeweiligen PDs 220-X für den Austausch von Daten mit jeder PD 220-X in jedem Verbindungsintervall T0. Die CD 210 kann zum Beispiel in drahtloser Kommunikation mit der PD 220-A und der PD 220-B stehen. Die CD 210 plant eine Zeit zum Kommunizieren mit der PD 220-A und eine Zeit zum Kommunizieren mit der PD 220-B, verzögert um die Offset-Zeit B 232.
-
In einem nicht begrenzenden Beispiel sendet die CD 210 während (z. B. am Start) des Verbindungsereignisses 230-A eine Nachricht 212 an die PD 220-A. Die Nachricht 212 kann eine Verzögerungszeit TA 234 bis zu einem zukünftigen Zeitpunkt der synchronen Aktion 250 umfassen. Wie oben diskutiert, kann die Nachricht 212 Korrekturen aufgrund von Sendezeiten, Verarbeitungszeiten usw. enthalten, wie etwa die, die von t1 erfasst werden. Insbesondere kann die durch die CD 210 kommunizierte Verzögerungszeit TA um die erwartete Korrektur verringert werden. Beispielsweise kann eine Verzögerungszeit TA - t1 an die PD 220-A kommuniziert werden. In einigen Implementierungen kann die CD 210 die beabsichtigte Verzögerungszeit TA kommunizieren, während die Korrektur jedoch durch die PD 220-A angewendet wird. Während des Verbindungsereignisses 230-B sendet die CD 210 eine andere Nachricht 214 an die PD 220-B, die ebenfalls eine Verzögerungszeit TB 236 enthält, die bis zu dem zukünftigen Zeitpunkt der synchronen Aktion 250 verbleibt. Die Verzögerungszeit TB 236 kann unter Berücksichtigung der Zeit zwischen dem Verbindungsereignis 230-A und dem Verbindungsereignis 230-B, z. B. unter Berücksichtigung des Zeit-Offsets B 232, ausgewählt werden.
-
Wie in 2 veranschaulicht, kann die CD 210, wenn der Zeitpunkt der synchronen Aktion 250 verstrichen ist (und die synchrone Aktion durchgeführt wurde), während eines der nachfolgenden Verbindungsereignisse, z. B. dem Verbindungsereignis 231-A, erneut mit der PD 220-A kommunizieren. Insbesondere kann die CD 210 eine neue Nachricht 216 an die PD 220-A senden, die eine neue Verzögerungszeit bis zu einer zweiten synchronen Aktion (nicht gezeigt) enthalten kann. Zusätzlich kann die PD 220-A auch Daten 218 an die CD 210 senden. Die Daten können die Ergebnisse einer Messung umfassen, die von der PD 220-A (oder einer mit der PD 220-A assoziierten Vorrichtung) in Zusammenhang mit der durchgeführten synchronen Aktion vorgenommen wurde.
-
In einigen Implementierungen kann die Bestimmung der Zeitverzögerungen TA und TB von einer Synchronisationsanwendung durchgeführt werden, die auf der CD 210 ausgeführt wird. Die Synchronisationsanwendung kann den Zeitpunkt der synchronen Aktion 250 bestimmen, Zeit-Offsets für verschiedene PDs 220-X identifizieren, Inhalte der Nachrichten 212 und 214 generieren, Daten von den PDs sammeln, die während oder in Verbindung mit den synchronen Aktionen generiert werden, und so weiter. Bei einigen Vorrichtungen und drahtlosen Netzwerken (z. B. BT- und BLE-Netzwerken) kann die Synchronisationsanwendung keinen standardmäßigen Zugriff auf Zeit-Offsets haben, welche von untergeordneten Mechanismen (z. B. der Netzzugangsschicht) der CD 210 verwaltet werden können. Um mit solchen Situationen umzugehen, kann der Kommunikationsstandard, der von der CD 210 und den PDs 220-X verwendet wird, geändert werden. Insbesondere kann die Netzzugangsschicht, nachdem die Netzzugangsschicht der CD 210 Zeit-Offsets für verschiedene PDs bestimmt hat (z. B. innerhalb der Zeit, in der die Netzwerkverbindungen aufgebaut werden), der Synchronisationsanwendung Zugriff auf die eingerichteten Offsets gestatten.
-
3 illustriert einen anderen beispielhaften Prozess 300 zur Durchführung einer synchronen Aktion in drahtlosen Netzwerken unter Verwendung von ausgesendeten Ankündigungen (Advertisings) gemäß einigen Implementierungen. Insbesondere kann die CD 310 Nachrichten 312-X (z. B. 312-1, 312-2, 312-3 usw.) aussenden, die von den PDs 320-X empfangen werden. In einigen Implementierungen können die Nachrichten 312-X BT- oder BLE-Ankündigungspakete umfassen. Die Nachrichten 312-X können Daten umfassen, die eine zukünftige synchrone Aktion durch die Vorrichtungen des drahtlosen Netzwerks ermöglichen. In einigen Implementierungen kann es, um Datenverlust aufgrund von Funkstörungen oder sich ändernden Umgebungsbedingungen zu vermeiden, vorteilhaft für die CD 310 sein, als Vorbereitung auf eine einzelne synchrone Aktion mehrere Nachrichten auszusenden; aufeinanderfolgende Aussendungen können durch Intervalle T1 (oder, in einigen Implementierungen, ungleiche Intervalle T1 ≠ T2) getrennt sein. Mit mehreren Aussendungen kann einem Problem des Paketverlusts während der Übertragung oder durch Datenempfangsfehler an den PDs 320-X begegnet werden.
-
In einer beispielhaften Implementierung sendet die CD 310 eine Nachricht 312-1 an mehrere PDs 320-X aus (obwohl in 3 zwei PDs veranschaulicht sind, versteht es sich, dass eine beliebige Anzahl von PDs vorhanden sein kann). Die Nachricht 312-1 kann Informationen umfassen, die eine synchrone Aktion durch mindestens einige der PDs 320-X zu einem zukünftigen Zeitpunkt (z. B. einem Zeitpunkt einer synchronen Aktion 350) ermöglichen. Nach dem Verstreichen einer vorgegebenen Zeit, z. B. des Intervalls T1, kann die CD 310 eine zweite Nachricht 312-2 aussenden, die aktualisierte Informationen, die ebenfalls die synchrone Aktion zu dem zukünftigen Zeitpunkt 350 ermöglichen, umfassen kann und unter Berücksichtigung des Verstreichens des Zeitintervalls T1 generiert wird. Weitere Nachrichten können auf ähnliche Weise ausgesendet werden, um den Zeitpunkt der synchronen Aktion 350 anzukündigen, wobei jede unter Berücksichtigung des Verstreichens der Zeit zwischen den ausgesendeten Nachrichten angepasst wird.
-
In einer Implementierung kann die CD 310 bestimmen, dass die synchrone Aktion zu einem Zeitpunkt TSYNC in der Zukunft durchgeführt werden soll. Die CD 310 kann eine erste Ankündigungsnachricht 312-1 aussenden, die eine Verzögerungszeit 334 (z. B. TSYNC) bis zu dem Zeitpunkt der synchronen Aktion 350 umfasst. Nach dem Verstreichen des Zeitintervalls T1 kann die CD 310 eine zweite Ankündigungsnachricht 312-2 aussenden, die die aktualisierte Verzögerungszeit 336 (z. B. TSYNC - T1) bis zu dem Zeitpunkt der synchronen Aktion 350 umfassen kann. Auf ähnliche Weise kann die CD 310 nach dem Verstreichen des Zeitintervalls T2 eine dritte Ankündigungsnachricht 312-3 aussenden, die eine weitere aktualisierte Verzögerungszeit (z. B. TSYNC - T1 - T2) bis zu dem Zeitpunkt der synchronen Aktion 350 umfassen kann, und so weiter. In einer anderen Implementierung können die Nachrichten 312-X einen Ereigniszähler und eine Verzögerungszeit umfassen. Sobald der Zielzählerstand für Ereignisse erreicht ist, sobald z. B. eine gewisse Anzahl von Intervallen T1, T2 ...verstrichen ist, können die PDs 320-X darauf warten, dass eine ausgesendete Verzögerungszeit verstrichen ist, und dann zu dem Zeitpunkt der synchronen Aktion 350 eine Aktion durchführen.
-
In einigen Implementierungen haben die Intervalle T1, T2... dieselbe Dauer. In solchen Implementierungen können die Nachrichten 312-X periodische Ankündigungen sein. Zusätzlich kann die CD 310 (und/oder können die PDs 320-X) verschiedene Korrekturen berücksichtigen, wie etwa Korrekturen aufgrund einer Kommunikationsverzögerung t1. Obwohl die Kommunikationsverzögerung t1 in 3 als für die PD 320-A und die PD 320-B gleich gezeigt ist, ist dies nicht begrenzend auszulegen. Für separate PDs 320-X können individuelle und unterschiedliche Korrekturen (z. B. empirisch) bestimmt werden, die unterschiedliche Orte, Umgebungen, Prozessoren, Funktionen usw. verschiedener PDs 320-X berücksichtigen. Diese Korrekturen können verschiedene Formen annehmen, von denen manche in Zusammenhang mit 1 beschrieben sind.
-
4 illustriert einen beispielhaften Prozess 400 zur Durchführung einer synchronen Aktion in drahtlosen Netzwerken unter Verwendung geplanter Verbindungsereignisse mit zusätzlichem Schutz vor Paketverlust gemäß einigen Implementierungen. Es versteht sich, dass, obwohl in 4 zwei PDs 420-A und 420-B veranschaulicht sind, die Anzahl von PDs nicht begrenzt ist. Eine CD 410 kann Zeitpunkte zum Senden von Nachrichten an PDs 420-X (z. B. zu Beginn der Kommunikationsintervalle T1, T2 usw.) und zum Empfangen von Kommunikationen von jeder PD 420-X planen. Es versteht sich, dass in gewissen drahtlosen Netzwerken, z. B. Mesh-Netzwerken, zu unterschiedlichen Zeiten unterschiedliche Vorrichtungen als CD 410 fungieren könnten. Die CD 410 kann eine Nachricht 412 an eine oder mehrere PDs 420-X (z. B. PD 420-A, PD 420-B usw.) aussenden. Die Nachricht 412 kann eine Zeitangabe eines zukünftigen synchronen Ereignisses umfassen. In einigen Implementierungen kann die Zeitangabe eine Verzögerungszeit (z. B. eine Verzögerungszeit 434) oder aber ein Ereigniszähler und eine Verzögerungszeit sein. Die Nachricht 412 kann auch Informationen umfassen, die von der CD 410 verwaltet werden und die eine Zeit und einen Kanal für jede der PDs 420-X angeben, um zurück an die CD 410 zu kommunizieren. Je nach Netzwerkeinstellungen (die z. B. durch die CD 410 implementiert werden) kann es geplant sein, dass alle PDs 420-X während jedes Kommunikationsintervalls Daten an die CD 410 senden oder dass nur einige der PDs 420-X in einem gegebenen Kommunikationsintervall mit der CD 410 kommunizieren. Die Zeitangabe für die Kommunikation einer spezifischen PD 420-X mit der CD 410 kann eine Zeit sein, um die die Kommunikationszeit der PD 420-x von dem Start eines bestimmten Kommunikationsintervalls versetzt ist, z. B. die Offset-Zeit A 428 für die PD 420-A, die Offset-Zeit B 432 für die PD 420-B usw. Verzögerungen bei Kommunikation und Verarbeitung (wie etwa t1) sowie andere mögliche Verzögerungen können auf vielfältige Weise berücksichtigt werden, wie in Zusammenhang mit den obenstehenden Figuren beschrieben.
-
Zu ihren geplanten Zeiten können die PDs 420-X Nachrichten 414 und 416 an die CD 410 kommunizieren. Die Nachrichten 414 und 416 können leere Pakete (zum Beispiel Pakete nur mit einem Header), Daten einer kürzlichen (z. B. synchronen) Messung, die von mit den PDs 420-X assoziierten Vorrichtungen vorgenommen wurde, Zeitstempel oder andere Informationen enthalten. In einigen Fällen werden ein oder mehrere Datenpakete, die durch beliebige der PDs 420-X übertragen werden, aufgrund von Störungen, Rauschen, Behinderungen oder aus beliebigen anderen Gründen eventuell nicht durch die CD 410 empfangen, wie es in 4 mit einem Kreuz durch die Nachricht 414 von der PD 420-A an die CD 410 veranschaulicht ist. Wenn die CD 410 detektiert, dass eine geplante Nachricht 414 von der PD 420-A nicht angekommen ist, kann die CD 410 eine nachfolgende Nachricht 418 aussenden, z. B. zu Beginn des nächsten Kommunikationsintervalls T2. Die Nachricht 418 kann ähnliche Daten wie die Nachricht 412 umfassen, z. B. eine Zeitangabe eines synchronen Ereignisses 450 (Verzögerungszeit 436) und Informationen, die die Kommunikation der PDs 420-X mit der CD 410 ermöglichen. Die Nachricht 418 kann auch eine Anforderung nach Ersatz der verlorenen Datenpakete umfassen, z. B. die Anforderung, dass die PD 420-A eine Kopie der Nachricht 414 erneut überträgt. Die Inhalte der Nachricht 414, die die CD 410 nicht erreicht haben, können dann erneut übertragen werden, z. B. kann die PD 420-A zu der durch die CD 410 geplanten Kommunikationszeit eine neue Nachricht 422 übertragen, die die Daten umfassen kann, die in der Nachricht 414 verloren gegangen sind. Implementierungen wie diejenige, die in 4 veranschaulicht ist, können verwendet werden, wenn ein zuverlässiger Datentransfer von den PDs 420-X zu der CD 410 verlangt wird, wenn das drahtlose Netzwerk eine erhebliche Menge an Rauschen und/oder Störungen aufweist, wenn einige der PDs 420-X Vorrichtungen mit niedriger Leistung sein können und in anderen Fällen.
-
5 illustriert einen beispielhaften Prozess 500 zur Durchführung synchroner Aktionen in drahtlosen Netzwerken bei gleichzeitiger Begrenzung der Senderaumverwendung durch Abhören gemäß einigen Implementierungen. Wie in 5 schematisch veranschaulicht, kann eine CD 510 eine Verbindung mit einer PD 520-A aufbauen (wobei es sich versteht, dass die Anzahl von PDs 520-X nicht auf zwei begrenzt ist). Während jedes Verbindungsereignisses 530-1, 530-2 usw. kann die CD 510 Nachrichten 512, 514 usw. an die PD 520-A senden, die eine Zeitangabe einer zukünftigen synchronen Aktion (z. B. einen Zeitpunkt der synchronen Aktionen 550) enthalten. Wie oben genauer ausgeführt, kann die Zeitangabe eine Verzögerungszeit (wie etwa eine Verzögerungszeit 532), eine Zieltaktzeit umfassen und ferner einen Ereigniszähler umfassen oder ein beliebiges anderes geeignetes Verfahren zum Ermöglichen einer synchronen Aktion darstellen. Die synchrone Aktion kann das Vornehmen einer Messung (oder das Anweisen einer assoziierten Vorrichtung, eine Messung vorzunehmen), das Generieren von Daten, wie etwa eines Zeitstempels, oder das Durchführen irgendeiner anderen Aktion (wie etwa das Betätigen eines Schalters, das Manipulieren einer physischen Vorrichtung usw.) umfassen.
-
Eine PD 520-B kann die Nachricht 512, die von der CD 510 gesendet wurde, abhören (wie z. B. durch einen gestrichelten Pfeil 513 veranschaulicht). Dieses Abhören kann durch eine frühere (z. B. temporäre) drahtlose Verbindung, die zwischen der CD 510 und der PD 520-B aufgebaut wurde, oder eine frühere (oder aktuelle) drahtlose Verbindung zwischen der PD 520-A und der PD 520-B oder dergleichen ermöglicht werden. Beispielsweise kann die PD 520-B aufgrund einer früheren Verbindung mit der CD 510 in Besitz von Authentifizierungsinformationen sein (z. B. Name des drahtlosen Netzwerks, öffentlicher/privater Schlüssel, der für die Verschlüsselung von Kommunikationen verwendet wird, und/oder andere Informationen). In einigen Implementierungen kann die PD 520-B zuvor noch keine Verbindung mit der CD 510 und/oder der PD 520-A aufgebaut haben und ist ein passiver Zuhörer bei der Kommunikation, die zwischen der CD 510 und der PD 520-A erfolgt. Anhand der Nachricht 512 kann die abhörende PD 520-B den Zeitpunkt der synchronen Aktion 550 bestimmen, z. B. basierend auf der Verzögerungszeit 532, die in der Nachricht 512 umfasst ist. Im Anschluss kann die PD 520-B die synchrone Aktion simultan mit der PD 520-A durchführen.
-
Wie in 5 veranschaulicht, kann die PD 520-A während eines Verbindungsereignisses 530-1 eine Nachricht 522 an die CD 510 senden, z. B. um Daten zu kommunizieren, die in Verbindung mit der synchronen Aktion generiert werden. Die Nachricht 522 kann zum Beispiel Messdaten, einen RTC-Zeitstempel und so weiter umfassen. Das nächste Verbindungsereignis 530-2 kann nach dem Verbindungsintervall T0 erfolgen und die CD 510 und die PD 520-A können erneut kommunizieren, wobei die PD 520-2 die Kommunikationen immer noch abhört (wie z. B. durch einen gestrichelten Pfeil 515 veranschaulicht), um weitere Anweisungen über zukünftige synchrone Ereignisse abzufangen, wie sie etwa in der Nachricht 514 umfasst sein können. In einigen Implementierungen kann die PD 520-B während des Verbindungsereignisses 530-2 eine aktive drahtlose Verbindung mit der CD 510 aufbauen, um eine Nachricht 524 an die CD 510 zu liefern, die Daten umfasst, die von der PD 520-B in Verbindung mit dem Synchronisationsereignis erlangt werden.
-
In einigen Abhörimplementierungen kann die CD 510 (z. B. periodisch oder von Zeit zu Zeit) ändern, mit welcher spezifischen PD die CD 510 drahtlos kommuniziert. Beispielsweise kann die CD 510 nach einer vorgegebenen Zeit eine Verbindung mit der PD 520-A beenden und eine Verbindung mit der PD 520-B aufbauen (wobei nun die PD 520-A abhört). In einigen Abhörimplementierungen kann die CD 510 Verbindungen mit einem ersten Teilsatz von PDs 520-X aufrecht erhalten, während ein zweiter Teilsatz von PDs 520-X die Kommunikationen des ersten Teilsatzes abhört. In einigen Abhörimplementierungen kann die PD 520-B drahtlos mit anderen PDs, z. B. der PD 520-A, kommunizieren und Daten über die PD 520-A an die CD 510 weiterleiten. Es können verschiedene andere Verbindungskonzepte und -muster ersonnen werden, die sich innerhalb des Umfangs dieser Offenbarung befinden.
-
6A und 6B veranschaulichen beispielhafte Auslösekonzepte zum Initiieren eines synchronen Ereignisses in einem drahtlosen Netzwerk gemäß einigen Implementierungen. In 6A und 6B illustrierte Komponenten (und Operationen davon) können als Teil einer Peripherievorrichtung des drahtlosen Netzwerks implementiert sein. 6A illustriert ein Auslösekonzept 600, das einen Hardwareinterrupt verwendet. Nachdem die PD von einer CD eine Nachricht, die einen Zeitpunkt einer synchronen Aktion angibt, empfangen hat, kann eine auf der PD instanziierte Anwendung 630 einen zukünftigen Zeitpunkt der von der PD durchzuführenden synchronen Aktion bestimmen (wie z. B. mit Bezug auf 1-5 beschrieben). Die Anwendung 630 kann einen programmierbaren Komparator (z. B. einen Hardwarekomparator) 620 mit dem Zeitpunkt der synchronen Aktion konfigurieren. Der Komparator 620 kann von einem Taktgeber 610 der PD ausgegebene Taktwerte überwachen, die mit dem Taktgeber der CD (oder anderen Taktgebern in dem Netzwerk) synchronisiert werden können, z. B. unter Verwendung eines der oben beschriebenen Verfahren. Wenn der Komparator 620 detektiert, dass der von dem Taktgeber 610 ausgegebene aktuelle Taktwert mit dem Zeitpunkt der synchronen Aktion (wie durch die Anwendung 630 programmiert) übereinstimmt (oder diesen überschreitet), gibt der Komparator 620 ein Interruptsignal an eine zentrale Verarbeitungseinheit (CPU) 650 der PD aus. Die CPU 650 stoppt eine aktuelle Aufgabe, die darauf verarbeitet wird, und greift mit Anweisungen auf eine Speichervorrichtung (z. B. ein Register) zu, die bewirken, dass die CPU 650 unter Verwendung der PD und/oder einer oder mehrerer Vorrichtungen, die mit der PD assoziiert sind, eine synchrone Aktion 640 durchführt (z. B. Messungen erledigt, eine oder mehrere Operationen initiiert und so weiter).
-
6B illustriert ein Auslösekonzept 602, das einen Firmware- oder einen Softwareinterrupt verwendet. Nachdem die PD eine Nachricht, die einen Zeitpunkt einer synchronen Aktion angibt, empfangen hat, kann die auf der PD instanziierte Anwendung 630 einen Zeitpunkt der synchronen Aktion bestimmen und einen programmierbaren Firmware(FW)-Interrupt 662 innerhalb der BT-Firmware 660 konfigurieren. Wenn die BT-Firmware 660 bestimmt, dass der Zeitpunkt der synchronen Aktion gekommen ist, gibt die BT-Firmware 660 ein Interruptsignal an die CPU 650 aus und die CPU 650 führt die synchrone Aktion 640 durch, wie oben mit Bezug auf 6A beschrieben. In einigen Implementierungen kann die Anwendung 630, anstatt einen FW-Interrupt 662 zu programmieren, einen Software(SW)-Interrupt 632 programmieren (wie durch den gestrichelten Kasten veranschaulicht). Zu dem Zeitpunkt der synchronen Aktion gibt der SW-Interrupt 632 Anweisungen an die BT-Firmware 660 aus und die BT-Firmware 660 kommuniziert das Interruptsignal an die CPU 650.
-
Die 7-10 sind Ablaufdiagramme, die beispielhafte Verfahren 700-1000 zur Durchführung synchroner Aktionen durch verschiedene Vorrichtungen, die über drahtlose Netzwerke verbunden sind, veranschaulichen. In einigen Implementierungen werden Nachrichten zwischen mindestens einigen der Vorrichtungen des Netzwerks kommuniziert, um interne Taktgeber der jeweiligen Vorrichtungen zu synchronisieren. In einigen Implementierungen sendet eine CD Nachrichten, die eine simultane Durchführung einer Aktion durch mehrere PDs ermöglichen. In einigen Fällen kann die Aktion darin bestehen, eine Messung vorzunehmen oder irgendwelche zusätzlichen Vorrichtungen, die mit den PDs assoziiert sind, anderweitig zu benutzen, z. B. Vorrichtungen, die mit den PDs kommunizieren (über drahtgebundene, drahtlose, optische Verbindungen usw.), aber nicht direkt mit der CD kommunizieren. In einigen Implementierungen können einige oder alle PDs synchron einen Zeitstempel aufzeichnen und die aufgezeichneten Zeitstempel verwenden, um interne Taktgeber zu synchronisieren und nachfolgende synchrone Aktionen durchzuführen. In einigen Implementierungen kann in beliebigen der Verfahren 700-1000 ein Schutz vor Datenverlust oder anderen Kommunikationsfehlern vorhanden sein.
-
Die 7-10 sollen die darin beschriebenen Verfahren nicht auf gewisse Kombinationen, Permutationen oder Zuweisungen von Akteuren begrenzen, d. h. ob eine bestimmte Operation tatsächlich von einer PD oder einer CD durchgeführt wird. Vielmehr sollen sie auf einige Implementierungen dieser Offenbarung hinweisen, und Fachleute werden erkennen, dass einige Operationen für bestimmte Anwendungen neu geordnet werden können, dass einige Operationen nicht immer durchgeführt werden müssen, dass einige Operationen weggelassen werden können usw.
-
7 ist ein Ablaufdiagramm eines beispielhaften Verfahrens 700, das von einer zentralen Vorrichtung eines drahtlosen Netzwerks durchgeführt wird, um eine synchrone Aktion durch mehrere Peripherievorrichtungen des drahtlosen Netzwerks zu ermöglichen, gemäß einigen Implementierungen. Das Verfahren 700 kann verwendet werden, um die internen Taktgeber einer oder mehrerer PDs mit dem internen Taktgeber der CD in Übereinstimmung zu bringen. Das Verfahren 700 kann auch verwendet werden, um die synchrone Aktion durch eine Anzahl von Vorrichtungen, die mit jeder der PDs assoziiert sind, zu ermöglichen. In Block 710 baut die CD eine drahtlose Verbindung mit einer Anzahl von PDs auf. Die aufgebaute Verbindung kann ein beliebiges geeignetes drahtloses Kommunikationsprotokoll zur Unterstützung des drahtlosen Netzwerks verwenden. In einigen Implementierungen kann das drahtlose Netzwerk ein Bluetooth(BT)-Netzwerk oder ein Bluetooth-Low-Energy(BLE)-Netzwerk sein. Einige oder alle PDs des Netzwerks können mit mindestens einer assoziierten Vorrichtung kommunikativ gekoppelt sein, beispielsweise mit einer oder mehreren Vorrichtungen, die konfiguriert sind, um Messungen vorzunehmen oder Aktionen durchzuführen. Assoziierte Vorrichtungen können beispielsweise konfiguriert sein, um Bedingungen oder Zustände irgendwelcher anderen Vorrichtungen zu bestimmen, die an physisch separaten Orten positioniert sein können.
-
In Block 720 empfängt die CD optional (wie durch den gestrichelten Umriss des Blocks angegeben) eine Zeitsynchronisationsanforderung von mindestens einer der PDs. In Block 730 überträgt die CD eine oder mehrere Nachrichten an die PDs. In denjenigen Implementierungen, in denen die CD (in Block 720) die eine oder die mehreren Zeitsynchronisationsanforderungen empfangen hat, können die in Block 730 übertragenen Nachrichten eine Reaktion auf das Empfangen der einen oder der mehreren Anforderungen sein. Die übertragenen Nachrichten können einen Zeitstempel umfassen, der mit einer Referenzzeit assoziiert ist, die von dem internen Taktgeber der CD gemessen wird. Die Referenzzeit kann mit dem Empfangen, durch die CD, der Zeitsynchronisationsanforderung von der jeweiligen PD (Block 720) assoziiert sein. Beispielsweise kann die Referenzzeit die tatsächliche Zeit beim Empfangen der Synchronisationsanforderung sein, die wiederum um verschiedene Verzögerungszeiten t1, t2, t3 korrigiert werden kann, wie in Zusammenhang mit 1 beschrieben.
-
Die in Block 730 durch die CD übertragenen Nachrichten können die Durchführung einer synchronen Aktion ermöglichen. Die Nachricht kann eine Zeitangabe der synchronen Aktion umfassen. Die Angabe kann eine Verzögerungszeit von dem Zeitpunkt der Nachricht bis zu dem Zeitpunkt der Aktion sein. Die Angabe kann zum Beispiel einen Ereigniszähler und eine Verzögerung, die nach dem Erreichen eines Zielereigniszählers zu implementieren ist, umfassen. Einige oder alle PDs können eine individualisierte Zeitangabe empfangen. Beispielsweise kann eine erste Nachricht, die für eine erste PD übertragen wird, eine erste Zeitangabe der synchronen Aktion umfassen (z. B. die Verzögerungszeit TA 234 in 2). Die erste Zeitangabe kann relativ zu einer vordefinierten ersten Kommunikationszeit für die erste PD (z. B. dem Start des Verbindungsintervalls T0, wie in 2 veranschaulicht) definiert sein. Auf ähnliche Weise kann eine zweite Nachricht, die für eine zweite PD übertragen wird, eine zweite Zeitangabe der synchronen Aktion umfassen (z. B. die Verzögerungszeit TB 236 in 2). Die zweite Zeitangabe kann relativ zu einer vordefinierten zweiten Kommunikationszeit für die zweite PD (z. B. der Offset-Zeit B 232) definiert sein. Insbesondere kann die Verzögerungszeit TB 236 als die Differenz zwischen dem Verbindungsintervall T0 und der Offset-Zeit B 232 definiert sein (wobei optional Korrekturen, z. B. t1, berücksichtigt werden). Die synchrone Aktion kann eine Interaktion der PD mit einer oder mehreren assoziierten Vorrichtungen sein, wie etwa das Erteilen von Anweisungen an ein Messgerät, eine Messung vorzunehmen.
-
In Block 740 empfängt die CD Daten, die durch einige oder alle der PDs übertragen werden. Die übertragenen Daten können in Verbindung mit der synchronen Aktion generiert werden, die von einer jeweiligen PD oder einer mit der jeweiligen PD assoziierten Vorrichtung durchgeführt wird. Beispielsweise können die übertragenen Daten die Ergebnisse der Messungen umfassen, die von den PDs oder von den mit den PDs assoziierten Vorrichtungen durchgeführt wurden. Die übertragenen Daten können auch die Zeitstempel, die von den CPUs der PDs aufgezeichnet wurden, oder andere Daten, die mit der synchronen Aktion verbunden sind, umfassen.
-
8 ist ein Ablaufdiagramm eines beispielhaften Verfahrens 800, das von einer zentralen Vorrichtung eines drahtlosen Netzwerks durchgeführt wird, um eine synchrone Aktion durch mehrere Peripherievorrichtungen zu ermöglichen, mit zusätzlichem Schutz vor Datenverlust, gemäß einigen Implementierungen. Das Verfahren 800 der 8 (oder ähnliche Verfahren) kann (können) mit mehreren der oben beschriebenen Implementierungen verwendet werden. In Block 810 überträgt die CD Nachrichten an eine oder mehrere PDs, um die Durchführung einer synchronen Aktion zu ermöglichen. Die Nachrichten können während vorab geplanter Verbindungsereignisse, wie etwa BLE-Verbindungsereignisse, übertragen werden. Die CD kann Nachrichten aussenden, die von mehreren PDs empfangen werden sollen, oder gezielte Kommunikationen an jede individuelle PD übertragen oder eine Kombination daraus durchführen. Wenn die CD Nachrichten an alle PDs aussendet, können solche Nachrichten Ankündigungsnachrichten oder andere Nachrichtentypen, die Ankündigungsrahmen umfassen, sein. Die Nachrichten können periodische BLE-Ankündigungen sein oder umfassen. In den Fällen, in denen die gesendeten Nachrichten Ankündigungsnachrichten sind, kann die Zeitangabe für ein synchrones Ereignis für alle PDs gleich sein. Das Ermöglichen eines synchronen Ereignisses kann die Form einer Taktsynchronisation, einer Weiterleitung einer Verzögerungszeit (mit oder ohne Ereigniszähler) bis zu einem bestimmten Zeitpunkt der synchronen Aktion oder eine beliebige andere geeignete Form annehmen. In den Fällen, in denen die Zeitangabe eine Verzögerungszeit ist, kann sich eine Sequenz von Nachrichten auf dieselbe synchrone Aktion beziehen, wobei eine zweite (dritte usw.) Zeitangabe unter Berücksichtigung des Verstreichens der Zeit zwischen den Nachrichten angepasst (z. B. reduziert) wird.
-
Einige oder alle PDs können dann die synchrone Aktion durchführen, indem sie z. B. Messungen durchführen, eine oder mehrere Operationen initiieren, veranlassen, dass assoziierte Vorrichtungen Messungen durchführen oder eine oder mehrere Aktionen vornehmen, oder eine beliebige Anzahl an anderen geeigneten synchronen Operationen durchführen. Während der Durchführung der synchronen Aktion können Daten generiert werden, die mit der synchronen Aktion assoziiert sind. Beispielsweise kann ein Zustand jeder Zelle einer Batterie von den PDs oder den mit den PDs assoziierten Vorrichtungen synchron geprüft werden. Einige oder alle PDs können Nachrichten an die CD kommunizieren, die mit der synchronen Aktion assoziierte Daten umfassen. In Block 820 kann die CD bestimmen, dass die Daten von einer ersten PD, die in Verbindung mit der synchronen Aktion generiert werden, nicht empfangen wurden. In Block 830 kann die CD als Reaktion auf das Nicht-Empfangen der Daten eine Anforderung nach Ersatzdaten von der ersten PD kommunizieren. In Block 840 kann die CD die Ersatzdaten empfangen, die durch die erste PD als Reaktion auf die empfangene Anforderung generiert wurden.
-
9 ist ein Ablaufdiagramm eines beispielhaften Verfahrens 900, das von einer Peripherievorrichtung eines drahtlosen Netzwerks durchgeführt wird, um eine synchrone Aktion auszuführen, gemäß einigen Implementierungen. In Block 910 wird eine drahtlose Verbindung zwischen einer PD (hierin als eine erste PD bezeichnet) und einer CD aufgebaut. Die aufgebaute Verbindung kann über ein beliebiges geeignetes drahtloses Kommunikationsnetzwerk erfolgen. In einigen Implementierungen kann das drahtlose Kommunikationsnetzwerk ein BT-Netzwerk oder ein BLE-Netzwerk sein. In einigen Implementierungen kann die erste PD eine bidirektionale Verbindung mit der CD aufweisen, z. B. eine Verbindung, die es der ersten PD gestattet, Daten zu empfangen und an die CD zu übertragen. In einigen Implementierungen kann die erste PD eine Verbindung mit der CD aufweisen, die es ihr lediglich gestattet, Daten von der CD, die an eine zweite (dritte usw.) PD des drahtlosen Netzwerks gerichtet sind, zu empfangen (z. B. zu hören, aber nicht zu übertragen). Insbesondere kann die erste PD dazu fähig sein, eine bidirektionale Verbindung, die zwischen der zweiten (dritten usw.) PD und der CD aufgebaut ist, abzuhören. In anderen Implementierungen kann es keine zwischen der ersten (zweiten usw.) PD und der CD gebildeten Kommunikationsverbindungen geben, sodass die CD stattdessen Nachrichten (z. B. BT-Ankündigungsnachrichten) aussenden kann, die von mehreren PDs empfangen werden sollen. Jede oder einige der PDs kann/können mit einer oder mehreren assoziierten Vorrichtungen kommunikativ gekoppelt sein.
-
In einigen Implementierungen kann die erste PD in Block 920 eine Zeitsynchronisationsanforderung an die CD senden. Als Reaktion auf das Empfangen der Zeitsynchronisationsanforderung kann die CD eine oder mehrere Nachrichten generieren und übertragen, die einen Zeitstempel einer Referenzzeit umfassen können, die von dem internen Taktgeber der CD gemessen wird und mit dem Zeitpunkt assoziiert ist, zu dem die CD die Zeitsynchronisationsanforderung empfangen hat. In einigen Implementierungen kann der Zeitpunkt, zu dem die CD die Anforderung empfangen hat, um die Zeit, die die CD benötigt hat, um die Anforderung zu verarbeiten, den Zeitstempel zu erzeugen, und um andere mögliche Verzögerungen angepasst werden.
-
In Block 930 empfängt die erste PD von der CD die eine oder die mehreren Nachrichten, die durch die CD als Reaktion auf das Empfangen der Zeitsynchronisationsanforderung generiert und übertragen werden. In Block 940 bestimmt die erste PD einen Zeitpunkt der synchronen Aktion unter Berücksichtigung der empfangenen Nachrichten. Insbesondere kann die synchrone Aktion eine Aktion sein, um eine oder mehrere mit der ersten CD assoziierte Vorrichtungen zu veranlassen, irgendeine Funktion durchzuführen (z. B. eine Messung vorzunehmen oder eine beliebige andere Operation durchzuführen), einen Zeitstempel für eine nachfolgende Kommunikation an die CD (oder an andere PDs) aufzuzeichnen und so weiter. In den Implementierungen, in denen die CD einen Zeitstempel aufzeichnet (z. B. auf Anforderung der ersten PD), kann der Zeitpunkt der synchronen Aktion unter Berücksichtigung des durch die CD aufgezeichneten Zeitstempels TS und eines Verbindungsintervalls (z. B. T0), das mit einer Datenaustauschperiode zwischen der CD und der ersten PD assoziiert ist, bestimmt werden, wie in Zusammenhang mit 1 genauer beschrieben. In Block 950 kann die synchrone Aktion von der ersten PD durchgeführt werden. Die synchrone Aktion kann zeitgleich mit der Durchführung ähnlicher (oder individualisierter) Aktionen durch verschiedene andere PDs des Netzwerks durchgeführt werden. In einigen Implementierungen kann die CD zur selben Zeit ebenfalls eine ähnliche (oder unterschiedliche) Aktion durchführen. Beispielsweise kann die CD auch eine Messung eines Zustands einer oder mehrerer Zellen der Batterie durchführen. Die synchrone Aktion kann umfassen, dass die erste (zweite usw.) PD mit einer oder mehreren assoziierten Vorrichtungen interagiert, wie etwa Messvorrichtungen (z. B. Sensoren), Aktoren, Verarbeitungsvorrichtungen oder beliebigen anderen geeigneten Vorrichtungen.
-
In einigen Implementierungen kann die erste (zweite usw.) PD (und optional die CD) in Block 960 Daten in Verbindung mit der synchronen Aktion generieren. In Block 970 kann die erste (zweite usw.) PD die Daten, die in Verbindung mit der synchronen Aktion generiert werden, an die CD übertragen, wie etwa die Daten, die die Messung des Zustands der Vorrichtungen beschreiben, die mit der ersten (zweiten usw.) PD assoziiert sind.
-
Möglicherweise kann die CD von einigen oder allen PDs keine Daten empfangen, zum Beispiel aufgrund von Kommunikationsfehlern, Störungen oder dergleichen. In einigen Implementierungen kann die CD eine Anforderung an die eine oder die mehreren PDs nach Ersatzdaten für die verlorenen Daten senden. Diese Anforderung nach Ersatzdaten kann in Block 980 von der ersten (zweiten usw.) PD empfangen werden. Nach dem Empfangen der Anforderung kann die PD in Block 990, z. B. während der nächsten geplanten Kommunikationszeit der PD mit der CD, ein weiteres Datenpaket (oder mehrere Datenpakete) übertragen, welche(s) Ersatzdaten für die verlorenen Daten umfasst (umfassen).
-
10 ist ein Ablaufdiagramm eines beispielhaften Verfahrens 1000 für eine Peripherievorrichtung, um die Durchführung einer synchronen Aktion zu planen, gemäß einigen Implementierungen. In Block 1010 empfängt eine PD eine oder mehrere Nachrichten. Unter Berücksichtigung der einen oder der mehreren empfangenen Nachrichten bestimmt die PD in Block 1020 einen zukünftigen Zeitpunkt einer synchronen Aktion, wie z. B. oben in Zusammenhang mit den 1-5 beschrieben. Die empfangenen Nachrichten können von einem beliebigen geeigneten Typ sein, der eine Angabe einer synchronen Aktion bereitstellt. In Block 1030 plant die PD die synchrone Aktion, indem sie einen Interrupt einrichtet, der die synchrone Aktion startet. Der Interrupt kann zu einem vorgegebenen Zeitpunkt vor dem Zeitpunkt der synchronen Aktion eingerichtet werden, um Verzögerungen wie die, die oben in Zusammenhang mit 6 diskutiert werden, zu berücksichtigen. Die Länge dieser Verzögerungen kann unter Verwendung eines beliebigen geeigneten Verfahrens empirisch bestimmt (z. B. gemessen oder vorab geschätzt) worden sein. Der Interrupt kann einer oder mehrere von einem programmierbaren Softwareinterrupt, einem Firmwareinterrupt oder einem Hardwareinterrupt sein. In einigen Implementierungen wird der Hardwareinterrupt dadurch veranlasst, dass ein spezieller Hardwareblock-Komparator einen mit der synchronen Aktion assoziierten Taktwert detektiert und die Aktion auslöst, wenn der Taktwert detektiert wird. In Block 1040 wird die synchrone Aktion, ausgelöst durch den Interrupt, durchgeführt.
-
11 ist ein Diagramm eines drahtlosen Netzwerksystems 1100, in dem Zeitsynchronisation und synchrone Aktionen durchgeführt werden können, gemäß einigen Implementierungen. Veranschaulicht ist eine CD 1110, die eine drahtlose Verbindung und einen Datenaustausch mit mehreren PDs unterstützen kann. Obwohl der Prägnanz halber zwei PDs 1120-A und 1120-B gezeigt sind, kann das drahtlose Netzwerksystem 1100 eine beliebige Anzahl von PDs umfassen. Veranschaulicht sind einige Komponenten und Module der PD 1120-A, wie weiter unten genauer diskutiert. Obwohl für die CD 1110 und die PD 1120-B keine interne Struktur veranschaulicht ist, versteht es sich, dass einige oder alle Komponenten der PD 1120-A auch in der CD 1110, der PD 1120-B und anderen Vorrichtungen des drahtlosen Netzwerksystems 1100 vorhanden sein können.
-
Die CD 1110 kann drahtlose Verbindungen 1104 und 1106 mit der PD 1120-A bzw. 1120-B aufbauen, wie durch die Pfeile schematisch angegeben. Die drahtlosen Verbindungen 1104 und 1106 können BT-Verbindungen, BTE-Verbindungen oder beliebige andere geeignete Verbindungen sein. Einige oder alle PDs können mit einer oder mehreren Vorrichtungen assoziiert sein, z. B. kann die PD 1120-A mit einer oder mehreren Vorrichtungen 1122-A assoziiert (und kommunikativ gekoppelt) sein und die PD 1120-B mit der Vorrichtung B 1122-B assoziiert sein, wie durch die jeweiligen durchgezogenen Linien in 11 gezeigt. In einigen Implementierungen können eine oder mehrere PDs, z. B. die PD 1120-A und/oder die PD 1120-B, eine Zeitsynchronisationsanforderung an die CD 1110 übertragen. Ebenso kann die CD 1110 eine oder mehrere Nachrichten an die PD 1120-A und/oder die PD 1120-B übertragen. Durch die CD 1110 übertragene Nachrichten können eine Reaktion auf das Empfangen der Zeitsynchronisationsanforderungen von einer oder mehreren PDs sein. Die Nachrichten können während separater Verbindungsereignisse an jede PD gesendet werden oder aber an alle (oder einen Teilsatz der) PDs des drahtlosen Netzwerksystems 1100 ausgesendet werden. In einigen Implementierungen kann die CD 1110 die drahtlose Verbindung 1106 mit der PD 1120-B aufbauen und keine drahtlose Verbindung 1104 mit der PD 1120-A aufbauen; in solchen Fällen kann die PD 1120-A die drahtlose Verbindung 1106 abhören. Die Nachrichten können einen Zeitstempel umfassen, der mit einer Referenzzeit assoziiert ist, die von dem Taktgeber der CD 1110 gemessen wird. Die Referenzzeit kann eine Zeit sein, die mit dem Empfangen einer Zeitsynchronisationsanforderung von einer oder mehreren PDs 1120-A und/oder 1120-B durch die CD 1110 assoziiert ist. Die Nachrichten von der CD 1110 an die PDs können Zeitangaben einer zukünftigen synchronen Aktion umfassen. Die Zeitangaben können für einige oder alle PDs des drahtlosen Netzwerksystems 1100 gleich sein oder können für individuelle PDs (oder Gruppen von PDs) generiert werden, z. B. unter Berücksichtigung des Kommunikationsplans für Kommunikationen der CD 1110 mit verschiedenen PDs des drahtlosen Netzwerksystems 1100.
-
Die PD 1120-A (und ebenso die PD 1120-B oder eine beliebige andere PD des drahtlosen Netzwerksystems 1100) kann eine beliebige Vorrichtung sein, die die Netzwerkkonnektivität und -funktionalität (z. B. das Empfangen, Senden und Weiterleiten von Daten) unterstützt, wie etwa ein Desktop-Computer, ein Laptop-Computer, ein Tablet, ein Telefon, ein Smart-TV, ein Sensor, eine Beleuchtungsvorrichtung, eine elektrische Batterie, ein elektrischer Generator, eine Appliance, eine Steuereinheit (z. B. eine Klima-, Heizungs- oder Wassererwärmungssteuereinheit), ein Schloss, eine Komponente eines Sicherheitssystems, ein Ortungs-Beacon oder ein beliebiger anderer Typ von Netzwerkvorrichtung. Die PD 1120-A kann eine Synchronisationsanwendung 1130 unterstützen, die ein Modul (z. B. eine Software-, Firmware-, Hardwarekomponente oder eine beliebige Kombination daraus) sein kann, um Zeitsynchronisation durchzuführen und eine synchrone Aktion durch die PD 1120-A zu ermöglichen. In einigen Implementierungen wird die synchrone Aktion durch die PD 1120-A simultan mit Aktionen durch andere Vorrichtungen (z. B. durch andere PDs und/oder die CD des drahtlosen Netzwerksystems 1100) durchgeführt. In einigen Implementierungen kann die synchrone Aktion durch die PD 1120-A nicht simultan mit Aktionen, die durch andere Vorrichtungen durchgeführt werden, sondern gemäß einem vorgegebenen Muster durchgeführt werden. Beispielsweise kann die PD 1120-A eine Aktion zu einem ersten vorgegebenen Zeitpunkt durchführen, die PD 1120-B eine andere (oder eine ähnliche) Aktion zu einem zweiten vorgegebenen Zeitpunkt (der früher oder später als der erste vorgegebene Zeitpunkt sein kann) durchführen und so weiter. Die Synchronisationsanwendung 1130 auf der PD 1120-A kann mit einer ähnlichen, auf der CD 1110 instanziierten Anwendung zusammenarbeiten (z. B. von dieser Anweisungen empfangen oder dieser Daten bereitstellen). Die Synchronisationsanwendung 1130 kann eine Industrieanwendung, eine Fahrzeuganwendung, eine Sicherheitsanwendung, eine Messsteuerungsanwendung, eine technische Steuerungs- und Überwachungsanwendung, eine Smart-Home-Steuerungsanwendung, eine Navigationsanwendung, eine Roboteranwendung und dergleichen sein. Die Synchronisationsanwendung 1130 kann Zeitsynchronisationsanforderungen an die CD 1110 generieren, Zeitangaben der synchronen Aktionen von der CD 1110 empfangen und diese verarbeiten, veranlassen, dass die eine oder die mehreren assoziierten Vorrichtungen 1122-A eine oder mehrere Operationen in Zusammenhang mit der synchronen Aktion durchführen, Daten von der einen oder den mehreren assoziierten Vorrichtungen 1122-A sammeln, die gesammelten Daten (umfassend Ersatzdaten) verarbeiten und an die CD 1110 kommunizieren und so weiter.
-
Die PD 1120-A (und andere PDs und die CD) können für eine drahtlose Konnektivität in einem einzigen Funkband (z. B. dem 2,4-GHz-Band, dem 5-GHz-Band, dem 60-GHz-Band usw.) oder in mehreren Bändern (z. B. sowohl dem 2,4-GHz-Band als auch dem 5-GHz-Band) befähigt sein. Die PD 1120-A kann eine oder mehrere Antennen 1140 verwenden (oder mit diesen verbunden sein), um Funkwellen zu empfangen und zu übertragen. In einigen Implementierungen können die eine oder die mehreren Antennen 1140 eine einzige Mehrfacheingabe-Mehrfachausgabe (MIMO) sein oder diese umfassen. Ein Signal, das von der einen oder den mehreren Antennen 1140 empfangen wird, kann von einer Funkkomponente 1142 verarbeitet werden, welche Filter (z. B. Bandpassfilter), rauscharme Funkfrequenzverstärker, einen oder mehrere Abwärtswandlungsmischer, Zwischenfrequenzverstärker, Analog-Digital-Wandler, inverse Fourier-Transformationsmodule, Deparsing-Module, Verschachtelungseinheiten, Fehlerkorrekturmodule, Scrambler und andere (analoge und/oder digitale) Schaltkreise umfassen kann, die verwendet werden können, um modulierte Signale zu verarbeiten, die von der einen oder den mehreren Antennen 1140 empfangen werden. Die Funkkomponente 1142 kann die empfangenen (und digitalisierten) Signale einer Bitübertragungsschichtkomponente (PHY) 1144 bereitstellen. Die PHY 1144 kann die digitalisierten Signale in Rahmen konvertieren, die in eine Netzzugangsschicht 1146 eingespeist werden können. Die Netzzugangsschicht 1146 kann eine Anzahl von Zuständen aufweisen, wie etwa Ankündigen, Scannen, Initiieren, Verbindung und Standby. Die Netzzugangsschicht 1146 kann Rahmen in Datenpakete umwandeln. Während der Übertragung kann die Datenverarbeitung in umgekehrter Richtung erfolgen, wobei die Netzzugangsschicht 1146 Datenpakete in Rahmen umwandelt, die von der PHY 1144 in digitale Signale umgewandelt werden, die der Funkkomponente 1142 bereitgestellt werden. Die Funkkomponente 1142 kann digitale Signale in Funksignale konvertieren und die Funksignale unter Verwendung der einen oder der mehreren Antennen 1140 übertragen. In einigen Implementierungen können die Funkkomponente 1142, die PHY 1144 und die Netzzugangsschicht 1146 als Teile einer drahtlosen Steuereinheit implementiert sein, z. B. einer drahtlosen Steuereinheit, die als eine einzige integrierte Schaltung implementiert ist.
-
Die PD 1120-A (oder andere PD- und CD-Vorrichtungen) kann (können) eine oder mehrere CPUs 1150 umfassen. In einigen Implementierungen kann die CPU 1150 eine oder mehrere Zustandsmaschinen (FSMs, Finite State Machines), im Feld programmierbare Gatteranordnungen (FPGAs), anwendungsspezifische integrierte Schaltungen (ASICs) oder dergleichen umfassen. Die PD 1120-A kann einen einzelnen Prozessor aufweisen, der verschiedene, mit Synchronisationsoperationen verbundene Operationen zusammen mit anderen Prozessen ausführt, die auf der PD 1120-A laufen können. In einigen Implementierungen kann die PD 1120-A einen dedizierten Prozessor für Synchronisationsoperationen aufweisen, der von den anderen Prozessen und Anwendungen, die auf der PD 1120-A laufen, separat ist. Die PD 1120-A kann ferner eine Speichervorrichtung 1160 umfassen, die ein nichtflüchtiger Speicher, z. B. ein Festwertspeicher (ROM), und ein flüchtiger Speicher, z. B. ein Arbeitsspeicher (RAM), sein kann (oder diese umfassen kann). Die Speichervorrichtung 1160 der PD 1120-A kann auch Codes und unterstützende Daten für die Synchronisationsanwendung 1130 speichern.
-
Die PD 1120-A kann ferner einen Taktgeber 1148 und eine Leistungsverwaltungseinheit (PMU, Power Management Unit) 1170, die Takt-/Reset- und Leistungsressourcen verwalten kann, umfassen. Die PD 1120-A kann ferner eine Eingabe-/Ausgabe(I/O)-Steuereinheit 1190 enthalten, um Kommunikationen mit anderen externen Vorrichtungen und Strukturen, umfassend die eine oder die mehreren assoziierten Vorrichtungen 1122-A, möglich zu machen. In einigen Implementierungen kann die I/O-Steuereinheit 1190 eine Allzweckeingabe/-ausgabe(GPIO)-Schnittstelle, eine USB-Schnittstelle, ein digitales PCM-Audiomodul und andere I/O-Komponenten befähigen.
-
Es versteht sich, dass die obenstehende Beschreibung als illustrativ und nicht einschränkend beabsichtigt ist. Viele andere Implementierungsbeispiele werden Fachleuten nach der Lektüre und dem Verstehen der obenstehenden Beschreibung klar sein. Obwohl die vorliegende Offenbarung spezifische Beispiele beschreibt, wird anerkannt werden, dass die Systeme und Verfahren der vorliegenden Offenbarung nicht auf die hierin beschriebenen Beispiele begrenzt sind, sondern mit Modifikationen innerhalb des Umfangs der angehängten Ansprüche ausgeübt werden können. Demgemäß sind die Patentbeschreibung und die Zeichnungen eher in einem illustrativen als in einem einschränkenden Sinn zu betrachten. Der Umfang der vorliegenden Offenbarung sollte daher unter Bezugnahme auf die angehängten Ansprüche zusammen mit dem vollen Umfang von Äquivalenten, zu denen derartige Ansprüche berechtigt sind, bestimmt werden.
-
Die oben dargelegten Implementierungen von Verfahren, Hardware, Software, Firmware oder Code können mit Hilfe von Anweisungen oder Code implementiert werden, die auf einem Medium gespeichert sind, auf das eine Maschine zugreifen kann, das eine Maschine lesen kann, auf das ein Computer zugreifen kann oder das ein Computer lesen kann, und die von einem Verarbeitungselement ausgeführt werden können. „Speicher“ umfasst einen beliebigen Mechanismus, der Informationen in einer Form, die von einer Maschine gelesen werden kann, bereitstellt (d. h. speichert und/oder überträgt), wie etwa einen Computer oder ein elektronisches System. Beispielsweise umfasst „Speicher“ Arbeitsspeicher (RAM), wie etwa statischen RAM (SRAM) oder dynamischen RAM (DRAM); ROM; ein magnetisches oder optisches Speicherungsmedium; Flash-Speichervorrichtungen; elektrische Speicherungsvorrichtungen; optische Speicherungsvorrichtungen; akustische Speicherungsvorrichtungen und beliebige Arten materieller maschinenlesbarer Medien, die für das Speichern oder Übertragen elektronischer Anweisungen oder Informationen in einer Form, die von einer Maschine (z. B einem Computer) gelesen werden kann, geeignet sind.
-
Eine Bezugnahme in dieser gesamten Patentbeschreibung auf „eine Implementierung“ bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, die in Verbindung mit der Implementierung beschrieben wird, in mindestens einer Implementierung der Offenbarung eingeschlossen ist. Das Auftreten des Ausdrucks „in einer Implementierung“ an verschiedenen Stellen in dieser gesamten Patentbeschreibung bezieht sich deshalb nicht notwendigerweise jedes Mal auf dieselbe Implementierung. Außerdem können die bestimmten Merkmale, Strukturen oder Eigenschaften auf eine beliebige geeignete Art und Weise in einer oder mehreren Implementierungen kombiniert sein.
-
In der vorausgehenden Patentbeschreibung wurde eine detaillierte Beschreibung mit Bezug auf spezifische beispielhafte Implementierungen gegeben. Es wird jedoch offenkundig sein, dass verschiedene Modifikationen und Änderungen daran vorgenommen werden können, ohne von dem breiteren Geist und Umfang der Offenbarung, wie in den angehängten Ansprüchen dargelegt, abzuweichen. Demgemäß sind die Patentbeschreibung und die Zeichnungen eher in einem illustrativen als in einem einschränkenden Sinn zu betrachten. Ferner bezieht sich die vorausgehende Verwendung von Implementierung, Implementierung und/oder anderer beispielhafter Sprache nicht notwendigerweise auf dieselbe Implementierung oder dasselbe Beispiel, sondern kann sich auf unterschiedliche und individuelle Implementierungen sowie auch potentiell auf dieselbe Implementierung beziehen.
-
Die Wörter „Beispiel“ oder „beispielhaft“ werden hierin verwendet, um als ein Beispiel, Fall oder eine Illustration dienend zu bedeuten. Hierin als „Beispiel“ oder „beispielhaft“ beschriebene Aspekte oder Ausgestaltungen sind nicht notwendigerweise als bevorzugt oder vorteilhaft gegenüber anderen Aspekten oder Ausgestaltungen aufzufassen. Vielmehr ist die Verwendung der Wörter „Beispiel“ oder „beispielhaft“ dazu gedacht, Konzepte auf konkrete Weise zu präsentieren. So wie er in dieser Patentanmeldung benutzt wird, soll der Begriff „oder“ ein inklusives „oder“ anstatt eines exklusiven „oder“ bedeuten. Das heißt, dass, sofern nicht anderweitig spezifiziert oder aus dem Zusammenhang klar ersichtlich, „X umfasst A oder B“ irgendeine der natürlichen inklusiven Permutationen bedeuten soll. Das heißt, dass, wenn X A umfasst, X B umfasst oder X sowohl A als auch B umfasst, dann in allen vorgenannten Fällen „X umfasst A oder B“ erfüllt ist. Zusätzlich sollten die Artikel „ein“ und „eine“, wie sie in dieser Patentanmeldung und den angehängten Ansprüchen verwendet werden, allgemein als „ein(e) oder mehrere“ bedeutend aufgefasst werden, sofern nicht anderweitig spezifiziert oder aus dem Zusammenhang klar ersichtlich auf eine Singularform hingeleitet wird. Darüber hinaus soll die durchgängige Verwendung des Begriffs „eine Implementierung“ oder „eine Implementierung“ nicht bedeuten, dass dieselbe Implementierung oder Implementierung gemeint ist, soweit nicht als solche beschrieben. Auch sind die Begriffe „erste(r)“, „zweite(r)“, „dritte(r)“, „vierte(r)“ usw., wie sie hierin verwendet werden, als Markierungen zu verstehen, um zwischen unterschiedlichen Elementen zu unterscheiden, und müssen nicht unbedingt eine ordinale Bedeutung gemäß ihrer numerischen Bezeichnung aufweisen.
-
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
-