STMicroelectronics UM2548 Linux upravljački program korisnički priručnik

STMicroelectronics UM2548 Linux Driver - Featured Image

Logo STMicroelectronicsUpravljački program za Linux UM2548
Linux
® upravljački program za ST25R3916/ST25R3916B
korisnički priručnik

Upravljački program za Linux UM2548

Uvod
STSW-ST25R013 Linux® upravljački program omogućuje Raspberry Pi® 4 rad s pločama X-NUCLEO-NFCO6A1 i X-NUCLEO-NFCO8A1, koje sadrže uređaje ST25R3916 i ST25R3916B.
Ovaj paket prenosi sloj RF apstrakcije (RFAL) na Raspberry Pi 4 Linux platformu, za rad s firmverom ploče, i pruža kaoampaplikacija koja otkriva različite vrste NFC-a tags i mobilnih telefona koji podržavaju P2P. RFAL je ST standardni upravljački program za ST25R3916 i ST25R3916B, NFC univerzalne uređaje visokih performansi / EMVCo čitače. Koristi ga, na primjer, firmware ST25R3916-DISCO (STSW-ST25R010) i firmware X-NUCLEO-NFCO06A1 (X-CUBE-NFC6).
STSW-ST25R013 podržava sve protokole ST25R3916/ST25R3916B nižeg sloja i neke višeg sloja za komunikaciju. RFAL je napisan na prijenosan način, tako da može raditi na širokom rasponu uređaja temeljenih na Linuxu. Ovaj dokument opisuje kako se RFAL biblioteka može koristiti na standardnom Linux sustavu (u ovom slučaju Raspberry Pi 4) za NFC/RF komunikaciju. Kod je vrlo prenosiv i radi uz manje izmjene na bilo kojoj Linux platformi.

STMicroelectronics UM2548 Linux Driver - Linux platforma

Nadview

1.1 Značajke

  • Potpuni Linux upravljački program korisničkog prostora (RF sloj apstrakcije) za izgradnju NFC omogućenih aplikacija pomoću ST25R3916 i ST25R3916B uređaja
  • Linux host komunikacija sa ST25R3916/ST25R3916B koristeći SPI sučelje
  • Potpuna RF/NFC apstrakcija (RFAL) za sve glavne tehnologije i protokole višeg sloja:
    – NFC-A (ISO14443-A)
    – NFC-B (ISO14443-B)
    – NFC-F (FeliCa™)
    – NFC-V (ISO15693)
    – P2P (ISO18092)
    – ISO-DEP (ISO protokol za razmjenu podataka, ISO14443-4)
    – NFC-DEP (NFC protokol za razmjenu podataka, ISO18092)
    – Vlasničke tehnologije, kao što su Kovio, B', iClass, Calypso®
  • Sample implementacija dostupna s X-NUCLEO-NFC06A1 i X-NUCLEO-NFC08A1 pločama za proširenje, priključenim na Raspberry Pi 4
  • Sample aplikacija za otkrivanje nekoliko NFC-a tag vrste i mobilnih telefona koji podržavaju P2P
  • Besplatni licencni uvjeti prilagođeni korisnicima

1.2 Arhitektura softvera
Slika 2 prikazuje detalje softverske arhitekture RFAL biblioteke na Linux platformi.
RFAL je lako prenosiv na druge platforme prilagodbom platforme tzv files.
Zaglavlje file rfal_platform.h sadrži definicije makronaredbi koje mora osigurati i implementirati vlasnik platforme.
Omogućuje postavke specifične za platformu kao što su dodjela GPIO-a, resursi sustava, zaključavanja i IRQ-ovi, koji su potrebni za ispravan rad RFAL-a.
Ova demonstracija implementira funkcije platforme i pruža priključak RFAL-a u korisnički prostor Linuxa.
Zajednička knjižnica file generira se, a koristi ga pokazna aplikacija za prikaz funkcionalnosti koje pruža RFAL sloj.
Linux host koristi sysfs sučelje dostupno iz Linux korisničkog prostora za obavljanje SPI komunikacije s uređajima. Unutar Linux kernela SPI sysfs sučelje koristi spidev upravljačkog programa Linux kernela za slanje/primanje SPI okvira na/od uređaja.
Za rukovanje INT linijom ST25R3916 i ST25R3916B uređaja, upravljački program koristi libpiod sysfs za dobivanje obavijesti o promjenama na ovoj liniji.

