Шлюз ZigBee и GPRS

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    367,16 Кб
  • Опубликовано:
    2012-12-06
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Шлюз ZigBee и GPRS

Министерство образования и науки Российской Федерации

ФГБОУ ВПО «АЛТАЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

Кафедра Вычислительной техники и электроники

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К

БАКАЛАВРСКОЙ РАБОТЕ

ШЛЮЗ ZIGBEE И GPRS

Студент группы 586

Б.И. Титовский

Руководитель проекта

доцент, к.ф.-м.н. А.В. Калачев




БАРНАУЛ 2012

РЕФЕРАТ

Объем работы, листов - 37

Количество иллюстраций - 9

Количество используемых источников - 12

Количество приложений - 1

ZIGBEE, GPRS, IP, BitCloud.

Тема работы - шлюз ZigBee и GPRS. Цель бакалаврской работы - спроектировать этот шлюз.

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

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

ГЛАВА 1. ОБЩИЙ ОБЗОР БЕСПРОВОДНЫХ ТЕХНОЛОГИЙ

.1 Технология ZigBee

.2 Топология

.3 Стек протоколов ZigBee

.4 Совместимость устройств, профили, кластеры

.5 Профили ZigBee

.6 Технология GPRS

ГЛАВА 2. АНАЛИЗ ИСПОЛЬЗУЕМЫХ ТЕХНОЛОГИЙ И РЕШЕНИЙ

.1 Стандарт ZigBee Gateway

.2 Функциональность

.3 Общая характеристика

.4 Архитектура

.5 BitCloud

.6 Выбор элементной базы

.6.1 Характеристики Atmega128RFA1

.6.2 Технические особенности WS6318

ГЛАВА 3. ПРОЕКТИРОВАНИЕ УСТРОЙСТВА ШЛЮЗА

.1 Общий алгоритм работы шлюза

.2 Использование UART в стеке BitCloud

.3 Использование прерываний в BitCloud

.4 Использование АТ команд

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

ПРИЛОЖЕНИЕ

ВВЕДЕНИЕ

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

Цель дипломного проекта - спроектировать устройство шлюз двух сетей ZigBee и GPRS.

В 1 главе данного проекта рассмотрены технологии ZigBee и GPRS.

Далее в главе 2 рассматривается стандарт ZigBee Gateway, стек протоколов BitCloud, описываются выбор элементной базы.

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

Результатом данного проекта являются схема функциональная, схема электрическая - принципиальная, блок схема программной части.

ГЛАВА 1. ОБЩИЙ ОБЗОР БЕСПРОВОДНЫХ ТЕХНОЛОГИЙ

1.1 Технология ZigBee


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

По сравнению с ZigBee устройства Wi-Fi, например, имеют гораздо худшие параметры по энергопотреблению, Bluetooth - большее потребление, и не развитая сетевая структура, решения на простейших радиочипах и радиомодемах не поддержаны общепризнанными спецификациями и стандартами [4].ориентирован на применение там, где есть мощные источники энергии. Это объясняется тем, что ключевые звенья ZigBee сетей - координатор сети и роутеры не предназначены для работы от автономных источников. А экономичность ZigBee рассматривать следует не в контексте отсутствия постоянных внешних источников энергии, а в том что планируемая взрывная экспансия интеллектуальных приемопередатчиков во все возможные сферы хозяйства может вызвать огромный рост потребления электроэнергии если не уделить должного внимания экономичности.

Спецификация ZigBee обеспечивает стандартизацию организации беспроводной связи между устройствами от разных производителей в различных областях применения. Также спецификация предлагает методы, способствующие быстрому развертыванию и запуску распределенных беспроводных систем управления и наблюдения [7].

Эти методы очень напоминают те, что хорошо известны в проводных промышленных сетях, и построены они на концепции профилей устройств.

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

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

Стандарт ZigBee определяет многоуровневую структуру построения программного обеспечения, в обиходе называемую стеком протоколов ZigBee. Несмотря на декларируемую простоту стек протоколов ZigBee не намного проще стека протоколов TCP/IP для встраиваемых устройств малого класса [7].

