Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа с сигналом 1PPS
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Radox
Добрый вечер. Раз тут активно обсуждают модули на чипсете от ST, интересует следующий момент. Имею на руках отладочную плату ML8088s-DEMO, установил навиа вьювер(скачал версию с сайта), поигрался с настройками. Но до конца не могу понять, как работать с сигналом 1PPS?
smalcom
както размытенько
Владимир О.
Прошу прощения - вопрос непонятен.
Если установка длительности, задержки и инверсии - это все есть непосредственно на вкладке 1PPS.
Если интересует статус сигнала - тогда включите сообщение $PSTMPPSDATA

$PSTMPPSDATA,<on_off>,<pps_valid>,<synch_valid>,<out_mode>,<ref_time>,<ref_constellation>,<pulse_duration>,<pulse_delay>,<gps_delay>,<glo_delay>,<inverted_polarity>,<fix_cond>,<sat_th>,<elev_mask>,<const_mask>,<ref_sec>,<fix_status>,<used_sats>,<gps_utc_delta_s>,<gps_utc_delta_ns>,<glonass_utc_delta_ns>,<quantization_error>,<pps_clock_freq>,<tcxo_clock_freq>*<checksum><cr><lf>

Поле <synch_valid> покажет статус синхронизации сигнала PPS. 0 - нет синхронизации, 1 - синхронизация есть.
Radox
Цитата(Владимир О. @ Nov 29 2013, 09:48) *
Прошу прощения - вопрос непонятен.
Если установка длительности, задержки и инверсии - это все есть непосредственно на вкладке 1PPS.
Если интересует статус сигнала - тогда включите сообщение $PSTMPPSDATA

$PSTMPPSDATA,<on_off>,<pps_valid>,<synch_valid>,<out_mode>,<ref_time>,<ref_constellation>,<pulse_duration>,<pulse_delay>,<gps_delay>,<glo_delay>,<inverted_polarity>,<fix_cond>,<sat_th>,<elev_mask>,<const_mask>,<ref_sec>,<fix_status>,<used_sats>,<gps_utc_delta_s>,<gps_utc_delta_ns>,<glonass_utc_delta_ns>,<quantization_error>,<pps_clock_freq>,<tcxo_clock_freq>*<checksum><cr><lf>

Поле <synch_valid> покажет статус синхронизации сигнала PPS. 0 - нет синхронизации, 1 - синхронизация есть.


Более точнее, мне нужно засинхронизировать работу трех устройств.
На первом я хочу получить импульс PPS с задержкой 0, на втором – с задержкой 100мкс, на третьем – с задержкой 200мкс.
Осциллограф у меня двухканальный, подключаю один канал к PPS, второй к NMEA, оставляю только $GPZDA (координаты я и так знаю, они меня не интересуют, зато это самая короткая из посылок со временем).
И не вижу отклонений между PPS и ZDA
Точнее, они есть, но очень нестабильны.
Что я делаю не так?
Владимир О.
Я не очень понял связь между NMEA и PPS.
Прошу учитывать, что если PPS является синхронизированным сигналом, "привязанным" к времени спутников, то NMEA сообщения "свободны", они должны быть отправлены в пределах "своей" секунды.
Поэтому я прошу Вас включить два-три модуля одновременно, установив на них нужные задержки, и посмотреть сдвиг сигналов PPS между модулями.
Наши эксперименты показывают, что все работает правильно, взаимный "разбег" сигналов PPS между модулями не превышает 100нс, средний "разбег" составляет 40нс.
Radox
Цитата(Владимир О. @ Nov 29 2013, 10:58) *
Я не очень понял связь между NMEA и PPS.
Прошу учитывать, что если PPS является синхронизированным сигналом, "привязанным" к времени спутников, то NMEA сообщения "свободны", они должны быть отправлены в пределах "своей" секунды.
Поэтому я прошу Вас включить два-три модуля одновременно, установив на них нужные задержки, и посмотреть сдвиг сигналов PPS между модулями.
Наши эксперименты показывают, что все работает правильно, взаимный "разбег" сигналов PPS между модулями не превышает 100нс, средний "разбег" составляет 40нс.