STMicroelectronics UM2548 Linux Driver - softverska arhitektura

Postavljanje hardvera

2.1 Korištena platforma
Raspberry Pi 4 ploča s Raspberry Pi OS koristi se kao Linux platforma za izgradnju RFAL biblioteke i interakciju sa ST25R3916/ST25R3916B preko SPI-ja.
Uređaji omogućuju aplikaciji na Linux platformi detekciju i komunikaciju s NFC uređajima.

2.2 Hardverski zahtjevi

  • Raspberry Pi 4
  • 8 GB mikro SD kartica za pokretanje Raspberry Pi OS (s najnovijim zahtjevima)
  • Čitač SD kartica
  • X-NUCLEO-NFC06A1 ili X-NUCLEO-NFC08A1 ploče
  • Most za povezivanje ploče s Raspberry Pi Arduino™ adapterom za Raspberry Pi (broj dijela ARPI600)

2.2.1 Hardverske veze
ARPI600 Raspberry Pi na Arduino adapter se koristi za povezivanje ploča s Raspberry Pi. Kratkospojnici adapterske ploče moraju se modificirati kako bi se spojili s X-NUCLEO-NFC06A1 ili X-NUCLEO-NFC08A1 pločama.
Oprez:
ARPI600 neispravno daje 5 V na Arduino IOREF pin. Izravno pričvršćivanje ploča vraća 5 V na neke pinove, što može oštetiti Raspberry Pi ploču. Postoje izvješća o uništenim pločama (osobito Raspberry Pi 4B+).
Da biste to izbjegli, prilagodite ARPI600 (prilično teška operacija) ili ploču X-NUCLEO-NFC06A1/X-NUCLEONFC08A1 (lakša).
Najlakši popravak je prerezati CN6.2 (IOREF) pin na X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 pločama, kao što je prikazano na slici 3.
Rezanje ove igle ne utječe na rad u kombinaciji s Nucleo pločama (kao što su NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB).

STMicroelectronics UM2548 Linux upravljački program - Hardverska veza

Postavljanje kratkospojnika
Premosnici za A5, A4, A3, A2, A1 i A0 prikazani na slici 4 moraju se promijeniti redom u P25, P24, P23, P22, P21 i CE1. S ovom postavkom Raspberryjev GPIO pin broj 7 koristi se kao linija prekida za X-NUCLEONFC06A1/X-NUCLEO-NFC08A1.

STMicroelectronics UM2548 Linux Driver - adapterska ploča

Trenutačno, ovaj port knjižnice RFAL koristi pin GPIO7 kao liniju prekida (prema postavkama kratkospojnika). Ako postoji zahtjev za promjenom linije prekida s GPIO7 na drugi GPIO, kôd specifičan za platformu (u file pltf_gpio.h) mora se modificirati kako bi se promijenila definicija makroa ST25R_INT_PIN sa 7 na novi GPIO pin, koji će se koristiti kao linija prekida.
S gornjim postavkama kratkospojnika, adapterska ploča može se koristiti za povezivanje X-NUCLEO NFC06A1 i X-NUCLEO-NFC08A1 s Raspberry Pi pločom, kao što je prikazano na sljedećim slikama.

STMicroelectronics UM2548 Linux upravljački program - Postavljanje hardvera

Postavljanje Linux okruženja

