Инженерный анализ интерфейса GPS рации Yaesu VX-8DR

Предыдущая  Содержание  Следующая V*D*V

http://www.lingnik.com/content/reverse-engineering-yaesu-vx-8dr-gps-interface

 

Как известно, на VX-8DR вводить вручную координаты широты и долготы для передачи маячка APRS неудобно. Модуль OEM GPS для этой рации имеет цену около 160 $, а печально известная внутренняя антенна монтируется таким образом, что чтобы получить хорошее покрытие необходимо положить рацию горизонтально дисплеем вверх.

 

Так как у меня есть GPS приёмник Garmin GPSMAP 60CSx с последовательным интерфейсом RS232 (с фирменным разъёмом) для данных NMEA, естественно, хочется использовать это оборудование вместо того, чтобы потратить ещё 160$ на то, что работает не очень хорошо. Это означает, что использование GPS данных для APRS будет немного более сложным, так как придётся носить вторую часть оборудования (а также, как будет видно, модуль преобразователя) .

Несовместимый, закрытый и нестандартный

Первым открытием было то, что последовательные интерфейсы этих двух устройств несовместимы, и они не могут быть соединены друг с другом. Но прежде чем перейти к этому, некоторые технические данные этих двух устройств.

Последовательный интерфейс Garmin GPSMAP 60CSx

Garmin 60CSx имеет сзади круглый четырёхконтактный разъём. Это фирменный интерфейс, который имеет несколько вариантов подключения, например, простой кабель (010-10082-00, 20.83 $ на Amazon), предназначенный для самостоятельной распайки.

 

Назначение контактов последовательного интерфейса Garmin GPSMAP 60CSx

Назначение контактов последовательного интерфейса Garmin GPSMAP 60CSx

 

Для того, чтобы поиздеваться над ним, я сделал простой интерфейсный кабель, эквивалент проводов с контактами от Adafruit. Белый провод на этой фотографии - контакт передачи от Garmin, а чёрный провод - земля.

 

Подключение Garmin GPSMAP 60CSx к последовательному порту

Подключение Garmin GPSMAP 60CSx к последовательному порту

 

Теперь стало возможно подключить Garmin к ПК с помощью USB адаптера RS232 и используя PComm Lite Terminal Emulator от MOXA перехватывать строки NMEA от устройства. Я настроил 60CSx (Setup>Interfaces) для вывода отформатированных данных NMEA и в дополнительных настройках (Menu>Advanced NMEA Setup) включил только статус GPS, путевые точки / маршрут и точность долготы / широты в 4 знака. При работе по последовательному интерфейсу NMEA 60CSx поддерживает только 4800 бод, поэтому в PComm использовалась настройка 4800/8/N/1. В полученных необработанных данных выделены важные строки, которые понадобятся позже.

 

$GPRTE,1,1,c,*37

$GPRMC,024006,A,1234.5678,N,12345.6789,W,3.3,26.2,100213,17.4,E,D*08

$GPRMB,A,,,,,,,,,,,,V,D*19

$GPGGA,024006,1234.5678,N,12345.6789,W,2,07,1.6,65.5,M,-20.2,M,,*49

$GPGSA,A,3,,03,,,07,08,10,13,16,,23,,1.8,1.6,0.9*3C

$GPGSV,3,1,12,02,01,290,00,03,27,101,18,05,07,327,00,06,23,079,00*72

$GPGSV,3,2,12,07,60,277,33,08,30,259,23,10,43,280,21,13,78,098,17*79

$GPGSV,3,3,12,16,36,050,15,19,11,120,00,23,49,123,16,48,36,194,30*7F

$GPGLL,1234.5678,N,12345.6789,W,024006,A,D*51

$GPBOD,,T,,M,,*47

$GPVTG,26.2,T,8.7,M,3.3,N,6.1,K,D*18

$HCHDG,8.7,,,17.4,E*14

$GPRTE,1,1,c,*37

 

