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

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

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

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

Анализ и синтез линейной системы автоматического управления
Анализ системы автоматического управления Исходные данные: Рассмотрим структурную схему III изображенную в табл. П-1.1. Параметры ...

Анализ и синтез САУ методом корневого годографа
- Изучение системы автоматического регулирования (САР). - Оценка качеств, характеристик САР (устойчивости, ошибки, переходного процесса) по различн ...

Проектирование автомата подачи звонков
Разработанный автомат подачи звонков удовлетворяет всем требованиям, предъявленным в задании. Настройка автомата производится с помощью трех кнопок: «вверх» ...