Н. Ракович
Что может быть проще времени?
То, что время - одна из двух основных форм существования материи, известно ещё со школы. Однако нас интересует сейчас не философское понятие, а проблема измерения времени.
Существует множество средств измерения времени, начиная с песочных часов и заканчивая часами атомными. Но у песочных часов невысокая точность и неудобный интерфейс, а атомные часы слишком громоздки, да и стоят дорого. Теперь к ним добавляются и часы в таблетках iButton.
Существует множество средств измерения времени, начиная с песочных часов и заканчивая часами атомными. Но у песочных часов невысокая точность и неудобный интерфейс, а атомные часы слишком громоздки, да и стоят дорого. Поэтому для тех, кому необходима точность и надёжность, небольшие габариты и долговечность, Dallas Semiconductor выпускает приборы DS1994 и DS1904.
Оба прибора выполнены в корпусе microCAN (серия iButton) из нержавеющей стали диаметром 16,3 мм и толщиной 5,9 мм, что обеспечивает небольшие размеры и долговечность использования. Каждый прибор имеет уникальный 64-разрядный идентификационный номер. Как и все приборы iButton, электронные часы в microCAN имеют встроенный сетевой контроллер, позволяющий применять их в однопроводной сети microLAN с одним ведомым и несколькими ведущими. Точность этих часов составляет ±2 мин/месяц, гарантированный срок хранения данных - 10 лет. Не станем концентрироваться на общих характеристиках серии iButton и возможностях microLAN, подробно описанных на www.rtcs.ru, а сосредоточимся на описании функциональных возможностей приборов.
Память
Встроенная энергонезависимая память является визитной карточкой часов Dallas Semi. Внутреннее ОЗУ DS1994 объёмом 4096 бит организовано в виде страниц (от нулевой до пятнадцатой) по 256 бит каждая. Содержимое памяти может быть прочитано с любого байта любой страницы. Кроме оперативной памяти, прибор содержит область блокнотной памяти объёмом 256 бит, которая является буфером при записи данных в ОЗУ. Данные записываются в блокнотную память и, после проверки по команде копирования, заносятся в оперативную память. Шестнадцатая страница объёмом 30 байт содержит регистры измерения времени.
Встроенный в микросхему литиевый источник питания позволяет сохранять данные в ОЗУ в течение 10 лет. ПЗУ и интерфейс могут питаться как от литиевой батареи, так и от шины данных (так называемое "паразитное питание"). Это обеспечивает доступ к постоянной памяти даже при полном истощении внутреннего источника, а также позволяет экономить энергию этого источника при напряжении питания на шине данных свыше 3 В.
Часы реального времени DS1994 с 4096-бит памятью
Отличительной особенностью часов прибора DS1994 является способ представления времени. Сами часы выполнены как двоичный счётчик с разрешением 1/256 с. Минуты, часы, дни и годы вычисляются из числа секунд, прошедших от условно выбранной даты. Это позволяет значительно упростить вычисление временных интервалов между различными событиями. Интервальный таймер может использоваться как секундомер или для контроля интервалов времени работы оборудования, так как в его состав входит схема генерации прерываний. Часы реального времени совместно с сигнальным регистром можно использовать для организации доступа по времени, например, для ограничения доступа персонала в помещение на определённое время. Сочетание возможности установки защиты от записи в счётчик времени с сигнальными регистрами позволяет превратить DS1994 в необнуляемый контроллер окончания срока действия.
Измерение времени
Для измерения времени в качестве задающего генератора используется кварцевый резонатор частотой 32,768 кГц (рис. 1). Генератор может быть включен или выключен при помощи бита включения в регистре управления. Для запуска часов реального времени, интервального таймера и счётчика циклов генератор должен быть включен. Чтобы сохранить данные в процессе считывания мастером при измерении времени используется двойная буферизация. Для этого копия данных счётчика передаётся в регистры временного хранения информации, доступные пользователю, и это происходит после восьмого бита команды чтения функций памяти.
Рисунок 1.
Часы реального времени
Часы реального времени реализованы в виде 5-байт двоичного счётчика. Его содержимое наращивается 256 раз в секунду. Отсчет долей секунд выполняется младшим байтом. Четыре старших байта являются счётчиком секунд. Максимальное значение времени в секундах, которое могут содержать часы реального времени перед переполнением, равно 136 годам. Время/дата представлены числом секунд, прошедших от начала отсчёта, который определяется пользователем. Началом отсчёта, к примеру, может быть время и дата вашего рождения.
Интервальный таймер
Интервальный таймер выполнен аналогично часам реального времени в виде 5-байт двоичного счётчика. При включении его содержимое наращивается 256 раз в секунду, младший байт показывает отсчёт долей секунд, старшие - секунды. Максимальное значение времени в секундах перед переполнением - 136 лет. Интервальный таймер имеет два режима работы, которые выбираются при помощи бита AUTO/MAN в регистре управления (см. ниже). В автоматическом режиме интервальный таймер начинает отсчёт после перехода линии данных на высокий уровень на время, которое определяется битом DSEL в регистре управления. Аналогично, после перехода линии данных на низкий уровень на время, определяемое битом DSEL, интервальный таймер останавливает отсчёт. В ручном режиме включением/выключением таймера управляет бит STOP/START в регистре управления.
Счетчик циклов
Счётчик циклов выполнен как 4-байт двоичный счётчик. Его значение возрастает после спада на линии данных при выполнении соответствующих временных соотношений на линии данных. Эти временные соотношения выбираются при помощи бита DSEL в регистре управления.
Сигнальные регистры
Для расширения возможностей в DS1994 введены сигнальные регистры для часов реального времени, интервального таймера и счётчика циклов, работа которых везде одинакова. Когда значение конкретного счётчика (часы, интервальный таймер, счётчик циклов) совпадает со значением в его сигнальном регистре, в соответствующий бит регистра состояния устанавливается флаг. Если в регистре состояния установлен бит включения прерывания, то прерывание генерируется. Если счётчик и связанный с ним сигнальный регистр имеют защиту от записи, то когда происходит срабатывание сигнального таймера, доступ к прибору ограничивается.
Регистр управления
Регистр управления показан в таблице с соответствующим названием:
Регистр управления
Защита от записи/программируемое истечение срока
Чтобы защитить от записи данные измерения времени и ограничить доступ к DS1994 при срабатывании сигнального таймера (программируемое истечение срока), в состав прибора входят биты защиты от записи (WPR, WPI, WPC). Особенностью этих битов является то, что они не могут быть записаны путём выполнения одной команды копирования блокнотной памяти. Для записи этих битов команда копирования блокнотной памяти должна быть выполнена 3 раза. Следует заметить, что бит AA будет установлен после успешного выполнения первой команды копирования. Поэтому в коде авторизации для второй и третьей команды копирования этот бит тоже должен быть установлен. Для проверки кодограммы авторизации может быть использована команда чтения блокнотной памяти.
Однажды установленные, биты защиты от записи обеспечивают постоянную защиту от записи соответствующих регистров счётчиков и сигнальных таймеров, всех битов защиты от записи, а также определённых битов регистра управления. При этом регистры времени/счётчиков продолжают отсчёт, если генератор находится во включенном состоянии. Если пользователь хочет установить более одного бита защиты от записи, то он должен устанавливать их одновременно. Установленный бит защиты от записи не может быть снят, и остальные биты защиты, если они не были установлены вместе с ним, уже не могут быть установлены.
Программируемое истечение срока наступает, если установлен один или более битов защиты от записи и происходит срабатывание соответствующего сигнального таймера. При установке бита RO (только для чтения) в 1 доступными являются только команды функций чтения блокнотной памяти и чтения памяти. Если же бит RO равен логическому 0, то команды функций памяти недоступны. Функции ПЗУ доступны всегда.
Система на основе шины 1-Wire
При работе на шине 1-Wire, в которой имеется один мастер шины и одно или несколько ведомых устройств, в большинстве случаев DS1994 является ведомым прибором. Исключение составляют случаи, когда DS1994 генерирует прерывание в результате срабатывания сигнального таймера схемы измерения времени.
Что мы имеем?
Хронометрические возможности, такие как часы реального времени / календарь, измеритель временных интервалов и программируемые источники прерывания, позволяют ограничить доступ к энергонезависимой памяти. Внутренние часы могут быть запрограммированы на отказ в доступе к памяти при наступлении определённого времени или даты, по истечении срока службы или после определённого числа обращений. Эти характеристики позволяют использовать DS1994 в качестве секундомеров, будильников, штампа времени и даты, электросчётчиков, календарей, системных таймеров, счётчиков времени и планировщиков задач. Прибор может применяться для контроля передвижения грузового транспорта и путешественников, управления доступом и хранения градуировочных констант. Дополнительные возможности применения на открытом воздухе в качестве автономных часов/меток времени/счётчика и пр. возникают за счёт прочного защищённого стального корпуса и возможности работы в однопроводной сети microLAN.
Если для создаваемого приложения энергонезависимая память прибора DS1994 является избыточной, можно воспользоваться прибором DS1904. Он не имеет памяти, но обладает более высокой точностью хода - 1 секунда. В остальном прибор полностью аналогичен DS1994.
|