STMicroelectronics UM2375 Linux -ohjaimen käyttöopas

STMicroelectronics UM2375 Linux Driver User Manual

STMicroelectronics UM2375 Linux -ohjaimen käyttöopas

STMicroelectronics-logo

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

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

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

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

Kuva 4 Puskurien asento

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 5 Laitteiston asetukset view

Kuva 6. Laitteiston asetuspuoli view

Kuva 6 Laitteiston asennuspuoli 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ö

Kuva 7 Löytyneiden laitteiden näyttö

Lopeta sovellus painamalla Ctrl + C.

Versiohistoria

Taulukko 1. Asiakirjan 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

PDF thumbnailUM2375 Linux-ohjain
User Manual · UM2375 Linux Driver, UM2375, Linux Driver, Driver

Viitteet

Esitä kysymys

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

Esitä kysymys

Ask about setup, compatibility, troubleshooting, or anything missing from this manual. Name and email are optional.