60CSx поддерживает NMEA 0183 версии 3.01 и его описание даёт больше информации о передаваемых им данных.

Последовательный интерфейс Yaesu VX-8DR

Yaesu VX-8DR имеет наверху круглый разъём с семью контактами. Это фирменный интерфейс с несколькими вариантами подключения, например, простой кабель (CT-M11, 23.95 $ на Universal Radio), предназначенный для самостоятельной распайки.

Разъём Yaesu VX-8DR

Разъём Yaesu VX-8DR

 

№ контакта

Цвет провода CT-M11

Назначение в VX-8

1

Оранжевый

MIC/PTT

2

Серый

3.3V

3

Коричневый

SP OUT

4

Зелёный

GPS TXD (CONTROL)

5

Синий

GPS RXD (NMEA)

6

Красный

GND

7

Чёрный

SP SEL (CONTROL)

Схема подключения кабеля ST-M11 к Yaesu VX-8DR

Схема подключения кабеля ST-M11 к Yaesu VX-8DR

 

Для того, чтобы поиздеваться над ним, я использовал кабель для программирования Maxton RPC-Y8R-UF, взятый на G4HFQ (однако, больше я не могу найти ссылку, чтобы купить такие кабели на этом сайте). Это, по существу, кабель FTDI, который в данном случае имеет трёхпроводной интерфейс (Земля, Rx и Tx) с уровнем 3.3В. RS232 является интерфейсом, использующим 5V и более, что делает эти два устройства несовместимыми. Кабель CT-M11 от Yaesu наряду с контактами GPS / программирования предоставляет и другие контакты, полезные для интеграции с самодельным интерфейсом с микрофоном / динамиком.

 

Кабель Maxton RPC-Y8R-UF для подключения к Yaesu VX-8DR

Кабель Maxton RPC-Y8R-UF для подключения к Yaesu VX-8DR

 

На данный момент можно подключить VX-8DR к компьютеру и используя PComm передавать данные на рацию через последовательный порт. Используется настройка 9600/8/N/1 (Не 4800 бод! это ещё один момент несовместимости этих двух устройств). Войдите в меню APRS GPS (нажмите один раз 'MENU'). Вы увидите компас без стрелки и пустые поля координат.

Отправка строк GPS NMEA в Yaesu VX-8DR

Теперь, когда можно подключиться к VX-8DR через последовательный 3.3В интерфейс FTDI на скорости 9600 бод, можно послать строку на устройство с помощью PComm Lite. Давайте попробуем непосредственно строку от Garmin NMEA $GPGGA - вставляем её (CTRL+ALT+P) в окно программы и чтобы отправить, нажимаем ENTER.

 

$GPGGA,013622,1234.5678,N,12345.6789,W,2,09,0.9,00078,M,0020,M,,*49

 

В первый раз при отправке этого сообщения Yaesu выдаёт какие-то данные. Кроме того, Yaesu отображает что-то на своем дисплее!

 

Фото Yaesu VX-8DR после приёма некорректной последовательности GPS NMEA

Фото Yaesu VX-8DR после приёма некорректной последовательности GPS NMEA

 

Это странно. Широта и долгота искажены, а скорость / высота пусты. Время понять, что означает то, что было отправлено, и что означает полученное.

Стандарт NMEA 0183

Стандарт NMEA 0183 является продуктом National Marine Electronics Association (Национальной Ассоциации Морской Электроники). Это закрытый стандарт, чтобы его получить, надо заплатить 250 $. Благодаря чудесам Интернета, это не является серьёзным препятствием.

 

Как говорилось ранее, Garmin 60CSx использует NMEA 0183 версии 3.0.1. Версия в YAESU VX-8DR не публикуется, но можно попытаться сделать о нём заключение, сделав небольшое исследование модели, используемой в FGPS-2. Как утверждают, это Position GPS-72(C). Техническую документацию этой компании трудно найти, но можно найти Position GPS-72 summary sheet (в переводе, оригинальный на японском языке). К сожалению, она не расскажет нам, какая версия NMEA поддерживается. Будем надеяться, что используется что-то, совместимое с версией 3.01.

 

