Советы

Считыватель RFID: рассказываем о технологии. Дамп данных с RFID-метки

Считыватель RFID: рассказываем о технологии. Дамп данных
с RFID-метки

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

Самое главное для рядового пользователя — это удобство в эксплуатации и надежность электронного замка. Этим требованиям удовлетворяют устройства, основанные на RFID (от англ. Radio Frequency IDentification — радиочастотная идентификация) — бесконтактной радиочастотной идентификации.

Подобная система идентификации состоит из стационарного приемника и носимого передатчика (транспондера).

Представленный в данной статье RFID замок работает подобным образом. Идентификация осуществляется на основе чтения 40-битного серийного номера карты Unique. Рабочее состояние сигнализируется звуковым сигналом. Замок может работать в двух основных режимах: чтения и регистрация карт Unique в памяти микроконтроллера. Всего в память можно записать 4 карты.

Краткие характеристики RFID замка;

Описание работы RFID замка

Всю схему можно разделить на две части: цифровую и аналоговую. Цифровая схема состоит из микроконтроллера, который управляет всем устройством. В схеме применен микроконтроллер типа PIC12F683 в корпусе DIP8.

Внутренний RC генератор микроконтроллера позволяет получить тактовую частоту с программируемым диапазоном частот 37кГц … 8МГц.

Аппаратный генератор сигнала ШИМ, содержащийся в контроллере, используется для генерации прямоугольных импульсов с чистотой 125 кГц, которые после усиления поступают на антенну считывателя.

Для генерации использован таймер TMR2, который с помощью цифрового компаратора автоматически сбрасывается после подсчета соответствующего количества импульсов. Кроме того, автоматически изменяется состояние выхода GP2 на противоположное.

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

Форма волны, полученный таким образом, направляется на вход усилителя, состоящего из транзисторов VT1 и VТ2, и далее на катушку-антену считывателя, которая используется для бесконтактного питания схемы, находящейся в Unique карте.

Для используемых Unique карт скорость передачи данных равна примерно 2 кбит/с (125000/64=1953bps). Уникальный код каждой авторизованной карты хранится в энергонезависимой памяти EEPROM микроконтроллера.

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

Две перемычки служат для установки режима работы микроконтроллера. Перемычка JP2 переводит контроллер в режим программирования новых карт, а JP1 меняет способ управления реле между режимом переключения и временным включением.

Аналоговая часть схемы служит для усиления сигнала, индуцированного в катушке и преобразования его в цифровую форму. Основным элементом здесь является сдвоенный операционный усилитель LM358. Катушка подключается к разъему CON1.

Индуцированный в ней сигнал поступает на анод диода VD1. Кроме полезного сигнала, также есть несущая волна (125 кГц) и случайные сигналы помех, поэтому в схему добавлен полосовой фильтр, который ограничивают полосу пропускания на частоте около 2 кГц.

После всей обработки, уже соответствующий цифровой сигнал поступает на вход GP3 микроконтроллера.

Антенна состоит из 40 витков эмалированного обмоточного провода диаметром 0,1…0,3 м
м, намотанного на временную оправку диаметром 40…60 мм. После этого катушку для защиты следует обмотать изоляционной лентой.

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

Питающее напряжение подается к выводу CON2. Его значение должно находиться в диапазоне 9…12 В. Более высокое напряжение не повредит стабилизатор, но из-за этого он может значительно греться.

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

Для записи карт необходимо при выключенном питании замкнуть перемычку JP2 и включить питание. Микроконтроллер подтвердит режим программирования двухсекундным звуковым сигналом и будет ожидать последовательного приближения четырех RFID карт.

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

Перемычку нужно разомкнуть, чтобы в случае отключения питания процессор не был снова переведен в режим программирования. Если число уполномоченных карт меньше чем четыре, то необходимо несколько раз приложить одну карту (в общем, должно быть 4 регистрации).

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