Владимир, понял. Поробуем, по результатм отпишусь.
Спасибо!
Владимир О.
На сайте НАВИА размещено руководство по применению модуля ML8088 для синхронизации времени.
http://naviaglonass.ru/wp-content/uploads/...S_AppNote_1.pdf
По результатам экспериментов, в режиме синхронизации и при валидности сигнала PPS ошибка не превышает 15нс.

Прошу учесть, что плохая видимость спутников может увеличивать ошибку.
viakon
Используем сигнал PPS для синхронизации таймслотов передатчиков в системе передачи координат по радиоканалу. Модулями ML8088 заменяем LEA-5S(дохнут заразы, очень хилый вход). Отметил, что с ML8088S бортовые комплекты быстрее синхронизируются. Пока дохлые не приносили, хотя ставили пока без буквы Е. В нашем случае достаточна точность +-5мс. ML8088S ее обеспечивают.
Pridnya
Цитата(Владимир О. @ Dec 13 2013, 15:36) *
На сайте НАВИА размещено руководство по применению модуля ML8088 для синхронизации времени.
http://naviaglonass.ru/wp-content/uploads/...S_AppNote_1.pdf
По результатам экспериментов, в режиме синхронизации и при валидности сигнала PPS ошибка не превышает 15нс.

Прошу учесть, что плохая видимость спутников может увеличивать ошибку.

Добрый день, Владимир!

Модуль ML8088 работает, сигнал 1PPS есть.

А как усилить сигнал PPS с выхода GL8088S/ML8088S чтобы его можно было раздать по коаксиальному кабелю?
Т.е. примерная структура: ML8088 выход PPS->Усилитель->Согласующее устройство 50 Ом ->ВЧ-разъем BNC.

Т.е. какой усилитель можно применить для этих целей? Может быть вы с каким-то усилителем уже тестировали?
foxit
Цитата(Pridnya @ Feb 2 2017, 14:28) *
Добрый день, Владимир!

Модуль ML8088 работает, сигнал 1PPS есть.

А как усилить сигнал PPS с выхода GL8088S/ML8088S чтобы его можно было раздать по коаксиальному кабелю?
Т.е. примерная структура: ML8088 выход PPS->Усилитель->Согласующее устройство 50 Ом ->ВЧ-разъем BNC.

Т.е. какой усилитель можно применить для этих целей? Может быть вы с каким-то усилителем уже тестировали?


На какое расстояние надо передавать сигнал?
Если метров до 20 можно поставить 74HC125.

Нажмите для просмотра прикрепленного файла
Pridnya
Цитата(foxit @ Feb 2 2017, 15:07) *
На какое расстояние надо передавать сигнал?
Если метров до 20 можно поставить 74HC125.

Нажмите для просмотра прикрепленного файла

Спасибо! Как раз метров 10-20, не больше. rolleyes.gif
А я ищу, одно старье какое-то попадается вроде SN75ALS123 (Permits Digital Data Transmission Over
Coaxial Cable, Strip Line, or Twisted Pair), как раз на 50-ти омный кабель работает. DataSheet SEPTEMBER 1987 − REVISED FEBRUARY 1993 и уже тогда NOT RECOMMENDED FOR NEW DESIGN.
Ни разу не приходилось передавать PPS по коаксиальному кабелю.
Владимир О.
Добрый день!

Я бы даже сказал так:
Какие Вам нужны сопротивление нагрузки, точность и крутизна фронтов на выходе кабеля?
Если 1мкс точность и 100нс фронт годятся - подключайте прямо.
Непосредственно на 50 Ом выход не стоит нагружать, но если просто требуется "передать подальше" сигнал - можете работать прямо на кабель.
Для уменьшения "звона" можно поставить 50 Ом резистор последовательно с кабелем.

Если требуется "чистый" сигнал, без "звона" и с нормальными фронтами, то придется ставить согласующий усилитель.
viakon
Цитата(Pridnya @ Feb 2 2017, 16:28) *
Добрый день, Владимир!

Модуль ML8088 работает, сигнал 1PPS есть.

