STMicroelectronics UM2375 Linux Bestuurder Gebruikershandleiding

Linux®-bestuurder vir die ST25R3911B en ST25R3912/14/15 hoë werkverrigting NFC frontends
Inleiding
Die STSW-ST25R009 Linux®-bestuurder stel die Raspberry Pi 4 in staat om met die X-NUCLEO-NFC05A1 te werk, wat die ST25R3911B hoëwerkverrigting NFC universele toestel bevat.
Hierdie pakket plaas die RF-abstraksielaag (RFAL) op 'n Raspberry Pi 4 Linux-platform om met X-NUCLEO-NFC05A1-firmware te werk. Die pakket verskaf asample toepassing wat verskillende tipes NFC opspoor tags en selfone wat P2P ondersteun. Die RFAL is die ST-standaardbestuurder vir ST25R NFC/RFID-leser-IC's ST25R3911B, ST25R3912, ST25R3913, ST25R3914 en ST25R3915. Dit word byvoorbeeld gebruik deur die ST25R3911B-DISCO-firmware (STSW-ST25R002) en deur die X-NUCLEONFC05A1-firmware (X-CUBE-NFC5).
STSW-ST25R009 ondersteun al die ST25R3911B laer-laag protokolle en ook 'n paar hoër laag protokolle vir kommunikasie. Die RFAL is op 'n draagbare manier geskryf, sodat dit op 'n wye reeks toestelle gebaseer op Linux® kan loop. Hierdie dokument beskryf hoe die RFAL-biblioteek op 'n standaard Linux-stelsel (in hierdie geval die Raspberry Pi 4) vir NFC/RF-kommunikasie gebruik kan word. Die kode is hoogs draagbaar en werk met geringe veranderinge op enige Linux-platform.
Figuur 1. RFAL-biblioteek op Linux-platform

