Расширение информационных возможностей беспроводных сенсорных сетей, построенных на элементах XBee S2C, за счет применения микроконтроллеров типа Stellaris LM3S8962

№ 2’2012
PDF версия
В настоящее время широкое распространение получила технология передачи информации на основе беспроводных сенсорных сетей (СС) (технология ZigBee стандарта 802.15.4). Беспроводная сенсорная сеть является распределенной самоорганизующейся сетью с разнородными датчиками (сенсорами), которые объединены между собой посредством радиоканала. Самоорганизация в СС предполагает упорядочивание обменивающихся информацией узлов в контролируемую структуру, внутри которой осуществляется надежная передача информации с использованием заранее заложенных правил по адаптации сети к изменяющимся условиям и оптимизации процессов работы сети. Поскольку одной из важнейших функций является автоматический выбор схемы организации сети и маршрутов передачи данных, беспроводные СС по существу должны являться самонастраиваемыми. Статья расскажет о методах построения, тестирования и элементной базе сенсорных сетей.

Введение

В настоящее время широкое распространение получила технология передачи информации на основе беспроводных сенсорных сетей (технология ZigBee стандарта 802.15.4) [1]. Известны варианты применения сенсорных сетей (СС) с различными типами сенсоров для мониторинга объектов промышленности и транспорта. В частности, в строительстве применение СС позволяет оценить вибрации и ударные нагрузки искусственных сооружений, провести анализ загазованности тоннелей, измерить влажность и температуру среды, влияющие на износ элементов сооружений; на транспорте — провести анализ акустического фона для обеспечения безопасных для человека уровней шумов элементов конструкций и измерить другие параметры функционирования объектов транспортной инфраструктуры.

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

Беспроводная сенсорная сеть является распределенной самоорганизующейся сетью с разнородными датчиками (сенсорами), которые объединены между собой посредством радиоканала. Самоорганизация в СС предполагает упорядочивание обменивающихся информацией узлов в контролируемую структуру, внутри которой осуществляется надежная передача информации с использованием заранее заложенных правил по адаптации сети к изменяющимся условиям и оптимизации процессов работы сети. Беспроводные СС состоят из миниатюрных вычислительных устройств, снабженных разнотипными датчиками (температуры, давления, освещенности, уровня вибрации, местоположения и т. д.), а также приемопередатчиками сигналов, работающими в радиодиапазоне 2,4 ГГц со скоростями передачи данных до 250 кбайт/с. Гибкая архитектура, снижение затрат при монтаже выделяют беспроводные сети датчиков среди других беспроводных и проводных интерфейсов передачи данных, особенно когда речь идет о большом количестве соединенных между собой устройств.

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

Очевидно, что разработать схемы обмена данными между сотнями и даже тысячами сенсоров не так просто. Наряду с прочим, необходимо учесть тот факт, что СС работают в нелицензированных частотных диапазонах, поэтому в ряде случаев могут возникать помехи, создаваемые посторонними источниками радиосигналов. Желательно также избегать повторной передачи одних и тех же данных, а кроме того, учитывать, что из-за недостаточной энергоемкости и внешних воздействий соты будут выходить из строя навсегда или на какое-то время. Во всех таких случаях схемы обмена данными должны модифицироваться. Поскольку одной из важнейших функций является автоматический выбор схемы организации сети и маршрутов передачи данных, беспроводные СС по существу должны являться самонастраиваемыми [5].

 

Описание модуля XBee S2C

В настоящее время наиболее перспективными являются сенсоры, которые обеспечивают большую дальность обмена информацией по радиоканалу, это позволяет значительно расширить пространственную топологию сети. Из последних новинок на современном рынке сенсоров можно выделить программируемые модули XBee S2C [4] с улучшенными техническими характеристиками — дальностью действия до 3,2 км и потребляемым током в режиме сна около 1 мкА. Модули XBee, с точки зрения разработчика сенсорной сети, в простейшем случае могут быть эквивалентны беспроводному последовательному порту передачи данных. Каждый модуль имеет уникальный, заданный производителем 64-битный адрес. Наличие уникального адреса у каждого модуля позволяет осуществлять обмен информацией только между конкретными модулями, что необходимо для построения сетей с Mesh-топологией. Также существует режим широковещательной передачи и приема информации, в котором передаваемые данные принимаются всеми модулями в сети. Чтобы модули могли работать в одной сети, необходимо им всем задать один и тот же параметр — «Идентификатор сети» (PAN ID).

