我正在與無線傳感器網絡主管一起評估其工作表現。我想測量延遲和總能耗,找出每個節點的剩餘能量。所以我的問題是我有一些tx rx cpu cpu_idle
的值,我不怎麼用它們來計算我需要的值。我發現了一些計算規則,但我不明白如何將其應用於我的案例。如何使用Cooja計算總能量消耗
在能源消耗通訊:
什麼是32768的意思,爲什麼我們使用這個號碼:
通過能源消耗的CPU?這是一個標準值嗎?
我正在與無線傳感器網絡主管一起評估其工作表現。我想測量延遲和總能耗,找出每個節點的剩餘能量。所以我的問題是我有一些tx rx cpu cpu_idle
的值,我不怎麼用它們來計算我需要的值。我發現了一些計算規則,但我不明白如何將其應用於我的案例。如何使用Cooja計算總能量消耗
在能源消耗通訊:
什麼是32768的意思,爲什麼我們使用這個號碼:
通過能源消耗的CPU?這是一個標準值嗎?
powertrace輸出打印在計時器滴答聲中。
tx
- 無線電已經在發送模式(ENERGEST_TYPE_TRANSMIT
)rx
蜱的數目 - 的滴答數的無線一直處於接收模式(ENERGEST_TYPE_LISTEN
)cpu
- 蜱的數目該CPU已經在活動模式(ENERGEST_TYPE_CPU
)cpu_idle
- 的CPU一直處於空閒模式(ENERGEST_TYPE_LPM
)對tx
和rx
的元素是排他性的,因爲cpu
和idle
-系統不能同時處於兩種模式。然而,其他組合也是可能的:例如,它可以同時在cpu
和tx
中。的cpu
和idle
總和是系統的總運行時間。
計時器的持續時間蜱是與定義爲RTIMER_ARCH_SECOND
常數依賴於平臺的。每秒32768個蜱是這個常數的典型值 - 這就是你的方程數得來的。例如:
ticks_in_tx_mode = energest_type_time(ENERGEST_TYPE_TRANSMIT);
seconds_in_tx_mode = ticks_in_tx_mode/RTIMER_ARCH_SECOND;
爲了計算平均消耗電流(在毫安,毫安),與相應的電流消耗在該模式下在毫安乘以每個tx
,rx
,cpu
,cpu_idle
(從節點的數據表中獲得值),將它們相加,除以RTIMER_ARCH_SECOND
:
current = (tx * current_tx_mode + rx * current_rx_mode + \
cpu * current_cpu + cpu_idle * current_idle)/RTIMER_ARCH_SECOND
爲了計算電荷(在millicoulumbs,三菱商事),與測量的以秒爲單位的持續時間(節點的正常運行時間)乘以平均電流消耗:
charge = current * (cpu + cpu_idle)/RTIMER_ARCH_SECOND
爲了計算功率 (毫瓦,mW)將平均電流消耗乘以系統電壓,例如,如果由一對AA電池供電,則爲3伏:
power = current * voltage
最後,計算能耗(在毫焦耳,毫焦耳),乘以持續時間的功率秒或與該系統的電壓倍增的電荷:
energy = charge * voltage
上面的第一個公式計算通信的能耗;第二個:用於計算。
這個site可能有助於分解數字。
您從哪裏找到該案例研究,請聲明這些圖片或論文的來源。一般來說,沒有任何好的能量計算規則。這取決於開啓的外設,使用的處理器,速度等。 –