А как усилить сигнал PPS с выхода GL8088S/ML8088S чтобы его можно было раздать по коаксиальному кабелю?
Т.е. примерная структура: ML8088 выход PPS->Усилитель->Согласующее устройство 50 Ом ->ВЧ-разъем BNC.

Т.е. какой усилитель можно применить для этих целей? Может быть вы с каким-то усилителем уже тестировали?

С чем связано применение 50-ом кабеля? Я бы лучше поставил преобразователь в RS-485, по витой паре до 1км без повторителей. Делал такую штуку для передачи сигнала на первый этаж, с крыши 10-ти этажного дома. На 10-20м можно и по 50-ом кабелю пробросить.
Ruslan1
Цитата(viakon @ Feb 4 2017, 07:52) *
С чем связано применение 50-ом кабеля? Я бы лучше поставил преобразователь в RS-485, по витой паре до 1км без повторителей. Делал такую штуку для передачи сигнала на первый этаж, с крыши 10-ти этажного дома. На 10-20м можно и по 50-ом кабелю пробросить.

Широкодоступные RS-485 драйверы(особенно приемник) дают задержку распространения ("Propagation delay input to output") в сотни наносекунд, для доставки сигнала 1PPS это может быть критично. Ну и человек уже конкретно про BNC коннектор спрашивает, наверное именно коаксиал нужен для чего-то.

А так конечно да, я тоже просто еще один однонаправленный канал RS-485 добавляю в GPS приемник для передачи 1PPS (но у меня в системе и десяток микросекунд задержки не проблема).
viakon
Цитата(Ruslan1 @ Feb 4 2017, 14:10) *
Широкодоступные RS-485 драйверы(особенно приемник) дают задержку распространения ("Propagation delay input to output") в сотни наносекунд, для доставки сигнала 1PPS это может быть критично. Ну и человек уже конкретно про BNC коннектор спрашивает, наверное именно коаксиал нужен для чего-то.

Как-то сомнительно, что это критично. Судя по посту ранее там 100нс разбег между модулями и так возможен.
Pridnya
Цитата(viakon @ Feb 4 2017, 18:46) *
Как-то сомнительно, что это критично. Судя по посту ранее там 100нс разбег между модулями и так возможен.

Между двумя модулями нет расхождения 100 нс. Там меньше 10 нс. Вот картинка с двух GL8088S.
Цитата(Владимир О. @ Dec 13 2013, 15:36) *
На сайте НАВИА размещено руководство по применению модуля ML8088 для синхронизации времени.
http://naviaglonass.ru/wp-content/uploads/...S_AppNote_1.pdf
По результатам экспериментов, в режиме синхронизации и при валидности сигнала PPS ошибка не превышает 15нс.

Прошу учесть, что плохая видимость спутников может увеличивать ошибку.

Здравствуйте, Владимир.
Есть вопрос "как отключить сообщения GPGST"? Про сообщения GST в описании сообщений и команд v1.1 не упоминается, а модуль выдает это сообщение. Вот у меня сообщения в эксперименте с выдергиванием антенны (временно). Широту и долготу я заменил знаками вопроса. Включил выдачу RMC и ZDA, а GST (Статистика ошибки определения местоположения) мне пока нужна, нужно только дата и время:
Цитата
$GPRMC,060909.000,A,?.23278,N,?.16024,E,2.3,153.5,170417,,,A*6A
$GPGST,060909.000,9.3,35.0,23.0,-0.2,34.6,23.6,16.5*77
$GPZDA,060909.00,17,04,2017,00,00*66

$GPRMC,060910.000,V,?.23278,N,?.16024,E,2.3,153.5,170417,,,N*7A
$GPGST,060910.000,0.0,39.8,25.8,-0.1,39.6,26.2,17.9*7D
$GPZDA,060910.00,17,04,2017,00,00*6E
...
$GPRMC,060924.000,V,?.23278,N,?.16024,E,2.3,153.5,170417,,,N*7D
$GPGST,060924.000,0.0,80.0,31.8,-0.2,78.2,36.0,31.7*7E
$GPZDA,060924.00,17,04,2017,00,00*69