Каждая последовательность NMEA должна заканчиваться возвратом каретки (CR) и переводом строки (LF). Это эквивалентно нажатию ENTER в терминальной сессии, если настройки приложения являются правильными.

Установление связи с VX-8DR NMEA

Давайте сначала посмотрим на то, что посылает нам VX-8DR:

 

$PSRF106,21*0F

$PSRF103,0,0,1,1*25

$PSRF103,1,0,0,1*25

$PSRF103,2,0,0,1*26

$PSRF103,3,0,0,1*27

$PSRF103,4,0,2,1*22

$PSRF103,5,0,0,1*21

$PSRF103,8,0,0,1*2C

Адресное поле NMEA

$PSRFnnn: первое поле называется "адрес" и оно состоит из следующих частей:

 

$: первым символом в сообщении NMEA является либо $, либо !, и он отмечает начало новой последовательности. $ означает последовательность параметров, разделяемых запятыми.

PSRF: второй символ, P, и следующий за ним трёхсимвольный код производителя указывает, что это Поле Адреса Производителя (Proprietary Address Field), зарегистрированный в SRF, или SiRF Technology. Есть два других типа полей: Утверждённые Адресные Поля (Approved Address Fields, нечто подобное GPGGA, которое мы послали рации), и Адресные Поля Запросов (Query Address Fields, которые всегда начинаются с Q), используемые в качестве запросов другому устройству, чтобы передать ему какую-либо информацию. Стандарт NMEA очень сложен в этом отношении. Он поддерживает не только GPS (он поддерживает такие вещи, как мониторинг машинного отделения, систем электронных карт и радара), так что есть целый ряд возможных команд, которые вполне допустимы в NMEA, но будут проигнорированы устройством, которое их не поддерживает.
VX-8DR на самом деле не имеет внутри чипа SiRF, хотя она может иметь код, предоставленный SiRF. Или же инженер просто съэмулировал существующие модули SiRF. Не имея доступа к исходному коду, нет способа узнать это.

nnn: код сообщения, задаваемый производителем. Это уникальный код, который указывает на тип команды или посылаемого сообщения.

Коды сообщений производителя

10[6|3]: коды сообщений производителя, которые раскрывает Yaesu, и смысл в конкретных случаях, которые мы получили, следующий:

 

106: код 106 является командой от рации, указывающей используемую в GPS модель Земли. 21 = WGS84.

103: код 103 является командой от рации, которая указывает, какие сообщения NMEA посылать и как часто. 0=GGA, 1=GLL, 2=GSA, 3=GSV, 4=RMC, 5=VTG, 8=ZDA (если поддерживается выход 1PPS). Второе поле (0) это SetRate, третье (1, 0, 2) скорость в секунду, а четвёртое включает (1) или отключает (0) контрольную сумму. Число после звёздочки (*) - контрольная сумма данной команды.

 

Последовательности установления связи, которые отправляет Yaesu VX-8DR, означают, что она просит приёмник GPS использовать модель Земли WGS84, передавать GGA каждую секунду, передавать RMC каждые 2 секунды и вместе с этими сообщениями отправлять контрольную сумму. Мы не знаем, будут ли нормально передаваться другие сообщения между FGPS-2 и VX-8DR, например, чтобы договориться о другой скорости передачи, поэтому мы не можем предполагать, что безопасно использовать другие, отличные от этих, сообщения.

 

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

Сообщения $GPGGA - время, позиция и коррекция данных GPS

Большинство этих последовательностей, также как и установление связи, имеет фиксированный формат.

 

Как и прежде, у нас есть адрес. На этот раз это Утверждённое Адресное Поле (Approved Address Field). Утверждённые Адресные Поля, начинающиеся с GP, указывают, что это положение на основе GPS. GGA является Средством форматирования Последовательности (Sentence Formatter), а именно, это GPS Fix Data Sentence Formatter. GGA извлекает время, положение и корректирует соответствующие данные для приёмника GPS.

 

