Logo sa STMicroelectronicsUM2548 Linux Driver
Linux
® drayber alang sa ST25R3916/ST25R3916B
Manwal sa Gumagamit

UM2548 Linux Driver

Pasiuna
STSW-ST25R013 Ang driver sa Linux® nagtugot sa Raspberry Pi® 4 sa pag-operate sa X-NUCLEO-NFCO6A1 ug X-NUCLEO-NFCO8A1 nga mga tabla, nga adunay sulod, matag usa, sa ST25R3916 ug ST25R3916B nga mga himan.
Kini nga pakete nag-port sa RF abstraction layer (RFAL) ngadto sa Raspberry Pi 4 Linux nga plataporma, aron magamit sa board firmware, ug naghatag ingon ngaampAng 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 ST25R3916 ug ST25R3916B, taas nga performance NFC universal devices / EMVCo readers. Gigamit kini, pananglitan, sa ST25R3916-DISCO firmware (STSW-ST25R010) ug sa X-NUCLEO-NFCO06A1 firmware (X-CUBE-NFC6).
STSW-ST25R013 nagsuporta sa tanan nga ST25R3916/ST25R3916B lower-layer ug pipila ka mas taas nga layer protocols alang 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.

STMicroelectronics UM2548 Linux Driver - Linux nga plataporma

Tapos naview

1.1 Mga bahin

  • Kumpleto ang Linux user space driver (RF abstraction layer) aron makahimo og NFC nga mga aplikasyon gamit ang ST25R3916 ug ST25R3916B device
  • Linux host komunikasyon uban sa ST25R3916/ST25R3916B 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, sama sa Kovio, B', iClass, Calypso®
  • SampAng pagpatuman magamit sa X-NUCLEO-NFC06A1 ug X-NUCLEO-NFC08A1 expansion boards, 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

1.2 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 Ang rfal_platform.h adunay mga macro definition, nga ihatag ug ipatuman sa tag-iya sa plataporma.
Naghatag kini og piho nga mga setting sa plataporma sama sa assignment sa GPIO, mga kapanguhaan sa sistema, mga kandado ug mga IRQ, nga gikinahanglan alang sa husto nga operasyon sa RFAL.
Kini nga demonstrasyon nagpatuman sa mga gimbuhaton sa plataporma ug naghatag ug pantalan sa RFAL ngadto sa user space sa Linux.
Usa ka gipaambit nga librarya file namugna, nga gigamit sa usa ka demonstrative nga aplikasyon aron ipakita ang mga gamit nga gihatag sa RFAL layer.
Ang Linux host naggamit sa sysfs interface nga magamit gikan sa Linux user space para sa paghimo sa SPI nga komunikasyon sa mga device. Sulod sa Linux kernel ang SPI sysfs interface naggamit sa Linux kernel driver spidev aron ipadala/dawat ang SPI frames ngadto/gikan sa mga device.
Alang sa pagdumala sa linya sa INT sa ST25R3916 ug ST25R3916B nga mga aparato, gigamit sa drayber ang libpiod sysfs aron mapahibalo ang mga pagbag-o sa kini nga linya.

STMicroelectronics UM2548 Linux Driver - software nga arkitektura

Pag-setup sa hardware

2.1 Platform nga gigamit
Ang Raspberry Pi 4 board nga adunay Raspberry Pi OS gigamit isip Linux platform sa pagtukod sa RFAL library ug makig-interact sa ST25R3916/ST25R3916B sa SPI.
Gitugotan sa mga aparato ang usa ka aplikasyon sa platform sa Linux nga makit-an ug makigsulti sa mga aparato sa NFC.

2.2 Mga kinahanglanon sa hardware

  • Raspberry Pi 4
  • 8 GB micro SD card aron ma-boot ang Raspberry Pi OS (uban ang pinakabag-o nga mga kinahanglanon)
  • SD card reader
  • X-NUCLEO-NFC06A1 o X-NUCLEO-NFC08A1 nga mga tabla
  • Bridge aron makonektar ang board gamit ang Raspberry Pi Arduino™ adapter para sa Raspberry Pi (part number ARPI600)

2.2.1 Mga koneksyon sa hardware
Ang ARPI600 Raspberry Pi ngadto sa Arduino adapter gigamit sa pagkonektar sa mga tabla sa Raspberry Pi. Ang mga jumper sa adapter board kinahanglang usbon aron makonektar kini sa X-NUCLEO-NFC06A1 o X-NUCLEO-NFC08A1 boards.
Pagbantay:
Ang ARPI600 sayop nga nagsuplay sa 5 V sa Arduino IOREF pin. Direkta nga paglakip sa mga tabla nagbalik sa 5 V sa pipila ka mga pin, kini makadaot sa Raspberry Pi board. Adunay mga taho sa naguba nga mga tabla (ilabi na ang Raspberry Pi 4B+).
Aron malikayan kini, ipahiangay ang ARPI600 (usa ka lisud nga operasyon), o ang X-NUCLEO-NFC06A1/X-NUCLEONFC08A1 board (mas sayon).
Ang pinakasayon ​​nga ayo mao ang pagputol sa CN6.2 (IOREF) pin sa X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 nga mga tabla, sama sa gipakita sa Figure 3.
Ang pagputol niini nga pin dili makaapekto sa operasyon inubanan sa Nucleo boards (sama sa NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB).

STMicroelectronics UM2548 Linux Driver - 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, matag usa, ngadto sa P25, P24, P23, P22, P21 ug CE1. Uban niini nga setting ang Raspberry's GPIO pin number 7 gigamit isip interrupt line para sa X-NUCLEONFC06A1/X-NUCLEO-NFC08A1.

