№5 / 2018 / статья 3

Использование беспроводных МК SimpleLink™ для создания малопотребляющих Thread- и Zigbee-устройств

Снижение энергопотребления конечных устройств умного дома с автономным питанием, объединенных в сеть и работающих в стандартах  Thread- и Zigbee – насущная задача. Отличные возможности для этого предоставляет  беспроводной микроконтроллер CC2652 – представитель платформы SimpleLink™ – разработанный и выпускающийся компанией Texas Instruments.

Расширение функционала IoT-приложений в корне меняет характер нашего взаимодействия с электроникой. Сейчас умные устройства интегрированы в распределенную вычислительную сеть. Они всегда подключены к ней, даже когда обрабатывают действия пользователя, генерируют или анализируют данные.

Традиционный датчик присутствия не идет в сравнение по сложности с современным многоцелевым датчиком, который измеряет температуру и влажность, использует энергию солнечного света и посылает команды управления освещением. Лампы освещения – еще один пример того, как функционал устройств выходит далеко за пределы привычных рамок. Сравните прежнюю лампу накаливания и современный светодиодный источник, который обладает встроенной функцией энергосбережения и общается по беспроводному каналу с другими интеллектуальными лампочками и устройствами, находящимися поблизости.

Такой скачок в расширении функционала требует повышения вычислительной мощности, увеличения объемов памяти для хранения данных, развития функций безопасности и коммуникативных возможностей. Столь значительные изменения неизбежно оказывают влияние на общий уровень потребления устройств. Технологии и платформы IoT должны решить задачу по интеграции новых функций в уже существующие устройства, а также обеспечить сохранение срока службы элементов питания на уровне предшественников.

Срок службы батареи – важная характеристика для пользователей. Этот показатель напрямую определяет затраты, связанные с заменой источников питания, а также – удобство использования и простоту обслуживания. Ухудшение экологической ситуации заставляет регулирующие органы разных стран вводить обязательные требования к уровню потребления беспроводных устройств, находящихся в режиме ожидания. Следовательно, потребление устройств, подключенных к беспроводной сети, необходимо жестко контролировать.

IoT-устройства должны обеспечивать минимальное потребление во всех режимах работы: в режиме сна, в режиме с активным беспроводным подключением и интенсивным обменом данными с сетью, в режиме получения и обработки данных от встроенных или внешних датчиков.

Беспроводные микроконтроллеры SimpleLink CC2652 отвечают всем требованиям по минимальному уровню потребления для таких приложений как системы безопасности, счетчики расхода, системы мониторинга окружающей среды, метки для отслеживание грузов и так далее. Они поддерживают множество малопотребляющих беспроводных технологий, работающих в диапазоне 2,4 ГГц (включая Thread и Zigbee) и входящих в комплект программного пакета SimpleLink CC26x2 Software Development Kit (SDK).

Технологии Thread и Zigbee используют сети с ячеистой топологией для обеспечения минимального потребления при взаимодействии беспроводных устройств. Эти технологии очень популярны в таких областях как автоматизация домов и зданий, автоматизация производства, автоматизации розничной торговли и отслеживание грузов.

Микроконтроллеры CC2652 производства компании Texas Instruments™ отличаются минимальным потреблением в спящем и в активном режимах, а также при получении и обработке данных с датчиков. CC2652 раскрывают потенциал протоколов Thread и Zigbee при создании решений, ориентированных на учет параметров окружающей среды, а также обеспечивают увеличение срока службы аккумуляторов IoT-приложений.

На рисунке 1 показан поток данных при обмене с облаками Thread и Zigbee.

Рис. 1. Поток данных Thread и Zigbee при обмене с облаком

Рис. 1. Поток данных Thread и Zigbee при обмене с облаком

Оптимизация кривой потребления

На рисунке 2 показана архитектура сетевых протоколов Thread и Zigbee.

Рис. 2. Архитектура сетевых протоколов Thread и Zigbee

Рис. 2. Архитектура сетевых протоколов Thread и Zigbee