Модули могут работать в двух режимах — AT и API. При работе модуля в AT-режиме (иногда его называют «прозрачным») поток данных принимается и передается напрямую. В режиме API данные разбиваются на фреймы или блоки, каждый из которых имеет заголовок определенного формата и заканчивается контрольной суммой. Режим AT проще в использовании, однако применение API-режима позволяет обеспечить более полное управление параметрами передачи и работы модуля. Для управления модулем в AT-режиме необходимо предварительно ввести его в командный режим, подав для этого специальную команду +++. AT-режим используется для непосредственного управления модулем с компьютера или внешнего микроконтроллера. В API-режиме возможна передача команд по сети для управления удаленным модулем или изменения его параметров. Кроме того, режим API имеет еще одно важное преимущество: команды передаются такими же фреймами, как и данные, и нет необходимости тратить время на то, чтобы ввести модуль в режим управления, как в случае с AT-командами.

Технические характеристики каждого из модулей XBee, используемых для построения сети, следующие:

  • Дальность действия:
    • в помещении/городской застройке до 300 м;
    • вне помещения в зоне прямой видимости до 3,2 км.
  • Скорость передачи данных по радиоканалу до 250 кбит/c.
  • Потребляемый ток:
    • –  в режиме передачи 40 мА (3,3 В);
    • –  в режиме приема 40 мА (3,3 В);
    • –  в режиме сна <1 мкА при +25 °С.
  • Возможность программной регулировки мощности передачи — 0,5–3 дБм.
  • Возможность использования внешних антенн при наличии на модуле разъема UFL или RPSMA.

Модуль имеет четыре 10-разрядных АЦП, диапазон входного напряжения 0–1,5 В. Каждый модуль может работать в трех режимах — «Координатор», «Маршрутизатор» и «Оконечное устройство». В одной сети может быть только один координатор и до 64000 маршрутизаторов и оконечных устройств. Координатор сети должен быть включен постоянно, остальные устройства могут находиться в спящем режиме, периодически включаясь для выполнения команды или опроса датчиков.

 

Ряд проблемных вопросов при реализации технологии ZigBee и пути их решения

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

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

Проблемы применения СС

Причины и возможные способы их решения

Помехи, создаваемые посторонними источниками радиосигналов и за счет взаимного влияния близко расположенных узлов сети.

Несовершенство программного обеспечения фильтрации шума.

Возникновение соканальной интерференции из-за наличия близко расположенных сетей (например, Wi-Fi), полоса частот которых перекрывает рабочую полосу устройств ZigBee.

Возможна компенсация на основе использования технологии MeshLogic [2, 3], на основе механизма динамического выделения каналов, в зависимости от локальной помеховой обстановки, выбора свободного частотного диапазона, обеспечения работы различных участков сети на разных каналах.

Ограниченная емкость батарей. Замена батарей чаще всего невозможна, что приводит к уменьшению объема передаваемой информации.

  • Использование специальных коммуникационных протоколов альянса ZigBee.
  • Применение динамического управления напряжением питания.
  • Использование эффекта восстановления заряда при импульсной разрядке элементов питания.
  • Применение в системах с переменным периодом формирования пакетов динамических МАК-протоколов (технология MeshLogic), оптимальных по энергопотреблению с точки зрения нагрузки сети.

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

  • Применение кластерной маршрутизации — равномерных методов, основанных на знании географического местоположения устройств.
  • Применение адаптивных алгоритмов для регулировки параметров сети. Такие протоколы могут быть получены на основе согласования информации по множеству путей или исходя из учета уровня шума в канале связи.

Увеличение знаний сети о самой себе.

Разработка специального программного обеспечения для контроля качества обслуживания (оценка параметров сетевого взаимодействия, пропускной способности, процента потерянных пакетов).

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

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

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

Модернизация аппаратной платформы ZigBee.

Потеря части одновременно передаваемых сообщений из-за одновременно работающих модулей и их ограниченной ширины полосы.

Модернизация аппаратной платформы ZigBee и разработка алгоритмов частотной селекции сообщений.

Дублирование данных близко расположенных сенсоров.

Применение алгоритмов прореживания информации и сравнения данных предварительной обработки в оконечных устройствах.

Сложность реализации быстрых алгоритмов мониторинга.

Увеличение информационных возможностей узлов сети.

Требуется планирование размещения устройств на этапе проектирования сети ZigBee.

