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

Введение

 

Создание современных средств вычислительной техники связано с задачей объединения в единый комплекс различных блоков ЭВМ, устройств хранения и отображения информации, измерительных приборов, устройств для связи с объектом (УСО), аппаратуры передачи данных и непосредственно ЭВМ. Эта задача возлагается на унифицированные системы сопряжения – интерфейсы. Термин «интерфейс» обычно трактуется как синоним слова «сопряжения» и понимается как совокупность схемотехнических средств, обеспечивающих непосредственное взаимодействие составных элементов устройства, системы. Нередко это определение используется для обозначения составных компонентов интерфейса. В одних случаях под интерфейсом понимают программные средства, обеспечивающие взаимодействие программ операционной системы, в других – устройства сопряжения, обеспечивающие взаимосвязь между составными функциональными блоками или устройствами системы. Для акцентирования внимания на комплексном характере интерфейса используются термины «интерфейсная система», «программный интерфейс», «физический интерфейс», «аппаратный интерфейс», и т.п.

Под стандартным интерфейсом понимается совокупность унифицированных аппаратных, программных и конструктивных средств, необходимых для реализации взаимодействия различных функциональных элементов в автоматических системах сбора и обработки информации при условиях, предписанных стандартом и направленных на обеспечение информационной, электрической и конструктивной совместимости указанных элементов. Структурная схема интерфейса показана на рис.1-1.

.

Рис.1-1: Структурная схема интерфейса: ФБ – функциональный блок,

К – контроллер, УБ – управляющий блок, ИБ – интерфейсный блок

 

Средства интерфейса обеспечивают совместную работу независимых разнородных функциональных блоков системы. Условно ИБ можно разделить на две части: часть, обращенная к ФБ и учитывающая его специфику, и часть, поддерживающая взаимодействие с другими устройствами в рамках требований интерфейса.

Перейдем непосредственно к интерфейсам в сенсорике. Сенсорный интерфейс содержит гибкую подложку, имеющую поверхность, которая сопрягается с одним из объектов. В гибкой подложке встроен, по меньшей мере, один сенсор. Сенсор приспособлен измерять параметр, такой как разность напряжений, световая интенсивность, интенсивность звука, тепловой поток, электрический ток, диффузия влаги, диффузия химических соединений, магнитный поток, поток нейтронов, ионизирующее излучение, температура, перемещение, скорость, ускорение, механическое напряжение, деформация, давление и сила и их комбинации.

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

Устройство обработки данных может содержать компонент, такой как микропроцессор, интегральную схему прикладной ориентации, программируемую вентильную матрицу, а также устройство обработки цифровых сигналов и их комбинации. В некоторых вариантах устройство связи содержит радиопередатчик и радиоприемник, причем эти устройства могут быть встроены в подложку. Источник питания может содержать компонент, такой как электрическая батарея, топливный элемент, а также радиоизотопный электрический генератор.

Применение

Замки и ключи, простые идентификаторы личности, например в системах контроля и управления доступом (СКУД). В этом качестве они успешно конкурируют с бесконтактными карточками, использующими технологию RFID.

Имеются устройства iButton с поддержкой криптографии, что позволяет создавать на их основе защищённые хранилища небольших объёмов данных или средства сильной аутентификации. Такие устройства могут конкурировать со смарт-картами в некоторых применениях.

Устройства использующие сенсорный интерфейс очень удобны для измерений. Не требуется отдельного питания, возможно подключить по одному проводу целую гирлянду разнообразных датчиков. Система таких датчиков легко контролируется на предмет аварий. Записи о калибровках могут храниться прямо в датчиках. Измерение температуры — одно из самых массовых применений сенсорных интерфейсов. В сельском хозяйстве применяется для многоточечного контроля температуры в теплицах, ульях, элеваторах, инкубаторах, овощехранилищах. Популярны домашние метеостанции, подключаемые по этому интерфейсу.

 

Сенсорные микросхемы популярны для маркировки и хранения параметров дополнительного оборудования к установкам. Например, медицинские и лабораторные приборы, использующие в работе множество различных сменных головок и датчиков, снабжаются микросхемой. При подключении прибор сразу распознаёт сменную головку и корректно устанавливает режим работы. Аналогично может контролироваться наработка узлов с ограниченным ресурсом.

Некоторые устройства доступны в небольших корпусах (MicroCAN), которые выглядят как литиевые батарейки для часов или небольшие конденсаторы, в таких упаковках они называются iButton. Основной компанией занимающейся производством iButton является Dallas Semiconductor.

 


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

Технология

 

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

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

 

 

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

 

 

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

 

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

 

 

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

 

 

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

 

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

 

 

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

Протокол

 

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

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

 

 

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

 

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

 

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

Если iButton принял reset или если он был отсоединён от считывающего устройства, он будет анализировать линию данных, и как только линия снова достигнет высокого уровня, iButton сгенерирует presence. Полная последовательность импульсов reset и presence показана на рис. 2-6.

 

 

Рис. 2-6: Импульсы 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. Пример полной последовательности выполнения команды показан на рис. 2-7. Активность устройства master нарисована толстыми линиями. Серой линией показан ответ iButton. Тонкая линия показывает, что не активно ни одно из устройств. Линия, через которую происходит обмен данными, подключена к положительному полюсу источника питания (обычно +5 в) через специальный нагрузочный резистор.

 

 

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