Проблемы создания общесудовых систем единого времени

Поддержание общей шкалы времени является одной из базовых функций единого информационного пространства (ЕИП) судна — как самостоятельной единицы, так и в составе глобальной морской навигационно-информационной системы [1]. В статье рассматривается ранее утверждённый проект системы единого времени (СЕВ) и обозначаются фундаментальные недостатки использованного в нём подхода для современных и перспективных судов; также представлено альтернативное решение на основе актуальных стандартизованных технологий. В начале статьи приведены основные сведения по предметной области.
Необходимость синхронизации часов
Любое хронометрическое устройство базируется на том или ином виде периодического процесса, — будь то колебания механического маятника или электромагнитного контура, либо переходы электронов в радиоактивных атомах. Параметрами периодического процесса являются частота колебаний и текущая фаза. Соответственно, синхронными в общем случае называются устройства, частота и фаза которых совпадают в пределах допустимой погрешности. Можно выделить следующие уровни синхронности — по числу совпадающих параметров (рис. 1):
0) свободный ход — абсолютно независимое друг от друга функционирование;
1) синтонность — согласованность только по частоте;
2) синфазность — по частоте и фазе, например, относительно начала очередной секунды;
3) полная синхронность — с одинаковым временем суток и текущей датой (с поправкой на часовой пояс), либо относительно любой другой точки отсчёта.

Для некоторых прикладных задач достаточно согласования лишь по частоте. Но никакие два колебательных контура не имеют абсолютно одинаковую частоту, потому что их физические характеристики обязательно хоть немного отличаются. Более того, частота колебаний любого контура непрерывно меняется — как в краткосрочной перспективе, из‑за перемены климатических условий, так и в долгосрочной, что называется «старением».

Если синтонность уже обеспечена, то поддержание синфазности кажется простым делом: надо «всего лишь» единожды выставить колебательные контуры в одинаковое положение. Но для этого требуется учитывать задержку на прохождение синхросигнала до каждого получателя, а определение задержки методом прямого измерения чаще всего невозможно или нецелесообразно. Диалоговый же метод (рис. 2) требует симметрии каналов связи и передающего оборудования, что тоже обычно труднодостижимо, поэтому применяется совместно со статистическими методами фильтрации.

Впрочем, нельзя сказать, что при сугубо однонаправленной передаче совершенно невозможно определить задержку и отклонение, — ведь именно так и работает спутниковая навигация. Однако для этого в общем случае требуется сигнал от не менее чем 4‑х спутников с известными координатами. Может быть достаточно и одного спутника, но только если положение приёмника известно и фиксировано, а это как раз равносильно знанию задержки прохождения сигнала по проводам бортовой сети.

И даже когда обе предыдущих проблемы решены, перейти на следующий уровень — с единым гражданским временем — опять не так легко, как кажется. Неоднозначность из‑за часовых поясов снимается путём приведения к единой шкале: синхронизируемые системы поддерживают внутри себя «гринвичское» время, а если пользователю нужна поправка на местный часовой пояс или переход с зимнего на летнее время и обратно, то показания местных часов высчитываются динамически. Но это — более-менее прогнозируемые поправки, даже если какая‑то страна отменяет то зимнее время, то летнее. А ещё бывают непрогнозируемые поправки — секунды координации, вставляемые в шкалу всемирного координированного времени (UTC), по которому мы живём с 1972 г.

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

Требования к точности синхронизации
Допустим, мы пришли к осознанию неизбежного рассогласования любых двух хронометров, идущих независимо друг от друга. Но насколько часто необходимо выполнять синхронизацию, и какой точности придерживаться?
К примеру, возьмём наручные часы. Если они не спешат и не отстают более чем на пару секунд в сутки (на минуту в месяц), этого вполне достаточно для бытовых нужд. Но если захотим пересечь океан на яхте, не имея других средств навигации, кроме секстанта, то каждая минута погрешности часов превратится в 15 морских миль отклонения по долготе на экваторе, — это много больше, чем расстояние до горизонта, и потому вряд ли приемлемо для безопасного плавания даже спортсменов-любителей. Однако будь у нас с собой ещё и радиоприёмник для ежедневного получения сигналов точного времени, то ошибку определения координат можно было бы снизить на порядок.

