Страница 1 из 1
Попробуем связать GPS навигатор и микроконтроллер.
Добавлено: Вс янв 09, 2011 11:32:25
SWAT701
Всем Здравствуйте. Задумал тут одну идею. Изобрести велосипед. Но действительно самому очень интересно. Очень буду рад если кто что подскажет и направит на идейный путь. Скажу сразу мой "микропроект" не несет никакой коммерческой выгоды. А все это ради интереса и для себя. Ну и потом для других. Короче к делу.
Суть в том, что (для начала) хотелось бы соединить GPS навигатор Garnin Etrex c микроконтроллером attiny 2313. Дело в том, что gps раз в секунду передаёт небольшей пакет данных. (Скорость передачи неизвестна) По двум проводам. Минус и еще один контакт. Вид протокола следующий (более подробно здесь
http://ru.wikipedia.org/wiki/NMEA)
$GPRMC,125504.049,A,5542.2389,N,03741.6063,E,0.06,25.82,200906,,*3B ( здесь он передаю Время, широту, долготу , азимут)
Передает он символьно. Вот здеся можно перевести символьный код в двоичный.
http://www.lonsdales.narod.ru/
В двоичном коде это будет так
001001000100011101010000010100100100110101000011001011
000011000100110010001101010011010100110000001101000010
111000110000001101000011100100101100010000010010110000
110101001101010011010000110010001011100011001000110011
001110000011100100101100010011100010110000110000001100
110011011100110100001100010010111000110110001100000011
011000110011001011000100010100101100001100000010111000
110000001101100010110000110010001101010010111000111000
001100100010110000110010001100000011000000111001001100
00001101100010110000101100001010100011001101000010
Вообщем мне теперь надо написать программу в контролер, которая примет это все. И просто запишет в энергонезависимую память контролера.
Вот как. Можно ли запустить для этого дело USART ? И в каком режиме? С условием что я не знаю частоту передачи данных. Или это нужно сделать программным путем?
Если у кого примеры программ?
С уважением ЯроКот

Re: Попробуем связать GPS навигатор и микроконтроллер.
Добавлено: Вс янв 09, 2011 11:34:21
SWAT701
Вот некоторые картинки
Re: Попробуем связать GPS навигатор и микроконтроллер.
Добавлено: Вс янв 09, 2011 13:47:54
stas00n
Скорость должна быть стандартная - 4800 бод. Протокол NMEA0183, документации полно. Принимаете пакет через UART, разбираете, дальше по обстоятельствам.
Re: Попробуем связать GPS навигатор и микроконтроллер.
Добавлено: Вс янв 09, 2011 13:52:26
Satyr
Уже изобрел -))
микроконтроллер, дисплей 3.4" 320x240, карты от OziExplorer на SD Карточке, внешний USBшынй GPS приемник BT-353 или как то так.
Сейчас бы сделал все совсем по другому )))
Re: Попробуем связать GPS навигатор и микроконтроллер.
Добавлено: Вс янв 09, 2011 13:54:03
Satyr
Re: Попробуем связать GPS навигатор и микроконтроллер.
Добавлено: Вс янв 09, 2011 13:55:26
stas00n
И уберите из первого поста "двоичный код" - он никому не интересен, а форум из-за него "разъехался".
Re: Попробуем связать GPS навигатор и микроконтроллер.
Добавлено: Вс янв 09, 2011 14:55:08
Aheir
Вам нужен парсер строки. Поищите по этим словам, что это такое, как делается и т.д. А вообще, проимеров разбора NMEA в И-нете масса, не вижу проблем.
Выход приемника на USART МК - и вперед
Re: Попробуем связать GPS навигатор и микроконтроллер.
Добавлено: Вс янв 09, 2011 15:21:35
SWAT701
Короче я извиняюсь. Я понял, что действительно надо самому разбираться. А ни кто за меня ни че не напишет. Привык блин ко всему готовому. Пока начну документацию изучать. По протоколу USART. Но честно говоря голова кругом идет. Волнуют вопросы. Такие как. 1. Как его синхронизировать. Как настроить прием. Что значит синхронный и асинхронный режим. Какой мне надо? На какие кадры мне его настраивать. Наверное на 8 бит. Что такое стоповый бит в attyni 2313. На кукую ножку процессора идет вход. Как сдвигать в байте полученный бит при поступления следуещего.Как вообще проверить что программа потом будет работать. Ну и еще куча куча вопросов. Начну пока а там посмотрим.
Re: Попробуем связать GPS навигатор и микроконтроллер.
Добавлено: Вс янв 09, 2011 15:35:10
Pavel V.
Делаем буфер длиной 80 байт, по приему символа '$' сбрасываем позицию в 0. По приему данных инкрементируем переменную с позицией (не забывая проверять за вылет из диапазона). Помимо RMC кадра приемник много другой информации шлет, ее можно игнорировать. По приему '\n' выставляем флаг принятой полной строки, для уверенности можно заодно запретить прерывания (хотя это и не обязательно, парсинг будет выполняться явно меньше 1 с).
В основном цикле ловим флаг и запускаем парсер. Парсер NMEA очень прост - режем строку по символу ','.
Контрольную сумму можно в первом приближении не учитывать.
Re: Попробуем связать GPS навигатор и микроконтроллер.
Добавлено: Чт янв 20, 2011 19:59:11
SWAT701
И так первые копания не привели пока ни к чему. Интереса ради решил посмотреть выходы с осциллографа. С выходов GPS.
Нету никакого сигнала. Он молчит. Кто знает с чем это связанно? Может потому что он в помещении и не ловит спутники и тогда ни чего не передает? Или на его вход надо что то подать? В инструкции NMEA написано что он сам выдаёт сигнал раз в секунду. И причем даже если не видит спутников.
Оказывается мой Garmin Etrex поддерживает такие протоколы как
Garmin
Garmin DGPRS
NMEA
Текстовый (?)
RTCM In
RTCM/NMEA
RTCM/текст.
Может кто что либо подсказать?
Re: Попробуем связать GPS навигатор и микроконтроллер.
Добавлено: Чт янв 20, 2011 20:00:31
SWAT701
Вот картинка
Re: Попробуем связать GPS навигатор и микроконтроллер.
Добавлено: Пт янв 21, 2011 16:32:27
stas00n
SWAT701, GPSка должна передавать как минимум строку GPRMC раз в секунду, даже без спутников (в этом случае в строке GPRMC передается признак недостоверной обсервации). Лезьте в настройки приемника, возможно вывод там отключен (для экономии батареи?) На вход подавать пока ничего не надо, GPSка является передатчиком-мастером на линии; единственное, что можно подавать на вход - данные с DGPS/WAAS приемника, но у Вас его нет.
Когда разберетесь с настройкой самого прибора (получите сигнал на tx выходе) попробуйте просто к компу подключить, и в гипертерминале посмотреть, какие пакеты он шлет. Порт настроить на 4800, 8N1; возможно потребуется инверсия сигнала, надо смотреть в каких уровнях прибор выдает данные.
Re: Попробуем связать GPS навигатор и микроконтроллер.
Добавлено: Пт янв 21, 2011 17:06:00
SWAT701
Спасибо большее. Действительно он находился в режиме экономии. Но уже пока осциллографа нету. Он на работе. Поэтому придется ждать до понедельника.

Re: Попробуем связать GPS навигатор и микроконтроллер.
Добавлено: Пт янв 21, 2011 17:16:03
radio-kot
SWAT701 писал(а): Можно ли запустить для этого дело USART ? И в каком режиме? Или это нужно сделать программным путем? Если у кого примеры программ?
Именно uart а настроить его проще всего интерактивным генератором кода компилятора CVAVR - вот как это делается
http://proavr.narod.ru/z5.htm рассказ с картинками.