Разделы сайта

Проектирование устройства шлюза

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

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

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

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

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

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

· включение (выключение) модуля, инициализация настроек;

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

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

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

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

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

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

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

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

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

На рис.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 модема.

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

. Конец

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

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

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

Перейти на страницу: 1 2

Интересное из раздела

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

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

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