Технологии Thread и Zigbee используют асинхронный режим работы в соответствии со стандартом IEEE 802.15.4, который определяет реализацию физического уровня PHY и уровня MAC. Асинхронный режим лучше всего подходит для устройств с батарейным питанием, у которых радиомодуль большую часть времени отключен, и которые передают данные по мере необходимости (обычно – когда происходит какое-либо событие или по запросу пользователя, например, при нажатии на кнопку).

В соответствии со спецификацией 802.15.4 устройства, которые большую часть времени находятся в режиме сна, называют устройствами с ограниченным функционалом (Reduced-Function Device, RFD) или, неофициально, конечными устройствами. В сетях с ячеистой топологией конечные устройства взаимодействуют с сетью через особый родительский узел-концентратор, приемопередатчик которого всегда включен, и который выступает в качестве прокси. Технологии Zigbee и Thread используют один и тот же беспроводной канал 802.15.4 и имеют схожие сетевые функции. В случае необходимости конечные устройства могут перенаправляться на другой концентратор, если соединение с исходным узлом прервано. Это связано с тем, что общение в такой сети происходит только через родительский узел независимо от местоположения конечного устройства, для которого предназначен передаваемый пакет данных.

После того как пакет, отправленный RFD-устройством, будет успешно принят родительским узлом, само RFD-устройство может немедленно вернуться в режим ожидания, независимо от того, были ли данные доставлены до адресата. Пакет надежно передается через распределенную сеть, пока устройство-отправитель находится в спящем режиме. Таким образом, выполняется оптимизация потребления конечных устройств. Им не нужно регулярно просыпаться для выполнения рутинных операций, таких как поддержание соединения или синхронизация с остальной частью сети. Расписание пробуждений определяется только нуждами самого приложения.

Поток данных обрабатывается в течение коротких циклов пробуждения. В асинхронном режиме 802.15.4 родительские узлы буферизуют данные, предназначенные для RFD-устройств, а передача этих данных осуществляется по запросу самих RFD-устройств. Кадры запроса в 802.15.4 очень короткие. Получая такой пакет, родительский узел в случае необходимости изменяет в нем всего один бит в заголовке MAC, тем самым сообщая, есть ли данные, ожидающие загрузки, и отправляет пакет подтверждения приема (ACK) обратно RFD-устройству. Данный механизм обеспечивает короткий обмен сообщениями по радиоканалу и сводит к минимуму общую потребляемую мощность. Асинхронная архитектура позволяет разработчикам гибко настраивать частоту опроса, тем самым обеспечивая компромиссное соотношение между сроком службы аккумулятора и временем доставки данных, в зависимости от потребностей приложения.

Обеспечение хороших показателей энергоэффективности во многом зависит от уровня потребления в активной фазе рабочего цикла. По этой причине необходима оптимизация кривой потребления.

На рисунке 3 представлена типовая кривая потребления для устройств Thread и Zigbee. Она включает фазы сна и бодрствования. Мы проанализируем вклад каждой из этих фаз, чтобы показать их влияние на общий уровень потребления. Рассмотрим последовательность действий при пробуждении и передаче пакета по каналу 802.15.4:

  1. выход из режима ожидания;
  2. запуск и калибровка кварцевого генератора;
  3. инициализация радиомодуля;
  4. переключение в режим приема;
  5. получение доступа к радиоканалу (CCA);
  6. переключение в режим передачи;
  7. передача кадра данных IEEE 802.15.4;
  8. переключение в режим приема;
  9. получение кадра подтверждения IEEE 802.15.4;
  10. переход в спящий режим.

Длительность фаз с 5 по 9 определяется таймингами протокола 802.15.4, а также объемом передаваемых служебных и полезных данных. Устройства Thread и Zigbee посылают данные со скоростью 250 кбит/с, а размер служебных пакетов, например, MAC ACK, и время операций, например, CCA, имеют фиксированные значения. В то же время объем полезных данных изменяется в зависимости от требований приложения. Каждый посылаемый байт добавляет 32 микросекунды ко времени передачи (фаза 7).

