STMicroelectronics UM2375 Linux Driver User Manual

Logo sa STMicroelectronics

Linux® driver alang sa ST25R3911B ug ST25R3912/14/15 high performance NFC frontends

Pasiuna

Ang driver sa STSW-ST25R009 Linux® makapahimo sa Raspberry Pi 4 sa pag-operate sa X-NUCLEO-NFC05A1, nga naglangkob sa ST25R3911B nga high performance NFC universal device.

Kini nga pakete nag-port sa RF abstraction layer (RFAL) ngadto sa Raspberry Pi 4 Linux nga plataporma aron magamit sa X-NUCLEO-NFC05A1 firmware. Ang package naghatag ingonampAng aplikasyon nga nakit-an ang lainlaing mga lahi sa NFC tags ug mga mobile phone nga nagsuporta sa P2P. Ang RFAL mao ang ST standard driver alang sa ST25R NFC/RFID Reader ICs ST25R3911B, ST25R3912, ST25R3913, ST25R3914 ug ST25R3915. Gigamit kini, pananglitan, sa ST25R3911B-DISCO firmware (STSW-ST25R002) ug sa X-NUCLEONFC05A1 firmware (X-CUBE-NFC5).

Ang STSW-ST25R009 nagsuporta sa tanang ST25R3911B lower-layer protocol ug usab ang pipila ka mas taas nga layer protocols para sa komunikasyon. Ang RFAL gisulat sa usa ka madaladala nga paagi, aron kini makadagan sa usa ka halapad nga mga himan nga gibase sa Linux®. Gihubit niini nga dokumento kung giunsa magamit ang librarya sa RFAL sa usa ka standard nga sistema sa Linux (sa kini nga kaso ang Raspberry Pi 4) alang sa komunikasyon sa NFC/RF. Ang code labi ka madaladala ug nagtrabaho uban ang gagmay nga mga pagbag-o sa bisan unsang platform sa Linux.

Figure 1. RFAL library sa Linux nga plataporma

Figure 1 RFAL library sa Linux nga plataporma

Tapos naview

