Pacchetto ST UM2766 X-LINUX-NFC5 per lo sviluppo di lettori NFC/RFID
Introduzione
Questo pacchetto di espansione del software STM32 MPU OpenSTLinux dimostra come è possibile sviluppare la comunicazione NFC/RF per un sistema Linux standard utilizzando la nostra libreria di astrazione di frequenze radio (RFAL). Il driver dell'interfaccia comune RFAL garantisce che la funzione utente e il software applicativo siano compatibili con qualsiasi CI del lettore NFC/RFID ST25R.
Il pacchetto X-LINUX-NFC5 porta l'RFAL su un Discovery Kit con microprocessore serie STM32MP1 che esegue Linux per pilotare un front-end NFC ST25R3911B su una scheda di espansione STM32 Nucleo. Il pacchetto include comeampl'applicazione per aiutarti a capire il rilevamento di diversi tipi di NFC tags e telefoni cellulari che supportano il P2P.
Il codice sorgente è progettato per la portabilità su un'ampia gamma di unità di elaborazione che eseguono Linux e supporta tutti i livelli inferiori e alcuni protocolli di livello superiore dei circuiti integrati ST25R per astrarre la comunicazione RF.
Libreria di astrazione di radiofrequenza per Linux
RFAL |
Protocolli | DIP. ISO | NFC DIP | ||||
Tecnologie | NFC-A | NFC-B | NFC-F | NFC-V | T1T |
ST25TB |
|
SALVEZZA |
RF | ||||||
Configurazioni RF |
|||||||
ST25R3911B |
X-LINUX-NFC5 Fineview
Caratteristiche principali
Il pacchetto di espansione software X-LINUX-NFC5 include le seguenti funzionalità:
- Driver dello spazio utente Linux completo (livello di astrazione RF) per creare applicazioni abilitate per NFC utilizzando i front-end NFC ST25R3911B/ST25R391x con potenza di uscita fino a 1.4 W.
- Comunicazione host Linux con ST25R3911B/ST25R391x tramite interfaccia SPI ad alta velocità.
- Astrazione RF/NFC completa (RFAL) per tutte le principali tecnologie e protocolli di livello superiore:
- NFC-A (ISO14443-A)
- NFC-B (ISO14443-B)
- NFC-F (Felica)
- NFC-V (ISO15693)
- P2P (ISO18092)
- ISO-DEP (protocollo di scambio dati ISO, ISO14443-4)
- NFC-DEP (protocollo di scambio dati NFC, ISO18092)
- Tecnologie proprietarie (Kovio, B', iClass, Calypso, ecc.)
- Sampimplementazione disponibile con scheda di espansione X-NUCLEO-NFC05A1 collegata a un STM32MP157F-DK2
- Sample applicazione per rilevare diversi NFC tags tipi
Architettura del pacchetto
Il pacchetto software funziona sul core A7 della serie STM32MP1. X-LINUX-NFC5 interagisce con le librerie dei livelli inferiori e le linee SPI esposte dal framework software Linux.
Architettura dell'applicazione X-LINUX-NFC5 in ambiente Linux
Configurazione hardware
Requisiti hardware:
- PC/macchina virtuale basato su Ubuntu versione 16.04 o successiva
- Scheda STM32MP157F-DK2 (kit di rilevamento)
- X-NUCLEO-NFC05A1
- Scheda micro SD da 8 GB per avviare STM32MP157F-DK2
- Lettore di schede SD / connettività LAN
- Cavo USB da tipo A a tipo micro B USB
- Cavo USB da tipo A a USB di tipo C
- Alimentatore 5V 3A conforme a USB PD
Il PC/macchina virtuale costituisce la piattaforma di sviluppo incrociato per creare la libreria RFAL e il codice dell'applicazione per rilevare e comunicare con i dispositivi NFC tramite l'IC ST25R3911B.
Come collegare l'hardware
Fase 1. Collega la scheda di espansione X-NUCLEO-NFC05A1 ai connettori Arduino sul lato inferiore della scheda discovery STM32MP157F-DK2.
Connettori Arduino per scheda Nucleo e scheda Discovery
- Scheda di espansione X-NUCLEO-NFC05A1
- Scheda di scoperta STM32MP157F-DK2
- Connettori Arduino
Fase 2. Collega il programmatore/debugger ST-LINK integrato nella scheda di rilevamento al PC host tramite la porta USB micro B di tipo (CN11).
Fase 3. Alimentare la scheda di rilevamento tramite la porta USB di tipo C (CN6).
Configurazione completa della connessione hardware
LINK CORRELATI
Fare riferimento a questo wiki per maggiori dettagli relativi all'alimentazione e alle porte di comunicazione
Installazione del software
Prima di iniziare, alimentare il kit Discovery STM32MP157F-DK2 tramite un alimentatore da 5 V, 3 A conforme a USB PD e installare il pacchetto di avvio secondo le istruzioni nella wiki introduttiva. Avrai bisogno di una scheda microSD da almeno 2 GB per eseguire il flashing delle immagini avviabili.
Per eseguire l'applicazione, è necessario aggiornare la configurazione della piattaforma aggiornando l'albero dei dispositivi per abilitare le relative periferiche. Puoi farlo rapidamente utilizzando le immagini predefinite disponibili, oppure puoi sviluppare l'albero dei dispositivi e creare le tue immagini del kernel.
Puoi anche (facoltativamente) creare questo pacchetto software includendo il livello Yocto (meta-nfc5 ) nel pacchetto di distribuzione ST. Questa operazione crea il codice sorgente e include le modifiche dell'albero dei dispositivi insieme ai binari compilati nelle immagini flash finali. Per i passaggi dettagliati che descrivono il processo, vedere la Sezione 3.5.
È possibile connettersi al Discovery Kit dal PC host tramite rete TCP/IP utilizzando i comandi ssh e scp o tramite collegamenti seriali UART o USB utilizzando strumenti come minicom per Linux o Tera Term per Windows.
Passaggi per una rapida valutazione del software
- Passaggio 01: eseguire il flashing del pacchetto iniziale sulla scheda SD.
- Passaggio 02: avviare la scheda con il pacchetto Starter.
- Passaggio 03: abilitare la connettività Internet sulla scheda tramite Ethernet o Wi-Fi. Fare riferimento alle pagine wiki pertinenti per assistenza.
- Passaggio 04: scarica le immagini predefinite da X-LINUX-NFC5 web pagina sulla ST websito
- Passaggio 05: utilizzare i comandi seguenti per copiare il BLOB della struttura ad albero dei dispositivi e aggiornare la nuova configurazione della piattaforma:
Se la connettività di rete non è disponibile, è possibile trasferire il files localmente dal tuo PC Windows al Discovery Kit utilizzando Tera Term.
Per maggiori dettagli sul trasferimento dei dati filesta usando Tera Term.
- Passaggio 06: dopo l'avvio della scheda, copiare il binario dell'applicazione e la libreria condivisa sulla scheda di rilevamento.
L'applicazione verrà avviata una volta eseguiti questi comandi.
Come aggiornare la configurazione della piattaforma nel pacchetto per sviluppatori
I passaggi seguenti ti permetteranno di configurare l'ambiente di sviluppo.
- Passaggio 01: scarica il pacchetto per sviluppatori e installa l'SDK nella struttura di cartelle predefinita sul tuo computer Ubuntu.
Puoi trovare le istruzioni qui: Installa SDK - Passaggio 02: aprire l'albero dei dispositivi file 'stm32mp157f-dk2.dts' nel codice sorgente del pacchetto per sviluppatori e aggiungere lo snippet di codice di seguito al file:
Questo aggiorna la struttura dei dispositivi per abilitare e configurare l'interfaccia del driver SPI4.
- Passaggio 03: compilare il pacchetto Developer per ottenere stm32mp157f-dk2.dtb file.
Come creare il codice dell'applicazione Linux RFAL
Prima di iniziare, l'SDK deve essere scaricato, installato e abilitato. Scarica l'applicazione dal link: X-LINUX-NFC5
- Passaggio 1. Eseguire i comandi seguenti per eseguire la compilazione incrociata del codice:
Questi comandi creeranno il seguente files:- L'example applicazione: nfc_poller_st25r3911
- libreria condivisa per eseguire l'example applicazione: librfal_st25r3911.so
Come eseguire l'applicazione RFAL Linux su STM32MP157F-DK2
- Passaggio 01: copia i file binari generati sul Discovery Kit utilizzando i comandi seguenti
- Passaggio 02: aprire il terminale sulla scheda Discovery Kit o utilizzare il login ssh ed eseguire l'applicazione utilizzando i seguenti comandi.
L'utente vedrà il seguente messaggio sullo schermo:
- Passaggio 03: quando un NFC tag viene avvicinato al ricevitore NFC, all'UID e all'NFC tag tipo viene visualizzato sullo schermo.
Discovery Kit che esegue l'applicazione nfcPoller
Come includere il livello Meta-nfc5 nel pacchetto di distribuzione
- Passaggio 01: scarica e compila il pacchetto di distribuzione sulla tua macchina Linux.
- Passaggio 02: seguire la struttura di directory predefinita suggerita dalla pagina wiki di ST per seguire questo documento in modo sincrono.
- Passaggio 03: scaricare il pacchetto dell'applicazione X-LINUX-NFC5:
- Passaggio 04: impostare la configurazione della build.
- Passaggio 05: aggiungere il livello meta-nfc5 alla configurazione di build della configurazione del pacchetto di distribuzione.
- Passaggio 06: aggiorna la configurazione per aggiungere nuovi componenti nell'immagine.
- Passaggio 07: crea il tuo livello separatamente e quindi crea il livello di distribuzione completo.
Nota: La creazione della pagina di distribuzione per la prima volta potrebbe richiedere diverse ore. Tuttavia, ci vogliono solo pochi minuti per creare il livello meta-nfc5 e installare gli eseguibili nelle immagini finali. Una volta completata la build, le immagini sono presenti nella seguente directory: build- - /tmp-glibc/deploy/images/stm32mp1.
- Passaggio 08: seguire le istruzioni sulla pagina wiki di ST: lampeggiare l'immagine creata per far lampeggiare le nuove immagini create sul
kit di scoperta. - Passaggio 09: eseguire l'applicazione come indicato nel passaggio 2 della sezione 3.4.
Come trasferire Files Utilizzo del termine Tera
Puoi utilizzare un'applicazione di emulazione di terminale Windows come Tera Term per trasferire files dal tuo PC al Discovery Kit.
- Passaggio 01: fornire alimentazione USB al Discovery Kit.
- Passaggio 02: collegare il Discovery Kit al PC tramite il connettore USB micro B (CN11).
- Passaggio 03: controllare il numero della porta COM virtuale in Gestione dispositivi.
Nello screenshot qui sotto, il numero della porta COM è 14.
Schermata di Gestione dispositivi che mostra la porta COM virtuale
- Passaggio 04: aprire Tera Term sul PC e selezionare la porta COM identificata nel passaggio precedente. La velocità di trasmissione dovrebbe essere 115200 baud.
Istantanea del terminale remoto tramite Tera Term
- Passaggio 05: trasferire a file dal PC host a Discovery Kit, selezionare [File]>[Trasferisci]>[ZMODEM]>[Invia] nell'angolo in alto a sinistra della finestra di Tera Term.
Termine Tera File Menu di trasferimento
- Passaggio 06: selezionare il file da trasferire in file browser e selezionare [Apri].
File Finestra del browser per l'invio Files
.
- Passaggio 07: una barra di avanzamento mostrerà lo stato di file trasferimento.
File Barra di avanzamento del trasferimento
Cronologia delle revisioni
Cronologia delle revisioni del documento
Data |
Versione |
Cambiamenti |
30-Ott-2020 |
1 |
Versione iniziale. |
15-lug-2021 |
2 |
Aggiornato Sezione 1.1 Caratteristiche principali, Sezione 2 Configurazione hardware, Sezione 2.1 Come fare collegare l'hardware, Sezione 3 Configurazione del software, Sezione 3.1 Passaggi per una rapida valutazione di software, Sezione 3.2 Come aggiornare la configurazione della piattaforma nel pacchetto per sviluppatori E Sezione 3.3 Come creare il codice dell'applicazione RFAL Linux.
Aggiunto Sezione 3.5 Come includere il livello meta-nfc5 nel pacchetto di distribuzione. Aggiunte informazioni sulla compatibilità del kit di rilevamento STM32MP157F-DK2. |
Documenti / Risorse
![]() |
Pacchetto ST UM2766 X-LINUX-NFC5 per lo sviluppo di lettori NFC/RFID [pdf] Manuale d'uso UM2766, pacchetto X-LINUX-NFC5 per lo sviluppo di lettori NFC-RFID, sviluppo di lettori NFC-RFID, lettore NFC-RFID, pacchetto X-LINUX-NFC5, X-LINUX-NFC5 |