Рис. 3. Типовая кривая потребления устройств Thread и Zigbee®

Рис. 3. Типовая кривая потребления устройств Thread и Zigbee®

Для уменьшения потребления необходимо «сжать» кривую потребления. Этого можно добиться несколькими способами:

  • минимизировать длительность фаз, не связанных с реализацией беспроводных протоколов, например, фаз с 1 по 4, а также, 10. Это позволит сократить общую продолжительность фазы активности;
  • срезать пики потребления, приходящиеся на фазы активной работы процессора и фазы приема или передачи по радиоканалу.

Микроконтроллеры SimpleLink CC2652 построены на базе процессорного ядра ARM® Cortex®-M4F, которое может работать на частотах до 48 МГц с удельным потреблением 61 мкА/МГц. Оптимизированная система питания SimpleLink CC2652, работающая под управлением TI-RTOS, позволяет быстро начать работу после пробуждения. До начала обмена по радиоканалу микроконтроллер находится в активном режиме в течение нескольких сотен микросекунд, потребляя всего несколько миллиампер. После приема данных он успевает за несколько десятков микросекунд вернуться в режим сна.

Высокая энергоэффективность радиомодуля SimpleLink CC2652 обеспечивается за счет использования дополнительных вычислительных ядер: процессора ARM® Cortex®-M0 и DSP-ядра, применяемого для ускорения процедур PHY. Такое сочетание в значительной степени способствует уменьшению потребления, которое составляет 6,5 мА в процессе приема, и 6,3 мА в процессе передачи (0 дБм). Таким образом, Zigbee и Thread-устройства, построенные на базе микроконтроллеров CC2652, могут использовать для питания обычные дисковые батарейки, например, CR2032.

В промежутках между фазами активности устройство пребывает в спящем режиме. Влияние уровня потребления беспроводного микроконтроллера в спящем режиме на срок службы батарейки сильно зависит от особенностей приложения. Влияние оказывается значительным, если фазы активности разделены большими промежутками времени. В качестве примера таких приложений можно привести счетчики потребления, которые осуществляют передачу данных по радиоканалу раз в несколько десятков минут или часов, а большую часть времени проводят в состоянии сна.

Как упоминалось в первом разделе данной статьи, при разработке микроконтроллеров SimpleLink CC2652 повышенное внимание уделялось обеспечению минимального уровня потребления во всех режимах работы. При нахождении в состоянии сна ток потребления CC2652 составляет менее 1 мкА даже при сохранении данных в  ОЗУ (80 Кбайт). Микроконтроллеры SimpleLink CC2652 отличаются превосходными показателями потребления во всем диапазоне рабочих температур. Например, питающий ток составляет менее 1 мкА при температурах ниже 40°C и менее 3 мкА в диапазоне 40…85°C. Диапазон рабочих температур особенно важен для датчиков систем сигнализации (датчиков задымления, вскрытия и так далее), которые могут устанавливаться на открытом воздухе и подвергаются экстремальным колебаниям температуры.

В таблице 1 приведены средние значения токов потребления устройств Zigbee и Thread при выполнении типовых операций. Данные получены при работе с оценочным модулем SimpleLink CC2652 и ПО из SimpleLink software development kit (SDK). В процессе измерений выполнялся стек Zigbee из SimpleLink CC26x2 SDK, а мощность передачи составляла 5 дБм.

Таблица 1. Параметры потребления SimpleLink CC2652 при использовании Zigbee и Thread

Протокол Опрос 1 раз в секунду, мкА Пересылка 36 байт один раз в секунду, мкА Пересылка 36 байт один раз в 30 секунд и полинг один раз в секунду, мкА Срок службы батарейки 200 мА·ч, лет
Zigbee 21 39 (APS) 9,1 2,51
Thread 22 37 (UDP) 9,6 2,38