.2 Топология

В основе сети ZigBee лежит ячеистая топология (mesh-топология). В такой сети, каждое устройство может связываться с любым другим устройством как напрямую, так и через промежуточные узлы сети. Ячеистая топология предлагает альтернативные варианты выбора маршрута между узлами. Сообщения поступают от узла к узлу, пока не достигнут конечного получателя. Возможны различные пути прохождения сообщений, что повышает доступность сети в случае выхода из строя того или иного звена.

Рис. 1.1 Топология сети.

В сети ZigBee существует 4 типа узлов: координатор, маршрутизатор, спящее устройство и мобильное устройство [4].

Главное устройство в ZigBee-сети - это координатор. Координатор выполняет функции по формированию сети, а также является одновременно доверительным центром. Доверительный центр устанавливает политику безопасности и задает настройки во время подключения устройства к сети.

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

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

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

Для обеспечения совместимости устройств различных производителей в спецификации ZigBee® PRO разработаны стандартные профили приложений и библиотека стандартных кластеров.

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

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

.3 Стек протоколов ZigBee

Рис. 1.2 Стек протоколов ZigBee.

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

В качестве двух нижних уровней (физического и уровня доступа к среде MAC) используется стандарт IEEE 802.15.4. MAC-уровень в сети ZigBee реализует механизм CSMA/CA (прослушивания несущей и устранения коллизий), сетевой уровень NWK отвечает за маршрутизацию сообщений, а уровень поддержки приложений APS обеспечивает интерфейс с уровнем приложения [7].

Сектор ZDO (ZigBee® Device Object), связывающий три верхних уровня, отвечает за определение роли устройства в сети (будет оно являться координатором или конечным устройством), инициализацию и реакцию на запросы соединения и обнаружения, за установление надежного и безопасного соединения между устройствами сети. Сектор SSP (Security Service Provider) осуществляет операции, связанные с обеспечением безопасности на сетевом уровне и на уровне поддержки приложения.

.4 Совместимость устройств, профили, кластеры

Одна из основных идей разработки стандарта ZigBee состояла в том, чтобы обеспечить возможность совместной работы в одной беспроводной сети устройств различных производителей. Очевидно, что для обеспечения совместимости на уровне приложения устройствам ZigBee требуется некий стандартный язык общения. Для реализации этой задачи была разработана библиотека ZigBee-кластеров ZCL (ZigBee Cluster Library) [3].

Кластер представляет собой совокупность:

·        описания стандартного устройства ZigBee (осветительное устройство, диммер, выключатель, счетчик),

·        описания стандартных атрибутов для этого устройства (вкл./выкл., яркость, показания счетчика),

·        описания стандартных команд для этого устройства (установить уровень яркости, считать показания, включить/выключить).

Кластеры имеют клиент-серверную природу.

Рис. 1.3 ZigBee - кластер.

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

Библиотека ZCL группирует кластеры по функциональному признаку: общего назначения, для работы с датчиками, для управления осветительными устройствами, вентиляцией и т.д. Использование стандартных кластеров для пересылки сообщений является обязательным требованием новой спецификации ZigBee PRO Feature Set.

.5 Профили ZigBee

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

На сегодняшний день альянсом ZigBee стандартизованы следующие профиля устройств:

1.       ZigBee Smart Energy™ ;

.        ZigBee Home Automation™;

.        ZigBee Remote Control™ ;

.        ZigBee Health Care™;

.        ZigBee Telecom Services™ ;

.        ZigBee Building Automation™ ;

.        ZigBee Retail Services ™ ;

.        ZigBee Light Link™;

.        ZigBee Input Device™;

.        ZigBee Network Devices™.

 

.6 Технология GPRS


