STMicroelectronics UM2375 Linux tvarkyklės vartotojo vadovas

STMicroelectronics logotipas

„Linux®“ tvarkyklė, skirta ST25R3911B ir ST25R3912/14/15 didelio našumo NFC sąsajoms

Įvadas

STSW-ST25R009 Linux® tvarkyklė leidžia Raspberry Pi 4 veikti su X-NUCLEO-NFC05A1, kuriame yra ST25R3911B didelio našumo NFC universalus įrenginys.

Šis paketas perkelia RF abstrakcijos sluoksnį (RFAL) į Raspberry Pi 4 Linux platformą, kad veiktų su X-NUCLEO-NFC05A1 programine įranga. Pakuotėje numatyta kaipampprograma, aptinkanti skirtingus NFC tipus tags ir mobiliuosius telefonus, palaikančius P2P. RFAL yra ST standartinė ST25R NFC/RFID skaitytuvo IC ST25R3911B, ST25R3912, ST25R3913, ST25R3914 ir ST25R3915 tvarkyklė. Ją, pavyzdžiui, naudoja ST25R3911B-DISCO programinė įranga (STSW-ST25R002) ir X-NUCLEONFC05A1 programinė įranga (X-CUBE-NFC5).

STSW-ST25R009 palaiko visus ST25R3911B žemesnio sluoksnio protokolus ir kai kuriuos aukštesnio sluoksnio ryšio protokolus. RFAL parašytas nešiojamu būdu, todėl gali veikti įvairiuose įrenginiuose, paremtuose Linux®. Šiame dokumente aprašoma, kaip RFAL biblioteką galima naudoti standartinėje Linux sistemoje (šiuo atveju Raspberry Pi 4) NFC/RF ryšiui palaikyti. Kodas yra labai nešiojamas ir veikia su nedideliais pakeitimais bet kurioje „Linux“ platformoje.

1 pav. RFAL biblioteka Linux platformoje

1 pav. RFAL biblioteka Linux platformoje

Baigėsiview

