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

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

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


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

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

Технология.

Button - это просто микросхема, заключённая в стандартный круглый корпус из нержавеющей стали, диаметром 16.3 мм. Прочный корпус очень устойчив к воздействию ударов, грязи и влажности. iButton MicroCan (название стандарта корпуса) имеет диаметр 16.3 мм. Имеется две стандартные толщины: 3.1 мм (версия F3) и 5.9 мм (версия F5). Устройства, запитываемые от master через линию данных, поставляются в обоих типах корпусов. Все другие устройства поставляются только в корпусах MicroCan толщиной 5.9 мм. На рис. 1-1 показаны чертежи корпусов обоих версий. Поскольку крышки у всех версий одинаковы, то для всех применяется одна и та же считывающая чашка. Кромка корпуса MicroCan позволяет удобно его закреплять в держателях. Более полно размеры, внешний вид и гравировку корпуса MicroCan можно увидеть в Книге Стандартов iButton фирмы Dallas Semiconductor.






Рис. 1-1: Корпус iButton (размеры указаны в миллиметрах).

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



Рис. 1-2: Блочная диаграмма iButton.

Внутренняя микросхема изготовлена по технологии CMOS (КМОП), и в состоянии ожидания основной ток потребления - только ток утечки (который для CMOS очень мал), что позволяет использовать для хранения перезаписываемых данных внутри iButton собственный маломощный элемент питания. Для сохранения энергопотребления на предельно низком уровне во время состояний активности (чтение данных, например), а также для совместимости с существующими сериями микросхем логики и микропроцессорами, линия данных в iButton выполнена как в выход с открытым стоком (см. рис. 1-3).



Рис. 1-3: Внутренний интерфейс данных iButton.

Для нормальной работы с внешней логикой типа CMOS нужен только нагрузочный резистор 5 кОм, подсоединённый к плюсу питания VDD (5 вольт) и к выходу обычного двунаправленного порта с открытым стоком (см. рис. 1-4).



Рис. 1-4: Узел мастера шины (двунаправленный порт с открытым стоком).

Если вход и выход процессора используют разные выводы, то их подключают, как показано на рис. 1-5.  Выход, подключенный на рисунке к базе транзистора, должен быть обычным двухтактным либо с внутренним нагрузочным резистором.



Рис. 1-5: Узел мастера шины с раздельными входным и выходным портами.

Протокол.

Для простого аппаратного исполнения iButton, описанного выше, используется специальный, оптимизированный протокол, позволяющий осуществлять двунаправленный обмен данными. Протокол носит название 1-Wire. Последовательная передача осуществляется в полудуплексном режиме (т. е. либо приём, либо передача), внутри дискретно определённых временнЫх интервалов, называемых тайм-слотами. Микроконтроллер (master устройство), подключенный к считывающей чашке, всегда инициирует передачу с помощью посылки командного слова на прикладываемый к чашке iButton (он играет роль подчинённого, или slave устройства). К шине может быть подключено несколько slave-устройств. Подобно электрическим вилке и розетке, которые определяют потребитель и источник электричества, контактное считывающее устройство в виде чашки является атрибутом master-устройства (которое, кстати, во многих случаях служит источником энергии для iButton), а круглая металлическая "таблетка" iButton является признаком slave-устройства. Такое точное разделение позволяет автоматически избежать конфликтов типа соединения двух master-устройств.

Команды и данные посылаются бит за битом и собираются в байты, причём вначале передаётся наименее значащий бит LSB (Least Significant Bit). Синхронизация master и slave происходит по спадающему срезу сигнала, когда master замыкает стоком выходного транзистора порта линию данных на провод земли. Через определённое время после среза сигнала происходит анализ (выборка) состояния данных на линии (лог. 0 или лог. 1) для получения одного бита информации. В зависимости от направления передачи информации в данный момент эту выборку делает либо устройство master, либо устройство slave. Этот метод обмена информацией называют передачей данных в тайм-слотах. Каждый тайм-слот отсчитывается независимо от другого, и в обмене данными могут иметь место паузы без возникновения ошибок. Рис. 1-6 показывает основные характеристики такого обмена данными.



Рис. 1-6: Передача данных в тайм-слотах.

Синхронизация.

Почти сразу после присоединения к считывающему устройству (через несколько микросекунд) slave-устройство iButton выдаёт на линию импульс низкого уровня, чтобы сказать устройству master, что оно на линии и ожидаёт получения команды. Этот сигнал называется presence pulse (импульс присутствия, далее просто presence). Master может также давать запрос на iButton с целью получения presence, путём выдачи на iButton специального импульса, называемого импульсом сброса (reset pulse, далее просто reset). Если iButton принял reset или если он был отсоединён от считывающего устройства, он будет анализировать линию данных, и как только линия снова достигнет высокого уровня, iButton сгенерирует presence. Полная последовательность импульсов reset и presence показана на рис. 1-7.



Рис. 1-7: Импульсы RESET и PRESENCE.

Передача данных.

После выдачи presence iButton ожидает получения команды. Любая команда записывается в iButton с помощью последовательности тайм-слотов, записывающих в iButton биты 1 и 0. Такая последовательность создаёт полный байт команды.

Передача данных в обратном направлении (чтение iButton) использует те же самые временнЫе правила для представления 0 или 1. Поскольку iButton разработано как slave-устройство, то оно оставляет устройству master определять начало каждого тайм-слота. Чтобы произвести чтение iButton, master для чтения одного бита данных просто генерирует тайм-слот записи лог. 1 (именно тайм-слот записи, а не чтения). Если бит, который посылает iButton, равен 1, то iButton просто ожидает появления следующего тайм-слота, пропуская текущий. При этом с линии данных master считывает 1. Если бит, который посылает iButton, равен 0, то iButton удерживает линию данных в состоянии лог. 0 определённое время, и master считывает с линии данных 0. Пример полной последовательности выполнения команды показан на рис. 1-8. Активность устройства master нарисована толстыми линиями. Серой линией показан ответ iButton. Тонкая линия показывает, что не активно ни одно из устройств. Линия, через которую происходит обмен данными, подключена к положительному полюсу источника питания (обычно +5 в) через специальный нагрузочный резистор.



Рис. 1-8: Пример чтения ROM (одна из разновидностей iButton, например - носитель уникального кода DS1990A. Он и используется в качестве ключа для электронного замка).

Статья была опубликована в журнале "Радио" 2001, № 2,3.

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