ST UM2766 X-LINUX-NFC5-paket för att utveckla NFC/RFID-läsare
Introduktion
Detta STM32 MPU OpenSTLinux programexpansionspaket visar hur du kan utveckla NFC/RF-kommunikation för ett standard Linux-system med hjälp av vårt Radio Frequency Abstraction Library (RFAL). RFAL-drivrutinen för det gemensamma gränssnittet säkerställer att användarfunktioner och applikationsprogramvara är kompatibla med alla ST25R NFC/RFID-läsar-IC.
X-LINUX-NFC5-paketet portar RFAL till ett Discovery Kit med mikroprocessor i STM32MP1-serien som kör Linux för att driva en ST25R3911B NFC-frontend på ett STM32 Nucleo-expansionskort. Paketet innehåller somampapplikationen för att hjälpa dig att förstå upptäckt av olika typer av NFC tags och mobiltelefoner som stöder P2P.
Källkoden är designad för portabilitet över ett brett utbud av processorenheter som kör Linux och stöder alla lägre lager och vissa högre lagerprotokoll av ST25R IC:er för att abstrahera RF-kommunikation.
Radio Frequency Abstraction Library för Linux
RFAL |
Protokoll | ISO DEP | NFC DEP | ||||
Teknologier | NFC-A | NFC-B | NFC-F | NFC-V | T1T |
ST25TB |
|
HAL |
RF | ||||||
RF-konfigurationer |
|||||||
ST25R3911B |
X-LINUX-NFC5 överview
Huvudfunktioner
Mjukvaruexpansionspaketet X-LINUX-NFC5 innehåller följande funktioner:
- Komplett drivrutin för Linux-användarutrymme (RF-abstraktionslager) för att bygga NFC-aktiverade applikationer med hjälp av ST25R3911B/ST25R391x NFC-fronten med upp till 1.4 W uteffekt.
- Linux-värdkommunikation med ST25R3911B/ST25R391x via höghastighets SPI-gränssnitt.
- Komplett RF/NFC-abstraktion (RFAL) för alla större teknologier och protokoll med högre lager:
- NFC-A (ISO14443-A)
- NFC-B (ISO14443-B)
- NFC-F (FeliCa)
- NFC-V (ISO15693)
- P2P (ISO18092)
- ISO-DEP (ISO datautbytesprotokoll, ISO14443-4)
- NFC-DEP (NFC-protokoll för datautbyte, ISO18092)
- Proprietära teknologier (Kovio, B', iClass, Calypso, etc.)
- Sampimplementeringen tillgänglig med X-NUCLEO-NFC05A1 expansionskort ansluten till en STM32MP157F-DK2
- Sampapplikationen för att upptäcka flera NFC tags typer
Paketarkitektur
Mjukvarupaketet körs på A7-kärnan i STM32MP1-serien. X-LINUX-NFC5 interagerar med biblioteken i de lägre skikten och SPI-linjer som exponeras av Linux-programvaran.
X-LINUX-NFC5 applikationsarkitektur i Linux-miljö
Hårdvaruinställningar
Hårdvarukrav:
- Ubuntu-baserad PC/Virtual-maskin version 16.04 eller högre
- STM32MP157F-DK2 kort (Discovery Kit)
- X-NUCLEO-NFC05A1
- 8 GB micro SD-kort för att starta upp STM32MP157F-DK2
- SD-kortläsare/LAN-anslutning
- USB Typ-A till Type-micro B USB-kabel
- USB Typ A till Type-C USB-kabel
- USB PD-kompatibel 5V 3A strömförsörjning
PC/Virtual-maskinen utgör plattformen för korsutveckling för att bygga RFAL-biblioteket och applikationskoden för att upptäcka och kommunicera med NFC-enheter via ST25R3911B IC.
Hur man ansluter hårdvaran
Steg 1. Anslut X-NUCLEO-NFC05A1-expansionskortet till Arduino-kontakterna på undersidan av upptäcktskortet STM32MP157F-DK2.
Nucleo-kort och Discovery-kort Arduino-kontakter
- X-NUCLEO-NFC05A1 expansionskort
- STM32MP157F-DK2 upptäcktskort
- Arduino-kontakter
Steg 2. Anslut ST-LINK-programmeraren/debuggern inbäddad på upptäcktskortet till din värddator via USB-porten av mikro B-typ (CN11).
Steg 3. Ström upptäcktskortet via USB Type C-porten (CN6).
Fullständig installation av hårdvaruanslutning
RELATERADE LÄNKAR
Se denna wiki för mer information om strömförsörjning och kommunikationsportar
Programvaruinstallation
Innan du börjar, strömförsörj STM32MP157F-DK2 Discovery-satsen via en USB PD-kompatibel 5 V, 3 A strömförsörjning och installera startpaketet enligt instruktionerna i Komma igång-wikin. Du behöver ett microSD-kort på minst 2 GB för att flasha de startbara bilderna.
För att köra applikationen måste plattformskonfigurationen uppdateras genom att uppdatera enhetsträdet för att aktivera relevant kringutrustning. Du kan göra detta snabbt genom att använda de förbyggda bilderna som finns tillgängliga, eller så kan du utveckla enhetsträdet och bygga dina egna kärnavbildningar.
Du kan också (valfritt) bygga detta mjukvarupaket genom att inkludera Yocto-lagret (meta-nfc5 ) i ST-distributionspaketet. Den här operationen skapar källkoden och inkluderar modifieringarna av enhetsträdet tillsammans med kompilerade binärfiler i de slutliga flashbara bilderna. För detaljerade steg som beskriver processen, se avsnitt 3.5.
Du kan ansluta till Discovery Kit från värddatorn via TCP/IP-nätverk med ssh- och scp-kommandon, eller via seriella UART- eller USB-länkar med hjälp av verktyg som minicom för Linux eller Tera Term för Windows.
Steg för snabb utvärdering av programvara
- Steg 01: Flash startpaketet på SD-kortet.
- Steg 02: Starta kortet med startpaketet.
- Steg 03: Aktivera internetanslutning på kortet via Ethernet eller Wi-Fi. Se relevanta wikisidor för hjälp.
- Steg 04: Ladda ner förbyggda bilder från X-LINUX-NFC5 web sida på ST webplats
- Steg 05: Använd följande kommandon för att kopiera enhetsträdblobben och uppdatera den nya plattformskonfigurationen:
Om nätverksanslutning inte är tillgänglig kan du överföra files lokalt från din Windows-dator till Discovery Kit med Tera Term.
För ytterligare information om överföring av data files använder Tera Term.
- Steg 06: Efter att brädet har startat upp, kopiera applikationens binära och delade lib till upptäcktstavlan.
Applikationen kommer att börja köras när dessa kommandon körs.
Så här uppdaterar du plattformskonfigurationen i utvecklarpaketet
Följande steg låter dig ställa in utvecklingsmiljön.
- Steg 01: Ladda ner utvecklarpaketet och installera SDK:n i standardmappstrukturen på din Ubuntu-maskin.
Du hittar instruktionerna här: Installera SDK - Steg 02: Öppna enhetsträdet file 'stm32mp157f-dk2.dts' i källkoden för utvecklarpaketet och lägg till kodavsnittet nedan i file:
Detta uppdaterar enhetsträdet för att aktivera och konfigurera SPI4-drivrutinsgränssnittet.
- Steg 03: Kompilera utvecklarpaketet för att få stm32mp157f-dk2.dtb file.
Hur man bygger RFAL Linux-applikationskoden
Innan du börjar måste SDK:n laddas ner, installeras och aktiveras. Ladda ner applikationen från länken: X-LINUX-NFC5
- Steg 1. Kör kommandona nedan för att korskompilera koden:
Dessa kommandon kommer att bygga följande files:- Example ansökan: nfc_poller_st25r3911
- delad lib för att köra example ansökan: librfal_st25r3911.so
Hur man kör RFAL Linux-applikationen på STM32MP157F-DK2
- Steg 01: Kopiera genererade binärfiler till Discovery Kit med hjälp av nedanstående kommandon
- Steg 02: Öppna terminalen på Discovery Kit-kortet eller använd ssh-inloggning och kör programmet med följande kommandon.
Användaren kommer att se nedanstående meddelande på skärmen:
- Steg 03: När en NFC tag förs nära NFC-mottagaren, UID och NFC tag typ visas på skärmen.
Discovery Kit som kör nfcPoller-applikationen
Hur man inkluderar Meta-nfc5 Layer i distributionspaketet
- Steg 01: Ladda ner och kompilera distributionspaketet på din Linux-maskin.
- Steg 02: Följ standardkatalogstrukturen som föreslås av ST wiki-sidan för att följa detta dokument synkront.
- Steg 03: Ladda ner applikationspaketet X-LINUX-NFC5:
- Steg 04: Ställ in byggkonfigurationen.
- Steg 05: Lägg till meta-nfc5-lagret till byggkonfigurationen för distributionspaketets konfiguration.
- Steg 06: Uppdatera konfigurationen för att lägga till nya komponenter i din bild.
- Steg 07: Bygg ditt lager separat och bygg sedan hela distributionslagret.
Notera: Att bygga distributionssidan för första gången kan ta flera timmar. Det tar dock bara några minuter att bygga meta-nfc5-lagret och installera de körbara filerna i de slutliga bilderna. När bygget är klart finns bilderna i följande katalog: build- - /tmp-glibc/deploy/images/stm32mp1.
- Steg 08: Följ instruktionerna på ST wiki-sidan: Flasha den byggda bilden för att flasha de nybyggda bilderna på
upptäcktssats. - Steg 09: Kör programmet enligt steg 2 i avsnitt 3.4.
Hur man överför Files Använda Tera Term
Du kan använda ett Windows-terminalemulatorprogram som Tera Term för att överföra files från din PC till Discovery Kit.
- Steg 01: Tillför USB-ström till Discovery Kit.
- Steg 02: Anslut Discovery Kit till din PC via USB micro B-kontakten (CN11).
- Steg 03: Kontrollera det virtuella COM-portnumret i enhetshanteraren.
I skärmdumpen nedan är COM-portnumret 14.
Skärmdump av Enhetshanteraren som visar Virtual Com Port
- Steg 04: Öppna Tera Term på din PC och välj COM-porten som identifierades i föregående steg. Baudhastigheten bör vara 115200 baud.
Ögonblicksbild av Remote Terminal via Tera Term
- Steg 05: För att överföra en file från värddatorn till Discovery Kit, välj [File]>[Överför]>[ZMODEM]>[Skicka] i det övre vänstra hörnet av Tera Term-fönstret.
Tera Term File Överför meny
- Steg 06: Välj file ska överföras i file webbläsare och välj [Öppna].
File Webbläsarfönster för att skicka Files
.
- Steg 07: En förloppsindikator visar status för file överföra.
File Överföringsförloppsindikator
Revisionshistorik
Revisionshistorik för dokument
Datum |
Version |
Ändringar |
30 oktober 2020 |
1 |
Initial release. |
15-2021 juli |
2 |
Uppdaterad Avsnitt 1.1 Huvuddrag, Avsnitt 2 Installation av hårdvara, Avsnitt 2.1 Hur man anslut hårdvaran, Avsnitt 3 Programvaruinstallation, Avsnitt 3.1 Steg för snabb utvärdering av programvara, Avsnitt 3.2 Hur man uppdaterar plattformskonfigurationen i utvecklarpaketet och Avsnitt 3.3 Hur man bygger RFAL Linux-applikationskoden.
Tillagd Avsnitt 3.5 Hur man inkluderar meta-nfc5-lagret i distributionspaketet. Lade till STM32MP157F-DK2 discovery kit-kompatibilitetsinformation. |
Dokument/resurser
![]() |
ST UM2766 X-LINUX-NFC5-paket för att utveckla NFC/RFID-läsare [pdf] Användarmanual UM2766, X-LINUX-NFC5-paket för att utveckla NFC-RFID-läsare, utveckla NFC-RFID-läsare, NFC-RFID-läsare, X-LINUX-NFC5-paket, X-LINUX-NFC5 |