Оно должно быть отформатировано следующим образом:

 

$--GGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh

 

Оно также должно оканчиваться символами перевода строки и возврата каретки - в нашем эмуляторе терминала это эквивалент нажатия клавиши ENTER.

Пример $GPGGA нашего Garmin

Давайте разберёмся, что же мы отправили. Формат сообщений GGA должен быть следующим, и я разобрал сообщение, которое было отослано.

 

$GPGGA,013622,1234.5678,N,12345.6789,W,2,09,0.9,00078,M,0020,M,,*49

$GPGGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*kk

 

$GPGGA,


013622,

hhmmss.ss = позиция UTC

1234.5678,

llll.ll = широта позиции

N,

a = N или S

12345.6789,

yyyyy.yy = долгота позиции

W,

a = E или W

2,

x = индикатор качества (GPS Quality indicator)

0: получение позиции недоступно

1: достоверно полученная позиция, режим SPS

2: достоверно полученная позиции, режим дифференциального GPS

3: режим GPS PPS, координаты достоверны

4: Кинематика Реального Времени (Real Time Kinematic). Система используется в режиме RTK с целыми числами с фиксированной запятой.

5: Float RTK. Спутниковая система используется в режиме RTK. Плавающая точка.

6: режим расчёта (счислимое положение)

7: режим ручного ввода

8: режим эмуляции

09,

xx = количество используемых спутников

0.9,

x.x = ухудшение точности по горизонтали

00078,

x.x = высота антенны на средним уровнем моря

M,

M = единица измерения высоты антенны, метры

0020,

x.x = высота геоида

M,

M = единица измерения высоты геоида, метры

,

x.x = возраст данных дифференциального GPS (секунды)

*49

xxxx = ID опорной станции для получения разницы, kk = контрольная сумма

 

Стоит отметить, что спецификация говорит, что .ss, .ll и .yy необязательны, и нет требований по минимальной или максимальной точности. Для поддержания фиксированной длины всегда используются начальные 0. Для изменяемых чисел (например, высоты или снижения точности), десятичная точка и десятичные доли также необязательны. На данный момент наша последовательность, по-видимому, соответствует спецификации.

 

Если посланная в Yaesu последовательность была правильной, но она не извлекла данные о высоте из сообщения, это должно означать, что VX-8DR не следует стандарту NMEA. Это плохо - это означает, что теперь надо выяснить, что ожидает Yaesu. (Это также плохой выбор инженера. В области разработки программного обеспечения всё время происходит неразборчивость при достижении цели, но когда у вас есть закрытый интерфейс и фирменное оборудование, которое волшебным образом работает с устройством, этот вид выбора является именно тем, что вы хотите держать закрытым. Какая-то разочарованная часть меня хочет сказать, что это было сделано намеренно, и что продавцы продукции Yaesu предпочли привязать потребителей к их оборудованию для получения большей прибыли.)

 

Нам надо выяснить структуру последовательности. К счастью, другие уже сделали часть этой работы. Мы вернёмся к этому, но сначала надо изучить ещё одну необходимую и известную последовательность.

Сообщения $GPRMC - время, дата, позиция, курс и скорость GNSS

RMC, Минимальный Рекомендованный Набор Данных GNSS (Recommended Minimum Specific GNSS Data), извлекает время, дату, позицию, курс и данные о скорости. RMC уникален тем, что он часто сопровождается RMB, который обрабатывает путевые точки назначения. Он не требуется Yaesu, и нет ни одного сообщения, поддерживается ли он.

 

Формат сообщений RMC:

 

$--RMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,xxxxxx,x.x,a,a*hh

 

1 = Время UTC полученной позиции

2 = Статус данных (V=предупреждение навигационного приёмника)

3 = Широта

4 = N или S

5 = Долгота

6 = E или W

7 = Скорость над землёй в узлах

8 = Фактический путь над поверхностью земли в градусах

