OKW: приборные корпуса из Германии

RFID считыватель на микроконтроллере ATtiny13

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

Какими будут станции зарядки электромобилей в 2030 году: лучшие решения и мировой опыт для отечественных разработок

Любая система радиочастотной идентификации (RFID) состоит из считывающего устройства (считыватель, ридер или интеррогатор) и транспондера (он же RFID-метка, иногда также применяется термин RFID-тег). В статье мы рассмотрим простое устройство для считывания RFID ключей, поддерживающих протокол EM4100 и работающие на частоте 125 кГц. Данный тип RFID-ключей может иметь форму брелока или кредитной карточки (Рисунок 1).

Рисунок 1. Конструктивное исполнение RFID-ключей.

Основным компонентом считывающего устройства является микроконтроллер Atmel AVR ATtiny13, который считывает 10-значный уникальный идентификационный номер ключа и передает его в кодировке ASCII по последовательному интерфейсу (UART) со скоростью 2400 бит/с Host-устройству. Другими словами, считыватель представляет собой отдельный модуль, подключаемый к основному процессору или микроконтроллеру системы (Рисунок 2).

Внешний вид модуля RFID считывателя
Рисунок 2. Внешний вид макетной платы модуля RFID считывателя.

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

Принципиальная схема RFID считывателя.
Рисунок 3. Принципиальная схема RFID считывателя.

Рассмотрим основные особенности работы схемы. Микроконтроллер использует встроенный ШИМ модулятор для генерирования на выходе PB0 прямоугольных импульсов с частотой 125 кГц. Если на выходе PB0 лог. 0 (спадающий фронт импульса), транзистор T1 находится в закрытом состоянии, и на катушку L1 подается напряжение питания +5 В через резистор R1. Нарастающий фронт на выходе PB0 (лог. 1) открывает транзистор T1, и верхний по схеме вывод катушки подключается к «земле». В этот момент катушка оказывается включенной параллельно конденсатору С2, образуя LC генератор (колебательный контур). Переключение транзистора происходит 125,000 раз в секунду (125 кГц). ). В итоге, катушкой генерируется сигнал синусоидальной формы с частотой 125 кГц (Рисунок 4).

Принципиальная схема RFID считывателя.
Рисунок 4. Сигнал с частотой 125 кГц, генерируемый колебательным контуром, образованным катушкой L1, С2.

Модуль считывателяя генерирует электромагнитное поле, энергия которого используется для питания RFID-ключа. В основе передачи энергии между RFID-ключом и считывателем лежит принцип работы обычного трансформатора: первичная обмотка трансформатора создает ЭДС индукции во всех остальных обмотках. Для нашего случая первичной обмоткой является катушка считывателя, а вторичной – катушка RFID-ключа. Элементы D1, C3 и R5 образуют демодулятор сигнала с амплитудной модуляцией.

Обмен данными между ключом и считывающим устройством

Процесс обмена данными между RFID-ключом и считывателем очень прост, но продуман до мелочей. Если RFID-ключ должен передать лог. 0, то он к своему источнику питания подключает определенную «нагрузку», что требует больше энергии, передаваемой считывателем. Это вызовет небольшую «просадку» напряжения на стороне считывателя; именно этот уровень воспринимается считывателем как лог. 0 (Рисунок 5).

Внешний вид модуля RFID считывателя
Рисунок 5. Кадр передачи последовательности битов ...10101....

RFID ключ в общем случае передает 64 бита данных в следующей последовательности (Рисунок 6):

  1. Первые 9  бит  (всегда лог. 1) – стартовые биты, свидетельствующие  о начале обмена данными.
  2. 4 бита – младшие значащие биты пользовательского идентификационного номера (D00 – D03).
  3. 1 бит (P0) – бит контроля четности предыдущих 4 бит.
  4. 4 бита – старшие значащие биты пользовательского идентификационного номера (D04 – D07).
  5. 1 бит (P1) – бит контроля четности предыдущих 4 бит.
  6. 4 бита – первая часть 32-битного серийного номера RFID ключа (D08 – D11).
  7. 1 бит (P2) – бит контроля четности предыдущих 4 бит.
  8. Далее передаются следующие группы по 4 бита серийного номера ключа, каждая с битом контроля четности.
  9. Затем передаются 4 бита контроля четности битов по столбцам. К примеру, бит контроля четности PC0 для битов D00, D04, D08, D12, D16, D20, D24, D28, D32 и D36.
  10. 1 стоп-бит.
Внешний вид модуля RFID считывателя
Рисунок 6. Данные (64 битная последовательность), которые передает RFID-ключ.

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

Конструкция катушки.

Бескаркасная катушка индуктивности в считывающем устройстве диаметром 120 мм намотана проводом диаметром 0.5 мм и имеет 58 витков, однако автор рекомендует при намотке добавить еще 2 – 3 витка. С целью повышения эффективности катушки и увеличения расстояния считывания данных RFID-ключа необходимо выполнить калибровку колебательного контура. Если, подключив осциллограф в точку соединения R1 и L1, на экране прибора вы увидите искаженные пики (Рисунок 7), то это говорит о необходимости калибровки катушки L1.

Принципиальная схема RFID считывателя.
Рисунок 7. Искажения сигнала, генерируемого катушкой L1, говорит о необходимости калибровки.

Калибровку можно выполнить двумя способами после подачи напряжения питания на модуль.

  1. Подключите щупы осциллографа в точку соединения R1 и L1 и, увеличивая или уменьшая количество витков катушки L1, добейтесь устранения искажения сигнала.
     
  2. Если у вас нет осциллографа, то медленно подносите RFID-ключ к катушке до момента распознавания ключа, о чем свидетельствует звуковой сигнал. Если ключ определяется с расстояния 2 см, то необходимо добавить/удалить несколько витков и после этого снова проверить расстояние, с которого уверенно считывается ключ. С помощью калибровки автор схемы добился уверенного считывания RFID-ключа с 3 см.

При программировании микроконтроллера необходимо установить следующую конфигурацию Fuse-битов: младший байт 0x7A и старший байт 0x1F (микроконтроллер работает от встроенного тактового генератора 9.6 МГц, делитель тактовой частоты на 8 отключен). Программный код занимает в памяти микроокнтроллера 1024 Байт – используется весь доступный объем памяти микроконтроллера ATtiny13. Поэтому в дальнейшем при расширении функционала считывателя лучше использовать другой 8-выводный микроконтроллер AVR, например ATtiny85.

Загрузки:

Исходный код программы микроконтроллера (AVRStudio 6), прошивка (.hex) и принципиальная схема – скачать

Дополнительные материалы

Описание протокола EM4100 (англ.)

serasidis.gr

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: 125 kHz RFID Tag Reader

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • Здравствуйте! Подскажите, пожалуйста, как рассчитать напряжение на выходе операционного усилителя второго (после транзисторногого ключа) в момент, когда транзистор открыт и когда закрыт.