Новостной и аналитический портал "время электроники". Введение в PTP Протокол ntp обеспечивает механизмы синхронизации с точностью

02.07.2020 Флешки и HDD

T. Schossig; B. Baumgartner, C. Riesch, M. Rudigier, OMICRON electronics, для сайт

АННОТАЦИЯ

В данной статье рассматриваются общие вопросы, касающиеся Протокола точного времени, описанного в стандарте IEEE 1588-2008 , а также представлена последняя информация по вопросам синхронизации и передачи сигнала времени, которые актуальны в настоящее время в электроэнергетике. В статье также даётся обзор основных вопросов стандарта IEEE C37.238-2011 , задачей которого является интеграция синхронизации по Протоколу точного времени в современных энергоустановках. Один из разделов посвящён проблемам реализации и перехода на новый стандарт синхронизации на энергообъектах, включая требования по сетевой инфраструктуре, которые необходимо выполнить для успешного применения синхронизации по Протоколу точного времени. В конце даётся обобщение всех вопросов и рассматриваются перспективы реализации синхронизации времени в электроэнергетике.

ВВЕДЕНИЕ

Реализация стандарта МЭК 61850 осуществляется в настоящее время на многих объектах электроэнергетики; в связи с этим сетевая инфраструктура на подстанциях претерпевает значительную модернизацию. В большинстве случаев связь между многофункциональными устройствами (МФУ) на подстанции или между МФУ и главным контроллером осуществляется по сетям Ethernet. Таким образом, логично утверждать, что синхронизация всех этих устройств должна выполняться по одной и той же сетевой инфраструктуре, тем самым позволяя избежать создания дополнительных каналов для сигналов синхронизации времени. Первым шагом в данном направлении послужило создание Сетевого протокола времени (NTP) в рамках стандарта МЭК 61850, который использует сеть Ethernet для передачи сигналов времени. Известно, что протокол NTP позволяет реализовать синхронизацию с точностью до миллисекунды, но зачастую на практике требуется более точная синхронизация, поэтому приходится применять параллельное использование более точных методов (например, IRIG-B). В результате возникает необходимость в дополнительных каналах синхронизации.

Протокол точного времени - первый метод, позволяющий использовать сигнал синхронизации по сети Ethernet на подстанциях с требуемой точностью в безопасном режиме. Данный протокол обеспечивает точность выше 1 мкс и может применяться для любых устройств автоматики энергообъектов.

СИНХРОНИЗАЦИЯ ВРЕМЕНИ НА СОВРЕМЕННЫХ ПОДСТАНЦИЯХ

Перед тем, как начать рассматривать основные функции и преимущества протокола IEEE 1588-2008, следует определить технические требования, предъявляемые к методам синхронизации и передачи времени на современных энергообъектах. В данном разделе также даётся краткий обзор основных методов синхронизации, используемых в настоящее время.

Требования по точности измерения времени

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

Каскадное отключение электроэнергии на севере США в августе 2003 года - яркий пример того, каким сложным может быть анализ послеаварийной ситуации при наличии неточных данных по времени событий. В результате после данной аварии экспертный комитет, занимавшийся расследованием ситуации, потребовал введения директив, определяющих минимальную абсолютную точность осциллографируемых аварийных событий на объектах. С принятием стандарта NERC (North American Electric Reliability Cooperation) PRC‑018‑1 в 2006 году в США обязательным является требование обеспечивать точность фиксации времени для всех осциллографируемых данных от 2 мс и выше относительно всемирного координированного времени UTC (Universal Coordinated Time Scale) .

В настоящее время многие измерения и контрольные данные в энергосистемах должны обеспечивать абсолютную точность фиксации времени порядка 1 мс:

  • данные систем SCADA (Supervisory Control & Data Acqusition)
  • данные регистраторов событий и осциллографов
  • метки времени от МФУ и терминалов защит
  • измерения грозовых разрядов

Точность порядка 1 мс достигается сравнительно легко. Однако для целого ряда данных в современных устройствах требуется более высокая точность. Для следующих функций требуется абсолютная точность от 1 мкс и выше:

  • Выборочные значения
  • Измерения синхрофазоров (Синхронизированные измерения векторов синусоидальных величин)
  • Измерения ОМП волновым методом

Для синхронизации измерений устройств, использующих данные функции, как правило, используется время GPS c помощью подстанционного оборудования синхронизации (substation clocks) .

В МЭК 61850-90-5 требования по измерениям времени событий и синхронизации измерений представлены в виде пяти классов времени в диапазонах от 1 мс до 1 мкс (см. ТАБЛИЦУ 1 и ТАБЛИЦУ 2).

Таблица 1: Классы времени для измерения событий по МЭК6185090‑5

Класс времени

Точность

Измерение

± 1 мс

Метки времени событий

± 100 мкс

Метки перехода через нуль и данных для контроля синхронизма. Коммутация оборудования с контролем синхронизма

Таблица 2: Классы времени для синхронизации данных от измерительных трансформаторов по МЭК6185090‑5

Класс времени

Точность

± 25 мкс

± 4 мкс

± 1 мкс

Традиционные методы синхронизации

В зависимости от предъявляемых требований и выполняемых измерений используется несколько методов передачи сигналов синхронизации от подстанционного оборудования синхронизации к задействованным устройствам. Наиболее традиционные методы требует наличия отдельной схемы передачи сигнала времени, как показано на РИСУНКЕ 1.

Рис. 1: Функциональная схема передачи сигнала синхронизации через отдельный канал распределения

Для передачи сигнала синхронизации на подстанциях используются следующие основные методы , :

IRIG -B . Шифрование методом IRIG (Inter Range Instrumentation Group) Time Codes было разработано военным ведомством США с целью стандартизации измерений, получаемых от источников, имеющих различное местоположение. В настоящее время шифрование IRIG-B имеет в основном гражданское применение, включая объекты электроэнергетики. IRIG-B передает сигнал синхронизации со скоростью 100 бит/с; при этом в зависимости от метода передачи (Немодулированный код (сдвиг 0/+5 В) или модулированный код (несущая 1 кГц)) возможна точность синхронизации от 1 мс до 10 мкс. IRIG-B использует витую пару или коаксиальный кабель для передачи сигнала.

1 импульс в секунду (1 PPS ). Цифровой сигнал 1 PPS имеет широкое применение в качестве сигнала синхронизации и используется на многих подстанциях. Сигнал представляет собой обычный прямоугольный импульс частотой 1 Гц, в котором передний либо задний фронт означает начало секунды. Точность синхронизации при применении такого импульса составляет порядка нескольких наносекунд. С учётом задержки пропускания сигнала в физическом канале передачи достигаемая точность при таком методе может составлять 1 мкс. Сам по себе сигнал 1 PPS не содержит дополнительной информации по времени, поэтому фронт импульса может быть привязан к конкретному абсолютному времени. В результате дополнительная информация по времени должна быть передана к МФУ с помощью отдельной вспомогательной системы синхронизации (например, NTP). В связи с этим метод 1 PPS в последнее время теряет свою актуальность для целей синхронизации на энергообъектах.