9 = Дата UT

10 = Магнитное склонение в градусах (Восточное вычитается из истинного курса)

11 = E или W

12 = Контрольная сумма

 

И снова в спецификации требования необязательности, точности и заполнения позиций остаются теми же. Давайте попробуем отправить сообщение на Yaesu. Отправим что-нибудь.

 

$GPGGA,013622,1234.5678,N,12345.6789,W,2,09,0.9,00078,M,0020,M,,*49

$GPRMC,013622,A,1234.5678,N,12345.6789,W,1.1,63.5,100213,17.4,E,D*0F

 

Результат такой же, как и раньше. Мусор на экране и что более важно, скорость, которая была важной частью GPRMC, не отображается. Либо Yaesu не поддерживает эти сообщения.

Если они не поддерживаются, каков правильный путь сделать это?

На данный момент есть желание иметь модуль GPS за 160 $. Подключить его и перехватить сообщения между VX-8DR и FGPS-2, потому что может быть 1) больше сообщений установления связи, чем мы видели, и 2) какое-то уникальное форматирование, которое Yaesu ожидает от сообщений NMEA.

 

Как мы увидим в ближайшее время, другие уже добрались до 2).

Информация о VX8R на Yahoo Group

Некоторую очень полезную информацию можно почерпнуть из работ других людей. В частности, EA2CXK опубликовал некоторую чрезвычайно полезную информацию. В частности, некоторые примеры необработанных сообщений от FGPS-2:

 

$GPZDA,123223.000,30,10,2011,,*55

$GPGGA,123223.000,4131.2334,N,00021.1216,E,1,04,02.7,00123.4,M,0051.7,M,000.0,0000*41

$GPRMC,123223.000,A,4131.2334,N,00021.1216,E,0000.00,291.33,301011,,*3E

 

Как выясняется, Yaesu ожидает определённый формат для своих сообщений. Давайте сравним их с оригинальными сообщениями нашего Garmin.

 

Тип сообщения

Источник

Последовательность

$GPGGA

Garmin

$GPGGA,013622,1234.5678,N,12345.6789,W,2,09,0.9,00078,M,0020,M,,*49


FGPS-2

$GPGGA,123223.000,4131.2334,N,00021.1216,E,1,04,02.7,00123.4,M,0051.7,M,000.0,0000*41

$GPRMC

Garmin

$GPRMC,013622,A,1234.5678,N,12345.6789,W,1.1,63.5,100213,17.4,E,D*0F


FGPS-2

$GPRMC,123223.000,A,4131.2334,N,00021.1216,E,0000.00,291.33,301011,,*3E

$GPZDA

Garmin

Этого нет!


FGPS-2

$GPZDA,123223.000,30,10,2011,,*55

 

Здесь именно то, что мы ищем, так как это говорит нам намного больше, чем любая спецификация NMEA, или может сказать спецификация любого модуля GPS. Три строки примеров от FGPS-2 точно укажут нам формат, который ожидает получить Yaesu. Если мы сможем преобразовать все наши данные в этот формат, мы сможем общаться с Yaesu. Давайте рассмотрим его подробно, чтобы выяснить формат NMEA Yaesu VX-8DR. Спасибо Тони, EA2CXK, за размещение информации, которой не хватало в десятках других форумах и блогах!

 

Вот доказательство того, что это работает:

 

Yaesu VX-8DR отображает GPS данные правильно отформатированной строки GPS NMEA

Yaesu VX-8DR отображает GPS данные правильно отформатированной строки GPS NMEA

Синтаксис сообщений $GPGGA NMEA Yaesu VX-8DR

Yaesu VX-8DR ожидает сообщения $GPGGA, соответствующие следующему формату. Это больше не соответствует стандарту NMEA, поэтому каждый символ должен присутствовать. Числа должны быть дополнены слева дополнительными 0-ми, чтобы заполнить все свободные пространства. Десятичные дроби должны дополняться справа дополнительными 0-ми, чтобы заполнить все свободные пространства.

 

