Прецизионные часы для автономных систем

УДК 531.761; 621.317.787.2

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

1 9 Я

© А.Г. Безрукин1, К.А. Григорьев2, А.Г. Ченский3

Иркутский государственный технический университет, 664074, Россия, г. Иркутск, ул. Лермонтова, 83.

Статья посвящена решению задачи обеспечения точным временем автономных систем сбора данных с низким энергопотреблением. Выполнен обзор и сравнение современных способов получения стабильной частоты и анализ их пригодности для автономных систем. Обоснована целесообразность использования для этих целей тер-мокомпенсированных кварцевых генераторов. Описаны методы и результаты измерений нестабильности часов реального времени DS3231 с целью деталировки технических характеристик в разных режимах работы. Рассмотрен вопрос синхронизации времени по UTC. Ил. 6. Табл. 4. Библиогр. 5 назв.

Ключевые слова: часы реального времени; автономные системы; измерение нестабильности; кварцевые генераторы.

PRECISION CLOCKS FOR STAND-ALONE SYSTEMS A.G. Bezrukin, K.A. Grigoryev, A.G. Chenski

Irkutsk State Technical University, 83 Lermontov St., Irkutsk, Russia, 664074.

The article deals with the problem of providing the low power consumption off-line data acquisition systems with correct time. The modern methods of obtaining stable frequency are reviewed and compared as well as analyzed for their applicability for stand-alone systems. The advisability to use for these purposes temperature compensated quartz oscillators is proved. The article describes the methods and the results of measuring DS3231 real time clock instability in order to specify technical characteristics in different operating modes. The problem of time synchronization by UTC is considered as well.

6 figures. 4 tables. 5 sources.

Key words: real time clock; stand-alone systems; instability measurement; quartz-crystal controlled oscillators.

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

• необходимость низкой потребляемой мощности (единицы мВт и меньше);

• максимально достижимая точность времени;

• отсутствие возможности синхронизации извне из-за экономии энергии и особенностей среды.

Точность хода часов реального времени зависит

от стабильности частоты тактового генератора. Относительная погрешность частоты (далее нестабильность) определяется выражением Af / f0, где Af - отклонение исходной частоты f0 за требуемый период времени. Нестабильность выражается безразмерной величиной, часто в виде количества частей от миллиона - ppm (parts per million). Так, при частоте 32768 Гц нестабильность 10-6 (1 ppm) означает возможность абсолютного ухода частоты за 1 секунду на 0.032768 Гц. Для часов нестабильность 1 ppm соответствует следующим отклонениям времени:

1 секунда 1 мкс;

1 час 3.6 мс;

1 сутки 86.4 мс;

1 месяц (31 сутки) 2.6784 с;

1 год (365 суток) 31.536 с.

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

1 Безрукин Андрей Геннадьевич, инженер-электроник кафедры радиоэлектроники и телекоммуникационных систем, магистр, тел.: 89500973553, e-mail: bezra2@mail.ru

Bezrukin Andrei, Electronics Engineer of the Department of Radio Electronics and Telecommunication Systems, Holder of Master's Degree, tel.: 89500973553, e-mail: bezra2@mail.ru

2Григорьев Кирилл Анатольевич, электроник отдела информационно-измерительных систем, магистр, тел.: 89643515291, email: gka_1986@mail.ru

Grigoryev Kirill, Electronics Engineer of the Department of Information Measuring Systems, Holder of Master's Degree, tel.: 89643515291, e-mail: gka_1986@mail.ru

3Ченский Александр Геннадьевич, кандидат физико-математических наук, заведующий кафедрой радиоэлектроники и телекоммуникационных систем, тел.: (3952) 405281, e-mail: zavmts@istu.edu

Chenski Alexander, Candidate of Physical and Mathematical sciences, Head of the Department of Radio Electronics and Telecommunication Systems, tel.: (3952) 405281, e-mail: zavmts@istu.edu

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

