• /
  • /

Разработка RFID и NFC-устройств: теория и практика

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

Как работают технологии RFID и NFC?

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

Связь ближнего поля (NFC) – это технология беспроводной связи ближнего действия, использующая высокочастотные радиоволны для идентификации объектов и обмена данными с другими NFC-устройствами. Если RFID использует широкий спектр радиочастот, то NFC-устройства работают только на частоте 13,56 МГц. Эта технология возникла из RFID, и ее можно считать более тонко настроенным подтипом радиочастотной идентификации.
Фотография, на которой смартфон и NFC-считыватель используются для бесконтактной оплаты в магазине.
Технология NFC обычно используется в системах бесконтактных платежей, применяемых в розничных магазинах.
NFC-системы состоят из тех же элементов, что и RFID-устройства: считывателя (интеррогатора), метки (целевого устройства) и ПО для NFC. Работают они так же, как RFID, но имеют гораздо меньший радиус действия (до нескольких сантиметров). Именно поэтому связь ближнего поля в основном используют в системах бесконтактных платежей. Однако она может иметь и другие применения, схожие с тем, как используют RFID. В отличие от RFID, NFC-устройства способны к двусторонней коммуникации. Поэтому они подходят для обмена данными.

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

NFC-системы могут работать в активном и пассивном режимах связи.

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

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

Активное NFC-устройство может работать в любом из следующих режимов:

  • Режим эмуляции карты. Устройство работает как бесконтактная смарт-карта. Радиочастотное поле генерируется считывателем. Типовое применение: смартфон как инструмент оплаты.
  • Режим чтения/записи. Устройство выступает в качестве считывателя для NFC и RFID-меток. Когда метка находится достаточно близко, устройство обнаруживает ее с помощью механизма антиколлизии. Затем оно считывает данные с метки или записывает на нее новую информацию. Типовое применение: умные постеры.
  • Режим Peer-to-peer. Оба устройства выступают в качестве считывателей и меток, по очереди передавая и получая данные. Это позволяет им обмениваться изображениями, электронными визитками и т.п. Этот режим используется в технологии Android Beam.

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

RFID и NFC-метки

RFID-метки

RFID и NFC-метки состоят из трех элементов: субстрата, антенны и микрочипа. Метки бывают разных форм и размеров: пластиковые карты, брелоки-контроллеры, бумажные или пластиковые стикеры, жетоны и др. Микрочип отвечает за модуляцию и демодуляцию сигналов. Он также хранит и обрабатывает информацию.
Различные форм-факторы RFID-меток: пластиковая карта, брелок-контроллер, стикер и чип.
RFID-метки бывают трех типов:

  • Пассивные метки не имеют источника питания. Они получают энергию из радиосигнала, посылаемого считывателем.
  • Активные метки имеют собственный источник питания (обычно маленькую батарейку). Благодаря этому сигналы таких меток сильнее, чем у пассивных, что увеличивает их радиус считывания. Кроме того, они могут периодически посылать сигнал.
  • Полупассивные (полуактивные) метки тоже имеют собственный источник питания, но не посылают периодических сигналов. При получении сигнала от считывателя батарея лишь активирует метку. Так что энергия, полученная от считывателя, полностью отражается. Радиус действия таких меток также больше, чем у пассивных.

RFID-системы могут работать на разных частотах. Обычно они используют следующие диапазоны. Обратите внимание, что диапазоны частот определяются государственными стандартами и нормативами.

  • Низкочастотный диапазон, а именно 120-140 кГц. В идеальных условиях такие радиоволны могут проходить до 50 см. Но на практике их радиус не превышает 10-20 см. Низкочастотные RFID-метки не имеют стандартов безопасности. Поэтому их не следует использовать там, где требуется шифрование связи. Кроме того, такие радиоволны проходят через металлы и жидкости.
  • Высокочастотный диапазон, а именно 13,56 МГц. Радиус считывания таких систем обычно составляет от 10 до 20 см, но может достигать и 1 м. Высокочастотные радиоволны не проникают сквозь жидкости и плотный металл, но легко проходят сквозь большинство других материалов, в том числе через тонкий металл.
  • Ультравысокочастотные метки работают в диапазоне 863–868 МГц (Россия), 865–868 МГц (Европа) и 902–928 МГц (Северная Америка). Их радиус действия обычно не превышает 12 м. Некоторые ультравысокочастотные RFID-системы используют частоту 433 МГц и могут работать на 100 м.