Необходимость решения для доступа из сотовых сетей в интернет и локальные корпоративные сети обсуждалась в течение многих лет. Широкое распространение такого рода технологий замедлялось из-за проблем с покрытием, стоимостью, эксплуатационными качествами и безопасным удаленным доступом в корпоративных сетях. Запуск основанного на GSM-сетях сервиса GPRS (General Packet Radio Service) имеет потенциал для изменения этой ситуации и обеспечения соединения "в любое время и в любом месте".- это радио-сервис, основанный на пакетной коммутации, который дает возможность постоянного соединения. Данный сервис обеспечивает также реальную пропускную способность свыше 40 кбит/с - это примерно те же скорости, что и в случае хороших наземных соединениях через модем. GPRS предлагает более быструю передачу данных через сети GSM со скоростями от 9.6 до 115 кбит/с [6].

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

GPRS - это стандарт ETSI (European Telecommunications Standards Institute) для пакетной коммутации в системах GSM. В настоящее время по всему миру наиболее широко распространены сети на основе GSM и их называют сетями второго поколения (2G) [6].является накладывающейся технологией, распространяемой на сетях GSM, CDMA и TDMA. Эта технология применяет метод эффективной передачи пакетных данных по радиосетям. Технология пакетной коммутации основана на методах IP и X.25, оба из которых очень популярны и широко используются во многих сетях. Пакетная коммутация GPRS работает в целом так же, как и пакетная коммутация IP, то есть данные расщепляются на пакеты и пересылаются по назначению разными путями по сети, затем снова собираются на принимающей стороне. Пакетная коммутация GPRS допускает любой существующий трафик IP или X.25 для пересылки данных через радиосеть GPRS.

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

ГЛАВА 2. АНАЛИЗ ИСПОЛЬЗУЕМЫХ ТЕХНОЛОГИЙ И РЕШЕНИЙ. ВЫБОР ЭЛЕМЕНТНОЙ БАЗЫ

.1 Стандарт ZigBee Gateway

Для проектирования устройства воспользуемся стандартом от Альянса: ZigBee Gateway. Этот стандарт позволяет сеть ZigBee различного типа подключить к сети Интернет, что позволяет получить удаленный доступ к ней. Рассмотрим подробнее этот стандарт, так как на основе его будет проектироваться шлюз.

.2 Функциональность

Взаимодействие между сетями ZigBee и IP для многих приложений. Шлюз ZigBee определяет не один протокол, а он определяет двухуровневый API [12]:

Набор абстрактных функций.

·        Удаленный вызов процедур (RPC) на основе API для ZigBee функциональности и управления.

·        Поддержка готовых приложений. Поддержка уровня APS, ZigBee устройств , объект (ZDO) и служб безопасности (SEC) .

·        Позволяет взаимодействие между IP сетью и другими профилями ZigBee устройств.

·        Расширяемый набор протоколов RPC, предоставление API с использованием конкретного протокола.

·        Различные связи, обеспечивают масштабируемость.

·        Спецификация не привязана к конкретному профилю, но дает инструменты для поддержки профилей.

·        Функции SOAP, REST и GRIP связи [12].

·        SOAP обеспечивает более высокий уровень веб-услуг, ориентированных доступ к API шлюза.

·        REST обеспечивает легкий веб-API.

·        GRIP это протокол выбора для простейших устройств ZigBee Gateway.

ZigBee Gateway устройства могут предоставлять стандартную API с помощью одного (или более) из следующих RPC протоколов :

·        SOAP - протокол обмена структурированными сообщениями в распределённой вычислительной среде. Процедура вызывается через гипертекстовый транспортный протокол (HTTP), расширяемого языка разметки (XML) запросов.

·        REST - похож на SOAP, обеспечивающий доступ к информационным ресурсам. Данные должны передаваться в виде небольшого количества стандартных форматов (например HTML, XML).

Многие операции можно выполнить с помощью веб-браузера. GRIP является бинарным протоколом, обмен стека ZigBee структур по передаче TCP соединений:

·        Бинарный протокол имеет минимальный объем трафика.

·        Основные процедуры API (например, отправлять и получать ZCL / APS / NWK пакетов).

 

.3 Общая характеристика


