
STMicroelectronics UM2375 Linux -ohjaimen käyttöopas

Linux®-ohjain ST25R3911B- ja ST25R3912/14/15 suorituskykyisille NFC-käyttöliittymille
Johdanto
STSW-ST25R009 Linux® -ohjain mahdollistaa Raspberry Pi 4:n toiminnan X-NUCLEO-NFC05A1:n kanssa, joka sisältää ST25R3911B korkean suorituskyvyn NFC-yleislaitteen.
Tämä paketti siirtää RF-abstraction-kerroksen (RFAL) Raspberry Pi 4 Linux -alustalle toimimaan X-NUCLEO-NFC05A1-laiteohjelmiston kanssa. Paketti tarjoaa mmampsovellus, joka havaitsee erityyppisiä NFC:itä tags ja P2P:tä tukevat matkapuhelimet. RFAL on ST-standardiohjain ST25R NFC/RFID Reader IC:ille ST25R3911B, ST25R3912, ST25R3913, ST25R3914 ja ST25R3915. Sitä käyttävät esimerkiksi laiteohjelmisto ST25R3911B-DISCO (STSW-ST25R002) ja laiteohjelmisto X-NUCLEONFC05A1 (X-CUBE-NFC5).
STSW-ST25R009 tukee kaikkia ST25R3911B alemman kerroksen protokollia ja myös joitain ylemmän kerroksen protokollia viestintään. RFAL on kirjoitettu kannettavalla tavalla, joten sitä voidaan käyttää monenlaisissa Linux®-pohjaisissa laitteissa. Tässä asiakirjassa kuvataan, kuinka RFAL-kirjastoa voidaan käyttää tavallisessa Linux-järjestelmässä (tässä tapauksessa Raspberry Pi 4) NFC/RF-viestintään. Koodi on erittäin kannettava ja toimii pienillä muutoksilla millä tahansa Linux-alustalla.
Kuva 1. RFAL-kirjasto Linux-alustalla

