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

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

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

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

Исследование блока усилителя промежуточной частоты изображения
Телевизор «Электроника Ц-432» - переносный телевизионный приемник цветного изображения - выпускается в настольном оформлении с различными вариантами отделки кор ...

Цифровой УКВ-приемник
В последние несколько лет заметна тенденция резкого сокращения сроков проектирования новых изделий при все возрастающих требованиях к их качественным характеристикам. Это ...

Проектирование генераторного триода дециметрового диапазона
Генераторные лампы предназначены для генерирования и усиления электрических колебаний низких и высоких частот. По роду работы генераторные лампы можно разде ...