Шлюз обеспечивает связь в персональной сети (Personal Area Network, PAN) ZigBee с помощью TCP / IP приложений хоста (IPHA) и наоборот, механизм, согласно которому внешние приложения/устройства могут взаимодействовать с отдельными узлами ZigBee, осуществляет контроль, получать данные из этих узлов и наоборот [12]. Процедуры (SAP), как это определено в ZigBee стеке IEEE 802.15.4 MAC-уровня спецификации на основе транспортного уровня UDP.

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

Минимальный набор функций, которые шлюз должен выполнять:

·        ZCL операций чтения и записи атрибутов, настройку и сообщения о событиях;

·        ZDO и макро-операции для обнаружения сетей и услуг;

·        доступ к AIB, NIB, и PIB атрибутов;

·        гибкий запуск и сетевое соединение операций;

·        двунаправленная связь между шлюзом и IP сетью.

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

.4 Архитектура

На уровне приложений на рис.2.1 показана общая схема шлюза.


Через различные протоколы (GRIP, SOAP и REST) IPHA и шлюз общаются друг с другом через выполнение вызовов удаленных процедур (RPC) через IP сеть. Обмен сообщениями по большей части запрос-ответ формата. Запросы направленные на шлюз из IPHA, могут быть выполняться на самом шлюзе или направляются по адресу узла ZigBee через радио интерфейс шлюза на выполнение на удаленном узле на рис.2.1. С другой стороны, запросы, направленные в IPHA будут обслуживаться IPHA так же как и сообщения, отправленные в узлы, которые перенаправляются через шлюз. На рис.2.2. изображено концептуальное представление шлюза.

Рис. 2.2 Концептуальная архитектура шлюза.

В верхней части представлены интерфейсы для IP сети.

Сетевые функции [12]:

·        APS - самый верхний уровень сетевого стека, доступный пользовательскому приложению.

·        ZDO - полностью совместимый со стандартом ZigBee набор функций ZigBee Device Object API для реализации базовой сетевой функциональности - начало работы узла, сброс состояния, создание сети, подключение к существующей сети и т. п. Определяет также тип устройства ZigBee, его профиль. позволяет задать набор команд для управления устройством.

·        ZCL - кластер библиотека.

·        Других коммуникационных (COMM) слоев, таких как сети и MAC-уровней, а также объектов управления шлюзом (GMO).

Все эти уровни обеспечивают доступ к ZigBee стеку на шлюзе и осуществлений функций стека.

.5 BitCloud

шлюз кластер протокол стек

Стек протоколов BitCloud представляет собой полнофункциональный программный стек для встраиваемых систем, позволяющий создавать на его основе надежные, масштабируемые и безопасные приложения, работающие на аппаратной платформе фирмы Atmel. Программный стек предоставляет разработчикам приложений расширенный набор программных интерфейсов (API), сочетающих в себе соответствие стандартам и возможности быстрой разработки приложений. BitCloud предоставляется как набор инструментальных средств разработки программного обеспечения (BitCloud SDK), включающий библиотеки, заголовочные файлы, файлы справок, документацию, примеры приложений для всего спектра поддерживаемых платформ [1].

Основные свойства:

·        полная совместимость со стандартами ZigBee и ZigBeePRO;

·        набор С-функций (C API);

·        поддержка АТ-команд;

·        поддержка маршрутизации данных для надежной их доставки;

·        возможность создания больших сетей (с числом узлов порядка нескольких сотен);

·        оптимизация энергопотребления;

·        расширенный набор функций обеспечения безопасности данных (поддержка шифрования).

 

.6 Выбор элементной базы


Выбор конкретной модели ZigBee и GSM/GPRS-модема определяется требованиями к разрабатываемому устройству, в моём случае это были:

•устойчивость к высоким/пониженным температурам;

•невысокая стоимость;

•минимум внешних компонентов поддерживающих работу модуля;

•низкое энергопотребление;

•компактность.

