2016-04-19 11 views
2

Ich schreibe eine iOS-App für ein Gerät mit einem BLE-Modul, das während der Verbindung konsistent einige Datenbytes anzeigt. Wir versuchen, den Stromverbrauch des BLE-Moduls abzuschätzen, um die Lebensdauer des Akkus für das Gerät abzuschätzen. Ich habe SO und Google auf der Suche nach dem geeigneten Weg, um dies abzuschätzen, aber ich komme leer. Gibt es eine Möglichkeit, die Anzahl der gesendeten Bytes zu multiplizieren, multipliziert mit der Frequenz, mit der die Daten gesendet werden, und eine grobe Annäherung an den Stromverbrauch zu erzielen?Wie kann ich den Stromverbrauch eines BLE-Moduls abschätzen?

+0

Ich denke, das ist etwas, was Sie von der Geräteseite aus ansprechen müssen; Entweder indem Sie die Dokumentation der verwendeten Chips durchsehen oder einfach den Stromverbrauch im Labor messen. Der Stromverbrauch variiert abhängig von der Entfernung zwischen dem Gerät und dem iOS-Gerät, dem Chipsatz, den Sie verwenden, was das Gerät sonst noch macht und so weiter – Paulw11

+0

Danke für die Antwort! Ich hätte jedoch klarer sein sollen. Ich versuche nicht, den Stromverbrauch des Telefons zu messen; Ich versuche, den Stromverbrauch des Moduls selbst zu messen, um die erwartete Batterie des externen Geräts zu berechnen. Ich hatte gehofft, dass angesichts der Tatsache, dass das Modul eine bestimmte Menge an Daten in einem konsistenten Zeitintervall ankündigt, es möglich wäre, zu berechnen, wie viel Energie dafür verwendet würde. – user1328035

+1

Nein, verstanden, weshalb ich sagte, dass Sie auf die Details von "das Modul" beziehen müssen. Es gibt Dutzende, wenn nicht Hunderte von Bluetooth-Chipsätzen auf dem Markt, jeder wird einen unterschiedlichen Energieverbrauch haben, aber wie gesagt, Sie müssen die aktuelle Nutzung Ihres Geräts als Ganzes messen; Es wird eine CPU, Sensoren, LEDs usw. haben, die alle Strom verbrauchen. – Paulw11

Antwort

1

Ein typischer BLE SoC (dh eine all-in-one-Anwendung + Radio-Chip) verbraucht typischerweise:

  • Ein paar hundert nA, während im Tiefschlaf,
  • 2 bis 10 & mgr; A während eines RTC-Tracks Zeit (benötigt zwischen Radio-Events während der Werbung oder verbunden),
  • 10 bis 30 mA während CPU oder Radio läuft (Daten, TX, RX). Der Stromverbrauch von RX und TX ist ungefähr gleich.

Leben eines BLE peripheren besteht im wesentlichen aus drei Hauptzustände:

  1. frei sein (keine Werbung, nicht angeschlossen). Die meisten Leute werden sagen, dass Ihr Gerät ausgeschaltet ist. Sofern es keinen physischen Netzschalter hat, verbraucht es dennoch einige hundert Nanoampere.

  2. Werben (bevor eine Verbindung stattfindet). Das Peripheriegerät muss ungefähr alle 50 ms 5 ms lang laufen. Dies ist die Zeit, in der Ihr Gerät tatsächlich die meiste Energie verbraucht, da Werbung häufig viele Pakete senden muss. Der durchschnittliche Stromverbrauch liegt im Bereich von 1-10 mA.

  3. angeschlossen werden. Hier ist der Verbrauch anwendungsabhängig. Wenn die Anwendung größtenteils im Leerlauf ist, muss das Peripheriegerät periodisch aufwachen und muss jedes Mal ein Paket senden, um die Verbindung am Leben zu halten. Auch wenn das Peripheriegerät nichts Sinnvolles zu senden hat, wird immer noch ein leeres Paket gesendet. Nebeneffekt: Das bedeutet, dass Anwendungen mit niedriger Einschaltdauer grundsätzlich Pakete kostenlos übertragen.

Also eigentlich beantworten Sie die Frage:

  • Länge Ihrer Nutzlast kein Problem ist (so lange, wie Sie Ihre Pakete Shorts halten): wir sprechen während 1 & mgr; s zu übertragen mehr pro Bit, während der Rest der Handhabung (Aufwachen, Empfangen des Master-Pakets usw. hielt uns während mindestens 200 & mgr; s wach);

  • was Sie eigentlich "kontinuierlich" nennen, ist der entscheidende Punkt. Ist es 5 Hz? 200 Hz? 3 kHz?

Nehmen wir an, wir senden Daten mit einer Frequenz von 5 Hz. Die Leistungsschätzung wird ungefähr 5 Verbindungsereignisse pro Sekunde betragen, ungefähr 2 ms CPU + Radio pro Verbindungsereignis, also 10 ms pro Sekunde. Durchschnittsverbrauch: 200 μA (.01 * 20 mA +.99 * 5 uA)

Diese Berechnung obwohl einige Parameter berücksichtigt nicht statt:

  • Sie sollten Verbrauch von Ihren Sensoren (Gyro/Accelerometer ein paar mA essen hinzufügen),
  • Sie sollten sich überlegen On-Board-Kommunikation (i2c, SPI usw.),
  • Wenn Ihr Design tatsächlich zwei Chips verwendet (einen für die Anwendung, die mit einem Funkmodul kommuniziert), wird sich der Verbrauch ungefähr verdoppeln.
Verwandte Themen