14 17

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

В 2011 году фирмой Symmetricom для коммерческого использования были представлены миниатюрные атомные часы CSAC SA.45s (Chip Scale Atomic Clock) стоимостью $1500. Данная модель имеет вес всего 35 г и выдает сигналы 10 МГц и 1 PPS (Pulse Per Second) с нестабильностью 5-10-11 при заявленной потребляемой мощности менее 120 мВт [4]. Но и такие энергозатраты могут быть недопустимы в системах, рассчитанных на месяцы автономной работы.

Наиболее распространенным решением является использование кварцевых резонаторов, нестабильность которых лежит в диапазоне 10-4... 10-6. Они дешевы и экономичны, но значительно уступают в стабильности атомным часам. Например, часто используемые в цифровой технике кварцевые резонаторы в корпусе HC-49U имеют заявленную долговременную нестабильность порядка ±510-6 при постоянной температуре +25°C. Однако проблема кварцевых резонаторов - в чувствительности к изменению температуры, и в переменных климатических условиях их нестабильность может достигать 100 ppm и более, что равносильно отклонению времени почти на 1 час за год.

На основе кварцевых резонаторов создаются более сложные системы для получения лучших показателей стабильности. К таким системам относятся тер-мокомпенсированные (TCXO) и термостатированные (OCXO) кварцевые генераторы, а также кварцевые генераторы, управляемые напряжением (VCXO).

В TCXO используются схемотехнические и программно-логические методы коррекции частоты в небольших пределах в зависимости от температуры. TCXO позволяют добиться нестабильности 10-6...10-7 при потребляемой мощности менее 30 мВт [1].

В термостатированных генераторах (OCXO) элементы электрической цепи частично или полностью помещены в термостат [2]. Это уменьшает показатели нестабильности до 10-8 у генераторов на основе резонаторов с внутренним термостатированием и до 10-10 у генераторов с двухступенчатым внешним термоста-тированием. Потребляемая мощность первых в пределах 0.3 Вт, вторых - до 5 Вт [1,3].

VCXO имеют аналоговый вход для перестройки частоты в небольших диапазонах (до 200 ppm) и используются, как правило, в системах с уже имеющимся более стабильным сигналом. Таким может являться квантовый дискриминатор в атомных часах или 1 PPS сигнал навигационных систем GPS/ГЛОНАСС в мобильных устройствах.

Помимо перечисленных существуют еще управляемые кодом генераторы (NCO - Numerically Controlled Oscillator), представляющие собой цифровую систему, которая, тактируясь от большей частоты, может работать как синтезатор. Обладая множеством преимуществ, они, однако, тоже требуют внешнего

более стабильного источника для коррекции частоты.

Для использования в автономных системах, где нет возможности периодически подстраивать время, наиболее подходящее решение - термокомпенсиро-ванные кварцевые генераторы. Есть класс устройств, содержащих управляемые по цифровому интерфейсу часы реального времени, работающие от встроенного TCXO. Одним из лучших таких решений является микросхема DS3231SN [5]. Эта модель содержит термо-компенсированный кварцевый генератор на 32768 Гц. Имеет выход INT/SQW, работающий как источник прямоугольных импульсов с программно выбираемыми частотами 1, 1024, 4096, 8192 Гц либо как выход прерывания по совпадению Alarm-регистров и текущего времени (функция «будильника»). Имеется встроенный температурный сенсор с точностью шкалы ±3°C и шагом 0,25°C, доступный через соответствующие регистры. Цифровая часть управляется микроконтроллером по интерфейсу I2C. Заявленные производителем характеристики [5]: нестабильность частоты: ±2 ppm (0...+40°C);

±3.5 ppm (-40...+85°C); потребляемый ток: не более 200 мкА (при

^ит=3.63В);

не более 575 мкА в режиме конвертирования температуры (при ^ит=3.63В).

