GPS RF маяк на модулях RFM12B-433

(страница в разработке...)

стр.   1   2   3   4   5   Приложения

Первоначально данное устройство планировалось как шлюз UART-SPI-RFM12(радиоканал). На его основе изготовлен прототип GPS маяка с радиоканалом. В маяке применён GPS модуль GlobalTop FGPMMOPA6H, Mediatek (MTK) MT3339. Радиотракт выполнен на основе трансиверов RFM12B и усилителей на транзисторах BFR93, BFG591. Схемы маяка и приёмной части практически одинаковые. Отличия в программах управляющих контроллеров на ATtiny2313A. Программу, при небольшой доработке можно применить для радиомодулей RFM12BP, с готовым усилителем мощности в радиотракте. Маяк и приёмник могут работать в режиме приём/передача. Приёмник может передать маяку на исполнение команды с 2-х кнопок. В маяке реализована одна кнопка, которая может быть использована для передачи приёмнику одной команды. Схема, печатные платы и программа для МК находятся на последней страничке "Приложения", в разделе "Файлы".  

Технические характеристики маяка

напряжение питания: 9В

ток потребления GPS модуля:

ток потребления в режиме приёма:

ток потребления в режиме передачи:

рабочая частота: 433,92МГц (430,24МГц-439,75МГц)

выходная мощность передатчика:

чувствительность приёмника: -110dBm

скорость передачи по радиоканалу: 57,6kbit/s

скорость передачи по UART GPS: 14,4kbit/s

частота обновления данных GPS: 2Гц

скорость передачи по UART на стороне приёмника: 115,2kbit/s

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

Внешний вид маяка (старая печатная плата)первый вариант печатной платы, неправильно выполнен выходной RF каскад

Печатная плата

 новая печатная плата

 

Общий вид маяка

скачать архив блок-схемы в формате sPlan 7.0

Временные интервалы передачи пакетов GPS

Передача пакетов GPS и переход маяка в режим приёма

Приём пакетов GPS и передача кода кнопок К1 и К2 (приёмник)

прослушать аудиофайл, скачать

В режиме работы от таймера, для предотвращения обрыва пакета при передаче, используется определение начала, символ “$”, и конца пакета, символ  “LF”, данных GPSrfSend_GPS для анализа начала нового пакета с символа "$"

В данном варианте, выбрана побайтная передача пакета данных GPS по радиоканалу. Модуль GPS выдаёт пакеты данных со скоростью 14,4кбит/сек и периодом 2 раза в секунду. При формировании радиопакета данных, к байту GPS добавляется три служебных байта (преамбула и два синхробайта) и завершающий пустой байт. Поэтому, реальная скорость радиоканала должна быть в 4раза больше скорости трансляции GPS модуля и равна 57,6кбит/сек. В этом заключается основной недостаток этого метода. В интервалах между передачей пакетов GPS, маяк переключается в режим приёма и способен принять команды от приёмника.

Работа программы маяка

После включения питания происходит инициализация модуля GPS, затем радиомодуля. Здесь предполагается, что модуль GPS имеет или заводские настройки, или уже прошёл настройку.

Модуль поставляется со следующими заводскими настройками:

скорость передачи по UART – 9,6кбит/сек, частота обновления 1Гц;

состав пакета данных протокола NMEA:  VTG (1)-GSA (1)-RMC (1)-GGA (1)-GSV (1раз в 5циклов).

В скобках указано количество повторений данных пакета в одном цикле передачи.

Контроллер инициализирует модуль при включении устройства, если скорость UART соответствует заводским настройкам 9600бит/сек, или при случайном сбросе к заводским настройкам настроенного модуля (сброс скорости UART к 9600бит/сек). Для определения, в каком состоянии находится модуль GPS, используется проверка преамбулы “$GP” пакета NMEA. В первом шаге контроллер принимает данные от модуля на скорости 14400бит/сек и проводит проверку преамбулы. Если получены достоверные три символа “$”, “G” и “P” значит, модуль уже настроен и инициализация не требуется. Если в преамбуле содержится мусор, контроллер переключает скорость своего UARTа на 9600бит/сек и проводит настройки модуля GPS командами PMTK на следующие параметры:

