STMicroelectronics UM2375 Linux draivera lietotāja rokasgrāmata

Linux® draiveris ST25R3911B un ST25R3912/14/15 augstas veiktspējas NFC priekšgaliem
Ievads
STSW-ST25R009 Linux® draiveris ļauj Raspberry Pi 4 darboties ar X-NUCLEO-NFC05A1, kas satur ST25R3911B augstas veiktspējas NFC universālo ierīci.
Šī pakotne portē RF abstrakcijas slāni (RFAL) uz Raspberry Pi 4 Linux platformu, lai darbotos ar X-NUCLEO-NFC05A1 programmaparatūru. Pakete nodrošina kāamplietojumprogramma, kas nosaka dažādu veidu NFC tags un mobilie tālruņi, kas atbalsta P2P. RFAL ir ST standarta draiveris ST25R NFC/RFID lasītāja IC ST25R3911B, ST25R3912, ST25R3913, ST25R3914 un ST25R3915. To izmanto, piemēram, programmaparatūra ST25R3911B-DISCO (STSW-ST25R002) un programmaparatūra X-NUCLEONFC05A1 (X-CUBE-NFC5).
STSW-ST25R009 atbalsta visus ST25R3911B zemākā slāņa protokolus un arī dažus augstāka slāņa protokolus saziņai. RFAL ir rakstīts pārnēsājamā veidā, tāpēc tas var darboties ar plašu ierīču klāstu, kuru pamatā ir Linux®. Šajā dokumentā ir aprakstīts, kā RFAL bibliotēku var izmantot standarta Linux sistēmā (šajā gadījumā Raspberry Pi 4) NFC/RF saziņai. Kods ir ļoti pārnēsājams un darbojas ar nelielām izmaiņām jebkurā Linux platformā.
1. attēls. RFAL bibliotēka Linux platformā

