Подписка на новости

Опрос

Нужно ли ввести комментарии к статьям? Комментировали бы вы?

Реклама

2010 №3

Программируемые модули XBee серии S2B

Пушкарев Олег


Осенью 2010 года компания Digi существенно обновит свою линейку беспроводных модулей XBee. Впервые появляются модули со встроенным дополнительным микроконтроллером и SMD-модули на базе новейшей микросхемы EM357. Дальность действия новых модулей возрастает до 3200 метров, что заметно расширяет область применения этих радиочастотных устройств. В статье дан обзор модулей XBee повышенной мощности, построенных на платформе S2B.

Новые модули XBee-PRO (повышенной мощности) являются модификацией модулей серии 2 [1] и имеют то же самое конструктивное исполнение, но новую внутреннюю «начинку». Производитель не раскрывает сути аппаратных изменений, но по косвенным признакам можно предположить, что изменения коснулись прежде всего радиочастотной части. Модули XBee-PRO S2B выпускаются в двух вариантах — обычном и программируемом. Непрограммируемый вариант модулей S2B является рекомендованной заменой для всех предыдущих мощных модулей серии 2, то есть для модулей XBP24 с прошивками ZNet и ZB (серия 2). В связи с постоянным обновлением аппаратной и программной «начинки» классификация модулей XBee получилась несколько запутанной, поэтому в таблице 1 приведена информация, облегчающая идентификацию модулей исходя из их наименований (партнамберов) в том виде, в котором они присутствуют на российском рынке [2].

Т а б л и ц а 1 . Наименования и типы модулей XBee
Аппаратная
платформа
Наименование Описание (выходная мощность/
антенна/сетевые функции)
Серия/
программная платформа
Примечание
EM250
DIP20, 2 мм
XB24-BСIT-004 2 мВт / Чип-антенна / Роутер S2/Ember ZNet 2.5 Планируются к снятию с производства.
Аппаратно эквивалентны серии ZB, но имеют устаревшее
Firmware (не совместимы со спецификацией ZigBee PRO).
Можно самостоятельно обновить Firmware до серии ZB
XB24-BWIT-004 2 мВт / Антенна-штырь / Роутер
XB24-BUIT-004 2 мВт / Разъем UFL / Роутер
XB24-BSIT-004 2 мВт / Разъем RPSMA / Роутер
EM250
PA/LNA
DIP20, 2 мм
XBP24-BСIT-004 63 мВт / Чип-антенна / Роутер
XBP24-BWIT-004 63 мВт / Антенна-штырь / Роутер
XBP24-BUIT-004 63 мВт / Разъем UFL / Роутер
XBP24-BSIT-004 63 мВт / Разъем RPSMA / Роутер
EM250
20×DIP, 2 мм
XB24-Z7CIT-004 2 мВт / Чип-антенна / РоутерZB/Ember ZNet 3.x Для новых разработок рекомендуется
обновить версию ПО (FW) до 2x7x (Ember ZNet 3.4.1)
XB24-Z7WIT-004 2 мВт / Антенна-штырь / Роутер
XB24-Z7UIT-004 2 мВт / Разъем UFL / Роутер
XB24-Z7SIT-004 2 мВт / Разъем RPSMA / Роутер
EM250
PA/LNA
DIP20, 2 мм
XBP24-Z7CIT-004 63 мВт / Чип-антенна / Роутер Не рекомендуется для новых разработок.
Следует использовать серию S2B
XBP24-Z7WIT-004 63 мВт / Антенна-штырь / Роутер
XBP24-Z7UIT-004 63 мВт / Разъем UFL / Роутер
XBP24-Z7SIT-004 63 мВт / Разъем RPSMA / Роутер
EM250
New RF
DIP20, 2 мм
XBP24BZ7PIT-004 63 мВт / PCB-антенна / Роутер S2B/Ember ZNet
3.4.1 (FW 2x7x)
Увеличенная дальность и сниженное энергопотребление
по сравнению с серией ZB. Регулируемая выходная мощность
XBP24BZ7WIT-004 63 мВт/Антенна-штырь/Роутер
XBP24BZ7UIT-004 63 мВт / Разъем UFL / Роутер
XBP24BZ7SIT-004 63 мВт / Разъем RPSMA / Роутер
EM250
MC9S08
New RF
DIP20, 2 мм
XBP24BZ7PITB003 63 мВт / PCB-антенна / Роутер Дополнительный программируемый процессор Freescale
MC9S08QE32CFT. 32 кбайт Flash, 2 кбайт RAM
XBP24BZ7WITB003 63 мВт / Антенна-штырь / Роутер
XBP24BZ7UITB003 63 мВт / Разъем UFL / Роутер
XBP24BZ7SITB003 63 мВт / Разъем RPSMA / Роутер
EM357
SMT 37 pin
XB24CZ7PIS-004 6,3 мВт / PCB-антенна / Все S2C/Ember ZNet
3.4.1 (FW 40xx)
Новый 32-разрядный чип с улучшенными характеристиками.
Исполнение для поверхностного монтажа.
Доступность — осень 2010 года
XB24CZ7UIS-004 6,3 мВт / Разъем UFL / Все
XB24CZ7RIS-004 6,3 мВт /RF-pad / Все
EM357
PA/LNA
SMT 37 pin
XBP24CZ7PIS-004 63 мВт / PCB-антенна / Все PRO S2C/Ember
ZNet 3.4.1
Увеличенная дальность связи.
Доступность — IV кв. 2010 года
XBP24CZ7UIS-004 63 мВт / Разъем UFL / Все
XBP24CZ7RIS-004 63 мВт / RF-pad / Все