Экспериментально была проверена нестабильность частоты встроенного генератора DS3231SN в разных режимах работы. В качестве эталонного сигнала использован 1 PPS сигнал от GSM модуля Trimble LASSEN IQ 46240-25 с точностью секундной метки ±50 нс относительно UTC. Оба используемых сигнала имеют прямоугольную форму и их измеренные параметры отражены в табл. 1.

Метод измерения нестабильности состоит в подсчете импульсов с выхода 32768 Гц в течение точного интервала времени, синхронизированного по 1 PPS сигналу, и обнаружении ошибки при сравнении с ожидаемым расчетным значением. Блок-схема установки изображена на рис. 1, а внешний вид оборудования с обозначением компонентов - на рис. 2.

Импульсы подсчитывались двумя способами. В первом используется микроконтроллер PIC24, на цифровые входы которого подаются используемые сигналы. Спады импульсов вызывают прерывания и программа микроконтроллера увеличивает значение переменных-счетчиков. Такой способ возможен, так как частота используемых сигналов невелика и затраты времени на работу программы счетчика укладываются в период измеряемого сигнала. Команда начала счета 32768 Гц импульсов подается с компьютера через COM-порт с указанием длительности измерения (количества посчитанных секундных интервалов). Недостатком данного метода является отсутствие воз-

Таблица 1

Параметры используемых сигналов

Сигнал Период Импульса, мкс Афронт, нс ^спад, нс

1 PPS 1 с ±50 нс 80 30 34

32768 Гц 30.517 мкс 8,5 700 70

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

Рис.1. Блок-схема измерительной установки нестабильности частоты

Рис.2. Внешний вид оборудования для измерения нестабильности: 1 - контроллер NI cRIO; 2 - микроконтроллерная система на PIC24; 3 - часы DS3231SN;

4 - GPS модуль Trimble; 5 - антенна GPS модуля; 6 - кабель данных и питания для платы с часами; 7 - COM кабель к ПК для управления микроконтроллером настройки часов; 8 - COM кабель к ПК для управления cRIO и считывания результатов измерений

Рис.3. Интерфейс программы счетчика в LabVIEW

Второй способ - использование контроллера CompactRIO от National Instruments. Программа-счетчик реализована на базе шасси cRIO-9101 ПЛИС FPGA под управлением контроллера реального времени cRIO-9012 и с использованием модуля цифрового ввода-вывода cRIO-9401. В отличие от микроконтроллера, счетчики на ПЛИС работают параллельно во времени. Сделано управление через COM-порт терминал и интерфейс в среде LabVIEW (рис. 3). В обоих случаях возможно получение уже посчитанных на любой момент времени результатов по желанию пользователя без опасения нарушения процесса счета. Вместе с выводом на компьютер данные сохраняются в файл на внутреннюю память cRIO, доступ к которой возможен через FTP. Результаты счета сохраняются через равные интервалы времени, заданные пользователем. Благодаря этому возможно определить, в каком из интервалов произошли сильные отклонения значений из-за описанных выше причин ошибок и просто исключить эти интервалы при интерпретации конечных результатов.

В табл. 2 представлены результаты измерений нестабильности часов DS3231 обоими способами.

Проведено тестирование работы будильника и его точности. Микроконтроллерная программа управления часами устанавливает время срабатывания. При совпадении регистров будильника и текущего времени DS3231 устанавливает на выходе прерывания INT низкий уровень и флаг A1IF в соответствующем регистре. После этого считывается расписание, к нему прибавляется длительность периода для следующего срабатывания, регистры записываются в часы. Флаг A1IF очищается, возвращая выход INT в высокий уровень.

Измерение нестабильности часов

Таблица 2

№ п/п Температура

Счетчик на основе микроконтроллера

1 +26 3600 117964800 117964856 +56 +0.474 +14.95

2 +3...+7 1800 58982400 58982435 +35 +0.593 +18.70

3 +26 3600 117964800 117964868 +68 +0.576 +18.16

