Прикладной процесс local_clock()
немедленно прекращается, если сдвиг превышает критическое пороговое значение сдвига PANICT
(1000 сек). Функция перехода из одного состояния в другое реализуется с помощью прикладного процесса rstclock()
(рис.25). В представленной на рис.25 таблице имеются четыре колонки, в которых указываются наименование состояния, переход и процедуры, если сдвиг θ
меньше, чем значение STEP
, переход и процедуры, если сдвиг θ
больше, чем значение STEP
, и соответствующие комментарии и пояснения.
В данной таблице переход в другое состояние обозначен стрелкой ("⇒"), после чего приводятся последующие процедуры. Процедуры, такие как корректировка времени и корректировка частоты реализуются с помощью СУОС ФАПЧ/ЧАПЧ в течении прикладного процесса local_clock()
. Процедура ускоренной (пошаговой) корректировки времени реализуется напрямую, то есть с помощью непосредственного управляющего воздействия на часы, но такая корректировка осуществляется только тогда, когда сдвиг не превышает значение WATCH
(900 сек) и больше, чем пошаговое значение сдвига STEP
(0,125 сек). Такая процедура защищает нормальное функционирование часов в условиях экстремальной перегрузки сети.
Статистические переменные джиттер (ψ
) и отклонение (ω
) и вычисляются с помощью экспоненциального усреднения и весового коэффициента AVG
. Экспоненциальная временнáя константа (τ
) определяется путём сравнения значения ψ
с величиной текущего сдвига θ
. Если сдвиг в PGATE
(4) раз больше, чем джиттер часов, то тогда значение счётчика запаздывания фазы hyster
уменьшается на два, в противном случае — увеличивается на единицу. Если значение счётчика hyster
достигло верхнего предела LIMIT
(30), то тогда значение τ
увеличивается на единицу. Если же значение счётчика hyster
достигло нижнего предела -LIMIT
(-30), то тогда значение τ
уменьшается на единицу. Обычно значение τ
колеблется около значения параметра MAXPOLL
, но быстро уменьшается, если температурный всплеск вызвал большие колебания значения частоты.
Состояние | θ > STEP | θ < STEP | Примечания |
---|---|---|---|
NSET | ⇒ FREQ корректировка времени |
⇒ FREQ пошаговая (ускоренная) корректировка времени |
Отсутствует файл со значением частоты |
FSET | ⇒ SYNC корректировка времени |
⇒ SYNC пошаговая (ускоренная) корректировка времени |
Наличие файла созначением частоты |
SPIK | ⇒ SYNC корректировка частоты корректировка времени |
if < 900 сек ⇒ SPIK else ⇒ SYNC пошаговая (ускоренная) корректировка частоты пошаговая (ускоренная) корректировка времени |
«Выбраковка» претендента |
FREQ | if < 900 сек ⇒ FREQ else ⇒ SYNC пошаговая (ускоренная) корректировка частоты корректировка времени |
if < 900 сек ⇒ FREQ else ⇒ SYNC пошаговая (ускоренная) корректировка частоты корректировка времени |
Начальная частота |
SYNC | ⇒ SYNC корректировка частоты корректировка времени |
if < 900 сек ⇒ SPIK else ⇒ SYNC пошаговая (ускоренная) корректировка частоты пошаговая (ускоренная) корректировка времени |
Нормальная процедура |
Рис.25. Таблица переходов из одного состояния в другое |