UM3526 Performance NFC Reader Initiator IC Proširenje softvera
“
Informacije o proizvodu
Specifikacije
- Product Name: X-CUBE-NFC12 high performance NFC
reader/initiator IC software expansion - Compatibility: STM32Cube ecosystem
- Ključne karakteristike:
- 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
Upute za upotrebu proizvoda
Gotovoview
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.
Setup
- 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 webstranica. - Follow the provided instructions for configuring the software
paket.
Upotreba
Once the setup is complete, use the sample application to detect
NFC 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
on.
Dodatne karakteristike
- Set the ST25R300 in inductive wake-up mode by pressing the user
dugme. - Detect the presence of a reader by setting the ST25R300 in card
način emulacije. - All activities are logged to the host system using the ST-LINK
virtual COM port.
FAQ
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.
“`
UM3526
Uputstvo za upotrebu
Getting started with the X-CUBE-NFC12 high performance NFC reader/initiator IC software expansion for STM32Cube
Uvod
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.
Povezani linkovi
Posjetite ekosistem STM32Cube web stranicu na www.st.com za više informacija
UM3526 – Rev 1 – juni 2025. Za više informacija obratite se lokalnoj prodajnoj kancelariji STMicroelectronics.
www.st.com
1
Akronimi i kratice
Acronym NFC RFAL P2P MCU BSP HAL LED SPI
CMSIS
Tabela 1. Lista akronima Opis
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
UM3526
Akronimi i kratice
UM3526 – Rev 1
strana 2/15
UM3526
X-CUBE-NFC12 software expansion forSTM32Cube
2
X-CUBE-NFC12 softversko proširenje za STM32Cube
2.1
Gotovoview
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.
·
Sample aplikacija za otkrivanje NFC-a tags različitih tipova.
·
Sample implementations available for the X-NUCLEO-NFC12A1 expansion board plugged onto a
NUCLEO-G0B1RE or NUCLEO-L476RG or NUCLEO-C071RB development board.
·
Laka prenosivost kroz različite MCU porodice, zahvaljujući STM32Cube.
·
Complete RF/NFC abstraction (RFAL) for all major technologies, including complete ISO-DEP and NFC-
DEP layers.
·
Besplatni, korisnički prilagođeni uslovi licence.
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.
A sample 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.
Podržane RFID tehnologije u ovoj demonstraciji su:
·
ISO14443A/NFCA.
·
ISO14443B/NFCB.
·
Felica/NFCF.
·
ISO15693/NFCV.
·
Card emulation Type A and F.
2.2
Arhitektura
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
drugim uređajima.
·
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
verzija.
·
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
interfejs.
Protokoli koje pruža RFAL su:
·
ISO-DEP (ISO14443-4 data link layer, T = CL).
·
NFC-DEP (ISO18092 data exchange protocol).
UM3526 – Rev 1
strana 3/15
UM3526
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).
Slika 1. RFAL blok dijagram
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.
·
Protokoli: implementacija protokola uključujući sve okvire, tajminge, rukovanje greškama, itd.
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.
UM3526 – Rev 1
strana 4/15
UM3526
X-CUBE-NFC12 software expansion forSTM32Cube
Slika 2. Arhitektura softvera X-CUBE-NFC12
2.3
Struktura foldera
Figure 3. X-CUBE-NFC12 package folders structure
Sledeće fascikle su uključene u softverski paket:
·
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 sample aplikacija example, namely, NFC12A1_PollingTagDetect.
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.
UM3526 – Rev 1
strana 5/15
UM3526
X-CUBE-NFC12 software expansion forSTM32Cube
2.4
API-ji
Detaljne tehničke informacije o API-jima dostupnim korisniku mogu se naći u kompajliranom CHM-u 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 pohranjeni u folderu “doc”.
2.5
Sample application
A sample 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.
Kada a tag is detected in proximity, an LED is switched on as listed below.
NFC 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.
Slika 4. Nabrajanje virtualnog COM porta
Nakon što provjerite broj virtuelnog COM porta, otvorite Windows terminal (HyperTerminal ili sličan) sa konfiguracijom prikazanom ispod (omogućite opciju: Implicitni CR na LF-u, ako je dostupno).
UM3526 – Rev 1
strana 6/15
UM3526
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 detekcija
UM3526 – Rev 1
strana 7/15
3
3.1
3.1.1
UM3526
Systemsetup guide
Vodič za podešavanje sistema
Opis hardvera
STM32 Nucleo STM32 Nucleo razvojne ploče pružaju pristupačan i fleksibilan način za korisnike da testiraju rješenja i naprave prototipove sa bilo kojom linijom STM32 mikrokontrolera. Arduino podrška za povezivanje i ST morpho konektori olakšavaju proširenje funkcionalnosti STM32 Nucleo otvorene razvojne platforme sa širokim spektrom specijalizovanih ploča za proširenje koje možete izabrati. STM32 Nucleo ploča ne zahtijeva posebne sonde jer integriše ST-LINK/V2-1 debugger/programator. STM32 Nucleo ploča dolazi sa sveobuhvatnom STM32 softverskom HAL bibliotekom zajedno sa raznim upakovanim softverom npr.ampdatoteke za različite IDE (IAR EWARM, Keil MDK-ARM, STM32CubeIDE, mbed i GCC/ LLVM). Svi korisnici STM32 Nucleo imaju besplatan pristup mbed online resursima (kompajler, C/C++ SDK i zajednica programera) na www.mbed.org kako bi lako izgradili kompletne aplikacije.
Slika 7. STM32 Nucleo ploča
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.
UM3526 – Rev 1
strana 8/15
Slika 8. X-NUCLEO-NFC12A1 ploča za proširenje
UM3526
Systemsetup guide
3.2
Opis softvera
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
okruženja:
IAR Embedded Workbench for ARM® (EWARM) toolchain + ST-LINK.
Keil® Microcontroller Development Kit (MDK-ARM) toolchain + ST-LINK.
STM32CubeIDE + ST-LINK.
3.3
Podešavanje hardvera
Potrebne su sljedeće hardverske komponente:
·
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.
UM3526 – Rev 1
strana 9/15
3.4
3.4.1
3.5
3.5.1
UM3526
Systemsetup guide
Podešavanje softvera
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.
Podešavanje sistema
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
UM3526 – Rev 1
strana 10/15
Istorija revizija
Datum 11-jun-2025
Tabela 3. Istorija revizije dokumenta
Revizija 1
Prvo izdanje.
Promjene
UM3526
UM3526 – Rev 1
strana 11/15
UM3526
Sadržaj
Sadržaj
1 Acronyms and abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 X-CUBE-NFC12 software expansion for STM32Cube. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Prekoview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
Istorija revizija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 Lista tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 Lista slika. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
UM3526 – Rev 1
strana 12/15
UM3526
Lista tabela
Lista tabela
Tabela 1. Tabela 2. Tabela 3.
List of acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 LED lit on tag detection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
UM3526 – Rev 1
strana 13/15
UM3526
Spisak brojki
Spisak brojki
Slika 1. Slika 2. Slika 3. Slika 4. Slika 5. Slika 6. Slika 7. Slika 8. Slika 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
UM3526 – Rev 1
strana 14/15
UM3526
VAŽNO OBAVIJEST PAŽLJIVO PROČITAJTE STMicroelectronics NV i njegove podružnice (“ST”) zadržavaju pravo izmjene, ispravke, poboljšanja, modifikacije i poboljšanja ST proizvoda i/ili ovog dokumenta u bilo koje vrijeme bez prethodne najave. Kupci bi trebali dobiti najnovije relevantne informacije o ST proizvodima prije nego što daju narudžbu. ST proizvodi se prodaju u skladu sa ST-ovim odredbama i uslovima prodaje koji su na snazi u trenutku potvrde narudžbe. Kupci su isključivo odgovorni za izbor, odabir i korištenje ST proizvoda, a ST ne preuzima nikakvu odgovornost za pomoć u primjeni ili dizajn proizvoda kupaca. ST ovdje ne daje nikakvu licencu, izričitu ili impliciranu, za bilo koje pravo intelektualne svojine. Preprodaja ST proizvoda sa odredbama koje se razlikuju od informacija navedenih ovde poništava svaku garanciju koju ST daje za takav proizvod. ST i ST logo su zaštitni znakovi ST. Za dodatne informacije o ST zaštitnim znakovima, pogledajte www.st.com/trademarks. Svi ostali nazivi proizvoda ili usluga vlasništvo su njihovih vlasnika. Informacije u ovom dokumentu zamjenjuju i zamjenjuju informacije koje su prethodno date u prethodnim verzijama ovog dokumenta.
© 2025 STMicroelectronics Sva prava zadržana
UM3526 – Rev 1
strana 15/15
Dokumenti / Resursi
![]() |
ST UM3526 Performance NFC Reader Initiator IC Software Expansion [pdf] Korisnički priručnik 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 |