4 -25 3600 117964800 117964841 +41 +0.347 +10.94

5 -25 ^ +25 1800 58982400 58982491 +91 +1.540 +48.57

6 +27 8093 265191424 265191580 +156 +0.588 +18.54

7 +26 59729 1957199872 1957199607 -265 -0.135 +4.26

Счетчик на основе NI CompactRIO

1 +26 63000 2064384000 2064385062 +1062 +0.514 +16.21

2 +26 154800 5072486400 5072489139 +2739 +0.540 +17.03

Рис.4. Измерение периода срабатывания будильника

Для определения точности срабатывания будильника измеряется время между двумя прерываниями на линии INT, изображенной на рис. 4 в инвертированном виде. По линии PPS идут импульсы от GPS модуля с периодом 1 секунда. Способ измерения времени заключается в счете целого количества секунд по PPS (N), вычислении оставшихся долей секунды от прерывания до первого PPS импульса в начале периода (ATH) и от PPS до прерывания в конце периода (ATk). Система подсчета выполнена на ПЛИС Com-pactRIO. Доли секунды вычисляются счетчиком на основе внутреннего кварцевого резонатора контроллера, который имеет частоту 40 МГц и заявленную максимальную нестабильность ±100 ppm. Путем измерения этой тактовой частоты за точный секундный интервал было установлено, что за одну секунду уход времени составляет порядка +12 мкс. Таким образом, +12 мкс - погрешность, вносимая при измерении долей только одной секунды на всем интервале, т.е. чем больше период будильника, тем меньше эта погрешность повлияет на общий результат.

Проведено два эксперимента с измерениями периода срабатывания будильника 5 и 10 минут (табл. 3). Исходя из полученных результатов можно оценить погрешность, вносимую кварцевым резонатором контроллера: 12 мкс / 310 мкс = 4% для периода 5 минут и 12 мкс / 618 мкс = 2% для периода 10 минут. Такие значения в данном случае несущественны, так как уход времени из-за нестабильности самих часов на таком интервале перекрывает вносимую контроллером погрешность. С учетом этого, полученная нестабильность порядка 10-6 соответствует заявленной и подтверждает корректную работу будильника.

Измерение периодов срабатывания будильника

температуры с внутреннего термодатчика (рис. 5). По полученным результатам можно сделать вывод, что система термокомпенсации справляется со своей задачей, так как явной зависимости изменения стабильности часов от естественного изменения температуры выявить не удалось. Далее рассмотрен случай более резкого изменения температуры (рис.6). Устройство перемещалось из одних условий в другие, но на графике переход сглажен из-за собственной теплоёмкости компонентов. В данном эксперименте импульсы 32768 Гц считывались и сохранялись каждые 192 секунды, а температура считывалась каждые 64 секунды (ровно каждый период внутреннего преобразования температуры в часах). По полученным результатам видно, что резкое изменение температуры оказывает большее влияние на стабильность. Если эти изменения температуры редки (например, при первой установке системы в месте мониторинга), то вносимая погрешность будет незначительна. Но если такие условия будут преобладающими в эксплуатации, то нестабильность ухудшится до 5-6 ppm (до 3 минут в год). На основании проведенных измерений можно сделать вывод, что при постоянной комнатной температуре и реализации оптимальной программы обращения к регистрам данная модель обеспечивает нестабильность в диапазоне 0.5...1.5-10"6, что соответствует годовому уходу времени от 15 до 50 секунд. В естественных условиях с колебанием температуры в большем диапазоне (в том числе ниже нуля) нестабильность повышается до значений 2. 310-6. Эти результаты соответствуют заявленным характеристикам по технической документации к DS3231.

