STMicroelectronics UM2548 Linux -ohjaimen käyttöopas

STMicroelectronics UM2548 Linux Driver - Featured Image

STMicroelectronics-logoUM2548 Linux-ohjain
Linux
® ajuri malleihin ST25R3916/ST25R3916B
Käyttöopas

UM2548 Linux-ohjain

Johdanto
STSW-ST25R013 Linux®-ohjain mahdollistaa Raspberry Pi® 4:n toiminnan X-NUCLEO-NFCO6A1- ja X-NUCLEO-NFCO8A1-levyjen kanssa, jotka sisältävät ST25R3916- ja ST25R3916B-laitteet.
Tämä paketti siirtää RF-abstraction-kerroksen (RFAL) Raspberry Pi 4 Linux -alustalle toimiakseen kortin laiteohjelmiston kanssa ja tarjoaaampsovellus, joka havaitsee erityyppisiä NFC:itä tags ja P2P:tä tukevat matkapuhelimet. RFAL on ST-standardiohjain ST25R3916:lle ja ST25R3916B:lle, korkean suorituskyvyn NFC-yleislaitteille / EMVCo-lukijoille. Sitä käyttävät esimerkiksi laiteohjelmisto ST25R3916-DISCO (STSW-ST25R010) ja laiteohjelmisto X-NUCLEO-NFCO06A1 (X-CUBE-NFC6).
STSW-ST25R013 tukee kaikkia ST25R3916/ST25R3916B alemman kerroksen ja joitain ylemmän kerroksen protokollia tiedonsiirtoon. 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.

STMicroelectronics UM2548 Linux-ohjain - Linux-alusta

Yliview

1.1 Ominaisuudet

  • Täydellinen Linux-käyttötilan ohjain (RF-abstraktiokerros) NFC-yhteensopivien sovellusten rakentamiseen ST25R3916- ja ST25R3916B-laitteiden avulla
  • Linux-isäntäviestintä ST25R3916/ST25R3916B: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, kuten Kovio, B', iClass, Calypso®
  • Samptoteutus saatavilla X-NUCLEO-NFC06A1- ja X-NUCLEO-NFC08A1-laajennuskorteilla, jotka 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

1.2 Ohjelmistoarkkitehtuuri
Kuva 2 esittää RFAL-kirjaston ohjelmistoarkkitehtuurin yksityiskohdat Linux-alustalla.
RFAL on helposti siirrettävissä muille alustoille mukauttamalla ns files.
Otsikko file rfal_platform.h sisältää makromääritykset, jotka alustan omistaja toimittaa ja toteuttaa.
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-portin Linuxin käyttäjätilaan.
Jaettu kirjasto file on luotu, jota demonstroiva sovellus käyttää esittelemään RFAL-kerroksen tarjoamia toimintoja.
Linux-isäntä käyttää Linux-käyttötilasta saatavaa sysf-liitäntää SPI-viestinnän suorittamiseen laitteiden kanssa. Linux-ytimen sisällä SPI sysfs -rajapinta käyttää Linux-ytimen ajuria spidev lähettääkseen/vastaanottaakseen SPI-kehykset laitteille/laitteilta.
ST25R3916- ja ST25R3916B-laitteiden INT-linjan käsittelyyn ajuri käyttää libpiod sysfs -järjestelmää saadakseen ilmoituksen tämän rivin muutoksista.

STMicroelectronics UM2548 Linux Driver - ohjelmistoarkkitehtuuri

Laitteiston asennus

2.1 Käytetty alusta
Raspberry Pi 4 -levyä, jossa on Raspberry Pi OS, käytetään Linux-alustana RFAL-kirjaston rakentamiseen ja vuorovaikutukseen ST25R3916/ST25R3916B:n kanssa SPI:n kautta.
Laitteet mahdollistavat Linux-alustalla olevan sovelluksen havaitsemaan NFC-laitteita ja kommunikoimaan niiden kanssa.

2.2 Laitteistovaatimukset

  • Raspberry Pi 4
  • 8 Gt:n micro SD -kortti Raspberry Pi OS:n käynnistämiseen (sen uusimmat vaatimukset)
  • SD-kortin lukija
  • X-NUCLEO-NFC06A1- tai X-NUCLEO-NFC08A1-levyt
  • Silta levyn liittämiseen Raspberry Pi Arduino™ -sovittimella Raspberry Pi:lle (osanumero ARPI600)

2.2.1 Laitteistoliitännät
ARPI600 Raspberry Pi–Arduino -sovitinta käytetään liittämään levyt Raspberry Pi:hen. Sovitinkortin jumpperia on muutettava, jotta se voidaan liittää X-NUCLEO-NFC06A1- tai X-NUCLEO-NFC08A1-kortteihin.
Varoitus:
ARPI600 syöttää virheellisesti 5 V jännitettä Arduino IOREF -nastalle. Levyjen suoraan kiinnittäminen syöttää takaisin 5 V jännitettä joihinkin nastoihin, mikä voi vahingoittaa Raspberry Pi -levyä. On raportoitu tuhoutuneista levyistä (erityisesti Raspberry Pi 4B+).
Tämän välttämiseksi sovita ARPI600 (melko vaikea toiminto) tai X-NUCLEO-NFC06A1/X-NUCLEONFC08A1-kortti (helppo).
Helpoin korjaus on leikata CN6.2 (IOREF) -nasta X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1-korteista kuvan 3 mukaisesti.
Tämän tapin leikkaaminen ei vaikuta toimintaan yhdessä Nucleo-levyjen kanssa (kuten NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB).

STMicroelectronics UM2548 Linux -ohjain - laitteistoliitäntä