Непрограммируемые модули XBee-PRO S2B

Обновленные модули XBee-PRO (платформа S2B) сохранили прежний форм-фактор (рис. 1), но имеют улучшенные технические характеристики (табл. 2): дальность связи на открытом пространстве теперь достигает 3200 м (было 1600 м). Для увеличения дальности связи в серии S2B модули с чип-антенной заменены на модули с антенной в виде проводника печатной платы (антенна PCB). Новые модули имеют меньшее потребление при работе на полную мощность (205 против 295 мА), встроенный температурный датчик, защиту от перегрева и перенапряжения. Если в течение 15 секунд на модуль подается напряжение питания свыше 3,9 В, то модуль сначала сообщит об этом API-пакетом статуса с соответствующим установленным битом, а затем произойдет сброс через срабатывание сторожевого таймера (Watchdog reset).

Рис. 1. Модули XBee-PRO S2B: а) UFL-разъем; б) PCB-антенна; в) SMA-разъем

Т а б л и ц а 2 . Технические характеристики модулей XBee-PRO
Параметры XBee XBee-PRO (S2) XBee-PRO (S2B)
Радиус действия в помещении, м До 40 До 90 До 90
Радиус действия в
свободном пространстве, м
До 120 До 1600 До 3200
Максимальная выходная
мощность, мВт
2 (+3 дБм) 50 (+17 дБм) 63 (+18 дБм)
Чувствительность, дБм –96 –102 –102
Топология сети Point-to-point,
Point-to-multipoint,
Peer-to-peer, Mesh
Point-to-point,
Point-to-multipoint,
Peer-to-peer, Mesh
Point-to-point,
Point-to-multipoint,
Peer-to-peer, Mesh
Рабочая частота, ГГц 2,4–2,4835 2,4–2,4835 2,4–2,4835
Количество каналов 16 14 15
Частотные каналы С 11 по 26 С 11 по 24 С 11 по 25
Скорость передачи
полезных данных, кбит/с
До 35 До 35 До 35
Скорость передачи данных
по радиоканалу, кбит/с
250 250 250
Скорость передачи
данных по интерфейсу
1200 бит/с – 1 Мбит/с 1200 бит/с – 1 Мбит/с 1200 бит/с – 1 Мбит/с
Напряжение питания, В 2,1–3,6 3,0–3,4 2,7–3,6
Ток потребления в режиме
передачи, мА (при 3,3 В)
40 295 205
Ток потребления в режиме
приема, мА (при 3,3 В)
40 45 47
Ток потребления при
отключенном приемнике, мА
15 15 15
Ток потребления в режиме
энергосбережения, мкА (при 25 °С)
<1 3,5 (тип.) 3,5 (тип.)
Шифрование AES-128 AES-128 AES-128
Возможности адресации в сети PAN ID, адрес,
Cluster IDs, Endpoints
PAN ID, адрес,
Cluster IDs, Endpoints
PAN ID, адрес,
Cluster IDs, Endpoints
Варианты антенн Керамическая, штыревая
или UFL/RPSMA-разъем
Керамическая, штыревая
или UFL/RPSMA-разъем
PCB, штыревая
или UFL/RPSMA-разъем
Внешние интерфейсы UART, GPIO, PWM, ADC UART, GPIO, PWM, ADC UART, GPIO, PWM, ADC
Размеры, мм 24,38×27,61 24,38×32,94 24,38×32,94
Рабочий диапазон температур, °С –40... +85 –40... +85 –40... +85

