Например, Бобцов

АВТОМАТИЧЕСКАЯ КАЛИБРОВКА И СИНХРОНИЗАЦИЯ ВРЕМЕНИ ВО ВСТРАИВАЕМЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ

УДК 004.031.6
АВТОМАТИЧЕСКАЯ КАЛИБРОВКА И СИНХРОНИЗАЦИЯ ВРЕМЕНИ ВО ВСТРАИВАЕМЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМАХ
Д.Р. Ковязина
В статье рассматриваются два подхода, обеспечивающие воспроизведение точного астрономического времени во встраиваемых вычислительных системах (ВсС) малой временной точности – калибровка и синхронизация времени. В рамках первого подхода предлагается конкретное техническое решение, а в рамках второго подхода – метод синхронизации времени. Особое внимание уделяется автоматизации процедур коррекции времени в предложенных решениях. Ключевые слова: калибровка времени, синхронизация времени, встраиваемые системы.
Введение
Синхронизация времени во встраиваемых системах (ВсС) необходима для выполнения целевой функции – учета изменений параметров объекта управления, ведения журналов событий, выполнения действий по расписанию. В перечисленных примерах целью синхронизации времени является обеспечение точного астрономического времени в системе.
Современные ВсС можно поделить по временной точности на три сегмента (в скобках указаны типовые точностные показатели):

1. малая временная точность (~1 мин. – 1 с) – массовые системы телемеханики и телеуправления: системы управления наружным освещением (СУНО), автоматические системы контроля и учета электроэнергии (АСКУЭ), охранные системы;
2. средняя временная точность (~0,1– 0,001 с) – промышленная автоматика; 3. высокая временная точность (10-6–10-9 с) – навигационные системы, военные мет-
рологические системы, бортовые системы объективного контроля. С ростом точностных требований по времени, предъявляемых к системам, увели-
чивается их сложность, стоимость, ресурсоемкость, ужесточаются требования по обеспечению надежности и безопасности. Однако на сегодняшний день для ВсС высокой и средней временной точности существует много решений проблемы обеспечения точного времени – это и специализированные серверы времени с соблюдением атомных стандартов точности, и избыточность эталонных источников, и сложные алгоритмы калибровки и синхронизации времени. Данные решения просто неприемлемы для применения в ВсС малой временной точности (ВсС МВТ), так как являются дорогими, сложными или недоступными для широкого круга разработчиков, требуют высоких вычислительных мощностей от компонентов системы. Кроме того, к методам коррекции времени в ВсС МВТ предъявляются следующие требования: обеспечение необходимой стабильности времени, масштабируемость, пониженное энергопотребление. Таким образом, присутствует дефицит эффективных решений для сегмента дешевых ВсС, хотя такие системы бурно развиваются сегодня и проникают во многие сферы.
Данная статья посвящена исследованию названных проблем для ВсС малой временной точности и предложению приемлемых для данных систем решений по обеспечению точного астрономического времени.
Основные понятия
В современных ВсС одним из основных источников времени являются часы реального времени (Real–Time Clock, RTC). Так как часы реального времени являются физическим устройством, они испытывают на себе влияние физических факторов: кратковременные (помехи), умеренные по времени (колебания параметров окружающей среды, прежде всего температуры), долговременные (старение). Влияние этих факторов сказывается на главном счетном механизме – кварцевом генераторе, замедляя или ускоряя производимую им частоту. Поэтому важными параметрами кварцевого резонатора являются рабочий диапазон температур, отклонение частоты при нормальной температуре (статическая составляющая дрейфа), температурная стабильность (динамическая составляющая дрейфа), старение, нагрузочная емкость.
Чем выше требования к точности генерируемой частоты, тем сложнее будет устройство, тем тщательнее нужно относиться к перечисленным параметрам. Изменение любого параметра в лучшую сторону ведет к удорожанию часового устройства в принципе. Так, например, применение термокомпенсированного (Temperature Compensated Crystal Oscillator, TCXO) или термостатированного (Oven Controlled Crystal Oscillator, OCXO) кварцевого генератора заметно улучшает параметр температурной стабильности (в десятки и тысячи раз соответственно) по сравнению с обычным кварцевым генератором [1]. С другой стороны, такое улучшение способствует удорожанию примерно в те же разы стоимости кварцев. Поэтому часы реального времени, использующие обычные кварцевые генераторы, имеют механизмы программной калибровки показаний времени.
Корректность показаний часов определяется в результате сравнения их с источниками точного времени (опорные часы, эталонные часы). Под точным реальным временем обычно понимается всеобщее скоординированное время (UTC). Синхронизация