Yliview
Ominaisuudet
- Täydellinen Linux-käyttötilan ajuri (RF-abstraktiokerros) NFC-yhteensopivien sovellusten rakentamiseen käyttämällä ST25R3911B/ST25R391x tehokkaita NFC-etulaitteita jopa 1.4 W:n lähtöteholla
- Linux-isäntäviestintä ST25R3911B/ST25R391x:n kanssa SPI-liitännän avulla
- Täydellinen RF/NFC-abstraktio (RFAL) kaikille tärkeimmille teknologioille ja korkeamman kerroksen protokollille:
- NFC-A (ISO14443-A)
- NFC-B (ISO14443-B)
- NFC-F (FeliCa™)
- NFC-V (ISO15693)
- P2P (ISO18092)
- ISO-DEP (ISO-tiedonvaihtoprotokolla, ISO14443-4)
- NFC-DEP (NFC-tiedonsiirtoprotokolla, ISO18092)
- Omistusteknologiat (Kovio, B', iClass, Calypso®,…)
- Sample-toteutus saatavilla X-NUCLEO-NFC05A1-laajennuskortilla, joka on kytketty Raspberry Pi 4:ään
- Sample sovellus tunnistaa useita NFC tag tyypit ja matkapuhelimet, jotka tukevat P2P:tä
- Ilmaiset käyttäjäystävälliset lisenssiehdot
Ohjelmistoarkkitehtuuri
Kuva 2 näyttää RFAL-kirjaston ohjelmistoarkkitehtuurin yksityiskohdat Linux®-alustalla.
RFAL on helposti siirrettävissä muille alustoille mukauttamalla ns files.
Otsikko file rfal_platform.h sisältää makromääritelmiä, jotka alustan omistajan on annettava ja otettava käyttöön. Lisäksi se tarjoaa alustakohtaisia asetuksia, kuten GPIO-määrityksen, järjestelmäresurssit, lukot ja IRQ:t, joita tarvitaan RFAL:n oikeaan toimintaan.
Tämä esittely toteuttaa alustan toiminnot ja tarjoaa RFAL-kirjaston portin Linuxin® käyttäjätilaan. Jaettu kirjasto file on luotu, jota demosovellus käyttää esittelemään RFAL-kerroksen tarjoamia toimintoja.
Linux®-isäntä käyttää Linux®-käyttötilasta saatavaa sysf-liitäntää mahdollistaakseen SPI-viestinnän ST25R3911B-laitteen kanssa. Linux®-ytimen sisällä SPI sysf -rajapinta käyttää Linux®-ytimen ajuria spidev lähettääkseen/vastaanottaakseen SPI-kehyksiä ST25R3911B:lle tai sieltä.
ST25R3911B:n keskeytysrivin käsittelyyn ajuri käyttää libgpiodia saadakseen ilmoituksen tämän linjan muutoksista.
Kuva 2. RFAL-ohjelmistoarkkitehtuuri Linuxissa

Laitteiston asennus
Käytetty alusta
Raspberry Pi 4 -levyä, jossa on Raspberry Pi OS, käytetään Linux-alustana RFAL-kirjaston rakentamiseen ja vuorovaikutukseen ST25R3911B:n kanssa SPI:n kautta.
ST25R3911B mahdollistaa sovelluksen Linux-alustalla havaitsemaan ja kommunikoimaan NFC-laitteiden kanssa.
Laitteistovaatimukset
- Raspberry Pi 4
- 8 Gt:n micro SD -kortti Raspberry Pi OS:n käynnistämiseen
- SD-kortin lukija
- Siltalevy X-NUCLEO-NFC05A1:n yhdistämiseen Raspberry Pi Arduino -sovittimeen Raspberry Pi:lle, osanumero ARPI600.
- X-NUCLEO-NFC05A1. Katso uusimmat Raspberry Pi OS -vaatimukset.
Laiteliitännät
ARPI600 Raspberry Pi–Arduino -sovitinkorttia käytetään yhdistämään X-NUCLEO-NFC05A1 Raspberry Pi:hen. Adapterikortin jumpperia on muutettava, jotta se voidaan yhdistää X-NUCLEO-NFC05A1:een.
Varoitus: ARPI600 syöttää virheellisesti 5 V jännitettä Arduino IOREF -nastalle. X-NUCLEO-NFC05A1:n suoraan kiinnittäminen syöttää takaisin 5 V:tä joihinkin nastoihin, mikä voi vahingoittaa Raspberry Pi -korttia. On raportoitu erityisesti Raspberry Pi 4B+:n tuhoutumisesta. Tämän tilanteen välttämiseksi sovita joko ARPI600 (melko vaikea toiminta) tai X-NUCLEO-NFC05A1 (helpompi käyttö).
Helpoin korjaus on leikata X-NUCLEO-NFC6.2A05:n CN1 (IOREF) -nasta kuvan 3 mukaisesti.
Tämän tapin leikkaaminen ei vaikuta toimintaan yhdessä Nucleo-levyjen kanssa (NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB jne.).
Kuva 3. Laitteistoyhteyden korjaus

Jumper-asetus
Kuvassa 5 näkyvät A4, A3, A2, A1, A0 ja A4 jumpperit on vaihdettava P23:ksi, P22:ksi, P21:ksi ja CE1:ksi. Näillä jumpperiasetuksilla Raspberryn GPIO-nastaa numero 7 käytetään keskeytyslinjana X-NUCLEO-NFC05A1:lle.
Kuva 4. Hyllysten A5, A4, A3, A2, A1 ja A0 sijainti sovitinkortilla

Tällä hetkellä tämä RFAL-kirjastoportti käyttää nastaa GPIO7 keskeytyslinjana jumpperiasetusten mukaan. Jos keskeytyslinja on vaihdettava GPIO7:stä toiseen GPIO:han, alustakohtainen koodi (kohdassa file pltf_gpio.h) on muokattava, jotta makron "ST25R_INT_PIN" määritelmä muutetaan arvosta 7 uuteen GPIO-nastaan, jota käytetään keskeytyslinjana.
Yllä olevilla jumpperiasetuksilla sovitinkorttia voidaan käyttää liittämään X-NUCLEO-NFC05A1 Raspberry Pi -korttiin kuvan 5 mukaisesti.
Kuva 5. Laitteiston asetukset view

Kuva 6. Laitteiston asetuspuoli view

Linux-ympäristön asetukset
Raspberry Pi:n käynnistys
Asettaaksesi Linux-ympäristön, ensimmäinen vaihe on asentaa ja käynnistää Raspberry Pi 4 Raspberry Pi OS:llä alla kuvatulla tavalla:
Vaihe 1
Lataa uusin Raspberry Pi OS -kuva linkistä:
Valitse Raspberry Pi OS työpöydällä. Alla olevissa testeissä käytettiin seuraavaa versiota: Syyskuu 2022 (2022-09-22-raspios-bullseye-armhf.img.xz).
Vaihe 2
Pura Raspberry Pi -kuva ja kirjoita se SD-kortille noudattamalla "Kuvan kirjoittaminen SD-kortille" -osiossa olevia ohjeita.
Vaihe 3
Liitä laitteisto:
- Liitä Raspberry Pi näyttöön tavallisella HDMI-kaapelilla.
- Liitä hiiri ja näppäimistö Raspberry Pi:n USB-portteihin.
Raspberry Pi:n kanssa on myös mahdollista työskennellä ssh:lla. Tällöin näyttöä, näppäimistöä ja hiirtä ei tarvitse liittää Raspberry Pi:hen. Ainoa vaatimus on, että ssh-tietokone on samassa verkossa kuin Raspberry Pi ja määritä IP-osoite vastaavasti.
Vaihe 4
Käynnistä Raspberry Pi SD-kortilla.
Käynnistyksen jälkeen näyttöön tulee Debian-pohjainen Linux-työpöytä.
Huomautus: Joskus havaitaan, että jotkin näppäimistön näppäimet eivät toimi Raspberry Pi:n käynnistämisen jälkeen. Saat ne toimimaan avaamalla file /etc/default/keyboard ja aseta XKBLAYOUT=”us” ja käynnistä Raspberry Pi uudelleen.
Ota SPI käyttöön Raspberry Pi:ssä
Ytimen sisällä oleva SPI-ohjain kommunikoi X-NUCLEO-NFC05A1:n kanssa SPI:n kautta. On tärkeää tarkistaa, onko SPI jo käytössä Raspberry Pi OS/ytimen kokoonpanossa.
Tarkista, näkyykö /dev/spidev0.0 Raspberry Pi -ympäristössä. Jos se ei ole näkyvissä, ota SPI-liitäntä käyttöön "raspi-config" -apuohjelmalla noudattamalla alla kuvattuja vaiheita.
Vaihe 1
Avaa uusi pääte Raspberry Pi:ssä ja suorita komento "raspi-config" pääkäyttäjänä:
sudo raspi-config
Tämä vaihe avaa graafisen käyttöliittymän.
Vaihe 2
Valitse graafisesta käyttöliittymästä vaihtoehto nimeltä "Liitäntäasetukset".
Vaihe 3
Tässä vaiheessa luetellaan erilaisia vaihtoehtoja.
Valitse vaihtoehto nimeltä "SPI".
Näkyviin tulee uusi ikkuna, jossa on seuraava teksti:
"Haluatko, että SPI-käyttöliittymä otetaan käyttöön?"
Vaihe 4
Valitse tässä ikkunassa ottaaksesi SPI käyttöön.
Vaihe 5
Käynnistä Raspberry Pi uudelleen.
Yllä olevat vaiheet mahdollistavat SPI-rajapinnan Raspberry Pi -ympäristössä uudelleenkäynnistyksen jälkeen.
RFAL-kirjaston ja -sovelluksen rakentaminen
Linuxin RFAL-demo on arkistossa. Oletetaan, että sen nimi on:
ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz.
Voit rakentaa RFAL-kirjaston ja -sovelluksen Raspberry Pi:lle seuraavasti:
Vaihe 1
Pura paketti Raspberry Pi:ssä käyttämällä alla olevaa komentoa kotihakemistosta:
tar -xJvf ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz
Vaihe 2
Jos et ole tehnyt sitä aiemmin, asenna cmake käyttämällä alla olevaa komentoa:
apt-get install cmake
RFAL-kirjasto ja sovellusten rakennusjärjestelmä perustuvat cmakeen, tästä syystä paketin kääntämistä varten on asennettava cmake.
Vaihe 3
Voit rakentaa RFAL-kirjaston ja -sovelluksen siirtymällä "build"-hakemistoon:
cd ST25R3911B_v2.8.0_Linux_demo_v1.0/Linux_demo/build
ja suorita alla oleva komento sieltä:
cmake..
Yllä olevassa komennossa ".." osoittaa, että ylätason CMakeLists.txt on olemassa päähakemistossa, ts.
ST25R3911B_v2.8.0_Linux_demo_v1.0.
cmake-komento luo makenfile jota käytetään seuraavassa vaiheessa kirjaston ja sovelluksen rakentamiseen.
Vaihe 4
Suorita "make" -komento rakentaaksesi RFAL-kirjaston ja -sovelluksen:
tehdä
"Make"-komento rakentaa ensin RFAL-kirjaston ja sitten rakentaa sovelluksen sen päälle.
Kuinka käyttää sovellusta
Onnistunut kokoaminen luo suoritettavan tiedoston nimeltä "nfc_demo_st25r3911b" seuraavaan paikkaan:
/build/applications.
Oletuksena sovellus on ajettava pääkäyttäjän oikeuksilla polusta: ST25R3911B_v2.8.0_Linux_demo_v1.0/linux_demo/build:
sudo ./demo/nfc_demo_st25r3911b
Sovellus alkaa äänestää NFC:tä tags ja matkapuhelimia. Se näyttää löydetyt laitteet ja niiden UID, kuten kuvassa 7.
Kuva 7. Löytyneiden laitteiden näyttö

Lopeta sovellus painamalla Ctrl + C.
Versiohistoria
Taulukko 1. Asiakirjan versiohistoria

Luettelo taulukoista
Taulukko 1. Asiakirjan versiohistoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Luettelo hahmoista
Kuva 1. RFAL-kirjasto Linux-alustalla. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Kuva 2. RFAL-ohjelmistoarkkitehtuuri Linuxissa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Kuva 3. Laitteistoyhteyden korjaus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Kuva 4. Hyllysten A5, A4, A3, A2, A1 ja A0 sijainti sovitinkortilla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Kuva 5. Laitteiston asetukset view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Kuva 6. Laitteiston asetuspuoli view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Kuva 7. Löytyneiden laitteiden näyttö . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
TÄRKEÄ HUOMAUTUS – LUE HUOLELLISESTI
STMicroelectronics NV ja sen tytäryhtiöt ("ST") varaavat oikeuden tehdä muutoksia, korjauksia, parannuksia, muunnoksia ja parannuksia ST-tuotteisiin ja/tai tähän asiakirjaan milloin tahansa ilman erillistä ilmoitusta. Ostajien tulee saada viimeisimmät asiaankuuluvat tiedot ST-tuotteista ennen tilauksen tekemistä. ST-tuotteita myydään tilausvahvistushetkellä voimassa olevien ST:n myyntiehtojen mukaisesti.
Ostajat ovat yksin vastuussa ST-tuotteiden valinnasta, valinnasta ja käytöstä, eikä ST ota vastuuta sovellusavusta tai ostajien tuotteiden suunnittelusta.
ST ei myönnä tässä asiakirjassa mitään nimenomaista tai epäsuoraa lisenssiä millekään immateriaalioikeuksille.
ST-tuotteiden jälleenmyynti, jossa on poikkeavia ehtoja kuin tässä esitetyt tiedot, mitätöi kaikki ST:n kyseiselle tuotteelle myöntämät takuut.
ST ja ST-logo ovat ST:n tavaramerkkejä. Lisätietoja ST-tavaramerkeistä on kohdassa www.st.com/trademarks. Kaikki muut tuotteiden tai palveluiden nimet ovat omistajiensa omaisuutta.
Tämän asiakirjan tiedot korvaavat ja korvaavat tämän asiakirjan aiemmissa versioissa aiemmin annetut tiedot.
© 2023 STMicroelectronics – Kaikki oikeudet pidätetään
Asiakirjat / Resurssit
![]() | UM2375 Linux-ohjain |
Viitteet
- raspberrypi.comwww.raspberrypi.com
- st.comwww.st.com
- Käyttöopasmanual.tools
