В 1991 году фирма Dallas Semiconductor выпустила первые электронные ключи-идентификаторы серии DS199x. Изначально для них был зарегистрирован товарный знак "Touch Memory", который точно отражал главные характеристики этих устройств. Слово Touch переводится как "прикосновение", а Memory — "память". На самом деле все ключи, напоминающие по внешнему виду металлические дисковые батарейки, обязательно содержат внутри микросхему ПЗУ с уникальным для каждого прибора 48-битным двоичным кодом (идентификационным номером), который считывается при соприкосновении металлического корпуса ключа с металлическим зондом-считывателем.
Электронный ключ от Dallas быстро завоевал популярность у пользователей, что привело к появлению новых моделей. Последняя версия серии — DS1954 — оснащена внутри специализированным микропроцессором для шифрования данных, также был разработан идентификатор с встроенным термопреобразователем. В планах компании — интеграция иных схем в стандартный металлический корпус, разработанный Dallas Semiconductor. В связи с этим, с начала 1997 года фирма объявила о переименовании всех своих идентификационных ключей в iButton (Information Button — "таблетка с информацией"), что лучше отражает широкий ассортимент изделий настоящего и будущего.
Внешний облик электронного ключа iButton
Все электронные идентификаторы iButton визуально напоминают металлическую дисковую батарейку.
Корпус изготовлен из нержавеющей стали. Диаметр диска составляет примерно 17 мм, а толщина варьируется между 3,1 мм и 5,89 мм. Диск состоит из двух электрически изолированных половин.
Внутри диск полый. В герметично запаянной полости размещена электронная схема на кремниевом кристалле. Выводы схемы соединены с половинками диска при помощи двух проводников. Эти половинки образуют контактную часть однопроводного последовательного интерфейса. Для обмена данными между iButton и внешним устройством необходимо, чтобы обе поверхности металлических половинок диска одновременно соприкасались с контактным устройством (зондом), которое также состоит из двух электрически изолированных проводящих элементов.
В качестве материала для контактов зонда обычно применяются нержавеющая сталь или медный сплав с нанесённым защитным токопроводящим покрытием. Процесс касания к зонду иллюстрируется на Рисунке 2.
Большая площадь контактных поверхностей способствует устойчивости соединения, снижая влияние неточного совмещения, вызванного "человеческим фактором" или автоматизированным касанием, когда идентификатор и зонд находятся на различных движущихся механизмах. Кроме того, дисковая форма корпуса направляет и очищает контакты, обеспечивая надёжное соединение, а закруглённые края корпуса способствуют лёгкому совмещению с зондом.
Области применения
Устройства семейства iButton предназначены для различных отраслей и задач в зависимости от их конкретного типа. Наиболее широко они используются в качестве:
· Идентификационных карт персонала для систем контроля доступа в здания и отдельные помещения. Особую популярность iButton получили в условиях повышенного воздействия внешней среды и сложных условий эксплуатации, где традиционные карточки или считывающие устройства быстро выходят из строя. В зависимости от требований к уровню защиты объекта применяются разные модели iButton. Например, для доступа в подъезды жилых домов, где требования к системам контроля доступа менее строгие, обычно используют недорогие модели DS1990, стоимостью около 4 долларов. Такие ключи часто интегрируют с домофонными системами, управляющими электромагнитными замками дверей. Благодаря низкой цене считывающих устройств (около 25 долларов), монтажники получают экономически выгодные решения с высокой надежностью и устойчивостью к внешним воздействиям. Жильцам выдаются iButton DS1990, закрепленные на пластиковых брелоках, которые удобно носить вместе с обычными ключами. Эти устройства устойчивы к падениям на твердые поверхности, воздействию воды, льда (рабочая температура до –40°С), кислот, масел, бензина и электромагнитных полей. Корпус рассчитан на миллион касаний к зонду, а металлический зонд выдерживает высокие эксплуатационные нагрузки входных дверей.
· Широкое применение iButton нашли и в системах контроля доступа в офисные и промышленные помещения.
· Для повышения уровня безопасности используются модели с защищённой паролем энергонезависимой памятью, а также новейшие iButton DS1954, оснащённые микропроцессором с функцией шифрования, 1024-битным ключом, энергонезависимой памятью и встроенными часами-календарём. Такие устройства обеспечивают высокий уровень защиты информации и применяются в банках и на предприятиях с повышенными требованиями к безопасности.
· Идентификационные метки для оборудования и аппаратуры. Специальные крепления позволяют фиксировать iButton на платах или внутри корпусов. Уникальный серийный номер служит для идентификации и защиты от подделок. Модели с энергонезависимой памятью могут хранить параметры эксплуатации, гарантийные обязательства и другую служебную информацию.
· Аппаратные ключи для защиты программного обеспечения. В таких системах программа содержит встроенную процедуру обращения к уникальному номеру или энергонезависимой памяти iButton через один из портов компьютера. Идентификатор закрепляется в специальном адаптере. Владелец программы распределяет защитные метки, связанные с конкретными номерами или содержимым памяти iButton. При несоответствии проверяемых данных программа блокируется.
Описание протокола iButton
Передача данных по протоколу iButton Standards осуществляется в дискретных временных интервалах — временных сегментах длительностью около 60 мкс, с использованием коротких и длинных импульсов, напоминающих азбуку Морзе. Инициатором обмена всегда выступает считывающее устройство (ведущий). При контакте с зондом iButton выдает ответный сигнал, включающий код семейства, 48-битный серийный номер и код контроля.
Логические единицы и нули кодируются длинными или короткими активными состояниями логического нуля в пределах временных сегментов. Ведущий запускает передачу каждого бита.
iButton может работать как на чтение, так и на запись данных в энергонезависимую память. Для записи логической единицы в течение сегмента линия должна вернуться в состояние логической 1 к моменту выборки, для записи нуля — оставаться в состоянии логического 0 на протяжении всего временного окна.
Синхронизация сегмента осуществляется отрицательным фронтом сигнала, формируемым ведущим, при этом длительность логического нуля должна быть не менее 1 мкс.
При чтении оптимальный момент выборки данных приходится на 8 мкс после начала сегмента.
Ведущий подает логический 0 на время синхронизации (не менее 1 мкс), затем переходит в режим приема. В течение времени выборки состояние линии определяется iButton. После начала сегмента линия удерживается пассивной нагрузкой в состоянии логической 1 в интервале от 15 до 60 мкс. Между сегментами возможна пауза любой длительности, при этом линия поддерживается в состоянии логической 1. Передача битов начинается с младшего значащего разряда.
Подробная документация по протоколу iButton Standards доступна в изданиях Dallas Semiconductor, включая книги, CD-ROM и официальный сайт iButton.com.
Обзорная таблица моделей iButton приведена в Таблице 1.
Для удобства восприятия можно классифицировать семейства iButton по наличию средств защиты данных от несанкционированного доступа. Выделяются два основных типа: с открытой областью данных и со специальной защитой.
В данной части обзора описаны основные характеристики iButton с незащищенной областью данных. Внутри групп приборы отличаются в основном объемом памяти, а их структурная схема схожа.
Таблица 1. Обзорная таблица iButton
Маркировка | Описание | Емкость памяти |
DS1954 | Криптографический микропроцессор | 32К ROIVI+6K NVSRAM |
DS1963 | Электронный кошелек | 4096 бит NVSRAM |
DS1971 | EEPROM память | 256+64 бит EEPROM |
DS1981U | EPROM память и специальный номер | 512битЕРРОМ |
DS1982U | EPROM память и специальный номер | 1024 бит EPROM |
DS1982 | EPROM память | 1024 бит EPROM |
DS1985 | EPROM память | 16384 бит EPROM |
DS1986 | EPROM память | 65536 бит PROM |
DS1990A | Только номер | нет |
DS1991 | Энергонезависимая память с паролем | 1344 бит NVSRAM |
DS1992 | Энергонезависимая память | 1024 бит NVSRAM |
DS1993 | Энергонезависимая память | 4096 бит NVSRAM |
DS1994 | Энергонезависимые память и часы | 4096 бит NVSRAM |
DS1995 | Энергонезависимая память | 16384 бит NVSRAM |
iButton с уникальным серийным номером
В эту группу входит одно семейство — DS1990A, которое стало первым продуктом Dallas Semiconductor, выпущенным в 1991 году. Существуют две версии устройства, различающиеся толщиной корпуса: DS1990A-F5 с толщиной 5,89 мм и DS1990A-F3 толщиной 3,1 мм.
По конструкции DS1990A является самым простым представителем iButton и содержит только ПЗУ, в котором записан уникальный 48-битный серийный номер, код семейства и контрольный код. Доступ к ПЗУ осуществляется через интерфейс, поддерживающий протокол iButton Standard (см. блок-схему на Рис. 2).
Питание микросхемы, как и у всех iButton, осуществляется от «паразитного» источника, состоящего из внутреннего выпрямителя и конденсатора (подробности приведены в первой части обзора). Этот источник получает энергию через резистор 5 кОм, включённый в цепь открытого коллектора порта считывателя, в момент контакта считывающего зонда и iButton.
DS1990A не оснащён средствами защиты пользовательских данных, поскольку таковых в устройстве нет. Уникальный идентификатор, записанный в ПЗУ на заводе в Далласе, доступен любому считывающему устройству, поддерживающему протокол iButton Standard.
Набор команд ПЗУ для DS1990A включает четыре инструкции: ЧТЕНИЕ ПЗУ, СОВПАДЕНИЕ ПЗУ, ПРОПУСК ПЗУ и ПОИСК ПЗУ. В однозонном режиме достаточно использовать команду ЧТЕНИЕ ПЗУ. Остальные команды предназначены для работы в сетевых конфигурациях, где одновременно может касаться нескольких iButton, подключённых к одной линии данных, что позволяет избежать конфликтов.
При выполнении команды ЧТЕНИЕ ПЗУ устройство передаёт последовательно: код семейства (01H для DS1990A), 48-битный уникальный номер и 8-битный контрольный код. Передача ведётся по битам, начиная с младшего разряда. Приём считается успешным, если вычисленный ведущим контрольный код на основе уникального номера совпадает с полученным из ПЗУ iButton. Общий цикл считывания занимает примерно 5 мс.
iButton с энергонезависимой статической памятью
В эту группу входят четыре семейства: DS1992L, DS1993L, DS1995L и DS1996L. Суффикс «L» в названии обозначает наличие встроенной трёхвольтовой литиевой батареи, которая обеспечивает питание микромощной статической памяти (SRAM) на протяжении всего срока службы устройства, минимум 10 лет.
Для коммуникации, как и в других iButton, используется «паразитный» внутренний источник питания (выпрямитель и конденсатор). При разряде батареи доступ остаётся только к ПЗУ.
ПЗУ каждого семейства содержит идентификационный номер, код семейства и контрольный код (см. Рис. 3).
Основное отличие между семействами — объём энергонезависимой статической памяти, разбитой на страницы по 32 байта с системой адресации: DS1992 — 4 страницы, DS1993 — 16, DS1995 — 64, DS1996 — 256. Содержимое страниц может быть прочитано любым считывающим устройством, поддерживающим протокол iButton Standard.
Скорость записи и чтения в стандартном режиме составляет 16,3 Кбит/с. Для моделей DS1995 и DS1996 предусмотрен ускоренный режим «overdrive», позволяющий сократить длительность цикла инициализации до 48 мкс, а временные окна для передачи данных — до 6 мкс, что обеспечивает скорость обмена около 142 Кбит/с. Запись в энергонезависимую SRAM осуществляется через 32-байтный буфер — блокнотную память. Данные записываются вместе с адресом блока и затем считываются обратно для проверки целостности. Только после успешной верификации мастер командой «копировать блокнотную память» инициирует перенос данных в основную SRAM. Размер записываемого блока варьируется от 1 до 32 байт. При чтении данные передаются напрямую, минуя буфер.
Данный тип iButton поддерживает восемь команд: четыре ROM-команды, три команды для работы с блокнотной памятью (запись, чтение и копирование) и команду чтения основной памяти.
iButton с энергонезависимой однократнопрограммируемой EPROM-памятью
В отличие от устройств с энергонезависимой статической памятью, в этих iButton отсутствует литиевая батарея, хотя память данных присутствует — она выполнена в виде однократнопрограммируемой EPROM. Напряжение программирования составляет 11,5 В ±0,5 В, ток — 10 мА.
Питание схемы осуществляется исключительно от «паразитного» источника. Отсутствие батареи позволяет выпускать эти модели как в толстом корпусе F5, так и в тонком F3. В группу входят семейства DS1981U, DS1982U, DS1982, DS1985 и DS1986. Все модели имеют стандартное ПЗУ и различаются объёмом памяти данных, которая разбита на страницы по 32 байта: DS1981 — 2 страницы, DS1982 — 4, DS1985 — 64, DS1986 — 256. Модели с суффиксом U отличаются тем, что 12 бит уникального номера имеют фиксированное значение 5E7H, а остальные 36 бит программируются индивидуально.
Для повышения надёжности записи в EPROM в схему введены дополнительные компоненты: детектор напряжения, генератор контрольной суммы, регистр статуса и 8-битная блокнотная память (см. Рис. 4).
Изначально EPROM заполнена логическими единицами. При программировании отдельные биты можно перевести в логический ноль, который невозможно изменить обратно. Каждая страница памяти может быть защищена от повторной записи установкой соответствующего бита регистра статуса в нулевое состояние. Регистр статуса программируется однократно, поэтому после защиты страницу уже нельзя разблокировать. Кроме байта защиты, регистр содержит байты переадресации страниц, позволяющие перенаправлять данные на другие страницы, открытые для записи, что даёт возможность модификации информации при использовании моделей с большим количеством страниц.
Процесс записи данных усложнён: адреса, коды команд и данные проверяются по байтам. Мастер вычисляет контрольный код, полученный от генератора, и сравнивает его со своими вычислениями. Только после подтверждения разрешается переход к следующему байту записи.
Протокол обмена поддерживает восемь команд: четыре ROM-команды, команды чтения и записи памяти данных, а также чтения и записи регистра статуса. Модель DS1986 дополнительно может работать в ускоренном режиме «overdrive».
Благодаря невысокой стоимости и отсутствию необходимости частого обновления данных, эти iButton широко применяются в различных бюджетных решениях.
iButton с EEPROM памятью данных
Данная категория представлена единственным семейством — DS1971, выпускаемым с 1997 года. Модель доступна в двух вариантах корпуса — F3 и F5. Помимо стандартного ПЗУ, DS1971 оснащён 256-битной EEPROM памятью, организованной в виде одной страницы. Запись в эту память осуществляется постранично с возможностью многократного перезаписывания.
Программирование происходит при напряжении +5 В через блокнотную память, объём которой также составляет 256 бит (см. Рисунок 5).
После успешной проверки целостности данных содержимое блокнотной памяти переносится в EEPROM одним блоком. В устройстве предусмотрен регистр однократной записи (One-Time Programmable Register), предназначенный для хранения служебной информации, например, даты изготовления или номера партии. Запись в этот регистр возможна только один раз через его собственную блокнотную память, после чего он становится доступен только для чтения. Факт записи в регистр однократной записи фиксируется в регистре статуса памяти, где два соответствующих бита устанавливаются в логический ноль; мастер может только считывать состояние этого регистра.
Взаимодействие с DS1971 поддерживает 11 команд: четыре ROM-команды, три — для работы с блокнотной памятью (чтение, запись и копирование), три — для управления регистром однократной записи (чтение, запись и копирование с блокировкой) и команда чтения статуса памяти.
iButton с энергонезависимыми таймером и статической памятью
Эта группа представлена семейством DS1994L. Микросхема объединяет стандартное ПЗУ с уникальным идентификатором, статическую память объёмом 16 страниц по 32 байта каждая, кварцевый генератор с частотой 32 768 Гц и набор таймерных функций: двоичный календарь, программируемые счётчики циклов включения-выключения, интервальный таймер.
Энергонезависимость статической памяти и таймерных компонентов обеспечивается встроенной литиевой батареей. Управление режимами работы реализуется через два регистра: статусный и управляющий. Регистр статуса содержит флаги событий — срабатывания календаря, интервального таймера и счётчика циклов, которые доступны для чтения мастером и могут использоваться для принятия решений. Календарь требует предварительной установки стартовой даты и времени, после чего отсчёт ведётся автоматически; максимальный срок работы календаря составляет 136 лет.
Регистр управления регулирует доступ к ресурсам таймера и памяти: его биты позволяют останавливать кварцевый генератор, блокировать изменение настроек календаря, интервального таймера и счётчика циклов, а также запрещать чтение энергонезависимой памяти.
DS1994L часто применяется для ограничения срока службы приборов, устанавливаясь в специальные зажимы, аналогичные дисковым аккумуляторам, с постоянным подключением к устройству.
Набор команд включает типичные для iButton ROM-команды, а также специализированные инструкции для работы с таймером и счётчиками.
Автономный цифровой термопреобразователь в корпусе iButton
В этой категории представлена модель DS1920. В стандартном корпусе iButton толщиной F3 или F5 размещена микросхема, осуществляющая преобразование температуры окружающей среды в 9-битный цифровой код. В качестве датчика температуры используется встроенный термистор. Аналого-цифровое преобразование сопротивления термистора выполняется 9-разрядным АЦП.
Процесс измерения запускается при контакте DS1920 с зондом, питание поступает от порта считывающего устройства. Из-за повышенного потребления тока во время преобразования рекомендуется применять «сильно открытый коллектор» — вместо стандартного открытого коллектора с нагрузочным резистором 5 кОм использовать полевой транзистор, который в момент преобразования обеспечивает меньшее сопротивление и пропускает больший ток.
Диапазон измеряемых температур составляет от -55 °C до +100 °C, время преобразования — около 0,2 секунды, точность — ±0,5 °C в диапазоне от 0 °C до +70 °C.
В DS1920 предусмотрены пороговые триггеры температуры, значения которых хранятся в EEPROM. При превышении заданных порогов устройство информирует мастер-устройство, что удобно при работе с множеством датчиков, объединённых в одну линию.
Интерфейс и ROM DS1920 полностью соответствуют стандарту iButton Standard. Набор команд включает как типичные ROM-команды, так и специфичные — для температурного преобразования, выборки состояния порогов и работы с блокнотной памятью.
Чаще всего DS1920 крепится на объект с помощью специальных липких дисков или пластиковых зажимов, позволяя объединять несколько устройств параллельно и опрашивать их переносным зондом. Уникальный серийный номер облегчает идентификацию места измерения.
Дополнительно следует отметить, что Dallas Semiconductor предоставляет программный пакет DS0621-SDK для работы со всеми типами iButton. Он ориентирован на разработчиков и содержит драйверы для DOS, Windows 3.1, Windows 95/NT, а также примеры процедур на языках ассемблера MCS-51, C, Паскаль, Delphi и Visual Basic. В состав пакета входит оболочка TMEX для сетевых систем с iButton, включающая утилиты с командами, аналогичными COPY, FORMAT, DIR, RENAME, DELETE и др. Также Dallas Semiconductor предлагает готовый адаптер для подключения к последовательному порту.
