Пояснительная записка - копия (1210426), страница 3
Текст из файла (страница 3)
1.2.3.2 Функциональное разделение устройств в сетях ZigBee
Для сокращения стоимости интеграции технологии беспроводной передачи данных ZigBee в различные проекты физическая реализация аппаратной части стандарта IEEE 802.15.4 выполняется в двух исполнениях: устройства с ограниченным набором функции (Reduced Function Device, RFD) и полностью функциональные устройства (Full Function Device, FFD). При развертывании сети, требуется наличие, как минимум одного FFD-устройства, которое выступает в роли сетевого координатора. Характеристика устройств RFD и FFD представлена в таблице 1.3.
Таблица 1.3 - Характеристика устройств RFD и FFD
RFD – устройства | FFD – устройства |
В роли координатора выступать не могут | Могут выступать в роли координатора |
Поддерживает только топологии «точка-точка» и «звезда» | Возможен любой тип соединения, поддерживаемый стеком ZigBee |
Обмен данными возможет только с FFD – устройством | Обмен данными возможен с любым типом устройств ZigBee |
Требует минимального объема ОЗУ и ПЗУ для реализации поддержки стандарта IEEE 802.15.4 | Требуется большой объем ОЗУ и ПЗУ для полной реализации стандарта IEEE 802.15.4 |
Основной способ питания – от батареи | Основной способ питания – от сети |
Помимо деления устройств на RFD и FFD, в сетях ZigBee выделяют три типа логических устройств:
-
координатор — устройство, инициирующее развертывание сети, управляет узлами сети, хранит сетевую информацию;
-
маршрутизатор — устройство, участвующее в обмене данными в качестве промежуточного звена между двумя узлами сети;
-
оконечные устройства — устройства, отвечающие за сбор и прием данных.
Тип логического устройства при построении сети определяет пользователь. Большинство современных приемопередающих модулей, представленных на рынке, посредством выбора определенной прошивки способны выполнять роль координатора, маршрутизатора или оконечного устройства.
1.2.3.3 Топологии сетей
Одной из особенностей сетей ZigBee является поддержка сложных топологий сетей, в которых данные от конечного узла могут идти в центр сбора не только напрямую, но и через промежуточные узлы. Таким способом достигается большая площадь покрытия. В сети может быть объединено более 65 тыс. устройств, поскольку возможна 16-разрядная адресация узлов (216=65536). Однако поддерживается и 64-разрядная адресация, которая позволяет значительно увеличить количество устройств в сети [3].
При развертывании сети ZigBee с большим количеством устройств, достигается высокая степень безотказности. Работоспособность сети в случае выхода из строя какого-либо узла достигается тем, что каждый узел следит за своими соседями, постоянно обновляя маршрутные таблицы на основе оценки уровня, принятых от них сигналов. В результате при изменении пространственного расположения соседей или удалении из сети одного из устройств вычисляется новый маршрут следования сообщения, попутно обновляя таблицы маршрутов. Такая топология сети называется ячеистая (англ. mesh). При построении сети с ячеистой топологией передача сообщений от одного узла сети к другому может осуществляться по разным маршрутам, это позволяет строить распределенные сети (объединяющие несколько небольших сетей в одну большую – кластерное дерево) с установкой одного узла от другого на достаточно большом расстоянии и обеспечивая при этом надежную доставку сообщений.
Процесс формирования сети выглядит следующим образом. Устройство, действующее как координатор, определяет уровни энергии на всех доступных частотных каналах. Выбирается канал с наименьшим уровнем. Выбрав канал, координатор определяет наличие в нем других работающих сетей ZigBee и их идентификаторов посредством связи с узлами этих сетей. Затем координатор случайным образом выбирает идентификатор для своей сети из диапазона 0x0000‑0x3FFE, чтобы он не совпал с идентификаторами других сетей в том же частотном диапазоне. Данный адрес называется PAN ID.
Сетевой 16-и битный адрес координатора всегда равен 0x0000. Теперь координатор разрешает присоединяться к своей сети другим устройствам, которые до этого момента сканировали запросами эфир на предмет доступных сетей. Присоединение начинается по принципу дерева, т.е. присоединив некоторое количество первых конечных устройств и маршрутизаторов, координатор отказывается присоединять непосредственно к себе остальных, оставшиеся вынуждены искать уже присоединившиеся к координатору маршрутизаторы (оконечные устройства не могут присоединять другие устройства) и присоединяться к ним. Таким образом, начинает ветвиться дерево присоединений. Из кандидатов в родительские узлы предпочтение отдается тем, от кого меньше всего остается переходов к координатору. Топологии ZigBee сетей представлены на листе 2 графического материала.
1.2.3.4 Устройства, работающие с протоколом ZigBee
Сегодня на рынке устройств ZigBee представляется несколько вариантов исполнения микросхем. Существует 5 основных типов микросхем, выполняющих функции приема и передачи данных по радиоканалу в стандарте IEEE 802.15.4:
-
Радио-трансивер стандарта IEEE 802.15.4. Выполняет только функции приема и передачи информации по радиоканалу и не содержит никакого программного обеспечения, реализующего стек протокола ZigBee. Дополнительно для работы трансивера требуется «обвязка», включающая в себя антенну, кварцевый резонатор, а также небольшое число пассивных компонентов.
-
Интегрально гибридные микросхемы (SiP), объединяющие в одном корпусе кристаллы радио-трансивера и микроконтроллера общего назначения. Требуется минимальная «обвязка», включая антенну.
-
Системы на кристалле (SoC). Данный вид микросхем фактически повторяет возможности SiP, но в отличие от них и трансивер и встроенный микроконтроллер выполнены на одном кристалле.
-
ZigBee-акселераторы. Микросхемы аналогичные SoC, но с уже установленным во внутренний микроконтроллер стеком ZigBee протокола. Требуется минимальная «обвязка», включая антенну.
-
Платформы в едином корпусе (PiP). Объединение высокопроизводительного микроконтроллера с широким набором встроенных периферийных модулей (таймеров, АЦП и т.д.) и трансивера стандарта IEEE 802.15.4 на одном кристалле [4].
Для реализации проектов с применением ZigBee технологии в конечных устройствах существует два вида решений. В первом случае разработчику предлагается самостоятельно сконструировать аппаратную часть, отвечающую за ZigBee коммуникацию, используя различные микросхемы с поддержкой радио-интерфейса, работающего по стандарту IEEE 802.15.4. Программная часть может быть создана полностью самостоятельно, используя спецификации протокола, либо с применением стандартных сетевых протоколов, разработанных и отлаженных производителями микросхем.
Во втором случае для разработки конечного устройства, предлагается использовать готовые ZigBee-модули, не требующие ни дополнительной доработки, ни обвязки. Такие модули представляют собой размещенные на одной плате трансивер стандарта IEEE 802.15.4, микроконтроллер, содержащий в себе стек ZigBee протокола, необходимые внешние элементы обвязки (антенна, схема питания, тактирования и др.).
На листе 4 графического материала представлены наиболее популярные модули стандарта IEEE 802.15.4, доступные на рынке в данный момент. Ведущие производители готовых модулей являются компании Atmel, Jennic, Telegesis и Digi. Среди радио-трансиверов наиболее распространены чипы CC2430.
Из модулей представленных производителей можно выделить решения от компании Digi. По радиочастотным характеристикам и параметрам электропитания данные модули имеют наилучшие показатели. Помимо этого, у компании Digi в линейке готовых технических средств имеются адаптеры для подключения к ПК через распространенный интерфейс USB, и специализированные комплекты разработчика.
1.2.3.5 Интерфейсы взаимодействия модуля XBee с управляющим микроконтроллером
Основное управление модулем производится с помощью хост-процессора по последовательному UART-интерфейсу. Скорость обмена задается равной 9600 бит/с при производстве, но может быть изменена. В качестве управляющего устройства используется микроконтроллер, имеющий интерфейс UART. Микроконтроллер подключается непосредственно к выводам XBee модуля как показано на рисунке 1.5.
Рисунок 1.5 – Структурная схема подключения по UART интерфейсу
Работа этого интерфейса основана на передаче целого байта по одному сигнальному проводу в виде последовательных импульсов, каждый из которых может находиться в состоянии 0 или 1. Считывая в определенные моменты времени состояние линии, происходит восстановление информации, которая была передана.
Синхронизация времени передачи происходит с помощью старт бита. После него идут восемь информационных битов, а затем стоповые биты, которых может быть, как один, так и несколько. Диаграмма, поясняющая процесс передачи данных по UART интерфейсу представлена на рисунке 1.6.
Рисунок 1.6 – Диаграмма передачи данных по UART интерфейсу
Для последовательной передачи оба устройства (микроконтроллер и XBee модуль) должны быть настроены на одинаковую скорость обмена. В момент передачи стартового бита и происходит синхронизация. Приемопередатчики UART обычно тактируются 16-кратной частотой по отношению к установленной скорости обмена. Приемник отсчитывает от фронта стартового бита несколько тактов (чтобы попасть в середину стартового бита), и три такта подряд проверяет состояние линии (оно должно быть логическим нулем). Если все три состояния совпали, то принимается решение, что действительно пришел стартовый бит. Тогда восемь раз подряд с заданным периодом регистрируется состояние линии. Данные в UART всегда передаются младшими битами вперед. После этого линия переходит в состояние стопового бита и может в нем пребывать сколь угодно долго, пока не придет следующий стартовый бит [5].
Помимо UART интерфейса большинство радиочастотных модулей XBee поддерживают связь по SPI интерфейсу в режиме ведомого устройства.
В интерфейсе SPI (Serial Peripheral Interface, последовательный периферийный интерфейс) синхронизирующие импульсы передают по отдельной, специально выделенной линии. Это облегчает задачу синхронизации, но требует большего числа сигнальных проводов. Подключение модуля к микроконтроллеру показано на рисунке 1.7.
Рисунок 1.7 – Схема подключения по SPI интерфейсу
Для передачи данных по SPI интерфейсу выделяется 4 линии. В таблице 1.4 приведено назначение каждой из них.
Таблица 1.4 – Назначение сигнальных линия в SPI интерфейсе
Линия | Назначение |
SPI_MOSI (Master Out, Slave In) | Передача данных от ведущего |
SPI_MISO (Master In, Slave Out) | Передача данных от ведомого |
SPI_SCLK (Serial Clock) | Передача синхроимпульсов |
PSI_SSEL (Slave Select) | Выбор ведомого устройства |
Обмен данными по SPI интерфейсу реализован следующим образом. Два 8-разрядных регистра (ведомого и ведущего устройства) образуют единый регистр сдвига, соединенный в кольцо линиями MISO и MOSI. С началом передачи включается генератор синхроимпульсов, с ведущего устройства начинают поступать данные по линии MOSI, одновременно вытесняя из ведомого биты по линии MISO. Через восемь тактов регистры полностью обмениваются информацией между собой [5].
На рисунке 1.8 представлена временная диаграмма передачи данных по SPI интерфейсу.
Рисунок 1.8 – Временная диаграмма передачи данных по SPI интерфейсу
1.3 Устройство обработки информации на базе микроконтроллера
1.3.1 Управляющий микроконтроллер
Сам по себе модуль XBee не способен выполнять вычислительные операции в виду отсутствия вычислительных мощностей. Для этого он работает в паре с управляющим микропроцессорным устройством. Как правило роль такого устройства выполняет микроконтроллер.
Микроконтроллер — это интегральная микросхема, предназначенная для управления электронными устройствами. Подобная микросхема имеет в своем составе процессор, ОЗУ, ПЗУ, энергонезависимую память EEPROM и различные периферийные устройства. Сопряжение модуля с микроконтроллером осуществляется с помощью различных интерфейсов ввода-вывода, таких как UART, I2C, SPI, CAN, USB, IEEE 1394, Ethernet.
Неполный список периферийных устройств, которые могут использоваться в микроконтроллерах включает в себя:
-
универсальные цифровые порты, которые можно настраивать как на ввод, так и на вывод;
-
аналого-цифровые и цифро-аналоговые преобразователи;
-
компараторы;
-
широтно-импульсные модуляторы (ШИМ-контроллер);
-
таймеры;
-
контроллеры бесколлекторных двигателей, в том числе шаговых;
-
контроллеры дисплеев и клавиатур;
-
радиочастотные приемники и передатчики;
-
массивы встроенной флеш-памяти;
-
встроенные тактовый генератор и сторожевой таймер.
Промышленностью выпускаются множество микроконтроллеров, отличающихся по цене, энергопотреблению, тактовой частоте, объему памяти и типом корпуса. Производители выпускают различные семейства микроконтроллеров, наиболее известные из них:
-
MCS 51 (Intel);
-
MSP430 (TI);
-
ARM (ARM Limited);
-
AVR (Atmel);
-
PIC (Microchip);
-
STM8 (STMicroelectronics);
-
С8051F34x;
-
RL78 (Renesas Electronics).
В настоящее время для разработки и отладки систем широкой популярностью пользуются отладочные комплекты на базе микроконтроллеров. Отладочный комплект представляет собой универсальную печатную плату для сборки и моделирования прототипов электронных устройств. Это позволяет производить эксперименты на прототипах, по итогам которых, принимать решение о вводе в массовое производство разрабатываемое устройство. На плате обычно располагается микроконтроллер (как правило в DIP исполнении) порты которого выведены для удобства на края платы, необходимая минимальная обвязка, генератор тактовых импульсов, порт для питания платы, а также различные интерфейсы для взаимодействия с платой. Некоторые производители отладочных комплектов дополняют свои платы кнопками, светодиодами, которые помогают при отладке устройства.
Использование отладочных комплектов позволяет разработчикам быстро приступить к работе с микроконтроллером, а наличие популярных интерфейсов связи с ПК позволяет отказаться от использования дополнительных средств в виде программатора.
В качестве отладочного комплекта в данном проекте используются аппаратно – программные средства торговой марки Arduino. Более подробно отладочные комплекты Arduino будут рассмотрены далее.
1.3.2 Платформа Arduino
Аппаратно – программные средства Arduino представляют собой комплекты для разработки простых систем автоматики и робототехники.
Программная часть состоит из программной оболочки Arduino IDE. Данная программа является бесплатной оболочной для написания программ, их компиляции и программирования аппаратуры. Язык программирования Arduino является стандартным C++ (используется компилятор ARV-GCC) с некоторыми особенностями [6].
Аппаратная часть представляет собой набор смонтированных печатных плат с микроконтроллером различных производителей, а также набор плат расширения (так называемые шилды). Большинство плат с микроконтроллером снабжены минимальной обвязкой для нормальной работы микроконтроллера (стабилизатор питания, генератор тактовых импульсов, цепи сброса и т.д.). Архитектура плат Arduino является полностью открытой, что позволяет свободно копировать или дополнять линейку продукции Arduino. Обзор доступных в продаже печатных плат Arduino представлен на листе 5 графического материала.
2 Техническая часть
2.1 Общая концепция разрабатываемой системы
2.1.1 Структура разрабатываемой системы
Структурная схема разрабатываемой системы позиционирования представлена на листе 2 графического материала. Она имеет четырехуровневую архитектуру.