Manwal għall-Utent tas-Sewwieq Linux STMicroelectronics UM2375

STMicroelectronics Logo

Driver Linux® għall-frontends NFC ta' prestazzjoni għolja ST25R3911B u ST25R3912/14/15

Introduzzjoni

Is-sewwieq STSW-ST25R009 Linux® jippermetti lir-Raspberry Pi 4 biex jopera mal-X-NUCLEO-NFC05A1, li fih l-apparat universali NFC ta 'prestazzjoni għolja ST25R3911B.

Dan il-pakkett iwassal is-saff ta 'l-estrazzjoni RF (RFAL) fuq pjattaforma Raspberry Pi 4 Linux biex jopera bil-firmware X-NUCLEO-NFC05A1. Il-pakkett jipprovdi bħalaample applikazzjoni tiskopri tipi differenti ta 'NFC tags u telefowns ċellulari li jappoġġjaw il-P2P. L-RFAL huwa s-sewwieq standard ST għal ST25R NFC/RFID Reader ICs ST25R3911B, ST25R3912, ST25R3913, ST25R3914 u ST25R3915. Jintuża, pereżempju, mill-firmware ST25R3911B-DISCO (STSW-ST25R002) u mill-firmware X-NUCLEONFC05A1 (X-CUBE-NFC5).

