STMicroelectronics UM2548 Linux Bestuurder Gebruikershandleiding

STMicroelectronics UM2548 Linux Driver - Featured Image

STMicroelectronics-logoUM2548 Linux-bestuurder
Linux
® bestuurder vir ST25R3916/ST25R3916B
Gebruikershandleiding

UM2548 Linux-bestuurder

Inleiding
STSW-ST25R013 Linux®-bestuurder stel die Raspberry Pi® 4 in staat om met die X-NUCLEO-NFCO6A1- en X-NUCLEO-NFCO8A1-borde te werk, wat onderskeidelik die ST25R3916- en ST25R3916B-toestelle bevat.
Hierdie pakket plaas die RF-abstraksielaag (RFAL) op 'n Raspberry Pi 4 Linux-platform om met die bordfirmware te werk, en verskaf asample toepassing wat verskillende tipes NFC opspoor tags en selfone wat P2P ondersteun. Die RFAL is die ST-standaardbestuurder vir ST25R3916 en ST25R3916B, hoë werkverrigting NFC universele toestelle / EMVCo-lesers. Dit word byvoorbeeld gebruik deur die ST25R3916-DISCO-firmware (STSW-ST25R010) en deur die X-NUCLEO-NFCO06A1-firmware (X-CUBE-NFC6).
STSW-ST25R013 ondersteun al die ST25R3916/ST25R3916B laer-laag en '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 werk. 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.

STMicroelectronics UM2548 Linux Driver - Linux platform

verbyview

1.1 Kenmerke

  • Voltooi Linux-gebruikerspasiebestuurder (RF-abstraksielaag) om NFC-geaktiveerde toepassings te bou deur die ST25R3916- en ST25R3916B-toestelle te gebruik
  • Linux-gasheerkommunikasie met die ST25R3916/ST25R3916B 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ë, soos Kovio, B', iClass, Calypso®
  • Sample implementering beskikbaar met die X-NUCLEO-NFC06A1 en X-NUCLEO-NFC08A1 uitbreidingsborde, ingeprop by 'n Raspberry Pi 4
  • Sample toepassing om verskeie NFC op te spoor tag tipes en selfone wat P2P ondersteun
  • Gratis gebruikersvriendelike lisensiebepalings

1.2 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.
Dit verskaf platformspesifieke instellings soos GPIO-toewysing, stelselhulpbronne, slotte en IRQ's, wat benodig word vir die korrekte werking van die RFAL.
Hierdie demonstrasie implementeer die platformfunksies en verskaf 'n poort van die RFAL in die gebruikersruimte van Linux.
'n Gedeelde biblioteek file word gegenereer, wat deur 'n demonstratiewe toepassing gebruik word om die funksionaliteite wat deur die RFAL-laag verskaf word, ten toon te stel.
Linux-gasheer gebruik sysfs-koppelvlak wat beskikbaar is vanaf Linux-gebruikersruimte om SPI-kommunikasie met die toestelle uit te voer. Binne die Linux-kern gebruik die SPI sysfs-koppelvlak Linux-kernbestuurder spidev om die SPI-rame na/van die toestelle te stuur/ontvang.
Vir die hantering van die INT-lyn van ST25R3916- en ST25R3916B-toestelle, gebruik die bestuurder die libpiod sysfs om in kennis gestel te word van veranderinge op hierdie lyn.

STMicroelectronics UM2548 Linux Driver - sagteware argitektuur

Hardeware opstelling

2.1 Platform gebruik
'n Raspberry Pi 4-bord met Raspberry Pi OS word as Linux-platform gebruik om die RFAL-biblioteek te bou en met die ST25R3916/ST25R3916B oor SPI te kommunikeer.
Die toestelle stel 'n toepassing op Linux-platform in staat om NFC-toestelle op te spoor en daarmee te kommunikeer.

2.2 Hardeware vereistes

  • Raspberry Pi 4
  • 8 GB mikro SD-kaart om Raspberry Pi OS te begin (met sy nuutste vereistes)
  • SD-kaartleser
  • X-NUCLEO-NFC06A1- of X-NUCLEO-NFC08A1-borde
  • Brug om die bord te verbind met Raspberry Pi Arduino™-adapter vir Raspberry Pi (deelnommer ARPI600)