Служебные операции и данные, относящиеся к реализации беспроводных протоколов, влияют на общий уровень потребления. Благодаря использованию асинхронной связи на уровнях 802.15.4 MAC и PHY конечные устройства Thread и Zigbee с батарейным питанием эффективно обмениваются информацией без необходимости постоянной передачи сообщений для поддержания соединения с сетью. Если родительский узел исчезает из сети – конечное RFD-устройство может быстро выполнить его повторное назначение с помощью штатной процедуры уровня 802.4 MAC → 802.15.4, которая включает всего два сообщения.

При выборе Zigbee и Thread необходимо учитывать существующие ограничения – как с точки зрения пропускной способности, так и с точки зрения максимального объема полезных данных.

При разработке Thread и Zigbee большое внимание уделялось минимизации накладных расходов верхних сетевых уровней и созданию эффективного формата инкапсулируемых сообщений.

  • Thread представляет собой адаптацию технологии 6LoWPAN, использующей сжатие IP-заголовков в ячеистых сетях. С точки зрения сокращения числа байтов Thread лучше всего работает, когда основным протоколом является UDP. Сжатие заголовков UDP и IP может снизить накладные расходы каждого пакета с 40 до 2 байт при локальном обмене в ячеистой сети, что значительно сокращает время передачи и обработки. Пересылка пакетов на канальном уровне является еще одной важной особенностью 6LoWPAN. Узлы могут быстро и эффективно маршрутизировать пакеты в ячеистой сети без обработки на сетевом уровне. Эта функция экономит вычислительные ресурсы центрального процессора и улучшает параметры энергопотребления.
  • Устройства Zigbee применяют короткие 16-разрядные адреса для связи друг с другом. Уровни NWK, APS и ZCL оптимизированы для работы с бинарными данными, передаваемыми небольшими пакетами. Как правило, пакеты, например, уведомления о пожарной тревоге или команды управления яркостью света, передаются с помощью ZCL с полезной нагрузкой в несколько байт, что позволяет снижать потребление за счет минимального времени передачи и обработки.

В таблице 2 перечислены различия в стеках протоколов Thread и Zigbee. Там же обобщается их влияние на уровень потребления.

Таблица 2. Стеки протоколов Thread и Zigbee® и их влияние на уровень потребления

Уровень Zigbee® Thread Влияние на уровень потребления
Канальный уровень 802.15.4, асинхронный 802.15.4, асинхронный Этот уровень позволяет использовать батарейное питание, так как устройства просыпаются только для того, чтобы отправить и получить данные
Сетевой уровень Zigbee, ячеистая топология IPv6/6LoWPAN Оба используют оптимизированные сокращенные пакеты
Транспортный уровень APS UDP Хотя Zigbee ориентирован на создание постоянных подключений, а Thread – без установки постоянных подключений, оба протокола разрабатывались для получения соединений «точка-точка» с минимальными служебными расходами
Уровень приложений ZCL, двоичный CoAP Оба разработаны для создания встраиваемых и малопотребляющих устройств. ZCL использует двоичные данные и имеет минимальные накладные расходы

Оценка уровня потребления: интеллектуальный источник освещения

Устройства, объединенные в одну сеть, позволяют эффективно экономить энергию. Рассмотрим пример сети, включающей несколько лампочек со встроенными сенсорами присутствия и яркости, которые могут общаться друг с другом и с другими устройствами сети, например, с термостатами и датчиками параметров окружающей среды.

Используя данные, собранные самим устройством и полученные от других участников сети, можно снизить потребление тока, затрачиваемого на искусственное освещение, например, за счет применения солнечных батарей или за счет отключения освещения в комнатах или коридорах, в которых отсутствуют люди. Беспроводные сети датчиков, такие как Zigbee и Thread, позволяют реализовывать сложные схемы управления питанием, снижая стоимость конечных систем и сокращая общие выбросы парниковых газов.

