Cтататья знакомит с особенностями использования и программирования приборов iButton для переноса конфиденциальной информации. Коротко изложены основные понятия о iButton, дано краткое техническое описание основных типов iButton: DS199 1 и DS1994/1993/1992.
Семейство приборов, известное в настоящее время под общим названием (Button, было анонсировано компанией Dallas Semiconductor в 1991 г. под товарным знаком “Touch Memory”, что переводится примерно, как “прикоснись— память”. Это название достаточно полно соответствовало сути нового класса приборов, содержащих, как минимум, постоянную память (а во многих приборах еще и оперативную память и другие узлы), считывание которой возможно при кратковременном прикосновении прибора к специальному контактирующему устройству. Интерфейс, поддерживаемый этими приборами , первоначально получил название “1-Wire”, т. е. однопроводный, а позднее стал называться интерфейсом “Micro-LAN”. За первые пять лет новые приборы получили достаточно большое распространение благодаря своим уникальным свойствам, о которых мы поговорим немного позже. А в 1997 г. компания Dallas Semiconductor присвоила этому классу приборов новое название — iButton (Information Button — информационная таблетка) [1—3].
Целый ряд уникальных свойств приборов iButton обеспечивается благодаря необычному корпусу прибора. Кристалл прибора и миниатюрный литиевый элемент смонтированы в герметичном корпусе MicroCan™ из нержавеющей стали диаметром 17,26 мм и толщиной 5,89 мм (корпус типа F5) или 3,1 мм (корпус типа F3). Литиевый элемент имеется не во всех приборах, часть их использует питание, поступающее по линии данных. Только такие приборы выпускаются в обоих типах корпусов (F5 и F3). Остальные приборы выпускаются только в корпусе F5 толщиной 5,9 мм. Внешний вид прибора (Button в корпусе MicroCan™ показан на рис. 1.
Корпус выполняет как чисто защитные функции, так и роль электрических контактов.
Корпус состоит из донышка с ободком у основания и электрически изолированной крышки. Донышко является общим проводом, а крышка выполняет функцию сигнального контакта.
Корпус герметичный, неразборный. Доступ к содержимому памяти прибора осуществляется только через две линии: общий провод и двунаправленную сигнальную. Для считывания данных из приборов iButton используется контактное устройство Touch Probe различных конструкций, которые существуют как для встраивания в прибор, так и для внешней установки на панель.
Одним из основных преимуществ iButton по сравнению с идентификаторами других типов является их высокая надежность. Приборы выдерживают механический удар 500 g, падение с высоты 1,5 м на бетонный пол, нагрузку на корпус 11 кг, не подвержены воздействию магнитных и статических полей, промышленной атмосферы, работают в диапазоне температур от -40 до +70 °С.
Следует сказать, что термином iButton часто называют также приборы, выполненные в традиционных типах корпусов (для транзисторов или микросхем) и имеющие однопроводный интерфейс Micro-LAN, однако это не совсем корректно. Правильнее относить к этому семейству только приборы в корпусах MicroCan™. Наиболее известные приборы семейства iButton приведены в табл. 1.
Большинство приборов iButton содержит постоянное запоминающее устройство, блокнотную или сверхоперативную память, оперативное запоминающее устройство, элемент питания и оригинальный контроллер последовательного интерфейса.
Некоторые приборы имеют более сложную или более простую внутреннюю структуру. Например, может отсутствовать элемент питания или оперативная память или в структуру могут быть введены датчики температуры, таймеры (часы реального времени) и т. п.
Все приборы iButton содержат постоянное запоминающее устройство (ROM), в котором хранится 64-разрядный код, состоящий из 8-разрядного кода типа прибора, 48-разрядного уникального серийного номера и 8-разрядной контрольной суммы.
Размещаемые в ROM данные представляют собой уникальную (не повторяющуюся) кодовую комбинацию, которая записывается в прибор с помощью лазера во время его изготовления.
Напряжение питания ROM подается по сигнальной линии данных, что позволяет, во-первых, сэкономить энергию встроенного литиевого элемента и, во-вторых, считывать память, не расходуя энергию элемента. Литиевый элемент имеет срок службы не менее 10 лет.
Если в составе прибора имеется оперативное запоминающее устройство (RAM), то оно выполнено как статическая память с неограниченным числом циклов записи/чтения. Обычно оперативная память имеет страничную организацию с различным размером страницы. Кроме обычной оперативной памяти во многие приборы введена также дополнительная буферная (сверхоперативная, или блокнотная) память . Она предназначена для предотвращения повреждения информации при установке в контактное устройство или извлечении из него. Предполагается, что данные вначале записываются в блокнотную память, затем проверяются путем считывания и сравнения с оригиналом, а затем дается команда записи в основную память, при этом данные переписываются из сверхоперативной памяти в оперативную.
Однопроводный интерфейс Micro-LAN обеспечивает относительно невысокую скорость обмена, примерно 16,3 кбит/с, однако при этом существенно снижается стоимость интерфейса и подводящих проводов. Сигнальная линия интерфейса — двунаправленная. Обмен осуществляется в режиме полудуплекса. Взаимодействие приборов по однопроводному интерфейсу организовано по принципу ведущий-ведомый. При этом считывающее устройство (контроллер) всегда ведущее, а приборы iButton — ведомые.
Приборы семейства iButton получили широкое распространение в США и странах Европы для самых разных целей:
• как идентификационные карточки для ограничения доступа в здания или отдельные помещения [4];
• в различных системах домашней или промышленной безопасности [5,11];
• в системах телеметрии [6];
• в системах учета рабочего времени;
• в различных электронных замках [7—9];
• в банковских системах ограничения доступа к информации [10];
• в качестве носителя личных сведений (удостоверения личности) в специальных подразделениях:
• в качестве ключа для некоторых специальных типов автомобилей и оборудования;
• в качестве носителя сведений о характеристиках и ресурсе особо надежных изделий;
• в качестве носителя данных о состоянии финансового счета (“электронный кошелек”) в специальных системах электронных расчетов [10];
• в электронных системах оплаты проезда в городском транспорте [10];
• в различных системах автоматизации для сохранения настроек и прочей информации [11—18];
• в качестве ключа в системах электронной защиты программных продуктов [19—21].
На территории стран СНГ устройства iButton наиболее часто используется в качестве ключей замков, установленных в подъездах, в некоторых системах ограничения доступа в помещения и в электронных системах защиты программных продуктов [22—24].
Однако в ряде регионов все большей популярностью пользуются идеи применения приборов iButton для создания электронных систем учета индивидуального рабочего времени, создания электронных удостоверений личности, а также - электронных кошельков” для оплаты, например, проезда в городском транспорте. Для этих целей по соотношению качество” цена наиболее подходят два прибора iButton: DS1991 и DS1994. Первый из них выбран, поскольку имеет оперативную память с шифрованным доступом, а второй —таймер реального времени и счетчик циклов, что позволяет легко регистрировать время прихода и ухода, а также другие временные параметры в различных системах учета рабочего времени. В связи с этим в рамках этой статьи основное внимание будет уделено именно этим двум приборам iButton.
Краткое описание интерфейса Micro-LAN
Как уже упоминалось выше, интерфейс Micro-LAN является однопроводным. Это ННМП “с все команды и данные передаются по двунаправленной линии данных относительно общего провода (земли) в последовательном коде. Поскольку в интерфейсе не предусмотрено никаких синхронизирующих сигналов, все команды и данные имеют строго регламентированный временной формат, несоблюдение которого приводит к искажению передаваемых команд или данных. Об этом надо всегда помнить при написании подпрограмм-драйверов.
В протоколе интерфейса существует три основных временных цикла: цикл инициализации (или обнаружения), цикл чтения бита и цикл записи бита. Кроме этого в некоторых приборах iButton могут встретиться дополнительные циклы, например два цикла прерывания в iButton DS1994.
Прежде чем рассматривать временные характеристики этих циклов, остановимся коротко на аппаратной реализации интерфейса. Наиболее просто аппаратный интерфейс с прибором iButton реализуется на микроконтроллерах (и других микросхемах), линии ввода/вывода которых могут работать в режиме открытого стока (open drain), например микроконтроллерах фирмы Cygnal [25]. В этом случае достаточно выбранную для подключения к прибору (Button линию порта ввода/вывода перенастроить в это состояние и подключить к положительному выводу источника питания через резистор с рекомендованным номиналом 5,1 кОм [26]. Более сложно реализуется аппаратный интерфейс на TTL микроконтроллерах или микросхемах. В этом случае необходимо использовать две линии портов ввода/вывода, два резистора и транзистор. Естественно, что можно придумать и другие варианты реализации интерфейса.
Цикл инициализации (обнаружения) является начальным циклом любого информационного обмена с приборами iButton. В этом цикле ведущее устройство опрашивает линию, определяя присутствие на ней одного или нескольких приборов (Button. Цикл инициализации всегда начинается в подачи ведущим устройством (микроконтроллером) низкого логического уровня (“отрицательного” импульса) длительностью не менее 480 мкс.
Следует отметить, что внутренняя емкость большинства приборов iButton примерно соответствует 800 пФ, а номинал резистора (5,1 кОм) выбран из тех соображений, что при подключении прибора iButton за время заряда внутреннего конденсатора на нем формируется низкий логический уровень (“отрицательный” импульс), соответствующий по длительности импульсу инициализации. Сигнал инициализации или обнаружения достаточно часто называют импульсом сброса. После посылки сигнала инициализации (обнаружения) ведущее устройство переводит линию на прием.
Если к линии подключен прибор iButton, он обнаруживает отрицательный импульс длительностью более 480 мкс (неподключенный прибор iButton считает, что у него на линии присутствует длительный отрицательный импульс) и после паузы длительностью от 15 до 60 мкс вырабатывает нулевой (“отрицательный”) импульс опознавания длительностью от 60 до 240 мкс. Этот импульс воспринимается ведущим устройством и сообщает ему о том, что на линии присутствует как минимум один прибор iButton (точнее говоря, как минимум один прибор с интерфейсом Micro-LAN).
Следует сразу отметить, что очень часто опускается требование о том, что следующий цикл может начаться не раннее, чем через 480 мкс после завершения импульса сброса или не раннее, чем через 180 мкс после завершения импульса опознавания и перехода линии в высокое логическое состояние. С другой стороны, важно отметить, что интервалы между циклами (инициализации, чтения или записи бита) могут быть как угодно большими. Типовая временная диаграмма цикла инициализации показана на рис. 2, а.
Циклы записи и чтения битов обычно имеют определенную длительность, называемую временем слота или временным сегментом. Длительность слота обычно выбирается равной 60 мкс и может находиться в интервале от 60 до 120 мкс. Каждый слот чтения или записи начинается с переключения уровня сигнальной линии с высокого на низкий логический уровень (отрицательного фронта), инициированного ведущим устройством. Важно отметить, что во всех сеансах обмена (передачах команд или данных) байты всегда передаются , начиная с младшего разряда.
Запись 1 в прибор iButton заключается в формировании ведущим устройством на сигнальной линии низкого логического уровня длительностью от 1 до 15 мкс, а затем восстановления линии в высокое логическое состояние на время, оставшееся до завершения выбранной длительности времени слота. При этом iButton определяет состояние сигнальной линии в интервале от 8-й до 15-й мкс слота. Запись 0 в прибор iButton заключается в формировании ведущим устройством на сигнальной линии низкого логического уровня длительностью, как минимум на 1 мкс меньше длительности слота. Временные диаграммы слотов записи единицы и нуля приведены на рис. 2, б. Описанные выше циклы записи 0 или 1 повторяются для каждого передаваемого бита. Важно отметить, что после каждого слота необходима пауза для восстановления длительностью не менее 1 мкс, но максимальная длительность паузы не оговорена и может быть неограниченно большой.
Чтение бита прибора iButton начинается с синхронизирующего сигнала ведущего устройства длительностью от 1 до 15 мкс. После этого ведущее устройство освобождает линию и переходит в состояние приема. Далее состояние линии определяется ведомым устройством, т. е. прибором iButton. Ведущее устройство должно проанализировать состояние линии в интервале от завершения стробирующего импульса (переднего фронта) до 15 мкс. Оптимальная длительность синхронизирующего импульса ведущего устройства — 5 мкс, оптимальное время чтения состояния линии, определяемого ведомым прибором iButton — 8 мкс. Среднее время удержания сигнала прибором iButton составляет примерно 45 мкс. Ведомое устройство, т. е. iButton, передает высоким логическим уровнем бит лог . 1, а низким логическим уровнем — бит лог. 0.
Как уже упоминалось выше, кроме основных циклов инициализации, чтения и записи, некоторые приборы (Button могут иметь дополнительные циклы. Примером могут быть два цикла прерываний, генерируемые iButton DS1994 [27]. Циклы прерываний очень похожи на цикл инициализации. При работе с приборами, которые способны генерировать цикл прерывания, да и в остальных случаях для обеспечения совместимости рекомендуется импульс сброса, генерируемый ведущим устройством, ограничивать по длительности величиной 960 мкс.
О. Николайчук
Литература:
1. И. Кузнецов. Системы контроля управления доступом или “Таблетка” от супостатов.— Компания “Формула безопасности” (informs@cityline.ru).
2. http://www.ibutton.com.
3. http://www.maxim-ic.com.
4. Е. Злотник. Touch Memory — электронный идентификатор. http:// www.shema.ru.
5. Электронные идентификаторы /Button.— http://www.smartlogon.ru.
6. Обзор приборов iButton.— http:// www.elin.ru/thermochron.
7. Системы с /Button. — http:// triton.kiev.ua.
8. Кабинетный замок Сонет. — http:// www.kosnet.ru.
9. Считыватели и устройства ввода кода с интерфейсом Touch Memory.— http://www.sevenseals.ru.
10. Использование DS1963 Monetary /Buttons для финансовых транзакций в системах охраняемых DS1954 Crypto /Button.— http://www.gaw.ru.
11. Электронные ключи Touch Memory.— http://www.dial-service.ru.
12. Н. Ракович. Приборы хранения информации в сети Micro-LAN.— http:// www.chipnews.com.ua.
13. Н. Ракович. Выбор сети для коммуникации и управления. Chip News, 2000, № 5, с. 25—27.
14. Н. Ракович. Основы построения сетей MicroLAN.— Chip News, 2000, № 6, с. 14—17.
15. Система автоматизации MicroLAN. — “Сводка новостей”, 16.08.2001, http:/ / www.osp.ru.
16. Н. Ракович. Что может быть проще времени?— Chip News, 2003, № 2.
17. Компоненты для систем автоматической идентификации.— http:// www.itis.spb.ru.
18. Л. Вихарев. Эти “таблетки” Вам помогут или Еще раз об /Buttons фирмы Dallas Semiconductor.— http://www.atel.ru.
19. Средства защиты информации: Средства аутентификации: iButton. — http://www.revers.ru.
20. OЛИC - software- системы защиты - iButton.— http://www.olis.ru.
21. Средства электронной защиты: Общая информация о ключах.— http:// www.prosys.ru/progr.
22. Электронный замок с ключами iButton.— http://radiotech.by.ru.
23. А. Лютько, Е. Левин. Новые приборы семейства /Button: расширение возможности по защите информации.— Компоненты и технологии, 2002, № 9, с. 76—79.
24. Новый обзор электронных ключей-идентификаторов iButton от фирмы Dallas Semiconductor.— http://ebw.gaw.ru.
25. http://www.cygnal.com.
26. http://pdfserv.maxim-ic.com/arpdf/ DS1991.pdf.
27. http://pdfserv.maxim-ic.com/arpdf/ DS1992-DS1994.pdf.
Материал подготовил М. Грибак (UA9XEQ)
| |