Всем указанным параметрам отвечают Atmega128RFA1,фирмы Atmel и WS6318, фирмы Sierra Wireless.

.6.1 Характеристики Atmega128RFA1RFA1 - первый представитель в новом семействе, сочетающий в себе радиочастотный 2.4 ГГц приемопередатчик и AVR микроконтроллер. Также чип поддерживается библиотекой QTouch Library от Atmel, что облегчает совмещение функций емкостной сенсорной клавиатуры и радиопередатчика в одном кристалле [8].RFA1 - экономичный 8-битный микроконтроллер на основе RISC-архитектуре AVR, дополненной высокоскоростным РЧ трансивером ISM-диапазона 2.4ГГц. Он является производным от микроконтроллера ATmega1281и РЧ трансивера AT86RF231.

Благодаря выполнению большинства инструкций за один цикл синхронизации, микроконтроллер достигает производительности близкой к 1 MIPS/МГц, что позволит разработчику систем оптимизировать соотношение потребляемой мощности и производительности исполнения инструкций.

РЧ трансивер поддерживает передачу данных на скорости от 250 кбит/сек до 2Мбит/сек, обработку посылок, обладает отличной чувствительностью приемника и высокой выходной мощностью передатчика[8]. Все эти особенности обеспечат надежность беспроводной передачи данных.

Отличительные особенности:

·        Сочетание IEEE 802.15.4 приемопередатчика на 2.4 ГГц и AVR микроконтроллера на одном кристалле.

·        Высокопроизводительный микроконтроллер со встроенной 128 кБайт Flash-памятью.

·        Сверхнизкое энергопотребление Tx/Rx + AVR (1.8…3.6 В): <18.6 мА.

·        Выход из режима сна по радиосигналу.

·        32-битный счетчик с умножением с накоплением.

·        Датчик температуры.

·        Автоматический режим передачи.

·        128-битный модуль криптографии AES.

·        Поддержка разнесенной антенны.

 

.6.2 Технические особенности WS6318

GSM/GPRS модуль WS6318 представляет собой компактное, но мощное в плане функциональности, решение для широкого круга задач обеспечения связи и передачи данных.

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

Радиочастотная часть WS6318 основывается на специализированной

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

-       цифровой приемник промежуточной частоты;

-       двухполосный малошумящий усилитель;

-       частотный синтезатор;

-       трансмиттер;

-       управляемый кварцевый генератор;

-       приемопередающий узел Tx/Rx FEM (Front-End Module).

Для защиты от электромагнитного шума микрополосковая линия должна быть окружена общим проводом.

Радиочастотные характеристики модуля совместимы с рекомендациями стандарта GSM 05.05.

Характеристики приемника:

-       чувствительность в диапазонах E-GSM900/ DCS1800 - -109 дБм;

-       селективность фильтров:

-       отклонение 200 КГц > +9дБц;

-       отклонение 400 КГц > +41 дБц;

-       подавление соседнего канала > 9 дБц;

-       линейный динамический диапазон 63 дБм.

Основная функциональность модуля обеспечивается при помощи процессорного ядра общего назначения архитектуры ARM9, цифрового сигнального процессора и ряда аналоговых элементов (аудио тракт, линии ввода-вывода, и АЦП). Напряжением питания ядра - 1.2В, напряжение цифровых интерфейсов 2.8В [11].

Модуль имеет достаточно богатый набор интерфейсов и сигнальных линий. Номинальное напряжение питания цифровой части модуля 2.8 В делает его напрямую совместимым с 3.3В логикой (например внешний управляющий контроллер) [11]. Для нужд приложения доступны 10 универсальных программируемых линий ввода-вывода и одна входная. Линии ввода-вывода могут быть использованы для управления внешними устройствами, например, ЖК-дисплеем, подсветкой клавиатуры.