времени корректирует показания часов. Калибровка времени корректирует частоту хода часов, минимизируя статическую, а иногда и динамическую составляющую дрейфа часов, что в результате влияет на показания часов. Калибровка времени просто необходима для автономных ВсС, синхронизация времени характерна для распределенных ВсС. Однако для распределенных ВсС с ненадежным (нестабильным) каналом связи необходимы обе процедуры коррекции времени. Простой метод синхронизации времени заключается в обыкновенной передаче временной метки от одного узла распределенной ВсС к другому (от сервера точного времени к клиенту), сложный метод синхронизации выполняет дополнительную обработку этих временных меток согласно определенному алгоритму. Таким образом, для калибровки времени главным является выбор эталонного источника времени; для синхронизации времени – выбор алгоритма согласования с опорным источником. Кроме того, калибровка времени производится на этапе пуско-наладочных работ, а синхронизация времени – во время эксплуатации ВсС.
Процедура калибровки времени – определение погрешности частоты часов относительно эталонного источника времени и расчет калибровочного коэффициента. Сегодня производители часов реального времени предлагают использовать для калибровки тестовый сигнал частотой 512 Гц, который генерируется часами в специальном режиме работы. Такие устройства в большом количестве представлены на рынке (Dallas Semiconductor, STMicroelectronics). Таким образом, это дополнение дает возможность значительно уменьшить продолжительность процедуры калибровки времени (секунды, минуты), автоматизировать ее, повысить точность. В этом случае метод определения погрешности частоты часов заключается в измерении частоты тестового сигнала часов (512 Гц) по опорному источнику с эталонной частотой. В рамках описанного метода было разработано конкретное техническое решение, которое называется «устройство калибровки часов».

Устройство калибровки часов

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

Питание

ВсС
I2C

MC

Команды управления, калибровочный
коэффициент GPS_RTCR1

RS232

MC RS232

RTC
32768 Hz

512 Hz
+5 V GND

1 Hz
GPS
Светодиодные индикаторы

Рис. 1. Комплекс калибровки времени

