реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> GPS приемник и Atmega, посоветуйте модель
V000va
сообщение Aug 27 2008, 15:23
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 23-06-08
Пользователь №: 38 503



Подскажите плз, нужно увязать GPS приемник и контроллер Atmega8 или Tiny2313. Необходимо принимать время, дату и координаты и выводить на дисплей. Поковырявшись в datasheet и моделях GPS приемников возникло несколько вопросов:
1. Протокол Nmea двусторонний или нет, т.е. прием-предача?
2. Какую модель GPS приемника и антенны выбрать? Читал что в некоторых приемниках некоторых фирм много брака.
3. Как можно реализовывать взаимодействие микроконтроллера и приемника по протоколу Nmea? Ведь необходимо предавать ASCII (буквы) символы в виде команд. Из таблицы ASCII символов пердавать HEX код соответсвующий и в UART или как? (с UART не работал, вот и спрашиваю)
4. Как нужно(можно) сконфигурировать приемник для моего режима?
Например Modulestek и другие производители предлагают
• Continues Tracking Mode
– optimized for position accuracy
– optimized for min. power consumption based on Autonomous
– is default setting
• FixNow™ Mode
– additional power saving functions
– best mod for applications where low power is primary consideration
– can be configured for different application requirements

для координат и времени оптимален скорее всего 2-й режим?
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Aug 27 2008, 15:46
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(V000va @ Aug 27 2008, 19:23) *
Подскажите плз, нужно увязать GPS приемник и контроллер Atmega8 или Tiny2313. Необходимо принимать время, дату и координаты и выводить на дисплей. Поковырявшись в datasheet и моделях GPS приемников возникло несколько вопросов:
1. Протокол Nmea двусторонний или нет, т.е. прием-предача?

Что-то вроде как можно и передавать (никогда не вникал в подробности за ненадобностью), но типично практически все (исключений не знаю) модули по умолчанию просто гонят NMEA (ASCII, 4800), и надо просто разгребать то, что сыплется. 2313, пожалуй, имеет маловато ресурсов. Т.е., наверное, что-то получится сделать, но явно будет тесновато. Mega8 либо 168 - будет самое оно.
Цитата
2. Какую модель GPS приемника и антенны выбрать? Читал что в некоторых приемниках некоторых фирм много брака.

С модулями от u-blox обычно проблем нет. Жрут мало, стоят не очень дорого.
Цитата
3. Как можно реализовывать взаимодействие микроконтроллера и приемника по протоколу Nmea? Ведь необходимо предавать ASCII (буквы) символы в виде команд. Из таблицы ASCII символов пердавать HEX код соответсвующий и в UART или как? (с UART не работал, вот и спрашиваю)

Разбирать сообщения, паковать данные. Если ориентироваться на конкретного производителя, то можно воспользоваться и бинарным протоколом, но NMEA - стандарт, и, наверное, правильнее именно на него ориентироваться.
Цитата
4. Как нужно(можно) сконфигурировать приемник для моего режима?
для координат и времени оптимален скорее всего 2-й режим?

Вероятно да. Определяется условиями эксплуатации устройства.
Go to the top of the page
 
+Quote Post
Syberian
сообщение Aug 28 2008, 02:12
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 29-12-06
Из: Омск
Пользователь №: 23 999



Цитата(V000va @ Aug 27 2008, 18:23) *
Подскажите плз, нужно увязать GPS приемник и контроллер Atmega8 или Tiny2313
...
Как можно реализовывать взаимодействие микроконтроллера и приемника по протоколу Nmea? Ведь необходимо предавать ASCII (буквы) символы в виде команд. Из таблицы ASCII символов пердавать HEX код соответсвующий и в UART или как? (с UART не работал, вот и спрашиваю)
...



в протоколе NMEA для GPS-устройств есть обязательная команда $GPRMC. Она выдается исключительно ВСЕМИ устройствами самопроизвольно раз в 1..3 секунды и содержит в текстовом виде перечисленные через запятую широту, долготу, азимут, скорость, опционально высоту и контрольную сумму.
Остальные команды полностью зависят от изделия, и могут передаваться как инициативно, так и по запросу.
Для AVR достаточно будет иметь UART и микруху сопряжения COM-порта. Какой LCD юзать - придумай сам. Схем навалом.

