Новости
12.04.2024
Поздравляем с Днём космонавтики!
08.03.2024
Поздравляем с Международным Женским Днем!
23.02.2024
Поздравляем с Днем Защитника Отечества!
Оплата онлайн
При оплате онлайн будет
удержана комиссия 3,5-5,5%








Способ оплаты:

С банковской карты (3,5%)
Сбербанк онлайн (3,5%)
Со счета в Яндекс.Деньгах (5,5%)
Наличными через терминал (3,5%)

РАЗРАБОТКА ZIGBEE-СОВМЕСТИМОГО МЕХАНИЗМА УДАЛЕННОГО ОБНОВЛЕНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ МИКРОКОНТРОЛЛЕРА СЕНСОРНОГО УЗЛА

Авторы:
Город:
Зеленоград
ВУЗ:
Дата:
03 марта 2016г.

Беспроводные самоорганизующиеся автономные сенсорные сети являются одним из современных направлений развития систем контроля и управления процессами. Беспроводные сенсорные устройства (БСУ), установленные в различных помещениях промышленных зданий или на открытой местности, передают результаты измерений на другие БСУ, которые объединены в сенсорнуюmeshсеть. Целевое устройство, считывающее информацию с сенсоров, передает данные по радиоканалу стандарта IEEE 802.15.4 на центральный сервер оператора, при этом используя другие БСУ сети в качестве ретрансляторов. Такая автоматизированная беспроводная сенсорная система позволяет обеспечивать качественный и надежный дистанционный мониторинг[1].В настоящее время очень актуален вопрос территориального удаленного автоматического обновления программного обеспечения (ПО) ZigBee-узлов. Это связано с тем, что при большом количестве автономных БСУ, для традиционного обновления «прошивки» микроконтроллеров требуется ни малый промежуток времени. В случае отсутствия автоматического обновления ПО микроконтроллера сенсорного узла, каждый БСУ нужно обеспечить прямым соединением с персональным компьютером для возможности отладки и обновления ПО.

В рамках проекта была разработана сетевая технология ZigBee-совместимого механизма удаленного обновления «прошивки» микроконтроллера. Разработанные сетевые протоколы ZigBee-совместимого механизма позволяют автоматически обновлять программное обеспечение у функционально разных БСУ без использования прямого соединения с персональным компьютером. Технология ZigBee-совместимого механизма основана  с использованием независимого программного модуля – загрузчика [2]. Независимый загрузчик расположен в зарезервированной области flashпамяти микроконтроллера приемопередатчика. Загрузчик исполняет только задачи по получению новой версии «прошивки» микроконтроллера по радиоканалу или через SPI. Получив данные, загрузчик стирает из flash памяти старую программу и поверх записывает новое приложение. Существуют 2 способа автоматического обновления ПО в автономных беспроводных сенсорных сетях, первый способ – автономный загрузчик, второй – прикладной загрузчик. Программный модуль прикладного загрузчика занимает меньше места в памяти, что позволяет высвобождать часть памяти программ для основного приложения микроконтроллера. Для крупномасштабных сенсорных сетей рекомендуется применять прикладной загрузчик, а не автономный.

Главная особенность автономного загрузчика заключается в том, что взаимодействие программы автономного загрузчика с основной программой происходит только в момент передачи ему управления от основного приложения, при вызове определенной API-функции. После получения управления приложение считывает данные по SPI и при считывании определенных данных переходит в режим загрузки по ранее определенному каналу. Если на входе SPI данных нет, то включается режим работы с беспроводным приемопередатчиком стандарта ZigBee. Загружаемый файл «прошивки» должен иметь бинарный формат. При передачи бинарного нового файла «прошивки» микроконтроллера используется протокол XModem, который имеет возможность разбивать передаваемый файл на части размером в 128 байт, а также подсчитывать CRCконтрольную сумму для проверки целостности данных. При передаче файла «прошивки»микроконтроллера каждый блок данных и CRC контрольная сумма фрагментируются и передаются по радиоканалу при помощи двух пакетов, так как максимальный размер полезной нагрузки одного пакета недостаточен для передачи не фрагментированного блока. При получении первых 128 байт файла «прошивки» по радиоканалу загрузчик копирует полученные данные в flashпамять на место старого приложения. С этого момента старое ПО микроконтроллера уже невозможно восстановить, так как информация потеряна безвозвратно (Рисунок 1). Стек ZigBee и основное приложение находятся в одной области памяти. Программный модуль загрузчика не имеет доступа к стеку ZigBee. При работе с радиоканалом используются не ZigBee-пакеты, а протокол более низкого уровня. Маршрутизация и ретрансляция сообщений в ZigBee-сети происходит на более высоком, сетевом уровне стека протоколов. При использовании автономного загрузчика файл-образ нового приложения не может быть ретранслирован роутерами. Следовательно, узел источник новой «прошивки» должен находиться в зоне досягаемости узла приемника.  Существуют всего несколько режимов работы для автономного загрузчика – последовательный, транзитной пересылки, клонирования.

Существует второй механизм автоматического обновления ПО– прикладной загрузчик. Главная особенность прикладного загрузчика – это использование внешней EEPROM-памяти на плате БСУ (рисунок 1).Небольшая  дополнительная  EEPROM-память  используется  для  предварительного  сохранения  файла «прошивки», полученного целевым узлом. Дополнительная EEPROM-память создает возможность сохранения образа нового приложения и позволяет перенести работы с радиоканалом из загрузочного программного модуля в секцию основного ПО.В итоге получение файла «прошивки»по радиоканалу происходит под управлением основного приложения микроконтроллера. В этот момент до обновления основному приложению еще доступен полный стек ZigBee. Для пересылки данных используются ZigBee-пакеты, а не пакеты нижнего уровня IEEE802.15.4. Благодаря этой особенности узел-источник не обязан находиться в зоне действия узла-приемника, БСУ может быть расположено очень далеко от источника, так как используется механизм серии ретрансляций в беспроводной сенсорной сети. Управление программному загрузочному модулю микроконтроллера передается лишь после того, как новый образ «прошивки» будет сохранен во EEPROMвнешнюю память на плате БСУ.Загрузочный модуль микроконтроллера будет выполнять только задачу копирования данных из EEPROM во flashпамять по интерфейсу SPIи не поддерживает функции работы с радиоканалом. Еще одна особенность прикладного загрузчика заключается в том, что функционал механизма обновления «прошивки» реализован в загрузочном модуле и в основном приложении БСУ. Всего существуют несколько режимов работы для прикладного загрузчика –последовательной загрузки, транзитной пересылки, транзитной пересылки с ретрансляцией (Рисунок 2).




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

Работы выполнены при финансовой поддержке Министерства образования и науки Российской Федерации (Соглашение №14.577.21.0134, уникальный идентификатор прикладных научных исследований RFMEFI57714X0134) с использованием оборудования ЦКП «Функциональный контроль и диагностика микро- и наносистемной техники» на базе НПК «Технологический центр».

 

Список литературы

1.     Суханов А.В., Прокофьев И.В. Программно-аппаратный комплекс сбора и анализа данных беспроводных сенсорных сетей для систем промышленной безопасности и экологического мониторинга // Инженерные и научные приложения на базе NationalInstruments – 2014: Сборник трудов XIII международной научно- практической конференции, Москва 19-20 ноября 2014 г. –М.: ДМК Пресс, 2014. С. 185-187

2.     EmberZNet Application Developer’s Reference Manual , 14 October 2010, 120-3021-000H