STMicroelectronics UM2548 Linux Driver - adapter board

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) kinahanglang usbon aron mausab ang depinisyon sa macro ST25R_INT_PIN gikan sa 7 ngadto sa bag-ong GPIO pin, aron gamiton isip interrupt line.
Uban sa mga setting sa jumper sa ibabaw, ang adapter board mahimong gamiton sa pagkonektar sa X-NUCLEO NFC06A1 ug X-NUCLEO-NFC08A1 uban sa Raspberry Pi board, sama sa gipakita sa mosunod nga mga numero.

STMicroelectronics UM2548 Linux Driver - Pag-setup sa hardware

Pag-setup sa palibot sa Linux

3.1 Pag-boot sa Raspberry Pi
Aron ma-setup ang Linux environment, i-install una ug i-boot ang Raspberry Pi gamit ang Raspberry Pi OS, ingon sa gipatin-aw sa ubos:
Lakang 1
I-download ang pinakabag-o nga Raspberry Pi OS nga imahe gikan sa https://www.raspberrypi.com, unya pilia ang Raspberry Pi OS nga adunay desktop. Alang sa mga pagsulay sa ubos ang bersyon 2022-09-22-raspios-bullseye-armhf.img.xz (Septiyembre 2022) gigamit.
Lakang 2
Unzip ang imahe sa Raspberry Pi OS ug isulat kini sa SD card pinaagi sa pagsunod sa mga panudlo nga magamit sa seksyon nga ginganlag "Pagsulat og imahe sa SD card".
Lakang 3
Ikonektar ang hardware:

  • Ikonektar ang Raspberry Pi 4 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. Niini 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 4 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, pagkahuman sa pag-boot sa Raspberry Pi OS, 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.
3.2 I-enable ang SPI sa Raspberry Pi
Ang drayber sa SPI sa sulod sa kernel nakigsulti sa X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 nga mga tabla pinaagi sa SPI. Importante nga susihon kung ang SPI gipalihok na sa Raspbian 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.

Paghimo RFAL librarya ug aplikasyon

Ang RFAL demonstration sa Linux gihatag sa usa ka archive, sama sa ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz.
Aron matukod ang librarya ug aplikasyon sa RFAL sa Raspberry Pi, pag-agi sa mosunod nga mga lakang:
Lakang 1
Unzip ang package sa Raspberry Pi gamit ang mosunod nga command gikan sa home directory
tar -xJvf ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz
Lakang 2
I-install ang cmake (kung wala pa nahuman) gamit ang command
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 aron ma-compile ang package.
Lakang 3
Aron matukod ang librarya ug aplikasyon sa RFAL, adto sa direktoryo sa pagtukod
cd ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build
Gikan didto, pagdagan ang mando
cmake..
Sa ibabaw nga sugo ".." nagpakita nga ang top level CMakeLists.txt anaa sa parent directory
(ST25R3916_v2.8.0_Linux_demo_v1.0).
Kini nga sugo nagmugna sa paghimofile gigamit sa sunod nga lakang sa pagtukod sa librarya ug aplikasyon. Gikan didto, padagana ang mosunod nga sugo sa paghimo sa demonstrasyon alang sa ST25R3916B
cmake -DRFAL_VARIANT=st25r3916b ..
Lakang 4
Pagdalagan ang make command aron matukod ang RFAL library ug aplikasyon:
paghimo
Kini nga sugo unang nagtukod sa RFAL librarya, ug unya ang aplikasyon sa ibabaw niini.

Giunsa pagpadagan ang aplikasyon

Ang usa ka malampuson nga pagtukod makamugna og usa ka executable nga ginganlan og "nfc_poller_st25r3916" o "nfc_poller_st25r3916b" sa lokasyon /build/demo.
Sa kasagaran, ang aplikasyon kinahanglang ipadagan uban ang mga katungod sa gamut gikan sa dalan ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build/demo/:
sudo ./nfc_demo_st25r3916
Ang aplikasyon nagsugod sa poll alang sa NFC tags ug mga mobile phone, dayon ipakita ang nakit-an nga mga aparato gamit ang ilang UID, sama sa gipakita sa Figure 7.

STMicroelectronics UM2548 Linux Driver - nakit-an nga mga aparato

Aron tapuson ang aplikasyon, pindota ang Ctrl + C.

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

Petsa Rebisyon Mga kausaban
1-Mar-19 1 Inisyal nga pagpagawas.
4-Abr-23 2 Gi-update nga titulo sa dokumento, Seksyon Pasiuna, Seksyon 1.1 Mga Feature,
Seksyon 1.2 Arkitektura sa software, Seksyon 2.1 Platform nga gigamit, Seksyon 2.2 Hardware
mga kinahanglanon, Seksyon 2.2.1 Mga koneksyon sa hardware, Seksyon 3.1 Pag-boot sa Raspberry Pi,
Seksyon 3.2 I-enable ang SPI sa Raspberry Pi, Seksyon 4 Pagtukod ug RFAL library ug aplikasyon,
ug Seksyon 5 Giunsa pagpadagan ang aplikasyon.
Gi-update nga Figure 1. RFAL library sa Linux platform, Figure 2. RFAL software architecture
sa Linux, ug Figure 5. Top setup sa hardware view.
Gamay nga mga pag-edit sa teksto sa tibuuk nga dokumento.

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

UM2548 – Pin 2

Mga Dokumento / Mga Kapanguhaan

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

Mga pakisayran

Pagbilin ug komento

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