Я тут давненько писал прогу для компа по чтению с GPS - посмотри, поюзай, изучи интерпретацию...
Прикрепленные файлы
Прикрепленный файл  GPSrecv.rar ( 206.31 килобайт ) Кол-во скачиваний: 192
 
Go to the top of the page
 
+Quote Post
V000va
сообщение Aug 28 2008, 07:34
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 23-06-08
Пользователь №: 38 503



Из прочитанного я понял, что протокол двусторонний, т.к. в некоторых модулях присутсвует конфигурирование режимов работы GPS приемника.

Команда $GPRMC выдается приемником (её можно опустить) или ее нужно формировать при конфигурировании тоже?

Цитата
модули по умолчанию просто гонят NMEA (ASCII, 4800), и надо просто разгребать то, что сыплется.


Но ведь гнать в линию модули могут и в GGA, ZTA , GLL формате? Это ведь нужно конфигурировать?

Цитата
Разбирать сообщения, паковать данные.
Ну с разборкой сообщений все опнятно, а что подразумевается под упаковкой?

ЗЫ Небольшое уточнение. Многие приемники имеют уже UART выход, все тот же Modulestek имеет
P3 TxD2 USART2 Transmit.
P4 RxD2 USART2 Receive.
Поэтому UART Atmega8 буду использовать для связи с приемником, а не с компом.
Go to the top of the page
 
+Quote Post
Syberian
сообщение Aug 28 2008, 09:04
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 29-12-06
Из: Омск
Пользователь №: 23 999



Цитата(V000va @ Aug 28 2008, 10:34) *
Команда $GPRMC выдается приемником (её можно опустить) или ее нужно формировать при конфигурировании тоже?
Но ведь гнать в линию модули могут и в GGA, ZTA , GLL формате? Это ведь нужно конфигурировать?

Ну с разборкой сообщений все опнятно, а что подразумевается под упаковкой?

ЗЫ Небольшое уточнение. Многие приемники имеют уже UART выход, все тот же Modulestek имеет
P3 TxD2 USART2 Transmit.
P4 RxD2 USART2 Receive.
Поэтому UART Atmega8 буду использовать для связи с приемником, а не с компом.


Повторяю, $GPRMC всегда выдается приемником.
В каком формате оно ползет - читай мануал выбранного приемника. Но обычно тупо в текстовом, разделенное запятыми, на скорости 4800.
И чтобы его получить - ничего конфигурять не надо. Просто включи приемник и настрой на спутник.

Чтобы конфигурять, достаточно отправить на приемник команду в таком же виде: (пример) "$GPEMD,1,a#". Тупо текст побайтно. Что нужно конкретно писать - кури мануал.

Упаковка - это значит, что в RMC градусы, минуты и секунды пишутся слитно в одном параметре,напр, W0125607 - типо западная долгота, 12 градусов, 56 минут и 07 секунд.

Про UART - есть меги с 2-мя уартами wink.gif туда и туда. Если нужно, конечно.
Go to the top of the page
 
+Quote Post
V000va
сообщение Aug 28 2008, 09:35
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 23-06-08
Пользователь №: 38 503



Цитата(Syberian @ Aug 28 2008, 12:04) *
Повторяю, $GPRMC всегда выдается приемником.
В каком формате оно ползет - читай мануал выбранного приемника. Но обычно тупо в текстовом, разделенное запятыми, на скорости 4800.
И чтобы его получить - ничего конфигурять не надо. Просто включи приемник и настрой на спутник.

Чтобы конфигурять, достаточно отправить на приемник команду в таком же виде: (пример) "$GPEMD,1,a#". Тупо текст побайтно. Что нужно конкретно писать - кури мануал.

Упаковка - это значит, что в RMC градусы, минуты и секунды пишутся слитно в одном параметре,напр, W0125607 - типо западная долгота, 12 градусов, 56 минут и 07 секунд.

Про UART - есть меги с 2-мя уартами wink.gif туда и туда. Если нужно, конечно.



Так яснее, спасибо. Подскажите, щас вот втыкаю datasheet разных производителей, некоторые пришут что у них NMEA output: GGA, RMC, GSV, GSA (all 1 sec interval), т.е. по кругу гонятся данные в разных форматах. А некоторые пишут что у них просто NMEA выход и не пишут, какой формат вывода GGA, RMC, GSV или какой другой. Есть ли модуль, который выдает данные в зависимости от того как его сконфигурирую? Т.е. хочу, например, в ZDA формате - поставь едеиничку в таком регистре, хочешь в GGA - поставь нолик в этом регистре.