$GPRMC,060925.000,A,?.22941,N,?.16069,E,0.7,358.7,170417,,,A*60
$GPGST,060925.000,5.4,64.3,25.0,-0.3,61.7,30.8,26.6*7F
$GPZDA,060925.00,17,04,2017,00,00*68


И еще было бы интересно, как для сообщения ZDA установить часовой пояс (в сообщении это поле равно нулю)? Про часовой пояс тоже не упоминается.
Владимир О.
Добрый день!
В принципе за набор сообщений отвечает (в основном) CDB-ID 201.
Бит 3
Маска бита 0x8
Сообщение $GPGST Message

Например, если CDB-ID 201 = 0x88435F – то есть $GPGST Message включен
Если его нужно отключить, нужно сделать CDB-ID 201 = 0x884357

По поводу часового пояса - не поддерживается эта функция. Часовой пояс в настоящее время не только географическое значение, но и политическое.
Год от году карты часовых поясов меняются, области переходят из оного пояса в другой.
Честно говоря, я не понимаю, как сделать в модуле учет "контурных карт" границ часовых поясов.
Pridnya
Цитата(Владимир О. @ Apr 17 2017, 11:18) *
Добрый день!
В принципе за набор сообщений отвечает (в основном) CDB-ID 201.
Бит 3
Маска бита 0x8
Сообщение $GPGST Message

Например, если CDB-ID 201 = 0x88435F – то есть $GPGST Message включен
Если его нужно отключить, нужно сделать CDB-ID 201 = 0x884357

По поводу часового пояса - не поддерживается эта функция. Часовой пояс в настоящее время не только географическое значение, но и политическое.
Год от году карты часовых поясов меняются, области переходят из оного пояса в другой.
Честно говоря, я не понимаю, как сделать в модуле учет "контурных карт" границ часовых поясов.

Спасибо, Владимир. Тогда нужно исправить в описании, т.к. в соответсвии с описанием этот бит не используется. rolleyes.gif См. скриншот.

И пожелание одно есть: в следующем описании вместо малопонятного с неясным смыслом
Цитата
GPRMС - Рекомендуемые минимальные конкретные данные GPS/ПЕРЕДАЧИ

Написать
Цитата
GPRMC - минимальные данные необходимые для определения местоположения.

Так гораздо понятнее о чем речь.

PS: И еще один момент смущает: на обложке версия 1.1, а на страницах вверху 1.0 (колонтитул). Логично, когда в новой версии описания сообщений и команд версии соответствуют, т.е. на обложке 1.1 и на страницах 1.1. А здесь получается на обложке исправили, а на страницах забыли. Так что ли?
Pridnya
Цитата(Владимир О. @ Apr 17 2017, 11:18) *
Добрый день!
В принципе за набор сообщений отвечает (в основном) CDB-ID 201.

Ну тогда еще в описание Приемники навигационные GL8088s и ML8088s Описание команд и сообщений Редакция 1.1 нужно внести правку т.к. у меня получается так:

Для отправки команды в программе ComPump набираем $PSTMGETPAR,1201* и в настройках выбираем «добавить CR LF».
Например, на запрос содержимого ячеки CDB-ID 201 (список сообщений порта NMEA, 1 – текущая конфигурация, 201 - ячейка 201 (занимает 4 байта)):
36;W;12:27:47:831;$PSTMGETPAR,1201*

37;R;12:27:47:847;$PSTMSETPAR,1201,0x01000048*5c
$PSTMGETPAR,1201*
Приходит ответ 0x01000048,т.е. выдаются сообщения (расшифровываем в соответствии с описанием v1.1):
0x01000000 - Бит 24 0x1000000 Не используется (возможно это GPZDA???)
0x00000040 - Бит 6 0x40 Сообщение $GPRMC
0x00000008 - Бит 3 0x8 Не используется (как мы выяснили это GPGST)

А фактически передаются сообщения GPRMC, GPGST, GPZDA (координаты я специально заменил на знаки ?):

