�������@Mail.ru
Главная страница Техподдержка Основные принципы работы iButton фирмы Dallas Semiconductor. Часть 2
Поиск по сайту

Вход/Регистрация
Магазин

Список всех товаров


Расширенный поиск
Расширенный поиск по характеристикам
Показать корзину
Ваша корзина пуста.
Пользователи online
Сейчас 44 гостей онлайн
Баннер

Основные принципы работы iButton фирмы Dallas Semiconductor. Часть 2

Обзор разновидностей iButton фирмы Dallas Semiconductor.

Регистрационный номер, записанный в ПЗУ (ROM).

Запрограммированная лазерным лучом ROM-секция содержит 6-байтное, уникальное для каждого устройства iButton число - серийный номер. Кроме того, во всех iButton записан в одном байте код типа устройства (family code), а также проверочный байт CRC. Младшие 7 бит family code указывают на тип устройства. Старший бит family code используется в качестве флага для версий, предназначенных для особых покупателей. Таким образом, можно закодировать 128 стандартных разновидностей устройств. 48-битный (6-байтный) серийный номер может представить любое десятичное число до 2.81 * 1014. Если выпускать в год 1000 биллионов (1012) устройств одного и того же типа, то этого числа хватит на 281 год. Кроме того, можно выпускать 128 типов различных устройств. Если старший бит family code установлен в 1, то устройство функционирует так же, как и стандартное, однако серийный номер устанавливается по специальным правилам - часть серийного номера резервируется для обозначения конкретного покупателя (заказчика).

Типы устройств iButton.

ПРИМЕЧАНИЕ:

NVRAM - NonVolatile Random Access Memory - память с произвольным доступом на чтение и запись, с энергонезависимым хранением информации.

EEPROM - Electrically Erasable, Programmable Read Only Memory - электрически стираемая (не всегда) память с произвольным доступом на чтение.

Остановимся на кратком описании каждого из устройств.

DS1990A.

Этот iButton является устройством - серийным номером, который может служить уникальным электронным идентификатором чего-либо или кого-либо. Это самый простейший из всех типов iButton, и как раз он используется в качестве ключа для электронного замка. DS1990A содержит только ROM, запрограммированное на заводе. Поскольку информация сохранена на перерезаемых лазером связях в полисиликоне (нет зарядных элементов памяти или статических триггеров), DS1990A не нуждается в энергии для сохранения данных. Кроме того, для функционирования также почти не требуется энергии. DS1990A использует напряжение на линии данных для работы и сохраняет минимальный внутренний заряд для обеспечения работоспособности во время генерирования presence и в течение небольшого времени в любом из тайм-слотов, когда происходит операция чтения. На рисунке показано, как организованы данные внутри DS1990A.

Рис.: Структура данных DS1990A.

Первый байт, передаваемый из ROM, является кодом типа устройства - family code. После него идёт гарантированно уникальный серийный номер (6 байт), у которого наименее значащий байт передаётся первым. Последний байт несёт информацию Cyclic Redundancy Check (CRC), что означает проверочный циклический избыточный код. CRC специальным образом вычисляется от первых семи байт. Это позволяет быстро проверить правильность передачи информации - если CRC, вычисленный устройством master от первых 7 байт, совпадает с принятым от iButton, то чтение было полностью верным. Этот метод - одна из причин, по которой iButton не требует стабильного электрического контакта со считывающим устройством.

В Книге Стандартов от фирмы Dallas Semiconductor говорится, что "из-за особенностей разработки iButton и строгого заводского контроля DS1990A является уникальным электронным идентификатором, который невозможно подделать".

Примечание 1. На мой взгляд, это верно, но с небольшими оговорками. Само собой, не существует двух совершенно одинаковых электронных ключа DS1990A, один из которых подойдёт вместо другого (откроет замок). Однако ничто не мешает злоумышленнику разработать прибор, который будет считывать ключ DS1990A и затем воспроизводить его последовательный код, полностью имитируя поведение slave-устройства DS1990A. Имея такой прибор, злоумышленник может считать оригинал ключа и потом просто использовать его код, чтобы открыть замок (кстати, на корпусе MicroCan нанесена гравировка, полностью воспроизводящая family code, serial number и даже CRC). Правда, не надо забывать, что для этого владелец ключа должен передать ключ злоумышленнику во временное пользование, а в этом казусе владелец, пожалуй, и сам в некоторой степени виновен. Снятие кода с электронного ключа очень похоже, таким образом, на снятие слепка с ключа механического. Разница только в технологиях, а также в том, что двух одинаковых электронных ключей не бывает.