Подобные примеры можно привести из практически любой сферы деятельности современного человека, начиная от телефонной связи и выхода в Интернет, ежедневных поездок на метро, движения поездов и самолётов, заканчивая специфичными задачами промышленной робототехники, энергетики, научных экспериментов, где счёт идёт на фемтосекунды и менее. Разумеется, важную роль играет синхронность и в морском деле, которое уже давно немыслимо без радиоэлектронного оборудования.

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

Особенности компьютерных хронометров
Обывательское представление о точности часовых механизмов базируется на личном опыте с наручными и настенными часами: отклонение на 1 секунду в сутки соответствует погрешности частоты 0,001 %, то есть 10−5 или 10 долей на миллион (parts per million, ppm). Особо точные часы, называемые «хронометрами» в узком смысле, могут иметь погрешность до 0,1 секунды в сутки, то есть 1 ppm; моряки никогда не снимают их с руки, чтобы поддерживать стабильный температурный режим. Можно предположить, что компьютерные часы, изготовленные по самым аккуратным технологическим процессам и функционирующие в стабильных климатических условиях, имеют как минимум не худшую точность, чем у бытовых часов, а то и значительно превосходящую. К сожалению, всё ровно наоборот.

Типичный компьютер наших дней имеет целый ряд тактовых генераторов, задающих опорные частоты от десятков килогерц до сотен мегагерц и даже гигагерц, но от большинства из них не требуется точное соответствие номиналу частоты и долговременная стабильность. Поэтому роль часового устройства способны исполнять только специализированные аппаратные средства, сводящиеся к двум классам:
  • энергонезависимые часы реального времени — обычный колебательный контур на основе кристалла кварца с собственной батарейкой для продолжения работы при выключенном питании; характеризуются сравнительно высокой дискретностью считывания показаний и высокой латентностью, то есть требуют сравнительно много времени для считывания;
  • программируемые таймеры — генераторы сигналов высокой частоты, обеспечивающие на порядки большую разрешающую способность и меньшую задержку считывания.
Из них лишь энергонезависимые часы имеют точность не хуже обычных бытовых часов, потому что по сути ими и являются. Они расположены в отдельной микросхеме, имеют автономное питание и вообще работают независимо от остальных компонентов компьютера. Напротив, все прочие таймеры интегрированы в микросхемы вместе со многими другими устройствами, иногда даже в сам центральный процессор, — отсюда широкий диапазон температур и непостоянство режима работы. Поэтому системные часы современного компьютера имеют дискретность, исчисляющуюся микросекундами и даже наносекундами, но точность хода у них не лучше 5 ppm — будь то дешёвый персональный компьютер или дорогой сервер. Большинство же имеют погрешность 10–40 ppm в начале эксплуатации, а по мере старения она ухудшается до 100–200 ppm за несколько лет; без корректировки, такие «проверенные временем» часы каждый месяц будут уходить на 5 минут и более.

Заметно лучшие характеристики могут обеспечить термостатированные кварцевые кристаллы: погрешность хода от 1 ppm до 0,02 ppm и гораздо менее выраженное старение. Но эти несомненные достоинства компенсируются на несколько порядков более высоким потреблением энергии (как у процессора в ноутбуке) и большей ценой (как у целого ноутбука или настольного компьютера), а также в разы большими габаритами. Поэтому не удивительно, что эти устройства не применяются в продуктах широкого потребления. Однако и в более специфичной аппаратуре они тоже редко встречаются: нельзя просто взять готовую материнскую плату и заменить обычный осциллятор на термостатированный по желанию — надо изначально проектировать плату с учётом дополнительного пространства, питания и тепловыделения.

Всё равно, сколь бы стабильно ни работали часы, они нуждаются в начальной установке и последующей регулярной синхронизации с эталоном. Даже атомные часы, имеющие погрешность хода 10−12–10−15, постоянно синхронизируют с государственными стандартами частоты, а государственные — друг с другом. Атомные часы на спутниках навигационных систем GPS и ГЛОНАСС регулярно синхронизируются с земными эталонами. А по сигналам спутников, в свою очередь, могут синхронизироваться рядовые потребители — и добиваться весьма высокой точности даже с обычными кварцевыми часами, если использовать правильный алгоритм.

Неудачный проект системы единого времени
Вернёмся к упомянутому в начале статьи проекту общесудовой системы единого времени, суть которого сводится к следующему:
  • головное устройство системы получает информацию о точном времени со спутников ГЛОНАСС и каждую миллисекунду производит рассылку переработанной хронометрической информации в широковещательном режиме сразу всем абонентам последовательной шины ГОСТ Р 52070;
  • каждая посылка включает в себя текущую дату, час по Гринвичу, по Москве и по поясному времени, минуты, секунды и тысячные доли секунды, а также вторичную и диагностическую информацию (рис. 3);
  • значения, указанные в очередной посылке, соответствуют моменту, отмеряемому стартовым синхроимпульсом следующей посылки, то есть передаются заранее.