Есть RFID-метки, которые работают на частотах 2,45-5,8 ГГц, 3,1-10 ГГц и 24,125 ГГц. Однако частота выше, чем 928 МГц, нетипична для коммерческих меток. В большинстве систем применяются LF, HF и UHF-метки.

NFC-метки

Связь ближнего поля работает на той же частоте, что и высокочастотные RFID-метки, – 13,56 МГц. NFC-Forum выделяет следующие пять типов NFC-меток.
Таблица с техническими характеристиками различных типов NFC-меток по классификации NFC-Forum.
Разработка RFID и NFC-систем обычно не требует дополнительного проектирования меток. Как правило, заказчикам требуется создать нестандартное устройство со считывателем, что требует проектирования печатной платы и разработки встроенного ПО.

RFID и NFC-считыватели

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

  • Мобильные (ручные) считыватели часто имеют форму пистолета;
  • Стационарные считыватели можно закрепить на стене или рядом с дверью;
  • Закрепляемые на транспорте или устройствах для транспортировки материалов.
Фотографии трех типов RFID и NFC-считывателей: стационарного, ручного и закрепляемого на транспорте.
Радиус действия RFID и NFC-считывателей зависит от мощности передачи, которая, в свою очередь, определяется типом антенны, рабочей частотой и источником питания. Максимальная дальность считывания может ограничиваться условиями окружающей среды и местным законодательством.

Многие RFID-устройства оснащаются встроенным NFC-модулем, что позволяет им считывать как RFID, так и NFC-метки. В устройстве могут быть и другие модули: 1D/2D-сканер, камера, GPS или модуль сотовой связи (для случаев, когда Wi-Fi недоступен).

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

  • Пассивный считыватель и активные метки. Считыватель не имеет источника питания и может только получать данные с активных меток.
  • Активный считыватель и пассивные метки. Считыватель посылает сигнал-опрос пассивным меткам и питает их.
  • Активные считыватели и активные метки. Оба компонента имеют источник питания. В такой системе могут также использоваться полупассивные метки.

В отличие от NFC-устройств RFID-считыватели могут сканировать за раз более одной метки. Для этого используются алгоритмы антиколлизии – вероятностный или детерминированный.

Для передачи данных со считывателя на хост-компьютер могут использоваться различные типы сетевого соединения. В стационарных считывателях обычно применяют USB, последовательный интерфейс, Ethernet, Wi-Fi и POE. В мобильных устройствах обычно применяют Wi-Fi, Bluetooth и USB. Зарядка устройства также может производиться через сетевое соединение.

Разработка RFID и NFC-устройств

Если вашему бизнесу требуется RFID или NFC-система, свяжитесь с нами напрямую, и мы подскажем, как можем помочь. Обычно мы можем предложить несколько вариантов.

Если систему можно создать, используя готовые считыватели и метки, то вам потребуется только разработка программного обеспечения. Некоторые RFID и NFC-системы можно приобрести вместе с пакетом совместимых программ. Однако таких немного.

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

Разработка печатной платы для RFID или NFC-устройства начинается с выбора считывателя. Здесь нужно учесть разные факторы: требуемая дальность считывания, подходящий диапазон частот, условия эксплуатации и др. Потребуются также микроконтроллер или микропроцессор и различные пассивные компоненты. Еще один обязательный элемент – это антенна, но обычно используют выносную. В зависимости от того, какие дополнительные функции должно выполнять устройство, могут потребоваться дополнительные модули и компоненты.