Beigāsview
Funkcijas
- Pabeigts Linux lietotāja telpas draiveris (RF abstrakcijas slānis), lai izveidotu NFC iespējotas lietojumprogrammas, izmantojot ST25R3911B/ST25R391x augstas veiktspējas NFC priekšgalus ar līdz pat 1.4 W izejas jaudu
- Linux saimniekdatora komunikācija ar ST25R3911B/ST25R391x, izmantojot SPI interfeisu
- Pilnīga RF/NFC abstrakcija (RFAL) visām galvenajām tehnoloģijām un augstāka slāņa protokoliem:
- NFC-A (ISO14443-A)
- NFC-B (ISO14443-B)
- NFC-F (FeliCa™)
- NFC-V (ISO15693)
- P2P (ISO18092)
- ISO-DEP (ISO datu apmaiņas protokols, ISO14443-4)
- NFC-DEP (NFC datu apmaiņas protokols, ISO18092)
- Patentētas tehnoloģijas (Kovio, B', iClass, Calypso®,…)
- Sample ieviešana ir pieejama ar X-NUCLEO-NFC05A1 paplašināšanas plati, kas pievienota Raspberry Pi 4
- Samplietojumprogramma, lai noteiktu vairākus NFC tag veidi un mobilie tālruņi, kas atbalsta P2P
- Bezmaksas lietotājam draudzīgi licences noteikumi
Programmatūras arhitektūra
2. attēlā parādīta programmatūras arhitektūras informācija par RFAL bibliotēku Linux® platformā.
RFAL ir viegli pārnēsājams uz citām platformām, pielāgojot tā saukto platformu files.
Virsraksts file rfal_platform.h satur makro definīcijas, kuras ir jānodrošina un jāievieš platformas īpašniekam. Turklāt tas nodrošina platformai specifiskus iestatījumus, piemēram, GPIO piešķiršanu, sistēmas resursus, slēdzenes un IRQ, kas nepieciešami pareizai RFAL darbībai.
Šī demonstrācija ievieš platformas funkcijas un nodrošina RFAL bibliotēkas portu Linux® lietotāju telpā. Koplietojama bibliotēka file tiek ģenerēts, ko izmanto demonstrācijas lietojumprogramma, lai parādītu RFAL slāņa nodrošinātās funkcijas.
Linux® resursdators izmanto sysf interfeisu, kas pieejams no Linux® lietotāja vietas, lai iespējotu SPI saziņu ar ierīci ST25R3911B. Linux® kodolā SPI sysf interfeiss izmanto Linux® kodola draiveri spidev, lai nosūtītu/saņemtu SPI kadrus uz/no ST25R3911B.
Lai apstrādātu ST25R3911B pārtraukuma līniju, draiveris izmanto libgpiod, lai saņemtu paziņojumus par izmaiņām šajā līnijā.
2. attēls. RFAL programmatūras arhitektūra operētājsistēmā Linux

Aparatūras iestatīšana
Izmantota platforma
Raspberry Pi 4 plate ar Raspberry Pi OS tiek izmantota kā Linux platforma, lai izveidotu RFAL bibliotēku un mijiedarbotos ar ST25R3911B, izmantojot SPI.
ST25R3911B ļauj lietojumprogrammai Linux platformā noteikt NFC ierīces un sazināties ar tām.
Aparatūras prasības
- Raspberry Pi 4
- 8 GB baitu micro SD karte, lai palaistu Raspberry Pi OS
- SD karšu lasītājs
- Tilta plate, lai savienotu X-NUCLEO-NFC05A1 ar Raspberry Pi Arduino adapteri Raspberry Pi, daļas numurs ARPI600.
- X-NUCLEO-NFC05A1. Skatiet jaunākās Raspberry Pi OS prasības.
Aparatūras savienojumi
ARPI600 Raspberry Pi–Arduino adaptera plate tiek izmantota, lai savienotu X-NUCLEO-NFC05A1 ar Raspberry Pi. Ir nepieciešams pārveidot adaptera plates džemperus, lai savienotu to ar X-NUCLEO-NFC05A1.
Uzmanību: ARPI600 nepareizi piegādā 5 V spriegumu Arduino IOREF tapai. Tieši pievienojot X-NUCLEO-NFC05A1, uz dažām tapām tiek padots atpakaļ 5 V, tādējādi var tikt bojāts Raspberry Pi panelis. Ir ziņojumi, jo īpaši par Raspberry Pi 4B+ iznīcināšanu. Lai izvairītos no šīs situācijas, pielāgojiet vai nu ARPI600 (diezgan sarežģīta darbība), vai X-NUCLEO-NFC05A1 (vieglāka darbība).
Vienkāršākais risinājums ir nogriezt X-NUCLEO-NFC6.2A05 CN1 (IOREF) tapu, kā parādīts 3. attēlā.
Šīs tapas nogriešana neietekmē darbību kopā ar Nucleo paneļiem (NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB utt.).
3. attēls. Aparatūras savienojuma labošana

Džempera iestatījums
A5, A4, A3, A2, A1 un A0 džemperi, kas parādīti 4. attēlā, ir jāmaina uz P23, P22, P21 un CE1. Izmantojot šos džempera iestatījumus, Raspberry GPIO tapas numurs 7 tiek izmantots kā X-NUCLEO-NFC05A1 pārtraukuma līnija.
4. attēls. Džemperu A5, A4, A3, A2, A1 un A0 novietojums uz adaptera plates

Pašlaik šis RFAL bibliotēkas ports izmanto kontaktu GPIO7 kā pārtraukuma līniju saskaņā ar džempera iestatījumiem. Ja ir nepieciešams mainīt pārtraukuma līniju no GPIO7 uz citu GPIO, platformas specifiskais kods ( file pltf_gpio.h) ir jāmaina, lai mainītu makro “ST25R_INT_PIN” definīciju no 7 uz jauno GPIO tapu, ko izmantot kā pārtraukuma līniju.
Izmantojot iepriekš minētos džempera iestatījumus, adaptera plati var izmantot, lai savienotu X-NUCLEO-NFC05A1 ar Raspberry Pi plati, kā parādīts 5. attēlā.
5. attēls. Aparatūras iestatīšanas augšdaļa view

6. attēls. Aparatūras iestatīšanas puse view

Linux vides iestatīšana
Raspberry Pi sāknēšana
Lai iestatītu Linux vidi, pirmais solis ir instalēt un palaist Raspberry Pi 4 ar Raspberry Pi OS, kā paskaidrots tālāk:
1. darbība
Lejupielādējiet jaunāko Raspberry Pi OS attēlu no saites:
Izvēlieties Raspberry Pi OS ar darbvirsmu. Tālāk norādītajiem testiem tika izmantota šāda versija: 2022. gada septembris (2022-09-22-raspios-bullseye-armhf.img.xz).
2. darbība
Izvelciet Raspberry Pi attēlu un ierakstiet to SD kartē, izpildot norādījumus, kas pieejami sadaļā “Attēla ierakstīšana SD kartē”.
3. darbība
Pievienojiet aparatūru:
- Savienojiet Raspberry Pi ar monitoru, izmantojot standarta HDMI kabeli.
- Savienojiet peli un tastatūru Raspberry Pi USB portiem.
Ir iespējams arī strādāt ar Raspberry Pi, izmantojot ssh. Tādā gadījumā nav nepieciešams savienot monitoru, tastatūru un peli ar Raspberry Pi. Vienīgā prasība ir, lai dators ar ssh ir tajā pašā tīklā, kurā atrodas Raspberry Pi, un attiecīgi jākonfigurē IP adrese.
4. darbība
Sāknējiet Raspberry Pi ar SD karti.
Pēc sāknēšanas monitorā parādās uz Debian balstīta Linux darbvirsma.
Piezīme. Dažreiz tiek novērots, ka pēc Raspberry Pi sāknēšanas daži tastatūras taustiņi nedarbojas. Lai tie darbotos, atveriet file /etc/default/keyboard un iestatiet XKBLAYOUT=”us” un restartējiet Raspberry Pi.
Iespējot SPI vietnē Raspberry Pi
SPI draiveris kodolā sazinās ar X-NUCLEO-NFC05A1, izmantojot SPI. Ir svarīgi pārbaudīt, vai SPI jau ir iespējots Raspberry Pi OS/kodola konfigurācijā.
Pārbaudiet, vai /dev/spidev0.0 ir redzams Raspberry Pi vidē. Ja tas nav redzams, iespējojiet SPI saskarni, izmantojot utilītu “raspi-config”, veicot tālāk aprakstītās darbības.
1. darbība
Atveriet jaunu Raspberry Pi termināli un palaidiet komandu “raspi-config” kā root:
sudo raspi-config
Šī darbība atver grafisko interfeisu.
2. darbība
Grafiskajā saskarnē atlasiet opciju ar nosaukumu “Interfacing Options”.
3. darbība
Šajā darbībā ir uzskaitītas dažādas iespējas.
Atlasiet opciju ar nosaukumu “SPI”.
Parādās jauns logs ar šādu tekstu:
"Vai vēlaties, lai tiktu iespējots SPI interfeiss?"
4. darbība
Izvēlieties šajā logā, lai iespējotu SPI.
5. darbība
Atsāknējiet Raspberry Pi.
Iepriekš minētās darbības iespējos SPI saskarni Raspberry Pi vidē pēc atsāknēšanas.
RFAL bibliotēkas un lietojumprogrammas izveide
Linux RFAL demonstrācija ir pieejama arhīvā. Pieņemsim, ka tā nosaukums ir:
ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz.
Lai izveidotu RFAL bibliotēku un lietojumprogrammu Raspberry Pi, veiciet tālāk norādītās darbības.
1. darbība
Izņemiet pakotni Raspberry Pi, izmantojot tālāk norādīto komandu no mājas direktorijas:
tar -xJvf ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz
2. darbība
Ja tas iepriekš nav izdarīts, instalējiet cmake, izmantojot tālāk norādīto komandu:
apt-get install cmake
RFAL bibliotēka un lietojumprogrammu veidošanas sistēma ir balstīta uz cmake, tāpēc pakotnes apkopošanai ir jāinstalē cmake.
3. darbība
Lai izveidotu RFAL bibliotēku un lietojumprogrammu, dodieties uz direktoriju “būvēt”:
cd ST25R3911B_v2.8.0_Linux_demo_v1.0/Linux_demo/build
un no turienes palaidiet tālāk norādīto komandu:
cmake..
Iepriekš minētajā komandā “..” norāda, ka augstākā līmeņa CMakeLists.txt pastāv vecākdirektorijā, ti,
ST25R3911B_v2.8.0_Linux_demo_v1.0.
Komanda cmake izveido makefile kas tiek izmantots nākamajā solī, lai izveidotu bibliotēku un lietojumprogrammu.
4. darbība
Palaidiet komandu “make”, lai izveidotu RFAL bibliotēku un lietojumprogrammu:
izgatavot
Komanda “make” vispirms izveido RFAL bibliotēku un pēc tam tai pievieno lietojumprogrammu.
Kā palaist lietojumprogrammu
Veiksmīga izveide ģenerē izpildāmo failu ar nosaukumu “nfc_demo_st25r3911b” šādā vietā:
/build/applications.
Pēc noklusējuma lietojumprogramma ir jāpalaiž ar root tiesībām no ceļa: ST25R3911B_v2.8.0_Linux_demo_v1.0/linux_demo/build:
sudo ./demo/nfc_demo_st25r3911b
Lietojumprogramma sāk NFC aptauju tags un mobilie tālruņi. Tas parāda atrastās ierīces ar to UID, kā parādīts 7. attēlā.
7. attēls. Atrasto ierīču displejs

Lai beigtu lietojumprogrammu, nospiediet Ctrl + C.
Pārskatīšanas vēsture
1. tabula. Dokumentu pārskatīšanas vēsture

Tabulu saraksts
1. tabula. Dokumentu pārskatīšanas vēsture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Figūru saraksts
1. attēls. RFAL bibliotēka Linux platformā. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2. attēls. RFAL programmatūras arhitektūra operētājsistēmā Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. attēls. Aparatūras savienojuma labošana. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. attēls. Džemperu A5, A4, A3, A2, A1 un A0 novietojums uz adaptera plates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5. attēls. Aparatūras iestatīšanas augšdaļa view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6. attēls. Aparatūras iestatīšanas puse view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
7. attēls. Atrasto ierīču displejs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
SVARĪGS PAZIŅOJUMS – UZMANĪGI IZLASIET
STMicroelectronics NV un tā meitasuzņēmumi (“ST”) patur tiesības jebkurā laikā bez brīdinājuma veikt izmaiņas, labojumus, uzlabojumus, modifikācijas un uzlabojumus ST izstrādājumos un/vai šajā dokumentā. Pirms pasūtījuma veikšanas pircējiem jāiegūst jaunākā atbilstošā informācija par ST produktiem. ST produkti tiek pārdoti saskaņā ar ST pārdošanas noteikumiem un nosacījumiem, kas ir spēkā pasūtījuma apstiprināšanas brīdī.
Pircēji ir pilnībā atbildīgi par ST produktu izvēli, izvēli un lietošanu, un ST neuzņemas nekādu atbildību par palīdzību pielietošanā vai pircēja produktu dizainu.
ST šeit nepiešķir nekādas tiešas vai netiešas licences jebkādām intelektuālā īpašuma tiesībām.
ST produktu tālākpārdošana ar noteikumiem, kas atšķiras no šeit norādītās informācijas, anulē jebkādu ST piešķirto garantiju šādam produktam.
ST un ST logotips ir ST preču zīmes. Papildinformāciju par ST preču zīmēm skatiet www.st.com/trademarks. Visi pārējie produktu vai pakalpojumu nosaukumi ir to attiecīgo īpašnieku īpašums.
Informācija šajā dokumentā aizstāj un aizstāj informāciju, kas iepriekš sniegta jebkurās iepriekšējās šī dokumenta versijās.
© 2023 STMicroelectronics – visas tiesības paturētas
Dokumenti / Resursi
![]() |
STMicroelectronics UM2375 Linux draiveris [pdfLietotāja rokasgrāmata UM2375 Linux draiveris, UM2375, Linux draiveris, draiveris |




