Радиолоцман Электроника en
расширенный поиск +
  
Срезы:Arduino
Безопасность
Беспроводные
Микроконтроллеры

27-01-2012

Универсальный RFID ключ. Часть 1 - Технология RFID, передача данных, RFID метки (ключи)

В последнее время широкую популярность приобрели RFID проекты и различные устройства на базе этой технологии, которые могут применяться в системах безопасности и охраны, в устройствах разграничения доступа в различные помещения с помощью RFID ключей. На некоторых предприятиях и организациях такие системы, за счет специализированногог программного обеспечения, применяются для фиксирования рабочего времени, учета материальных ценностей и пр. Дешевые RFID технологии в течении длительного времени были довольно небезопасными, и они до сих пор используются в системах разграничения доступа. Поэтому было решено изготовить универсальный RFID ключ, который сможет эмулировать 125 кГц RFID метки. В статье мы рассмотрим простую конструкцию на микроконтроллере Atmel AVR, которая позволит эмулировать RFID ключ, зная его серийный номер. Программа микроконтроллера написана в среде Arduino.

Универсальный RFID ключ

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

  • работать предстоит с 125 кГц RFID устройствами, которые используют тот же метод кодирования, что и в этом проекте;
     
  • необходимо знать номер RFID метки (который нанесен обычно на обратную сторону метки/карты) т.к. этот номер вводится в универсальный RFID ключ для его эмуляции.

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

Обычно 125 кГц RFID метки имеют размеры визитной карточки или небольшого брелока и помещены в пластиковую оболочку. Физически метка состоит из катушки индуктивности, подключенной к микроконтроллеру, и когда метка оказывается в непосредственной близости от считывающего устройства, энергия индуктивным способом передается от считывателя к внутреннему микроконтроллеру RFID метки.

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

Технология RFID - передача данных

Автор для экспериментов использовал битовый шаблон, который выглядел следующим образом:

1111111110010111000000000000001111100010111110111101001111010000

Что на самом деле он означает, мы рассмотрим ниже.

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

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

Многие RFID карты (ключи) имеют на обратной стороне напечатанный номер (см. рисунок), который говорит, какие данные хранятся в карте.

RFID карта с нанесенным серийным номером

К примеру, карта с нанесенным номером 0007820706 119,21922 содержит битовый шаблон:

1111111110010111000000000000001111011110101001010101000010101100

Первые 9 бит 111111111 – это стартовая последовательность, которая для считывающего устройства означает, что далее будет отправлена последовательность данных. Также считывающее устройство использует эту последовательность для фиксирования данных на карте.

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

00101 11000 00000 00000 01111 01111 01010 01010 10100 00101 0110 0

Если опустить бит четности, то получим следующий вид последовательности:

BIN
0010
1100
0000
0000
0111
0111
0101
0101
1010
0010
0110
0
HEX
2
C
0
0
7
7
5
5
A
2
Контрольная
сумма
STOP

Переданный код в шестнадцатеричном формате: 2C 0077 55A2. Если разбить его на три группы, то получим: 2C, 0077 (десятичное значение 119), 55A2 (десятичное значение 21922), что соответствует номеру на RFID карте 119,21922.

Это же число, напечатаное на карте в десятичной форме – 0007820706, соответствует 7755A2 (HEX). Константа 2C передается всеми картами этой системы – идентификатор RFID системы. Именно указанное число в десятичной форме (0007820706) потребуется нам для эмуляции RFID ключа.

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

Часть 2 - Схема универсального RFID ключа, печатная плата

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

На английском языке: A Universal RFID Key. Part 1 - How does RFID work, Whats stored on the card

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

Срезы ↓
радиолоцман вконтакте радиолоцман одноклассники радиолоцман facebook радиолоцман twitter радиолоцман google плюс