Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Исследование GPS

Сообщений 1 страница 6 из 6

1

EB-800

Настройка модуля
Включение и отключение нужных пакетов

'GLL  , RMC , VTG  , GGA  , GSA , GSV , GRS  , GST , MALM   , MEPH   , MDGP   , MDBG   ,                                  ZDA  , MCHN     контрольная сумма
  'PMTK314 ,   0  ,     0  ,     1  ,     1  ,     0  ,    0  ,     0  ,     0  ,       0   ,       0   ,        0   ,        0   ,  0  ,  0  ,  0  ,  0  ,  0 ,     1  ,       0  *29"
                     |         |        |         |        |        |        |         |          |            |            |             |                                           |           |
                                     время в секундах между пакетами, если "0" пакет не передаётся

Расчёт контрольной суммы и формирование пакета

Dim Checksum_set_data As Byte
  Dim Checksum_set_data_str As String * 100
  Dim Temp_checksum_set_data As Byte
  Dim Temp_checksum_set_data_str As String * 5

do

          Checksum_set_data_str = "PMTK314,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"     
          Temp_checksum_set_data = Checksumxor(checksum_set_data_str)
          Temp_checksum_set_data_str = Hex(temp_checksum_set_data)

          Checksum_set_data_str = "$" + Checksum_set_data_str + "*" + Temp_checksum_set_data_str

loop
end

Установка скорости трансляции GPS модуля

'$PMTK251,115200*1F
'$PMTK251,57600*2C
'$PMTK251,38400*27
'$PMTK251,19200*22
'$PMTK251,14400*29
'$PMTK251,9600*17
'$PMTK251,4800*14
'$PMTK251,2400*1E

http://s8.uploads.ru/t/GFMbQ.jpg http://s5.uploads.ru/t/nTKZv.jpg

+2

2

EB-870

Настройка модуля
Включение и отключение нужных пакетов

'GLL  , RMC , VTG  , GGA  , GSA , GSV , GRS  , GST , MALM   , MEPH   , MDGP   , MDBG   ,                                  ZDA  , MCHN     контрольная сумма
  'PMTK314 ,   0  ,     0  ,     1  ,     1  ,     0  ,    0  ,     0  ,     0  ,       0   ,       0   ,        0   ,        0   ,  0  ,  0  ,  0  ,  0  ,  0 ,     1  ,       0  *29"
                     |         |        |         |        |        |        |         |          |            |            |             |                                           |           |
                                     время в секундах между пакетами, если "0" пакет не передаётся

Расчёт контрольной суммы и формирование пакета

Dim Checksum_set_data As Byte
  Dim Checksum_set_data_str As String * 100
  Dim Temp_checksum_set_data As Byte
  Dim Temp_checksum_set_data_str As String * 5

do

          Checksum_set_data_str = "PMTK314,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0"     
          Temp_checksum_set_data = Checksumxor(checksum_set_data_str)
          Temp_checksum_set_data_str = Hex(temp_checksum_set_data)

          Checksum_set_data_str = "$" + Checksum_set_data_str + "*" + Temp_checksum_set_data_str

loop
end

Установка скорости трансляции GPS модуля

'$PMTK251,115200*1F
'$PMTK251,57600*2C
'$PMTK251,38400*27
'$PMTK251,19200*22
'$PMTK251,14400*29
'$PMTK251,9600*17
'$PMTK251,4800*14
'$PMTK251,2400*1E

http://s5.uploads.ru/t/GFVvh.jpg

+1

3

NEO-6M-0-001

Настройка модуля

'Отключение всех сообщений:
      Print "$PUBX,40,GLL,0,0,0,0*5C" , 1 : Waitms 10
      Print "$PUBX,40,ZDA,0,0,0,0*44" , 1 : Waitms 10
      Print "$PUBX,40,VTG,0,0,0,0*5E" , 1 : Waitms 10
      Print "$PUBX,40,GSV,0,0,0,0*59" , 1 : Waitms 10
      Print "$PUBX,40,GSA,0,0,0,0*4E" , 1 : Waitms 10
      Print "$PUBX,40,GGA,0,0,0,0*5A" , 1 : Waitms 10
      Print "$PUBX,40,RMC,0,0,0,0*47" , 1 : Waitms 10

'Включение нужных сообщений:
  Print "$PUBX,40,GGA,0,1,0,0*5B" : Waitms 10
  Print "$PUBX,40,VTG,0,1,0,0*5F" : Waitms 10
  Print "$PUBX,40,ZDA,0,1,0,0*45" : Waitms 10

  'Настройка необходимой скорости трансляции
   '"$PUBX,41,1,3,3,460800,0*11"
   '"$PUBX,41,1,3,3,230400,0*1E"
   '"$PUBX,41,1,3,3,115200,0*1C"
   '"$PUBX,41,1,3,3,38400,0*24"
   '"$PUBX,41,1,3,3,19200,0*21"
   '"$PUBX,41,1,3,3,9600,0*14"
   '"$PUBX,41,1,3,3,4800,0*17"
   '"$PUBX,41,1,3,3,2400,0*11"

http://s7.uploads.ru/t/5qcZR.jpg

+1

4

Расшифровка основных пакетов данных GPS

'===============================================================================
'                           1                2       3           4          5  6   7      8          9    10     11    12   13    14    15
'$GPGGA  hhmmss.sss  xxxx.xxxxxx  a  xxxxx.xxxxxx  x  x  xx  x.xx  xxx.xxx  M  xx.xxx  M  xxxx  xxxx *xx
'$GPGGA, 084307.000, 5030.480425, N, 03026.983313, E, 2,  6, 2.66, 124.278, M, 27.832, M, 0000, 0000 *58

