ZigBee-модули MaxStream новые возможности
Технологии IEEE802.15.4/ZigBee применяются для решения широкого круга задач. Ранее мы рассказывали о продукции компании MaxStream, в том числе о модулях XBee/XBeePro, предназначенных для работы в сетях ZigBee/802.15.4 (рис. 1). Эти модули идеально подходят и для быстрой организации связи типа «точка-точка». Модули XBee быстро завоевали популярность среди российских разработчиков, прежде всего по двум причинам - простота применения и низкая цена. О простоте применения говорит тот факт, что для проведения теста дальности связи достаточно 10 минут, 5 из которых уйдет на открытие упаковки отладочного комплекта. Модули не требуют никакой предварительной настройки для организации канала связи типа «точка-точка», достаточно подключить к модулю 3 линии: земля, питание, UART. Легкость применения модулей сочетается с их большими возможностями, которые доступны разработчику через набор простых AT-команд. Общую информацию о работе модулей, системе адресации и базовых AT-командах можно найти в статье в НЭ 2 за 2006 год.
За последний год компания MaxStream кардинально обновила внутреннее программное обеспечение модулей XBee/XBeePro. Новые версии прошивки (Firmware) можно загрузить в модуль с помощью бесплатной программы X-CTU. Благодаря новому Firmware стало возможным получение в автоматическом режиме аналоговых или цифровых данных с установленной пользователем частотой опроса. Состояние цифровых портов может считываться циклически, либо по факту изменения уровня. Между циклами опроса радиоприемная часть модуля может переводиться в режим сна с потреблением тока менее 35 мкА, что делает модуль идеальным подходящим решением для устройств с батарейным питанием. Снижению потребляемой мощности также способствует режим последовательного накопления данных с дальнейшей передачей их в едином радиопакете. Введение 128-битного AES-шифрования делает беспроводную связь более надежной и защищенной, что особенно важно для приложений, работающих с ценными данными. Добавление новых функций позволяет разработчику получить дополнительный выигрыш от применения недорогих и простых в применении модулей и модемов XBee/XBeePro.
ИСТОРИЯ ИЗМЕНЕНИЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ МОДУЛЕЙ
Версия 1.0.6.1 (выпущена 08.09.2005)
Первая доступная версия. Базовый набор AT-команд.
Версия 1.0.8.3 (выпущена 03.05.2006)
К возможностям базовой версии добавлены новые функции:
- Управление модулями с помощью API (Application Programmers Interface - программный интерфейс приложения). Дополнительно к прозрачному режиму передачи данных добавлен режим передачи данных в виде фреймов определенной структуры (рис.2). Это позволило передавать данные и управляющие команды, не переводя модуль в специальный командный режим. Благодаря новому режиму появилась возможность получать значение RSSI (уровень принимаемого сигнала) и подтверждения об успешной доставке для каждого пакета.
- Добавлены новые AT-команды, расширяющие сетевые (802.15.4) возможности модуля: ATNI, ATND, ATDN, ATCE, ATSC, ATSD, ATA1, ATA2, ATAI, ATDA, ATFP, ATAS, ATED, ATCA, ATMM, ATDP, ATPR, ATEC, ATEA, & ATEH. Детальное описание новых команд можно найти в разделе 3.3 технического описания, доступного с сайта производителя: http://www.maxstream.net/.
Рис. 2. Формат фрейма API
Изменения параметров:
- Удален канал 0x18 в модуле XBP24 для соответствия требованиям FCC. Таким образом, модуль XB24 имеет 16 каналов 0x0B-0x1A и модуль XBP24 имеет 12 каналов 0x0C-0x17;
- Изменен метод записи нескольких AT-команд в одной строке.
Версия 1.0.A.2 (выпущена 20.11.2006)
К возможностям версии 1.0.8.3 добавлены новые функции:
К возможностям версии 1.0.8.3 добавлены новые функции:- Поддержка работы с АЦП и функции отображения портов ввода-вывода;
- Шифрование сообщений AES-128 (ATEE и ATKY);
- Поддержка дополнительных (сверх IEEE802.15.4) повторов отправки сообщений (ATRR);
- Поддержка повторных отправок широковещательных сообщений (Broadcast Retries);
- Поддержка повторных попыток доступа к каналу передачи (CCA-оценка занятости канала);
- Добавлена команда ATNT, устанавливающая время ответа при подаче команды ATND (Node Discovery - обнаружение устройств);
- Скорость передачи данных до 115200.
ПОДДЕРЖКА СЕТИ 802.15.4
Последняя версия ПО (1.0.A.2) позволяет организовывать сети 802.15.4 (звезда), настраивая модуль в режим «координатор» или «конечное устройство» с помощью команды ATCE. В режиме координатора модуль будет самостоятельно формировать сеть и поддерживать ретрансляцию сообщений, выполняя следующие действия:
- Проверку доступности каналов и выбор канала с наименьшим уровнем помех;
- Запрос присутствия других сетей PAN 802.15.4;
- Выбор ID и формирование сети PAN;
- Подключение конечных устройств (Association);
- Прямая или отложенная ретрансляция сообщений.
В режиме конечного устройства модуль может выполнять следующие действия:
- Осуществлять активное сканирование на разных каналов для обнаружения координатора(ов);
- Подключаться к доступному координатору;
- Передавать сообщений к другим узлам сети;
- Поддерживать режим циклического сна с автоматической отсылкой запросов к координатору (Poll Request) для получения отложенных сообщений.
Разумеется, разработчик может ограничить «самостоятельность» модуля и жестко задать основные параметры - на каком частотном канале нужно работать, к какому координатору подключаться и т.д.
РЕЖИМ ОТОБРАЖЕНИЯ ПОРТОВ ВВОДВ-ВЫВОДА
Модуль XBee имеет 5 каналов АЦП и 8 цифровых портов ввода-вывода, которые пользователь может задействовать в своих приложениях с помощью AT-команд. Кроме того, модуль XBee поддерживает автоматическую передачу данных о состоянии сигнала на входных линиях на другой модуль. На удаленном модуле состояние соответствующих портов будет отображать уровни сигнала на удаленном модуле. Уровень сигналов АЦП передающего модуля отображается с помощью двух доступных каналов ШИМ на приемном модуле. Дополнительно к отображению сигнала на своих портах, приемный модуль опционально может выдавать данные о состоянии портов удаленного модуля через UART в виде фреймов определенной структуры. Работая в режиме отображения портов, модуль сохраняет возможность принимать и передавать сообщения через UART обычным образом, в т.ч. и в «прозрачном» режиме. Максимальная частота, с которой могут передаваться данные АЦП, составляет 1 кГц. При использовании нескольких каналов АЦП частота выборок должна пропорционально снижаться. Режим отображения портов позволяет организовать передачу информации о состоянии цифровых и аналоговых датчиков без применения внешнего микроконтроллера и написания специальной программы. Достаточно один раз указать используемые порты, частоту опроса, начальные значения для цифровых выходов, количество образцов в одном пакете и т.п. Далее модули будут автоматически передавать информацию без дополнительного внешнего вмешательства.
ВНУТРЕННЯЯ СТРУКТУРА МОДУЛЕЙ И ИСПОЛЬЗОВАНИЕ ПО ОТ FREESCALE
Компания MaxStream сделала шаг навстречу разработчикам и опубликовала информацию по внутренней структуре модулей XBee/XBeePro. Модули построены на базе ZigBee-трансивера Freescale MC13193 и микроконтроллера MC9S08GT60.
В выложенной на сайте компании документации XBee_Code_Development подробно описана внутренняя структура модулей и программное обеспечение третьих производителей, которое может быть загружено в эти модули:
- Freescale SMAC;
- Freescale 802.15.4 PHY and MAC;
- Figure 8 ZigBee stack.
Основываясь на выложенных библиотеках и примерах компиляции, разработчик может использовать процессор модуля для выполнения собственного приложения. При этом разработчик получает доступ ко всем портам микроконтроллера, встроенного в модуль. В выложенном на сайте компании архиве также приводятся принципиальные схемы переходных плат, которые входят в стартовые и отладочные комплекты. Там же приводится подробная инструкция по программированию модулей через встроенный загрузчик посредством UART через программу X-CTU либо с помощью программатора-отладчика «P&E Microsystems, Inc. USB HCS08/HCS12 Multilink». Для разработки программ можно использовать Metrowerks CodeWarrior Development Studio для микроконтроллеров серии HC(S)08.
В таблице 1 приведена схема соединений между трансивером и микроконтроллером.
Таблица 1. Схема соединений между трансивером и микроконтроллером
Вывод MC13193 | Вывод MC9S08GT60 | ||
---|---|---|---|
Pin # | Наименование | Pin # | Наименование |
10 | GPIO2 | 23 | PTD3/TPM2CH2 |
11 | GPIO1 | 24 | PTD4/TPM2CH0 |
12 | *RESET | 6 | PTC4 |
13 | RXTXEN | 5 | PTC3/SCL1 |
14 | *ATTN | 4 | PTC2/SDA1 |
15 | CLK0 | 47 | PTG2/EXTAL |
16 | SPICLK | 16 | PTE5/SPSCK1 |
17 | MOSI | 15 | PTE4/MOSI |
18 | MISO | 14 | PTE3/MISO1 |
19 | *CE | 13 | PTE2/*SS |
20 | *IRQ | 12 | IRQ |
* Отмечены линии с низким активным уровнем. |
Для удобного использования ПО от Freescale в состав новых отладочных наборов входят видоизмененные переходные платы (рис. 3). На переходной плате теперь расположено пять кнопок и светодиоды по аналогии с отладочными платами Freescale SemiconductorTM ZigBee development boards (SARD development kit). Наличие этих элементов предоставляет разработчику дополнительные возможности при работе с многочисленными программами из примеров применения микросхемы MC13193 и при отладке собственных решений.
Рис. 3. Переходная плата для тестирования модулей XBee/XBeePro
В настоящий момент компания MaxStream выпустила только бета-версию своего собственного ZigBee-стека. Данный программный продукт находится на стадии тестирования и пока не рекомендован для массового применения. Однако после его официального выхода модули XBee/XBeePro могут быть перепрограммированы для работы в сетях ZigBee бесплатно.
Ваш комментарий к статье | ||||