Savybės
  • Užbaikite Linux vartotojo erdvės tvarkyklę (RF abstrakcijos sluoksnis), kad sukurtumėte NFC palaikančias programas, naudojant ST25R3911B/ST25R391x didelio našumo NFC sąsajas su iki 1.4 W išėjimo galia
  • „Linux“ pagrindinio kompiuterio ryšys su ST25R3911B/ST25R391x naudojant SPI sąsają
  • Visiškas RF / NFC abstrakcija (RFAL) visoms pagrindinėms technologijoms ir aukštesnio lygio protokolams:
    • ALR-A (ISO14443-A),
    • ALR-B (ISO14443-B),
    • NFC-F (FeliCa™)
    • ALR-V (ISO15693)
    • P2P (ISO18092)
    • ISO-DEP (ISO duomenų mainų protokolas, ISO14443-4)
    • NFC-DEP (NFC duomenų mainų protokolas, ISO18092)
    • Patentuotos technologijos (Kovio, B', iClass, Calypso®, ...)
  • Sampgalima įdiegti naudojant X-NUCLEO-NFC05A1 išplėtimo plokštę, prijungtą prie Raspberry Pi 4
  • Sampprograma, skirta aptikti kelis NFC tag tipų ir mobiliųjų telefonų, palaikančių P2P
  • Nemokamos vartotojui patogios licencijos sąlygos
Programinės įrangos architektūra

2 paveiksle parodyta RFAL bibliotekos programinės įrangos architektūros informacija Linux® platformoje.

RFAL lengvai perkeliamas į kitas platformas, pritaikant vadinamąją platformą files.

Antraštė file rfal_platform.h yra makrokomandų apibrėžimai, kuriuos turi pateikti ir įdiegti platformos savininkas. Be to, jame pateikiami platformai būdingi nustatymai, pvz., GPIO priskyrimas, sistemos ištekliai, užraktai ir IRQ, kurie reikalingi tinkamam RFAL veikimui.

Ši demonstracija įgyvendina platformos funkcijas ir suteikia RFAL bibliotekos prievadą į Linux® vartotojo erdvę. Bendra biblioteka file yra sugeneruotas, kurį demonstracinė programa naudoja RFAL sluoksnio teikiamoms funkcijoms parodyti.

„Linux®“ priegloba naudoja „sysf“ sąsają, pasiekiamą „Linux®“ vartotojo erdvėje, kad įgalintų SPI ryšį su ST25R3911B įrenginiu. „Linux®“ branduolyje SPI sysf sąsaja naudoja „Linux®“ branduolio tvarkyklę spidev, kad siųstų / gautų SPI rėmelius į / iš ST25R3911B.

Tvarkydamas ST25R3911B pertraukimo liniją, tvarkyklė naudoja libgpiod, kad gautų pranešimą apie šios linijos pakeitimus.

2 pav. RFAL programinės įrangos architektūra Linux sistemoje

2 pav. RFAL programinės įrangos architektūra Linux sistemoje

Aparatinės įrangos sąranka

Naudota platforma

Raspberry Pi 4 plokštė su Raspberry Pi OS naudojama kaip Linux platforma kuriant RFAL biblioteką ir sąveikaujant su ST25R3911B per SPI.
ST25R3911B įgalina programą Linux platformoje aptikti NFC įrenginius ir susisiekti su jais.

Techninės įrangos reikalavimai
  • Raspberry Pi 4
  • 8 GB mikro SD kortelė Raspberry Pi OS paleidimui
  • SD kortelių skaitytuvas
  • Tilto plokštė, skirta sujungti X-NUCLEO-NFC05A1 su Raspberry Pi Arduino adapteriu, skirtu Raspberry Pi, dalies numeris ARPI600.
  • X-NUCLEO-NFC05A1. Žr. naujausius Raspberry Pi OS reikalavimus.

Aparatūra jungtys

ARPI600 Raspberry Pi į Arduino adapterio plokštė naudojama X-NUCLEO-NFC05A1 sujungti su Raspberry Pi. Norint sujungti ją su X-NUCLEO-NFC05A1, reikia modifikuoti adapterio plokštės trumpiklius.

Atsargiai: ARPI600 neteisingai tiekia 5 V įtampą į Arduino IOREF kaištį. Tiesiogiai prijungus X-NUCLEO-NFC05A1, kai kurie kaiščiai grąžina 5 V įtampą, todėl galite sugadinti Raspberry Pi plokštę. Yra pranešimų, ypač apie Raspberry Pi 4B+ sunaikinimą. Norėdami išvengti šios situacijos, pritaikykite arba ARPI600 (gana sudėtinga operacija), arba X-NUCLEO-NFC05A1 (lengvesnis veikimas).

Lengviausias sprendimas yra nupjauti X-NUCLEO-NFC6.2A05 CN1 (IOREF) kaištį, kaip parodyta 3 paveiksle.

Šio kaiščio nupjovimas neturi įtakos veikimui kartu su „Nucleo“ plokštėmis (NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB ir kt.).

3 pav. Aparatinės įrangos ryšio taisymas

3 pav. Aparatinės įrangos ryšio taisymas

Džemperio nustatymas

5 paveiksle pavaizduoti A4, A3, A2, A1, A0 ir A4 trumpikliai turi būti pakeisti į P23, P22, P21 ir CE1. Naudojant šį trumpiklio nustatymą, Raspberry GPIO kaiščio numeris 7 naudojamas kaip X-NUCLEO-NFC05A1 pertraukimo linija.

4 pav. Jungiklių A5, A4, A3, A2, A1 ir A0 padėtis adapterio plokštėje

4 pav. Džemperių padėtis

Šiuo metu šis RFAL bibliotekos prievadas naudoja kaištį GPIO7 kaip pertraukimo liniją, atsižvelgiant į trumpiklio nustatymus. Jei reikia pakeisti pertraukimo eilutę iš GPIO7 į kitą GPIO, platformos kodas (į file pltf_gpio.h) reikia pakeisti, kad makrokomandos „ST25R_INT_PIN“ apibrėžimas būtų pakeistas iš 7 į naują GPIO kaištį, kuris būtų naudojamas kaip pertraukimo linija.

Naudojant aukščiau nurodytus trumpiklio nustatymus, adapterio plokštę galima naudoti norint sujungti X-NUCLEO-NFC05A1 su Raspberry Pi plokšte, kaip parodyta 5 paveiksle.

5 pav. Aparatūros sąrankos viršus view

5 pav. Aparatūros sąrankos viršuje view

6 pav. Aparatūros sąrankos pusė view

6 pav. Aparatūros sąrankos pusė view

Linux aplinkos nustatymas

Raspberry Pi paleidimas

Norėdami nustatyti „Linux“ aplinką, pirmiausia įdiekite ir paleiskite Raspberry Pi 4 su Raspberry Pi OS, kaip paaiškinta toliau:

1 veiksmas

Atsisiųskite naujausią Raspberry Pi OS vaizdą iš nuorodos:

Pasirinkite Raspberry Pi OS su darbalaukiu. Atliekant toliau nurodytus testus buvo naudojama ši versija: 2022 m. rugsėjo mėn. (2022-09-22-raspios-bullseye-armhf.img.xz).

2 veiksmas

Išpakuokite Raspberry Pi vaizdą ir įrašykite jį į SD kortelę vadovaudamiesi instrukcijomis, pateiktomis skyriuje „Vaizdo įrašymas į SD kortelę“.

3 veiksmas

Prijunkite aparatinę įrangą:

  • Prijunkite Raspberry Pi prie monitoriaus naudodami standartinį HDMI laidą.
  • Prijunkite pelę ir klaviatūrą prie Raspberry Pi USB prievadų.

Taip pat galima dirbti su Raspberry Pi naudojant ssh. Tokiu atveju nereikia prijungti monitoriaus, klaviatūros ir pelės su Raspberry Pi. Vienintelis reikalavimas yra turėti kompiuterį su ssh tame pačiame tinkle kaip Raspberry Pi ir atitinkamai sukonfigūruoti IP adresą.

4 veiksmas

Paleiskite Raspberry Pi su SD kortele.

Po paleidimo monitoriuje pasirodo Debian pagrindu sukurtas Linux darbalaukis.

Pastaba: Kartais pastebima, kad paleidus Raspberry Pi kai kurie klaviatūros klavišai neveikia. Kad jie veiktų, atidarykite file /etc/default/keyboard ir nustatykite XKBLAYOUT="us" ir iš naujo paleiskite Raspberry Pi.

Raspberry Pi įgalinkite SPI

Branduolio viduje esanti SPI tvarkyklė palaiko ryšį su X-NUCLEO-NFC05A1 per SPI. Svarbu patikrinti, ar SPI jau įjungtas Raspberry Pi OS / branduolio konfigūracijoje.
Patikrinkite, ar Raspberry Pi aplinkoje matomas /dev/spidev0.0. Jei jo nematyti, įgalinkite SPI sąsają naudodami „raspi-config“ programą, atlikdami toliau aprašytus veiksmus.

1 veiksmas

Atidarykite naują Raspberry Pi terminalą ir paleiskite komandą „raspi-config“ kaip root:

sudo raspi-config

Šis veiksmas atveria grafinę sąsają.

2 veiksmas

Grafinėje sąsajoje pasirinkite parinktį pavadinimu „Sąsajos parinktys“.

3 veiksmas

Šiame žingsnyje pateikiamos įvairios parinktys.
Pasirinkite parinktį pavadinimu „SPI“.
Atsidarys naujas langas su šiuo tekstu:
„Ar norėtumėte, kad būtų įjungta SPI sąsaja?

4 veiksmas

Pasirinkite šiame lange, kad įjungtumėte SPI.

5 veiksmas

Iš naujo paleiskite Raspberry Pi.
Aukščiau atlikti veiksmai įgalins SPI sąsają Raspberry Pi aplinkoje po perkrovimo.

RFAL bibliotekos ir programos kūrimas

„Linux“ RFAL demonstracinė versija pateikiama archyve. Tarkime, kad jo pavadinimas yra:
ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz.
Norėdami sukurti RFAL biblioteką ir programą Raspberry Pi, atlikite šiuos veiksmus:

1 veiksmas

Išpakuokite paketą Raspberry Pi naudodami toliau pateiktą komandą iš namų katalogo:

tar -xJvf ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz

2 veiksmas

Jei to nepadarėte anksčiau, įdiekite cma, naudodami toliau pateiktą komandą:

apt-get install cmake

RFAL biblioteka ir programų kūrimo sistema yra paremta cmake, todėl norint sudaryti paketą, reikia įdiegti cmake.

3 veiksmas

Norėdami sukurti RFAL biblioteką ir programą, eikite į „build“ katalogą:

cd ST25R3911B_v2.8.0_Linux_demo_v1.0/Linux_demo/build

ir paleiskite žemiau esančią komandą iš ten:

cmake..

Aukščiau pateiktoje komandoje „..“ nurodo, kad aukščiausio lygio CMakeLists.txt yra pirminiame kataloge, ty
ST25R3911B_v2.8.0_Linux_demo_v1.0.

Komanda cmake sukuria makefile kuris naudojamas kitame bibliotekai ir programai kurti.

4 veiksmas

Paleiskite komandą „make“, kad sukurtumėte RFAL biblioteką ir programą:

padaryti

Komanda „make“ pirmiausia sukuria RFAL biblioteką, o tada sukuria programą ant jos.

Kaip paleisti programą

Sėkmingas kūrimas sugeneruoja vykdomąjį failą pavadinimu „nfc_demo_st25r3911b“ šioje vietoje:
/build/applications.

Pagal numatytuosius nustatymus programa turi būti paleista su root teisėmis iš kelio: ST25R3911B_v2.8.0_Linux_demo_v1.0/linux_demo/build:

sudo ./demo/nfc_demo_st25r3911b

Programa pradeda NFC apklausą tags ir mobiliuosius telefonus. Rodomi rasti įrenginiai su jų UID, kaip parodyta 7 paveiksle.

7 pav. Rastų įrenginių rodymas

7 pav. Rastų įrenginių rodymas

Norėdami baigti programą, paspauskite Ctrl + C.

Revizijų istorija

1 lentelė. Dokumento taisymo istorija

1 lentelė Dokumento taisymo istorija

Lentelių sąrašas

1 lentelė. Dokumento taisymo istorija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Figūrų sąrašas

1 pav. RFAL biblioteka Linux platformoje. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 pav. RFAL programinės įrangos architektūra Linux sistemoje. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 pav. Aparatinės įrangos ryšio taisymas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4 pav. Jungiklių A5, A4, A3, A2, A1 ir A0 padėtis adapterio plokštėje. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5 pav. Aparatūros sąrankos viršus view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6 pav. Aparatūros sąrankos pusė view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
7 pav. Rastų įrenginių rodymas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

SVARBI PRANEŠIMAS – ATIDŽIAI SKAITYKITE

STMicroelectronics NV ir jos dukterinės įmonės („ST“) pasilieka teisę bet kuriuo metu be įspėjimo keisti, taisyti, patobulinti, modifikuoti ir tobulinti ST gaminius ir (arba) šį dokumentą. Prieš pateikdami užsakymą pirkėjai turėtų gauti naujausią atitinkamą informaciją apie ST gaminius. ST gaminiai parduodami pagal ST pardavimo sąlygas, galiojančias užsakymo patvirtinimo metu.

Pirkėjai yra išimtinai atsakingi už ST gaminių pasirinkimą, pasirinkimą ir naudojimą, o ST neprisiima jokios atsakomybės už pagalbą taikant ar pirkėjų gaminių dizainą.

ST nesuteikia jokios tiesioginės ar numanomos licencijos jokioms intelektinės nuosavybės teisėms.

Perpardavus ST gaminius, kurių nuostatos skiriasi nuo čia pateiktos informacijos, panaikina bet kokią ST tokiam produktui suteiktą garantiją.

ST ir ST logotipas yra ST prekių ženklai. Daugiau informacijos apie ST prekių ženklus žr www.st.com/trademarks. Visi kiti produktų ar paslaugų pavadinimai yra atitinkamų savininkų nuosavybė.

Informacija šiame dokumente pakeičia ir pakeičia informaciją, anksčiau pateiktą bet kokiose ankstesnėse šio dokumento versijose.

© 2023 STMicroelectronics – Visos teisės saugomos

Dokumentai / Ištekliai

STMicroelectronics UM2375 Linux tvarkyklė [pdf] Naudotojo vadovas
UM2375 Linux tvarkyklė, UM2375, Linux tvarkyklė, tvarkyklė

Nuorodos

Palikite komentarą

Jūsų el. pašto adresas nebus skelbiamas. Privalomi laukai pažymėti *