скорость передачи по UART – 14,4кбит/сек, частота обновления 2Гц;

состав пакета данных протокола NMEA:  RMC (1)-GGA (1)- GSA (1)-GSV (1раз в 5циклов);

DGPS correction data source mode, disable; set EASY, disable (для update-rate 2Гц и выше).

Выбор настроек протокола NMEA обусловлен работой маяка с программой SAS-Планета.

Для работы SAS-Планета необходимы:

RMC-(1)(Рекомендуемые Минимальные Данные)

GGA-(1)(высота)

GSA-(1) (параметры спутников, режим работы GPS, связан с GGA)

GSV-(5) (кол-во спутников, их номера, для картинки)

=====

VTG-(1) не используется (необязательно, направление курса (COG) и скорость относительно земли (SOG))

После инициализации устройств запускается основной цикл программы, и маяк переходит в режим передачи данных модуля GPS. Данные принимаются по UART в прерывании и сохраняются в буфере. Для передачи по радиоканалу, байт считывается из буфера функцией «getchar_Tout» и вставляется в радиопакет данных. Чтобы не «висеть» постоянно в функции «getchar_Tout» при ожидании пакета данных GPS, время ожидания ограничивается  «StartTimer0» реализованным на таймере Т0. При скорости UART 14400бит/сек длительность приёма одного байта составляет около 0,7мсек и время ожидания функции «getchar_Tout» ограничивается 1мсек. «StartTimer0» запускается в начале приёма каждого байта на 1мсек, и если по истечению этого времени нет следующего байта, следовательно, пакет данных GPS закончился и радиомодуль переходит в режим приёма до начала передачи модулем GPS очередного пакета данных. В режиме приёма, маяк может принять команды от двух кнопок приёмника. Первая кнопка предназначена для запуска двигателя и сирены. Каждая кнопка имеет четырёх байтный код. При приёме кода кнопки приёмника, он сравнивается с запрограммированным кодом кнопки маяка и если он совпадает выдаётся команда на исполнение. Команда от кнопки S1 завершается через 5сек или сразу после размыкании перемычки вывода PD5 «контакт подъёма». Команда от кнопки S2 завершается через 1сек. Задержки формируются таймером Т1. На таймере Т1 выполнен секундный счётчик, он формирует все основные длительные задержки.

 

Начало передачи нового пакета данных GPS по UART определяется по началу заполнения счётчика буфера «rx_counter» в прерывании UART. Радиомодуль переключается в режим передачи, и начинается передача данных GPS по радиоканалу.

Маяк может работать в двух режимах передачи. Непрерывный и режим с паузами, для экономии источника электропитания. Режим с паузами включается по истечении задержки формируемой таймером Т1 при размыкании перемычки «контакт подъёма». Максимальное время задержки 21мин. В данном проекте время задержки выбрано 2мин 35сек. Сброс задержки, после размыкания перемычки, возможен только при полном сбросе (отключения питания).

 

 

 

//Максимальное общее количество символов в любом предложении 82;

//максимум 79 символов между разделителем "$" и <CR><LF>

//The maximum total number of characters in any sentence is 82;

//maximum of 79 characters between the starting delimiter "$" and the terminating <CR><LF>.

размер буфера, для AT2313 не более 72 байт

 

  //программный SPI//

//Указание из ДШ: во время доступа к FIFO fsck не может буть выше чем fref / 4,

//где fref равна частоте кварцевого резонатора модуля. Если скважность тактового сигнала - не 50%,

//то самый короткий период импульса clk должен быть как минимум 2 / fref секунд.

//на самом деле, данные из модуля RFM12B считываются без ошибок на максимальной скорости, при

//частоте fsck SPI 3,70MHz SCK!!!

 

 

 

 

 

 

последнее изменение 01.04.2015

sprofimail.ru   

Хочу домой!!!

 вернуться на главную

Домой на "ракетный"

Запасной ракетодром

Ракетная мастерская