На рис. 1 изображена структурная схема комплекса калибровки времени, в который входит калибруемый модуль ВсС и устройство калибровки часов (GPS_RTCR1). Как видно из схемы, чтобы использовать устройство калибровки часов, в модуле ВсС необходимо поддержать протокол связи по интерфейсу RS232, вывести тестовый сигнал 512 Гц RTC на внешний разъем, провести линии питания.
Вся вычислительная работа сосредоточена в устройстве калибровки часов и не требует участия человека. Устройство калибровки часов выполняет следующие функции: 1. расчет ошибки частоты 512 Гц RTC; 2. выявление неисправных часов; 3. расчет и запись калибровочного коэффициента RTC; 4. отслеживание пропадания сигнала 512 Гц и 1 Гц (GPS); 5. отображение этапов процедуры калибровки на светодиодах.
Точность времени (100 нс) и опорной частоты GPS объясняется тем, что приемник получает данные от нескольких атомных часов, которые находятся на спутниках; чаще всего встроенные часы приемника (термокомпенсированные или термостатированные) тоже обладают хорошей точностью и стабильностью работы [2].
Алгоритм работы устройства калибровки часов состоит из трех этапов: поиск GPS-спутников, измерение частоты тестового сигнала по эталонному и расчет калибровочного коэффициента. Связь с калибруемым модулем ВсС и запись в него калибровочного коэффициента находятся за пределами этого представления. Продолжительность процедуры калибровки составляет 2 мин. (второй этап), точность – 1 ppm (~2,6 с/месяц).
К достоинствам этого решения можно отнести простоту реализации и доступность, малую длительность процедуры калибровки. Существенным недостатком данного решения является ограниченная зона распространения радиосигнала. В результате неопределенность времени поиска GPS-спутников в начале процедуры калибровки делает неопределенной продолжительность всего процесса. Кроме того, при использовании GPS присутствует так называемая зависимость от другого государства (США). Практически во всех странах в настоящее время широко используется только GPS, нормальное функционирование которой целиком зависит от правительства США.
Как было отмечено ранее, калибровка времени выполняется на этапе производства ВсС единожды. Однако условия эксплуатации вносят свои отрицательные коррективы в работу часов реального времени. Поэтому на этапе эксплуатации распределенных ВсС требуется использовать методы синхронизации времени для обеспечения точного времени в системе.
Метод синхронизации времени
Условиями применения сложных методов синхронизации времени в распределенных ВсС МВТ являются:
− отсутствие внутреннего эталонного источника времени в узле; − длительная передача сообщения между сервером и клиентом, превышающая допус-
тимую погрешность;
− низкая точность внутреннего эталонного источника времени; − высокая стоимость использования внутреннего эталонного источника времени узла.
Метод синхронизации времени может преследовать две цели – уменьшение задержки передачи, чтобы она укладывалась в разрешенную погрешность, либо точное определение задержки передачи. Снятие неопределенности задержки расширяет область применения метода синхронизации. Эта цель и преследуется предлагаемым методом синхронизации времени.

Предлагаемый метод синхронизации основан на положениях теории вероятностей

и математической статистики. Сам алгоритм относится к виду синхронизации передат-

чик–приемник. Базовая концепция заимствована из протокола синхронизации времени

NTP (Network Time Protocol) [3]. Она хорошо изложена в литературе, но этого недоста-

точно для практического использования. Поэтому была предложена конкретная реали-

зация алгоритма, доработанная до метода, который может быть использован в распре-

деленных ВсС малой временной точности.

Узел-клиент, который нуждается в корректировке времени, обменивается сооб-

щениями с временными метками с узлом-сервером, имеющим эталонный источник

времени. T1 – время передачи сообщения клиентом, T2 – время приема сообщения сервером, T3 – время передачи сообщения сервером, T4 – время приема сообщения клиентом. Клиент получает сообщение с временными метками T1, T2, T3 и сам делает временную засечку T4, рассчитывает временной сдвиг Offset (O) своих часов относительно эталонных часов сервера по формуле

O

=

(T2

− T1 )

+ 2

(T3

− T4 )

.

(1)

По рассчитанному значению временного сдвига клиент корректирует свои часы.

Эта процедура повторяется некоторое количество раз для сбора статистики. Величина

временного сдвига (O) подчиняется закону нормального распределения [4]. Известно,

что это наиболее часто встречающийся на практике закон распределения.

В данном случае x (случайная величина) – временной сдвиг (Offset). На рис. 2

изображена кривая Гаусса с m = 1, σ = 0,25 (m – математическое ожидание, σ – среднее

квадратическое отклонение).

f(Offset)

1,6 1,4 1,2
1 0,8 0,6 0,4 0,2
0
0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2
Offset
Рис. 2. Кривая Гаусса, отражающая возможное распределение временного сдвига (Offset) локальных часов
Задача заключается в определении временного сдвига (O), т.е. его математического ожидания, с заданной точностью α. Весь вопрос состоит в том, что является ограничивающим фактором в процессе выполнения процедуры синхронизации (обмена временными метками между клиентом и сервером), т.е. как долго он продолжается. Можно было бы, грубо упрощая, считать, что этот процесс выполняется до тех пор, пока рассчитываемое среднее квадратическое отклонение σ не достигнет точности α (σ≤ α). Но это не соответствует действительности, так как мы имеем дело с вероятностными величинами.
На графике распределения вероятность попадания случайной величины x в интервал [a, b] – это площадь под кривой P (рис. 2). В данном случае известное «правило

