2016-11-30 4 views
0

Wir erstellen ein Stück Hardware (nennen Sie es "den Dongle"), die auf Bluetooth LE-Anforderungen reagiert, die von einem Mobiltelefon kommen, wenn der Benutzer es anfordert. Die gesamte Kommunikation wird vom Telefon aus initiiert, der Dongle wird keine Kommunikation initiieren. Kommunikationen, wenn sie auftreten, werden sehr selten sein (vielleicht einmal am Tag) und werden kurz sein (einige hundert Bytes). Wenn Kommunikation stattfindet, möchten wir, dass der Dongle innerhalb weniger Sekunden antwortet, ohne dass der Benutzer manuell mit dem Dongle interagieren muss (z. B. wollen wir nicht, dass der Benutzer einen Knopf auf dem Dongle drücken muss, um "aufzuwachen und zu bezahlen" Beachtung").Bluetooth LE - entscheiden Client gegen Server

Wenn man über den Stromverbrauch nachdenkt, scheint es, dass wenn ein Gerät einen Bluetooth-Scan durchführt, das Gerät beim Scannen meistens nur hört/empfängt und das Gerät, das die Werbung macht, die Übertragung durchführt (richtig?).

Aber Seiten wie this one sagen

Slave (or “peripheral“) devices advertise and wait for connections. Usually, the slave is a small device like a fitness tracker or a smartwatch. 

Warum sollte das kleine Gerät (zum Beispiel Fitness-Tracker) dort sitzt, Rundfunk/für immer alle paar Sekunden Werbung (vorausgesetzt, es momentan ist mit nichts verbunden)? Macht das nicht alle Arten von Kraft aus? Wäre es nicht sinnvoller, wenn sich das kleine Gerät stattdessen im Hörmodus befindet?

Und dann, sobald eine Verbindung hergestellt wird, gibt es eine Art "Keep Alive", so dass die zwei verbundenen Geräte "wissen", dass der andere noch da ist?

Antwort

4

Nehmen wir ein Chip-Datenblatt wie nRF51822 (siehe 8.5.2). Sie werden feststellen, dass der Stromverbrauch für RX (13mA) und TX @ 0dBm (10,5mA) nahezu gleich ist. TX/RX-Leistungsverhältnis ist das gleiche forotherchipsonthe Markt: um 1x.

Jetzt berücksichtigen Übertragung ist ein niedriger Arbeitszyklus Betrieb (wenn Sie während 200US alle 200ms, Sie sind bei 0,1% TX), durchschnittliche Stromverbrauch für Werbung ist niedrig (10,5mA * 0,001 + 5uA * 0,999). Auf der anderen Seite ist das Empfangen von Entwurf durchgehend: Sie wissen nie, wann das Paket tatsächlich übertragen wird, Sie müssen in der Nähe von 100% Arbeitszyklus sein, wenn Sie kein Paket (13mA, kontinuierlich) verpassen möchten.

Also, für den Verbindungsaufbau, Peripherie (die Werbung) spart mehr Strom als Central (das hört), weil es die meiste Zeit schlafen kann.

Einmal verbunden, verfolgen sowohl die Zentrale (Master) als auch die Peripherie (Slave) die Zeit mit einer "Schlafuhr" und wachen zeitversetzt auf, um die Anwesenheit anderer Teilnehmer zu synchronisieren. Slots werden in der Spezifikation "Connection Events" genannt. Zwischen den Verbindungsereignissen schlafen beide, und so sparen sie beide während der gesamten Dauer der Verbindung Energie. (Nun, es gibt eine weitere Optimierung, die "Slave-Latenz" genannt wird, die Peripheriegeräten (d. h. Slave) ermöglicht, mehr Strom zu sparen, aber lasst es uns hier ignorieren ...).

In Ihrem Fall sollte "der Dongle" werben. Das Ankündigungsintervall kann so angepasst werden, dass es der akzeptablen Verbindungszeit entspricht, die Ihre Anwendung benötigt. 50-500 ms ist typisch für Ihre Art der Nutzung.

Verwandte Themen