$GPRMC,060925.000,A,?.22941,N,?.16069,E,0.7,358.7,170417,,,A*60
$GPGST,060925.000,5.4,64.3,25.0,-0.3,61.7,30.8,26.6*7F
$GPZDA,060925.00,17,04,2017,00,00*68

Да, так и есть, бит 24 - это ZDA. Если кому-то пригодится, то биты 3 и 24 реально соответствуют ZDA и GST (в версии описания они помечены "не используются").
Цитата
0x01000000 - Бит 24 0x1000000 Не используется v1.1 (Сообщения GPZDA!!!)
0x00000040 - Бит 6 0x0000040 Сообщение $GPRMC
0x00000008 - Бит 3 0x0000008 Не используется v1.1 (Сообщения GPGST!!!)
Alechek
Цитата(Pridnya @ Apr 17 2017, 15:01) *
Ну тогда еще в описание Приемники навигационные GL8088s и ML8088s Описание команд и сообщений Редакция 1.1 нужно внести правку т.к. у меня получается так:

Как говорится, на бога надейся... но ищи глбже!
ML8088 - это STA8088.
А для STA8088 есть и другие интересные вещи.
К, примеру,
Navigation & Multimedia System & Architecture STA8088 Firmware Configuration(STA8088_Firmware_Configuration.pdf).
Там все описано подробно. В т.ч. и ваши биты.
Pridnya
Цитата(Alechek @ Apr 17 2017, 15:40) *
Как говорится, на бога надейся... но ищи глбже!
ML8088 - это STA8088.
А для STA8088 есть и другие интересные вещи.
К, примеру,
Navigation & Multimedia System & Architecture STA8088 Firmware Configuration(STA8088_Firmware_Configuration.pdf).
Там все описано подробно. В т.ч. и ваши биты.

Эту PDF-ку я посмотрю. Спасибо! В этой PDF-ке CDB-ID 201 биты 3 и 24 Not used (см.скриншот), как и в описании v1.1 производителя модуля GL8088S, а фактически они используются и отвечают за

Цитата
0x01000000 - Бит 24 0x1000000 Не используется v1.1 (Сообщения GPZDA!!!)
0x00000008 - Бит 3 0x0000008 Не используется v1.1 (Сообщения GPGST!!!)


Вот еще интресный момент: модули вроде как с поддержкой нескольких систем (GPS/Глонасс), но стандартные сообщения NMEA от системы GPS - GPRMC описаны, а GLRMС не упоминяются. Что-то я не понимаю, получается, что модуль определяет дату, время (эти данные меня интересуют более всего) только с помощью GPS, т.е. используя Глонасс не может вычислить дату, время, местоположение? Так что ли?

Т.е. даже после выбора настроек "Спутниковые группировки -> Глонасс" (GPS отключено), после перезагрузки модуля (сброс) выдаются сообщения GPRMC. Как это так? Должно же быть GNRMC.
Alechek
Цитата(Pridnya @ Apr 17 2017, 17:45) *
даже после выбора настроек "Спутниковые группировки -> Глонасс" (GPS отключено), после перезагрузки модуля (сброс) выдаются сообщения GPRMC. Как это так? Должно же быть GNRMC.

Цитата
CDB-ID 131 – NMEA Talker ID
Allow setting the second character of the NMEA talker ID for the GGA, RMC, VTG, GLL
NMEA sentences. The talked ID for GSV and GSA is managed in a different way (see CDB-
ID 200, bits 19 and 20).

А какие спутники используются, это смотрите по G*GSA и G*GSV.
Pridnya
Цитата(Alechek @ Apr 17 2017, 16:24) *
А какие спутники используются, это смотрите по G*GSA и G*GSV.

Вообще не понимаю, вот цитата из описания:
Цитата:
Цитата
Если включена только Созвездие ГЛОНАСС, то идентификатор
источника сообщений NMEA для GSV и GSA равен "GL".

Вот сообщения от модуля:
Цитата
$GNGSA,A,1,66,,,,,,,,,,,,99.0,99.0,99.0*1E
$GLGSV,3,1,09,66,44,206,34,76,72,024,,75,22,060,,8 4,13,005,*60
$GLGSV,3,2,09,67,52,297,,68,10,337,,86,11,110,,77, 39,260,*6F
$GLGSV,3,3,09,85,26,057,,,,,,,,,,,,,*57