Государственные энергетические комиссии или федеральные программы (например, ENERGY STAR) были созданы для получения экономичных и энергоэффективных решений для различных категорий оборудования, например, для осветительных приборов. Эти программы устанавливают требования к работе конечного оборудования. По мере того как распределенные системы становятся умнее, ENERGY STAR вводит ограничения по уровню потребления для подключенных устройств, что приводит к общему повышению энергоэффективности.

Согласно спецификации ENERGY STAR, потребление умных ламп в режиме ожидания не должно превышать 500 мВт.

Встроенный радиомодуль интеллектуального осветительного прибора может находиться в активном состоянии и поддерживать постоянное соединение с остальной частью сети, чтобы быть готовым к приему и выполнению управляющих команд. Очевидно, что такой режим работы радиомодуля вызывает опасения у ENERGY STAR.

За последние 5 лет многие производители осветительных приборов, например, Philips, Osram и IKEA, наладили выпуск лампочек и светильников с поддержкой Zigbee. В настоящий момент интеллектуальное освещение является одним из самых популярных сегментов в системе умного дома.

Осветительные устройства с поддержкой Thread и Zigbee обычно поддерживают функцию маршрутизации, то есть они способны не только выполнять входящие команды, как правило – с задержкой менее 100 мс, но и буферизировать сообщения и пересылать их остальным RFD-устройствам. При этом встроенный радиоприемник осветительного прибора всегда включен, в то время как основная функция освещения может быть отключена.

Дополнительный вклад в общее потребление умной лампочки также вносят преобразователь напряжения и схемы защиты от помех. Их потребление может достигать нескольких сотен мВт. Мощность, потребляемая беспроводным микроконтроллером в режиме приема, также значительно влияет на общее потребление.

Беспроводные микроконтроллеры SimpleLink CC2652 потребляют в режиме приема около 6,5 мА. Несложно посчитать, что при рабочем напряжении 3,6 В потребляемая мощность будет равна 23,4 мВт. Это составляет примерно 4,7% от бюджета мощности в режиме ожидания согласно требованиям ENERGY STAR. В итоге беспроводной микроконтроллер с запасом вписывается в требования, предъявляемые ENERGY STAR при работе в режиме ожидания при отключенной основной функции освещения.

Оценка уровня потребления: использование встроенного контроллера датчиков

Технологии Thread и Zigbee часто используются в различных устройствах с батарейным питанием, предназначенных для системы умного дома и для автоматизации зданий, среди них – датчики присутствия, датчики открытия дверей и окон, детекторы дыма, датчики параметров окружающей среды, в частности – температуры и влажности.

Устройства становятся все более сложными, а их функционал постоянно расширяется, например, появляются дополнительные периферийные устройства и новые интерфейсы датчиков. Новые функциональные блоки вносят свой вклад в общий уровень потребления.

При разработке микроконтроллеров SimpleLink CC2652 значительные усилия были направлены на достижение минимального потребления при работе с датчиками. Это привело к созданию специального встроенного контроллера датчиков (рисунок 4). Контроллер датчиков взаимодействует с внешними сенсорами и способен выполнять последовательные операции (например, проведение измерений с помощью АЦП, контроль пороговых значений, обмен по SPI-интерфейсу) без необходимости пробуждения основного ядра Cortex-M4F. В качестве процессора для контроллера датчиков выступает 16-разрядное RISC-ядро, использующее до 4 кбайт ОЗУ для программ и данных и работающее на частотах 2 МГц и 24 МГц.

Рис. 4. Блок-схема CC2652 со встроенным контроллером датчиков

Рис. 4. Блок-схема CC2652 со встроенным контроллером датчиков

Наличие специализированного контроллера обеспечивает быстрое пробуждение и обработку показаний датчиков, а также снижение общего энергопотребления за счет минимального собственного удельного потребления, составляющего 11 мкА/МГц. Например, проведение измерений с помощью 12-битного АЦП с частотой 1 выб/с увеличит общее потребление менее чем на 1 мкА.

Контроллер датчиков может выполнять и более сложные задачи, например, обеспечивать измерение расхода воды или газа с потребляемым током менее 2 мкА при частоте выборок 16 Гц. Аналогичные показатели удается получить при считывании и обработке показаний цифрового SPI-датчика с частотой 100 Гц.