Модули S2B работают под управлением встроенного ПО (Firmware) 2×70, которое построено на базе EmberZNet 3.4.1 ZigBee-PRO stack. В данной версии FW появились новые возможности:

  • Регулировка выходной мощности (команда ATPL). Выходную мощность теперь можно устанавливать программно, в диапазоне от 10 до 18 дБм (5 ступеней).
  • Для совместимости со спецификацией ZigBee Pro (и продуктами сторонних производителей) введен новый режим (AO = 3), в котором ZDO-запросы, не поддерживаемые текущей версией встроенного стека, будут перенаправляться на UART для их обработки приложением верхнего уровня.
  • При попытке отсылки чрезмерно больших пакетов (более 256 байт) модуль теперь выдает новый статусный код 0x74.
  • Для конечных устройств добавлен режим медленного опроса (7,5 с) своего родителя (slow rate polling). При необходимости обмена информацией скорость опроса автоматически увеличивается.
  • Введена индикация (receive option bit 0×40), показывающая, что пришедший пакет был отправлен конечным устройством.
  • Так как спящие конечные устройства могут быть недоступны продолжительное время, увеличен тайм-аут на ожидание ответа от конечного устройства.
  • Можно запретить повторные отправки пакетов на уровне приложения (APS retries).
  • Если конечное устройство не получает ответы на свои запросы в течение 5 с, то оно покидает сеть и выполняет попытку переподключения.
  • Команда TP позволяет считать температуру встроенного сенсора.
  • Команда PP возвращает значение выходной мощности в дБм (при PL4).
  • Команда PO устанавливает период опроса для конечного устройства (от 10 мс до 60 с).

С точки зрения монтажа модули не имеют каких-либо требований к их расположению рядом с процессорами, кварцевыми резонаторами или другими компонентами печатной платы. Линии питания и «земли» желательно выполнять короткими и достаточно толстыми.

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

Рис. 2. Минимальная свободная площадь в районе PCB-антенны

Программируемые модули XBee-PRO S2B

Для исполнения пользовательских программ в программируемую версию модуля XBeePro S2B добавлен 8-разрядный микроконтроллер MC9S08QE32 (Freescale), имеющий на борту 32 кбайт Flash и 2 кбайт ОЗУ. С программной точки зрения микроконтроллер никак не связан с внутренним ПО модуля. По отношению к «обычному» XBee-модулю микросхема MC9S08QE32 представляет собой внешний дополнительный процессор (хостконтроллер), хотя и расположенный внутри модуля. Микроконтроллер MC9S08QE32 управляет модулем по линиям UART точно так же, как это бы делал и любой другой микроконтроллер, который разработчик мог бы применить в паре с непрограммируемым XBee-модулем. Все основные порты ввода/ вывода XBee-модуля (кроме UART и Reset), как и прежде, выведены на внешний разъем. На внешние выводы модуля выведены линии UART дополнительного микроконтроллера, другие порты MC9S08QE32 внутри модуля соединены с портами встроенного ZigBeeтрансивера (рис. 3). При соответствующей настройке это позволяет использовать внешние выводы модуля либо как порты «обычного» XBee-модуля, либо как порты MC9S08QE32. В последнем случае через линии модуля можно организовать взаимодействие с внешней периферией по интерфейсам 1-wire, SPI, I2C и использовать внешние прерывания.