$GPGGA,hhmmss.sss,llll.llll,a,yyyyy.yyyy,a,x,xx,xx.x,xxxxx.x,M,xxxx.x,M,xxx.x,xxxx*hh

 

Вы можете видеть, что, по существу, Yaesu ожидает числа с большей точностью и величиной, чем предоставляет наш Garmin.

 

Мне было любопытно, и я изменил контрольные суммы моих сообщений на 00. Знаете что? Yaesu принял их. Контрольная сумма может быть какой угодно. Так что вместо того, чтобы пересчитать контрольную сумму после изменения последовательностей, можно просто установить любую контрольную сумму и Yaesu должна принять её. Я говорю должна, потому что не проверял это тщательно, но я настроен оптимистично, что это будет работать.

Синтаксис сообщений $GPRMC NMEA Yaesu VX-8DR

Yaesu VX-8DR ожидает последовательности $GPRMC, соответствующие следующему формату. Применяются те же самые предостережения, что и для $GPGGA.

 

$GPRMC,hhmmss.sss,A,llll.llll,a,yyyyy.yyyy,a,xxxx.xx,xxx.xx,xxxxxx,,*hh

 

И снова Yaesu ожидает другую точность. Важно отметить, что сообщение Yaesu также опускает магнитное склонение и индикатор режима, а также урезает одну позицию с параметром.

Синтаксис сообщения $GPZDA NMEA Yaesu VX-8DR

Мы никогда не говорили об этом. ZDA - это команда "Время и Дата", и Garmin никогда не посылает его, но Yaesu сказали, что поддерживают его, даже если, как они сказали, не требуется, чтобы она отправлялась. ZDA является единственной командой, которую мы видели до сих пор, которая посылает дату, которая является чрезвычайно полезной, если мы хотим, устанавливать время на устройстве, взаимодействующим с приёмником GPS. Это довольно удивительная вещь для Yaesu, поскольку трудно установить время на станции из-за ошибки в руководстве. Вы можете увидеть тему для информации о том, как установить время вручную.

 

Yaesu VX-8DR ожидает последовательности $GPZDA, соответствующие следующему формату. Применяются те же самые предостережения, что и для $GPGGA.

 

$GPZDA,hhmmss.sss,xx,xx,xxxx,,*hh

 

Это прекрасно. Поддерживается дата и время. Не поддерживается местный часовой пояс (часы и минуты), но это нормально, потому что в любом случае если мы хотим использовать время GPS, Yaesu заставляет нас установить его вручную в опции меню APRS 25 - TIME ZONE.

 

Если вы хотите использовать время GPS на VX-8DR, перейдите на экраны APRS, нажав MENU на экранах TXO, войдите в меню, удерживая кнопку MENU на секунду или две, и используйте ручку настройки для выбора опции 17 - GPS TIME SET. Нажмите кнопку MENU, чтобы войти в этот пункт меню, используйте колёсико набора, чтобы выбрать AUTO, и нажмите MENU для сохранения. С помощью набора выберите 25 - ME ZONE, нажмите MENU, чтобы войти в этот пункт меню, используйте колёсико набора для выбора смещения относительно UTC в часах и минутах, и нажмите MENU для сохранения. Для выхода из меню удерживайте кнопку MENU в течение одной - двух секунд.

 

Как только после установки этих параметров вы отправите рации сообщение ZDA, она автоматически установит своё время. Если ваш GPS не посылает время UTC, возможно, потребуется повозиться с настройками часового пояса, чтобы рация показала правильное время, или повозиться с вашим промежуточным интерфейсом для сдвига времени до отправки его в Yaesu.

 

(Кроме того, если вы решили поиграться со своими настройками 16 - GPS DATUM, знайте, что если в данное время нет подключения к GPS, это может не дать изменить его снова. Когда это случилось, и я застрял в 'Tokyo Mean', я немного запаниковал - надо ли стереть устройство и перепрограммировать его? Что делать, если бы это не сработало? Если вы оказались в этом положении, отправьте ещё одну серию правильных последовательностей GPS в рацию, идите в это меню, пока все ещё можно видеть спутники, и вы сможете изменить его снова.)