Использование преимуществ технологии MeshLogic.

Для топологии «кластерное дерево» адресация узлов жестко привязана к иерархической структуре, из-за чего при изменении адреса головного узла кластера (изменение связности) нужна повторная переадресация сети ZigBee (процесс присоединения узлов к сети).

Использование преимуществ технологии MeshLogic [2, 3] — абсолютной адресации узлов без привязки к текущему положению. Протокол маршрутизации оперирует только информацией о ближайшем сетевом окружении узла, т. е. платформа обладает свойством масштабируемости.

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

Рассмотрим решение этой задачи за счет применения микроконтроллеров типа Stellaris LM3S8962.

В программируемых модулях XBee S2C приложение пользователя загружается в отдельный микроконтроллер MC9SO8QE32. Для приложения пользователя доступно 32 кбайт flash-памяти и 2 кбайт ОЗУ. Управление ZigBee-частью производится через внутренний UART-полудуплексный интерфейс, что гарантирует целостность ZigBee-стека и повышает общую стабильность работы устройства. Все основные порты ввода/вывода XBee-модуля (кроме UART и Reset), как и прежде, выведены на краевые контакты. Порты MC9S08QE32 внутри модуля соединены с портами встроенного ZigBee-трансивера. При соответствующей настройке это позволяет использовать внешние выводы либо как порты «обычного» XBee-модуля, либо как порты MC9S08QE32. В последнем случае через линии модуля можно организовать взаимодействие с внешней периферией по интерфейсам 1-Wire, SPI, I2C и использовать внешние прерывания.

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

Распространенность микроконтроллера (75% рынка 32-разрядных встраиваемых RISC-микропроцессоров) обусловлена стандартностью ядра, что позволяет использовать программные продукты различных производителей. Контроллеры с ARM-архитектурой могут успешно использоваться в качестве процессоров для операционных систем с открытой платформой в приложениях беспроводной связи, что обеспечивается их высоким быстродействием (более 1 ГГц) и низким удельным потреблением энергии за счет внедрения метода динамического управления напряжением питания (1 мкВт/МГц).

 

Отладочная плата Stellaris LM3S8962 Evaluation Board

Плата Stellaris LM3S8962 Evaluation Board является компактной и универсальной ознакомительной платформой для микроконтроллеров Stellaris LM3S8962, основанных на ядре ARM Cortex-M3 (рис. 1). Ознакомительный набор позволяет изучить интегрированные в микроконтроллер LM3S8962 модули CAN и 10/100 Ethernet.

Расположение элементов на ознакомительной плате Stellaris LM3S8962 Evaluation Board

Рис. 1. Расположение элементов на ознакомительной плате Stellaris LM3S8962 Evaluation Board

Кроме реализации встраиваемого веб-сервера, набор может функционировать как законченный CAN-контроллер — за счет наличия двух плат, на каждой из которых имеется микроконтроллер. Отладочная плата (EVB) является CAN-хостом. Плата CAN device board, присоединяемая гибким кабелем, использует микроконтроллер Stellaris LM3S2110. Функции каждой из плат полностью конфигурируются загружаемым в них программным обеспечением. Плату EVB можно использовать как ознакомительную платформу или как недорогой интерфейс для внутрисхемной отладки (ICDI). В режиме отладочного интерфейса сигнал обходит расположенный на плате микроконтроллер, обеспечивая беспрепятственное соединение с внешней целевой платой на базе микроконтроллеров Stellaris. Кроме того, набор совместим с высокопроизводительными внешними JTAG-отладчиками.

Ознакомительный набор позволяет быстро изучать, макетировать и создавать готовые специфические приложения, предназначенные для Ethernet и CAN-сетей.

Функциональные особенности платы:

  • последовательный обмен данными, отладка и питание через USB-кабель;
  • графический OLED-дисплей с разрешением 128×96 точек;
  • пользовательский светодиод, кнопки навигации и выбора;
  • электромагнитный громкоговоритель;
  • слот для карт памяти MicroSD;
  • стандартный 20-выводный разъем ARM JTAG-отладчика с режимами входа/выхода;
  • автономная плата с CAN-интерфейсом на базе микроконтроллера Stellaris LM3S2110 [6].

 

Оснастка микроконтроллера

Контроллер Stellaris LM3S8962, основанный на ядре ARM Cortex-M3, на данный момент является довольно популярным решением для реализации широкого круга задач.