Создание NFC или RFID-устройства на заказ также включается в себя разработку программного обеспечения. Обычно такие системы требуют трех видов ПО.

1. Прошивка отвечает за работу аппаратной части. В метках уже есть заводская прошивка, которая не требует доработки. Но для считывателя, создаваемого на заказ, потребуется разработка прошивки. Для простых решений ее можно написать на C. Для сложных решений, скорее всего, понадобиться писать код на C++.
2. Приложение, т.е. высокоуровневое ПО, которое управляет обработанными данными, собранными считывателем, для решения конкретных бизнес-задач.
3. Связующее ПО (Middleware), которое находится между прошивкой и высокоуровневым приложением. NFC-устройства, как правило, не требуют такого ПО – если только они не используются в качестве посредника между меткой и корпоративной информационной системой, что нетипично. Связующее ПО обычно разрабатывают для RFID-систем.

Связующее ПО соединяет считыватель и собранные им данные с приложением или корпоративной информационной системой. Оно обрабатывает первичные данные со считывателя, а затем передает их дальше в качестве агрегированных данных. Оно также предоставляет интерфейс уровня приложения для управления считывателями и запросом данных.
Схема, показывающая роль связующего ПО в RFID или NFC-системе.
Связующее ПО и ПО уровня приложения может быть написано на C++, C#, Python, Java и других языках. Выбор зависит от размера системы, сложности выполняемых ею задач и требованиями аппаратной части. Если необходимо кроссплатформенное решение, то лучшим вариантом является Qt-разработка. Важнейшее требование к языку для создания связующего ПО – это его способность взаимодействовать с аппаратной частью, с одной стороны, и с высокоуровневым ПО, с другой.

Ниже приведены два проекта из портфолио КЕДР Solutions, которые включали в себя разработку RFID и NFC-устройств.

Проект #1: Разработка RFID-устройства на заказ

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

Наша команда создала терминал сбора данных с несколькими модулями, работающий на частотах 860-960 МГц. Устройство может одновременно считывать множество меток с расстояния нескольких метров.
Блок-схема устройства с интегрированным RFID-считывателем.
Для этого проекта команда разработала одноплатный компьютер на базе системы на кристалле STM32MP151AAD3 с одним ядром Arm® Cortex®-A7 для высокоуровневых операций и одним ядром Cortex®-M4 для низкоуровневых операций. Данный чип отличается низкой ценой и позволил уменьшить число компонентов. В результате устройство имеет небольшие габариты и низкое энергопотребление. В комплексе с STM32MP151AAD3 в устройстве также работает энергоэффективная память на 1 ГБ MT41K512M16HA-125A SDRAM-DDR3L, а также FLASH NAND (MLC) память на 4 ГБ EMMC04G-MK27-A01C с eMMC интерфейсом.

Функция считывания реализована на базе чипа UHF RFID считывателя ST25RU3980. Это высокоинтегрированное решение, поддерживающее транспондеры ISO 18000-6C/EPC Class1 Gen2. Считыватель имеет батарейное питание и очень низкое энергопотребление. Устройство оснащено патч-антенной собственной разработки. Оно обеспечивает очень высокую чувствительность и устойчивость к эффектам отражения и самопомех.

За интерфейсы Wi-Fi 802.11b/g/n и Bluetooth v5.0 отвечает микроконтроллер ESP32-C3-MINI-1-N4 со встроенной PCB-антенной. Этот модуль позволяет устройству подключаться к локальным сетям передачи данных. За мобильную связь и передачу данных в полевых условиях отвечает модуль Telit ME310G1W103T040100.

Прибор также оснащен модулем Newland EM2096 для сканирования 1D и 2D-штрихкодов. Для передачи данных по интерфейсу USB 2.0 и заряда встроенной батареи предусмотрен разъем USB Type C Amphenol 124019322112A. Степень защиты разъема IPX4 позволяет применять устройство в полевых условиях.

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

