2016-04-19 83 views
2

我正在爲具有BLE模塊的設備編寫iOS應用程序,該模塊在連接時在一致的基礎上廣告幾個字節的數據。我們正在嘗試估算BLE模塊的功耗,以便估算設備的電池壽命。我已經搜索過,谷歌正在尋找合適的方式來估計這一點,但我現在空了。有沒有辦法獲取正在發送的字節數,乘以數據發送的頻率並得出功耗的粗略近似值?如何估算BLE模塊的功耗?

+0

我認爲這是你需要從設備端解決的問題;可以通過查看所用芯片的文檔,或者只是測量實驗室中的功耗。功耗取決於設備和iOS設備之間的距離,您使用的芯片組以及設備的其他功能等。 – Paulw11

+0

感謝您的回覆!不過,我應該更清楚一點。我並不想測量手機的功耗;爲了計算外部設備的預期電池,我試圖測量模塊本身的功耗。我曾希望,考慮到模塊以一致的時間間隔廣告一定數量的數據,有可能計算它將使用多少功率來做到這一點。 – user1328035

+1

不,理解,這就是爲什麼我說你需要參考「模塊」的細節。市場上有幾十種甚至幾百種藍牙芯片組,每種都有不同的能耗,但正如我所說的,你需要測量整個設備的當前使用情況;它將有一個CPU,傳感器,LED等,所有這些都會消耗電力。 – Paulw11

回答

1

典型BLE的SoC(即,所有功能於一身的應用+無線電芯片)通常消耗:

  • 甲幾百nA的,而在深睡眠,
  • 2至10μA而RTC軌道時間(在廣告或連接時的無線電事件之間需要),
  • CPU或無線電運行(計算數據,TX,RX)時爲10至30 mA。 RX和TX的功耗大致相同。

一個BLE外圍的壽命基本上由3種主要狀態:

  1. 是空閒的(不是廣告,不連接)。大多數人會告訴你的設備關閉。除非它有一個物理電源開關,但它仍然會消耗幾百納安。

  2. 做廣告(連接發生之前)。外圍設備需要每50毫秒大約運行5毫秒。這是您的設備實際使用最多電源的時間,因爲廣告需要頻繁發送很多數據包。平均功耗在1-10毫安範圍內。

  3. 被連接。在這裏,消費是依賴於應用程序的。如果應用程序大多處於空閒狀態,則需要外設定期喚醒,並且每次都必須發送一個數據包,以保持連接的正常運行。即使外設沒有什麼用處可以發送,仍然會發送一個空分組。副作用:這意味着低佔空比應用基本上免費發送數據包。

所以真正回答你的問題:你的

有效載荷的
  • 長度不是問題(只要你保持你的數據包的短褲):我們在1微秒談論傳輸更多每一位,而其餘的處理(醒來,接收主數據包等,使我們至少在200微秒內保持清醒狀態);

  • 你實際稱之爲「連續」是關鍵。它是5赫茲? 200赫茲? 3千赫?

假設我們以5 Hz的速率發送數據。功耗估計將每秒大約5個連接事件,每個連接事件大約2毫秒CPU +無線電,因此每秒鐘運行10毫秒。平均消耗:200μA(.01 * 20 mA +。99 * 5μA)

此計算不採取一些參數考慮在內,但:

  • 你應該從你的傳感器增加了消費(陀螺儀/加速度計可以吃幾毫安),
  • 您應該考慮板載通信(i2c,SPI等),
  • 如果您的設計實際使用兩個芯片(一個用於與無線電模塊通信的應用程序),則功耗將大致加倍。