Передача сигнала по последовательному каналу в ASCII . Данный метод синхронизации приведён с целью полноты изложения материала. В связи с наличием лучших альтернатив данный метод очень редко используется в электроэнергетике. В таких схемах сигнал синхронизации передаётся по последовательному каналу передачи в формате ASCII. Точность синхронизации при этом очень сильно зависит от скорости передачи и качества оборудования и программного обеспечения. На скоростях 19200 бод и выше обычно достигается точность до 1 мс.

Рис. 2: Функциональная схема передачи сигнала синхронизации по станционной сети

Как было сказано выше, число применений сетей Ethernet на подстанциях неуклонно растёт. В связи с этим повышается актуальность использования систем синхронизации на основе таких сетей (см. примеры на РИСУНКАХ 1 и 2). До разработки стандарта IEEE 1588-2008 протокол NTP был единственным широко применяемым методом синхронизации, который не требовал наличия отдельной системы передачи сигналов времени по сети.

NTP . Сетевой протокол времени (NTP) используется для синхронизации времени в компьютерных сетях и в первую очередь предназначен для надёжной синхронизации при различных скоростях обмена пакетами данных в таких сетях, как Интернет. Точность синхронизации при этом напрямую зависит от сетевого трафика и задержек в операционных системах. Для оценки средних задержек при передаче по NTP от сервера к отдельному клиенту сети используются специальные расчетные алгоритмы. В среде Интернет точность обычно достигает 10 мс. В сетях, применяемых на энергообъектах, может быть достигнута точность порядка нескольких миллисекунд. Такая точность достаточна для того, чтобы задать определённое абсолютное время для переднего фронта сигнала 1 PPS. Однако подобная схема редко применяется в связи с тем, что требуется два отдельных канала передачи опорного времени (например, NTP и 1 PPS).

Таблица 3: Основные характеристики традиционных методов синхронизации

Система

Точность передачи

Отдельный канал передачи

Неопределенность

IRIG-B

от 10 мкс до
1 мс

1 год

1PPS

1 мкс

1 секунда

Послед. ASCII

1 мс

отсутств.

от 1 мс до
10 мс

отсутств.

В ТАБЛИЦЕ 3 приведены основные характеристики традиционных методов синхронизации времени. Из опыта применения данных типов систем можно вывести следующие требования, которыми должна обладать усовершенствованная система синхронизации времени:

  • Высокая точность синхронизации
  • (1 мкс или выше)
  • Возможность применения существующей сети Ethernet в системе smart grid
  • Автоматическая компенсация задержек распространения сигнала
  • Отсутствие неопределённости
  • Возможность резервирования систем

ПРОТОКОЛ ТОЧНОГО ВРЕМЕНИ (PTP)

Протокол точного времени стандарта IEEE 1588-2008 обеспечивает синхронизацию в информационных сетях, например, с использованием Ethernet. Как и в случае с NTP для передачи основных данных и для передачи сигнала синхронизации используется общий кабель, что позволяет применять уже существующую информационную сеть. В отличие от систем с отдельными каналами для передачи времени задержки в данном случае не могут быть рассчитаны, исходя из длины кабеля. Скорость прохождения пакетов данных в информационной сети может меняться динамически, при этом инфраструктура сети может видоизменяться, поэтому задержка передачи каждого пакета данных должна также корректироваться динамически. Сетевые коммутаторы также могут вносить дополнительную задержку при передаче пакетов, и эта задержка может намного превосходить задержки из-за длины кабеля. Протокол точного времени учитывает динамический характер изменения задержек при передаче сигнала и позволяет автоматически внести необходимые корректировки .

Синхронизация по протоколу PTP

Принцип работы метода показан на РИСУНКЕ 3. Ведущее устройство синхронизации Master (например, синхронизатор GPS) и подчинённое устройство Slave (например, устройство РЗА) соединены по информационной сети. Задача состоит в том, чтобы синхронизировать устройства Slave и Master таким образом, чтобы оба они синхронно обеспечивали одинаковое время .

Отклонение во времени между устройствами выражено величиной Δ t ms . На РИСУНКЕ 3 это отклонение также показано в виде сдвинутых нулей на оси времени. Цель состоит в том, чтобы измерить значение Δ t ms . Для этого пакет данных A посылается от устройства Master по сети Ethernet устройству Slave. При этом устройство M определяет момент времени t 1 , когда был отправлен пакет. Т.о., время t 1 это абсолютное значение времени, когда пакет данных был отправлен от ведущего устройства синхронизации. Пакет данных доходит до устройства Slave по сети через определённое время. Данная задержка обозначена как Δ t p на РИСУНКЕ 3 и является суммой всех задержек сигнала в кабеле и сетевых коммутаторах. Через данную задержку пакет данных доходит до устройства Slave, в котором генерируется следующая отметка времени, обозначенная как t 2 " .

Рис. 3: Определение времени прохождения сигнала между устройствами при передаче 2 пакетов данных в противоположных направлениях

Т.о., устройство Slave определяет время, когда до него доходит пакет данных A. При этом соотношение между временами t 1 и t 2 " определяется по формуле:

t 2 " = t 1 + Δ t p - Δ t ms (1)