(62,6 Kb, скачано: 1 051)

  • Программирование микроконтроллеров
  • Как известно, во многих системах доступа используются карты RFID стандарта EM-Marin с частотой 125 КГц. Не исключением стал и домофон моего дома. Одна проблема – неплохо бы научиться копировать такие карты, ибо ценники на их копирование не радуют. В сети, конечно, существует довольно много схем копировщиков (да и китайцы продают свои копировщики за копейки - правда, они часто при копировании ставят свой пароль на болванки), но почему бы не собрать свой собственный копировщик? Вот об этом и нижеприведённая статья.

    Начинать разработку копировщика стоит с выяснения, а на что вообще можно скопировать такие метки? Почитав форумы, можно узнать, что наиболее распространёнными болванками для копирования являются T5577, T5557, EM4305.

    Теперь нужна схема. Возьмём аналоговую часть такого копировщика у RECTO и подключим её к микроконтроллеру atmega8. Дополним преобразователем уровней для подключения к COM-порту на базе max232 (желающие могут использовать ST232 или ещё что, чтобы подключится по USB, но у меня на компьютере COM-порт есть, как есть и переходник USB-COM, так что у меня такой задачи не стояло).

    Получится вот такая схема:

    Что она из себя представляет? Сдвоенный эмиттерный повторитель, колебательный контур, детектор и RC-фильтры. За счёт того, что RC-фильтры имеют разные постоянные времени, сравнивая между собой уровни напряжения между каскадами можно выделять изменение сигнала RFID-метки. Данной задачей у нас будет заниматься встроенный в atmega8 компаратор. Генерацию 125 КГц сигнала у нас будет обеспечивать встроенный в atmega8 ШИМ-контроллер.

    Комбинация RFID-метка – считыватель образуют трансформатор, где метка является вторичной обмоткой. Передача информации меткой производится путём изменения нагрузки вторичной обмотки. В результате в катушке считывателя (первичной обмотке) изменяется ток. Выделением этих импульсов тока и занимается приведённая выше аналоговая часть схемы. Колебательный контур нужно настроить на максимальное напряжение в контрольной точке, например, сматывая/наматывая витки катушки. Правда, говорят, лучше всё же напряжение немного меньше максимума - стабильнее работает. У меня в контрольной точке около 40 В.

    Копируемая метка использует кодирование типа манчестер . Для того чтобы расшифровать данный код, достаточно по любому изменению фронта сигнала пропускать три четверти периода слота бита и по следующему за ним перепаду сигнала фиксировать значение бита, которое будет соответствовать значению сигнала после перепада. При декодировании стоит задать окно, в которое должен произойти перепад сигнала – не более половины периода слота бита.

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

    А очень просто. Примем, что номер карты по нибблам имеет вид AB CD EF GH IJ . Карта выдаёт вот что:

    1) Девять единиц в начале;
    2) Ниббл A;
    3) Чётность ниббла A (1 бит);
    4) Ниббл B;
    5) Чётность ниббла B (1 бит);

    16) Ниббл I;
    17) Чётность ниббла I (1 бит);
    18) Ниббл J;
    19) Чётность ниббла J (1 бит);
    20) Ниббл чётности колонок для нибблов A B C D E F G H I J;
    21) Бит 0.

    Считываем все 64 бита, расшифровываем и получаем 40 бит кода карты. Логично, что если самому выдать такой код, замыкая катушку карты приложенной к считывателю, мы получим эмулятор карты. Но сейчас нас интересует не он.

    Карту мы читать научились, а вот как передать данные карте? Для этого нужно просто включать или выключать частоту 125 КГц в соответствии с протоколом обмена с картой. На время “молчания” считывателя карта питается запасённой энергией.

    Болванки T5557/T5577 полностью совместимы между собой по протоколам записи, однако, имеют немного разные минимальные и максимальные времена импульсов (к счастью, времена T5557 перекрываются с T5577). У EM4305 протокол записи иной.

    Чтобы записать T5557 я воспользовался кодом BolshoyK . В таблице ниже указаны параметры сигналов для брелока T5557.

    Запись начинается с сигнала StartGape – требуется отключить сигнал 125 КГц примерно на 300 мкс. Это сигнал карте, что сейчас ей начнут передавать данные. Дальше следует передать болванке информацию. Кодирование передаваемых данных – тот же манчестер.

    Болванки T5557/T5577 и EM4305 многофункциональные и умеют разные виды модуляций, поддерживают пароли и ещё много чего. В каждой болванке на борту имеется набор блоков по 32 бита. Назначение этих блоков разное. В некоторых – выдаваемый код ключа (он занимает два блока). В других – конфигурация. В третьих – идентификатор производителя. Мы будем использовать ограниченный функционал, поэтому желающие разобраться, что значат все эти биты, могут заглянуть в документацию к болванкам (я приложил её к архиву).

    Блоки собраны в две страницы (0 и 1).

    В нулевой странице есть блок конфигурации с индексом 0. Его мы и будем задавать. Для T5557/T5577 у нас будут следующие конфигурационные байты: 0x00,0x14,0x80,0x40 в соответствии с таблицей из документации (красным я отметил выбранные единичными битами режимы):

    Таким образом, у нас выбрано: частота передачи данных RF/64 (125 КГц/64), кодирование типа манчестер, выдача блоков до второго (в блоках 1 и 2 у нас будет располагаться код, выдаваемый картой). Перед записью следует отправить код операции (2 бита opcode) и один бит защёлки (lockbit). Коды операции 10b и 11b предшествуют записи данных для страниц 0 и 1 (младший бит задаёт номер страницы, старший - код записи страницы). У нас выдаётся 10b для кода операции (вся работа идёт с нулевой страницей) и 0b для бита защёлки. После передачи всех этих данных необходимо передать трёхбитный адрес записываемой страницы. Все передачи данных для T5557/T5577 ведутся от старшего бита к младшему.

    Задав код карты в блоках 1 и 2 и конфигурацию в блоке 0 можно получить дубликат RFID-метки. Как видите, всё просто.

    Следующий тип болванок – это EM4305. Вот разбираться с записью этой болванки мне пришлось самому. Она также состоит из блоков по 32 бита, но назначение их иное.

    Кодирование передаваемых карте данных – по перепадам за интервал времени. Если перепад за интервал времени был, то это ноль, а если не было - единица. Конфигурационное слово хранится в 4 байте и для себя я определил его так: 0x5F,0x80,0x01,0x00 (кодирование манчестер, RF/64, выдача слова 6). В слова 5 и 6 я записываю код карты (те самые 64 бита, что выдаёт карта). EM4305 требует чтобы передача велась от младшего бита к старшему. Карта понимает, что с ней начинают обмен после выдачи ей комбинации импульсов:

    1. Отключаем поле на 48 мкс.
    2. Включаем поле на 96 мкс.
    3. Выключаем поле на 320 мкс.
    4. Включаем поле на 136 мкс.
    5. Отключаем поле до следующей команды.
    Команда на запись блока карте передаётся так:
    1. Шлём вышеуказанную последовательность импульсов.
    2. Шлём 0b.
    3. Передаём CC0-CC1 и их чётность P. (0101b для записи, см. таблицы ниже).
    4. Передаём адрес блока (см. таблицу), два дополняющих нуля и чётность адреса.
    5. Передаём данные блока (32 бита).

    Формат команды


    Коды команд

    Формат адреса блока

    Таким образом задаётся конфигурация болванки EM4305 и её код.

    Собственно, ничего большего простому копировщику и не требуется.

    Я сделал несколько вариантов копировщика с разными дисплеями. Например, вот копировщик с дисплеем 1602:

    А вот видео работы копировщика на дисплее LPH9157-02.

    Характеристики:
    Частота метки: 125 кГц
    Источник питания: +5 В постоянного тока
    Выводимые данные: последовательно, 2 400 б/с 8N1. Выдается 10-цифровой серийный номер метки.

    Рисунок 1: Рисунок 2:

    Введение

    Данный RFID-считыватель работает с метками частотой 125 кГц в картах размером с кредитную карточку и 125 кГц брелоках (Рисунок 1). При этом используется протокол EM4100 . Когда вы приближаете RFID-метку на близкое расстояние (4-5 см) к катушке считывателя (L1), считыватель считает 10-цифровой уникальный идентификатор метки и передаст его как ASCII символы через последовательных выход со скоростью 2 400 бит в секунду.

    В схему входит сигнализатор, который издает прерывистые звуковые сигналы, когда метка успешно считывается.

    Описание

    Я попытаюсь в нескольких словах объяснить, как работает RFID-считыватель. Контроллер ATtiny13 используется функцию PWM для создания прямоугольного импульсного сигнала частотой 125 кГц. Данный сигнал выходит с вывода PB0. По заднему фронту импульса на выводе PB0 (Логический ноль "0"), транзистор T1 закрыт. Таким образом, катушка L1 возбуждается через резистор R1 (номиналом 100 Ом) от напряжения +5V. Когда импульс на выводе PB0 растет (Логическая единица "1") транзистор T1 открывается и один из выводов катушки L1 соединяется с землей GND. К катушке L1 параллельно подсоединяется конденсатор C2, создавая LC генератор. Данные переключения катушки L1 от логической единицы к логическому нулю происходят 125 000 раз в секунду (125 кГц).

    Рисунок 3: Колебания сигнала частотой 125 кГц, которые передаются от катушки L1 и конденсатора C2.

    RFID-считыватель передает энергию к транспондеру (метке) путем создания электромагнитного поля. Передача энергии между RFID-считывателем и меткой происходит на том же принципе, что и работа трансформаторов, преобразующих напряжение 220 В сети переменного тока в 12 В переменного тока, благодаря магнитному полю, которое создает первичная обмотка. В нашем случае первичная обмотка – это RFID-считыватель, а вторичная обмотка – это RFID-метка. Разница лишь в том, что в схеме RFID-считывателя нет стального магнитопровода между двумя катушками (одна катушка располагается на стороне считывателя, а другая катушка в RFID-метке). Компоненты D1 ,C3 и R5 составляют демодулятор AM сигнала (AM = Амплитудная модуляция).

    Передача данных между метками и считывателем.

    Как метки передают данные в считыватель? Очень просто! Когда метка хочет передать логический ноль "0" в считыватель, она прилагает "нагрузку" к своей линии источника питания для получения большей энергии из считывателя. Это вызывает небольшое падение напряжения на стороне RFID-считывателя. Этот уровень напряжения является логическим нулем "0" (смотрите рисунок 4). Одновременно с передачей считывателем сигнала частотой 125 кГц, он считывает напряжение передаваемого сигнала через фильтры D1, C3 и R5, C1. Когда метка снижает напряжение, как было сказано ранее, считыватель считывает данное падение напряжение как логический ноль "0". Если метка не требует дополнительной энергии, она не вызывает падение напряжения. Это соответствует логической единице "1" (Рисунок 3). Длина "единиц" или "нулей" зависит от скорости передачи последовательной передачи данных. Например, для несущей частоты 125 кГц мы не получаем скорость передачи данных 125 000 бит в секунду! Передача данных от метки в считыватель изменяется от 500 до 8 000 бит в секунду.

    Рисунок 4: Снимок экрана передаваемых данных...10101... Рисунок 5


    • 125 кГц RFID-метка передает 64 бита.
      1. Первые 9 бит – это стартовые биты передачи (всегда "1").
      2. Следующие 4 бита – это младшие биты идентификатора пользователя (D00,..., D03).
      3. Следующий 1 бит (P0) – это бит контроля четности предыдущих 4 бит.
      4. Следующие 4 бита – это старшие биты идентификатора пользователя (D04,..., D07).
      5. Следующий 1 бит (P1) – это бит контроля четности предыдущих 4 бит.
      6. Следующие 4 бита – это первая часть 32-битного серийного номера метки (D08,..., D11).
      7. Бит PC0 – это бит контроля четности битов D00, D04, D08, D12, D16, D20, D24, D28, D32 и D36 (биты располагаются в одной колонке).
      8. Биты PC1, PC2, PC3 представляют собой биты четности следующих трех колонок.

    Верификация данных выполняется с помощью контроллера ATtiny13, путем вычисления бита контроля четности каждой строки и каждой колонки с битами четности, которые получены в передаваемых данных RFID-метки.

    Изготовление катушки

    Катушка имеет диаметр 120 мм и 58 витков. На всякий случай, оставьте немного медного провода для дополнительных 2-3 витков (всего 60-61 витков). Для достижения максимального расстояния между RFID-меткой и считывателем (между меткой и антенной-катушкой считывателя) вам необходимо откалибровать катушку. Если подключить осциллограф в общую точку соединения R1 и L1 вы увидите место, помеченное красным кружком на рисунке слева. Это означает, что катушка L1 должна быть откалибрована.

    Как откалибровать катушку L1?

    Включите RFID-считыватель:

    1. После подключения щупа осциллографа в общую точку R1, L1 попытайтесь медленно удалить или добавить немного медной проволоки (увеличить или уменьшить количество витков) катушки, пока шум не будет устранен.

    2. Если вы не имеете осциллограф, тогда попытайтесь переместить RFID-метку близко к катушке L1, пока метка не будет распознана считывателем. Если ваша метка будет обнаружена на расстоянии 2 см от катушки L1, тогда попытайтесь добавить несколько витков медной проволоки для катушки L1, чтобы убедиться в обнаружении метки на более длинном расстоянии (например, 3 см).

    Попытайтесь выполнить те же действия, удалив витки медной проволоки с катушки L1. Таким образом, вы получите максимальный диапазон расстояния между метками и катушкой L1.

    Я изготовил катушку L1 диаметром 120 мм с 58 витками, но впоследствии захотел сделать ее более меньшего размера. Поэтому я согнул катушку пополам так, чтобы она стала похожа на "цифру восемь" (по форме напоминает восьмерку) и выполнил повторную калибровку. Таким образом, катушка L1 на рисунках фактически имеет диаметр менее 120 мм.

    Катушка L1 на рисунке имеет диаметр 60 мм и почти 116 витков.

    Программирование ATtiny13

    Набор битов конфигурации (фьюзов) для ATtiny13: High Fuse: 0x1F и Low Fuse: 0x7A . Данный набор настроек ATtiny13 работает с внутренним генератором частотой 9.6 МГц. Функция деления на 8 системного тактового генератора отключена.

    Прошивка версии v1.00 занимает 1024 байт и занимает 100% Flash-памяти контроллера ATtiny13. Возможно переход на любой другой 8-выводный AVR, такой как ATtiny85, будет хорошей идеей, если вы захотите добавить некоторые функции в исходный программный код.

    Проект спроектирован: Вассилис Серасидис (Vassilis Serasidis ) 18 августа 2012 года
    Язык программирования: С
    Среда разработки:
    Микроконтроллер: ATtiny13 (внутренний генератор 9.6 МГц)

    Список радиоэлементов

    Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
    IC1 МК AVR 8-бит

    ATtiny13

    1 В блокнот
    IC2 Операционный усилитель

    LM358

    1 В блокнот
    IC3 Линейный регулятор

    LM78L05

    1 В блокнот
    T1 MOSFET-транзистор

    BS170

    1 В блокнот
    T2 Биполярный транзистор

    BC547B

    1 В блокнот
    D1 Выпрямительный диод

    1N4148

    1 В блокнот
    C1 Конденсатор 12 нФ 1 В блокнот
    C2 Конденсатор 1.5 нФ 1 В блокнот
    C3 Конденсатор 4.7 нФ 1 В блокнот
    C4, C5 Электролитический конденсатор 100 мкФ 2 В блокнот
    C6 Конденсатор 100 нФ 1 В блокнот
    R1 Резистор

    100 Ом

    1 В блокнот
    R2 Резистор

    1 кОм

    1 В блокнот
    R3 Резистор

    390 кОм

    1 В блокнот
    R4, R8 Резистор

    33 кОм

    2 В блокнот
    R5 Резистор

    270 кОм

    1 В блокнот
    R6 Резистор
    19 сентября 2013 в 18:32

    Бюджетный UHF RFID считыватель и его развитие

    • Беспроводные технологии

    Здравствуйте, досточтимые леди и джентльмены.
    Самый дешевый UHF RFID считыватель или считыватель стандарта EPC Gen2 стоит в розницу никак не меньше 200 USD.

    Как можно сделать работоспособный UHF RFID считыватель из деталей за 10 USD, и как можно было бы из этого извлечь пользу, рассказано ниже.

    Большинство современных RFID считывателей стандарта EPC Gen2 использует специализированные микросхемы. Их выпускают компании Impinj, AMS и Phychips. Самые дешевые микросхемы стоят около 20 USD в партиях по 1000 штук. RFID считыватели получаются замечательные: мощные, шустрые и дальнобойные - но дорогие.
    Весной этого года в Интернете появилась статья "Simple Low Cost UHF RFID Reader " о том, как из распространенных радиодеталей стоимостью около 5 USD в рознице собрать действующий RFID считыватель. Идея вроде как проста, но до реализации дошло только недавно. Предпосылка к разработке базируется на том, что очень часто вблизи от антенны нужно не спеша считать пару тройку меток, и платить много денег за считыватель скорострельностью 200-500 меток в секунду ни к чему. Блок схема считывателя представлена на картинке.


    Её прелесть в простоте. Основой является обычный микроконтроллер, который формирует на ножке GPIO сигналы стандарта EPC Gen2, нужные для опроса метки. Сигналы передаются на микросхему трансмиттера Melexis TH72035, затем на антенну через каплер (coupler) Johanson 0910CF15B0100. Приемник собран на одном компараторе MAX931 по следующей схеме.


    Логические сигналы с приемника поступают на другой вывод GPIO микропроцессора. Получаем простой софтовый UHF RFID считыватель. Конечно, написать софтовый EPC Gen2 RFID считыватель - это не фунт изюму. Но если четко определить цели и использовать только нужное подмножество протокола EPC Gen2, то задача упрощается значительно.
    Авторы описываемого проекта одной из целей его дальнейшего развития считают размещение всех компонентов RFID считывателя на одной плате. Но не будет ли интереснее пойти в противоположном направлении? То есть разделить считыватель на физически обособленные функциональные модули и потом из разных модулей строить RFID считыватель с необходимыми характеристиками. Всё, что внизу, только идея, без детальной проработки.

    Понятно, что главный модуль - микропроцессорный. Наверное, сделать его нужно на Cortex-M0, вывести на разъемы UART и USB с целью управления считывателем. Для подключения модуля приемопередатчика использовать разъем на 6 контактов: Rx, Tx, 2 на питание приемопередатчика, 2 GPIO. Таких разъемов можно сделать 2-4, насколько выводов микропроцессора хватит.
    Модуль приемопередатчика подключаться к микропроцессорному модулю будет напрямую или через короткий кабель. Пожалуй, надо делать несколько вариантов модулей приемопередатчика с разной мощность и ценой, но одинаковым разъемом. 5-ый контакт разъема можно использовать для включения приемопередатчика, а 6-ой можно использовать под какой-то датчик при необходимости. Имеет смысл сделать печатную плату приемопередатчика с металлизированными торцевыми полуотверстиями. Тогда её можно будет припаивать к печатным платам с разными антеннами или печатной плате с коаксиальным разъемом SMA.
    Итак, соединив микропроцессорный модуль и модуль приемопередатчика, мы получаем RFID считыватель. Но только ради этого городить огород не стоит. Пойдем дальше. Воткнем в 6-контактный разъем микропроцессорного модуля вместо приемопередатчика плату с драйвером RS422 и розеткой RJ45 (пара 1 - прием, пара 2 - передача, 3 - питание, 4 - GPIO). Такую же воткнем в приемопередатчик. Понятно, что теперь можно соединять микропроцессорный модуль и приемопередатчик с помощью любого патч-корда или использовать для соединения офисную СКС. В общем, антенна от микропроцессорного модуля может располагаться весьма далече. И никакого коаксиала.
    Ну и это еще не всё :) RS422 - это шина. В приемопередатчике можно разместить микросхему D-триггера. Модули приемопередатчика соединить последовательно патч-кордами. Правда необходим второй разъем RJ45 или Т-разветвитель, если вместо D-триггера поставить синхронный счетчик. С помощью двух GPIO в четвертой паре UTP можно выбирать нужный приемопередатчик. Получается распределенный RFID считыватель, как на картинке.


    Зачем нужен USB: а для того, чтобы уметь присоединить считыватель к планшетнику с Android.

    Решение применимо, где не нужна большая скорость считывания меток и дальнобойность.
    1. Для гастрономов не годится. Это RFID магазины будущего. А RFID магазины настоящего - это универмаги (обувь и одежда). Там RFID считыватели уже используются в примерочных (вместе в интерактивным дисплеем), на кассах и умных полках с товаром.
    2. Склады с европоддонами (цепочка модулей приемопередатчика там, где находятся левые углы палет).
    3. Пропускная система на разные массовые мероприятия.
    4. Наверняка где-то ещё.

    Данный проект был сделан по просьбе друга для установки на дверь в складское помещение. В дальнейшем было изготовлено ещё несколько по просьбе друзей и знакомых. Конструкция оказалась простой и надёжной. Работает данное устройство так: пропускает только те RFID-карты, которые были заранее занесены в память устройства.

    Основные характеристики контроллера доступа:

    RFID-карты формат EMmarin 125кгц

    Микроконтроллер ATtiny13

    Количество карт/брелков - 10.
    Кнопка "OPEN" нормально разомкнутая, защищена от залипания.
    Выход управления замком, сильноточный полевой транзистор, режим работы на защёлку (включается на время).

    Питание - 12в.
    Потребление в дежурном режиме - 35 мА.
    Количество карт/брелков доступа - 10 шт.
    Длина связи с кнопкой "OPEN" - 10 метров.
    Тип выхода управления замком - открытый сток (мощный полевой транзистор, ток до 2А).

    Принципиальная схема контроллера ограничения доступа на RFID-картах 125КГц (Em-Marin) на 10 карт (на микроконтроллере ATtiny13):

    Если надо управлять электромагнитным замком, требуется установка выходного реле с требуемой контактной группой.

    Внешний вид собранного RFID-валидатора:

    Установка Fuse-битов в PonyProg:

    Работа устройства, скачать видеоролик , записанный автором.
    Также один из читателей опубликовал видео работы собранного устройства:

    Инструкция по программированию

    Рабочий режим - при подачи 12В на контроллер светодиод мигает 1Гц.
    Режим программирования - светодиод мигает 2Гц.
    При нажатии на кнопку "OPEN" серия коротких звуковых сигналов во временя открытия замка.

    Звуковые сигналы

    1 короткий сигнал - карта или брелок записан в память контроллера.
    2 коротких сигнала - карта или брелок уже записан в памяти контроллера.
    5 коротких сигнала - выход из режима программирования.
    1 длинный сигнал - память карт-ключей стерта из контроллера.
    Непрерывные короткие сигналы - память карт/ключей заполнена, максимально 10шт. (требуется отключение питания контроллера).

    Запись МАСТЕР-КАРТЫ и времени открывания замка

    1 - Выключить питание контроллера.
    2 - Нажать кнопку "OPEN"
    3 - Удерживая кнопку подключить питание к контроллеру, через 5 сек. контроллер "ПИСКНЕТ", светодиод будет мигать с частотой 2 Гц.
    4 - Отпустить кнопку.
    5 - Поднести в зону считывания карту или брелок, раздастся одиночный звуковой сигнал, Мастер-карта или брелок ЗАПИСАН, при этом запишется время открытия замка 1 сек.

    6 - Удерживая карту или брелок в зоне считывания - считаем звуковые сигналы. Кол-во определяет требуемое время отрывания замка, приращение 1 сек., но не более 32 сек.
    7 - Отключаем питание контроллера или выдерживаем паузу 30 сек.

    Стирание всей памяти карт-брелков

    1 - Рабочий режим.
    2 - Нажимаем кнопку "OPEN" и удерживая подносим к считывателю МАСТЕР-карту или брелок и держим, через 5 сек раздастся продолжительный звуковой сигнал - память карт/брелков стёрта.
    3 - Отпускаем кнопку отнимаем карту или брелок.