На первый взгляд может показаться, что этого описания вполне достаточно для создания по‑настоящему высокоточной системы, особенно если закрыть глаза на недопустимую в подобных документах двусмысленность таких терминов как «текущая дата» (в каком часовом поясе?), «час по Гринвичу» (это обиходный синоним UTC?) и «поясное время» (местное астрономическое? для географической зоны?). Но стоит лишь задуматься над реализацией описанного проекта, и вопросы — практические и теоретические — возникают сами собой.

Главный вопрос: как конкретно должны использовать рассылаемую хронометрическую информацию те или иные абоненты системы? Например, надлежит ли им застопорить свои часы на весь интервал до следующей посылки, или они должны интерполировать значение времени на этом интервале? Если первое, то разрешающая способность часов ограничивается до 1 мс, что неприемлемо для многих прикладных систем. Если второе, то по какому конкретно алгоритму выполнять интерполяцию? Позволяет ли этот алгоритм определить погрешность хода собственных часов, чтобы поддерживать автономную работу даже после потери сигнала — при аварии или поломке? Какова при этом может быть максимальная погрешность хода собственных часов?

Каким образом абоненты должны определять и учитывать задержку сигнала, если рассылка всегда однонаправленная? Можно пренебречь временем распространения по кабелю, если отклонение на 1–2 мкс не существенно. Однако затраты на обработку пришедшего пакета могут быть в десятки и сотни раз больше времени распространения, — ведь, повторимся, в описании этой «системы» не указаны требуемые параметры быстродействия контроллера последовательной шины, производительности процессора, равно как и необходимость использования операционной системы реального времени.

Принципиально, что в формате посылки не заложена возможность информирования абонентов о предстоящих событиях координации времени. Абоненты смогут узнавать об этих событиях лишь постфактум — внезапно обнаружив отсутствие последней секунды суток, либо её дублирование, либо появление 61‑й секунды. Даже если абонент готов безоговорочно доверять любой аномальной информации, поступающей извне, это может идти вразрез с его внутренним представлением о времени. Дело в том, что некоторые прикладные задачи рассчитаны на непрерывность шкалы времени больше, чем на синтонность, поэтому, чтобы избежать скачкообразного перевода часов сразу на целую секунду, они либо дозируют это на мелкие порции, либо ускоряют / замедляют ход часов в рамках допустимого. И даже когда скачки времени приемлемы, бывает нежелательно поворачивать время вспять, чтобы не нарушать очерёдность событий: согласитесь, было бы странно, если окончание некоторого процесса оказалось зафиксировано в одной системе судна якобы раньше, чем этот процесс был инициирован другой системой того же судна.

Таким образом данный протокол синхронизации не может служить в качестве базового при построении корректных систем единого времени, что привело к поиску альтернатив.

Обзор альтернативных технологий
При построении систем единого времени следует учитывать опыт уже существующих решений, самыми известными из которых можно считать Network Time Protocol (NTP, [3–4]) и Precision Time Protocol (PTP, [5–6]). Эти два средства покрывают широчайший спектр конфигураций, поскольку NTP ориентирован на протяжённые линии связи — от внутригородских до межконтинентальных и даже межпланетных, — а PTP более адаптирован к локальным сетям, для которых характерна малая задержка и высокая скорость передачи, нет необходимости экономить трафик и проводить сеансы связи по расписанию.

За тридцать с лишним лет существования NTP, накоплен огромный пласт теоретических изысканий по этой технологии, практического опыта, научных статей, докладов, книг и электронных пособий. Технология PTP более молода, продолжает эволюционировать и обрастать документальными материалами. Оба протокола допускают некоторую свободу в реализации ведущих и ведомых систем, но главное — предлагают полную модель каждого участника взаимодействия. Они указывают минимальные требования к используемой аппаратуре, дают общий алгоритм работы, определяют перечень возможных состояний каждой системы и условия перехода между этими состояниями. Эти протоколы не просто предлагают математический аппарат в виде модели часов и формул расчёта коррекции, — они аналитически и экспериментально обосновывают применение этого аппарата и конкретных значений констант. Обе технологии дают инструменты для оценки ожиданий точности при тех или иных параметрах системной конфигурации, а также штатные средства диагностики и контроля.