Устройство питается от встроенной одноячеечной литий-ионной батареи на 3,7 В 12 Ач. Этого достаточно для работы в течение 12-часовой смены.

Работы также включали в себя создание прошивки и ПО. Для STM32MP151AAD3 использовался заводской дистрибутив Android. Прошивку для модуля ESP32-C3-MINI-1-N4 мы написали на языке C с использованием программных библиотек. STM32MP151AAD3 управляет модулем при помощи АТ-команд. Мы разработали специфический драйвер на языке С для RFID-считывателя, поскольку он также использует SPI-интерфейс. Остальные модули используют стандартные драйверы.

Проект #2: Разработка NFC-устройства на заказ

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

С помощью созданного нами прибора участники соревнований могут сканировать NFC-метки, размещенные на контрольных пунктах. Затем считыватель передает данные на хост-компьютер организаторов, и те узнают, какая команда достигла данной точки маршрута. Прибор может выполнять и другие функции.
Блок-схема устройства с интегрированным NFC-считывателем.
Устройство выполнено на базе микроконтроллера NXP PN7362BNHN. Он имеет встроенный радиоинтерфейс с поддержкой NFC и низкое энергопотребление для автономной работы. МК не требует внешних компонентов для NFC, кроме цепи согласования. Наконец, в нем достаточно памяти (160 КБ) для реализации сложных алгоритмов.

Поскольку МК имеет встроенный радиоинтерфейс, он также отвечает за считывание NFC-меток. В паре с ним работает пассивная малогабаритная гибкая антенна Pulse/Larsen W7001. Система поддерживает все системы и протоколы, определенные NFC Forum. Она обеспечивает высокую чувствительность и устойчивость, а дальность считывания составляет 40 мм.

За передачу данных в полевых условиях отвечает модуль Quectel MC60ECB-04-BLE. Он содержит встроенный навигационный приемник (GPS/GLONASS/Galileo/BeiDou/QZSS) и поддерживает работу в мобильных сетях 2G. Модуль поддерживает навигацию по сигналам GSM и множество протоколов передачи данных (TCP/UDP/FTP/PPP/HTTP/NITZ/NTP/PING/HTTPS/TCP/SSL/MQTT).

Он позволяет устройству передавать данные организаторам соревнований и получать различные сообщения: подтверждения, предупреждения, подсказки, статистику и др. Информация выводится на монохромный графический дисплей (Orient Display JAZZ-BC-W).

Устройство оборудовано тревожной кнопкой. При нажатии прибор посылает сигнал SOS и координаты устройства, которые определяются с помощью инерциальной системы MC6470.

Устройство питается от встроенной одноячеечной литий-ионной батареи на 3,7 В 1,2 Ач. Этого достаточно для работы в течение более чем 8 часов. Срок службы батареи можно увеличить с помощью энергосберегающих режимов микроконтроллера. Для заряда батареи предусмотрен разъем USB Type C Amphenol 124019322112A, хорошо защищающий ее от влаги и пыли.

Прошивка для микроконтроллера была написана на языке C с использованием библиотеки АТ-команд для управления модулем 2G.

Заключение

В большинстве случае можно обойтись готовыми RFID и NFC-системами. Разные типы считывателей и меток подходят для разных задач. Технические характеристики устройства, такие как рабочая частота, источник питания или объем памяти, определяют дальность считывания, проникающую способность и другие особенности системы. При использовании готовых элементов нужно только разработать совместимое с ними ПО. Однако для сложных или нестандартных задач может потребоваться решение на заказ.

Создание RFID и NFC-устройств подразумевает под собой проектирование печатной платы, а также разработку прошивки и программного обеспечения. В зависимости от стоящих перед системой задач, могут потребоваться дополнительные компоненты, чтобы прибор мог работать в полевых условиях, сканировать 1D/2D-штрихкоды и т.д. Если вашему предприятию нужна RFID или NFC-система, свяжитесь с нашей командой. Мы подскажем, какое решение подойдет для вашего бизнеса.
Другие статьи