Два последовательных порта (UART-а) позволяют управлять модулем и отслеживать его состояние. При этом UART1 (основной последовательный порт) является универсальным, доступным для передачи команд, данных и чтения состояния и используется для связи модуля с хост-контроллером или ПК. UART1 содержит 8 сигнальных линий и логически совместим с протоколом v24. Для получения совместимости с интерфейсом RS232 достаточно простой микросхемы-преобразователя уровней. Поддерживается набор скоростей от 1200 до 115200 кбит/с с авто-определением битовой скорости. При работе с модулем, в зависимости от задач и желаемой функциональности используется от 2 до всех 8-ми линий интерфейса.

ГЛАВА 3. ПРОЕКТИРОВАНИЕ УСТРОЙСТВА ШЛЮЗА

Для решения поставленной задачи воспользуемся микроконтроллером ATmega128RFA1 и стеком протоколов BitCloud фирмы Atmel. А в качестве GPRS модема используем WS6318 фирмы Sierra Wireless.

Для начала определимся какими функции будет выполнять шлюз:

·        трансляция запросов или передача данных сети ZigBee из GPRS канала,

·        передача каналу данных, запросов в сеть ZigBee от внешних устройств.

Задачи управляющего МК (ATmega128RFA1):

·        настройка GPRS модема:

·        контроль процесса регистрации модема в GSM-сети;

·        активация PDP контекста (типа протокола, точки доступа в Интернет);

·        передача данных о правах доступа к GPRS (имя, пароль);

·        контроль за входом в GPRS;

·        соединение с удалённым узлом в Интернет по заданному IP-адресу и номеру порта;

·        обмен данными;

·        прием/передача данных по UART (с помощью прерываний);

·        расшифровка команд и запросов, трансляция их в сеть ZigBee;

·        передача пакетов/запросов/данных из UART.

На рис.3.1 изображена функциональная схема шлюза.

Рис.3.1 Функциональная схема.

3.1 Общий алгоритм работы шлюза


1.       Начало.

.        Включение питания МК.

.        Загрузка BitCloud.

.        МК включает GSM/GPRS модем.

.        Подключение по UART к нему (обработка прерывания).

.        МК проводит инициализацию, вход в сеть, настройку и проверку качества связи.

.        Подключение GPRS соединения.

.        Завершение прерывания.

.        МК присоединяется к сети.

.        Оповестить все узлы сети о том, что появился шлюз/маршрутизатор.

.        Ожидание шлюзом запросов. Если запрос из сети ZigBee то к п.12, если из GPRS канала то к п.18 , завершение работы - к п.24 .

.        Обработка МК запроса.

.        Формирование АТ - команд.

.        Вызов прерывания по UART.

.        Посылка АТ - команд по UART в GSM/GPRS модем.

.        Выполнение модемом команд (установления соединения с сервером, обмен данными).

.        Завершение прерывания, переход к п.10 .

.        Прием модемом запроса.

.        Обработка запроса, формирование команд.

.        Вызов внешнего прерывания по UART к МК.

.        Передача команд/запроса.

.        Выполнение команд/запроса, обмен данными с узлами ZigBee сети.

.        Завершение прерывания, переход к п.10 .

.        Отсоединение от сети ZigBee.

.        Прерывание по UART. Завершение GPRS соединения.

.        Выключение GSM/GPRS модема.

.        Выключение МК.

.        Конец

 

.2 Использование UART в стеке BitCloud


Для настройки USART порта нужно использовать глобальную переменную HAL_UsartDescriptor_t типа. Настройки применяются вызовом функции HAL_OpenUsart() с аргументом переменной типа HAL_UsartDescriptor_t [9] . Возвращаемое значение указывает, является ли порт успешно открыт и может быть использована для обмена данными. Когда нет больше необходимости держать USART порт активный, приложение должно закрыть его с помощью функции HAL_CloseUsart () на рис.3.2.

Для передачи данных вызывается функция HAL_WriteUsart (), с аргументами указателя на буфер данных и размера передаваемых данных. Если функция возвращает значение больше 0 ( txCallback() ), то передача данных завершена [1].

Рис. 3.2 UART обмен данными в режиме обратного вызова.