STSW-ST25R009 jappoġġja l-protokolli kollha tas-saff t'isfel ST25R3911B u wkoll xi protokolli ta 'saff ogħla għall-komunikazzjoni. L-RFAL huwa miktub b'mod portabbli, u għalhekk jista 'jimxi fuq firxa wiesgħa ta' apparati bbażati fuq Linux®. Dan id-dokument jiddeskrivi kif il-librerija RFAL tista 'tintuża fuq sistema Linux standard (f'dan il-każ il-Raspberry Pi 4) għall-komunikazzjoni NFC/RF. Il-kodiċi huwa portabbli ħafna u jaħdem b'bidliet żgħar fuq kwalunkwe pjattaforma Linux.

Figura 1. Librerija RFAL fuq pjattaforma Linux

Figura 1 Librerija RFAL fuq pjattaforma Linux

Fuqview

Karatteristiċi
  • Driver tal-ispazju tal-utent tal-Linux komplut (saff ta' astrazzjoni RF) biex jibni applikazzjonijiet ppermettiet NFC bl-użu tal-frontends NFC ta' prestazzjoni għolja ST25R3911B/ST25R391x b'qawwa tal-ħruġ sa 1.4 W
  • Komunikazzjoni host Linux mal-ST25R3911B/ST25R391x bl-użu ta 'interface SPI
  • Astrazzjoni RF/NFC kompluta (RFAL) għat-teknoloġiji ewlenin kollha u protokolli ta' saff ogħla:
    • NFC-A (ISO14443-A)
    • NFC-B (ISO14443-B)
    • NFC-F (FeliCa™)
    • NFC-V (ISO15693)
    • P2P (ISO18092)
    • ISO-DEP (protokoll ta' skambju ta' dejta ISO, ISO14443-4)
    • NFC-DEP (protokoll ta' skambju ta' dejta NFC, ISO18092)
    • Teknoloġiji proprjetarji (Kovio, B', iClass, Calypso®, …)
  • Sampl-implimentazzjoni disponibbli mal-bord ta 'espansjoni X-NUCLEO-NFC05A1, imqabbad ma' Raspberry Pi 4
  • Sample applikazzjoni biex tiskopri diversi NFC tag tipi u telefowns ċellulari li jappoġġjaw il-P2P
  • Termini tal-liċenzja faċli għall-utent b'xejn
Arkitettura tas-softwer

Il-Figura 2 turi d-dettalji tal-arkitettura tas-softwer tal-librerija RFAL fuq pjattaforma Linux®.

L-RFAL huwa faċilment portabbli għal pjattaformi oħra billi tadatta l-hekk imsejħa pjattaforma files.

Ir-ras file rfal_platform.h fih definizzjonijiet makro, li jeħtieġ li jiġu pprovduti u implimentati mis-sid tal-pjattaforma. Barra minn hekk, jipprovdi settings speċifiċi għall-pjattaforma bħall-assenjazzjoni GPIO, riżorsi tas-sistema, serraturi u IRQs, li huma meħtieġa għat-tħaddim korrett tal-RFAL.

Din id-dimostrazzjoni timplimenta l-funzjonijiet tal-pjattaforma u tipprovdi port tal-librerija RFAL fl-ispazju tal-utent tal-Linux®. Librerija kondiviża file hija ġġenerata, li tintuża mill-applikazzjoni demo biex turi l-funzjonalitajiet ipprovduti mis-saff RFAL.

Linux® host juża sysfs interface disponibbli mill-ispazju tal-utent Linux® biex jippermetti l-komunikazzjoni SPI mal-apparat ST25R3911B. Ġewwa l-Linux® kernel l-interface SPI sysfs juża Linux® kernel driver spidev biex jibgħat/jirċievi SPI frames lejn/minn ST25R3911B.

Għall-immaniġġjar tal-linja tal-interruzzjoni ta 'ST25R3911B, is-sewwieq juża l-libgpiod biex jiġi notifikat dwar bidliet f'din il-linja.

Figura 2. Arkitettura tas-softwer RFAL fuq Linux

Figura 2 Arkitettura tas-softwer RFAL fuq Linux

Setup tal-ħardwer

Pjattaforma użata

Bord Raspberry Pi 4 b'Raspberry Pi OS jintuża bħala pjattaforma Linux biex tinbena librerija RFAL u jinteraġixxi ma 'ST25R3911B fuq SPI.
ST25R3911B jippermetti applikazzjoni fuq pjattaforma Linux biex tiskopri u tikkomunika ma 'apparat NFC.

Rekwiżiti tal-ħardwer
  • Lampun Pi 4
  • 8 GBytes mikro SD card biex tibbutja Raspberry Pi OS
  • SD card reader
  • Bord tal-pont biex jgħaqqad X-NUCLEO-NFC05A1 ma 'Raspberry Pi Arduino Adapter għal Raspberry Pi, numru tal-parti ARPI600.
  • X-NUCLEO-NFC05A1. Irreferi għall-aħħar rekwiżiti tal-OS Raspberry Pi.

Konnessjonijiet Hardware

Il-bord tal-adapter ARPI600 Raspberry Pi għal Arduino jintuża biex jgħaqqad l-X-NUCLEO-NFC05A1 mal-Raspberry Pi. Huwa meħtieġ li timmodifika l-jumpers tal-bord tal-adapter biex tikkonnettjaha mal-X-NUCLEO-NFC05A1.

Attenzjoni: L-ARPI600 jforni ħażin 5 V lill-pin Arduino IOREF. It-twaħħil dirett tal-X-NUCLEO-NFC05A1 jagħti lura 5 V fuq xi labar, dan jista 'jagħmel ħsara lill-bord Raspberry Pi. Hemm rapporti speċjalment ta 'Raspberry Pi 4B + fil-fatt qed jinqered. Biex tevita din is-sitwazzjoni tadatta jew l-ARPI600 (operazzjoni pjuttost diffiċli) jew l-X-NUCLEO-NFC05A1 (operazzjoni aktar faċli).

L-eħfef tiffissa hija li tnaqqas il-pin CN6.2 (IOREF) fuq l-X-NUCLEO-NFC05A1 kif muri fil-Figura 3.

Il-qtugħ ta 'dan il-pin ma jaffettwax l-operazzjoni flimkien ma' bordijiet Nucleo (NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB, eċċ.).

Figura 3. Twaqqif tal-konnessjoni tal-ħardwer

Figura 3 Fix-konnessjoni tal-ħardwer

Issettjar tal-jumper

Il-jumpers għal A5, A4, A3, A2, A1 u A0 murija fil-Figura 4 għandhom jinbidlu għal P23, P22, P21 u CE1. B'dawn l-issettjar tal-jumpers, il-pin numru 7 tal-GPIO ta 'Raspberry jintuża bħala linja ta' interruzzjoni għal X-NUCLEO-NFC05A1.

Figura 4. Pożizzjoni tal-jumpers A5, A4, A3, A2, A1 u A0 fuq il-bord tal-adapter

Figura 4 Pożizzjoni tal-jumpers

Bħalissa, dan il-port tal-librerija RFAL juża l-pin GPIO7 bħala l-linja tal-interruzzjoni, skont is-settings tal-jumper. Jekk ikun hemm rekwiżit li tinbidel il-linja tal-interruzzjoni minn GPIO7 għal GPIO differenti, il-kodiċi speċifiku tal-pjattaforma (f' file pltf_gpio.h) jeħtieġ li jiġi modifikat biex tinbidel id-definizzjoni tal-makro "ST25R_INT_PIN" minn 7 għall-pin GPIO il-ġdid, biex tintuża bħala linja ta 'interruzzjoni.

Bl-issettjar tal-jumper ta 'hawn fuq, il-bord tal-adapter jista' jintuża biex jgħaqqad X-NUCLEO-NFC05A1 mal-bord Raspberry Pi kif muri fil-Figura 5.

Figura 5. Setup tal-ħardwer fuq view

Figura 5 Setup tal-ħardwer fuq view

Figura 6. In-naħa tas-setup tal-ħardwer view

Figura 6 In-naħa tas-setup tal-ħardwer view

Setup tal-ambjent Linux

Ibbutjar ta 'Raspberry Pi

Biex twaqqaf l-ambjent Linux, l-ewwel pass huwa li tinstalla u tibbotja l-Raspberry Pi 4 b'Raspberry Pi OS kif spjegat hawn taħt:

Pass 1

Niżżel l-aħħar immaġini tar-Raspberry Pi OS mill-link:

Agħżel Raspberry Pi OS mad-desktop. Għat-testijiet hawn taħt intużat il-verżjoni li ġejja: Settembru 2022 (2022-09-22-raspios-bullseye-armhf.img.xz).

Pass 2

Unzip l-immaġni Raspberry Pi u iktebha fil-karta SD billi ssegwi l-istruzzjonijiet disponibbli fit-taqsima bl-isem "Kitba ta 'immaġni għall-karta SD".

Pass 3

Qabbad il-ħardwer:

  • Qabbad il-Raspberry Pi ma' monitor billi tuża kejbil HDMI standard.
  • Qabbad il-maws u t-tastiera mal-portijiet USB ta 'Raspberry Pi.

Huwa wkoll possibbli li taħdem ma 'Raspberry Pi billi tuża ssh. F'dak il-każ mhux meħtieġ li tqabbad il-monitor, it-tastiera u l-maws ma 'Raspberry Pi. L-uniku rekwiżit huwa li jkollok il-PC b'ssh ġewwa l-istess netwerk bħall-Raspberry Pi u kkonfigurat l-indirizz IP kif xieraq.

Pass 4

Ibda l-Raspberry Pi b'karta SD.

Wara l-ibbutjar, fuq il-monitor jidher desktop Linux ibbażat fuq Debian.

Nota: Kultant, huwa osservat li wara l-ibbutjar ta 'Raspberry Pi, xi ċwievet tat-tastiera ma jaħdmux. Biex tagħmilhom jaħdmu, iftaħ il- file /etc/default/keyboard u issettja XKBLAYOUT="us" u reboot-Raspberry Pi.

Ippermetti SPI fuq Raspberry Pi

Is-sewwieq SPI ġewwa l-qalba jikkomunika ma 'X-NUCLEO-NFC05A1 permezz ta' SPI. Huwa importanti li tivverifika jekk SPI hijiex diġà attivata fil-konfigurazzjoni tar-Raspberry Pi OS/kernel.
Iċċekkja jekk /dev/spidev0.0 huwiex viżibbli fl-ambjent Raspberry Pi. Jekk ma tkunx viżibbli, ippermetti l-interface SPI billi tuża l-utilità "raspi-config" billi ssegwi l-passi deskritti hawn taħt.

Pass 1

Iftaħ terminal ġdid fuq ir-Raspberry Pi u mexxi l-kmand "raspi-config" bħala root:

sudo raspi-config

Dan il-pass jiftaħ interface grafiku.

Pass 2

Agħżel fl-interface grafika l-għażla msemmija "Interfacing Options".

Pass 3

Dan il-pass jelenka diversi għażliet.
Agħżel l-għażla msemmija "SPI".
Tieqa ġdida tidher bit-test li ġej:
"Tixtieq li l-interface SPI tkun attivata?"

Pass 4

Agħżel f'din it-tieqa biex tippermetti SPI.

Pass 5

Reboot Raspberry Pi.
Il-passi ta 'hawn fuq se jippermettu l-interface SPI fl-ambjent Raspberry Pi wara reboot.

Ibni tal-librerija u l-applikazzjoni RFAL

Id-demo RFAL tal-Linux hija pprovduta f'arkivju. Ejja nassumu li ismu huwa:
ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz.
Biex tibni l-librerija u l-applikazzjoni RFAL fuq Raspberry Pi, segwi l-passi hawn taħt:

Pass 1

Unzip il-pakkett fuq Raspberry Pi billi tuża l-kmand hawn taħt mid-direttorju tad-dar:

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

Pass 2

Jekk ma jsirx qabel, installa cmake, billi tuża l-kmand hawn taħt:

apt-get install cmake

Il-librerija RFAL u s-sistema tal-bini tal-applikazzjoni hija bbażata fuq cmake, għal din ir-raġuni huwa meħtieġ li tinstalla cmake għall-kumpilazzjoni tal-pakkett.

Pass 3

Biex tibni l-librerija u l-applikazzjoni RFAL, mur fid-direttorju "bini":

cd ST25R3911B_v2.8.0_Linux_demo_v1.0/Linux_demo/build

u mexxi l-kmand hawn taħt minn hemm:

ċmake ..

Fil-kmand ta’ hawn fuq “..” jindika li l-ogħla livell CMakeLists.txt jeżisti fid-direttorju prinċipali, jiġifieri
ST25R3911B_v2.8.0_Linux_demo_v1.0.

Il-kmand cmake joħloq il-makefile li tintuża fil-pass li jmiss biex tinbena l-librerija u l-applikazzjoni.

Pass 4

Mexxi l-kmand "make" biex tibni l-librerija u l-applikazzjoni RFAL:

tagħmel

Il-kmand "make" l-ewwel jibni l-librerija RFAL u mbagħad jibni l-applikazzjoni fuqha.

Kif tmexxi l-applikazzjoni

Akkumulazzjoni b'suċċess tiġġenera eżekutibbli bl-isem "nfc_demo_st25r3911b" fil-post li ġej:
/build/applikazzjonijiet.

B'mod awtomatiku l-applikazzjoni jeħtieġ li titħaddem bi drittijiet ta' l-għeruq mill-mogħdija: ST25R3911B_v2.8.0_Linux_demo_v1.0/linux_demo/build:

sudo ./demo/nfc_demo_st25r3911b

L-applikazzjoni tibda tistħarreġ għal NFC tags u telefowns ċellulari. Hija turi l-apparat misjub bl-UID tagħhom kif muri fil-Figura 7.

Figura 7. Wiri ta' apparat misjub

Figura 7 Wiri ta' apparat misjub

Biex ittemm l-applikazzjoni agħfas Ctrl + C.

Storja tar-reviżjoni

Tabella 1. Storja tar-reviżjoni tad-dokument

Tabella 1 Storja tar-reviżjoni tad-dokument

Lista ta' tabelli

Tabella 1. Storja tar-reviżjoni tad-dokument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Lista ta' figuri

Figura 1. Librerija RFAL fuq pjattaforma Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Figura 2. Arkitettura tas-softwer RFAL fuq Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Figura 3. Twaqqif tal-konnessjoni tal-ħardwer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Figura 4. Pożizzjoni tal-jumpers A5, A4, A3, A2, A1 u A0 fuq il-bord tal-adapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Figura 5. Setup tal-ħardwer fuq view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Figura 6. In-naħa tas-setup tal-ħardwer view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Figura 7. Wiri ta' apparat misjub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

AVVIŻ IMPORTANTI - AQRA B'attenzjoni

STMicroelectronics NV u s-sussidjarji tagħha (“ST”) jirriżervaw id-dritt li jagħmlu bidliet, korrezzjonijiet, titjib, modifiki, u titjib għall-prodotti ST u/jew għal dan id-dokument fi kwalunkwe ħin mingħajr avviż. Ix-xerrejja għandhom jiksbu l-aħħar informazzjoni rilevanti dwar il-prodotti ST qabel ma jagħmlu ordnijiet. Il-prodotti ST jinbiegħu skont it-termini u l-kundizzjonijiet tal-bejgħ ta' ST fis-seħħ fil-ħin tar-rikonoxximent tal-ordni.

Ix-xerrejja huma unikament responsabbli għall-għażla, l-għażla u l-użu tal-prodotti ST u ST ma jassumi l-ebda responsabbiltà għall-assistenza tal-applikazzjoni jew id-disinn tal-prodotti tax-xerrejja.

L-ebda liċenzja, espressa jew impliċita, għal xi dritt ta' proprjetà intellettwali ma tingħata minn ST hawnhekk.

Il-bejgħ mill-ġdid ta' prodotti ST b'dispożizzjonijiet differenti mill-informazzjoni stipulata hawnhekk għandu jħassar kwalunkwe garanzija mogħtija minn ST għal tali prodott.

ST u l-logo ST huma trademarks ta' ST. Għal informazzjoni addizzjonali dwar it-trademarks ST, irreferi għal www.st.com/trademarks. L-ismijiet l-oħra kollha tal-prodott jew tas-servizz huma proprjetà tas-sidien rispettivi tagħhom.

L-informazzjoni f'dan id-dokument tieħu post u tissostitwixxi l-informazzjoni pprovduta qabel fi kwalunkwe verżjoni preċedenti ta' dan id-dokument.

© 2023 STMicroelectronics – Id-drittijiet kollha riżervati

Dokumenti / Riżorsi

Driver Linux STMicroelectronics UM2375 [pdfManwal tal-Utent
UM2375 Linux Driver, UM2375, Linux Driver, Driver

Referenzi

Ħalli kumment

L-indirizz elettroniku tiegħek mhux se jiġi ppubblikat. L-oqsma meħtieġa huma mmarkati *