Logo STMicroelectronicsDriver Linux UM2548
Linux
® sewwieq għal ST25R3916/ST25R3916B
Manwal għall-Utent

Driver Linux UM2548

Introduzzjoni
STSW-ST25R013 Is-sewwieq Linux® jippermetti lir-Raspberry Pi® 4 jaħdem mal-bordijiet X-NUCLEO-NFCO6A1 u X-NUCLEO-NFCO8A1, li fihom, rispettivament, l-apparati ST25R3916 u ST25R3916B.
Dan il-pakkett itrasferixxi s-saff ta' astrazzjoni RF (RFAL) fuq pjattaforma Raspberry Pi 4 Linux, biex jopera mal-firmware tal-bord, u 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 ST25R3916 u ST25R3916B, tagħmir universali NFC ta 'prestazzjoni għolja / qarrejja EMVCo. Jintuża, pereżempju, mill-firmware ST25R3916-DISCO (STSW-ST25R010) u mill-firmware X-NUCLEO-NFCO06A1 (X-CUBE-NFC6).
STSW-ST25R013 jappoġġja l-ST25R3916/ST25R3916B kollha ta 'saff t'isfel u 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.

STMicroelectronics UM2548 Linux Driver - Pjattaforma Linux

Fuqview

1.1 Karatteristiċi

  • Imla sewwieq tal-ispazju tal-utent tal-Linux (saff ta' astrazzjoni RF) biex jibni applikazzjonijiet ppermettiet NFC bl-użu tal-apparat ST25R3916 u ST25R3916B
  • Komunikazzjoni ospitanti Linux mal-ST25R3916/ST25R3916B 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' data ISO, ISO14443-4)
    – NFC-DEP (protokoll ta' skambju ta' data NFC, ISO18092)
    – Teknoloġiji proprjetarji, bħal Kovio, B', iClass, Calypso®
  • Sampl-implimentazzjoni disponibbli mal-bordijiet ta 'espansjoni X-NUCLEO-NFC06A1 u X-NUCLEO-NFC08A1, imqabbda 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

1.2 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 għandhom jiġu pprovduti u implimentati mis-sid tal-pjattaforma.
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 tar-RFAL fl-ispazju tal-utent tal-Linux.
Librerija kondiviża file hija ġġenerata, li tintuża minn applikazzjoni dimostrattiva biex turi l-funzjonalitajiet ipprovduti mis-saff RFAL.
Linux host juża sysfs interface disponibbli mill-ispazju tal-utent Linux biex twettaq komunikazzjoni SPI mal-apparati. Ġewwa l-kernel tal-Linux l-interface SPI sysfs juża spidev tas-sewwieq tal-kernel tal-Linux biex jibgħat/jirċievi l-frejms SPI lejn/minn l-apparati.
Għall-immaniġġjar tal-linja INT tal-apparati ST25R3916 u ST25R3916B, is-sewwieq juża l-libpiod sysfs biex jiġi notifikat dwar bidliet f'din il-linja.

STMicroelectronics UM2548 Linux Driver - arkitettura tas-softwer

Setup tal-ħardwer

2.1 Pjattaforma użata
Bord Raspberry Pi 4 b'Raspberry Pi OS jintuża bħala pjattaforma Linux biex tinbena l-librerija RFAL u jinteraġixxi mal-ST25R3916/ST25R3916B fuq SPI.
L-apparati jippermettu applikazzjoni fuq pjattaforma Linux biex tiskopri u tikkomunika ma 'apparat NFC.

2.2 Rekwiżiti tal-ħardwer

  • Lampun Pi 4
  • Kard mikro SD ta' 8 GB biex tibda Raspberry Pi OS (bl-aħħar rekwiżiti tagħha)
  • SD card reader
  • Bordijiet X-NUCLEO-NFC06A1 jew X-NUCLEO-NFC08A1
  • Pont biex tgħaqqad il-bord mal-adapter Raspberry Pi Arduino™ għal Raspberry Pi (numru tal-parti ARPI600)

2.2.1 Konnessjonijiet tal-ħardwer
L-adapter ARPI600 Raspberry Pi għal Arduino jintuża biex jgħaqqad il-bordijiet mal-Raspberry Pi. Il-jumpers tal-bord tal-adapter għandhom jiġu modifikati biex jgħaqqduha mal-bordijiet X-NUCLEO-NFC06A1 jew X-NUCLEO-NFC08A1.
Attenzjoni:
L-ARPI600 jforni ħażin 5 V lill-pin Arduino IOREF. It-twaħħil dirett tal-bordijiet jagħti lura 5 V fuq xi labar, dan jista 'jagħmel ħsara lill-bord Raspberry Pi. Hemm rapporti ta 'bordijiet meqruda (speċjalment Raspberry Pi 4B+).
Biex tevita dan, adatta l-ARPI600 (operazzjoni pjuttost diffiċli), jew il-bord X-NUCLEO-NFC06A1/X-NUCLEONFC08A1 (aktar faċli).
L-eħfef tiffissa hija li tnaqqas il-pin CN6.2 (IOREF) fuq il-bordijiet X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1, kif muri fil-Figura 3.
Il-qtugħ ta 'dan il-pin ma jaffettwax l-operazzjoni flimkien ma' bordijiet Nucleo (bħal NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB).

STMicroelectronics UM2548 Linux Driver - Konnessjoni tal-ħardwer

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

STMicroelectronics UM2548 Linux Driver - bord tal-adapter

Bħalissa, dan il-port tal-librerija RFAL juża l-pin GPIO7 bħala l-linja tal-interruzzjoni (skond 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) għandhom jiġu modifikati biex tinbidel id-definizzjoni tal-makro ST25R_INT_PIN minn 7 għall-pin GPIO ġdid, biex jintuża bħala linja ta 'interruzzjoni.
Bl-issettjar tal-jumper ta 'hawn fuq, il-bord tal-adapter jista' jintuża biex jgħaqqad l-X-NUCLEO NFC06A1 u X-NUCLEO-NFC08A1 mal-bord Raspberry Pi, kif muri fil-figuri li ġejjin.

Driver Linux STMicroelectronics UM2548 - Setup tal-ħardwer

Setup tal-ambjent Linux

3.1 Booting Raspberry Pi
Biex issettja l-ambjent Linux, l-ewwel installa u ibda r-Raspberry Pi b'Raspberry Pi OS, kif spjegat hawn taħt:
Pass 1
Niżżel l-aħħar immaġini tar-Raspberry Pi OS minn https://www.raspberrypi.com, imbagħad agħżel Raspberry Pi OS mad-desktop. Għat-testijiet hawn taħt intużat il-verżjoni 2022-09-22-raspios-bullseye-armhf.img.xz (Settembru 2022).
Pass 2
Unzip l-immaġni tal-Raspberry Pi OS u iktebha fuq il-karta SD billi ssegwi l-istruzzjonijiet disponibbli fit-taqsima msemmija "Kitba ta 'immaġni fuq il-karta SD".
Pass 3
Qabbad il-ħardwer:

  • Qabbad il-Raspberry Pi 4 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'dan il-każ. mhuwiex meħtieġ li jgħaqqad 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 4 b'karta SD. Wara l-ibbutjar, fuq il-monitor jidher desktop Linux ibbażat fuq Debian.
Nota:
Xi drabi, wara l-ibbutjar ta 'Raspberry Pi OS, 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.
3.2 Ippermetti SPI fuq Raspberry Pi
Is-sewwieq SPI ġewwa l-qalba jikkomunika mal-bordijiet X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 permezz ta 'SPI. Huwa importanti li tivverifika jekk SPI hijiex diġà attivata fil-konfigurazzjoni tal-qalba ta 'Raspbian Pi OS.
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 għerq: 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 librerija u applikazzjoni RFAL

Id-dimostrazzjoni RFAL tal-Linux hija pprovduta f'arkivju, bħal ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz.
Biex tibni l-librerija u l-applikazzjoni RFAL fuq Raspberry Pi, agħmel il-passi li ġejjin:
Pass 1
Unzip il-pakkett fuq Raspberry Pi billi tuża l-kmand li ġej mid-direttorju tad-dar
tar -xJvf ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz
Pass 2
Installa cmake (jekk ma jsirx qabel) billi tuża l-kmand
apt-get install cmake
Il-librerija RFAL u s-sistema tal-bini tal-applikazzjoni huma bbażati fuq cmake, għal din ir-raġuni huwa meħtieġ li tinstalla cmake biex tiġbor il-pakkett.
Pass 3
Biex tibni l-librerija u l-applikazzjoni RFAL, mur fid-direttorju tal-bini
cd ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build
Minn hemm, mexxi l-kmand
ċmake ..
Fil-kmand ta’ hawn fuq “..” jindika li l-ogħla livell CMakeLists.txt jeżisti fid-direttorju ġenitur
(ST25R3916_v2.8.0_Linux_demo_v1.0).
Dan il-kmand joħloq l-għamlafile użat fil-pass li jmiss biex tinbena l-librerija u l-applikazzjoni. Minn hemm, mexxi l-kmand li ġej biex tibni d-dimostrazzjoni għal ST25R3916B
cmake -DRFAL_VARIANT=st25r3916b ..
Pass 4
Mexxi l-kmand make biex tibni l-librerija u l-applikazzjoni RFAL:
tagħmel
Dan il-kmand l-ewwel jibni l-librerija RFAL, u mbagħad l-applikazzjoni fuqha.

Kif tmexxi l-applikazzjoni

Akkumulazzjoni b'suċċess tiġġenera eżekutibbli bl-isem "nfc_poller_st25r3916" jew "nfc_poller_st25r3916b" fil-post /build/demo.
B'mod awtomatiku, l-applikazzjoni trid titħaddem bi drittijiet ta' l-għeruq mill-mogħdija ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build/demo/:
sudo ./nfc_demo_st25r3916
L-applikazzjoni tibda tistħarreġ għal NFC tags u telefowns ċellulari, imbagħad juri l-apparat misjub bl-UID tagħhom, kif muri fil-Figura 7.

Driver Linux STMicroelectronics UM2548 - apparat misjub

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

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

Data Reviżjoni Bidliet
1-Mar-19 1 Rilaxx inizjali.
4-Apr-23 2 Titlu tad-dokument aġġornat, Taqsima Introduzzjoni, Taqsima 1.1 Karatteristiċi,
Taqsima 1.2 Arkitettura tas-softwer, Taqsima 2.1 Pjattaforma użata, Taqsima 2.2 Hardware
rekwiżiti, Taqsima 2.2.1 Konnessjonijiet tal-ħardwer, Taqsima 3.1 Booting Raspberry Pi,
Taqsima 3.2 Ippermetti SPI fuq Raspberry Pi, Taqsima 4 Ibni librerija u applikazzjoni RFAL,
u Taqsima 5 Kif tħaddem l-applikazzjoni.
Figura Aġġornata 1. Librerija RFAL fuq pjattaforma Linux, Figura 2. Arkitettura tas-softwer RFAL
fuq Linux, u Figura 5. Setup tal-ħardwer fuq view.
Modifiki minuri tat-test fid-dokument kollu.

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

UM2548 – Rev 2

Dokumenti / Riżorsi

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

Referenzi

Ħalli kumment

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