трех сигма» для нормального закона можно интерпретировать так: если необходимо,

чтобы точность коррекции часов равнялась α для 99,7 % значений рассчитанных вре-

менных сдвигов (Offset), то α = 3σ. А это значит, что процедура синхронизации выпол-

нятся

до

того

момента,

пока

не

станет

σ



1 3

α

.

Таким

образом,

временной

сдвиг

m − α ≤ Offset ≤ m + α . Поэтому подготовительным этапом для реализации предложен-

ного алгоритма является составление таблицы множителей, на которые необходимо

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

мер, в описанном ранее примере множитель равен 1/3, а вероятность – 99,7 %. Такую

таблицу можно использовать на практике в любой системе, так как при создании таб-

лицы применялись значения функции Лапласа (вычисление квантилей функции нор-

мального распределения) и ничего специализированного под конкретную систему. Эта

информация может служить в качестве конфигурационных данных системы. К ограни-

чивающим факторам (требуемая вероятность и точность) следует добавить максималь-

ное количество сообщений с временными метками, необходимых для синхронизации.

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

обнаружения ошибки локальных часов в узле-клиенте и истечения периода синхрони-

зации. Величина периода выбирается с ориентацией на худший показатель дрейфа ча-

сов узла-клиента, т.е. таким образом, чтобы потеря точности в результате дрейфа не

превышала допустимой погрешности. Надежность в этом подходе обеспечивается мно-

гократностью выполнения операции обмена временными метками, а также предусмот-

ренными для используемого канала связи механизмами отказоустойчивости (например,

информационной избыточностью).

Гибкость и аппаратная независимость – достоинства предложенного метода. Кро-

ме того, вся обработка сосредоточена в узле-клиенте, сервер только предоставляет точ-

ные показания времени по запросу клиента. Метод построен на допущении, что время

передачи сообщения-запроса равно времени передачи сообщения-ответа. Недостатками

предложенного метода являются сложность, необходимость подготовительной работы

(составление таблицы множителей), возможная длительность выполнения в случае

медленного канала связи, что отражается на реактивности системы в целом.

Заключение

В статье предлагается конкретное техническое решение (устройство калибровки часов) и метод синхронизации времени, которые могут быть применены в ВсС малой временной точности. Оба решения могут быть автоматизированы.
Разработанное устройство калибровки часов было успешно использовано на этапе тестирования изделия ООО «ЛМТ» CSC–1.1/T – программируемого таймера для систем управления наружным освещением [5]. Длительность процедуры калибровки времени, использовавшейся до этого, составляла 1 неделю. Устройство калибровки часов помогло сократить эту величину до 2 мин., тем самым уменьшило в целом длительность производства изделия и повысило точность процедуры калибровки (~2,6 с/месяц).
Предложенный метод синхронизации времени требует дальнейших исследований, прежде всего, для выяснения его точностных характеристик. Достоинствами метода являются гибкость и аппаратная независимость. Изложенного в статье материала достаточно, чтобы применить этот метод в любой распределенной ВсС малой временной точности.

Литература

1. John R. Vig. Quartz Crystal Resonators and Oscillators. For Frequency Control and Timing Applications – а Tutorial // US Army Communications–Electronics Research, Development & Engineering Center Fort Monmouth, NJ, USA, 2004.
2. GPS Modules. System Integration Manual (SIM). Doc No GPS.G4–MS4–05007, 2006. 3. Mills D. L. Improved Algorithms for Synchronizing Computer Network Clocks // Electri-
cal Engineering Department, University of Delaware, 1994. 4. Elson J., Girod L., Estrin D. Fine–Grained Network Time Synchronization using Refer-
ence Broadcasts // Department of Computer Science, University of California, Los Angeles, 2002. 5. Научно–производственная фирма «ЛМТ» [Электронный ресурс]. – Режим доступа: http://lmt.ifmo.ru, своб.

Ковязина Динара Раисовна

– Санкт-Петербургский государственный университет информационных технологий, механики и оптики, аспирант, dinara_k@list.ru, dinara@d1.ifmo.ru