Цитата
И чтобы его получить - ничего конфигурять не надо. Просто включи приемник и настрой на спутник.


Т.е. нужно искать приемник, который выдает сразу в GGA, а не цикл из GGA, RMC, GSV, GSA (all 1 sec interval)

Цитата
Упаковка - это значит, что в RMC градусы, минуты и секунды пишутся слитно в одном параметре,напр, W0125607 - типо западная долгота, 12 градусов, 56 минут и 07 секунд.
С упаковокой понятно, я -то думал что-то сложное. biggrin.gif
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Aug 28 2008, 09:46
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(V000va @ Aug 28 2008, 11:34) *
Из прочитанного я понял, что протокол двусторонний, т.к. в некоторых модулях присутсвует конфигурирование режимов работы GPS приемника.

Но по умолчанию обычно NMEA, и достаточно однонаправленности.
Цитата
Команда $GPRMC выдается приемником (её можно опустить) или ее нужно формировать при конфигурировании тоже?
Но ведь гнать в линию модули могут и в GGA, ZTA , GLL формате? Это ведь нужно конфигурировать?

Это не команды, и не форматы. Это сообщения. Из входного потока вылавливаются и обрабатываются нужные, а то, что не нужно - игнорируется.
Цитата
Ну с разборкой сообщений все опнятно, а что подразумевается под упаковкой?

Я имел в виду тот случай, когда принимаемые данные надо как-то преобразовывать. Если есть желание и потребность, можно, конечно, выдавать на экран прямо те фрагменты ASCII, которые присутствуют в сообщении. Но если надо делать какие-то преобразования, то значения в ASCII надо преобразовать в бинарные, обработать, и затем выводить, используя преобразование. Под "упаковкой" я подразумевал только это (и, возможно, применил не вполне корректный термин).
Цитата
ЗЫ Небольшое уточнение. Многие приемники имеют уже UART выход, все тот же Modulestek имеет
P3 TxD2 USART2 Transmit.
P4 RxD2 USART2 Receive.
Поэтому UART Atmega8 буду использовать для связи с приемником, а не с компом.


А с компьютером связь не нужна ? На самом деле, реализовать программный приемник для 4800 - совсем просто (удобно пользоваться для этого функцией ICP), и тогда UART вполне можно отдать для иных целей.

Цитата(V000va @ Aug 28 2008, 13:35) *
Есть ли модуль, который выдает данные в зависимости от того как его сконфигурирую? Т.е. хочу, например, в ZDA формате - поставь едеиничку в таком регистре, хочешь в GGA - поставь нолик в этом регистре.
Т.е. нужно искать приемник, который выдает сразу в GGA, а не цикл из GGA, RMC, GSV, GSA (all 1 sec interval)

Насколько подсказывает мой склероз, опциональные сообщения можно отключать у u-Blox, к примеру. А нужно ли это делать ? Если просто фильтровать поток и вылавливать лишь нужные, то можно использовать совершенно любой приемник. Например, туристический eTrex - а готовые изделия, в отличии от модулей, передают то, что считают нужным, и им уже не объяснишь, что это - нужно, а это - не нужно. Типично - раз в секунду все по кругу...
Go to the top of the page
 
+Quote Post
Syberian
сообщение Aug 28 2008, 09:52
Сообщение #8


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 29-12-06
Из: Омск
Пользователь №: 23 999



Цитата
Подскажите, щас вот втыкаю datasheet разных производителей, некоторые пришут что у них NMEA output: GGA, RMC, GSV, GSA (all 1 sec interval), т.е. по кругу гонятся данные в разных форматах. А некоторые пишут что у них просто NMEA выход и не пишут, какой формат вывода GGA, RMC, GSV или какой другой. Есть ли модуль, который выдает данные в зависимости от того как его сконфигурирую? Т.е. хочу, например, в ZDA формате - поставь едеиничку в таком регистре, хочешь в GGA - поставь нолик в этом регистре.