2.2.1 Hardewareverbindings
Die ARPI600 Raspberry Pi na Arduino-adapter word gebruik om die borde met die Raspberry Pi te verbind. Die springers van die adapterbord moet gewysig word om dit met die X-NUCLEO-NFC06A1- of X-NUCLEO-NFC08A1-borde te verbind.
Waarskuwing:
Die ARPI600 verskaf verkeerdelik 5 V aan die Arduino IOREF-pen. Deur die borde direk vas te maak, word 5 V op sommige penne teruggevoer, dit kan die Raspberry Pi-bord beskadig. Daar is berigte van vernietigde planke (veral Raspberry Pi 4B+).
Om dit te vermy, pas die ARPI600 aan ('n taamlik moeilike operasie), of die X-NUCLEO-NFC06A1/X-NUCLEONFC08A1-bord (makliker).
Die maklikste oplossing is om die CN6.2 (IOREF) pen op die X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1-borde te sny, soos in Figuur 3 getoon.
Om hierdie pen te sny, beïnvloed nie die werking in samewerking met Nucleo-borde (soos NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB).

STMicroelectronics UM2548 Linux Driver - Hardeware verbinding

Jumper instelling
Die springers vir A5, A4, A3, A2, A1 en A0 wat in Figuur 4 getoon word, moet onderskeidelik verander word na P25, P24, P23, P22, P21 en CE1. Met hierdie instelling word Framboos se GPIO-pennommer 7 as onderbrekingslyn vir X-NUCLEONFC06A1/X-NUCLEO-NFC08A1 gebruik.

STMicroelectronics UM2548 Linux Driver - 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 van 7 te verander na die nuwe GPIO-pen, om as onderbrekingslyn gebruik te word.
Met die bogenoemde jumper-instellings kan die adapterbord gebruik word om die X-NUCLEO NFC06A1 en X-NUCLEO-NFC08A1 met Raspberry Pi-bord te verbind, soos in die volgende figure getoon.

STMicroelectronics UM2548 Linux Driver - Hardeware opstelling

Linux omgewing opstel

3.1 Begin Raspberry Pi
Om die Linux-omgewing op te stel, installeer en selflaai eers die Raspberry Pi met Raspberry Pi OS, soos hieronder verduidelik:
Stap 1
Laai die nuutste Raspberry Pi OS-beeld af vanaf https://www.raspberrypi.com, kies dan Raspberry Pi OS met lessenaar. Vir die toetse hieronder is die weergawe 2022-09-22-raspios-bullseye-armhf.img.xz (September 2022) gebruik.
Stap 2
Pak die Raspberry Pi OS-prent uit en skryf dit op 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 4 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 hierdie geval. dit is 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 4 met 'n SD-kaart. Na selflaai verskyn 'n Debian-gebaseerde Linux-lessenaar op die monitor.
Let wel:
Soms, nadat Raspberry Pi OS opgelaai is, werk sommige sleutelbordsleutels nie. Om hulle te laat werk, maak die file /etc/default/keyboard en stel XKBLAYOUT="ons", en herlaai die Raspberry Pi.
3.2 Aktiveer SPI op Raspberry Pi
Die SPI-bestuurder binne die kern kommunikeer met die X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1-borde deur SPI. Dit is belangrik om te kyk of SPI reeds in die Raspbian Pi OS-kernkonfigurasie 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 RFAL-biblioteek en toepassing

Die RFAL-demonstrasie van Linux word in 'n argief verskaf, soos ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz.
Om die RFAL-biblioteek en toepassing op Raspberry Pi te bou, gaan deur die volgende stappe:
Stap 1
Pak die pakket op Raspberry Pi uit met die volgende opdrag uit die tuisgids
tar -xJvf ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz
Stap 2
Installeer cmake (indien nie voorheen gedoen nie) met behulp van die 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 om die pakket saam te stel.
Stap 3
Om die RFAL-biblioteek en toepassing te bou, gaan na die bougids
cd ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build
Van daar, voer die opdrag uit
cm maak..
In die bogenoemde opdrag dui “..” aan dat die boonste vlak CMakeLists.txt in die ouergids bestaan
(ST25R3916_v2.8.0_Linux_demo_v1.0).
Hierdie opdrag skep die maakfile gebruik in die volgende stap om die biblioteek en toepassing te bou. Van daar, voer die volgende opdrag uit om die demonstrasie vir ST25R3916B te bou
cmake -DRFAL_VARIANT=st25r3916b ..
Stap 4
Voer die make-opdrag uit om die RFAL-biblioteek en toepassing te bou:
maak
Hierdie opdrag bou eers die RFAL-biblioteek, en dan die toepassing bo-op dit.

Hoe om die toepassing te laat loop

'n Suksesvolle opbou genereer 'n uitvoerbare lêer genaamd "nfc_poller_st25r3916" of "nfc_poller_st25r3916b" by ligging /build/demo.
By verstek moet die toepassing uitgevoer word met wortelregte vanaf die pad ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build/demo/:
sudo ./nfc_demo_st25r3916
Die toepassing begin vir NFC stem tags en selfone, vertoon dan die gevind toestelle met hul UID, soos getoon in Figuur 7.

STMicroelectronics UM2548 Linux-bestuurder - toestelle gevind

Om die toepassing te beëindig, druk Ctrl + C.

Hersieningsgeskiedenis
Tabel 1. Dokumenthersieningsgeskiedenis

Datum Hersiening Veranderinge
1-Mrt-19 1 Aanvanklike vrystelling.
4-23 April 2 Opgedateerde dokumenttitel, Afdeling Inleiding, Afdeling 1.1 Kenmerke,
Afdeling 1.2 Sagteware-argitektuur, Afdeling 2.1 Platform gebruik, Afdeling 2.2 Hardeware
vereistes, Afdeling 2.2.1 Hardewareverbindings, Afdeling 3.1 Opstart van Raspberry Pi,
Afdeling 3.2 Aktiveer SPI op Raspberry Pi, Afdeling 4 Bou RFAL-biblioteek en toepassing,
en Afdeling 5 Hoe om die toepassing te laat loop.
Opgedateer Figuur 1. RFAL-biblioteek op Linux-platform, Figuur 2. RFAL-sagteware-argitektuur
op Linux, en Figuur 5. Hardeware-opstelling bo view.
Geringe tekswysigings oor die hele dokument.

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

UM2548 – Ds 2

Dokumente / Hulpbronne

PDF thumbnailUM2548 Linux-bestuurder
User Manual · UM2548 Linux Driver, UM2548, Linux Driver, Driver

Verwysings

Vra 'n Vraag

Use this section to ask about setup, compatibility, troubleshooting, or anything missing from this manual.

Vra 'n Vraag

Ask a question about setup, compatibility, troubleshooting, or anything missing from this manual.