Синхронизация времени ГНСС приемниками. B-код.

Синхронизация времени ГНСС приемниками. B-код.
20.06.2025

Всем известно, что ГНСС приемники имеют функционал получения точного времени и могут предоставлять информацию о точном времени. В этой статье мы продолжаем рассматривать различные формы интерфейсов для вывода временной информации ГНСС приемниками. В настоящее время, наиболее используемые формы интерфейсов для вывода временной информации следующие: 

- PPS+TOD

- B-код

- Сетевая синхронизация NTP

- Сетевая синхронизация PTP

В предыдущей статье мы познакомились с наиболее простым интерфейсом PPS+TOD. В этот раз мы перейдем к рассмотрению другого интерфейса выдачи временной информации: B-код. 

Недостатки PPS+TOD 

Метод PPS+TOD требует выдачи аппаратурой приемника синхроимпульса PPS, извещающего о наступлении новой секунды, а по последовательному порту выдачи информации о времени дня. Временная информация передается по двум аппаратным интерфейсам и двум независимым каналам. Для получения корректной и полной временной информации принимающей стороне необходимо принять и PPS и данные TOD по последовательному порту в одно и то же время. 

В условиях присутствия электромагнитной интерференции, линейного шума, и пр., если в канале PPS появляются всплески или сбои, либо информация о времени дня (TOD) по последовательному порту утеряна или случились битовые ошибки, синхронизация времени закончится неудачей, и принимающая сторона не сможет получить текущее время. 

Кроме того, при работе в режиме PPS+TOD, передача временной информации требует использования двух аппаратных интерфейсов. При передаче большего числа каналов требуется добавление большего числа аппаратных интерфейсов. Например, в следующем сценарии, где источник синхронизации обеспечивает передачу временной информации на восемь устройств. Используя метод PPS+TOD, необходимо задействовать восемь интерфейсов PPS и восемь асинхронных последовательных портов. 

Передача PPS требует двух линий (PPS и земля GND), соответственно используются два кабеля; передача TOD требует двух линий (TXD и GND), используются также два кабеля. Суммируя, источник синхронизации потребует подключения 16+16=32 внешних кабеля. Если PPS и TOD передаются по дифференциальному интерфейсу RS422, потребуется больше кабелей.

Особенности и преимущества B-кода

Возможно ли объединить синхроимпульс PPS и информацию TOD в одном канале для передачи временной информации, и обойтись только двумя кабелями при этом (Data и GND)?

Естественно, мы подумали об использовании кадров данных для представления определенного времени, и установке специального флага в начале кадра данных. Этот специальный флаг представляет момент целой секунды PPS. Не будет ли этот подход решением задачи по объединенной передаче момента и временной информации?

На этом принципе и основан B-код.

Формат B-кода

Код IRIG-B (DC) использует импульс TTL с модуляцией для передачи временной информации, и использует импульсы (элементы кода) различной длительности для представления двоичных данных (0/1) и идентификаторы позиций (P-коды). Ниже приводим детальное описание формата кода:

• Период одного кадра данных – 1 секунда, содержит 100 кодов символов, каждый символ занимает (длится) 10 мс.

• В срезе времени 10 мс импульс длительностью (временем высокого уровня) 2 мс представляет "0" и называется кодом символа 0:

a6f70cbf4fa3b14feec0eb157c4e1bef.jpg

Рис. 1. Код 0.

• В срезе времени 10 мс импульс длительностью (временем высокого уровня) 5 мс что представляет "1" и называется кодом символа 1:

a6f70cbf4fa3b14feec0eb157c4e1bef.jpg

Рис. 2. Код 1.

• В срезе времени 10 мс импульс длительностью (временем высокого уровня) 8 мс является идентификатором позиции, представляет собой начало кадра данных и начало поля временной информации, и называется кодом символа P.

a6f70cbf4fa3b14feec0eb157c4e1bef.jpg

Рис. 3. Код 2.

• Метка начала кадра данных: 

Два последовательно идущих символа P представляют начало кадра. Восходящий фронт второго символа P (Pr) представляет целую секунду, то есть, момент PPS, который служит как "точная точка отсчета"


a6f70cbf4fa3b14feec0eb157c4e1bef.jpg

Рис. 4. Заголовок кадра.

Содержимое кадра данных после заголовка сформировано в формате кода BCD, и содержит следующую информацию: 

• Время: год, день, час, минута, секунда;

• Извещение о корректировочной секунде, ее знак;

• Смещение между временем B-кода и временем UTC;

• Идентификатор статуса работы.

Более детальную информацию можно получить в описании протокола IRIG-B и соответствующей литературе.

Итак:

• Восходящий фронт второго символа P-кода (Pr) представляет момент PPS.

• Содержимое кадра данных представляет временную информацию.

Сигнал B-кода реализует передачу временных импульсов и информацию о времени посредством аппаратного интерфейса. Для одновременной передачи временной информации на восемь устройств вам потребуется всего 8 каналов (и 16 кабелей). Что более важно, импульсы времени и информация о времени передаются совместно, а это понижает вероятность ошибки.

Применение B-кода