3.1 Pokretanje Raspberry Pi
Za postavljanje Linux okruženja, prvo instalirajte i pokrenite Raspberry Pi s Raspberry Pi OS-om, kao što je objašnjeno u nastavku:
Korak 1
Preuzmite najnoviju sliku OS Raspberry Pi s https://www.raspberrypi.com, zatim odaberite Raspberry Pi OS s radnom površinom. Za testove u nastavku korištena je verzija 2022-09-22-raspios-bullseye-armhf.img.xz (rujan 2022.).
Korak 2
Raspakirajte sliku Raspberry Pi OS i zapišite je na SD karticu slijedeći upute dostupne u odjeljku pod nazivom "Pisanje slike na SD karticu".
Korak 3
Spojite hardver:

  • Spojite Raspberry Pi 4 na monitor pomoću standardnog HDMI kabela.
  • Spojite miš i tipkovnicu na USB priključke Raspberry Pi.

Također je moguće raditi s Raspberry Pi koristeći ssh. U ovom slučaju. nije potrebno povezati monitor, tipkovnicu i miš s Raspberry Pi. Jedini uvjet je imati računalo sa ssh-om unutar iste mreže kao Raspberry Pi i konfigurirati IP adresu u skladu s tim.
Korak 4
Pokrenite Raspberry Pi 4 sa SD karticom. Nakon dizanja, na monitoru se pojavljuje desktop Linux temeljen na Debianu.
Bilješka:
Ponekad, nakon pokretanja Raspberry Pi OS-a, neke tipke na tipkovnici ne rade. Da bi radili, otvorite file /etc/default/keyboard i postavite XKBLAYOUT=”us”, te ponovno pokrenite Raspberry Pi.
3.2 Omogućite SPI na Raspberry Pi
SPI upravljački program unutar kernela komunicira s X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 pločama putem SPI-ja. Važno je provjeriti je li SPI već omogućen u konfiguraciji kernela Raspbian Pi OS.
Provjerite je li /dev/spidev0.0 vidljiv u okruženju Raspberry Pi. Ako nije vidljivo, omogućite SPI sučelje pomoću pomoćnog programa “raspi-config” slijedeći dolje opisane korake.
Korak 1
Otvorite novi terminal na Raspberry Pi i pokrenite naredbu “raspi-config” kao root: sudo raspi-config
Ovaj korak otvara grafičko sučelje.
Korak 2
Odaberite u grafičkom sučelju opciju pod nazivom “Mogućnosti sučelja”.
Korak 3
Ovaj korak navodi razne opcije.
Odaberite opciju pod nazivom "SPI".
Pojavljuje se novi prozor sa sljedećim tekstom:
"Želite li da se omogući SPI sučelje?"
Korak 4
Izaberi u ovom prozoru da omogućite SPI.
Korak 5
Ponovno pokrenite Raspberry Pi.
Gore navedeni koraci omogućit će SPI sučelje u okruženju Raspberry Pi nakon ponovnog pokretanja.

Izgradite RFAL biblioteku i aplikaciju

RFAL demonstracija Linuxa dostupna je u arhivi, kao što je ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz.
Da biste izgradili RFAL biblioteku i aplikaciju na Raspberry Pi, prođite kroz sljedeće korake:
Korak 1
Raspakirajte paket na Raspberry Pi pomoću sljedeće naredbe iz početnog direktorija
tar -xJvf ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz
Korak 2
Instalirajte cmake (ako to niste učinili prije) pomoću naredbe
apt-get instalirajte cmake
RFAL knjižnica i sustav za izradu aplikacija temelje se na cmakeu, zbog toga je potrebno instalirati cmake za kompajliranje paketa.
Korak 3
Za izgradnju RFAL biblioteke i aplikacije idite u direktorij za izgradnju
cd ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build
Odatle pokrenite naredbu
cmake ..
U gornjoj naredbi “..” označava da najviša razina CMakeLists.txt postoji u nadređenom direktoriju
(ST25R3916_v2.8.0_Linux_demo_v1.0).
Ova naredba stvara makefile koristi se u sljedećem koraku za izgradnju knjižnice i aplikacije. Odatle pokrenite sljedeću naredbu za izgradnju demonstracije za ST25R3916B
cmake -DRFAL_VARIANT=st25r3916b ..
Korak 4
Pokrenite naredbu make za izgradnju RFAL biblioteke i aplikacije:
napraviti
Ova naredba prvo gradi RFAL biblioteku, a zatim aplikaciju povrh nje.

