Киреев А.О.
ЭФФЕКТИВНОЕ УПРАВЛЕНИЕ ЭНЕРГОПОТРЕБЛЕНИЕМ БЕСПРОВОДНЫХ СЕНСОРНЫХ СЕТЕЙ ИНФОРМАЦИОННО-ИЗМЕРИТЕЛЬНЫХ СИСТЕМ
Беспроводные сенсорные сети (БСС) представляют собой распределенные сети миниатюрных, автономных датчиков, снабженных радиомодулями. Ключевыми характеристиками таких систем является малое энергопотребление, механизмы автоматической настройки, самовосстановления и адаптации к изменяющимся условиям среды распространения радиоволн. Данные характеристики позволяют реализовывать энергетически эффективные БСС, которые обладают высокой масштабируемостью, надежностью и отказоустойчивостью.
Ультранизкое энергопотребление узлов сенсорной сети - залог ее экономической эффективности, т.к. стоимость элементов питания в настоящее время зачастую превышает стоимость самого узла. Кроме того, в некоторых условиях эксплуатации смена элементов питания или невозможна, или сопряжена со значительными трудностями (например, при применении БСС в военных сигнализационноразведывательных комплексах). Существующие на сегодняшний день стандарты в области БСС (IEEE 802.15.4 и ZigBee) не позволяют реализовывать радиосети, имеющие длительный период автономной работы [1].
Среди различных источников питания узлов БСС ведущие позиции занимают химические источники тока (ХИТ) [2]. Лучшие характеристики показывают литий-тионилхлоридные (Li/SOCl2) элементы (например, фирм SAFT, Sonnenschein Lithium, EEMB). Первичные элементы, изготовленные по данной технологии, способны работать в широком температурном диапазоне (от минус 60 до +70°С), имеют низкие токи саморазряда (менее 1% в год) и долгие сроки хранения (до 10 лет). Фактором, ограничивающим их массовое применение, является относительно высокая стоимость. Типовое значение емкости первичного литиевого элемента LS 33600C типа D фирмы SAFT составляет 18,5 А-ч.
Энергопотребление любого узла беспроводной сенсорной сети складывается из двух составляющих: потребление непосредственно самого датчика и потребление радиоканала. В данной работе рассматриваются общие принципы и методы построения энергетически эффективной радиосистемы передачи данных в БСС. Вопросы энергопотребления датчиков беспроводных сетей - обширная тема, заслуживающая отдельного рассмотрения.
Все технологии и методы по снижению энергопотребления радиосети БСС можно разделить на три большие группы:
совершенствование физической реализации радиочастотной части узла (приемопередатчики, усилители мощности), управляющих микропроцессоров, интерфейсных и коммутационных микросхем и т.д. ;
поиск оптимальных алгоритмов канального уровня радиосети;
оптимизация сетевого уровня и сетевых протоколов БСС.
Рассмотрим выделенные группы подробнее. Оптимизация физического уровня - это, прежде всего, применение последних достижений мировой микроэлектроники, совершенствование технологии изготовления кристаллов и минимизация токов утечки, повсеместное применение цифровых компонентов и однокристальных решений.
Значительную часть времени узел беспроводной сети находится в спящем режиме. Эта особенность диктует необходимость наличия режима пониженного энергопотребления у всех без исключения применяемых микросхем (так называемый «спящий режим»). Учитывая указанную выше емкость ХИТ, энергопотребление каждого элемента узла в этом режиме работы не должно превышать единиц микроампер.
Повышение энергетической эффективности системы достигается также применением в узлах сети микропотребляющих микроконтроллеров (МК), имеющих раздельную гибкую систему тактирования ядра и периферии. Как пример, на рисунке 1 показана схема тактирования микроконтроллеров Microchip семейства PIC18, выполненных по технологии nanoWatt.
and Fwa-Speed Start-up
Рисунок 1. Блок-схема генератора тактовых импульсов микроконтроллеров Microchip семейства PIC18, выполненных по технологии nanoWatt.
Подобная схема позволяет за один такт работы МК переключать частоту тактирования (меняя лишь внутренние коэффициенты умножения) и, соответственно, переходить от высокого быстродействия при выполнении критичных участков программного кода к ультранизкому энергопотреблению в спящем режиме.
Желательно наличие также аппаратно реализованного внутреннего источника тактирования микроконтроллера. Схема тактирования с внешним кварцевым резонатором является более ресурсоемкой, т.к. на ее запуск требуется определенное время, во время которого МК работает вхолостую. Применение внешнего кварцевого резонатора оправдано лишь при повышенных требованиях к быстродействию или стабильности тактирования ядра.
К приемопередатчику, как основному элементу радиотракта узла БСС, с точки зрения энергопотребления предъявляется целый ряд требований. Прежде всего, это токи потребления в режимах приема и передачи, спящем и дежурном режиме (режиме Standby). Большое значение имеет также время переключения между этими режимами и время переключения при смене рабочих частот. При увеличении этих временных интервалов соответственно возрастает время работы вхолостую микроконтроллерной части всего узла, что приводит к росту энергопотребления. Для адаптивного управления мощностью передатчика, в условиях меняющейся помеховой обстановки, необходимо наличие аппаратного модуля измерения уровня несущей.
Как правило, при реализации современных трансиверов используются высокостабильные кварцевые резонаторы. Учитывая сказанное выше, а также необходимость выключения приемопередатчика (для снижения энергопотребления) , при сохранении работы МК, схемы тактирования трансивера и МК целесообразно выполнять раздельно.
Грамотная разводка печатной платы узла БСС способствует снижению уровня помех в радиотракте, что увеличивает бюджет канала связи и дает возможность снизить излучаемую мощность передатчика (и, соответственно, энергопотребление), при сохранении допустимого уровня BER (Bit Error Rate -процент ошибочных битов, полученных при передаче данных).
Рассмотрим вторую группу выделенных методов снижения энергопотребления БСС. К ней относятся общие методы оптимизации канального уровня радиосети. В целом можно выделить два типа сетей БСС: сети без синхронизации доступа; сети с синхронизацией доступа.
Как уже неоднократно отмечалось [3,4], синхронизация работы радиосети позволяет минимизировать энергопотребление всей системы в целом, так как позволяет отказаться от постоянного прослушивания эфира приемниками. Базовым механизмом доступа в сеть в обоих случаях является протокол CSMA/CA (множественный доступ к среде с контролем несущей и предотвращением коллизий). Примерная временная диаграмма работы трансивера узла БСС представлена на рисунке 2.
BNT RTS_rx ACK_tx GTS_rx BNR RTS_tx ACK_rx GTS_tx
lililí I I 1 1 1 1 1 1 1 1 lililí I I 1 1 1 1 1 1 1 1
lililí 1 1 >ежим 1 1 1 1 1 1 1 1 1 1 ежим 1 1 1 1 1 1 1 1
Рисунок 2. Временная диаграмма работы трансивера узла БСС.
В режиме ведущего (режиме ретранслятора - РТ) узел излучает синхромаяк (BNT, его параметры и частота следования будут рассмотрены ниже). Во время первого интервала (RTS_rx) предоставляется доступ на конкурентной основе в соответствии с алгоритмом CSMA/CA. Во время второго интервала (ACK_tx) ведущий узел назначает своим ведомым номера слотов гарантированного доступа. При этом устройство получает доступ во время закреплённого за ним временного интервала (GTS). Использование алгоритма CSMA/CA при наличии синхронизации имеет особенности, связанные с привязкой случайных параметров алгоритма к временным интервалам (слотам) RTS. Если в текущем слоте RTS принимается решение о наличии свободного канала (несущая не обнаружена), то кадр данных передаётся в слоте, отстоящем от текущего по номеру на некоторое случайное целое число С1. Если было принято решение о том, что канал занят (несущая обнаружена), попытка передачи возобновляется на слоте, отстоящем по номеру от текущего на некоторое случайное целое число С2.
При работе узла сети в качестве оконечного устройства, режим ведущего отсутствует, и приемопередатчик включается только для приема синхромаяка, обеспечивая минимальное энергопотребление. Длительность и количество слотов RTS могут динамически меняться, подстраиваясь под структуру сети и тип передаваемого трафика. В дальнейшем будем рассматривать сети, предназначенные для передачи относительно небольшого объема полезной информации (десятки байт).
Рассмотрим основные функциональные режимы работы трансивера, существенно влияющие на энергопотребление узла сети:
передача синхромаяка (при выполнении узлом функций РТ);
прием синхромаяка;
прослушивание слотов RTS (при выполнении узлом функций РТ);
передача сигнала присутствия (необходим для подключения новых устройств в сеть) ;
пробуждение (выход МК из «спящего» режима в начале каждого слота и выполнение служебной части программы) ;
ответ на автоконтроль;
запрос автоконтроля;
передача информационных пакетов в сутки;
прием информационных пакетов в сутки (при выполнении узлом функций РТ);
10) пропуски синхромаяка в сутки;
11) «спящий» режим.
Под автоконтролем понимается такие параметры сети, при которых ведущие узлы периодически опрашивают ведомых, с целью возможного обнаружения неисправных, или потерявших связь узлов (что особенно актуально для охранных систем) . Параметры автоконтроля зависят также и от сетевых алгоритмов БСС.
Общим и действенным методом снижения энергопотребления практически для всех режимов (за исключением 5,10,11) является повышение скорости передачи данных, т.к. при этом снижается длительность радиопакетов и время нахождения узла в режиме приема. Однако, как правило, варьировать скоростью передачи данных (в сторону увеличения) в реально функционирующих сетях затруднительно, т.к. снижается дальность связи и повышается количество ошибок в канале.
Более подробно остановимся на функциональных режимах работы.
Режим 1. Средний ток потребления (за 1 секунду) в режиме передачи синхромаяка зависит от следующих параметров МК и трансивера:
I _beacon _txd = f (v, I _mk, I _tx, I _ st _ by, N_ byte, N_byte _ pattern,
F _ beacon, T _ os, T _ str, T _ command) ,
где V - скорость передачи данных, бит/с, I _ mk - ток потребления МК в рабочем режиме, А,
I _ tx - ток потребления трансивера в режиме передачи, А, I _ st _ by - ток потребления тран-
сивера в режиме StandBy, А, N _ byte - количество информационных байт в пакете, N _ byte _ pattern -количество синхробайт и байт преамбулы в пакете синхромаяка, F_beacon - частота передачи пакетов синхромаяка, Гц, (количество пакетов синхромаяка в секунду), T _ os - время установление режима StandBy в трансивере, с, T _ str - время установление режима передачи в трансивере, с,
T _command - время выполнения команды на смену рабочей частоты, с.
Режим 2. Средний ток потребления (за 1 секунду) при приеме синхромаяка.
I _ beacon _ rxd = f (v, I _ mk, I _ rx, I _ st _by, N_byte, N _byte _ pattern,
F _ beacon, T _ os, T _ sre, T _ command, T _early) ,
где I_rx - ток потребления трансивера в режиме приема, А, T _sre - время установление режима приема в трансивере, с, T_early - время «раннего» (до начала работы передатчика) выхода в режим приема, с. Ранний выход необходим при возможной рассинхронизации трансиверов.
Режим 3. Средний ток потребления (за 1 секунду) при прослушивание слотов RTS.
I_RTS _ rxd = f (v, I _mk, I_ rx, I_ st _by, N_RTS, F_beacon, N_byte_ pattern,
T _ os, T _ sre, T _ early) ,
где N _ RTS - количество слотов RTS. Определяется по заданным тактико-техническим характеристикам конкретной БСС.
Режим 4. Средний ток потребления (за 1 секунду) при передаче сигнала присутствия. Пакет сигнала присутствия аналогичен пакету синхромаяка, отличаясь от последнего только частотой передачи пакетов.
I _ occur = f (v, I _ mk, I _ tx, I _ standby, N_ byte, N_ byte _ pattern,
F _ occur, T _ os, T _ str, T _ command) ,
где F _ occur - частота передачи пакетов сигнала присутствия, Гц, (количество сигналов присутствия в секунду).
Режим 5. Средний ток потребления (за 1 секунду) при выходе МК из «спящего» режима в начале
каждого слота и выполнение служебной части программы.
I _ wakeup = f (I _ mk, F _ wakeup, T _ osc, T _ wakeup) ,
где F _wakeup - частота выхода МК из спящего режима, Гц, (определяется алгоритмами реализации канального уровня БСС), T _ osc - время выхода МК из спящего в рабочий режим, с, T_ wakeup -
время выполнения служебной части программы МК при каждом выходе из спящего режима, с.
Режим 6. Средний ток потребления (за 1 секунду) при ответе ведомого блока на автоконтроль.
Сигнал ответа на автоконтроль аналогичен синхромаяку, отличаясь от последнего только частотой передачи пакетов.
I _ ak = f (v, I _ mk, I _tx, I _ standby, N_ byte, N_ byte _ pattern, F _ ak, T _ os, T _ str) ,
где F _ak - частота передачи пакетов сигнала автоконтроля, Гц.
Режим 7. Средний ток потребления (за 1 секунду) при запросе ведомого блока на автоконтроль.
Энергопотребление в данном режиме аналогично режиму приема синхромаяка, отличаясь от последнего
только вследствие разницы частоты приема пакетов маяка и автоконтроля соответственно.
I _ ak _ ask = f (v, I _ mk, I _ rx, I _ st _by, N_byte, N_byte _ pattern,
F _ak, N_ child, T _ os, T _ sre, T _ early) ,
где N_child - количество ведомых устройств у ведущего блока.
Режим 8. Средний ток потребления (за 1 секунду) при передаче информационного пакета.
I _ paket _ TX = f (v, I _ mk, I _tx,I _ rx, I _ standby, N _ byte, N _ byte _ pattern, N _ byte _ paket,
F _paket, T_ os, T _str, T _sre, T _early) ,
где F _ paket - частота передачи информационного пакета, Гц, N_ byte _ paket - количество ин-
формационных байт.
Режим 9. Средний ток потребления (за 1 секунду) при приеме информационного пакета. Данный режим присутствует только у узла, выполняющего функцию ретранслятора.
I _ paket _RX = f (v, I _ mk, I _tx,I _ rx, I _ standby, N _ byte, N _ byte _ pattern, N _ byte _ paket,
F _paket, T _os, T _str, T _sre, T _early) .
Режим 10. Средний ток потребления (за 1 секунду) при наличии пропусков синхромаяка.
I _ miss = f (I _ mk, I _ rx, F _ miss),
где F _miss - частота пропусков пакета синхромаяка, Гц.
Режим 11. Средний ток потребления (за 1 секунду) в спящем режиме МК. Является функцией всех перечисленных выше параметров.
I _ sleep = f (v, I _ mk, I _ tx, I _ rx, I _ st _ by, I _ sleep,
N _ byte, N _ bate _ pattern, N _ byte _ paket, N _ RTS,
F _ occur, F _ wakeup, F _ ak, N _ child, F _ paket, F _ miss,
T _ os, T _ str, T _ sre, T _ early, T _ command, T _ osc, T _ wakeup).
где I _ sleep - ток потребления МК в спящем режиме, А.
Сложность алгоритмов канального уровня БСС приводит к тому, что средний ток потребления узла является функцией многих переменных. Для определения направлений оптимизации энергопотребления следует выделить наиболее энергоемкие режимы (в зависимости от скорости передачи данных, которая, как правило, задается на этапе проектирования и является определяющей для многих параметров БСС).
Рассмотрим режимы энергопотребления для действующего образца радиосистемы беспроводной сенсорной сети, реализованной на базе интегрального, однокристального приемопередатчика XE1205F (фирмы Semtech) и микроконтроллера PIC18LF67 22 (фирмы Microchip). Полученные параметры системы следующие:
и = 4800; 9600; 19000; 50700 бит / с I _mk = 4,95 мА , I _tx = 60,05 мА , I _ rx = 16,90 мА , I _ st _by = 0,90 мА , N_byte = 8 - для пакета синхромаяка, N_byte = 14 - для информационного пакета, N_byte_pattern = 6 ,
N RTS = 5 , F occur = — Гц , F wakeup = 33 Гц , F ak = — Гц , N child = 5 , F paket = —1— Гц ,
20 20 3600
F miss = —1— Гц , T os = 2 ме , T str = 350 мкс , T sre = 850 мкс , T early = 3 мс , T command = 100 мкс ,
3600 ~ ~ ~
T _ osc = 102 мкс , T _ wakeup = 120 мкс ,
Полученные значения средних токов потребления узлов БСС в различных режимах, а также время автономной работы от литиевого элемента LS 33600C (с учетом саморазряда 1% в год) приведены в таблице 1.
Таблица 1. Средние токи потребления узлов БСС в различных режимах.
№ Режимы и = 4800 бит / с и = 9600 бит / с и = 19000 бит / с и = 50700 бит / с
Средний ток потребления, мкА
Узел РТ Узел РТ Узел РТ Узел РТ
1 Передача маяка - 1567 - 803 - 420 - 181
2 Прием маяка 478 478 279 279 180 180 118 118
3 Прослушивание RTS - 1236 - 810 - 597 - 464
4 Сигнал присутствия 60 60 31 31 16 16 7 7
5 Пробуждение 73 73 73 73 73 73 73 73
6 Ответ на автоконтроль 78 78 40 40 21 21 9 9
7 Запрос автоконтроля - 119 - 70 - 45 - 29
8 Передача инф.пакетов 1 1 1 1 менее 0,5 менее 0,5 менее 0,5 менее 0,5
9 Прием инф.пакетов - 1 - 1 - менее 0,5 - менее 0,5
10 Пропуски маяка 8 8 8 8 8 8 8 8
11 Спящий режим 194 176 199 186 201 191 203 194
Суммарный средний ток 892 37 97 631 2302 499 1551 418 1083
Время автономной работы, лет 2,31 0,55 3,23 0,91 4,06 1,34 4,81 1,91
Зависимости суммарных токов потребления и времени автономной работы узлов БСС от скорости передачи данных приведены рисунках 1 и 2.
Рисунок 1. Зависимости суммарных токов потребления узлов от скорости передачи данных.
Время
автоном
4,81
работь4,06
4800 бит/с
Время работы узлаВремя работы РТ
Рисунок 2. Зависимости времени автономной работы узлов от скорости передачи данных.
Полученные результаты подтверждают, что повышение скорости передачи данных является действенным методом снижения энергопотребления узлов БСС.
На рисунке 3 приведены зависимости значений токов потребления узлов БСС в различных режимах от скорости передачи данных.
I потр, мкА
разлпчпdia pemmviuD ихаии і di pd^nuiviu^civid
--------------------------- ■ 4800 бит/с ----------
___________________________ ■ 9600би т/с __________
■ 19000 бит/с
200
0
I 50700 бит/с
* у
Рисунок 3. Зависимости значений средних токов потребления в различных режимах от скорости передачи данных.
Для определения направлений оптимизации энергопотребления для обычного узла БСС и узла, выполняющего функции ретранслятора, рассмотрим зависимости относительных значений токов потребления (рисунки 4 и 5 соответственно).
Рисунок 4. Зависимости относительных значений средних токов потребления РТ в различных режимах от скорости передачи данных.
Полученные значения позволяют для узлов-ретрансляторов выделить 4 наиболее энергоемких режима: передача и прием маяка, прослушивание слотов RTS и «спящий» режим. Причем при повышении скорости передачи данных возрастает доля режима прослушивания RTS и «спящего» режима, тогда как энергозатраты на передачу и прием синхромаяков снижаются. Доля остальных режимов при выбранных параметрах сети является низкой.
60
50
40
30
20
10
0
I потр, %
4300 бит/с I 9600 бит/с 190О0 бит/с I 50700 бит/с
Рисунок 5. Зависимости относительных значений средних токов потребления узлов в различных режимах от скорости передачи данных.
Для узлов БСС выделяются соответственно 3 энергоемких режима: прием маяка, пробуждение МК (выход из спящего режима в начале каждого слота) и «спящий» режим. При повышении скорости передачи данных возрастает доля «спящего» режима и режима при пробуждении МК, уменьшаются энергозатраты на прием синхромаяка.
В целом, наиболее энергозатратными режима являются прием синхромаяка, передача синхромаяка (для РТ) и прослушивание RTS (для РТ). Оптимизация именно этих режимов позволит значительно повысить время автономной работы узлов БСС. Отметим также, что при повышении скорости передачи данных, целесообразно оптимизировать и энергопотребление узлов в спящем режиме, доля которого заметно возрастает (см. рисунок 5).
В дальнейших работах планируется выделить практические рекомендации по снижению энергопотребления узлов и рассмотреть влияние сетевых алгоритмов на энергоэффективность БСС в целом.
Литература
1. Баскаков С., Оганов В. Беспроводные сенсорные сети на базе платформы MeshLogicTM // Электронные компоненты. - 200 6. - №8. - С.65-69.
2. Вихарев Л. О необходимости правильного питания или Батарейки и аккумуляторы. // Компоненты и технологии». - 2004г. - №4.
3. Киреев А.О., Светлов А.В. Беспроводные сенсорные сети в сфере технологий охраны объектов.
Надежность и качество: Труды международ. симпоз. В 2-х томах. Том 2. - Пенза: Инф.-изд. центр
ПензГу, 2008. - С.179-181.
4. Варагузин В. Радиосети для сбора данных от сенсоров, мониторинга и управления на основе стандарта IEEE 802.15.4 // ТелеМультиМедиа. - 2005.-№6.- С23-27. - www.telemultimedia.ru