Expansión de software do CI iniciador do lector NFC de rendemento UM3526
“
Información do produto
Especificacións
- Product Name: X-CUBE-NFC12 high performance NFC
reader/initiator IC software expansion - Compatibility: STM32Cube ecosystem
- Características principais:
- 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
Instrucións de uso do produto
Acabadoview
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.
Configuración
- 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 webpáxina. - Follow the provided instructions for configuring the software
paquete.
Uso
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.
Características adicionais
- Set the ST25R300 in inductive wake-up mode by pressing the user
botón. - Detect the presence of a reader by setting the ST25R300 in card
modo de emulación. - 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
Manual de usuario
Getting started with the X-CUBE-NFC12 high performance NFC reader/initiator IC software expansion for STM32Cube
Introdución
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.
Ligazóns relacionadas
Visita o ecosistema STM32Cube web páxina en www.st.com para obter máis información
UM3526 – Rev. 1 – Xuño de 2025 Para obter máis información, póñase en contacto coa oficina de vendas local de STMicroelectronics.
www.st.com
1
Siglas e abreviaturas
Acronym NFC RFAL P2P MCU BSP HAL LED SPI
CMSIS
Táboa 1. Lista de siglas Descrición
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
Siglas e abreviaturas
UM3526 - Rev 1
páxina 2/15
UM3526
X-CUBE-NFC12 software expansion forSTM32Cube
2
Expansión de software X-CUBE-NFC12 para STM32Cube
2.1
Acabadoview
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.
·
Sampaplicación para detectar NFC tags de distintos tipos.
·
Sample implementations available for the X-NUCLEO-NFC12A1 expansion board plugged onto a
NUCLEO-G0B1RE or NUCLEO-L476RG or NUCLEO-C071RB development board.
·
Portabilidade sinxela entre diferentes familias de MCU grazas a STM32Cube.
·
Complete RF/NFC abstraction (RFAL) for all major technologies, including complete ISO-DEP and NFC-
DEP layers.
·
Condicións de licenza gratuítas e fáciles de usar.
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.
As tecnoloxías RFID admitidas nesta demostración son:
·
ISO14443A/NFCA.
·
ISO14443B/NFCB.
·
Felica/NFCF.
·
ISO15693/NFCV.
·
Card emulation Type A and F.
2.2
Arquitectura
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
outros dispositivos.
·
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
versión.
·
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
interface.
Os protocolos proporcionados pola RFAL son:
·
ISO-DEP (ISO14443-4 data link layer, T = CL).
·
NFC-DEP (ISO18092 data exchange protocol).
UM3526 - Rev 1
páxina 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).
Figura 1. Diagrama de bloques RFAL
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.
·
Protocolos: implementación do protocolo incluíndo todos os marcos, temporizacións, tratamento de erros, 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.
UM3526 - Rev 1
páxina 4/15
UM3526
X-CUBE-NFC12 software expansion forSTM32Cube
Figura 2. Arquitectura de software X-CUBE-NFC12
2.3
Estrutura de cartafoles
Figure 3. X-CUBE-NFC12 package folders structure
No paquete de software inclúense os seguintes cartafoles:
·
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 sampa aplicación example, namely, NFC12A1_PollingTagDetectar.
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
páxina 5/15
UM3526
X-CUBE-NFC12 software expansion forSTM32Cube
2.4
APIs
A información técnica detallada sobre as API dispoñibles para o usuario pódese atopar nun CHM compilado 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 almacenado no cartafol "doc".
2.5
Sampa aplicación
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.
Cando 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.
Figura 4. Enumeración do porto COM virtual
Despois de comprobar o número de porto COM virtual, abra un terminal de Windows (HyperTerminal ou similar) coa configuración que se mostra a continuación (activar a opción: CR implícita en LF, se está dispoñible).
UM3526 - Rev 1
páxina 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 detección
UM3526 - Rev 1
páxina 7/15
3
3.1
3.1.1
UM3526
Systemsetup guide
Guía de configuración do sistema
Descrición do hardware
STM32 Nucleo STM32 Nucleo development boards provide an affordable and flexible way for users to test solutions and build prototypes with any STM32 microcontroller line. The Arduino connectivity support and ST morpho connectors make it easy to expand the functionality of the STM32 Nucleo open development platform with a wide range of specialized expansion boards to choose from. The STM32 Nucleo board does not require separate probes as it integrates the ST-LINK/V2-1 debugger/ programmer. The STM32 Nucleo board comes with the comprehensive STM32 software HAL library together with various packaged software examples for different IDEs (IAR EWARM, Keil MDK-ARM, STM32CubeIDE, mbed and GCC/ LLVM). All STM32 Nucleo users have free access to the mbed online resources (compiler, C/C++ SDK and developer community) at www.mbed.org to easily build complete applications.
Figura 7. Placa STM32 Nucleo
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
páxina 8/15
Figura 8. Placa de expansión X-NUCLEO-NFC12A1
UM3526
Systemsetup guide
3.2
Descrición do software
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
ambientes:
IAR Embedded Workbench for ARM® (EWARM) toolchain + ST-LINK.
Keil® Microcontroller Development Kit (MDK-ARM) toolchain + ST-LINK.
STM32CubeIDE + ST-LINK.
3.3
Configuración de hardware
Requírense os seguintes compoñentes de hardware:
·
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
páxina 9/15
3.4
3.4.1
3.5
3.5.1
UM3526
Systemsetup guide
Configuración de software
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.
Configuración do 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
páxina 10/15
Historial de revisións
Data 11-xuño-2025
Táboa 3. Historial de revisións de documentos
Revisión 1
Lanzamento inicial.
Cambios
UM3526
UM3526 - Rev 1
páxina 11/15
UM3526
Contidos
Contidos
1 Acronyms and abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 X-CUBE-NFC12 software expansion for STM32Cube. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Enribaview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
Historial de revisións. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 Lista de táboas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13 Relación de figuras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
UM3526 - Rev 1
páxina 12/15
UM3526
Lista de táboas
Lista de táboas
Táboa 1. Táboa 2. Táboa 3.
List of acronyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 LED lit on tag detection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
UM3526 - Rev 1
páxina 13/15
UM3526
Lista de figuras
Lista de figuras
Figura 1. Figura 2. Figura 3. Figura 4. Figura 5. Figura 6. Figura 7. Figura 8. Figura 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
páxina 14/15
UM3526
AVISO IMPORTANTE LEA ATENCIÓN STMicroelectronics NV e as súas subsidiarias (“ST”) resérvanse o dereito de realizar cambios, correccións, melloras, modificacións e melloras nos produtos ST e/ou neste documento en calquera momento sen previo aviso. Os compradores deben obter a información relevante máis recente sobre os produtos ST antes de facer pedidos. Os produtos ST véndense de acordo cos termos e condicións de venda de ST existentes no momento do recoñecemento da orde. Os compradores son os únicos responsables da elección, selección e uso dos produtos ST e ST non asume ningunha responsabilidade pola asistencia á aplicación ou o deseño dos produtos dos compradores. ST non concede ningunha licenza, expresa ou implícita, a ningún dereito de propiedade intelectual. A revenda de produtos ST con disposicións diferentes da información aquí establecida anulará calquera garantía concedida por ST para tal produto. ST e o logotipo de ST son marcas comerciais de ST. Para obter información adicional sobre as marcas comerciais ST, consulte www.st.com/trademarks. Todos os outros nomes de produtos ou servizos son propiedade dos seus respectivos propietarios. A información deste documento substitúe e substitúe a información proporcionada anteriormente en calquera versión anterior deste documento.
© 2025 STMicroelectronics Todos os dereitos reservados
UM3526 - Rev 1
páxina 15/15
Documentos/Recursos
![]() |
ST UM3526 Performance NFC Reader Initiator IC Software Expansion [pdfGuía do usuario 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 |