DS1991, MultiKey iButton.

Так же, как и DS1990A, DS1991 содержит серийный номер, family code и CRC. Кроме того, DS1991 содержит 64 байта энергонезависимой памяти scratchpad (необходимой для корректной операции записи в условиях ненадёжного контакта со считывающим устройством) и три независимые защищённые паролем области памяти по 48 байт каждая, которые называются субключами (отсюда, похоже, и пошло название DS1991 - MultiKey iButton). Для каждой защищённой области имеется поле пароля из 8 байт и открытое для свободного чтения поле из 8 байт. Таким образом, каждая защищённая область занимает 64 байта.

DS1991 разработан как электронный ключ с высокой степенью защиты, который позволяет получать доступ к различным защищённым областям с помощью только одного устройства. Каждый из трёх ключей можно рассматривать как защищённый файл, для доступа к которому надо знать пароль. Открытое поле такого ключа содержит имя защищённого файла. Таким образом, разные люди могут использовать даже один и тот же пароль, хотя они и пользуются разными экземплярами DS1991.

DS1991 имеет защиту от взлома. Если для чтения данных используется неверный пароль, то устройство будет выдавать случайные числа. Если запрограммирован новый пароль, то все данные субключа будут автоматически стёрты. Несмотря на то, что возможна прямая запись в защищённые субключи, незащищённая область памяти scratchpad должна использоваться как временное хранилище для проверки данных перед тем, как они будут скопированы в свое положенное место (субключ). Это даёт гарантию, что будут записаны неискажённые данные, даже если во время соединения прервётся контакт. В зависимости от применения, незащищённая область памяти scratchpad может альтернативно использоваться как простая память общего назначения, работающая на чтение и запись.

DS1992, iButton с энергонезависимой памятью на 1 Кбит.

Как и все iButton, DS1992 содержит уникальный серийный номер. Внутренние 128 байт энергонезависимой памяти организованы как 4 области памяти (страницы) по 32 байта. Имеется также память scratchpad размером 32 байта (её назначение то же самое, что и у DS1991). Начать чтение RAM можно с любой байтовой позиции и на любой странице. Запись возможна только через scratchpad. После того, как записанные в scratchpad данные проверены на соответствие оригиналу, выполняется команда копирования данных из scratchpad в конечное место назначения данных, чем предотвращаются ошибки записи из-за возможного непостоянного контакта со считывающим устройством.

DS1993, iButton с энергонезависимой памятью на 4 Кбит.

DS1993 является версией DS1992 с увеличенным объёмом памяти - в четыре раза больше. Вместо 4-х имеется 16 страниц памяти по 32 байта. Конечно, DS1993 имеет собственный family code, размещённый в ROM.

DS1992 и DS1993 разработаны как уникальное идентификационное устройство и мобильный носитель данных. С использованием специальных структур данных эти устройства могут сохранять многочисленные независимые файлы разного назначения. Кроме того, для защищённого доступа легко доступный серийный номер может использоваться как исходная величина совместно с секретным ключевым словом для кодирования приватных файлов данных. Несмотря на то, что закодированные данные можно прочитать, невозможно их продублировать из-за того, что два серийных номера не могут быть одинаковыми (см. примечание 1).

DS1994, iButton с таймером и энергонезависимой памятью на 4 Кбит.

DS1994 добавляет к DS1993 часы реального времени, таймер временнЫх интервалов и счётчик циклов. За исключением family code, DS1994 полностью совместим с DS1993. Дополнительные регистры для часов и управляющие регистры размещены в верхней, последней странице памяти.