$GNGSA,A,1,66,,,,,,,,,,,,99.0,99.0,99.0*1E
$GLGSV,3,1,09,66,44,206,34,76,72,024,,75,22,060,,8 4,13,005,*60
$GLGSV,3,2,09,67,52,297,,68,10,337,,86,11,110,,77, 39,260,*6F
$GLGSV,3,3,09,85,26,057,,,,,,,,,,,,,*57

Откуда у GSA взялось GN?
Для разных систем
Цитата
Configured GNSS Talker ID
GPS -------------------------- GP
GLONASS --------------------- GL
Galileo ------------------------ GA
BeiDou ----------------------- GB
Any combination of GNSS ----- GN
Pridnya
Цитата(Pridnya @ Apr 18 2017, 09:49) *
Откуда у GSA взялось GN?

Из-за включенного бита 20 в CDB-ID 200. Если его сбросить, то выдается GLGSA.
Владимир О.
Добрый день!
Я бы рекомендовал посмотреть страницу сайта
http://naviaglonass.ru/support/rekomendatsii-po-primeneniyu/
Там расположен документ
http://naviaglonass.ru/wp-content/uploads/..._AppNote1_0.pdf
Возможно, он поможет ответить на Ваши вопросы.
Вообще, там выложены документы, которые могут пригодиться...

Да, и еще небольшое замечание.
Команда $PSTMCOLD имеет несколько параметров
$PSTMCOLD[,<Mask>]<cr><lf>
где параметр <Mask> побитно означает следующее:
• 1 – стереть альманах (almanac)
• 2 – стереть эфемериды (ephemeris)
• 4 – стереть последнюю известную позицию (last position)
• 8 – стереть последнее известное время (time)
• 16 – принудительно выполнить очистку промежуточных данных (NVM swap)
• 32 – установить значение UTC-GSM time offset на заводское (сбросить в default)
Значение параметра вычисляется как сумма бит в десятичной форме, например, $PSTMCOLD,31
Время выполнения NVM swap может достигать 25 секунд, во время выполнения этой операции модуль не выдает никакой информации!
Последние две функции команды доступны не во всех версиях встроенного ПО, поэтому перед их имплантацией в ПО Вашего устройства следует проверить реакцию имеющихся у Вас модулей на эту команду.
Знак "пробел" в команде недопустим, он обрывает поток параметров, то есть $PSTMCOLD,31 и $PSTMCOLD, 31 - это РАЗНЫЕ команды.
Ответ на команду не производится.
Эхо команды есть.
Внимание! Значение параметра передается в десятичной форме.
Pridnya
Цитата(foxit @ Feb 2 2017, 15:07) *
На какое расстояние надо передавать сигнал?
Если метров до 20 можно поставить 74HC125.

Вот попробовал эту схему и результат такой (питание SN74ABT125D +5 вольт, подключен кабель 50 Ом, 20 метров, на конце кабеля вход с резистором 50 Ом, т.е. вход согласован по сопротивлению с кабелем):
На четырех выходах напряжение 3,8 вольт, на выходе 1PPS вообще 2 вольта. Странно как-то, т.к у микросхемы SN74ABT125D I OH High-level output current −24 −32 mA. Разве так и должно быть?
butthead2
Цитата(Pridnya @ Jul 28 2017, 15:03) *
На четырех выходах напряжение 3,8 вольт, на выходе 1PPS вообще 2 вольта. Странно как-то, т.к у микросхемы SN74ABT125D I OH High-level output current −24 −32 mA. Разве так и должно быть?

Ну... если внимательно изучить даташит
Voh @(Vcc=5V & Ioh=3mA) = 3V min
т.е. 3.8В в этой схеме уже неплохо.
А если потом повспоминать закон имени товарища Ома, то 3.8В после резисторов да с нагрузкой 50ом славненько превратятся в 2В
foxit
Можно использовать 74HC541 High-Speed CMOS Logic Octal Line Driver
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.