Вслед за этим устройство Slave посылает пакет данных B устройству Master. Время отправки пакета устройством Slave (t 3 " ) и время приёма пакета устройством Master (t 4 ) запоминается для дальнейшего расчёта. Если физический канал прохождения пакетов тот же самый, можно предположить, что задержка Δ t p будет точно такой же и конечное время будет равно:

t 4 = t 3 " + Δ t p + Δ t ms (2)

Значения времени присутствуют в обоих устройствах: t 1 и t 4 в устройстве Master, t 2 " и t 3 " в устройстве Slave. Как только устройство Master передаст свои значения (t 1 и t 4 ) устройству Slave в пакете данных, устройство Slave может решить систему из уравнений (1) и (2) и, таким образом, найти значение времени Δ t ms по формуле:

Δ t ms = (t 1 - t 2 " - t 3 " + t 4 ) / 2 (3)

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

Для рассмотренного измерения задержки чрезвычайно важно, чтобы времена прохождения пакетов А и В были одинаковыми, т.е. не зависели от направления передачи пакета. Данное требование не выполняется в стандартных сетевых топологиях, ввиду того, что Ethernet коммутаторы хранят входящие пакеты какое-то время перед отправкой. Такое время пребывания (время, в течение которого пакет хранится в коммутаторе перед отправкой) пакета в коммутаторе зависит от ряда факторов (например, загрузка траффика) и может привести к погрешностям. Для решения этой проблемы в стандарте IEEE 1588-2008 используется метод открытых синхронизаторов (ТС). Такой синхронизатор представляет собой коммутатор, измеряющий время, которое необходимо для прохождения PTP сообщения, и передающий эту информацию устройствам, принимающим соответствующие PTP сообщения.

Механизмы измерения задержек

На основе изложенного выше принципа в стандарте IEEE 1588-2008 предложено два механизма измерения задержек: сквозной (end-to-end, E2E) и пиринговый (peer-to-peer, P2P). Для безопасной синхронизации все устройства в составе одной сети должны использовать один и тот же механизм измерения.

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

Пиринговый механизм измерения задержек. Если в механизме E2E открытые синхронизаторы измеряют только время пребывания сообщения, то в механизме P2P открытые синхронизаторы также измеряют задержку между портами приёма и передачи сообщения. В результате поле коррекции PTP сообщения будет содержать время пребывания во всех открытых синхронизаторах и время задержки между звеньями в канале передачи.

В конфигурации E2E измерение задержек происходит по отдельности между устройством Master и каждым подключенным к нему устройством Slave, как показано на РИСУНКЕ 4 . В результате траффик по направлению к устройству Master будет повышенным, потому, что Master видит все подключенные к нему устройства.

Рис. 4: Кольцевая топология при сквозном измерении задержек

В конфигурации P 2 P открытые синхронизаторы измеряют задержки прохождения сигнала между соседними синхронизаторами, как показано на РИСУНКЕ 5.

Рис. 5: Кольцевая топология при пиринговом измерении задержек

Измерение задержки также выполняется на отрезках передачи, которые заблокированы по протоколам резервирования (напр., Rapid spanning tree). Таким образом, возможно безопасное с точки зрения синхронизации переконфигурирование, т.к. при изменении сети синхронизации не потребуется пересчёт задержек времени .

Алгоритм лучшего синхронизатора

Ещё одной особенностью протокола, описанного в стандарте IEEE 1588-2008, является алгоритм лучшего синхронизатора Best Master Clock Algorithm (BMCA). Данный алгоритм автоматически позволяет определять наиболее эффективный синхронизатор, который в дальнейшем используется в качестве основного для всей сети. Данный синхронизатор становится ведущим и все остальные синхронизаторы подстраивают своё время под него. Таким образом, не требуется вручную выбирать ведущий синхронизатор сети. Best Master Clock Algorithm также подразумевает наличие функции резервирования. Если ведущий синхронизатор не функционирует, следующий по эффективности синхронизатор становится ведущим автоматически. Для сложных сетевых инфраструктур протокол обеспечивает функцию определения ведущего синхронизатора, который будет использоваться для дальнейшей синхронизации .

Рис. 6: Best Master Clock Algorithm (BMCA ) в системе из двух подсистем с шестью синхронизаторами (C 1… C 6).

На РИСУНКЕ 6 показана сеть, состоящая из 6 синхронизаторов (C1…C6), соединённых через 2 коммутатора (S1 и S2). Синхронизатор C4 является наилучшим по характеристикам, т.к. имеет GPS-приёмник и, следовательно, может принимать сигнал высокой точности от спутника. В связи с тем, что данный синхронизатор обеспечивает самую большую точность, алгоритм BMCA задаёт синхронизатор С4 в качестве ведущего для всей сети. Все другие устройства в сети (C1, C2 … которые могут быть в составе терминалов защит и т.п.) синхронизируются относительно времени устройства С4 .

C3 работает в особом режиме. У данного устройства 2 порта, поэтому оно может объединять две сети между собой через коммутаторы S1 и S2. По алгоритму BMCA сетевой порт устройства C3 со стороны коммутатора S1 конфигурируется под slave (на РИСУНКЕ 6 обозначен буквой S) и подстраивается под время ведущего устройства C4. Для системы, работающей через коммутатор S2, синхронизатор C3 становится ведущим и передаёт время, полученное от С4, устройствам C5 и C6. По терминологии IEEE 1588-2008 устройство C3 называется граничным синхронизатором (Boundary Clock). Такое устройство позволяет синхронизировать время двух изолированных сетей относительно общего задающего времени . Данная конфигурация автоматически обеспечивается алгоритмом BMCA. При отключении устройства или добавлении нового устройства система будет переконфигурирована автоматически .

Профили PTP

IEEE 1588-2008 - довольно сложный стандарт, позволяющий задавать пользовательские настройки для различных приложений, где может применяться протокол PTP. Для обеспечения гибкой работы и быстрой настройки оборудования, работающего через PTP, в стандарте существуют задаваемые профили настроек. В профилях задаются параметры по умолчанию, а также типы синхронизации в зависимости от области применения. В приложении J стандарта IEEE 1588-2008 описаны два профиля по умолчанию: Профиль Request-Response Default PTP (или профиль E2E) и пиринговый профиль Peer-to-Peer Default PTP. Заинтересованные организации (стандартизационные, промышленные комитеты и т.п.) имеют возможность создавать дополнительные профили , .

ПРОФИЛЬ PTP POWER PROFILE

Для безопасной работы оборудования по протоколу PTP в области электроэнергетики стандарт IEEE C 37.238-2011 определяет так называемый Power Profile . Данный профиль был создан рабочими группами WG H 7 комитета IEEE Power Systems Relaying Committee и WG C 7 комитета Power Systems Substation Committee . Обе группы работают под эгидой сообщества IEEE Power and Energy Society .

Данный профиль, определяемый в IEEE 1588-2008, создан для обеспечения синхронизации времени в ответственных узлах энергосистемы, работающих 24 часа в сутки. Для этой цели в дополнение к выбранным параметрам IEEE 1588-2008 были определены особые системные параметры профиля.

Параметры IEEE 1588-2008 профиля PTP Power Profile

В данном разделе описаны основные параметры IEEE 1588-2008, которые используются в профиле PTP power profile . Полное описание параметров даётся в стандарте .

Тип синхронизатора. В профиле PTP power profile можно выбрать одношаговый (Одношаговый синхронизатор помещает метку времени непосредственно в PTP сообщение (напр., Sync). Двухшаговый синхронизатор посылает метку времени в отдельном Follow_Up сообщении) или двухшаговый синхронизатор. Рекомендуется использовать одношаговый тип синхронизатора, который является более современным. Двухшаговые синхронизаторы были включены в профиль только из-за их наличия в промышленности. Также имеется возможность выбрать все типы синхронизаторов, описанные в IEEE -1588-2008 (простые, открытые, граничные).

Алгоритм лучшего синхронизатора (Best Master Clock Algorithm ). Профиль PTP power profile использует алгоритм BMCA. Основная особенность настройки BMCA состоит в том, что только потенциально ведущие синхронизаторы (Потенциально ведущий синхронизатор имеет опорный сигнал высокой точности (например, система GPS)) имеют возможность выступать в качестве возможных ведущих устройств. Все остальные простые синхронизаторы работают в режиме slave-only. Таким образом, только потенциально ведущий синхронизатор, связанный с внешним опорным сигналом, может быть ведущим устройством подстанции.

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

TLV -тег местного времени. В профиле PTP power profile потенциально ведущие синхронизаторы должны добавлять временной индикатор TLV к своим идентификационным сообщениям (Идентификационные сообщения определены в IEEE 1588‑2008 и содержат информацию о синхронизаторе (напр., теги качества синхронизатора, теги идентификации и т.п.). Индикатор TLV содержит данные о часовых поясах и другую информацию, которая необходима для того, чтобы устройство преобразовало время UTC в местное время.

Особые параметры профиля PTP Power Profile

В данном разделе описаны дополнительные параметры, которые необходимо задать для интеграции устройств по стандарту IEEE 1588-2008 на подстанциях, применяющих МЭК 61850 , :

Обеспечение устойчивой работы. Для обеспечения требуемой точности по времени даже в самых сложных применениях (синхрофазоры, выборочные значения) задаются параметры по устойчивой передаче сигналов синхронизации времени к устройствам slave (напр., терминалы защит).

Величина суммарной погрешности на входе ведомого синхронизатора (slave) не должна превышать 1 мкс после 16 ретрансляций. Как показано на РИСУНКЕ 7, ведущий синхронизатор допускает максимальную погрешность не более 200 нс, а открытые синхронизаторы могут вносить дополнительную погрешность величиной не более 50 нс. Такая устойчивость работы определяется для 80-процентной загрузки сети. Для достижения устойчивой работы в таких пределах открытые синхронизаторы должны быть по меньшей мере синтонизированы (Устройства синтонизированы, если длительность секунды в них одинаковая. Периоды дискретизации устройств могут отличаться ).

Рис. 7: Условия по обеспечению устойчивой работы по IEEE C 37.238-2011

Время передачи функции ведущего синхронизатора другому устройству. В стандарте IEEE 1588-2008 не определён сдвиг времени при передаче функции ведущего синхронизатора от одного устройства к другому; в профиле PTP power profile задаётся максимальный сдвиг величиной 2 мкс в течение 5 с при постоянной температуре. Это означает, что при потере синхронизации ведущий синхронизатор не должен сдвигаться на величину более 2 мкс за 5 с. Такой период считается необходимым для того, чтобы другое устройство в системе имело достаточное время для перехода в режим ведущего.

Теги IEEE 802.1Q . В профиле PTP power profile соблюдается требование, по которому все PTP сообщения соответствуют определениям IEEE 802.1Q . Каждый фрейм содержит тег, который указывает на приоритет фрейма и статус фрейма в виртуальной сети VLAN (Виртуальная сеть) . Поле приоритета обеспечивает высший приоритет у наиболее важных сообщений (напр., сообщения подстанционных защит). Поля VLAN позволяют поделить физическую сеть таким образом, чтобы сообщения, предназначенные для конкретного устройства передавались именно этому конкретному устройству. Использование VLAN позволяет повысить безопасность системы благодаря блокированию угроз безопасности и обеспечению конфиденциальности сообщений. В итоге также снижается суммарный трафик сети.

База управления IEEE C 37.238. В профиле PTP power profile задается база управления Management Information Base (MIB) для протокола Simple Network Management Protocol (SNMP). Прерывания SNMP включены в базу MIB для указания на изменения событий (напр., изменение ведущего синхронизатора).

Теги TLV IEEE C 37.238. В профиле PTP power profile определены теги TLV , которые содержат информацию о ведущем синхронизаторе, временной погрешности ведущего синхронизатора, временную погрешность сети. Данные параметры могут использоваться МФУ для определения наибольшей вероятной ошибки по времени и, следовательно, дают возможность оценивать качество выдаваемых меток времени.

РЕАЛИЗАЦИЯ И СЦЕНАРИИ ПЕРЕХОДА НА СТАНДАРТ НА НОВЫХ ПОДСТАНЦИЯХ

Комплексная структура стандарта IEEE 1588-2008 позволяет выполнить разработку различных концепций синхронизации времени под конкретный энергообъект, в зависимости от пожеланий заказчика.

Реализация PTP на строящихся подстанциях

Если подстанция строится, имеется возможность выполнить начальную разработку сети синхронизации по IEEE 1588-2008, т.к. вся сетевая инфраструктура может заранее учитывать требования по МЭК 61850 и протоколу PTP .

Инфраструктура сети. Разработка сетевой инфраструктуры может быть принята как для стандартной подстанции с МЭК 61850. Все соображения по безопасности или резервированию сети (напр., кольцевая топология) могут быть учтены. Единственное требование по оборудованию синхронизации состоит в том, чтобы сеть строилась на устройствах, которые поддерживают PTP (=открытые синхронизаторы). Для обеспечения взаимодействия все устройства в сети должны иметь возможность работать в профиле PTP power profile .

Резервирование. Для обеспечения надежной работы PTP рекомендуется, чтобы в сети было 2 или 3 потенциально ведущих синхронизатора. GPS -антенны этих устройств должны быть установлены в разных местах с целью минимизации риска потери сигнала из-за проблем с приёмом.

Безопасность сети. В общем случае должны применяться те же требования и рекомендации, что и для МЭК 61850. Кроме этого рекомендуется использовать функцию виртуальной сети VLAN тегов IEEE 802.1 Q профиля PTP power profile . Для этого используемые коммутаторы должны поддерживать приём и выдачу трафика с тегами IEEE 802.1 Q .

Структурирование временных параметров системы. Некоторые функции (напр., синхрофазоры, sampled values ) требуют наличия точной информации по качеству временных параметров и синхронизации. Синхронизаторы в профиле PTP power profile обеспечивают такую информацию (см. Теги TLV IEEE C 37.238). Информационное приложение C профиля PTP power profile описывает, каким образом временные параметры могут быть занесены в функции МЭК61850, такие как метки времени устройств или sampled values .

Ввиду того что существует большое число вариантов инфраструктур, не существует единого способа задания всех параметров.

Рис. 8: Пример реализации PTP на современной подстанции

На РИСУНКЕ 8 показан пример реализации для подстанции с МЭК 61850. С целью упрощения станционная шина МЭК 61850 и процессная шина МЭК 61850 показаны с помощью открытых синхронизаторов S1 и S2 (В реальности инфраструктура выполняется с использованием нескольких коммутаторов). Вопрос о том, как реализовывать процессную и станционную шины (и нужно ли это делать вообще) неоднократно обсуждался. Решения могут быть различными: от двух совершенно независимых сетей до одной общей сетевой инфраструктуры. С точки зрения IEEE 1588-2008 все устройства на энергообъекте должны быть синхронизированы под один ведущий синхронизатор. Это означает, что станционная шина и процессная шина должны быть связаны каким-либо образом. Для этой цели может служить открытый коммутатор, маршрутизатор с поддержкой PTP или граничный синхронизатор, как показано на РИСУНКЕ 8. Граничный синхронизатор позволяет избежать прямого соединения между станционной шиной МЭК 61850 и процессной шиной МЭК 61850, если требуется такая архитектура. Изображенная схема также обеспечивает полное резервирование. Если синхронизатор C1 выходит за пределы требуемой точности, следующее устройство в системе - скорее всего C2 - становится ведущим синхронизатором для всей системы.

Переход на стандарт на существующих подстанциях

При реализации IEEE 1588-2008 на недавно построенных подстанциях с МЭК 61850 могут возникнуть определённые трудности. Если кабельные связи существующей сети можно использовать, то сетевые устройства должны быть заменены на поддерживающие протокол PTP коммутаторы (=открытые синхронизаторы). Однако положительным можно считать тот факт, что не все сетевые устройства необходимо заменить сразу. Реализация PTP может быть ограничена участками, где требуется высокая точность синхронизации. Современные синхронизаторы PTP могут работать параллельно по протоколам NTP и PTP по одной и той же сети. Поэтому участки, где допускается меньшая точность по времени, могут работать по протоколу NTP .

Интеграция устройств, не поддерживающих PTP , может выполняться разными способами. Один из способов состоит в локальном обеспечении сигналов синхронизации, как показано на РИСУНКЕ 8. Устройство C 3 синхронизируется с ведущим синхронизатором и на локальном уровне передает сигналы синхронизации (напр., IRIG -B или 1 PPS ) устройствам, не поддерживающим PTP . Эти устройства (обозначены серым цветом на РИСУНКЕ 8) связаны с процессной шиной МЭК61850 и получают сигнал синхронизации времени от устройства C 3 по отдельному каналу связи. Открытые синхронизаторы с дополнительными выходами IRIG -B для подключения более старых типов устройств уже выпускаются в настоящее время.

Устройства, не поддерживающие PTP , не имеют интерфейса Ethernet , обеспечивающего аппаратную синхронизацию, которая необходима для точной работы по PTP . Но, в принципе, в некоторых современных устройствах имеется возможность обновить программно-аппаратное обеспечение, что позволит выполнить синхронизацию по PTP . При использовании программных меток времени суммарная точность может достигать от 20 мкс до 100 мкс . Этого достаточно по общим требованиям, как это определено в МЭК 61850-90-5 (см. ТАБЛИЦУ 1), но недостаточно для классов точности T 3… T 5 (см. ТАБЛИЦУ 2). Таким образом, для устройств, которые должны обеспечивать классы точности от T 3 до T 5, необходимо иметь возможность обновления до использования аппаратной синхронизации или их необходимо заменить новыми устройствами. В связи с тем, что многие подстанции, где требуется синхронизация времени, в настоящее время используют IRIG - B , в стандарте IEEE C 37.238-2011 (Приложения С и D ) даются руководящие указания по модернизации для применения PTP power profile на таких объектах .

Задержка в антенном кабеле

Выше было показано, что при реализации PTP все задержки, вносимые сетью и сетевым оборудованием, могут быть скомпенсированы автоматически. Остаётся лишь необходимость скомпенсировать вручную задержку, вносимую кабелем между GPS -антенной и ведущим синхронизатором. При этом даже специальные высокочастотные кабели имеют достаточно высокое затухание на частоте приёма GPS (1,57542 ГГц), что ограничивает максимальную длину кабеля до величины от 50 до 100м. Если при затруднённом приёме сигнала или особых условиях работы (напр., станция расположена в шахте) требуется покрыть большое расстояние для передачи, необходимо принять дополнительные меры (усилители сигнала, использование промежуточной частоты).

Рис. 9: Ведущий синхронизатор, встроенный в антенну

Если ведущий синхронизатор PTP встроить в антенну (см. РИСУНОК 9), коаксиальный кабель между синхронизатором и антенной не будет требоваться. Связь между устройствами и ведущим синхронизатором реализуется по сети Ethernet . Питание ведущего синхронизатора также может осуществляться по Ethernet -кабелю через технологию Power over Ethernet (PoE ). При использовании стандартного Ethernet -кабеля возможна передача сигнала на расстояние до 100м. Если применяется оптический канал Ethernet , расстояние между внешней антенной с встроенным ведущим синхронизатором и синхронизируемыми устройствами в сети может быть увеличено до 2 километров. В таком случае отпадает необходимость компенсировать задержку в антенном кабеле, ввиду его отсутствия.

АКТУАЛЬНЫЕ ВОПРОСЫ И ПЕРСПЕКТИВЫ

Стандарт IEEE 1588-2008 с профилем PTP power profile по IEEE C 37.238 предлагает комплексное решение по реализации точной синхронизации времени по сети Ethernet . При этом возникающие вопросы, как правило, касаются общих проблем, которые не имеют прямого отношения к IEEE 1588-2008 или имеют косвенное отношение к стандарту.

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

Другим вопросом является безопасность информационной сети вообще. В этой связи, рекомендуется использовать процедуру выбора пути передачи (развязка цепи) с помощью тегов IEEE 802.1Q в соответствии с профилем PTP power profile . Данное положение также соответствует стандарту по безопасности МЭК 62351-6 (часть 4.1), в котором для критических с точки зрения синхронизации процессов рекомендуется использовать процедуру выбора пути передачи вместо шифрования .

В связи с растущим интересом к стандарту IEEE 1588-2008 в сетях, использующих Ethernet , в настоящее время существует большое разнообразие сетевых устройств и синхронизаторов, которые могут применяться в этой среде. Интеграция PTP уже выполнена для многих существующих устройств или запланирована ведущими производителями. Таким образом, можно рекомендовать рассмотрение IEEE 1588‑2008 для применения на новых подстанциях или при строительстве планирующихся объектов.

ЗАКЛЮЧЕНИЕ

В стандарте IEEE 1588 последовательно определены все этапы обеспечения надёжной, безопасной и простой в применении системы синхронизации времени. При этом не требуется отдельный канал связи по кабелю, т.е. сокращаются расходы и не требуется организация отдельной сети синхронизации времени. Профиль PTP power profile по стандарту IEEE C 37.238‑2011 обеспечивает полную интеграцию IEEE 1588-2008 в систему, использующую МЭК61850. Таким образом, имеются все основания полагать, что протокол точного времени является оптимальным и гибким методом обеспечения синхронизации времени на современных объектах электроэнергетики.

ЛИТЕРАТУРА

1. IEEE 1588-2008, “IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems”, IEEE, 2008

2. IEEE C37.238-2011, “IEEE Standard Profile for Use of IEEE 1588 Precision Time Protocol in Power System Applications”, IEEE, 2011

3. IEC 61850 Ed.2, “Communication networks and systems in substations”, IEC

4. RFC 5905, “Network Time Protocol Version 4: Protocol and Algorithms Specification”, Internet Engineering Task Force (IETF), 2010

5. IRIG Standard 200-04, “IRIG Serial Time Code Formats.” Range Commanders Council, 2004

6. Baumgartner B, Riesch C, Rudigier M, “IEEE 1588/PTP: The Future of Time Synchronization in the Electric Power Industry”, PAC World Conference 2012, Budapest, Hungary, 2012

7. PRC-018-1, “Disturbance Monitoring Equipment Installation and Data Reporting” NERC, 2006

8. Dickson B,”Substation time Synchronisation” PAC World Magazine, Summer 2007 Issue, 2007

9. Weibel H, “Technology Update on IEEE 1588 - The Second Edition of the High Precision Clock Synchronization Protocol”, Embedded World 2009, Nürnberg, Germany, 2009

10. Antonova G, “Standard Profile for Use of IEEE Std 1588-2008 Precision Time Protocol (PTP) in Power System Applications”, PAC World Conference 2012, Budapest, Hungary, 2012

11. IEEE 802.1Q-2011, “Media Access Control (MAC) Bridges and Virtual Bridge Local Area Networks”, IEEE, 2011

12. Eidson J C, “Measurement, Control and Communication Using IEEE 1588.”, Springer-Verlag, London, 2006

13. Steinhauser F, Riesch C, Rudigier M: “IEEE 1588 for time synchronization of devices in the electric power industry”, ISPCS 2010; Portsmouth, NH, USA, 2010

14. IEC 62531-6, “Power systems management and associated information exchange -Data and communications security -Part 6: Security for IEC 61850”, IEC, 2012

Протокол NTP (Network Time Protocol)

Этот протокол сетевой синхронизации времени в настоящее время является самым популярным. NTP - это общий метод синхронизации аппаратных часов в локальных и глобальных сетях. Основная концепция протокола NTP была опубликована в 1988 году, в так называемой "версии 1" RFC. Практические аспекты использования этого протокола в сети интернет привели к появлению в 1989 году "версии 2". В настоящее время используется "версия 3" (Mills90) ntp-протокола, на основе рекомендации RFC-1305.

Способ работы протокола NTP несколько отличается от большинства других протоколов. NTP не синхронизирует все подключенные в сеть часы, он организует иерархию серверов времени и клиентов. Каждый уровень в этой иерархии называется stratum. Stratum-1 - это наивысший уровень. Сервер времени на этом уровне синхронизирует себя от внешнего опорного источника синхросигнала: радиосигналы, сигналы от спутниковых навигационных систем GPS/ГЛОНАСС, встроенный высокостабильный генератор и т.д. Далее сигнал синхронизации распространяется по сети нескольким клиентам, которые находятся на более низком уровне иерархии stratum-2.

Протокол NTP позволяет сравнивать локальное аппаратное время и производить подстройку часов. Точность синхронизации по протоколу NTP в среднем составляет 10 мс. Часто можно достичь точности около 0,2 мс.

Протокол IRIG

В 1956 году американской организации Inter Range Instrumentation Group (IRIG) было поручено провести стандартизацию форматов передачи временных кодов. Документ под номером 104-60 определил оригинальный формат протокола IRIG. В настоящее время последняя версия протокола IRIG соответствует стандарту 200-98.

Описание формата IRIG

Заголовок протокола IRIG состоит из одной буквы и трёх последующих цифр. Каждая буква или цифра отражает атрибут соответствующего IRIG-кода. Следующая таблица представляет стандартные типы форматов протокола IRIG в соответствии со стандартом 200-98:

IRIG A IRIG B IRIG D IRIG E IRIG G IRIG H
A000 B000 D001 E001 G001 H001
A003 B003 D002 E002 G002 H002
A130 B120 D111 E111 G141 H111
A132 B122 D112 E112 G142 H112
A133 B123 D121 E121 H121
D122 E122 H122

Форматы кодов составляются следующим образом:

первая буква:
Rate Designation
A
B
D
E
G
H
1000 PPS
100 PPS
1 PPM
10 PPS
10000 PPS
1 PPS
первая цифра:
Form Designation
0
1
DC Level Shift (DCLS), width coded, no carrier
Sine wave carrier, amplitude modulated
вторая цифра:
Carrier Resolution
0
1
2
3
4
No carrier(DCLS)
100 Hz / 10 millisecond resolution
1 kHz / 1 millisecond resolution
10 kHz / 100 microsecond resolution
100 kHz / 10 microsecond resolution
третья цифра:
Coded Expressions
0
1
2
3
BCD, CF, SBS
BCD, CF
BCD
BCD, SBS

принятые аббревиатуры:
BCD - Binary Coded Decimal, coding of time (HH,MM,SS,DDD)
SBS - Straight Binary Second of day (0....86400)
CF - Control Functions depending on the user application

Общая структура IRIG-кода:
(для увеличения щёлкните по рисунку)

Модулированные IRIG-коды

Модулированные IRIG-коды состоят из несущей частоты, которая модулируется кодом времени. Несущая частота определяется именем формата временного кода, как показано в предыдущей таблице.

Пример: B123

  • Вторая цифра показывает несущую частоту (2 -> 1кГц)
  • Несущий пакет соответствует немодулированному коду
  • Типовой коэффициент заполнения составляет 10:3 (может варьироваться в пределах от 10:3 до 10:6)

Также широко используется формат AFNOR NFS-87-500. Он не является разновидностью IRIG-кода, но очень на него похож.

Технологии передачи модулированных кодов:

  • коаксиальный кабель 50 Ом, либо нагруженный высокоомной нагрузкой (стандартный метод);
  • симметричная витая пара;
  • аналоговый оптический приемо-передатчик (используется редко).

Уровень сигнала IRIG-кода в стандарте IRIG 200-98 не определен.

Немодулированные IRIG-коды

  • описаны в стандарте IRIG 200-98
  • коды смещения уровня постоянного сигнала без использования несущей

Технологии передачи немодулированных кодов:

  • TTL-уровни через коаксиальный кабель, терминированный соответствующим образом
  • дифференциальный уровень RS422, витая пара
  • уровень RS232, экранированный кабель (только на короткие расстояния)
  • оптический кабель

Компания "Прайм Тайм" предлагает широкий перечнь серверов точного времени, использующих в работе протоколы NTP, IRIG и AFNOR. Более подробная информация об изделиях

Много статей написано про всем известный Network Time Protocol (NTP), в некоторых из них упоминается про Precision Time Protocol, который якобы позволяет добиться точности синхронизации времени порядка наносекунд (например, и ). Давайте разберемся, что этот протокол собой представляет и как достигается такая точность. А также посмотрим результаты моей работы с данным протоколом.

Введение
«Протокол точного времени» описан стандартом IEEE 1588 . Существует 2 версии стандарта. Первая версия вышла в 2002 году, затем стандарт был пересмотрен в 2008 и на свет вышел протокол PTPv2. Обратная совместимость не была сохранена.
Я работаю со второй версией протокола, в ней множество улучшений по сравнению с первой (точность, стабильность, как нам сообщает wiki). Не буду приводить сравнения с NTP, одно только упоминание о точности синхронизации, а точность PTP достигает действительно десятков наносекунд при «железной» поддержке, говорит о преимуществе перед NTP.
«Железная» поддержка протокола в разных устройствах может быть реализована по-разному. На самом деле минимум, требующийся для реализации PTP – умение «железки» проставлять таймштамп момента получения сообщения на порт. Проставленное время будет использовано для вычисления ошибки.
Почему часы расстраиваются?
Ошибки могут появиться отовсюду. Начнем с того, что генераторы частоты в устройствах разные и очень мала вероятность того, что два разных устройства будут работать идеально такт в такт. Тут же можно приписать постоянно меняющиеся условия окружающей среды, влияющие на генерируемую частоту.
Чего мы добиваемся?
Допустим, у нас есть устройство, работающее в идеальных условиях, какие-нибудь атомные часы, которые вообще не разойдутся до конца света (конечно же, до реального, а не предначертанного календарём Майя) и дана задача заполучить хотя бы примерно (с точностью до 10 -9 сек) такие же часы. Нам нужно эти часы синхронизировать. Для этого можно реализовать протокол PTP.
Разница чисто программной реализации и реализации с «железной поддержкой»
Чисто программная реализация не позволит добиться обещаемой точности. Время, прошедшее с момента получения сообщения (точнее получения сигнала на прием сообщения в устройстве) до перехода на точку входа в прерывание или на callback не может быть строго определенным. «Умные железки» с поддержкой PTP умеют проставлять эти таймштампы самостоятельно (например, чипы от Micrel , как раз для KSZ8463MLI я пишу драйвер).
Помимо таймштампов к «железной» поддержке также можно отнести умение настраивать кварцевый генератор (чтобы выровнять частоту с мастером), либо возможность подстройки часов (каждый такт увеличивать значение часов на X нс). Об этом ниже.
Перейдём к стандарту IEEE 1588
Стандарт описан аж на 289 страницах. Рассмотрим минимум, необходимый для реализации протокола. PTP является клиент-серверным протоколом синхронизации, т.е. для реализации протокола требуется как минимум 2 устройства. Итак, Master-устройство - атомные часы, а Slave устройство – часы, которые необходимо заставить работать точно.
Язык обмена
Announce message – сообщение анонса, содержит информацию, отправляемую мастером всем Slave устройствам. Slave устройство с помощью этого сообщения может выбрать лучшего мастера (для этого существует BMC (Best Master Clock)) алгоритм. BMC не так интересен. Этот алгоритм можно легко найти в стандарте. Выбор идет по таким полям сообщения как точность, дисперсия, класс, приоритет и т.п. Перейдём к другим сообщениям.

Sync/Follow Up, DelayResp, PDelayResp/PDelayFollowUp – отправляются мастером, ниже рассмотрим их поподробнее.

DelayReq, PDelayReq – запросы Slave устройств.

Как видим, Slave устройство не многословно, Master предоставляет всю практически всю информацию сам. Отправка осуществляется на Multicast (при желании можно использовать Unicast режим) адреса, строго определенные в стандарте. Для PDelay сообщений имеется отдельный адрес (01-80-C2-00-00-0E для Ethernet и 224.0.0.107 для UDP). Остальные сообщения отсылаются на 01-1B-19-00-00-00 или 224.0.1.129. Пакеты отличаются полями ClockIdentity (идентификатор часов) и SequenceId (идентификатор пакета).

Сеанс работы
Допустим, мастер был выбран с помощью алгоритма BMC, либо мастер в сети единственный. На картинке показана процедура общения главного устройства и синхронизируемого.

  1. Всё начинается с того, что Master отправляет сообщение Sync и одновременно записывает время отправки t1. Существует одно- и двухэтапные режимы работы. Отличить их очень легко: если присутствует сообщение FollowUp – то мы имеем дело с двухэтапной реализацией, пунктирной стрелкой показаны необязательные сообщения
  2. FollowUp сообщение отправляется вслед за Sync и содержит время t1. Если осуществляется передача в один этап, то Sync содержит t1 в теле сообщения. В любом случае t1 будет получено нашим устройством. В момент получения сообщения Sync на Slave генерируется таймпштамп t2. Таким образом мы получаем t1, t2
  3. Slave генерирует сообщение DelayReq одновременно с генерацией t3
  4. Master получает DelayReq сообщение, одновременно генерируя t4
  5. t4 отправляется Salve устройству в DelayResp сообщении


Сообщения в сети

С помощью такого сеанса обмена, который показан выше, можно добиться успеха только в случае, если кварц генерирует идеально одинаковые частоты для синхронизируемых устройств. На деле же получается что частота часов разная, т.е. на одном устройстве за 1 секунду значение часов увеличится на 1 секунду, а на другом, например, на 1.000001 секунду. Отсюда появляется расхождение часов.
В стандарте описан пример вычисления отношения времени, прошедшего на Master и на Slave за определенный интервал. Это отношение будет являться коэффициентом для частоты Slave устройства. Но при этом есть указание, что подстройка может осуществляться различными способами. Рассмотрим два из них:

  1. Изменить тактовую частоту Slave устройства (пример в стандарте)
  2. Не менять тактовую частоту, но за каждый такт длительностью T значение часов будет увеличиваться не на T, а на T+∆t (используется в моей реализации)
В обоих способах потребуется вычислить разницу в значениях времени на Master устройстве за определенный интервал, а также разницу во времени, за этот же интервал на Slave устройстве. Коэффициент в первом способе:


Для второго способа требуется вычисление ∆t. ∆t – величина, которая будет складываться со значением времени каждый определенный интервал. На рисунке можно заметить, что в то время как на мастере прошло 22 – 15 = 7 секунд, на Slave прошло 75+(87-75)/2 –(30+ (37-30)/2) = 47.5

Частота – частота процессора, например, 25МГц - цикл процессора длится 1/(25*10 6) = 40нс.
В зависимости от возможностей устройства выбирается наиболее подходящий способ.
Чтобы перейти к следующему разделу, выразим смещение немного по-другому:

Режимы работы PTP
Заглянув в стандарт, можно обнаружить не единственный способ вычисления времени доставки. Существуют 2 режима работы PTPv2. Это E2E (End-to-End) , он был рассмотрен выше, также описан режим P2P (Peer-to-Peer) . Давайте разберемся, где какой способ применять и в чем их различие.
В принципе можно использовать любой из режимов по желанию, но их нельзя совмещать в одной сети.
  • В режиме E2E время доставки вычисляется по сообщениям, пришедшим через множество устройств, каждый из которых проставляет в поле коррекции сообщения Sync либо FollowUP (если двухэтапная передача) время, на которое пакет задержался на этом устройстве (если устройства подключены напрямую, коррекция не проставляется, поэтому их детально рассматривать не будем). Используются сообщения: Sync/FollowUp, DelayReq/DelayResp
  • В режиме P2P в поле коррекции заносится не только время, на которое задержался пакет, к нему прибавляется (t2-t1) (можно почитать в стандарте). Используются сообщения Sync/FollowUp, PDelayReq/PDelayResp/PDelayRespFollowUp
Согласно стандарту, часы, сквозь которые PTP сообщения проходят с изменением поля коррекции, называются Transparent Clock (TC) . Посмотрим на рисунках, как передаются сообщения в этих двух режимах. Синими стрелочками указаны сообщения Sync и FollowUp .


Режим End-to-End


Режим Peer-to-Peer
Видим, что в P2P режиме появились какие-то красные стрелочки. Это оставшиеся сообщения, которые мы не рассмотрели, а именно PDelayReq , PDelayResp и PDelayFollowUp . Вот сеанс обмена этими сообщениями:

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

Что требуется фильтровать:

  1. Время доставки
  2. Смещение
В моем драйвере используется примерно такая же система фильтрации, как и в Linux демоне PTPd , исходники которого можно найти еще есть немного информации . Приведу лишь схему:


LP IIR (Infinite Impulse Response low-pass) фильтр (Фильтр с бесконечной импульсной характеристикой), описываемый формулой:

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


Я использовал фильтр Калмана, чтобы отфильтровать сильное дрожание подстройки из-за помех в сети, уж больно понравилась мне . А вообще, можно использовать любой фильтр, который нравится, главное чтобы сглаживал график. В PTPd , например, фильтрация попроще - вычисляется среднее от текущего и предыдущего значения. На графике можно посмотреть результаты работы фильтра Калмана в моем драйвере (показана ошибка подстройки, выражена в субнаносекундах на 25МГц чипе):


Переходим к регулированию подстройки, подстройка должна стремиться к константе, используется ПИ-регулятор. В PTPd регулируется смещения часов (настройка идёт по смещению), но я использую его для регулирования подстройки (особенность KSZ8463MLI). Видим, что контроллер настроен не идеально, но в моем случае такая регулировка достаточна:

Результат работы


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

Network Time Protocol — сетевой протокол для синхронизации внутренних часов компьютера с использованием сетей с переменной латентностью, основанных на коммутации пакетов.

Хотя традиционно NTP использует для своей работы протокол UDP, он также способен работать и поверх TCP. Система NTP чрезвычайно устойчива к изменениям латентности среды передачи.

Время, представляется в системе NTP 64-битным числом, состоящим из 32-битного счетчика секунд и 32-битного счетчика долей секунды, позволяя передавать время в диапазоне 2 32 секунд, с теоретической точностью 2 -32 секунды. Поскольку шкала времени в NTP повторяется каждые 2 32 секунды (136 лет), получатель должен хотя бы примерно знать текущее время (с точностью 68 лет). Также следует учитывать, что время отсчитывается с полуночи 1 января 1900 года, а не с 1970, поэтому из времени NTP нужно вычитать почти 70 лет (с учетом високосных лет), чтобы корректно совместить время с Windows или Unix-системами.

Как это работает

NTP-серверы работают в иерархической сети, каждый уровень иерархии называется ярусом (stratum). Ярус 0 представлен эталонными часами. За эталон берется сигнал GPS (Global Positioning System) или службы ACTS (Automated Computer Time Service). На нулевом ярусе NTP-серверы не работают.

NTP-серверы яруса 1 получают данные о времени от эталонных часов. NTP-серверы яруса 2 синхронизируются с серверами яруса 1. Всего может быть до 15 ярусов.

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

Иерархическая структура протокола NTP является отказоустойчивой и избыточной. Рассмотрим пример его работы. Два NTP-сервера яруса 2 синхронизируются с шестью различными серверами яруса 1, каждый — по независимому каналу. Внутренние узлы синхронизируются с внутренними NTP-серверами. Два NTP-сервера яруса 2 координируют время друг с другом. В случае отказа линии связи с сервером яруса 1 или с одним из серверов уровня 2 избыточный сервер уровня 2 берет на себя процесс синхронизации.

Аналогично узлы и устройства яруса 3 могут использовать любой из серверов яруса 2. Что еще более важно, так это то, что наличие избыточной сети серверов NTP гарантирует постоянную доступность серверов времени. Синхронизируясь с несколькими серверами точного времени, NTP использует данные всех источников, чтобы высчитать наиболее точное временя.

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

65 нанометров - следующая цель зеленоградского завода «Ангстрем-Т», которая будет стоить 300-350 миллионов евро. Заявку на получение льготного кредита под модернизацию технологий производства предприятие уже подало во Внешэкономбанк (ВЭБ), сообщили на этой неделе «Ведомости» со ссылкой на председателя совета директоров завода Леонида Реймана. Сейчас «Ангстрем-Т» готовится запустить линию производства микросхем с топологией 90нм. Выплаты по прошлому кредиту ВЭБа, на который она приобреталась, начнутся в середине 2017 года.

Пекин обвалил Уолл-стрит

Ключевые американские индексы отметили первые дни Нового года рекордным падением, миллиардер Джордж Сорос уже предупредил о том, что мир ждет повторение кризиса 2008 года.

Первый российский потребительский процесор Baikal-T1 ценой $60 запускают в массовое производство

Компания «Байкал Электроникс» в начале 2016 года обещает запустить в промышленное производство российский процессор Baikal-T1 стоимостью около $60. Устройства будут пользоваться спросом, если этот спрос создаст государство, говорят участники рынка.

МТС и Ericsson будут вместе разрабатывать и внедрять 5G в России

ПАО "Мобильные ТелеСистемы" и компания Ericsson заключили соглашения о сотрудничестве в области разработки и внедрения технологии 5G в России. В пилотных проектах, в том числе во время ЧМ-2018, МТС намерен протестировать разработки шведского вендора. В начале следующего года оператор начнет диалог с Минкомсвязи по вопросам сформирования технических требований к пятому поколению мобильной связи.

Сергей Чемезов: Ростех уже входит в десятку крупнейших машиностроительных корпораций мира

Глава Ростеха Сергей Чемезов в интервью РБК ответил на острые вопросы: о системе «Платон», проблемах и перспективах АВТОВАЗа, интересах Госкорпорации в фармбизнесе, рассказал о международном сотрудничестве в условиях санкционного давления, импортозамещении, реорганизации, стратегии развития и новых возможностях в сложное время.

Ростех "огражданивается" и покушается на лавры Samsung и General Electric

Набсовет Ростеха утвердил "Стратегию развития до 2025 года". Основные задачи – увеличить долю высокотехнологичной гражданской продукции и догнать General Electric и Samsung по ключевым финансовым показателям.