Что касается представления времени, часы DS1994 имеют отличительные особенности по сравнению с обычными часами реального времени на рынке. Часы в DS1994 - это двоичный счётчик с дискретностью 1/256 секунды. Минута, час, день, месяц и год вычисляются от количества секунд, прошедших относительно произвольно выбранной "нулевой даты" (обычно 1-е января 1970 года, 00 часов, 00 минут, 00 секунд). Таким образом, любое изменение в правилах отображения времени, зависящее от страны перелагается на внешнее программное обеспечение, с которым работает DS1994. Кроме того, это представление времени упрощает вычисление интервалов времени между событиями и увеличивают точность настройки часов.

Таймер интервалов времени можно использовать как секундомер с остановом для подсчёта времени между некоторыми событиями, или как инструмент для контроля времени использования приборов, поскольку DS1994 включает в себя свойство для генерирования прерываний. Для получения статистики работы счётчик циклов запоминает, как часто прибор (например, машина или компьютер) был включен. Таймер интервалов добавляет в память время функционирования прибора. Для этого применения, однако, DS1994 должен быть встроен в контролируемый прибор. К тому же, когда устройство DS1994 используется в процедурах касания со считывающим устройством, оно даёт полную информацию о частоте использования и среднее время каждого касания. RTC (Real Time Clock - часы реального времени) с регистрами тревоги обеспечивают функцию доступа с ограничением по времени. При достижении определённого времени доступ к устройству будет запрещён с помощью управляющего компьютера.

Возможность защиты от записи счётчиков и закрытие доступа к внутренним регистрам тревоги переводят устройство DS1994 на уровень не сбрасываемого контроллера истекающего времени. Все эти дополнительные особенности и связанные с ними регистры и управляющие флаги размещены на последней странице памяти (с номером 16). Доступ к содержимому этой страницы тот же самый, как и к обычным страницам памяти. Несмотря на то, что для операции записи обычно используют scratchpad, структура команд позволяет записать один или несколько байт.

DS1995, iButton с энергонезависимой памятью на 16 Кбит.

Для применений, требующих сохранения нескольких файлов различного размера, ёмкость DS1993 может оказаться недостаточной. DS1995 учетверяет доступную ёмкость предыдущих версий iButton до 16 Кбит (до 64 страниц по 32 байта каждая). Поскольку DS1995 имеет ту же самую логическую структуру и понимает тот же самый набор команд, что и другие версии iButton с энергонезависимой памятью, устройство DS1995 полностью совместимо с существующим прикладным программным обеспечением. Новое уникальное значение family code указывает на наличие дополнительной ёмкости памяти.

DS1996, iButton с энергонезависимой памятью на 64 Кбит.

DS1996 учетверяет ёмкость DS1995 до 64 Кбит (до 256 страниц по 32 байта каждая). С теми же самыми командами, как и у других iButton с энергонезависимой памятью, DS1996 позволяет легко провести апгрейд существующих систем. Как и все iButton, это устройство имеет уникальное значение family code.

DS1995 и DS1996 значительно превосходят по ёмкости существующие мобильные носители данных, как, например, серийные чип-карты или магнитные полосы. Использование серийного номера как исходной величины совместно с секретным ключевым словом позволяет сохранять как закодированные, так и незащищённые файлы данных в одном устройстве. Из-за недостатка места в статье мы не будем рассматривать методы использования большой ёмкости памяти этих устройств (см. Книгу Стандартов iButton фирмы Dallas Semiconductor, часть 7).

DS1982, Add-Only iButton с однократно программируемой памятью на 1 Кбит.

Серии DS198x используют технологию EEPROM, которая не требует встроенного источника энергии для поддержания сохранности данных. Так же как и у DS1990A, энергия для работы берётся непосредственно с линии данных. Как и все iButton, DS1982 содержит секцию ROM с серийным номером и family code. Память организована как 4 страницы по 32 байта каждая.

Чтение DS1982 происходит так же, как и чтение других iButton со встроенной памятью, однако запись происходит по-другому. Перед тем как байт данных попадёт на своё место назначения в памяти, он сначала записывается в scratchpad размером в 1 байт. Далее происходит самопроверка команды записи - адреса назначения и записываемых данных - с помощью 8-битного CRC. Если проверка прошла успешно, импульс длительностью 1 мс и напряжением 12 В сделает копию байта scratchpad в место назначения байта. Эта процедура предотвращает некорректную запись в случае пропадания контакта с устройством.