Каковы отличия Yaesu от Garmin?

Чтоб сделать всё понятней, визуализируем их.

Тип сообщения

Источник

Последовательность

$GPGGA

Garmin

$GPGGA,013622____,1234.5678,N,12345.6789,W,2,09,_0.9,00078__,M,0020__,M,_____,____*49


FGPS-2

$GPGGA,123223.000,4131.2334,N,00021.1216,E,1,04,02.7,00123.4,M,0051.7,M,000.0,0000*41


Syntax

$GPGGA,hhmmss.sss,llll.llll,a,yyyyy.yyyy,a,x,xx,xx.x,xxxxx.x,M,xxxx.x,M,xxx.x,xxxx*hh

$GPRMC

Garmin

$GPRMC,013622____,A,1234.5678,N,12345.6789,W,___1.1_,_63.5_,100213,17.4,E,D*0F


FGPS-2

$GPRMC,123223.000,A,4131.2334,N,00021.1216,E,0000.00,291.33,301011,,*3E


Syntax

$GPRMC,$GPRMC,hhmmss.sss,A,llll.llll,a,yyyyy.yyyy,a,xxxx.xx,xxx.xx,xxxxxx,,*hh

$GPZDA

Garmin

Этого нет!


FGPS-2

$GPZDA,123223.000,30,10,2011,,*55


Syntax

$GPZDA,hhmmss.sss,xx,xx,xxxx,,*hh

Как насчёт других сообщений, поддерживаемых Yaesu?

Помните, раньше Yaesu сказала нам (через последовательность $PSRF103), что поддерживаются определённые последовательности NMEA. В частности, поддерживаются эти:

 

Код NMEA

Средство форматирования последовательности

Описание

Доступные данные

0

GGA

Данные, полученные Глобальной Системой Позиционирования

Время, позиция, статус полученной позиции

1

GLL

Географическое положение - Широта/Долгота

Широта, долгота, время, статус и индикатор режима

2

GSA

GNSS DOP и активные спутники

Режим работы приёмника GNSS, используемые для навигации спутники и ухудшение точности

3

GSV

GNSS видимые спутники

Количество видимых спутников, ID номера спутников, высота, азимут и величина SNR

4

RMC

Рекомендованный минимум специальных данных GNSS

Время, данные позиции, курс, скорость, магнитное склонение, индикатор режима

5

VTG

Курс над землёй и скорость относительно поверхности

Актуальный курс и скорость относительно поверхности, и индикатор режима

8

ZDA

Время & Дата

UTC, день, месяц, год и местная временная зона

 

Оставляю понять это всё кому-нибудь другому, пока не решу свою задачу. Вполне возможно, что несмотря на отсутствие примеров, эти последовательности могут быть отправлены в Yaesu каким-то понятным образом. Мне ещё недостаточно известно о APRS и ещё предстоит понять, можно ли объединять эту информацию со пакетами вашего APRS.

Результат

Теперь известно, как подключиться и отправить в правильном формате сообщение GPS NMEA в Yaesu VX-8DR. Вот резюме:

 

Последовательный интерфейс TTL 3.3V, 9600 бод, 8/N/1
Не сигнал RS232 5В и выше - для его использования необходим преобразователь уровней

3-х проводной физический интерфейс со следующими контактами:

Контакт

Назначение на стороне GPS

Назначение на стороне Yaesu

4

GPS RX

Yaesu TX

5

GPS TX

Yaesu RX

6

GPS GND

Yaesu GND

 

Сообщения должны быть отформатированы в точности как описано ниже:

Тип сообщения

Источник

Последовательность

$GPGGA

Пример

$GPGGA,123223.000,4131.2334,N,00021.1216,E,1,04,02.7,00123.4,M,0051.7,M,000.0,0000*41


Синтаксис

