我需要计算CPU的功耗。根据这个公式。
功率(mW)= cpu * 1.8 /时间。
其中时间是cpu + lpm的总和。
我需要在某个过程的开始和最后测量,但是时间过去是短路的,并且cpu不会改变为lpm模式,如下一个使用powertrace_print()的值所示。
all_cpu all_lpm all_transmit all_listen 116443 1514881 148 1531616 17268 1514881 148 1532440
计算cpu的功耗我得到1.8 mW(这正是主动模式下CPU的电流消耗值)。
我的问题是,在这种情况下如何计算功耗?
答案 0 :(得分:0)
如果MCU没有进入LPM,那么它会一直处于活动模式,因此1.8 mW的结果看起来是正确的。
也许你想问一些不同的东西?如果要测量执行特定代码块所需的时间,可以在块的开头和结尾添加RTIMER_NOW()
次调用。
RTIMER_NOW
的时间分辨率对于短时间操作可能太粗糙。您可以使用更高频率的计时器,具体取决于您的平台,例如如果您正在为基于msp430的传感器节点进行编译,请阅读TBR
寄存器。