smile.gif Повторяю в третий и последний раз. В.С.Е. (все) (all) (alle) (усi) приемники GPS выдают сообщение $GPRMC раз в секунду. Это обязательное требование какого-то там "морского реестра спасателей". И ничего (nothing) для получения своих координат, азимута и скорости в приемник писать не нужно! Просто прими RMC раз в секунду.

Остальные сообщения выдают как вместе, так и по отдельности, данные из RMC, режимы приемника, заряд батареи, атмосф. давление и проч "фичи. Их выдача зависит от производителя.
Go to the top of the page
 
+Quote Post
V000va
сообщение Aug 28 2008, 10:24
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 23-06-08
Пользователь №: 38 503



Цитата(Syberian @ Aug 28 2008, 12:52) *
smile.gif Повторяю в третий и последний раз. В.С.Е. (все) (all) (alle) (усi) приемники GPS выдают сообщение $GPRMC раз в секунду. Это обязательное требование какого-то там "морского реестра спасателей". И ничего (nothing) для получения своих координат, азимута и скорости в приемник писать не нужно! Просто прими RMC раз в секунду.

Остальные сообщения выдают как вместе, так и по отдельности, данные из RMC, режимы приемника, заряд батареи, атмосф. давление и проч "фичи. Их выдача зависит от производителя.


Ну хорошо, а могу я отключить RMC и GGA включить например? RMC это recommended minimum. И как можно выбирать между форматами выдаваемых в линию сообщений? Это ведь не рационально, выдавать в линию несколько сообщений в разных форматах, но с одинаковыми данными.


Цитата
Это не команды, и не форматы. Это сообщения. Из входного потока вылавливаются и обрабатываются нужные, а то, что не нужно - игнорируется.

А зачем тогда дублировать данные, ведь все сообщения содержат схожую информацию? Как-то $GPRMC, $GPGGA например. Можно сделать так, чтоб в линию выдавалось только одно сообщение како-го то формата? Чтоб не отсеивать по начальному индексу из 3 разных сообщений одно нужное.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Aug 28 2008, 10:26
Сообщение #10


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(V000va @ Aug 28 2008, 14:24) *
Ну хорошо, а могу я отключить RMC и GGA включить например?

Нет.
Цитата
Можно сделать так, чтоб в линию выдавалось только одно сообщение како-го то формата? Чтоб не отсеивать по начальному индексу из 3 разных сообщений одно нужное.

В общем случае - нет.
Go to the top of the page
 
+Quote Post
V000va
сообщение Aug 28 2008, 14:13
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 23-06-08
Пользователь №: 38 503



Цитата(rx3apf @ Aug 28 2008, 13:26) *
Нет.

В общем случае - нет.



Хм, выходит что только по заголовку сообщения фильтровать то, что тебе нужно. Другого не остается. 05.gif
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Aug 28 2008, 14:30
Сообщение #12


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(V000va @ Aug 28 2008, 18:13) *
Хм, выходит что только по заголовку сообщения фильтровать то, что тебе нужно. Другого не остается. 05.gif

Про это и говорено, уже не один раз. Только так, и _никак_ иначе.
Go to the top of the page
 
+Quote Post
V000va
сообщение Aug 29 2008, 10:36
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 23-06-08
Пользователь №: 38 503



Изучаю внешние антенны для GPS модулей. Все имеют 3В питание. Его ж по антеному кабелю через разделительный конденсатор запускать? Это ж не рационально на таких частотах.

Сообщение отредактировал V000va - Aug 29 2008, 10:45
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Aug 29 2008, 12:17
Сообщение #14


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(V000va @ Aug 29 2008, 14:36) *
Изучаю внешние антенны для GPS модулей. Все имеют 3В питание. Его ж по антеному кабелю через разделительный конденсатор запускать? Это ж не рационально на таких частотах.

1) Почему не рационально ?
2) Альтернатива ?

А если посмотреть, скажем, в даташит на модули u-Blox, то там вполне доступно изображена схема включения - все есть внутри, управление питанием антенны, разделительный конденсатор и дроссель. Активная антенна подключается непосредственно к входу модуля через 50-омную полосковую линию и разъем. Ничего больше...
Go to the top of the page
 
+Quote Post
V000va
сообщение Aug 29 2008, 15:00
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 23-06-08
Пользователь №: 38 503



Теперь ясно почти все. Спасибо
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 14:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01525 секунд с 7
ELECTRONIX ©2004-2016