Рис. 3. Структура внутренних соединений

Разработка приложений

Для работы с программируемыми модулями S2B выпускается специальный набор разработчика XBee-PRO ZB Programmable Development Kit (код для заказа — XBP24BZ7B-DK-W). Набор включает в себя 2 программируемых модуля XBee-Pro ZB S2B, две интерфейсные платы (USB и RS-232), программатор-дебаггер USB Multilink Debugger, USB-донгл XStick ZB, блоки питания и соединительные кабели. Программная поддержка включает в себя утилиту X-CTU (версия 5250 или выше) и компилятор Freescale CodeWarrior (версия V6_3_SE доступна с сайта Digi [3]).

Для загрузки собственного приложения существует несколько способов: с помощью программатора-дебаггера, с помощью встроенного загрузчика через протокол XMODEM или по эфиру.

Загруженный в MC9S08QE32 при производстве бутлоадер позволяет загружать пользовательскую программу через интерфейс UART. Если приложение пользователя еще не было загружено, то при подаче питания бутлоадер переходит в командный режим (Command Mode). В командном режиме возможна загрузка приложения, просмотр версии бутлоадера, переход в «прозрачный» режим и некоторые другие служебные операции [4].

При определенных видах сброса (Power-On reset (POR), Pin reset (PIN) или Low Voltage Detect (LVD)) первым управление получает бутлоадер, который проверяет сигналы на линиях RTS (D7), DTR (D5) и DIN (B0).

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

Встроенный бутлоадер может также работать в «прозрачном» режиме, транслируя все поступающие через UART данные непосредственно в ZigBee-трансивер EM-250. В этом режиме программа X-CTU может обычным образом обновить внутреннюю прошивку XBee-модуля, то есть внутреннюю прошивку трансивера EM-250. Выход из «прозрачного» режима возможен только через сброс по питанию. В набор разработчика входит также программа модифицированного бутлоадера, который предоставляет больше возможностей и дополнительно позволяет отлаживать загружаемое приложение с помощью входящего в набор разработчика аппаратного программатора-дебаггера. Отладка производится прямо из среды разработки CodeWarrior IDE.

Рис. 4. Демонстрационная программа

В качестве демонстрационного приложения предлагается программа App32Transparent, которая может быть загружена в модуль через встроенный в X-CTU XMODEM (рис. 4). Программа позволяет организовать передачу и прием данных в API-режиме с помощью простого меню. Следует помнить, что в отличие от обычного модуля XBee здесь все команды и данные принимаются и обрабатываются встроенным микроконтроллером. Поэтому, отправляя на этот модуль сообщение в виде API-пакета, мы можем получить на выходе S2B-модуля только сам текст (рис. 5). Точно так же вводимые данные преобразовываются микроконтроллером в API-пакет, который затем передается по эфиру. Дополнительно, по нажатию кнопок на интерфейсной плате, модуль передает состояние портов ввода/вывода и АЦП на координатор сети. Программа также содержит специальное меню, показывающее, как организовать загрузку программы по эфиру, передать управление бутлоадеру или включить «прозрачный» режим для обновления Firmware встроенного радио через программу X-CTU. На основе этого приложения (предоставляется в исходных текстах) можно легко написать собственную программу, уже выполняющую какие-то действительно полезные действия для создаваемого устройства.

Рис. 5. Прием API-пакета

Заключение

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

Литература

  1. Пушкарев О. ZigBee-модули XBee: новые возможности // Беспроводные технологии. 2008. № 4.
  2. www.compel.ru
  3. ftp://ftp1.digi.com/support/documentation/XBP_ZB_Programmable_DK/
  4. ftp://ftp1.digi.com/support/documentation/XBP_ZB_Programmable_DK/Product Manual:XBee / XBee-PRO ZB OEM RF Modules — версия документа 90000976_F или старше.

Скачать статью в формате PDF  Скачать статью Беспроводные технологии PDF


Другие статьи по данной теме:

Сообщить об ошибке