Замечено, что частое обращение к регистрам микросхемы по шине ^ отрицательно влияет на стабильность генератора (табл. 4). В течение 30 минут считывались импульсы с выхода 32768 Гц, при этом с указанными интервалами производилось последовательное считывание всех 19 регистров устройства при скорости шины равной 100 кбит/с. Видно, что чем чаще считываются данные, тем хуже показатели стабильности. Данное явление следует учитывать при разработке алгоритма обращения к часам. В первую очередь нужно добиться, чтобы операции чтения/записи выполнялись по возможности редко и только к необходимым для работы системы реги-

Таблица3

Период будильника Кол-во периодов Общее время Мин. уход Макс. уход Средний уход Средняя нестабильность

5 минут 182 15ч 10мин +288.4 мкс +334.8 мкс +310.2 мкс +1.034 10-6

10 минут 100 16ч 40мин +588.9 мкс +649.9 мкс +618.8 мкс +1.03110-6

В ходе следующего эксперимента была измерена нестабильность при естественном суточном изменении температуры окружающей среды. Устройство находилось в уличных условиях в течение более 17 часов. Каждые 10 минут фиксировалось значение счетчика тактовых импульсов генератора часов и каждые 2 минуты с микросхемы считывалось значение

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

Рис.5. Показания нестабильности при естественном изменении температуры

15:39 15:50 15:00 16:11 16:22 16:32

Рис.6. Показания нестабильности при быстром изменении температуры среды

Влияние чтения регистров по шине ?0 на нестабильность часов

Таблица 4

Частота обращений к регистрам Количество отсчетов Уход

Без обращений 58982485 +85 +1.44 +45.41

1 раз в 10 секунд 58997725 +449 +7.61 +240

1 раз в секунду 58986139 +3739 +63.4 +2000

4 раза в секунду 58982849 +15325 +260 +8200

Примечание: время испытания - 30 мин, расчетное кол-во отсчетов - 58982400.

При первой подаче питания требуется настройка текущего времени и даты. Для получения реального времени необходима синхронизация по всемирному времени (UTC). Фронт секундных отсчетов можно синхронизировать по 1 PPS импульсам с GPS модуля, а численное значение времени получить из навигационных данных того же модуля или с помощью компьютера, синхронизированного по Интернет. Точность синхронизации через NTP сервер составляет до 10 мс. В DS3231 отсчет времени в регистрах начинается с момента записи байта в регистр секунд. Как показали проведенные измерения, точность синхронизации та-

ким способом составляет -160. +80 мкс. Здесь следует учесть, что при нестабильности самих часов ±2 ppm собственный уход времени может составлять до 2 мкс в секунду, поэтому добиваться большей точности синхронизации нет необходимости.

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

месяцы работы не критичен. Рассмотренная микросхема для подобных случаев будет удачным решением, включающим в себя цифровую систему хранения времени и оповещения по расписанию.

Работа проводилась при финансовой поддержке Министерства образования и науки Российской Федерации (государственный контракт № 16.525.11.5013).

Библиографический список

1. Каталог продукции ОАО «Морион», 01/2012 [Электронный ресурс]. URL:

http://www.morion.com.ru/full_catalog/Morion_catalogue_rus_01 _2012.pdf (дата обращения 15.11.2012).

2. Альтшуллер Г.Б., Елфимов Н.Н., Шакулин В.Г. Кварцевые генераторы: справ. пособие // М.: Радио и связь, 1984. С.13.

3. Георгий Кон. Технологии стабилизации частоты Rakon: от истоков телекома к вершинам радионавигации // Электронные компоненты. 2008. №11.

4. CSAC - SA.45s - Chip Scale Atomic Clock - Symmetricom [Электронный ресурс]. URL: http://www.symmetricom.com/products/frequency-references/chip-scale-atomic-clock-csac/SA.45s-CSAC/ (дата обращения 19.11.2012).

5. DS3231. Extremely Accurate I2C-Integrated RTC/TCXO/Crystal, Rev 8, 07/2010 [Электронный ресурс]. URL: http://datasheets.maxim-ic.com/en/ds/DS3231 .pdf (дата обращения 19.11.2012).