Выходные данные Powertrace выводятся в виде тактов таймера.
tx
- количество тиков, в течение которых радио находилось в режиме передачи (ENERGEST_TYPE_TRANSMIT
)
rx
- количество тиков, в течение которых радио находилось в режиме приема (ENERGEST_TYPE_LISTEN
)
cpu
- количество тиков, в течение которых ЦП находился в активном режиме (ENERGEST_TYPE_CPU
)
cpu_idle
- количество тиков, в течение которых ЦП находился в режиме ожидания (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
на соответствующее потребление тока в этот режим в mA (получить значения из таблицы данных узла), просуммировать их и разделить на RTIMER_ARCH_SECOND
:
current = (tx * current_tx_mode + rx * current_rx_mode + \
cpu * current_cpu + cpu_idle * current_idle) / RTIMER_ARCH_SECOND
Чтобы вычислить заряд (в милликулумах, мкКл), умножьте среднее потребление тока на продолжительность измерения (время безотказной работы узла) в секундах:
charge = current * (cpu + cpu_idle) / RTIMER_ARCH_SECOND
Чтобы вычислить мощность (в милливаттах, мВт), умножьте средний потребляемый ток на напряжение системы, например, 3 вольта при питании. от пары батареек АА:
power = current * voltage
Наконец, чтобы вычислить потребление энергии (в миллиджоулях, мДж), умножьте мощность на продолжительность в секундах или умножьте заряд на напряжение. системы:
energy = charge * voltage
Первая формула выше вычисляет потребление энергии для связи; второй: для расчета.
Этот сайт может помочь взломать вниз числа.
person
kfx
schedule
12.08.2017