Такая изощрённая проверка перед записью необходима для устройств, основанных на технологии EEPROM, поскольку однажды записанные неверные данные уже невозможно исправить. Когда данные нуждаются в обновлении, старые данные "переназначаются" и добавляется новый набор данных. Этот режим функционирования объясняет имя Add-Only iButton (iButton только для добавления данных) для этой группы. Устройства Add-Only iButton  невозможно стереть. Каждая страница памяти аппаратно защищена от последующих попыток записи. Таким образом, каждое обновление будет оставлять для контроля постоянный след. Такое свойство памяти используется, например, в кассовых аппаратах (фискальная память).

Флаги, показывающие состояние страницы данных (запрещена она для записи и т. п.), помещены в 8-ми байтах статуса памяти устройства. Запись в данные статуса применяет ту же самую интегрированную процедуру, как и для страниц данных. Когда читаются информация статуса или просто данные, встроенный генератор CRC защищает поток данных от потенциальных ошибок.

DS1985, Add-Only iButton с однократно программируемой памятью на 16 Кбит.

С 16-кратной ёмкостью по сравнению с DS1982, DS1985 является наименьшим устройством типа Add-Only, полностью поддерживающим сохранение и обновление нескольких файлов приложений. За подробностями обращайтесь в Книгу Стандартов iButton фирмы Dallas Semiconductor, часть 7. Память приложений организована как 64 страницы по 32 байта каждая. В дополнение к памяти приложений, имеется 88 байт памяти статуса, выделенной для байт переназначения, флагов и бит защиты от записи. Специальная команда сигнализирует о перенаправлении данных для предотвращения потерь времени и чтения неверных данных. Другие функции у DS1985 те же самые, что и у DS1982.

DS1986, Add-Only iButton с однократно программируемой памятью на 64 Кбит.

DS1986 является 64 Кбитным апгрейдом DS1985. Память организована как 256 страниц по 32 байта каждая. Расширенная область памяти потребовала увеличения памяти статуса до 352 байт. Все другие особенности DS1986 те же, что и у DS1985.

Выдающаяся особенность iButton типа Add-Only - невозможность удаления данных. Если данные нуждаются в обновлении, то это происходит путём изменения пути на другую страницу, что оставляет постоянный след изменений. Это позволяет реконструировать оригинальные и промежуточные версии данных. Благодаря аппаратной защите от записи такие устройства устойчивы к вмешательству в содержимое данных. Если запрограммирован бит защиты от записи, нет никаких шансов изменить хотя бы один бит соответствующей страницы или перенаправить байт.

DS1920, Temperature iButton.

Как показывает название, это устройство содержит термометр в корпусе MicroCan. Вместо памяти пользователь получает доступ к 9-битному преобразователю (дающему точность 0.5 градуса по Цельсию), как если бы это была бы память, и к управляющим регистрам. Уникальная секция ROM тоже является стандартной для этих устройств, что позволяет создать цепочку из термометров и считывать их значения из одного места. Точность измерения температуры составляет 0.5 градуса Цельсия в диапазоне температур от 0 до +70 градусов. В диапазонах от -40 до 0 градусов и от +70 до +85 градусов по Цельсию точность ухудшается до 1 градуса. Время определения температуры составляет около одной секунды. Подробности см. в Книге Стандартов iButton фирмы Dallas Semiconductor, часть 6.

Описанные выше устройства поставляются в корпусе MicroCan. Кроме того, имеются некоторые другие устройства в других корпусах, имеющие некоторые общие особенности вышеописанных iButton. Например, продукты, предназначенные для пайки - адресуемый электронный ключ DS2407 и двухинтерфейсная память с таймером DS2404S-C01. Более подробно про эти устройства написано в Книге Стандартов iButton фирмы Dallas Semiconductor, часть 6.

Комментарии (0)
Только зарегистрированные пользователи могут оставлять комментарии!
 
Баннер