UM3526 Перформансни NFC читач ИЦ иницијатора Проширење софтвера
“
Информације о производу
Спецификације
- Product Name: X-CUBE-NFC12 high performance NFC
reader/initiator IC software expansion - Compatibility: STM32Cube ecosystem
- Кључне карактеристике:
- Middleware for ST25R300 NFC reader/initiator
- Sample application for detecting NFC tags
- Support for various MCU families
- Complete RF/NFC abstraction for major technologies
- User-friendly license terms
Упутства за употребу производа
Готовоview
The X-CUBE-NFC12 software package expands the STM32Cube
functionality by providing middleware for building applications
using the ST25R300 high performance NFC reader/initiator IC. It
allows for easy portability across different MCU families and
includes complete RF/NFC abstraction for major technologies.
Сетуп
- Connect the X-NUCLEO-NFC12A1 expansion board to a compatible
NUCLEO development board. - Download and install the X-CUBE-NFC12 software package from the
STM32Cube ecosystem webстраница. - Follow the provided instructions for configuring the software
пакет.
Употреба
Once the setup is complete, use the sample application to detect
НФЦ tags of different types. The application configures the
ST25R300 in a polling loop for active and passive device detection.
It indicates detected technologies by switching corresponding LEDs
на.
Додатне карактеристике
- Set the ST25R300 in inductive wake-up mode by pressing the user
дугме. - Detect the presence of a reader by setting the ST25R300 in card
режим емулације. - All activities are logged to the host system using the ST-LINK
virtual COM port.
ФАК
Q: What RFID technologies are supported in the demo?
A: The supported RFID technologies in this demo include
ISO14443A/NFCA, ISO14443B/NFCB, Felica/NFCF, ISO15693/NFCV, and
Card emulation Type A and F.
“`
УМКСНУМКС
Упутство за употребу
Getting started with the X-CUBE-NFC12 high performance NFC reader/initiator IC software expansion for STM32Cube
Увод
The X-CUBE-NFC12 software expansion for STM32Cube provides complete middleware for STM32 to control payment, consumer and industrial applications using the ST25R300 high performance NFC front-end IC, supporting NFC initiator, target, reader, and card emulation modes. The expansion is built on top of STM32Cube software technology to ease portability across different STM32 microcontrollers. The software comes with sample implementations of the drivers running on the X-NUCLEO-NFC12A1 expansion board, plugged on top of a NUCLEO-G0B1RE or NUCLEO-L476RG or NUCLEO-C071RB development board.
Повезане везе
Посетите екосистем СТМ32Цубе web страницу на ввв.ст.цом за даље информације
UM3526 – Rev 1 – јун 2025. За додатне информације, обратите се локалној продајној канцеларији компаније STMicroelectronics.
ввв.ст.цом
1
Акроними и Скраћенице
Acronym NFC RFAL P2P MCU BSP HAL LED SPI
ЦМСИС
Табела 1. Списак акронима Опис
Near field communication RF abstract layer Peer-to-peer Microcontroller unit Board support package Hardware abstraction layer Light emitting diode Serial peripheral interface Arm® Cortex® microcontroller software interface standard
УМКСНУМКС
Акроними и Скраћенице
УМ3526 – Рев 1
страна 2/15
УМКСНУМКС
X-CUBE-NFC12 software expansion forSTM32Cube
2
Кс-ЦУБЕ-НФЦ12 софтверско проширење за СТМ32Цубе
2.1
Готовоview
The X-CUBE-NFC12 software package expands the STM32Cube functionality. The key features of the package are:
·
Complete middleware to build applications using the ST25R300 high performance NFC reader, initiator,
target, and card emulation front-end IC.
·
Sampле апликација за откривање НФЦ-а tags различитих типова.
·
Sample implementations available for the X-NUCLEO-NFC12A1 expansion board plugged onto a
NUCLEO-G0B1RE or NUCLEO-L476RG or NUCLEO-C071RB development board.
·
Лака преносивост кроз различите МЦУ породице, захваљујући СТМ32Цубе.
·
Complete RF/NFC abstraction (RFAL) for all major technologies, including complete ISO-DEP and NFC-
DEP layers.
·
Бесплатни услови лиценце прилагођени кориснику.
This software contains high performance NFC reader/initiator front-end IC drivers for the ST25R300 device, running on STM32. It is built on top of STM32Cube software technology to ease portability across different STM32 microcontrollers.
This firmware package includes component device drivers, a board support package, and a sample application demonstrating usage of the X-NUCLEO-NFC12A1 expansion board with STM32 Nucleo boards.
А сample application configures the ST25R300 in a polling loop for active and passive device detection. When a passive tag or active device is detected, the reader field signals the detected technology by switching a corresponding LED on. It is also possible to set the ST25R300 in an inductive wake-up mode by pressing the user button. During this polling loop, the sample application also sets the ST25R300 in card emulation mode to detect the presence of a reader.
The demo logs all activities to the host the system with ST-LINK virtual COM port.
Подржане РФИД технологије у овој демонстрацији су:
·
ISO14443A/NFCA.
·
ISO14443B/NFCB.
·
Felica/NFCF.
·
ISO15693/NFCV.
·
Card emulation Type A and F.
2.2
Архитектура
This fully compliant software expansion for STM32Cube lets you develop applications using the ST25R300 high performance NFC reader/initiator IC. It is based on the STM32CubeHAL hardware abstraction layer for the STM32 microcontroller, and it extends STM32Cube with a board support package (BSP) for the X-NUCLEONFC12A1 expansion board.
Application software can access and use the X-NUCLEO-NFC12A1 expansion board through the following layers:
·
STM32Cube HAL layer: the HAL driver layer provides a simple set of generic, multi-instance application
programming interfaces (APIs) to interact with the upper layers (application, libraries, and stacks). These
generic and extension APIs are directly built on a common architecture and allow overlying layers like
middleware to implement their functions without depending on specific microcontroller unit (MCU) hardware
information. This structure improves the library code reusability and guarantees easy portability across
других уређаја.
·
Board support package (BSP) layer: the BSP provides support for the peripherals on the STM32 Nucleo
board, apart from the MCU. This set of APIs provides a programming interface for certain board-specific
peripherals like the LED, the user button etc. This interface also helps you identify the specific board
верзија.
·
Middleware NRF abstraction layer (RFAL): the RFAL provides several functions for RF/NFC
communication. It possesses RF IC (existing ST25R300 device) under a common and easy to use
интерфејс.
Протоколи које обезбеђује РФАЛ су:
·
ISO-DEP (ISO14443-4 data link layer, T = CL).
·
NFC-DEP (ISO18092 data exchange protocol).
УМ3526 – Рев 1
страна 3/15
УМКСНУМКС
X-CUBE-NFC12 software expansion forSTM32Cube
·
NFC-AISO14443A (T1T, T2T, T4TA).
·
NFC-BISO14443B (T4TB).
·
NFC-FFeliCa (T3T).
·
NFC-VISO15693 (T5T).
·
P2PISO18092 (NFCIP1, Passive-Active P2P).
·
ST25TB (ISO14443-2 Type B with Proprietary Protocol).
Internally, the RFAL is divided into three sub layers:
·
RF higher layer (RF HL).
·
RF hardware abstraction layer (RF HAL).
·
RF abstraction layer (RF AL).
Слика 1. РФАЛ блок дијаграм
The modules in the RF HAL are chip-dependent. They implement the RF IC driver, configuration tables, and specific instructions for the HW to perform the physical RF functions.
The interface for the caller is a shared RF header file, which provides the same interface for upper layers (for all chips).
The RFAL can be broken down into two further sub layers:
·
Technologies: technology modules which implement all the specifics, framing, timings, etc.
·
Протоколи: имплементација протокола укључујући све оквире, тајминге, руковање грешкама, итд.
On top of these, the application layer uses RFAL functions like NFC Forum Activities (NFCC), EMVCo®, DISCO/ NUCLEO demo, etc.
The RFAL NFC module provides an interface to perform the common activities as poller/listener device.
Access to the lowest functions of the ICs is granted by the RF module. The caller can make direct use of any of the RF technology or protocol layers without requiring any specific hardware configuration data.
УМ3526 – Рев 1
страна 4/15
УМКСНУМКС
X-CUBE-NFC12 software expansion forSTM32Cube
Слика 2. Архитектура софтвера Кс-ЦУБЕ-НФЦ12
2.3
Структура мапе
Figure 3. X-CUBE-NFC12 package folders structure
Следеће фасцикле су укључене у софтверски пакет:
·
Documentation: it contains a compiled HTML file generated from the source code, which details the
software components and APIs.
·
Drivers: it contains HAL drivers, board-specific drivers for each supported board or hardware platform,
including the on-board components, and the CMSIS vendor-independent hardware abstraction layer for the
Cortex®-M processor series.
·
Middlewares: it contains RF abstraction layer (RFAL). RFAL provides several functions required to perform
RF/NFC communication.
The RFAL possesses RF IC (ST25R300) under a common and easy to use interface.
·
Projects: it contains one sampле апликација екample, namely, NFC12A1_PollingTagДетекција.
They are provided for the NUCLEO-L476RG, NUCLEO-G0B1RE or NUCLEO-C071RB platform for three development environments: IAR Embedded Workbench® for Arm, Keil® Microcontroller Development Kit (MDKARM), and STM32CubeIDE.
УМ3526 – Рев 1
страна 5/15
УМКСНУМКС
X-CUBE-NFC12 software expansion forSTM32Cube
2.4
АПИ-ји
Детаљне техничке информације о АПИ-јима доступним кориснику могу се наћи у састављеном ЦХМ-у file located inside the “RFAL” folder of the software package where all the functions and parameters are fully described.
Detailed technical information about the NDEF APIs is available in the .chm file сачуване у фасцикли „доц”.
2.5
Sampле апплицатион
А сample application using the X-NUCLEO-NFC12A1 expansion board with the NUCLEO-L476RG, NUCLEOG0B1RE or NUCLEO-C071RB development board is provided in the “Projects” directory. Ready-to-build projects are available for multiple IDEs.
In this application, NFC tags of different types are detected by the ST25R300 high performance NFC reader/ initiator front-end IC (for further details, refer to the CHM documentation file generated from the source code).
After system initialization and clock configuration, LED1, LED2, LED3, LED4, LED5, and LED6 blink three times. Then LED6 glows to indicate the reader field has been activated.
Када је а tag is detected in proximity, an LED is switched on as listed below.
НФЦ tag type NFC TYPE A NFC TYPE B NFC TYPE V NFC TYPE F
Table 2. LED lit on tag detection LED lit on tag detection LED2/Type A LED3/Type B LED4/Type V LED5/Type F
If a reader approaches the X-NUCLEO-NFC12A1 expansion board, the software enters into card emulation mode and, depending on the command type sent, it switches the respective NFC TYPE LED on. By default, the X-NUCLEO-NFC12A1 does not write any data to the tag, but this possibility can be enabled by a preprocessor defined in the file demo.h. Card emulation and poller mode can also be enabled/disabled with the same procedure. The ST virtual communication port interface is also included in the package. Once the board is powered on, the board is initialized and enumerated as ST-LST-LINK virtual COM port.
Слика 4. Набрајање виртуелног ЦОМ порта
Након што проверите број виртуелног ЦОМ порта, отворите Виндовс терминал (ХиперТерминал или сличан) са конфигурацијом приказаном испод (омогућите опцију: Имплицитни ЦР на ЛФ, ако је доступно).
УМ3526 – Рев 1
страна 6/15
УМКСНУМКС
X-CUBE-NFC12 software expansion forSTM32Cube Figure 5. UART serial communication configuration
The terminal window returns several messages similar to those shown below to confirm a successful connection. Figure 6. X-NUCLEO-NFC12A1 expansion board successful initialization and tag детекција
УМ3526 – Рев 1
страна 7/15
3
3.1
3.1.1
УМКСНУМКС
Systemsetup guide
Водич за подешавање система
Опис хардвера
СТМ32 Нуцлео СТМ32 Нуцлео развојне плоче пружају приступачан и флексибилан начин за кориснике да тестирају решења и праве прототипове са било којом линијом СТМ32 микроконтролера. Ардуино подршка за повезивање и СТ морпхо конектори олакшавају проширење функционалности СТМ32 Нуцлео отворене развојне платформе са широким спектром специјализованих плоча за проширење које можете изабрати. СТМ32 Нуцлео плоча не захтева посебне сонде јер интегрише СТ-ЛИНК/В2-1 дебугер/програматор. СТМ32 Нуцлео плоча долази са свеобухватном СТМ32 софтверском ХАЛ библиотеком заједно са различитим упакованим софтвером нпр.ampлесови за различите ИДЕ (ИАР ЕВАРМ, Кеил МДК-АРМ, СТМ32ЦубеИДЕ, мбед и ГЦЦ/ ЛЛВМ). Сви СТМ32 Нуцлео корисници имају бесплатан приступ мбед онлајн ресурсима (компајлер, Ц/Ц++ СДК и заједница програмера) на ввв.мбед.орг како би лако направили комплетне апликације.
Слика 7. СТМ32 Нуцлео плоча
3.1.2
X-NUCLEO-NFC12A1 expansion board The X-NUCLEO-NFC12A1 NFC card reader expansion board is based on the ST25R300 device.
The expansion board is configured to support ISO14443A/B, ISO15693, FeliCaTM communication.
The ST25R300 manages frame coding and decoding in reader mode for standard applications, such as NFC, proximity and vicinity HF RFID standards. It supports ISO/IEC 14443 Type A and B, ISO/IEC 15693 (single subcarrier only) and ISO/IEC 18092 communication protocols, as well as the detection, reading and writing of NFC Forum Type 1, 2, 3, 4 and 5 tags.
It also supports all common protocols such as Kovio, CTS, and B’.
The ST25R300 has noise suppression receiver (NSR), which allows for reception in a noisy environment.
УМ3526 – Рев 1
страна 8/15
Слика 8. Кс-НУЦЛЕО-НФЦ12А1 плоча за проширење
УМКСНУМКС
Systemsetup guide
3.2
Опис софтвера
The following software components are needed in order to setup the suitable development environment for creating applications for the STM32 Nucleo equipped with the NFC expansion board:
·
X-CUBE-NFC12: it’s an expansion software for STM32Cube, dedicated to NFC applications development.
The X-CUBE- NFC12 firmware and related documentation is available on www.st.com.
·
Development tool chain and Compiler: the STM32Cube expansion software supports the three following
окружења:
IAR Embedded Workbench for ARM® (EWARM) toolchain + ST-LINK.
Keil® Microcontroller Development Kit (MDK-ARM) toolchain + ST-LINK.
STM32CubeIDE + ST-LINK.
3.3
Подешавање хардвера
Потребне су следеће хардверске компоненте:
·
One STM32 Nucleo development platform (suggested order code: NUCLEO-L476RG, NUCLEO-G0B1RE,
or NUCLEO-C071RB).
·
One ST25R300 high performance NFC reader/initiator IC expansion board (order code: X-NUCLEO-
NFC12A1).
·
One USB type A to Mini-B USB cable to connect the STM32 Nucleo to the PC.
УМ3526 – Рев 1
страна 9/15
3.4
3.4.1
3.5
3.5.1
УМКСНУМКС
Systemsetup guide
Подешавање софтвера
Development tool-chains and compilers Select one of the integrated development environments (IDE) supported by the STM32Cube expansion software and read the system requirements and setup information provided by the IDE provider.
Подешавање система
STM32 Nucleo and X-NUCLEO-NFC12A1 expansion board setup The STM32 Nucleo board integrates the ST-LINK/V2-1 debugger/programmer. You can download the ST-LINK/ V2-1 USB driver at STSW-LINK009. The X-NUCLEO-NFC12A1 expansion board is easily plugged onto the STM32 Nucleo development board through the ArduinoTM UNO R3 extension connector. It interfaces with the STM32 microcontroller on STM32 Nucleo board through the SPI transport layer. The default hardware configuration is set up for SPI communication.
Figure 9. X-NUCLEO-NFC12A1 expansion board plus NUCLEO-L476RG development
УМ3526 – Рев 1
страна 10/15
Историја ревизија
Датум 11. јун 2025.
Табела 3. Историја ревизије документа
Ревизија 1
Првобитно издање.
Промене
УМКСНУМКС
УМ3526 – Рев 1
страна 11/15
УМКСНУМКС
Садржај
Садржај
1 Acronyms and abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 X-CUBE-NFC12 software expansion for STM32Cube. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Готовоview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 Folder structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.4 APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.5 Sample application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3 System setup guide. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 3.1 Hardware description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.1 STM32 Nucleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.1.2 X-NUCLEO-NFC12A1 expansion board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.2 Software description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.3 Hardware setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.4 Software setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.4.1 Development tool-chains and compilers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.5 System setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.5.1 STM32 Nucleo and X-NUCLEO-NFC12A1 expansion board setup. . . . . . . . . . . . . . . . . . 10
Историја ревизија . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 Списак табела . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 Списак слика. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
УМ3526 – Рев 1
страна 12/15
УМКСНУМКС
Списак табела
Списак табела
Табела 1. Табела 2. Табела 3.
List of acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 LED lit on tag detection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
УМ3526 – Рев 1
страна 13/15
УМКСНУМКС
Списак фигура
Списак фигура
Слика 1. Слика 2. Слика 3. Слика 4. Слика 5. Слика 6. Слика 7. Слика 8. Слика 9.
RFAL block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 X-CUBE-NFC12 software architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 X-CUBE-NFC12 package folders structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Virtual COM port enumeration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 UART serial communication configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 X-NUCLEO-NFC12A1 expansion board successful initialization and tag detection . . . . . . . . . . . . . . . . . . . . . 7 STM32 Nucleo board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 X-NUCLEO-NFC12A1 expansion board. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 X-NUCLEO-NFC12A1 expansion board plus NUCLEO-L476RG development . . . . . . . . . . . . . . . . . . . . . . . 10
УМ3526 – Рев 1
страна 14/15
УМКСНУМКС
ВАЖНО ОБАВЕШТЕЊЕ ПАЖЉИВО ПРОЧИТАЈТЕ СТМицроелецтроницс НВ и његове подружнице („СТ“) задржавају право да у било ком тренутку без обавештења унесу измене, исправке, побољшања, модификације и побољшања СТ производа и/или овог документа. Купци би требало да добију најновије релевантне информације о СТ производима пре наручивања. СТ производи се продају у складу са СТ условима продаје који су на снази у тренутку потврде поруџбине. Купци су искључиво одговорни за избор, избор и употребу СТ производа и СТ не преузима никакву одговорност за помоћ у примени или дизајн производа купаца. СТ овде не даје никакву лиценцу, изричиту или имплицирану, за било које право интелектуалне својине. Препродаја СТ производа са одредбама другачијим од информација наведених овде поништава сваку гаранцију коју СТ даје за такав производ. СТ и СТ лого су заштитни знакови компаније СТ. За додатне информације о СТ заштитним знаковима, погледајте ввв.ст.цом/традемаркс. Сви остали називи производа или услуга су власништво њихових власника. Информације у овом документу замењују и замењују информације које су претходно дате у претходним верзијама овог документа.
© 2025 СТМицроелецтроницс Сва права задржана
УМ3526 – Рев 1
страна 15/15
Документи / Ресурси
![]() |
ST UM3526 Performance NFC Reader Initiator IC Software Expansion [пдф] Упутство за кориснике NUCLEO-G0B1RE, NUCLEO-L476RG, NUCLEO-C071RB, UM3526 Performance NFC Reader Initiator IC Software Expansion, UM3526, Performance NFC Reader Initiator IC Software Expansion, Reader Initiator IC Software Expansion, IC Software Expansion, Software Expansion |