Lettore HF ad alte prestazioni CUBE-NFC6
Manuale d'uso
UM2616 Lettore HF ad alte prestazioni X-CUBE-NFC6
Iniziare con X-CUBE-NFC6 Espansione software IC lettore HF/iniziatore NFC ad alte prestazioni per STM32Cube
Introduzione
L'espansione del software X-CUBE-NFC6 per STM32Cube fornisce un middleware completo per STM32 per controllare le applicazioni utilizzando l'IC front-end NFC ad alte prestazioni ST25R3916/ST25R3916B che supporta le modalità di emulazione di scheda, target, lettore e iniziatore NFC.
L'espansione si basa sulla tecnologia software STM32Cube per facilitare la portabilità tra diversi microcontrollori STM32. Il software viene fornito con sample implementazioni dei driver in esecuzione sulla scheda di espansione X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 collegata su una scheda di sviluppo NUCLEO-L053R8 o NUCLEO-L476RG.
Link correlati: Visita l'ecosistema STM32Cube web pagina su www.st.com per ulteriori informazioni
Acronimi e Abbreviazioni
Tabella 1. Elenco degli acronimi
Acronimo | Descrizione |
Non-FC | Comunicazione in prossimità |
VERO | Strato astratto RF |
Peer to peer | |
MCU | Unità microcontrollore |
Pacchetto supporto scheda | |
SALVEZZA | Livello di astrazione hardware |
Diodo ad emissione luminosa | |
SPI | Interfaccia periferica seriale |
Standard di interfaccia software del microcontrollore Arm Cortex |
Espansione software X-CUBE-NFC6 per STM32Cube
2.1Oltreview
Il pacchetto software X-CUBE-NFC6 amplia le funzionalità di STM32Cube. Le caratteristiche principali del pacchetto sono:
- Middleware completo per creare applicazioni utilizzando il lettore HF ad alte prestazioni ST25R3916/ST25R3916B/IC front-end NFC.
- Sample applicazione per rilevare NFC tags di diversi tipi e telefoni cellulari che supportano P2P, modalità di emulazione scheda e lettura/scrittura.
- Sample applicazione per leggere e scrivere messaggi NDEF.
- Sample implementazioni disponibili per la scheda di espansione X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 collegata a una scheda di sviluppo NUCLEO-L053R8 o NUCLEO-L476RG.
- Facile portabilità tra diverse famiglie di MCU, grazie a STM32Cube.
- Astrazione completa RF/NFC (RFAL) per tutte le principali tecnologie, inclusi i livelli completi ISO-DEP e NFCDEP.
- Termini di licenza gratuiti e di facile utilizzo.
Questo software contiene driver IC front-end NFC/lettore HF ad alte prestazioni per il dispositivo ST25R3916/ST25R3916B, in esecuzione su STM32. È costruito sulla tecnologia software STM32Cube per facilitare la portabilità tra diversi microcontrollori STM32. Questo pacchetto firmware include driver di dispositivo per componenti, un pacchetto di supporto della scheda e comeample applicazione che dimostra l'utilizzo della scheda di espansione X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 con le schede STM32 Nucleo.
COMEampl'applicazione le configura l'ST25R3916/ST25R3916B in un ciclo di polling per il rilevamento di dispositivi attivi e passivi. Quando un passivo tag o dispositivo attivo, il campo lettore segnala la tecnologia rilevata accendendo un LED corrispondente. È anche possibile impostare l'ST25R3916/ST25R3916B in una modalità di attivazione induttiva premendo il pulsante utente. Durante questo ciclo di polling il sampl'applicazione imposta anche l'ST25R3916/ST25R3916B in modalità di emulazione scheda per rilevare la presenza di un lettore. La demo registra tutte le attività con la porta COM virtuale ST-LINK sull'host del sistema.
Le tecnologie RFID supportate in questa demo sono:
- ISO14443A/NFCA
- ISO14443B/NFC
- Felicia/NFCF
- ISO15693/NFCV
- P2P attivo
- Emulazione di carte di tipo A e F
2.2 Architettura
Questa espansione software completamente conforme per STM32Cube consente di sviluppare applicazioni utilizzando il CI lettore/iniziatore NFC ad alte prestazioni ST25R3916/ST25R3916B HF. Si basa sul livello di astrazione hardware STM32CubeHAL per il microcontrollore STM32 ed estende STM32Cube con un pacchetto di supporto della scheda (BSP) per la scheda di espansione X-NUCLEO-FC06A1/X-NUCLEO-NFC08A1. Il software applicativo può accedere e utilizzare la scheda di espansione X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 attraverso i seguenti livelli:
Strato HAL STM32Cube: il livello del driver HAL fornisce un semplice set di API generiche multi-istanza (interfacce di programmazione dell'applicazione) per interagire con i livelli superiori (applicazione, librerie e stack). Queste API generiche e di estensione sono costruite direttamente su un'architettura comune e consentono ai livelli sovrastanti come il middleware di implementare le loro funzioni senza dipendere da informazioni hardware specifiche dell'unità microcontrollore (MCU). Questa struttura migliora la riusabilità del codice della libreria e garantisce una facile portabilità su altri dispositivi.
- Livello Board Support Package (BSP): fornisce supporto per le periferiche sulla scheda STM32 Nucleo (a parte l'MCU). Questo set di API fornisce un'interfaccia di programmazione per alcune periferiche specifiche della scheda come il LED, il pulsante utente ecc. Questa interfaccia aiuta anche a identificare la versione specifica della scheda.
- Middleware NRF abstraction layer (RFAL): RFAL fornisce diverse funzioni per la comunicazione RF/NFC. Raggruppa i diversi circuiti integrati RF (famiglia di prodotti ST25R3911B esistente e futuri dispositivi ST25R391x) in un'interfaccia comune e di facile utilizzo.
I protocolli forniti da RFAL sono:
- ISO-DEP (livello di collegamento dati ISO14443-4, T=CL)
- NFC-DEP (protocollo di scambio dati ISO18092)
- NFC-A \ISO14443A (T1T, T2T, T4TA)
- NFC-B \ISO14443B (T4TB)
- NFC-F \ Felicia (T3T)
- NFC-V\ISO15693 (T5T)
- P2P \ ISO18092 (NFCIP1, P2P passivo-attivo)
- ST25TB (ISO14443-2 tipo B con protocollo proprietario) Internamente,
L'RFAL è suddiviso in tre sottolivelli:
- RF HL – Strato superiore RF
- RF HAL- strato di astrazione hardware RF
- RF AL – Strato di astrazione RF
Figura 1. Schema a blocchi RFAL
RFHL | RFAL NFC | ||||||||
RFAL | protocollo | DIP. ISO | NFC DIP | ||||||
Tecnologie | NFC-A | NFC-B | NFC•F | NFC-V | TETTONA | T2T | TATTOO | ST25TB | |
RF HAL | RF | ||||||||
Configurazioni RF | |||||||||
ST25R3911 | ST25R3916 | ST25R95 |
I moduli nell'HAL RF dipendono dal chip, implementano il driver RF IC, le tabelle di configurazione e le istruzioni specifiche per l'HW per eseguire le funzioni RF fisiche. L'interfaccia per il chiamante è un'intestazione RF condivisa file che fornisce la stessa interfaccia per gli strati superiori (per tutti i chip). Il RFAL può essere suddiviso in due ulteriori sottostrati:
- Tecnologie: moduli tecnologici che implementano tutte le specifiche, inquadrature, tempistiche, ecc
- Protocolli: implementazione del protocollo che include tutto il framing, i tempi, la gestione degli errori, ecc.
Inoltre, il livello dell'applicazione utilizza funzioni RFAL come NFC Forum Activities (NFCC), EMVCo, DISCO/NUCLEO demo, ecc. Il modulo RFAL NFC fornisce un'interfaccia per eseguire attività comuni come dispositivi poller/ascoltatori. L'accesso alle funzioni più basse dei circuiti integrati è garantito dal modulo RF. Il chiamante può utilizzare direttamente qualsiasi tecnologia RF o livelli di protocollo senza richiedere dati di configurazione hardware specifici.
Figura 2. Architettura del software X-CUBE-NFC6
2.3 Struttura delle cartelle
Le seguenti cartelle sono incluse nel pacchetto software:
- Documentazione: questa cartella contiene un HTML compilato file generato dal codice sorgente che dettaglia i componenti software e le API.
- Driver: questa cartella contiene i driver HAL, i driver specifici della scheda per ciascuna scheda o piattaforma hardware supportata, inclusi i componenti integrati e il livello di astrazione hardware CMSIS indipendente dal fornitore per la serie di processori Cortex-M.
- Middleware: questa cartella contiene RFAL (livello di astrazione RF). RFAL fornisce diverse funzioni necessarie per eseguire la comunicazione RF/NFC. RFAL raggruppa i diversi circuiti integrati RF (ST25R3911/ST25R3916/ST25R3916B e futuri dispositivi ST25R391x) in un'interfaccia comune e di facile utilizzo.
- Progetti: questa cartella contiene due sample applicazione esamples:
– Tag Emulazione di Detect-Card
– Lettura e scrittura di messaggi NDEF
Sono forniti per la piattaforma NUCLEO-L476RG o NUCLEO-L053R8 per tre ambienti di sviluppo (IAR Embedded Workbench for ARM, Keil Microcontroller Development Kit (MDK-ARM) e STM32CubeIDE.
2.4 API
Informazioni tecniche dettagliate sulle API disponibili per l'utente possono essere trovate in un CHM compilato file che si trova all'interno della cartella “RFAL” del pacchetto software dove sono descritte tutte le funzioni ed i parametri. Informazioni tecniche dettagliate sulle API NDEF sono disponibili in .chm file memorizzato nella cartella “doc”.
2.5 anniampl'applicazione
COMEampL'applicazione che utilizza la scheda di espansione X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 con la scheda di sviluppo NUCLEOL476RG o NUCLEO-L053R8 è fornita nella directory "Progetti". I progetti pronti per la creazione sono disponibili per più IDE. In questa applicazione, NFC tags di diversi tipi di telefoni cellulari che supportano il P2P vengono rilevati dal lettore HF ad alte prestazioni ST25R3916/ST25R3916B/IC front-end NFC (per ulteriori dettagli, fare riferimento alla documentazione CHM file generato dal codice sorgente). Dopo l'inizializzazione del sistema e la configurazione dell'orologio, LED101, LED102, LED103, LED104, LED105 e LED106 lampeggiano per 3 volte. Quindi il LED106 si accende per indicare che il campo del lettore è stato attivato. Quando un tag viene rilevato in prossimità, si accende un LED come elencato di seguito.
Tabella 2. LED acceso tag rilevamento
LED acceso tag rilevamento | |
NFC TIPO F | LED101/Tipo F |
LED102/Tipo B | |
NFC TIPO A | LED103/Tipo A |
LED104/Tipo V | |
TIPO NFC AP2P | LED105/Tipo AP2P |
Se un lettore si avvicina alla scheda di espansione X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1, il software entra in modalità emulazione scheda e, a seconda del tipo di comando ent, accende NFC TYPE A e/o NFC TYPE FLED.
Per impostazione predefinita, X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 non scrive alcun dato sul tag, ma questa possibilità può essere abilitata da un pre-processore definito nel file demo.h.
Con la stessa procedura si possono abilitare/disabilitare anche l'emulazione tessera e la modalità poller.
Nel pacchetto è inclusa anche l'interfaccia della porta di comunicazione virtuale ST. Una volta accesa la scheda, la scheda viene inizializzata ed enumerata come porta COM virtuale STLink.
Figura 4. Enumerazione della porta COM virtuale
Dopo aver verificato il numero della porta COM virtuale, aprire un terminale Windows (HyperTerminal o simile) con la configurazione mostrata di seguito (abilitare l'opzione: Implicit CR su LF, se disponibile).
La finestra del terminale restituisce diversi messaggi simili a quelli mostrati di seguito per confermare l'avvenuta connessione.
Figura 6. Inizializzazione riuscita della scheda di espansione X-NUCLEO-NFC06A1
Il secondo sampl'applicazione è disponibile selezionando il secondo target di progetto denominato “STM32L476RGNucleo_PollingTagDetectNdef”.Questa applicazione gestisce i messaggi NDEF tags.
- All'avvio del firmware, sul registro della console viene visualizzato un menu.
- Il pulsante utente consente di scorrere diverse opzioni, inclusa la lettura del contenuto NDEF, la scrittura di un record di testo,
- scrittura di un record URI e formattazione tag per i contenuti NDEF.
- Dopo aver selezionato la demo, tocca a tag per vedere la demo in esecuzione.
Figura 7. Opzioni del pulsante utente della scheda di espansione X-NUCLEO-NFC06A1
Guida alla configurazione del sistema
3.1 Descrizione dell'hardware
3.1.1Nucleo STM32
Le schede di sviluppo STM32 Nucleo offrono agli utenti un modo conveniente e flessibile per testare soluzioni e costruire prototipi con qualsiasi linea di microcontroller STM32. Il supporto per la connettività Arduino e i connettori ST morpho semplificano l'espansione delle funzionalità della piattaforma di sviluppo aperta STM32 Nucleo con un'ampia gamma di schede di espansione specializzate tra cui scegliere. La scheda STM32 Nucleo non richiede sonde separate in quanto integra il debugger/programmatore ST-LINK/V2-1. La scheda STM32 Nucleo viene fornita con la libreria HAL del software STM32 completa insieme a vari pacchetti software example per diversi IDE (IAR EWARM, Keil MDK-ARM, STM32CubeIDE, mbed e GCC/LLVM). Tutti gli utenti di STM32 Nucleo hanno libero accesso alle risorse online di mbed (compilatore, C/C++ SDK e comunità di sviluppatori) all'indirizzo www.mbed.org per creare facilmente applicazioni complete.
Figura 8. Scheda STM32 Nucleo
Scheda di espansione X-NUCLEO-NFC06A1 X-NUCLEO-NFC06A1
La scheda di espansione del lettore di schede NFC si basa sul dispositivo ST25R3916. La scheda di espansione è configurata per supportare la comunicazione ISO14443A/B, ISO15693, FeliCa™ e AP2P. L'ST25R3916 gestisce la codifica e la decodifica dei frame in modalità lettore per applicazioni standard, come NFC, prossimità e standard RFID HF di prossimità. Supporta i protocolli di comunicazione ISO/IEC 14443 tipo A e B, ISO/IEC 15693 (solo sottoportante singola) e ISO/IEC 18092, nonché il rilevamento, la lettura e la scrittura di Forum NFC di tipo 1, 2, 3, 4 e 5 tags. Il sensore capacitivo a bassa potenza integrato esegue la riattivazione a bassissima potenza senza attivare il campo del lettore e la riattivazione induttiva tradizionale per selezionare ampmisurazione della litudine o della fase. La tecnologia di sintonizzazione automatica dell'antenna (AAT) consente il funzionamento vicino a parti metalliche e/o in ambienti mutevoli.
Figura 9. Scheda di espansione X-NUCLEO-NFC06A1
3.1.3 Scheda di espansione X-NUCLEO-NFC08A1
La scheda di espansione del lettore di schede NFC X-NUCLEO-NFC08A1 è basata sul dispositivo ST25R3916B. La scheda di espansione è configurata per supportare la comunicazione ISO14443A/B, ISO15693, FeliCa™ e AP2P. L'ST25R3916B gestisce la codifica e la decodifica dei frame in modalità lettore per applicazioni standard, come NFC, prossimità e standard RFID HF di prossimità. Supporta i protocolli di comunicazione ISO/IEC 14443 tipo A e B, ISO/IEC 15693 (solo sottoportante singola) e ISO/IEC 18092, nonché il rilevamento, la lettura e la scrittura di forum NFC di tipo 1, 2, 3, 4 e 5 tags. Il sensore capacitivo a bassa potenza integrato esegue la riattivazione a bassissima potenza senza attivare il campo del lettore e la riattivazione induttiva tradizionale per selezionare ampmisurazione della litudine o della fase. La tecnologia di sintonizzazione automatica dell'antenna (AAT) consente il funzionamento vicino a parti metalliche e/o in ambienti mutevoli.
Figura 10. Scheda di espansione X-NUCLEO-NFC08A1
3.2 Descrizione del software
Descrizione del software I seguenti componenti software sono necessari per configurare un ambiente di sviluppo adatto per la creazione di applicazioni per STM32 Nucleo dotato di scheda di espansione NFC:
- X-CUBE-NFC6: un'espansione per STM32Cube dedicata allo sviluppo di applicazioni NFC. Il firmware X-CUBENFC6 e la relativa documentazione sono disponibili su www.st.com.
- Catena di strumenti di sviluppo e compilatore. Il software di espansione STM32Cube supporta i tre seguenti ambienti:
– IAR Embedded Workbench per toolchain ARM ® (EWARM) + ST-LINK
– Toolchain Keil Microcontroller Development Kit (MDK-ARM) + ST-LINK
– STM32CubeIDE + ST-LINK
3.3 Hardware pagconfigurazione
Sono necessari i seguenti componenti hardware:
- Una piattaforma di sviluppo STM32 Nucleo (codice ordine suggerito: NUCLEO-L476RG o NUCLEOL053R8)
- Un lettore HF ad alte prestazioni ST25R3916/ST25R3916B/scheda di espansione IC front-end NFC (codice d'ordine: X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1)
- Un cavo USB da tipo A a Mini-B USB per collegare l'STM32 Nucleo al PC
3.4 Configurazione del software
3.4.1 Sviluppo di tool-chain e compilatori
Selezionare uno degli ambienti di sviluppo integrati (IDE) supportati dal software di espansione STM32Cube e leggere i requisiti di sistema e le informazioni di configurazione fornite dal provider IDE.
3.5 Configurazione del sistema
3.5.1 Configurazione della scheda di espansione STM32 Nucleo e X-NUCLEO-NFC06A1
La scheda STM32 Nucleo integra il debugger/programmatore ST-LINK/V2-1. È possibile scaricare il driver USB ST-LINK/V2-1 su STSW-LINK009. La scheda di espansione X-NUCLEO-NFC06A1 si collega facilmente alla scheda di sviluppo STM32 Nucleo tramite il connettore di estensione Arduino™ UNO R3. Si interfaccia con il microcontrollore STM32 sulla scheda STM32 Nucleo tramite il livello di trasporto SPI. È possibile anche la comunicazione I²C, ma richiede le seguenti modifiche hardware:
- saldare i ponticelli ST2 e ST4
- saldare resistori pull-up R116 e R117
- rimuovere il ponte di saldatura SPI
- mettere il ponte di saldatura I²C È necessario utilizzare il flag di compilazione del preprocessore RFAL_USE_I2C e rinominare USE_HAL_SPI_REGISTER_CALLBACKS con USE_HAL_I2C_REGISTER_CALLBACKS, se necessario, per attivare la compilazione del driver I²C.
Figura 11. Scheda di espansione X-NUCLEO-NFC06A1 più scheda di sviluppo NUCLEO-L476RG
3.5.2 Configurazione della scheda di espansione STM32 Nucleo e X-NUCLEO-NFC08A1
La scheda STM32 Nucleo integra il debugger/programmatore ST-LINK/V2-1. È possibile scaricare il driver USB ST-LINK/V2-1 su STSW-LINK009. La scheda di espansione X-NUCLEO-NFC08A1 si collega facilmente alla scheda di sviluppo STM32 Nucleo tramite il connettore di estensione Arduino™ UNO R3. Si interfaccia con il microcontrollore STM32 sulla scheda STM32 Nucleo tramite il livello di trasporto SPI. È anche possibile la comunicazione I²C.
Cronologia delle revisioni
Tabella 3. Cronologia delle revisioni del documento
Data | Versione | Cambiamenti |
18-lug-19 | 1 | Versione iniziale. |
19-Ott-22 | 2 | Introduzione aggiornata, Sezione 2.1 Sopraview, Sezione 2.2 Architettura, Sezione 2.3 Struttura delle cartelle, Sezione 2.5 Sample, Sezione 3.2 Descrizione del software, Sezione 3.3 Configurazione hardware e Sezione 3.5.1 Configurazione della scheda di espansione STM32 Nucleo e X-NUCLEO-NFC06A1. Aggiunta la Sezione 3.1.3 Scheda di espansione X-NUCLEO-NFC08A1 e la Sezione 3.5.2 Configurazione della scheda di espansione STM32 Nucleo e-NUCLEO-NFC08A1. |
AVVISO IMPORTANTE – LEGGERE ATTENTAMENTE
STMicroelectronics NV e le sue consociate ("ST") si riservano il diritto di apportare modifiche, correzioni, miglioramenti, migliorie e migliorie ai prodotti ST e/o al presente documento in qualsiasi momento e senza preavviso. Gli acquirenti devono ottenere le ultime informazioni rilevanti sui prodotti ST prima di effettuare ordini. I prodotti ST sono venduti in conformità ai termini e alle condizioni di vendita di ST in vigore al momento della conferma dell'ordine.
Gli acquirenti sono gli unici responsabili della scelta, della selezione e dell'uso dei prodotti ST e ST non si assume alcuna responsabilità per l'assistenza applicativa o la progettazione dei prodotti degli acquirenti.
Nessuna licenza, esplicita o implicita, su alcun diritto di proprietà intellettuale è concessa da ST nel presente documento. La rivendita di prodotti ST con disposizioni diverse dalle informazioni qui stabilite invaliderà qualsiasi garanzia concessa da ST per tale prodotto. ST e il logo ST sono marchi di fabbrica di ST.
Per ulteriori informazioni sui marchi ST, fare riferimento a www.st.com/trademarks. Tutti gli altri nomi di prodotti o servizi sono di proprietà dei rispettivi proprietari. Le informazioni contenute in questo documento annullano e sostituiscono le informazioni fornite in precedenza in qualsiasi versione precedente di questo documento.
© 2022 STMicroelectronics
Tutti i diritti riservati
Documenti / Risorse
![]() |
ST UM2616 X-CUBE-NFC6 Lettore HF ad alte prestazioni [pdf] Manuale d'uso UM2616 X-CUBE-NFC6 Lettore HF ad alte prestazioni, UM2616, X-CUBE-NFC6 Lettore HF ad alte prestazioni, X-CUBE-NFC6, Lettore HF ad alte prestazioni, Lettore HF alto, Lettore HF, Lettore ad alte prestazioni, Lettore, CI iniziatore NFC Espansione software per STM32Cube |