$GPGGA,hhmmss.sss,llll.llll,a,yyyyy.yyyy,a,x,xx,xx.x,xxxxx.x,M,xxxx.x,M,xxx.x,xxxx*hh

$GPRMC

Пример

$GPRMC,123223.000,A,4131.2334,N,00021.1216,E,0000.00,291.33,301011,,*3E


Синтаксис

$GPRMC,hhmmss.sss,A,llll.llll,a,yyyyy.yyyy,a,xxxx.xx,xxx.xx,xxxxxx,,*hh

$GPZDA

Пример

$GPZDA,123223.000,30,10,2011,,*55


Синтаксис

$GPZDA,hhmmss.sss,xx,xx,xxxx,,*hh

 

Yaesu может поддерживать другие сообщения в особых форматах, подлежит уточнению.

 

Мой Garmin GPSMAP 60CSx не поддерживает TTL сообщения со скоростью 9600 бод, а также не поддерживает закрытые форматы последовательностей NMEA, которые ожидает Yaesu. Для того, чтобы продвинуться дальше, мне потребуется:

 

Сконструировать интерфейс-посредник, который имеет RS232 @ 4800 бод на одном конце и TTL @ 9600 бод на другом

Встроить микроконтроллер, который можно переделывать последовательности NMEA между Yaesu и приёмником GPS

Выяснить, хочется ли мне питать микроконтроллер отдельно, например, от батареи, или вложить деньги в кабель CT-M11, который выводит 3.3В из VX-8DR, которого должно быть достаточно для питания, скажем, ATtiny. (Если смогу найти такой, который может поддерживать два последовательных интерфейса.)

 

Это подождёт до следующего раза. Надеюсь, что вы найдёте это полезным. Это исследование заняло около 10 часов в течение одного дня.

Контроллер NMEA Yaesu VX-8DR

Ранее мы хотели узнать, какую микросхему NMEA использует эта вещица. Есть руководство по обслуживанию для данного устройства. Оно указывает, что последовательный / порт микрофона подключается к плате с маркировкой CNTL-2 Unit, из которого контакы GPS идут к линиям 'GPS_TXD' и 'GPS_RXD', которые соединяются с контактом K7 (RXD) и контаком K6 (TXD) м/с HD64F2370VLP Q9024. Эта микросхема идентифицируется в другом месте как 16-ти разрядный однокристальный микрокомпьютер Renesas серии H8S Family/H8S/2300. Что это значит? Поддержка NMEA эмулируется в микроконтроллере и нет никакого простого способа копать дальше на этом устройстве. Это тупик. (Если только нельзя каким-то образом извлечь и исследовать прошивку микроконтроллера.)

 

Мы можем попробовать параллельный подход и посмотреть на VX-8GR - она имеет встроенный модуль GPS и есть вероятность, что FGPS-2 и VX- 8GR имеют внутри один и тот же модуль GPS. (Отредактировано: как я узнал позже, это не так. В FGPS-2 установлен Position GPS-72, а в VX-8GR - Position GPS-76. Это в соответствии с неясной ссылкой в сообщении итальянского форума. Возможно, они достаточно похожи, так что это не имеет значения.) Блок GPS установлен на месте, где в VX-8DR находится разъём для подключения микрофона / GPS, и его внутренний разъём подключён в плату CNTL на VX-8GR, помеченную J2006. Его выводы подключены к GPS TXD, GPS RXD , GND, LPCTL, GPS 3V и BACKUP 3V. GPS TXD и GPS RXD подключены к тем же контактам микроконтроллера, что и у VX-8DR. Блок-схема показывает, что GPS антенной является AT700, а старая часть схема называет её Q7000642. Поскольку это внутренние номера деталей, они не дают ничего. Это тупик. (Если только кто-то не разберёт свою VX-8GR и не сфотографирует модуль GPS.)

 

Так что нет простого способа узнать, какая версия NMEA поддерживается VX-8DR (или VX-8GR).

 

Предыдущая  Содержание  Следующая