Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shrayner_YANY_2.doc
Скачиваний:
35
Добавлен:
04.03.2016
Размер:
833.54 Кб
Скачать

3.Описание протокола эмулятора iButton

Данные в соответствие с протоколом iButton Standarts передаются в дискретные временные интервалы, которые называются временными сегментами (типовая длительность около 60мкс) с помощью коротких и длинных импульсов. При этом инициатором обмена (ведущим) всегда является считывающее устройство. При соприкосновении с зондом или его эквивалентом прибор эмулятор iButton выдает ответный сигнал, за которым следует код семейства, 48-битный серийный номер ключа и код контроля. Длинные или короткие активные состояния логического нуля во временных сегментах представляют единицы или нули. Ведущая система запускает передачу каждого бита. В общем случае эмулятор может работать относительно мастера как на считывание, так и на запись информации в свою энергонезависимую память. Для записи логической 1 в течение типового сегмента времени однопроводная линия передачи должна за время выборки данного вернуться в состояние логической 1, для записи нуля в течение всего этого временного окна линия должна находиться в состоянии логического 0. (Рисунок 2.6).

Рисунок 2.6 – Схема мастера для считывания iButton

Синхронизация временного сегмента осуществляется отрицательным фронтом сигнала, который формируется мастером, при этом длительность состояния логического нуля на однопроводной линии связи должна составлять не менее 1мкс. В цикле считывания идеальный момент стробирования считываемого данного - это 8мкс после начала временного сегмента (Рисунок 2.7).

Рисунок 2.7 – Время синхронизации и стробирования

Задающее устройство подает на однопроводную линию активный логический 0 на время синхронизации данного (не менее 1мкс), после чего переходит в режим приема. Далее в течение всего времени выборки данного состояние линии определяется эмулятором iButton . После начала временного сегмента состояние линии с помощью пассивной нагрузки выдерживается на уровне логической 1 от 15 до 60мкс. Возможна приостановка сеанса связи на любое время между временными сегментами, при этом на однопроводной линии связи поддерживается состояние логической 1. Во всех сеансах связи первым передается младший значащий разряд данного.

3.1. Описание работы эмулятора домофонного ключа

Вывод микроконтроллера будет считаться логической единицей. После подачи питания на контроллер мы должны ждать момента, пока наша ножка микроконтроллера прикоснется заземления, ожидаем некоторое время и переводим порт из режима чтения в режим записи. Далее переводим шину в режим чтения и ждем, «Ответа» звукового сигнала от домофона, он нам ответит командой чтения, состоящую из восьми бит. Декодировать ее не будем, так как в 99,9% случаев он нам выдаст запрос 33H. Мы же просто отсчитываем 8 импульсов от мастера. Затем наша задача побитно выдать серийный номер, состоящий из восьми байт.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]