Jumper-asetus
Kuvassa 5 näkyvät A4-, A3-, A2-, A1-, A0- ja A4-sillat on vaihdettava P25:ksi, P24:ksi, P23:ksi, P22:ksi, P21:ksi ja CE1:ksi. Tällä asetuksella Raspberryn GPIO-nastaa numero 7 käytetään keskeytyslinjana X-NUCLEONFC06A1/X-NUCLEO-NFC08A1:lle.

STMicroelectronics UM2548 Linux Driver - sovitinkortti

Tällä hetkellä tämä RFAL-kirjastoportti käyttää nastaa GPIO7 keskeytyslinjana (hyppyjälkiasetusten 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 uudeksi GPIO-nastaksi, jotta sitä voidaan käyttää keskeytyslinjana.
Yllä olevilla jumpperiasetuksilla sovitinkorttia voidaan käyttää liittämään X-NUCLEO NFC06A1 ja X-NUCLEO-NFC08A1 Raspberry Pi -korttiin seuraavien kuvien mukaisesti.

STMicroelectronics UM2548 Linux -ohjain - Laitteiston asennus

Linux-ympäristön asetukset

3.1 Raspberry Pi:n käynnistys
Asenna Linux-ympäristö asentamalla ja käynnistämällä ensin Raspberry Pi Raspberry Pi OS -käyttöjärjestelmällä alla kuvatulla tavalla:
Vaihe 1
Lataa uusin Raspberry Pi OS -kuva osoitteesta https://www.raspberrypi.comja valitse sitten Raspberry Pi OS with desktop. Alla oleviin testeihin on käytetty versiota 2022-09-22-raspios-bullseye-armhf.img.xz (syyskuu 2022).
Vaihe 2
Pura Raspberry Pi OS -kuva ja kirjoita se SD-kortille noudattamalla "Kuvan kirjoittaminen SD-kortille" -osiossa olevia ohjeita.
Vaihe 3
Liitä laitteisto:

  • Liitä Raspberry Pi 4 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ässä tapauksessa. 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 4 SD-kortilla. Käynnistyksen jälkeen näyttöön tulee Debian-pohjainen Linux-työpöytä.
Huomautus:
Joskus Raspberry Pi OS:n käynnistämisen jälkeen jotkut näppäimistön näppäimet eivät toimi. Saat ne toimimaan avaamalla file /etc/default/keyboard ja aseta XKBLAYOUT=”us” ja käynnistä Raspberry Pi uudelleen.
3.2 Ota SPI käyttöön Raspberry Pi:ssä
Ytimen sisällä oleva SPI-ohjain kommunikoi X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1-korttien kanssa SPI:n kautta. On tärkeää tarkistaa, onko SPI jo käytössä Raspbian 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.

Rakenna RFAL-kirjasto ja -sovellus

Linuxin RFAL-esittely on arkistossa, kuten ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz.
Voit rakentaa RFAL-kirjaston ja -sovelluksen Raspberry Pi:lle suorittamalla seuraavat vaiheet:
Vaihe 1
Pura paketti Raspberry Pi:ssä seuraavalla komennolla kotihakemistosta
tar -xJvf ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz
Vaihe 2
Asenna cmake (jos sitä ei ole tehty aiemmin) komennolla
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ä rakennushakemistoon
cd ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build
Suorita sieltä komento
cmake..
Yllä olevassa komennossa ".." osoittaa, että ylätason CMakeLists.txt on olemassa päähakemistossa
(ST25R3916_v2.8.0_Linux_demo_v1.0).
Tämä komento luo makenfile käytetään seuraavassa vaiheessa kirjaston ja sovelluksen rakentamiseen. Suorita sieltä seuraava komento luodaksesi esittelyn ST25R3916B:lle
cmake -DRFAL_VARIANT=st25r3916b ..
Vaihe 4
Suorita make-komento rakentaaksesi RFAL-kirjaston ja -sovelluksen:
tehdä
Tämä komento rakentaa ensin RFAL-kirjaston ja sitten sovelluksen sen päälle.

Kuinka käyttää sovellusta

Onnistunut kokoaminen luo suoritettavan tiedoston nimeltä "nfc_poller_st25r3916" tai "nfc_poller_st25r3916b" sijaintiin /build/demo.
Oletusarvoisesti sovellus on ajettava pääkäyttäjän oikeuksilla polusta ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build/demo/:
sudo ./nfc_demo_st25r3916
Sovellus alkaa äänestää NFC:tä tags ja matkapuhelimia, näyttää sitten löydetyt laitteet niiden UID-tunnuksella, kuten kuvassa 7.

STMicroelectronics UM2548 Linux Driver - löydetyt laitteet

Lopeta sovellus painamalla Ctrl + C.

Versiohistoria
Taulukko 1. Asiakirjan versiohistoria

Päivämäärä Tarkistus Muutokset
1-19-XNUMX 1 Alkuperäinen julkaisu.
4. huhtikuuta 23 2 Päivitetty asiakirjan otsikko, osion esittely, osion 1.1 ominaisuudet,
Osa 1.2 Ohjelmistoarkkitehtuuri, Osa 2.1 Käytetty alusta, Osa 2.2 Laitteisto
vaatimukset, Osa 2.2.1 Laitteistoliitännät, Osa 3.1 Raspberry Pi:n käynnistäminen,
Osa 3.2 Ota SPI käyttöön Raspberry Pi:ssä, Osa 4 Rakenna RFAL-kirjasto ja -sovellus,
ja Osa 5 Sovelluksen suorittaminen.
Päivitetty Kuva 1. RFAL-kirjasto Linux-alustalla, Kuva 2. RFAL-ohjelmistoarkkitehtuuri
Linuxissa ja Kuva 5. Laitteiston asennus alkuun view.
Pienet tekstimuokkaukset koko asiakirjassa.

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

UM2548 – versio 2

Asiakirjat / Resurssit

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

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.