При приеме rxCallback() указывает на функцию, которая должна выполняться каждый раз, когда данные поступают в rxBuffer, аргумент - количество принятых байт. Зная количество полученных данных, читаем их из буфера с помощью функции HAL_ReadUsart ().

На рис.3.3 показан фрагмент кода, который показывает как настроить UART порт, так чтобы обе операции выполнены в режиме обратного вызова.

Рис.3.3 Настройка UART порта в режим обратного вызова.

3.3 Использование прерываний в BitCloud

Прием/передача данных по UART будет проходить при вызове прерывания. Нужно зарегистрировать свою программу обработки прерывания, так как добавленное к МК GPRS модем, не имеет в стандартной SDK драйверов.

Вызов для добавления своего обработчика имеет следующий вид:

HAL_RegisterIrq(uint8_tirqNumber, HAL_irqMode_t irqMode, void(*)(void) f);

где irqNumber - идентификатор одной из доступных линий аппаратных прерываний; irqMode - определяет, когда прерывание будет обрабатываться (режим обработки); f - пользовательская функция обработки прерывания.

Рис.3.4 демонстрирует взаимодействие между приложением, стеком протоколов, менеджером задач и прерываниями. Изначально менеджер задач выполняет приложение, определяемое APL_TaskHandler . Выполнение прерывается аппаратным событием (отображено серым). Обрабатывающая прерывание функция вызывается обработчиком или сервисом обслуживания прерываний. После завершения обработки прерывания управление возвращается приложению. После завершения работы менеджера задач управление передается планировщику, который выбирает для исполнения следующую задачу МАС-уровня. Пока выполняется MAC_TaskHandler , он исполняет функцию обратного вызова ZDO-уровня, которая прерывается еще одним аппаратным прерыванием. Затем МАС-уровень выполняет еще одну ZDO-функцию, включающую вызов от приложения. То есть функция приложения исполняется с приоритетом МАС-уровня, или как если бы она имела идентификатор MAC_TASK_ID.

Рис.3.4 Взаимодействие между приложениями, стеком протоколов, менеджером задач и прерываниями.

.4 Использование АТ команд

Взаимодействие Atmega128RFA1 c WS6318 модемом производится через его последовательный интерфейс при помощи AT команд.

В общем случае подключение к сети GPRS состоит из двух этапов:

. Регистрация в сети GPRS (GPRS Attach).

2. Активация GPRS-сессии (PDP context activation).

GPRS Attach подразумевает аутентификацию пользователя и логическое соединение с сетью. Активация PDP контекста подразумевает соединение с IP сетью. На этом этапе GPRS-модем получает IP адрес и возможность обмена данными с IP сетями. Необходимым условием для прохождения этой процедуры является наличие в настройках GPRS-модема и в пользовательских данных на стороне оператора связи, записи о точке входа APN (Access Point Name). Примерами APN являются: internet, wap, ptt.nw.

Отдельно следует отметить, что после активации PDP контекста обмен данными между GPRS-модемом и сетью оператора идет только по протоколам GPRS и протоколу IP.

AT-команды GPRS-модема для активации GPRS сессии:

Используя сведения из теории, ниже приведена последовательность АТ-команд, для корректного установления GPRS-модемом соединения с сетью.

. Вначале в GPRS-модеме необходимо сконфигурировать точку входа APN.

Например, для APN=megacorporate.nw:

AT+CGDCONT=1,"IP","internet"

Данная команда задает значения параметров для PDP контекста с помощью локального контекстного идентификатора <cid>. позволяет задать только четыре PDP контекста. Специальная форма команды задающей PDP контекст +CGDCONT= <cid>.Тестовая команда возвращает поддерживаемые значения. Если MT поддерживает несколько протоколов передачи данных <PDP_type>, то диапазон значений параметров для каждого <PDP_type> возвращается в новой строке.

. Далее GPRS-модемом должна быть выполнена процедура регистрации в сети (GPRS Attach):+CGATT=1

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