Mga bahin
  • Kompleto nga Linux user space driver (RF abstraction layer) para magtukod ug NFC enabled applications gamit ang ST25R3911B/ST25R391x high performance NFC frontends nga adunay hangtod sa 1.4 W output power
  • Linux host komunikasyon uban sa ST25R3911B/ST25R391x gamit ang SPI interface
  • Kompleto nga RF/NFC abstraction (RFAL) para sa tanang dagkong teknolohiya ug mas taas nga layer protocol:
    • NFC-A (ISO14443-A)
    • NFC-B (ISO14443-B)
    • NFC-F (FeliCa™)
    • NFC-V (ISO15693)
    • P2P (ISO18092)
    • ISO-DEP (ISO data exchange protocol, ISO14443-4)
    • NFC-DEP (NFC data exchange protocol, ISO18092)
    • Mga proprietary nga teknolohiya (Kovio, B', iClass, Calypso®,…)
  • SampAng pagpatuman magamit sa X-NUCLEO-NFC05A1 expansion board, nga gisaksak sa Raspberry Pi 4
  • SampAng aplikasyon aron makit-an ang daghang NFC tag mga tipo ug mobile phone nga nagsuporta sa P2P
  • Libre nga user-friendly nga mga termino sa lisensya
Arkitektura sa software

Ang Figure 2 nagpakita sa mga detalye sa software architecture sa RFAL library sa usa ka Linux® nga plataporma.

Ang RFAL dali nga madala sa ubang mga plataporma pinaagi sa pagpahiangay sa gitawag nga plataporma files.

Ang ulohan file rfal_platform.h naglangkob sa mga kahulugan sa macro, nga kinahanglan ihatag ug ipatuman sa tag-iya sa plataporma. Dugang pa, naghatag kini og espesipikong mga setting sa plataporma sama sa assignment sa GPIO, mga kapanguhaan sa sistema, mga kandado ug mga IRQ, nga gikinahanglan alang sa hustong operasyon sa RFAL.

Kini nga demonstrasyon nagpatuman sa mga gimbuhaton sa plataporma ug naghatag ug pantalan sa RFAL library ngadto sa user space sa Linux®. Usa ka gipaambit nga librarya file namugna, nga gigamit sa demo nga aplikasyon aron ipakita ang mga gamit nga gihatag sa RFAL layer.

Ang Linux® host naggamit ug sysfs interface nga magamit gikan sa Linux® user space aron mahimo ang komunikasyon sa SPI sa ST25R3911B device. Sa sulod sa Linux® kernel ang SPI sysfs interface naggamit sa Linux® kernel driver spidev sa pagpadala/pagdawat sa SPI frames ngadto/gikan sa ST25R3911B.

Alang sa pagdumala sa interrupt nga linya sa ST25R3911B, ang drayber naggamit sa libgpiod aron mapahibalo sa mga kausaban niini nga linya.

Figure 2. RFAL software architecture sa Linux

Figure 2 RFAL software architecture sa Linux

Pag-setup sa hardware

Gigamit nga plataporma

Ang Raspberry Pi 4 board nga adunay Raspberry Pi OS gigamit isip Linux nga plataporma sa pagtukod sa RFAL library ug makig-uban sa ST25R3911B sa SPI.
Gitugotan sa ST25R3911B ang aplikasyon sa platform sa Linux nga makit-an ug makigkomunikar sa mga aparato sa NFC.

Mga kinahanglanon sa hardware
  • Raspberry Pi 4
  • 8 GBytes micro SD card aron ma-boot ang Raspberry Pi OS
  • SD card reader
  • Bridge board aron makonektar ang X-NUCLEO-NFC05A1 sa Raspberry Pi Arduino Adapter alang sa Raspberry Pi, bahin nga numero ARPI600.
  • X-NUCLEO-NFC05A1. Tan-awa ang pinakabag-o nga kinahanglanon sa Raspberry Pi OS.

Mga koneksyon sa Hardware

Ang ARPI600 Raspberry Pi sa Arduino adapter board gigamit sa pagkonektar sa X-NUCLEO-NFC05A1 sa Raspberry Pi. Gikinahanglan nga usbon ang mga jumper sa adapter board aron makonektar kini sa X-NUCLEO-NFC05A1.

Pagbantay: Ang ARPI600 sayop nga nagsuplay sa 5 V sa Arduino IOREF pin. Direkta nga gilakip ang X-NUCLEO-NFC05A1 nagbalik sa 5 V sa pipila ka mga pin, mahimo’g makadaot kini sa Raspberry Pi board. Adunay mga taho labi na sa Raspberry Pi 4B+ nga aktuwal nga gilaglag. Aron malikayan kini nga sitwasyon ipahiangay ang ARPI600 (usa ka lisud nga operasyon) o ang X-NUCLEO-NFC05A1 (mas sayon ​​nga operasyon).

Ang labing sayon ​​nga ayo mao ang pagputol sa CN6.2 (IOREF) pin sa X-NUCLEO-NFC05A1 sama sa gipakita sa Figure 3.

Ang pagputol niini nga pin dili makaapekto sa operasyon inubanan sa Nucleo boards (NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB, ug uban pa).

Figure 3. Pag-ayo sa koneksyon sa hardware

Figure 3 Pag-ayo sa koneksyon sa hardware

Setting sa jumper

Ang mga jumper para sa A5, A4, A3, A2, A1 ug A0 nga gipakita sa Figure 4 kinahanglang usbon ngadto sa P23, P22, P21 ug CE1. Uban niini nga jumper setting, ang Raspberry's GPIO pin number 7 gigamit isip interrupt line para sa X-NUCLEO-NFC05A1.

Figure 4. Posisyon sa mga jumper A5, A4, A3, A2, A1 ug A0 sa adapter board

Figure 4 Posisyon sa mga jumper

Sa pagkakaron, kining RFAL library port naggamit sa pin GPIO7 isip interrupt line, sumala sa jumper settings. Kung adunay kinahanglanon nga usbon ang interrupt nga linya gikan sa GPIO7 ngadto sa lain nga GPIO, ang espesipikong code sa plataporma (sa file pltf_gpio.h) kinahanglan nga usbon aron usbon ang kahulugan sa macro "ST25R_INT_PIN" gikan sa 7 ngadto sa bag-ong GPIO pin, aron magamit isip interrupt line.

Uban sa mga setting sa jumper sa ibabaw, ang adapter board mahimong magamit sa pagkonektar sa X-NUCLEO-NFC05A1 sa Raspberry Pi board sama sa gipakita sa Figure 5.

Figure 5. Top setup sa hardware view

Figure 5 Top setup sa hardware view

Figure 6. Hardware setup nga bahin view

Figure 6 Hardware setup nga bahin view

Pag-setup sa palibot sa Linux

Pag-boot sa Raspberry Pi

Aron ma-setup ang Linux environment, ang unang lakang mao ang pag-install ug pag-boot sa Raspberry Pi 4 gamit ang Raspberry Pi OS nga gipatin-aw sa ubos:

Lakang 1

I-download ang pinakabag-o nga Raspberry Pi OS nga imahe gikan sa link:

Pilia ang Raspberry Pi OS nga adunay desktop. Alang sa mga pagsulay sa ubos ang mosunod nga bersyon gigamit: Septyembre 2022 (2022-09-22-raspios-bullseye-armhf.img.xz).

Lakang 2

Unzip ang Raspberry Pi nga imahe ug isulat kini sa SD card pinaagi sa pagsunod sa mga instruksyon nga anaa sa seksyon nga ginganlag "Pagsulat og imahe sa SD card".

Lakang 3

Ikonektar ang hardware:

  • Ikonektar ang Raspberry Pi sa usa ka monitor gamit ang standard HDMI cable.
  • Ikonektar ang mouse ug keyboard sa mga USB port sa Raspberry Pi.

Posible usab nga magtrabaho sa Raspberry Pi gamit ang ssh. Niana nga kaso dili kinahanglan nga ikonektar ang monitor, keyboard ug mouse sa Raspberry Pi. Ang bugtong kinahanglanon mao ang pagbaton sa PC nga adunay ssh sulod sa sama nga network sama sa Raspberry Pi ug i-configure ang IP address sumala niana.

Lakang 4

I-boot ang Raspberry Pi gamit ang SD card.

Pagkahuman sa pag-boot, usa ka desktop sa Linux nga nakabase sa Debian ang makita sa monitor.

Mubo nga sulat: Usahay, naobserbahan nga pagkahuman sa pag-boot sa Raspberry Pi, ang pipila nga mga yawe sa keyboard dili molihok. Aron kini molihok, ablihi ang file /etc/default/keyboard ug itakda ang XKBLAYOUT=”us” ug i-reboot ang Raspberry Pi.

I-enable ang SPI sa Raspberry Pi

Ang drayber sa SPI sa sulod sa kernel nakigsulti sa X-NUCLEO-NFC05A1 pinaagi sa SPI. Importante nga susihon kung ang SPI gipalihok na sa Raspberry Pi OS/kernel configuration.
Susiha kon /dev/spidev0.0 makita sa Raspberry Pi palibot. Kung dili kini makita, i-enable ang interface sa SPI gamit ang utility "raspi-config" pinaagi sa pagsunod sa mga lakang nga gihulagway sa ubos.

Lakang 1

Ablihi ang usa ka bag-ong terminal sa Raspberry Pi ug padagana ang command "raspi-config" isip gamut:

sudo raspi-config

Kini nga lakang nagbukas sa usa ka graphical nga interface.

Lakang 2

Pilia sa graphical interface ang opsyon nga ginganlag "Interfacing Options".

Lakang 3

Kini nga lakang naglista sa lainlaing mga kapilian.
Pilia ang kapilian nga ginganlag "SPI".
Usa ka bag-ong bintana makita uban sa mosunod nga teksto:
"Gusto ba nimo nga ma-enable ang interface sa SPI?"

Lakang 4

Pagpili sa kini nga bintana aron mahimo ang SPI.

Lakang 5

I-reboot ang Raspberry Pi.
Ang mga lakang sa ibabaw makapahimo sa interface sa SPI sa palibot sa Raspberry Pi pagkahuman sa pag-reboot.

Pagtukod sa RFAL library ug aplikasyon

Ang RFAL demo sa Linux gihatag sa usa ka archive. Ibutang nato ang ngalan niini:
ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz.
Aron matukod ang RFAL library ug aplikasyon sa Raspberry Pi, sunda ang mga lakang sa ubos:

Lakang 1

Unzip ang package sa Raspberry Pi gamit ang ubos nga command gikan sa home directory:

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

Lakang 2

Kung wala pa nahimo kaniadto, i-install ang cmake, gamit ang ubos nga mando:

apt-get install cmake

Ang librarya sa RFAL ug sistema sa pagtukod sa aplikasyon gibase sa cmake, tungod niini gikinahanglan nga i-install ang cmake alang sa pagtipon sa pakete.

Lakang 3

Aron matukod ang librarya ug aplikasyon sa RFAL, adto sa direktoryo nga "pagtukod":

cd ST25R3911B_v2.8.0_Linux_demo_v1.0/Linux_demo/build

ug pagdagan ang ubos nga mando gikan didto:

cmake..

Sa ibabaw nga sugo ".." nagpakita nga ang top level CMakeLists.txt anaa sa parent directory, ie
ST25R3911B_v2.8.0_Linux_demo_v1.0.

Ang command sa cmake nagmugna sa paghimofile nga gigamit sa sunod nga lakang sa pagtukod sa librarya ug aplikasyon.

Lakang 4

Pagdalagan ang "paghimo" nga sugo sa pagtukod sa RFAL library ug aplikasyon:

paghimo

Ang "paghimo" nga sugo una nagtukod sa RFAL library ug dayon nagtukod sa aplikasyon sa ibabaw niini.

Giunsa pagpadagan ang aplikasyon

Ang malampuson nga pagtukod makahimo og usa ka executable nga ginganlan og "nfc_demo_st25r3911b" sa mosunod nga lokasyon:
/build/applications.

Sa kasagaran ang aplikasyon kinahanglan nga ipadagan sa mga katungod sa gamut gikan sa dalan: ST25R3911B_v2.8.0_Linux_demo_v1.0/linux_demo/build:

sudo ./demo/nfc_demo_st25r3911b

Ang aplikasyon nagsugod sa poll alang sa NFC tags ug mga mobile phone. Gipakita niini ang nakit-an nga mga aparato sa ilang UID sama sa gipakita sa Figure 7.

Figure 7. Pagpakita sa nakit-an nga mga himan

Figure 7 Pagpakita sa nakit-an nga mga aparato

Aron tapuson ang aplikasyon, pindota ang Ctrl + C.

Kasaysayan sa rebisyon

Talaan 1. Kasaysayan sa pagbag-o sa dokumento

Talaan 1 Kasaysayan sa pagbag-o sa dokumento

Listahan sa mga lamesa

Talaan 1. Kasaysayan sa pagbag-o sa dokumento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Listahan sa mga numero

Figure 1. RFAL library sa Linux nga plataporma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Figure 2. RFAL software architecture sa Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Figure 3. Pag-ayo sa koneksyon sa hardware. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Figure 4. Posisyon sa mga jumper A5, A4, A3, A2, A1 ug A0 sa adapter board. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Figure 5. Top setup sa hardware view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Figure 6. Hardware setup nga bahin view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Figure 7. Pagpakita sa nakit-an nga mga himan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

IMPORTANTE NGA PAHIBALO – BASAHA NGA MAAYO

Ang STMicroelectronics NV ug ang mga subsidiary niini ("ST") nagreserba sa katungod sa paghimo og mga pagbag-o, pagkorihir, pagpauswag, pagbag-o, ug pagpaayo sa mga produkto sa ST ug/o niini nga dokumento bisan unsang orasa nga wala’y pahibalo. Ang mga pumapalit kinahanglan nga makakuha sa pinakabag-o nga may kalabutan nga impormasyon sa mga produkto sa ST sa dili pa magbutang og mga order. Ang mga produkto sa ST gibaligya subay sa mga termino ug kondisyon sa pagbaligya sa ST sa panahon sa pag-ila sa order.

Ang mga pumapalit mao ray responsable sa pagpili, pagpili, ug paggamit sa mga produkto sa ST ug walay tulubagon ang ST alang sa tabang sa aplikasyon o sa disenyo sa mga produkto sa mga pumapalit.

Walay lisensya, gipahayag o gipasabot, sa bisan unsang katungod sa intelektwal nga kabtangan ang gihatag sa ST dinhi.

Ang pagbaligya pag-usab sa mga produkto sa ST nga adunay mga probisyon nga lahi sa impormasyon nga gilatid dinhi magwagtang sa bisan unsang warranty nga gihatag sa ST alang sa maong produkto.

Ang ST ug ang ST logo kay mga marka sa ST. Para sa dugang nga impormasyon bahin sa ST trademarks, tan-awa ang www.st.com/trademarks. Ang tanan nga ubang mga ngalan sa produkto o serbisyo gipanag-iya sa ilang tag-iya.

Ang impormasyon niini nga dokumento mopuli ug mopuli sa impormasyon nga gihatag kaniadto sa bisan unsang naunang bersyon niini nga dokumento.

© 2023 STMicroelectronics – Tanang katungod gigahin

Mga Dokumento / Mga Kapanguhaan

STMicroelectronics UM2375 Linux Driver [pdf] Manwal sa Gumagamit
UM2375 Linux Driver, UM2375, Linux Driver, Driver

Mga pakisayran

Pagbilin ug komento

Ang imong email address dili mamantala. Ang gikinahanglan nga mga natad gimarkahan *