Любопытно, что при использовании NTP или PTP вовсе не требуется выполнять рассылки хронометрической информации 1000 раз в секунду. Так, NTP в типовой конфигурации довольствуется 17‑минутными интервалами, позволяя достичь точности фазы около 1 мс и частоты порядка 0,1 ppm даже в глобальных сетях. Протокол PTP в локальных сетях обычно обменивается информацией каждую секунду, но и точность позволяет достичь на пару порядков выше, а с поддержкой в аппаратуре — и того более: 1 нс и 0,001 ppm.

Предлагаемое решение
Учитывая тенденцию перевода общесудовых сетей обмена данными с технологии последовательных шин на более современную технологию локальных сетей Ethernet и TCP/IP, перед нами была поставлена задача адаптации вышеописанной системы единого времени к новой среде передачи данных. Тривиальное решение состоит в приёме хронометрической посылки одним из абонентов системы, инкапсуляции этой посылки в протокол IP и отправке по локальной сети в широковещательном режиме; соответственно, другие узлы сети получают оригинальную посылку и используют по назначению, а при необходимости — ретранслируют дальше своим собственным абонентам, если таковые имеются. Этот подход неприемлем не только потому, что наводняет трафиком все сегменты сети без разбора, но и вносит существенную и непредсказуемую дополнительную задержку на каждом коммутаторе и промежуточном узле, — а задержки и без того были большие.
Поэтому нами было предложено гибридное решение с использованием NTP и PTP (рис. 4).

  1. На входных узлах принимаются оригинальные посылки с хронометрической информацией, затем они преобразуются в стандартный формат NMEA 0183 и передаются стандартному программному обеспечению NTP — как будто это сообщения от обычного навигационного приёмника.
  2. Программное обеспечение NTP при поддержке операционной системы семейства Linux производит синхронизацию часов входного узла с системой единого времени.
  3. Входные узлы становятся первичными источниками времени в локальной сети, распространяя хронометрическую информацию средствами PTP; один из первичных источников назначается основным, а остальные находятся в горячем резерве.
  4. Рядовые узлы сети синхронизируются с первичными по PTP, выбирая основной источник на основании доступности и заданных приоритетов. При невозможности связи по PTP возможен откат до NTP.
  5. Промежуточные узлы сети не только синхронизируются с первичными, но и сами являются вторичными источниками точного времени, занимая место первичных при их недоступности, а также самостоятельно генерируя хронометрические посылки в исходном формате для своих абонентов на последовательной шине.
Не скроем, предлагаемое решение не лишено своих собственных сложностей и недостатков. Оно требует разработки вспомогательного программного обеспечения для прямого и обратного преобразования информационных посылок, причём последняя задача ещё и предъявляет очень строгие требования к равномерности интервалов между посылками, а также синфазности их с эталонными часами. Кроме того, необходимо создать управляющее программное обеспечение для переключения NTP и PTP в нужный режим согласно текущему состоянию эталонных часов и локальной сети, чтобы обеспечить надёжность функционирования и единство времени даже в самых неблагоприятных ситуациях.
Понятно, что никакое техническое решение не является чудодейственным: если в исходной хронометрической посылке нет данных о предстоящем событии координации, то появиться им неоткуда — особенно в рамках судовой сети, не имеющей выхода в Интернет. Между тем, NTP рассчитывает на эти данные, а PTP так и вовсе живёт по непрерывной шкале атомного времени. Даже если входные узлы сети подчинятся сигналу головной системы о необходимости скачкообразного перевода часов, их абоненты будут в течение 10–15 минут воспринимать это как аномалию. Поэтому одной из задач подсистемы управления является обнаружение подобных событий и временное отключение NTP/PTP на абонентских узлах, чтобы выполнить перевод часов самостоятельно.


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

Общая шкала времени — одна из основ единого информационного пространства одиночного судна или флотилии. Чрезмерно упрощённый, наивный подход к синхронизации времени не может обеспечить получение предсказуемого и контролируемого результата, а следовательно является преградой для выполнения судном своих задач. В перспективе, необходимо сразу строить общесудовые сети передачи данных таким образом, чтобы интегрировать функцию распространения единого времени стандартными средствами. В переходный период решением могут стать гибридные системы, такие как предложенная в статье.

Подпишитесь на наши статьи

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