. Далее GPRS-модемом должна быть выполнена активация PDP контекста, при этом “1” - это индекс точки входа, сконфигурированной в GPRS-модеме на первом шаге:+CGACT=1,1

Данная исполнительная команда используется для того, чтобы активировать или деактивировать определенный PDP контекст. После того, как команда выполнена, MT находится в командном режиме V.25ter. Если какой-либо PDP контекст уже находится в запрашиваемом состоянии, это состояние не изменяется. Если запрашиваемое состояние любого определенного контекста не может быть установлено, возвращается ERROR .

Если MT не находится в режиме с GPRS, когда выполняется активация команды, MT сначала выполняет соединение с GPRS, а затем пытается активировать определенный контекст. Если установить соединение не удается, тогда MT присылает ответ ERROR или, если включен расширенный отчет об ошибках, присылает в ответ соответствующее сообщение о неудачном соединении. Если параметры <cid> не определены, команда сначала активирует первый определенный PDP контекст. Если <cid>-ы не определены, команда деактивирует все активные контексты.

Команда чтения возвращает текущие состояния для всех определенных PDP контекстов.

Тестовая команда используется для запроса информации о поддерживаемых состояниях PDP контекстов.

4. Ввод состояния данных: ATD*99***

Данная команда заставляет MT выполнять действия, необходимые для установки связи между TE и сетью. Эти действия включают в себя соединение с GPRS и активацию PDP контекста. Если значение <cid> не определено для MT, то в ответ будет получено ERROR или +CME ERROR. В противном случае, MT возвращает промежуточный результирующий код CONNECT и входит в состояние V.25ter on-line обмена данными.

Присоединение к GPRS и процедура активации PDP контекста могут получить более высокий приоритет, чем запуск PDP, если они еще не были выполнены при помощи +CGATT и +CGACT команд.

Если <cid> не задан, то MT пытается активировать контекст при помощи доступной информации. В этом случае остальные параметры контекста не выставлены на значения по умолчанию (APN, параметры по умолчанию QOS, динамические IP адреса не запрашиваются). Если активация прошла успешно, то передача данных может продолжаться.

Проверка состояния модема после ввода указанных команд производится командами:

. Проверка того, какая точка входа APN сконфигурирована в GPRS-модеме:+CGDCONT?

Ответ модема:

+CGDCONT: 1,"IP","MEGACORPORATE.NW",,0,0 сконфигурирована точка входа APN megacorporate.nw с индексом 1 .

. Проверка того, что GPRS-модем зарегистрировался в сети:+CGATT?

Ответ модема:

- не зарегистрирован,

- зарегистрирован.

. Проверка того, что GPRS-модем активировал GPRS сессию:+CGACT?

Ответ модема:

- GPRS сессия не активирована

- GPRS сессия активирована

Эти команды можно использовать при разработке ПО GPRS-терминалов, для контроля подключения к GPRS-сети со стороны терминала, а также при устранении неполадок.

Ниже приведен листинг, характеризующий процесс удачного подключения

GPRS- модема к сети.+CGDCONT=1,"IP","MEGACORPORATE.NW"+CGDCONT?

+CGDCONT: 1,"IP","MEGACORPORATE.NW",0,0+CGATT=1+CGATT?

+CGATT: 1+CGACT=1,1+CGACT?

+CGACT: 1,1

ЗАКЛЮЧЕНИЕ

В ходе бакалаврской работы были произведены работы по проектированию шлюза ZigBee и GPRS.

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

Цель бакалаврской работы выполнена.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1.       Калачев А.В. Стек протоколов BitCloud фирмы Atmel Новости электроники. - М.: Беспроводные технологии , 2011, № 4, с.12

2.       Леонов А. Модули ZigBee сокращают разработку совместимых продуктов вдвое. - М.: Беспроводные технологии , 2009, - 14 с.

.        Баранова Е.В. IEEE 802.15.4 и его программная надстройка ZigBee. [Электронный ресурс] - Режим доступа: #"581780.files/image010.jpg">

 

Похожие работы на - Шлюз ZigBee и GPRS

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!