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

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

Для решения поставленной задачи воспользуемся микроконтроллером 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

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

Расчет модели сети передачи данных
Вариант № 1 Начальная интенсивность внешнего источника λ0 = 1 заявок/с Таблица 1. Тип модели Способы представления ...

Повышение технологичности печатного узла усилителя на ОУ
Целью данного курсового проекта является повышение технологичности печатного узла усилителя на ОУ за счет применения прогрессивных методов монтажа SMD-к ...

Исследование узлов и систем автоматического регулирования
Объектом исследования данного курсового проекта является системы автоматического регулирования, их виды, элементарные звенья и их математические модели с те ...