Kako pokrenuti aplikaciju

Uspješna nadgradnja generira izvršnu datoteku pod nazivom “nfc_poller_st25r3916” ili “nfc_poller_st25r3916b” na lokaciji /build/demo.
Prema zadanim postavkama, aplikacija se mora pokrenuti s root pravima sa staze ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build/demo/:
sudo ./nfc_demo_st25r3916
Aplikacija počinje ispitivati ​​NFC tags i mobilnih telefona, zatim prikazuje pronađene uređaje s njihovim UID-om, kao što je prikazano na slici 7.

STMicroelectronics UM2548 Linux Driver - pronađeni uređaji

Za prekid aplikacije pritisnite Ctrl + C.

Povijest revizija
Tablica 1. Povijest revizija dokumenta

Datum Revizija Promjene
1. ožujka 19 1 Početno izdanje.
4. travnja 23 2 Ažurirani naslov dokumenta, odjeljak Uvod, odjeljak 1.1 Značajke,
Odjeljak 1.2 Arhitektura softvera, Odjeljak 2.1 Korištena platforma, Odjeljak 2.2 Hardver
zahtjevi, odjeljak 2.2.1 Hardverske veze, odjeljak 3.1 Pokretanje Raspberry Pi,
Odjeljak 3.2 Omogućite SPI na Raspberry Pi, Odjeljak 4 Izgradite RFAL biblioteku i aplikaciju,
i odjeljak 5 Kako pokrenuti aplikaciju.
Ažurirana Slika 1. RFAL biblioteka na Linux platformi, Slika 2. RFAL softverska arhitektura
na Linuxu i Slika 5. Postavljanje hardvera na vrhu view.
Manje izmjene teksta u cijelom dokumentu.

VAŽNA OBAVIJEST – PAŽLJIVO PROČITAJTE
STMicroelectronics NV i njegove podružnice ("ST") zadržavaju pravo izmjene, ispravke, poboljšanja, preinake i poboljšanja ST proizvoda i/ili ovog dokumenta u bilo koje vrijeme bez prethodne najave. Kupci bi trebali dobiti najnovije relevantne informacije o ST proizvodima prije narudžbe. Proizvodi ST-a prodaju se u skladu s odredbama i uvjetima prodaje ST-a koji su na snazi ​​u trenutku potvrde narudžbe.
Kupci su isključivo odgovorni za izbor, izbor i korištenje ST proizvoda i ST ne preuzima nikakvu odgovornost za pomoć pri primjeni ili dizajn proizvoda kupaca.
ST ovdje ne daje nikakvu licencu, izričitu ili implicitnu, za bilo koje pravo intelektualnog vlasništva.
Preprodaja ST proizvoda s odredbama različitim od ovdje navedenih informacija poništit će svako jamstvo koje je ST dao za takav proizvod.
ST i ST logotip su zaštitni znakovi ST. Za dodatne informacije o ST zaštitnim znakovima, pogledajte www.st.com/trademarks. Svi ostali nazivi proizvoda ili usluga vlasništvo su njihovih vlasnika.
Informacije u ovom dokumentu nadziru i zamjenjuju informacije prethodno navedene u bilo kojoj od prethodnih verzija ovog dokumenta.
© 2023 STMicroelectronics – Sva prava pridržana

UM2548 – Rev. 2

Dokumenti / Resursi

PDF thumbnailUpravljački program za Linux UM2548
User Manual · UM2548 Linux Driver, UM2548, Linux Driver, Driver

Postavite pitanje

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

Postavite pitanje

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