Его особенности:

  • 32-разрядная RISC-производительность, использующая архитектуру ARM Cortex-M3 v7M;
  • рабочая частота 50 МГц;
  • аппаратное деление и одноцикловое перемножение;
  • блок защиты памяти (MPU), обеспечивающий привилегированный режим для защищенного функционирования операционной системы;
  • интегрированный контроллер вложенных векторных прерываний (NVIC);
  • 42 канала прерываний с восемью уровнями приоритета;
  • flash-память объемом 256 кбайт со временем выборки один цикл тактовой частоты;
  • SRAM объемом 64 кбайт со временем выборки один цикл тактовой частоты;
  • четыре 32-разрядных таймера общего назначения;
  • интегрированные модули MAC и PHY Ethernet;
  • модуль CAN-интерфейса;
  • полностью программируемые 16C550-совместимые UART;
  • четыре канала 10-разрядного АЦП (входы), используемые как несимметричные входы;
  • один интегрированный аналоговый компаратор;
  • один модуль I2C;
  • два блока ШИМ-генератора;
  • один 16-разрядный счетчик;
  • два компаратора;
  • генерация двух независимых ШИМ-сигналов;
  • один генератор мертвого времени;
  • два модуля квадратурного энкодера (QEI) с интегратором положения для отслеживания положения энкодера;
  • два синхронных последовательных интерфейса (SSI);
  • 0–42 линии ввода/вывода общего назначения (GPIO), в зависимости от пользовательской конфигурации;
  • встроенный стабилизатор с низким падением напряжения (LDO).

 

Среда разработки приложений фирмы National Instruments — LabVIEW Embedded Module for ARM Microcontrollers

Для программирования контроллеров целесообразно использовать высокоуровневые среды разработки, которые позволяют существенно сократить время на создание программного обеспечения. Таким средством является модуль NI LabVIEW Embedded Module for ARM Microcontroller, который позволяет создавать приложения в LabVIEW для широко распространенных встраиваемых 32-разрядных процессоров с сокращенным набором команд (архитектура RISC), таких как ARM7, ARM9 и Cortex-M3. Модуль разработан совместно компаниями National Instruments и ARM. С помощью этого модуля можно упростить процесс программирования, отладки, симуляции микроконтроллера.

Среди его возможностей:

  • создание приложений для более чем 260 микроконтроллеров ARM7, ARM9 и Cortex-M3;
  • встроенные драйверы для аналогового ввода/вывода, ШИМ, TCP/IP, RS-232/485, I2C, SPI;
  • симуляция приложения на ПК с использованием аппаратного ввода/вывода;
  • простые функции API для вставки текстового С-кода в блок-схему.

Модуль построен на основе технологии LabVIEW Embedded, которая позволяет программировать встраиваемые системы, применяя хорошо зарекомендовавший себя основной принцип LabVIEW — потоковое графическое программирование [7].

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

При такой постановке задачи второй путь может оказаться более предпочтительным.

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

Компания National Instruments является одним из ведущих разработчиков контрольно-измерительных систем, в основе которых лежит концепция виртуальных измерительных приборов. Технология виртуальных приборов опирается на современную компьютерную технику в комбинации с гибким программным обеспечением и модульным высокопроизводительным оборудованием для создания мощных компьютерных измерительных решений. Подход виртуальных приборов позволяет создавать мощные приложения для повышения производительности и эффективности на всех этапах — от исследования к опытным разработкам и реальному производству.

Флагманским продуктом компании National Instruments является высокоэффективная программная среда LabVIEW, которая сочетает простоту графического подхода с гибкостью мощного языка программирования. LabVIEW тесно интегрируется с измерительным оборудованием ведущих в этой области фирм-производителей, что позволяет быстро создавать эффективные решения в области сбора данных и управления. С помощью LabVIEW вместо написания текста программы создается графическая блок-диаграмма виртуального прибора.

Данные могут быть получены от тысячи разнообразных устройств, включая промышленные контроллеры PLC; встраиваемые платы ввода/вывода сигналов видео и управления приводами; последовательный, GPIB- и Bluetooth-интерфейсы; сетевые протоколы TCP и UDP. Создаваемая программа имеет возможность взаимодействия с другими системами посредством компьютерных сетей, ActiveX, динамически подключаемых библиотек DLL, языка общения с базами данных SQL. Кроме того, данная среда разработки является полностью открытой, т. е. позволяет получить доступ к любым компонентам внутри нее. Одним из основных достоинств LabVIEW является ее мультиплатформность, т. е. она поддерживает работу на основных операционных системах (Windows, UNIX, Linux, MacOS).

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

