Попробуем связать GPS навигатор и микроконтроллер.

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 12
Зарегистрирован: Вс янв 09, 2011 11:15:49

Сообщение 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 ? И в каком режиме? С условием что я не знаю частоту передачи данных. Или это нужно сделать программным путем?

Если у кого примеры программ?

С уважением ЯроКот :))
Реклама
Родился
Сообщения: 12
Зарегистрирован: Вс янв 09, 2011 11:15:49

Сообщение SWAT701 »

Вот некоторые картинки
Вложения
garmin_etrex_h_1.jpg
(27.36 КБ) 658 скачиваний
datacable_connection (1).jpg
(36.95 КБ) 577 скачиваний
Реклама
Вымогатель припоя
Сообщения: 557
Зарегистрирован: Пн мар 23, 2009 04:03:45

Сообщение stas00n »

Скорость должна быть стандартная - 4800 бод. Протокол NMEA0183, документации полно. Принимаете пакет через UART, разбираете, дальше по обстоятельствам.
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

Уже изобрел -))
mini3.jpg
(126.55 КБ) 713 скачиваний
микроконтроллер, дисплей 3.4" 320x240, карты от OziExplorer на SD Карточке, внешний USBшынй GPS приемник BT-353 или как то так.

Сейчас бы сделал все совсем по другому )))
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

soldered.jpg
(155.15 КБ) 676 скачиваний
внутренности
Реклама
Вымогатель припоя
Сообщения: 557
Зарегистрирован: Пн мар 23, 2009 04:03:45

Сообщение stas00n »

И уберите из первого поста "двоичный код" - он никому не интересен, а форум из-за него "разъехался".
Реклама
Модератор
Аватара пользователя
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург

Сообщение Aheir »

Вам нужен парсер строки. Поищите по этим словам, что это такое, как делается и т.д. А вообще, проимеров разбора NMEA в И-нете масса, не вижу проблем.
Выход приемника на USART МК - и вперед
Оптимизм х (Опыт + Знания) = const
Контактная информация:
Родился
Сообщения: 12
Зарегистрирован: Вс янв 09, 2011 11:15:49

Сообщение SWAT701 »

Короче я извиняюсь. Я понял, что действительно надо самому разбираться. А ни кто за меня ни че не напишет. Привык блин ко всему готовому. Пока начну документацию изучать. По протоколу USART. Но честно говоря голова кругом идет. Волнуют вопросы. Такие как. 1. Как его синхронизировать. Как настроить прием. Что значит синхронный и асинхронный режим. Какой мне надо? На какие кадры мне его настраивать. Наверное на 8 бит. Что такое стоповый бит в attyni 2313. На кукую ножку процессора идет вход. Как сдвигать в байте полученный бит при поступления следуещего.Как вообще проверить что программа потом будет работать. Ну и еще куча куча вопросов. Начну пока а там посмотрим.
Последний раз редактировалось SWAT701 Вс янв 09, 2011 15:37:21, всего редактировалось 1 раз.
Мявтор!
Аватара пользователя
Сообщения: 384
Зарегистрирован: Ср май 17, 2006 18:39:01
Откуда: Москва

Сообщение Pavel V. »

Делаем буфер длиной 80 байт, по приему символа '$' сбрасываем позицию в 0. По приему данных инкрементируем переменную с позицией (не забывая проверять за вылет из диапазона). Помимо RMC кадра приемник много другой информации шлет, ее можно игнорировать. По приему '\n' выставляем флаг принятой полной строки, для уверенности можно заодно запретить прерывания (хотя это и не обязательно, парсинг будет выполняться явно меньше 1 с).

В основном цикле ловим флаг и запускаем парсер. Парсер NMEA очень прост - режем строку по символу ','.

Контрольную сумму можно в первом приближении не учитывать.
Контактная информация:
Родился
Сообщения: 12
Зарегистрирован: Вс янв 09, 2011 11:15:49

Сообщение SWAT701 »

И так первые копания не привели пока ни к чему. Интереса ради решил посмотреть выходы с осциллографа. С выходов GPS.
Нету никакого сигнала. Он молчит. Кто знает с чем это связанно? Может потому что он в помещении и не ловит спутники и тогда ни чего не передает? Или на его вход надо что то подать? В инструкции NMEA написано что он сам выдаёт сигнал раз в секунду. И причем даже если не видит спутников.
Оказывается мой Garmin Etrex поддерживает такие протоколы как
Garmin
Garmin DGPRS
NMEA
Текстовый (?)
RTCM In
RTCM/NMEA
RTCM/текст.

Может кто что либо подсказать?
Родился
Сообщения: 12
Зарегистрирован: Вс янв 09, 2011 11:15:49

Сообщение SWAT701 »

Вот картинка
Вложения
datacable_connection.jpg
(36.95 КБ) 580 скачиваний
Вымогатель припоя
Сообщения: 557
Зарегистрирован: Пн мар 23, 2009 04:03:45

Сообщение stas00n »

SWAT701, GPSка должна передавать как минимум строку GPRMC раз в секунду, даже без спутников (в этом случае в строке GPRMC передается признак недостоверной обсервации). Лезьте в настройки приемника, возможно вывод там отключен (для экономии батареи?) На вход подавать пока ничего не надо, GPSка является передатчиком-мастером на линии; единственное, что можно подавать на вход - данные с DGPS/WAAS приемника, но у Вас его нет.
Когда разберетесь с настройкой самого прибора (получите сигнал на tx выходе) попробуйте просто к компу подключить, и в гипертерминале посмотреть, какие пакеты он шлет. Порт настроить на 4800, 8N1; возможно потребуется инверсия сигнала, надо смотреть в каких уровнях прибор выдает данные.
Родился
Сообщения: 12
Зарегистрирован: Вс янв 09, 2011 11:15:49

Сообщение SWAT701 »

Спасибо большее. Действительно он находился в режиме экономии. Но уже пока осциллографа нету. Он на работе. Поэтому придется ждать до понедельника. :)
Собутыльник Кота
Аватара пользователя
Сообщения: 2584
Зарегистрирован: Вт сен 14, 2010 10:27:19

Сообщение radio-kot »

SWAT701 писал(а): Можно ли запустить для этого дело USART ? И в каком режиме? Или это нужно сделать программным путем? Если у кого примеры программ?
Именно uart а настроить его проще всего интерактивным генератором кода компилятора CVAVR - вот как это делается http://proavr.narod.ru/z5.htm рассказ с картинками.
Будете проходить мимо- проходите!
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»