'1 — Гринвичское время на момент определения местоположения.
'2 — Географическая широта местоположения.
'3 — Север//Юг (N/S).
'4 — Географическая долгота местоположения.
'5 — Запад//Восток (E/W).
'6 — Индикатор качества GPS сигнала:
    '0 — Определение местоположения не возможно или не верно;
    '1 — GPS режим обычной точности, возможно определение местоположения;
    '2 — Дифференциальный GPS режим, точность обычная, возможно определение местоположения;
    '3— GPS режим прецизионной точности, возможно определение местоположения.
'7 — Количество используемых спутников (0...12, может отличаться от числа видимых).
'8 — Фактор ухудшения точности плановых координат ((HDOP).
'9 — Высота антенны приемника над уровнем моря.
'10 — Единица измерения высоты расположения антенны, метры.
'11 — Геоидальное различие — различие между земным эллипсоидом WGS 84 и уровнем моря (геоидом), «–» — уровень моря ниже эллипсоида.
'12 — Единица измерения различия, метры.
'13 — Возраст дифференциальных данных GPS — время в секундах с момента последнего обновления SC104 типа 1 или 9, заполнено нулями, если дифференциальный режим не используется.
'14 — Идентификатор станции, передающей дифференциальные поправки, ID, 0000 1023. Эти поправки может принять любой желающий, но чтобы ими воспользоваться, необходимо иметь соответствующий приемник с названием BoB (Beacon on a Belt) в дополнение к стандартному.
'15 — Контрольная сумма строки.

'===============================================================================
'              1  2   3   4    5     6   7   8   9    10 11  12  13   14 15  16  17   18 19  20
'$GPGSV  x  x  xx  xx  xx  xxx xx  xx  xx  xxx xx  xx  xx  xxx xx  xx  xx  xxx xx *hh
'$GPGSV, 3, 1, 12, 02, 86, 172,  , 09, 62, 237,  , 22, 39, 109,  , 27, 37, 301,   *7A

'1 — Полное число сообщений, от 1 до 9.
'2 — Номер сообщения, от 1 до 9.
'3 — Полное число видимых спутников.
'4 — PRN номер спутника.
'5 — Высота, градусы,(90 ° максимум).
'6 — Азимут истинный, градусы, от 000 ° до 359 °.
'7 — Отношение «сигнал — шум » от 00 до 99 дБ, ноль — нет сигнала.
'8 –11 — Тоже, что в 4 –7 для второго спутника.
'12 –15 — Тоже, что в 4 –7 для третьего спутника.
'16 –19 — Тоже, что в 4 –7 для четвертого спутника.
'20 — Контрольная сумма строки.

'===============================================================================
'RMC - рекомендованный минимальный набор GPS данных
'                      1      2        3       4         5     6      7      8       9            10   11    12
'$GPRMC hhmmss.ss A  1111.11  a  yyyyy.yy  a    x.x    x.x  ddmmyy    x.x    a  * hh
'$GPRMC, 225446,  A, 4916.45, N, 12311.12, W, 000.5, 054.7, 191194, 020.3, E *68

'1 — Гринвичское время на момент определения местоположения.
'2 — Статус: A — данные верны, V —данные не верны.
'3 — Географическая широта местоположения.
'4 — Север//Юг (N/S).
'5 — Географическая долгота местоположения.
'6 — Запад//Восток (E/W).
'7 — Скорость в узлах.
'8 — Направление движения в градусах.
'9 — Дата на момент определения местоположения.
'10 — Магнитное склонение в градусах.
'11 — Магнитное склонение на Запад//Восток (E/W).
'12 — Контрольная сумма строки.

'===============================================================================
'                     1       2   3       4    5   6     7
'$GPZDA hhmmss.s xx  xx  xxxx  xx  xx * hh
'$GPZDA, 172809, 12, 07, 1996, 00, 00 * 45

'1 — Гринвичское время на момент определения местоположения.
'2 — День (от 01до 31).
'3 — Месяц (от 01 до 12).
'4 — Год.
'5 — Часовой пояс, смещение от GMT, от 00 до ±13 часов.
'6 — Часовой пояс, смещение от GMT, минуты.
'7 — Контрольная сумма строки.

'===============================================================================
'$GPVTG. Сообщение содержит информацию о направлении и скорости движения.

'                  1  2      3   4     5   6      7   8      9
'$GPVTG    x.x  T    x.x  M  s.ss  N   s.ss  K  * hh
'$GPVTG, 360.0, T, 348.7, M,000.0, N, 000.0, K *43
'1 — Направление движения в градусах.
'2 — Относительно Северного полюса.
'3 — Направление движения в градусах (может не использоваться).
'4 — Относительно северного магнитного полюса (может не использоваться).
'5 — Скорость.
'6 — Единица измерения скорости, узлы.
'7 — Скорость.
'8 — Единица измерения скорости, км/ч.
'9 — Контрольная сумма строки.

+2

5

Капец, даже вопросов ни у кого нема ?!

0

6

а что там исследовать? я запускал года 3-4 назад какой-то огроменный модуль GPS: открыл uart и читай себе строки, расшифровывай по типовому протоколу...
кто знает - тот знает, кто не знает, тот пока и не знает. философия )

+2