Как и любой другой высокоуровневый язык программирования, LabVIEW является полноценным компилятором и позволяет создавать исполняемые модули (файлы .exe) и динамические библиотеки (файлы .dll). Генерируемый программный код оптимизирован таким образом, что скорость быстродействия сравнима с кодом, получаемым С-компилятором.

Кроме того, в распоряжении пользователя сотни функций для быстрого анализа и обработки данных, возможность работы с портами ввода/вывода и интерактивный интерфейс для отладки приложений. Управлять кэш-памятью и наблюдать за ходом выполнения приложения возможно благодаря обновлению элементов на front panel практически в реальном времени через JTAG, последовательный интерфейс или TCP/IP-соединение. Модуль для ARM-микроконтроллеров также имеет генератор С-кода, который переносит на С блок-диаграммы, созданные в LabVIEW [3].

 

Способ создания интерфейса управления сенсорами с использованием UART

Виртуальный COM-порт (VCP) позволяет приложениям Windows (таким как HyperTerminal) обмениваться данными с блоком UART0 микроконтроллера LM3S8962 через USB-интерфейс. После установки драйвера VCP для FT2232 Windows назначает номер COM-порта для канала VCP.

Ознакомительная плата поддерживает функции последовательной трассировки Cortex-M3 на выходе SerialWire (SWO). Под управлением отладчика микросхема CPLD может маршрутизировать поток данных SWO на передающий канал виртуального порта обмена данными (VCP). После этого отладчик может декодировать и интерпретировать информацию о трассировке, принятую из VCP. При использовании SWO нормальное соединение VCP с UART0 прерывается.

 

Веб-сервер в микроконтроллере

Ключевой особенностью микроконтроллера LM3S8962 является полностью интегрированный Ethernet-контроллер. Для получения законченного 10/100 base T-интерфейса необходимо только подключение разъема RJ45 со встроенным трансформатором и несколькими пассивными компонентами. В разъем RJ45 обычно встраиваются светодиоды, которые отображают состояние соединения и трафик. Они могут управляться автоматически встроенным в микроконтроллер аппаратным обеспечением. В качестве альтернативы светодиодами можно управлять программно, используя выходы общего назначения.

Микроконтроллер LM3S8962 поддерживает автоматическое переключение MDI/MDI-X, таким образом, EVB можно непосредственно подключать к локальной сети или другим Ethernet-устройствам, без необходимости использования кабелей с разной разводкой разъемов.

Схема организации расширения модуля XBee S2C с помощью контроллера Stellaris LM3S8962 представлена на рис. 2.

Схема организации расширения модулей XBee

Рис. 2. Схема организации расширения модулей XBee

При применении подобной надстройки над сенсором предполагается достичь следующих результатов:

  • На базе контроллера можно реализовать сложные математические алгоритмы и распределенные вычисления. Это существенно снизит нагрузку на сеть, так как объем передаваемых данных также снизится. За счет этого можно оптимизировать топологию сети, сделав ее более гибкой и функциональной.
  • Возможна организация накопления и буферизация данных на накопитель (карта microSD). Это позволит реализовать хранение данных при долгосрочном мониторинге.

На базе встроенного веб-сервера возможно реализовать связь каждого сенсора или координатора XBee посредством Интернета.

Литература
  1. Соколов М., Гришин А. Аппаратные средства реализации беспроводных решений ZigBee/802.15.4 // Современная электроника. 2006. № 9.
  2. Баскаков С., Оганов В. Беспроводные сети на базе платформы MeshLogic // Электронные компоненты. 2006. № 8.
  3. Баскаков С. Оценка энергопотребления беспроводных узлов в сетях MeshLogic // Беспроводные технологии. 2010. № 1.
  4. Пушкарев О. ZigBee-модули XBee: вопросы практического применения // Беспроводные технологии. 2009. № 3.
  5. Сергиевский М. Беспроводные сенсорные сети // Компьютер Пресс. 2007. № 8.
  6. Отладочная плата Stellaris LM3S8962 Evaluation Board. Руководство пользователя.
  7. Руданов Г., Проценко А. LabVIEW Embedded — комплексная среда разработки для ARM-микроконтроллеров. // Компоненты и технологии. 2008. № 7.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *