-
Erfindungsgebiet
-
Die vorliegende Anmeldung betrifft Bluetooth-Module. Die vorliegende Anmeldung betrifft insbesondere Bluetooth Low Energy.
-
Allgemeiner Stand der Technik
-
Bluetooth Low Energy (BLE) betrifft drahtlose Bluetooth-Funktechnologie. Sie ist für Anwendungen mit geringer Leistung und geringer Latenz für drahtlose Einrichtungen innerhalb eines Nahbereichs ausgelegt worden. BLE-Anwendungen findet man heute in den Bereichen Gesundheitswesen, Fitness, Sicherheit, intelligente Energie, industrielle Automatisierung und Heimunterhaltung. BLE ist jedoch nicht auf jene beschränkt, sondern es werden zunehmend mehr neue Anwendungen, die die BLE-Technologie nutzen, entworfen.
-
Der Unterschied zwischen BLE und klassischem Bluetooth besteht darin, dass BLE-Einrichtungen nennenswert weniger Leistung für die Kommunikation als klassische Bluetooth-Einrichtungen verbrauchen. Außerdem ist BLE in der Lage, die Datenübertragung viel schneller zu starten als das klassische Bluetooth. Dies ermöglicht, BLE-Einrichtungen konstant eingeschaltet zu haben und intermittierend mit anderen Einrichtungen zu kommunizieren.
-
Kurze Darstellung der Erfindung
-
Es wurden nun ein verbessertes Verfahren und technisches Gerät erfunden, die das Verfahren implementieren, wodurch eine Verbindungsprozedur zwischen einem Master und einem Slave beschleunigt werden kann.
-
Gemäß einem ersten Aspekt wird ein Verfahren bereitgestellt, das Folgendes umfasst: Übertragen eines ersten Advertisement-Pakets, das anzeigt, dass eine Advertising-Einrichtung gescannt werden kann; Empfangen einer Scan-Anforderung von mindestens einer Scan-Einrichtung; Bestimmen, auf der Basis der empfangenen einen oder mehreren Scan-Anforderungen, ob eine oder mehrere entsprechende Scan-Einrichtungen für eine Verbindung zugelassen sind; Übertragen eines zweiten Adverstisement-Pakets, das anzeigt, dass die Advertising-Einrichtung verbunden werden kann; Empfangen von Verbindungsanforderungen von der zugelassenen mindestens einen Scan-Einrichtung.
-
Gemäß einem zweiten Aspekt wird eine Vorrichtung bereitgestellt, die Verarbeitungsmittel und Speichermittel umfasst, wobei die Vorrichtung konfiguriert ist zum Übertragen eines ersten Advertisement-Pakets, das anzeigt, dass eine Advertising-Einrichtung gescannt werden kann; Empfangen einer Scan-Anforderung von mindestens einer Scan-Einrichtung; Bestimmen, auf der Basis der empfangenen Scan-Anforderungen, ob eine entsprechende Scan-Einrichtung für eine Verbindung zugelassen ist; Übertragen eines zweiten Advertisement-Pakets, das anzeigt, dass die Advertising-Einrichtung verbunden werden kann; Empfangen von Verbindungsanforderungen von der zugelassenen mindestens einen Scan-Einrichtung.
-
Gemäß einem dritten Aspekt wird ein Computerprogrammprodukt bereitgestellt, das auf einem computerlesbaren Medium verkörpert ist, umfassend einen Computerprogrammcode, der konfiguriert ist, wenn er auf mindestens einem Prozessor läuft, zu bewirken, dass eine Vorrichtung oder ein System Folgendes ausführen: Übertragen eines ersten Advertisement-Pakets, das anzeigt, dass eine Advertising-Einrichtung gescannt werden kann; Empfangen einer Scan-Anforderung von mindestens einer Scan-Einrichtung; Bestimmen, auf der Basis der empfangenen Scan-Anforderungen, ob eine entsprechende Scan-Einrichtung für eine Verbindung zugelassen ist; Übertragen eines zweiten Advertisement-Pakets, das anzeigt, dass die Advertising-Einrichtung verbunden werden kann; Empfangen von Verbindungsanforderungen von der zugelassenen mindestens einen Scan-Einrichtung.
-
Gemäß einer Ausführungsform wird eine Liste zugelassener Einrichtungen generiert, wobei die Liste zu einer Link-Layer übertragen wird.
-
Gemäß einer Ausführungsform wird die generierte Liste zu einer Link-Layer der Vorrichtung übertragen.
-
Gemäß einer Ausführungsform basiert die Bestimmung über die zugelassene Scan-Einrichtung auf mindestens einer der folgenden Daten: Empfangssignalstärkeanzeige; eine existierende Bindung zwischen Einrichtungen; Zeitperiode ab einer vorausgegangenen Verbindung; einen Hersteller der Scan-Einrichtung.
-
Gemäß einer Ausführungsform ist das erste Advertising-Paket ein ADV_SCAN_IND-Paket.
-
Gemäß einer Ausführungsform ist das zweite Advertising-Paket ein ADV_IND-Paket.
-
Gemäß einer Ausführungsform ist das zweite Advertising-Paket ein ADV_DIRECT_IND-Paket, das eine Anzeige der zugelassenen Scan-Einrichtung umfasst.
-
Beschreibung der Zeichnungen
-
Nachfolgend werden verschiedene Ausführungsformen der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen ausführlicher beschrieben. Es zeigen:
-
1 ein Bluetooth-Modul gemäß einer Ausführungsform;
-
2 ein vereinfachtes Blockdiagramm eines Bluetooth-Moduls;
-
3 ein Beispiel eines Stands der Technik für Advertising-Modi;
-
4 einen Advertising-Modus gemäß einer Ausführungsform und
-
5 ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform.
-
Beschreibung von Ausführungsbeispielen
-
Nachfolgend werden mehrere Ausführungsformen der Erfindung im Kontext einer Einrichtungsfilterung in BLE beschrieben. Es ist jedoch anzumerken, dass die Erfindung nicht nur auf diese Funkübertragungstechnologie beschränkt ist. Tatsächlich besitzen die verschiedenen Ausführungsformen Anwendungen in verschiedenen Umgebungen.
-
1 veranschaulicht ein Beispiel einer Elektronikvorrichtung 100. Gemäß einer Ausführungsform ist die Vorrichtung 100 ein Bluetooth-Modul, das eine Anwendungsschicht 110, eine Host-Schicht 120 und einen Bluetooth-(oder BLE-)Controller 120 umfasst. Die Anwendungsschicht 110 umfasst eine oder mehrere die Vorrichtung betreffenden Anwendungen (z. B. Herzrate, Näherung, Blutdruck, Zeit aktualisiert, Temperatur, Batterie, ...), intelligente Profile, eine Script- und Anwendungsprogrammierungsschnittstelle (API – Application Programming Interface). Die Anwendung ist in der Lage, Sensordaten z. B. von einem Herzratensensor zu lesen und die Daten an die Host-Schicht zu melden, um die Daten mit Hilfe des Bluetooth-Controllers (oder BLE-Controllers) 130 zu übertragen. Die Host-Schicht 120 umfasst Protokolle, die über die Verbindung laufen. Die Host-Schicht 120 umfasst auch Daten, die in einem Advertisement-Profil (GATT), einem generischen Zugangsprofil (GAP – Generic Access Profile), einem Attribute Protocol (ATT), einem Sicherheitsmanager (SM) und einem Logical Link Control and Adaptation Protocol (22CAP) verwendet werden sollen. Der Bluetooth-Controller (oder BLE-Controller) 130 umfasst eine Link-Layer, ein Basisband und eine physikalische Schicht (d. h. physisches Radio, Hochfrequenz HF).
-
Die Link-Layer stellt einen Ultra-Low-Power-Leerlaufmodusbetrieb und eine Einrichtungsentdeckung (d. h. Verbindungsmodus- und Advertising-Modus-Handhabung) bereit. Die Link-Layer ist auch für die Paketübertragung und das Antworten zuständig.
-
2 veranschaulicht ein Beispiel eines auf dem Markt erhältlichen BLE-Moduls als ein vereinfachtes Blockdiagramm. Eine zentrale Verarbeitungseinheit und Speichermittel mit Anwendungsdaten befinden sich im Segment 200. Ein Teil der Link-Layer und der physikalischen Schicht sind mit einer Referenz 210 dargestellt. Dieses Segment 210 enthält Elemente, wie etwa Funkregister, eine Link-Layer-Engine, einen Modulator-Demodulator, Empfangs-/Übertragungsmittel, Frequenzsynthetisierer, eine Symmetriereinheit (Balun), eine Antenne (Ant).
-
In der BLE-Technologie können eine oder mehrere sogenannte Slave-Einrichtungen mit einer Master-Einrichtung verbunden werden. Der Master ist in der Lage, mit einer oder mehreren Slave-Einrichtungen zu kommunizieren – auch simultan. Um den Master über die Slave-Einrichtungen in Kenntnis zu setzen, schicken die Slave-Einrichtungen (oder an diesem Punkt „Advertiser”) in Pseudozufallsintervallen periodisch Advertisement-Pakete, die eine Master-Einrichtung (auch als Scanner-Einrichtung, d. h., „Scanner” bekannt) scannt.
-
Advertisement-Pakettypen von der Slave-Einrichtung sind
ADV_IND | verbindbares und scanbares ungerichtetes Advertising-Event |
ADV_DIRECT_IND | verbindbares gerichtetes Advertising-Event |
ADV_NONCONN_IND | nicht verbindbares oder nicht scanbares ungerichtetes Advertising-Event |
ADV_SCAN-IND | scanbares ungerichtetes (nicht verbindbares) Advertising-Event. |
-
Falls der Advertiser entweder die ADV_IND- oder ADV_DIRECT_IND-Pakete sendet, kann ein Scanner, der einen Austausch von Daten mit dem Advertiser wünscht, ein CONNECT_REQ-Paket senden. Falls der Advertiser das CONNECT_REQ-Paket akzeptiert, werden die Einrichtungen verbunden und die Kommunikation kann gestartet werden. Zu diesem Zeitpunkt wird der Advertiser zu einem Slave, und der Scanner wird ein Master.
-
Nachdem die Master-Einrichtung verbunden ist, kann sie ein Bonden mit der Slave-Einrichtung anfordern. Dies bedeutet, dass die Einrichtungen Schlüssel oder andere Verschlüsselungsinformationen austauschen, die für zukünftige Verbindungen gespeichert werden sollen.
-
Anstelle von CONNECT_REQ kann die Scanner-Einrichtung auch mit SCAN_REQ antworten, das eine Anforderung nach weiteren Informationen vom Advertiser ist. Dies kann als Antwort auf ADV_IND- oder ADV_SCAN_IND-Advertising-Pakete gesendet werden.
-
Wenn ein Advertising ein SCAN_REQ-Paket von einer Scan-Einrichtung empfängt, kann die Advertising-Einrichtung durch das SCAN_RSP-Paket mehr Informationen an die Scan-Einrichtung geben. Das SCAN_RSP-Paket kann Informationen über den Namen der Advertising-Einrichtung und über die Dienste, die die Advertising-Einrichtung bereitstellen kann, enthalten. Das SCAN_RSP-Paket ist nicht darauf beschränkt, nur diese Informationen zu führen, sondern kann auch oder stattdessen andere Daten enthalten.
-
Wie gesagt, sendet eine Scan-Einrichtung, die mit der Advertising-Einrichtung eine Verbindung herstellen möchte, ein CONNECT_REQ-Paket, das Daten über eines oder mehrere der folgenden enthält: Sendefenstergröße, die ein Zeitsteuerfenster für das erste Datenpaket definiert, Sendefenster-Offset, der aus ist, wenn das Sendefenster startet, Verbindungsintervall, was die Zeit ist zwischen Verbindungsereignissen, Slave-Latenz definiert die Häufigkeit, mit der der Slave Verbindungsereignisse vom Master ignorieren kann, Verbindungs-Timeout ist die maximale Zeit zwischen zwei korrekt empfangenen Paketen in der Verbindung, bevor der Link als verloren gegangen angesehen wird, die Sprungsequenz ist eine Zufallszahl, die den Startpunkt für einen Sprung festlegt, Kanalkarte, CRC(Cyclic Redundancy Check – zyklische Blockprüfung)-Initialisierungswert. Das CONNECT_REQ-Paket initiiert die Verbindung, d. h., es stellt eine Punkt-zu-Punkt-Verbindung zwischen den Einrichtungen her.
-
Der Zustand für das Weiterleiten von Advertising-Paketen wird als der „Advertising-Zustand” bezeichnet, und der Zustand für die Verbindung wird als der „verbundene Zustand” bezeichnet. In beiden Zuständen tritt ein Datentransfer auf. Die Slave-Einrichtung kann ein Sensor oder ein Aktuator sein, wie etwa ein Temperatursensor, ein Herzratensensor, eine Glühbirne, ein Näherungssensor usw. Die Master-Einrichtung kann irgendeine Elektronikeinrichtung sein, die Daten sammeln kann, wie z. B. ein Handy, ein Smartphone, einen Personal Digital Assistant, ein PC, ein Laptop, ein Tablet usw.
-
Von einer Slave-Einrichtung im Advertising-Modus gesendete Pakete können ungefähr 28 Byte an Daten und eine Slave-Adresse enthalten. Pakete von einer Master-Einrichtung im Advertisement-Kanal können Scanner- und Advertiser-Adressen enthalten. Gemäß einer Ausführungsform enthalten die Pakete von einer Master-Einrichtung im Advertisement-Kanal nur eine Master-Adresse.
-
Die 3a–3b veranschaulichen einen technischen Hintergrund für Advertising-Modi. 3a veranschaulicht einen Aufbau der Einrichtung B (Host B) zum Senden von Advertisement-Paketen. 3B veranschaulicht eine Situation, wo die Einrichtung B (Host B) Advertising-Pakete sendet und Einrichtung A (Host A) die Pakete scannt. Host A und Host B sind eine Master-Einrichtung beziehungsweise eine Slave-Einrichtung. LLA ist eine Link-Layer der Master-Einrichtung, d. h. Host A, und LLB ist eine Link-Layer der Slave-Einrichtung, d. h. Host B. Aus 3B ist ersichtlich, dass das SCAN_REQ-Paket von Host A als Reaktion auf ein Advertisement-Paket „Advet” von der Link-Layer LLB von Host B von der Link-Layer LLA von Host A übertragen wird. Als Reaktion auf das SCAN_REQ-Paket sendet die Link-Layer LLB des Hosts B ein SCAN_RSP-Paket mit Daten.
-
Eine Verbindung zwischen der Master-Einrichtung und der Slave-Einrichtung kann dadurch gebildet werden, dass die Master-Einrichtung ein CONNECT_REQ-Paket nach dem Advertisement-Paket des Slaves sendet. Wenn die Verbindung geöffnet wird, wird der Slave-Einrichtung bewusst, mit welcher Einrichtung die Verbindung ausgebildet ist.
-
Die BLE-Einrichtungen sind in der Lage, Scan-Einrichtungen zu filtern, an die eine Scan-Antwort gesendet wird. Vor den vorliegenden Ausführungsformen ist die Einrichtungsfilterung durch Verwenden einer weißen Liste und/oder einer schwarzen Liste implementiert. Die weiße Liste definiert, womit Einrichtungen eine Verbindung haben und wohin sie eine Antwort senden dürfen. Eine schwarze Liste definiert, womit welche nicht verbunden oder auf welche nicht geantwortet werden darf. Schwarze und weiße Listen werden durch eine obere Schichtanwendung aktualisiert. Der Prozess des Aktualisierens der weißen/schwarzen Liste sollte vor dem Empfang eines Pakets erfolgen, was bedeutet, dass die Adresse im empfangenen Paket nicht zum Aktualisieren der Liste verwendet werden kann.
-
Falls mehrere Master-Einrichtungen existieren, die zu verbinden versuchen, indem CONNECT_REQ-Pakete an einen einzelnen Slave gesendet werden, ist gegenwärtig die Master-Einrichtung, die mit der Slave-Einrichtung verbunden ist, diejenige, deren CONNECT_REQ-Paket zuerst durch die Slave-Einrichtung empfangen wurde (d. h. Advertiser). Deshalb wird nicht notwendigerweise der optimale Master für die Verbindung gewählt.
-
Gemäß einer Ausführungsform wird die Advertisement-Prozedur so modifiziert, dass zuerst die Advertising-Einrichtung mit einem ADV_SCAN_IND-Paket wirbt, das anzeigt, dass der Advertiser scanbar ist, aber nicht verbindbar. Die Scanner senden SCAN_REQ-Pakete, die der Advertiser verwendet, um eine Liste zugelassener Master-Einrichtungen für eine Verbindung zu generieren. Die generierte Liste wird als eine weiße Liste für Verbindungen verwendet. Nachdem die weiße Liste generiert worden ist, wirbt die Advertiser-Einrichtung mit einem neuen Advertisement-Paket, dieses Mal mit dem ADV_IND-Paket, das anzeigt, dass der Advertiser verbindbar ist.
-
Die Ausführungsformen sind nützlich z. B. beim Generieren von weißen Listen z. B. für Master-Einrichtungen unter Verwendung von Zugriffsadressen, Master-Einrichtungen in einer Umgebung, die mehrere Master-Einrichtungen enthält, wie etwa einen Schlüssel, der einen Computer entriegelt, und/oder Master-Einrichtungen, die zuvor definiert wurden. In einer gitterartigen Einstellung, wo mehrere Master-Einrichtungen existieren, kann die Slave-Einrichtung den optimalen Master zur Verbindung unter Verwendung der RSSI (Received Signal Strength Indication – Empfangssignalstärkenanzeige) wählen.
-
Die vorliegende Ausführungsform ist in 4 dargestellt. 4 veranschaulicht eine Advertising-Einrichtung 410 und Scanner-Einrichtungen 420, 430, 440. Die Advertising-Einrichtung 410 wirbt unter Verwendung eines ADV_SCAN_IND-Pakets, um Informationen über die Scanner-Einrichtung 420, 430, 440 zu sammeln. Nachdem genügend Daten gesammelt worden sind, wird eine Liste zugelassener Master-Einrichtungen durch die Advertiser-Einrichtung generiert. Eine Scanner-Einrichtung wird zu der Liste zugelassener Master-Einrichtungen hinzugefügt, falls z. B. die RSSI hoch genug ist, existiert eine Bindung zwischen der Scanner-Einrichtung und der Advertiser-Einrichtung (d. h., Verschlüsselungsinformationen sind für die Einrichtungen gespeichert worden), falls genügend Zeit ab einer vorausgegangenen Verbindung verstrichen ist oder falls eine Einrichtung von einem gewissen Hersteller ist (3 obere Bytes der Adresse).
-
Die generierte Liste wird an eine Link-Layer der Advertising-Einrichtung 410 gegeben, wo sie als weiße Liste zum Filtern der CONNECT_REQ-Pakete verwendet wird.
-
Die Advertising-Einrichtung 410 ändert dann den Advertisement-Typ zu ADV_IND- oder ADV_DIRECT_IND-Paket, was anzeigt, dass die Advertising-Einrichtung verbindbar ist. Ein ADV_DIRECT_IND-Paket kann eine Adresse der zugelassenen verbindenden Einrichtung enthalten. Nun werden die empfangenen CONNECT_REQ-Pakete gemäß der weißen Liste gefiltert, die aus der Liste zugelassener Einrichtungen generiert wurde. Die Advertising-Einrichtung 410 akzeptiert nur jene CONNECT_REQ-Pakete, die von einer zu der Liste zugelassener Einrichtung gehörenden Scanner-Einrichtung kommen. Gemäß einer Ausführungsform akzeptiert die Advertising-Einrichtung 410 nur ein solches CONNECT_REQ-Paket, das von einer in dem ADV_DIRECT_IND-Paket angegebenen Scanner-Einrichtung empfangen wird.
-
5 veranschaulicht ein Verfahren gemäß einer Ausführungsform als Flussdiagramm. Das Verfahren gemäß einer Ausführungsform umfasst die Schritte zum:
- – Übertragen 510 eines ersten Advertisement-Pakets, das anzeigt, dass eine Advertising-Einrichtung gescannt werden kann;
- – Empfangen 520 einer Scan-Anforderung von mindestens einer Scan-Einrichtung;
- – Bestimmen 530, auf der Basis der empfangenen einen oder mehreren Scan-Anforderungen, ob eine oder mehrere entsprechende Scan-Einrichtungen eine zugelassene für eine Verbindung ist;
- – Übertragen 540 eines zweiten Advertisement-Pakets, das anzeigt, dass die Advertising-Einrichtung verbunden werden kann;
- – Empfangen 550 von Verbindungsanforderungen von der zugelassenen mindestens einen Scan-Einrichtung.
-
Gemäß einer Ausführungsform ist das zweite Advertising-Paket ein ADV_IND-Paket, und gemäß einer weiteren Ausführungsform ist das zweite Advertising-Paket ein ADV_DIRECT_IND-Paket.
-
Es versteht sich, dass in den vorausgegangenen Beispielen eine Liste zugelassener Master-Einrichtungen generiert wird. Es ist jedoch auch möglich, dass stattdessen unter Verwendung der Informationen in den SCAN_REQ-Paketen eine Liste zurückgewiesener Master-Einrichtungen generiert wird.
-
Die vorliegenden Ausführungsformen liefern eine Lösung, wo eine Advertising-Einrichtung zuerst mit einem Paket wirbt, das anzeigt, dass die Einrichtung scanbar ist, und schaltet später den Advertising-Modus um und wirbt mit einem Paket, das anzeigt, dass die Einrichtung verbindbar ist. Mit einer derartigen Ausführungsform kann eine Master-Einrichtung für eine Verbindung gewählt werden.
-
Die verschiedenen Ausführungsformen können Vorteile liefern. Beispielsweise wird eine Verbindungsprozedur beschleunigt, weil keine Notwendigkeit existiert, zuerst die Verbindung zu bilden und dann die Master-Adresse zu validieren – und falls bemerkt wird, dass die Master-Einrichtung keine optimale Master-Einrichtung ist, zu trennen.
-
Die verschiedenen Ausführungsformen der Erfindung können mit Hilfe eines Computerprogrammcodes implementiert werden, das sich in einem Speicher befindet und bewirkt, dass die relevanten Vorrichtungen die Erfindung ausführen.
-
Es ist offensichtlich, dass die vorliegende Erfindung nicht ausschließlich auf die oben vorgelegten Ausführungsformen beschränkt ist, aber sie kann innerhalb des Schutzbereichs der beigefügten Ansprüche modifiziert werden.