verbyview
Kenmerke
- Voltooi Linux-gebruikerspasiebestuurder (RF-abstraksielaag) om NFC-geaktiveerde toepassings te bou deur die ST25R3911B/ST25R391x hoëwerkverrigting NFC-voorkante met tot 1.4 W uitsetkrag te gebruik
- Linux-gasheerkommunikasie met die ST25R3911B/ST25R391x met behulp van SPI-koppelvlak
- Voltooi RF/NFC-abstraksie (RFAL) vir alle groot tegnologieë en hoërlaagprotokolle:
- NFC-A (ISO14443-A)
- NFC-B (ISO14443-B)
- NFC-F (FeliCa™)
- NFC-V (ISO15693)
- P2P (ISO18092)
- ISO-DEP (ISO data-uitruilprotokol, ISO14443-4)
- NFC-DEP (NFC data-uitruilprotokol, ISO18092)
- Eiendomstegnologie (Kovio, B', iClass, Calypso®, …)
- Sample implementering beskikbaar met die X-NUCLEO-NFC05A1 uitbreidingsbord, ingeprop by 'n Raspberry Pi 4
- Sample toepassing om verskeie NFC op te spoor tag tipes en selfone wat P2P ondersteun
- Gratis gebruikersvriendelike lisensiebepalings
Sagteware argitektuur
Figuur 2 toon die sagteware-argitektuurbesonderhede van RFAL-biblioteek op 'n Linux®-platform.
Die RFAL is maklik draagbaar na ander platforms deur die sogenaamde platform aan te pas files.
Die kop file rfal_platform.h bevat makro-definisies, wat deur die platformeienaar verskaf en geïmplementeer moet word. Verder bied dit platformspesifieke instellings soos GPIO-toewysing, stelselhulpbronne, slotte en IRQ's, wat nodig is vir die korrekte werking van die RFAL.
Hierdie demonstrasie implementeer die platformfunksies en verskaf 'n poort van die RFAL-biblioteek na gebruikersruimte van Linux®. 'n Gedeelde biblioteek file word gegenereer, wat deur die demo-toepassing gebruik word om die funksies wat deur die RFAL-laag verskaf word, ten toon te stel.
Linux®-gasheer gebruik sysfs-koppelvlak beskikbaar vanaf Linux®-gebruikersruimte om SPI-kommunikasie met die ST25R3911B-toestel moontlik te maak. Binne die Linux®-kern gebruik die SPI sysfs-koppelvlak Linux®-kernbestuurder spidev om SPI-rame na/van ST25R3911B te stuur/ontvang.
Vir die hantering van die onderbrekingslyn van ST25R3911B, gebruik die bestuurder die libgpiod om in kennis gestel te word van veranderinge op hierdie lyn.
Figuur 2. RFAL sagteware argitektuur op Linux

Hardeware opstelling
Platform gebruik
'n Raspberry Pi 4-bord met Raspberry Pi OS word as Linux-platform gebruik om RFAL-biblioteek te bou en met ST25R3911B oor SPI te kommunikeer.
ST25R3911B stel 'n toepassing op Linux-platform in staat om NFC-toestelle op te spoor en daarmee te kommunikeer.
Hardeware vereistes
- Raspberry Pi 4
- 8 GB mikro-SD-kaart om Raspberry Pi OS te begin
- SD-kaartleser
- Brugbord om X-NUCLEO-NFC05A1 te verbind met Raspberry Pi Arduino Adapter vir Raspberry Pi, onderdeelnommer ARPI600.
- X-NUCLEO-NFC05A1. Verwys na die nuutste Raspberry Pi OS-vereistes.
Hardware verbindings
Die ARPI600 Raspberry Pi na Arduino adapterbord word gebruik om die X-NUCLEO-NFC05A1 met die Raspberry Pi te verbind. Dit is nodig om die springers van die adapterbord te verander om dit met die X-NUCLEO-NFC05A1 te verbind.
Waarskuwing: Die ARPI600 verskaf verkeerdelik 5 V aan die Arduino IOREF-pen. Deur die X-NUCLEO-NFC05A1 direk aan te heg, voer 5 V op sommige penne terug, dit kan die Raspberry Pi-bord beskadig. Daar is veral berigte van Raspberry Pi 4B+ wat eintlik vernietig is. Om hierdie situasie te vermy, pas óf die ARPI600 ('n taamlik moeilike operasie) of die X-NUCLEO-NFC05A1 (makliker werking) aan.
Die maklikste oplossing is om die CN6.2 (IOREF) pen op die X-NUCLEO-NFC05A1 te sny soos in Figuur 3 getoon.
Om hierdie pen te sny, beïnvloed nie die werking in samewerking met Nucleo-borde nie (NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB, ens.).
Figuur 3. Hardeware verbinding regstelling

Jumper instelling
Die springers vir A5, A4, A3, A2, A1 en A0 wat in Figuur 4 getoon word, moet verander word na P23, P22, P21 en CE1. Met hierdie jumper-instelling word Raspberry se GPIO-pennommer 7 as onderbrekingslyn vir X-NUCLEO-NFC05A1 gebruik.
Figuur 4. Posisie van springers A5, A4, A3, A2, A1 en A0 op die adapterbord

Tans gebruik hierdie RFAL-biblioteekpoort die pen GPIO7 as die onderbrekingslyn, volgens die jumper-instellings. As daar 'n vereiste is om die onderbrekingslyn van GPIO7 na 'n ander GPIO te verander, sal die platformspesifieke kode (in file pltf_gpio.h) moet gewysig word om die definisie van makro "ST25R_INT_PIN" te verander van 7 na die nuwe GPIO-pen, om as onderbrekingslyn gebruik te word.
Met die bogenoemde jumper-instellings kan die adapterbord gebruik word om X-NUCLEO-NFC05A1 met Raspberry Pi-bord te verbind soos in Figuur 5 getoon.
Figuur 5. Hardeware-opstelling bo view

Figuur 6. Hardeware opstelling kant view

Linux omgewing opstel
Opstart van Raspberry Pi
Om die Linux-omgewing op te stel, is die eerste stap om die Raspberry Pi 4 met Raspberry Pi OS te installeer en op te laai soos hieronder verduidelik:
Stap 1
Laai die nuutste Raspberry Pi OS-beeld af vanaf die skakel:
Kies Raspberry Pi OS met lessenaar. Vir die toetse hieronder is die volgende weergawe gebruik: September 2022 (2022-09-22-raspios-bullseye-armhf.img.xz).
Stap 2
Pak die Raspberry Pi-prent uit en skryf dit in die SD-kaart deur die instruksies te volg wat beskikbaar is in die afdeling genaamd "Skryf 'n prent na die SD-kaart".
Stap 3
Koppel die hardeware:
- Koppel die Raspberry Pi aan 'n monitor met 'n standaard HDMI-kabel.
- Koppel muis en sleutelbord aan Raspberry Pi se USB-poorte.
Dit is ook moontlik om met Raspberry Pi te werk deur ssh te gebruik. In daardie geval is dit nie nodig om die monitor, sleutelbord en muis met Raspberry Pi te koppel nie. Die enigste vereiste is om die rekenaar met ssh binne dieselfde netwerk as die Raspberry Pi te hê en die IP-adres dienooreenkomstig op te stel.
Stap 4
Begin die Raspberry Pi met SD-kaart.
Na selflaai verskyn 'n Debian-gebaseerde Linux-lessenaar op die monitor.
Let wel: soms word opgemerk dat sommige sleutelbordsleutels nie werk na die selflaai van Raspberry Pi nie. Om hulle te laat werk, maak die file /etc/default/keyboard en stel XKBLAYOUT=”us” en herlaai die Raspberry Pi.
Aktiveer SPI op Raspberry Pi
Die SPI-bestuurder binne die kern kommunikeer met X-NUCLEO-NFC05A1 via SPI. Dit is belangrik om te kyk of SPI reeds in die Raspberry Pi OS/kern-konfigurasie geaktiveer is.
Kyk of /dev/spidev0.0 sigbaar is in die Raspberry Pi-omgewing. As dit nie sigbaar is nie, aktiveer die SPI-koppelvlak deur die nutsprogram "raspi-config" te gebruik deur die stappe wat hieronder beskryf word, te volg.
Stap 1
Maak 'n nuwe terminaal op die Raspberry Pi oop en voer die opdrag "raspi-config" as wortel uit:
sudo raspi-config
Hierdie stap maak 'n grafiese koppelvlak oop.
Stap 2
Kies in die grafiese koppelvlak die opsie genaamd "Interfacing Options".
Stap 3
Hierdie stap lys verskeie opsies.
Kies die opsie genaamd "SPI".
'n Nuwe venster verskyn met die volgende teks:
"Wil jy hê die SPI-koppelvlak moet geaktiveer word?"
Stap 4
Kies in hierdie venster om SPI te aktiveer.
Stap 5
Herlaai Raspberry Pi.
Die bogenoemde stappe sal die SPI-koppelvlak in Raspberry Pi-omgewing aktiveer na 'n herlaai.
Bou van RFAL-biblioteek en toepassing
Die RFAL-demo van Linux word in 'n argief verskaf. Kom ons neem aan sy naam is:
ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz.
Om die RFAL-biblioteek en toepassing op Raspberry Pi te bou, volg die onderstaande stappe:
Stap 1
Pak die pakket op Raspberry Pi uit deur die onderstaande opdrag uit die tuisgids te gebruik:
tar -xJvf ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz
Stap 2
As dit nie voorheen gedoen is nie, installeer cmake met die volgende opdrag:
apt-get install cmake
RFAL biblioteek en toepassing bou stelsel is gebaseer op cmake, om hierdie rede is dit nodig om cmake te installeer vir die samestelling van die pakket.
Stap 3
Om die RFAL-biblioteek en toepassing te bou, gaan na die "bou"-gids:
cd ST25R3911B_v2.8.0_Linux_demo_v1.0/Linux_demo/build
en voer die onderstaande opdrag van daar af:
cm maak..
In die bogenoemde opdrag dui “..” aan dat topvlak CMakeLists.txt in die ouergids bestaan, dws
ST25R3911B_v2.8.0_Linux_demo_v1.0.
Die cmake-opdrag skep die makefile wat in die volgende stap gebruik word om die biblioteek en toepassing te bou.
Stap 4
Voer die "maak"-opdrag uit om die RFAL-biblioteek en toepassing te bou:
maak
Die "maak"-opdrag bou eers die RFAL-biblioteek en bou dan die toepassing bo-op dit.
Hoe om die toepassing te laat loop
Suksesvolle opbou genereer 'n uitvoerbare lêer genaamd "nfc_demo_st25r3911b" op die volgende plek:
/bou/toepassings.
By verstek moet die toepassing uitgevoer word met wortelregte vanaf die pad: ST25R3911B_v2.8.0_Linux_demo_v1.0/linux_demo/build:
sudo ./demo/nfc_demo_st25r3911b
Die toepassing begin vir NFC stem tags en selfone. Dit vertoon die toestelle wat gevind is met hul UID soos in Figuur 7 getoon.
Figuur 7. Vertoon van toestelle wat gevind is

Om die toepassing te beëindig, druk Ctrl + C.
Hersieningsgeskiedenis
Tabel 1. Dokumenthersieningsgeskiedenis

Lys van tabelle
Tabel 1. Dokumenthersieningsgeskiedenis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Lys van figure
Figuur 1. RFAL-biblioteek op Linux-platform. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Figuur 2. RFAL sagteware argitektuur op Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Figuur 3. Hardewareverbinding regstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Figuur 4. Posisie van springers A5, A4, A3, A2, A1 en A0 op die adapterbord. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Figuur 5. Hardeware-opstelling bo view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Figuur 6. Hardeware opstelling kant view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Figuur 7. Vertoon van gevind toestelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
BELANGRIKE KENNISGEWING – LEES SORGVULDIG
STMicroelectronics NV en sy filiale (“ST”) behou die reg voor om enige tyd sonder kennisgewing veranderinge, regstellings, verbeterings, wysigings en verbeterings aan ST-produkte en/of hierdie dokument aan te bring. Kopers moet die nuutste relevante inligting oor ST-produkte bekom voordat hulle bestellings plaas. ST-produkte word verkoop ingevolge ST se verkoopsbepalings en -voorwaardes wat ten tyde van bestellingserkenning in plek is.
Kopers is alleen verantwoordelik vir die keuse, seleksie en gebruik van ST-produkte en ST aanvaar geen aanspreeklikheid vir aansoekbystand of die ontwerp van kopers se produkte nie.
Geen lisensie, uitdruklik of geïmpliseer, tot enige intellektuele eiendomsreg word hierin deur ST toegestaan nie.
Herverkoop van ST-produkte met bepalings anders as die inligting wat hierin uiteengesit word, sal enige waarborg wat deur ST vir sodanige produk verleen word, nietig verklaar.
ST en die ST-logo is handelsmerke van ST. Vir bykomende inligting oor ST-handelsmerke, verwys na www.st.com/handelsmerke. Alle ander produk- of diensname is die eiendom van hul onderskeie eienaars.
Inligting in hierdie dokument vervang en vervang inligting wat voorheen in enige vorige weergawes van hierdie dokument verskaf is.
© 2023 STMicroelectronics – Alle regte voorbehou
Dokumente / Hulpbronne
![]() | UM2375 Linux-bestuurder |
Verwysings
- Gebruikershandleidingmanual.tools