Генератор B-кода B-код это интерфейс для передачи времени, он не формирует абсолютное время. Время, передаваемое в B-коде, формируется ГНСС приемником. Ниже представлена внутренняя структура генератора B-кода:

a6f70cbf4fa3b14feec0eb157c4e1bef.jpg

Рис. 5. Генератор В-кода.

ГНСС приемник передает PPS и TOD. После получения этой информации, генератор B-кода формирует специальную метку начала кадра, своего рода контрольная последовательность символов (два символа P, восходящий фронт Pr второго из них представляет момент выдачи PPS) в момент PPS в соответствии с форматом кадра данных, и затем формирует соответствующий код времени согласно формату кадра данных B-кода для времени из полученной и обработанной информации TOD, и подставляет ее в сегмент данных кадра B-кода.

Демодулятор B-кода

Будучи интерфейсом и протоколом для передачи временной информации, B-код не может быть использован принимающей стороной напрямую сразу при получении. Необходимо преобразовать кадр B-кода, по заголовку кадра определить контрольный символ и получить PPS сигнал по второму символу P и наконец получить временную информацию (TOD) из сегмента данных кадра.

a6f70cbf4fa3b14feec0eb157c4e1bef.jpg

Рис. 6. Демодулятор В-кода.

Соединив ГНСС приемник и генератор B-кода вместе, получим таймер B-кода:

a6f70cbf4fa3b14feec0eb157c4e1bef.jpg

Рис. 7. Таймер В-кода.

Точность B-кода

Сам по себе B-код не формирует время, поэтому для оценки производительности генератора B-кода используют точность синхронизации. Точность синхронизации представляет собой задержку между временем выдачи B-кода (код «точной точки отсчета» и времени) и временем выдачи ГНСС приемником PPS+TOD.

В случае с таймером B-кода, так как применяется встроенный ГНСС приемник, для оценки производительности можно использовать точность определения времени. Точность определения времени есть смещение между временем выдачи B-кода (код «точной точки отсчета» и времени) и стандартным временем. Это смещение включает точность определения времени собственно ГНСС приемником, равно как и точность синхронизации B-кода.

Два типа B-кода: DC и AC

Существуют два типа B-кода, один тип для постоянного тока (DC) и второй тип для переменного тока (AC).

B-код типа DC передается посредством уровней TTL или по дифференциальному интерфейсу RS-422. Точность синхронизации B-кода типа DC составляет порядка 100 нс.

B-код типа AC используется для передачи на дальние расстояния. B-код типа AC формируется амплитудной модуляцией (AM) B-кода типа DC синусоидальной волной частотой 1 кГц. Точность синхронизации B-кода типа AC обычно составляет около 10 мкс.

Делитель B-кода

В таких областях применения как электроэнергетика, коммуникации, оборудование для специальных задач, и т.п., часто требуется передавать время от источника времени на несколько устройств для обеспечения синхронизации времени на каждом устройстве. Для этих целей используется делитель (сплиттер) B-кода.

a6f70cbf4fa3b14feec0eb157c4e1bef.jpg

Рис. 8. Делитель В-кода.

Это схематичная диаграмма 8-канального делителя B-кода. Когда сигнал B-кода проходит через делитель, он делится на 8 выходных каналов, при этом важным моментом является обеспечение постоянства задержки по каждому каналу.

Разница в межканальной задержке B-кода типа DC не должна выходить за рамки диапазона в ±5 нс. Разница в межканальной задержке B-кода типа AC не должна выходить за рамки диапазона в ±20 нс.

Для обеспечения постоянства необходимо учитывать флуктуации задержек, вызываемые разницей в сигнальных трактах (таких как разводка печатной платы, сопротивление интерфейса) и влияние электромагнитной интерференции (EMI). При необходимости для поддержания стабильности задержки могут быть применены технологии цифровой компенсации и динамической подстройки задержки по каждому каналу.

Применение тайминговых модулей B-кода

В настоящий момент область временной синхронизации относительно зрелая. При разработке таймингового оборудования B-кода, если размер и интерфейс позволяют, для системной интеграции можно выбрать имеющиеся на рынке платы генераторов B-кода, платы приемников B-кода и платы делителей B-кода. Нет особой необходимости применения ПЛИС для самостоятельной генерации или демодуляции сигналов B-кода.

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

Испытания системы синхронизации времени

Наиболее критическим аспектом систем синхронизации времени является надежность. B-код наиболее часто применяется в таких областях как электроэнергетика, коммуникации, сектор специальных задач, а также промышленная автоматизация, где требуется соблюдать очень высокие требования к надежности систем времени.

С точки зрения функциональности и основного принципа, B-код относительно прост, но создать удачный и надежный модуль B-кода нелегко. Действительные сложности кроятся в следующем:

• Необходимо гарантировать корректность выводимых данных в различных нештатных ситуациях.

• При долговременной продолжительной работе, что может занимать месяцы и даже годы, система должна оставаться надежно стабильной и безошибочной.

Источник: Блог «Коммуникации и Навигация» (通信与导航), 05.05.2025. Перевод и адаптация: ООО «ГНСС плюс», 2025.


Нужна помощь специалиста?
Консультации от ведущих инженеров компании
Подробнее