Контроллер датчиков программируется с помощью утилиты с графическим пользовательским интерфейсом SimpleLink Sensor Controller Studio. Эта программа позволяет разработчикам не только настраивать контроллер датчиков, но и генерировать файлы драйверов, которые могут быть скомпилированы для основного ядра Cortex-M4F.

Заключение

Технологии Thread и Zigbee используются как в приборах с батарейным питанием, так и в устройствах с питанием от сети. Они оказываются востребованными в осветительных приборах, системах безопасности, системах климат-контроля и прочем.

В активном режиме беспроводные устройства обмениваются данными по радиоканалам, обрабатывают входные сигналы, поступающие от внешних датчиков и периферийных блоков. Находясь в режиме сна, они ожидают наступления внешних событий для пробуждения. Микроконтроллеры SimpleLink CC2652 позволяют создавать уникальные малопотребляющие устройства Zigbee и Thread, которые обеспечивают наилучшие показатели потребления при выполнении самых разнообразных задач во всех режимах работы на протяжении жизненного цикла. В конечном итоге контроллеры SimpleLink CC2652 обеспечивают экономию средств, простоту обслуживания и разработку более экологичных решений.

Реализации стеков Thread и Zigbee для микроконтроллеров SimpleLink широко используют возможности программных инструментов и библиотек, в частности – операционной системы реального времени TI-RTOS и драйверов периферийных блоков.

Платформа SimpleLink CC2652 предлагает для разработчиков законченное решение. При этом многие вопросы по оптимизации потребления оказываются уже решенными. В таблице 3 представлены особенности CC2652 и те преимущества, которые получают устройства Thread и Zigbee, построенные на базе CC2652.

Таблица 3. Показатели потребления и преимущества при использовании микроконтроллеров CC2652 SimpleLink™

Вариант применения Особенности CC2652 SimpleLink™ Преимущества
Датчик температуры Zigbee и Thread Потребление радиомодуля Работа в течение многих лет при умеренном объеме трафика
Потребление процессорного ядра
Быстрое пробуждение
Инструменты TI-RTOS для управления питанием и режимами пониженного потребления
Освещение с Zigbee и Thread Потребление  в режиме приема Всего 5% от бюджета мощности, определенного  ENERGY STAR
Инструменты TI-RTOS для управления питанием и режимами пониженного потребления
Аналоговый датчик с использованием контроллера датчиков Контроллер датчиков Проведение измерений с помощью 12-битного АЦП с частотой 1 выб/с, требующее менее 1 мкА

В состав SDK SimpleLink входят примеры реализации коммуникационных стеков, использующие спящие режимы и возможности TI-RTOS по управлению питанием.

Дополнительные инструменты, такие как Sensor Controller Studio и ENERGY TRACE (с поддержкой TI LaunchPad™ Development Kit и TI Code Composer Studio™ IDE), позволяют разработчикам проводить гибкий анализ и настройку приложений, тем самым обеспечивая минимальный уровень потребления.

Потребление энергии и парниковые газы являются основными глобальными проблемами для сегмента IoT-приложений. По этой причине разработчики ищут технологии и платформы, которые помогут достичь лучших показателей энергоэффективности. По соотношению таких показателей как минимальное потребление, производительность, полнота и гибкость платформа TI SimpleLink не имеет аналогов.

Исходник статьи

Наши информационные каналы

О компании Texas Instruments

В середине 2001 г. компании Texas Instruments и КОМПЭЛ заключили официальное дистрибьюторское соглашение, которое явилось результатом длительной и успешной работы КОМПЭЛ в качестве официального дистрибьютора фирмы Burr-Brown. (Как известно, Burr-Brown вошла в состав TI так же, как и компании Unitrode, Power Trend и Klixon). С этого времени компания КОМПЭЛ получила доступ к поставке всей номенклатуры производимых компанией TI компонентов, ...читать далее