
STMicroelectronics UM2375 Linux Driver User Afowoyi

Awakọ Linux® fun ST25R3911B ati ST25R3912/14/15 iṣẹ giga NFC iwaju
Ọrọ Iṣaaju
Awakọ STSW-ST25R009 Linux® ngbanilaaye Rasipibẹri Pi 4 lati ṣiṣẹ pẹlu X-NUCLEO-NFC05A1, eyiti o ni ST25R3911B iṣẹ ṣiṣe giga NFC ẹrọ agbaye.
Paapọ yii gbe oju omi RF abstraction Layer (RFAL) sori pẹpẹ Rasipibẹri Pi 4 Linux lati ṣiṣẹ pẹlu famuwia X-NUCLEO-NFC05A1. Awọn package pese biample ohun elo wiwa yatọ si orisi ti NFC tags ati awọn foonu alagbeka ti n ṣe atilẹyin P2P. RFAL naa jẹ awakọ boṣewa ST fun ST25R NFC/RFID Reader ICs ST25R3911B, ST25R3912, ST25R3913, ST25R3914 ati ST25R3915. O jẹ lilo, fun apẹẹrẹ, nipasẹ famuwia ST25R3911B-DISCO (STSW-ST25R002) ati nipasẹ famuwia X-NUCLEONFC05A1 (X-CUBE-NFC5).
STSW-ST25R009 ṣe atilẹyin gbogbo awọn ilana ST25R3911B kekere-Layer ati tun diẹ ninu awọn ilana Layer ti o ga julọ fun ibaraẹnisọrọ. A kọ RFAL ni ọna gbigbe, nitorina o le ṣiṣẹ lori ọpọlọpọ awọn ẹrọ ti o da lori Linux®. Iwe yii ṣe apejuwe bi ile-ikawe RFAL ṣe le ṣee lo lori eto Linux boṣewa (ninu ọran yii Rasipibẹri Pi 4) fun ibaraẹnisọrọ NFC/RF. Awọn koodu ti wa ni gíga šee ati ki o ṣiṣẹ pẹlu kekere ayipada lori eyikeyi Linux Syeed.
olusin 1. RFAL ìkàwé on Linux Syeed

Pariview
Awọn ẹya ara ẹrọ
- Iwakọ aaye olumulo Linux pipe (Layer abstraction RF) lati kọ awọn ohun elo ṣiṣẹ NFC ni lilo ST25R3911B/ST25R391x iṣẹ ṣiṣe giga NFC iwaju pẹlu agbara iṣelọpọ 1.4 W
- Ibaraẹnisọrọ alejo gbigba Linux pẹlu ST25R3911B/ST25R391x ni lilo wiwo SPI
- Pari RF/NFC abstraction (RFAL) fun gbogbo awọn imọ-ẹrọ pataki ati awọn ilana Layer ti o ga julọ:
- NFC-A (ISO14443-A)
- NFC-B (ISO14443-B)
- NFC-F (FeliCa™)
- NFC-V (ISO15693)
- P2P (ISO18092)
- ISO-DEP (ISO data paṣipaarọ Ilana, ISO14443-4)
- NFC-DEP (NFC data paṣipaarọ Ilana, ISO18092)
- Awọn imọ-ẹrọ ohun-ini (Kovio, B', iClass, Calypso®,…)
- Sampimuse le wa pẹlu igbimọ imugboroja X-NUCLEO-NFC05A1, ti o ṣafọ sinu Rasipibẹri Pi 4
- Sample ohun elo lati ri orisirisi NFC tag awọn oriṣi ati awọn foonu alagbeka ti n ṣe atilẹyin P2P
- Awọn ofin iwe-aṣẹ olumulo ore-ọfẹ
Software faaji
Nọmba 2 ṣe afihan awọn alaye faaji sọfitiwia ti ile-ikawe RFAL lori pẹpẹ Linux® kan.
RFAL jẹ irọrun gbe lọ si awọn iru ẹrọ miiran nipa mimubadọgba ohun ti a pe ni pẹpẹ files.
Akọsori file rfal_platform.h ni awọn asọye Makiro, eyiti o nilo lati pese ati imuse nipasẹ oniwun pẹpẹ. Pẹlupẹlu, o pese awọn eto pato iru ẹrọ bii iṣẹ iyansilẹ GPIO, awọn orisun eto, awọn titiipa ati awọn IRQ, eyiti o nilo fun ṣiṣe deede ti RFAL.
Ifihan yii n ṣe awọn iṣẹ pẹpẹ ati pese ibudo ti ile-ikawe RFAL sinu aaye olumulo ti Linux®. A pín ìkàwé file ti ipilẹṣẹ, eyiti o jẹ lilo nipasẹ ohun elo demo lati ṣe afihan awọn iṣẹ ṣiṣe ti a pese nipasẹ Layer RFAL.
Alejo Linux® nlo wiwo sysfs ti o wa lati aaye olumulo Linux® lati mu ibaraẹnisọrọ SPI ṣiṣẹ pẹlu ẹrọ ST25R3911B. Ninu ekuro Linux® ni wiwo SPI sysfs nlo Linux® ekuro awakọ spidev lati firanṣẹ/gba awọn fireemu SPI si/lati ST25R3911B.
Fun mimu laini idalọwọduro ti ST25R3911B mu, awakọ naa nlo libgpiod lati gba iwifunni ti awọn ayipada lori laini yii.
olusin 2. RFAL software faaji on Linux

Hardware setup
Platform ti a lo
Igbimọ Rasipibẹri Pi 4 pẹlu Rasipibẹri Pi OS ni a lo bi pẹpẹ Linux lati kọ ile-ikawe RFAL ati ṣe ajọṣepọ pẹlu ST25R3911B lori SPI.
ST25R3911B ngbanilaaye ohun elo lori pẹpẹ Linux lati ṣawari ati ibasọrọ pẹlu awọn ẹrọ NFC.
Hardware ibeere
- Rasipibẹri Pi 4
- 8 GBytes bulọọgi SD kaadi lati bata Rasipibẹri Pi OS
- SD oluka kaadi
- Board Bridge lati so X-NUCLEO-NFC05A1 pẹlu Rasipibẹri Pi Arduino Adapter fun Rasipibẹri Pi, apakan nọmba ARPI600.
- X-NUCLEO-NFC05A1. Tọkasi awọn ibeere Rasipibẹri Pi OS tuntun.
Awọn isopọ ohun elo
ARPI600 Rasipibẹri Pi si igbimọ ohun ti nmu badọgba Arduino ni a lo lati so X-NUCLEO-NFC05A1 pọ pẹlu Rasipibẹri Pi. O nilo lati yipada awọn jumpers ti igbimọ ohun ti nmu badọgba lati so pọ pẹlu X-NUCLEO-NFC05A1.
Iṣọra: ARPI600 ti ko tọ pese 5 V si pin Arduino IOREF. Titọ taara awọn ifunni X-NUCLEO-NFC05A1 pada 5 V lori diẹ ninu awọn pinni, eyi le ba ọkọ Rasipibẹri Pi jẹ. Awọn ijabọ wa ni pataki ti Rasipibẹri Pi 4B+ ti run gangan. Lati yago fun ipo yii badọgba boya ARPI600 (isẹ ti o nira kuku) tabi X-NUCLEO-NFC05A1 (iṣẹ irọrun).
Atunṣe to rọọrun ni lati ge pinni CN6.2 (IOREF) lori X-NUCLEO-NFC05A1 bi o ṣe han ni Nọmba 3.
Gige pinni yii ko ni ipa lori iṣẹ ni apapo pẹlu awọn igbimọ Nucleo (NUCLEO-L474RG, NUCLEO-F401RE, NUCLO-8S208RB, bbl).
olusin 3. Hardware asopọ fix

Eto Jumper
Awọn jumpers fun A5, A4, A3, A2, A1 ati A0 ti o han ni Figure 4 ni lati yipada si P23, P22, P21 ati CE1. Pẹlu eto jumper wọnyi, nọmba pin GPIO Rasipibẹri 7 ni a lo bi laini idalọwọduro fun X-NUCLEO-NFC05A1.
Nọmba 4. Ipo awọn jumpers A5, A4, A3, A2, A1 ati A0 lori igbimọ ohun ti nmu badọgba.

Lọwọlọwọ, ibudo ikawe RFAL yii nlo GPIO7 pin bi laini idalọwọduro, ni ibamu si awọn eto jumper. Ti ibeere ba wa lati yi laini idalọwọduro pada lati GPIO7 si GPIO ti o yatọ, koodu kan pato Syeed (ninu file pltf_gpio.h) nilo lati yipada lati yi itumọ macro “ST25R_INT_PIN” pada lati 7 si pin GPIO tuntun, lati lo bi laini idalọwọduro.
Pẹlu awọn eto jumper ti o wa loke, igbimọ ohun ti nmu badọgba le ṣee lo lati so X-NUCLEO-NFC05A1 pọ pẹlu igbimọ Rasipibẹri Pi bi o ṣe han ni Nọmba 5.
olusin 5. Hardware setup oke view

olusin 6. Hardware setup ẹgbẹ view

Linux ayika setup
Booting ti rasipibẹri Pi
Lati ṣeto agbegbe Linux, igbesẹ akọkọ ni lati fi sori ẹrọ ati bata Rasipibẹri Pi 4 pẹlu Rasipibẹri Pi OS bi a ti salaye ni isalẹ:
Igbesẹ 1
Ṣe igbasilẹ aworan Rasipibẹri Pi OS tuntun lati ọna asopọ:
Yan Rasipibẹri Pi OS pẹlu tabili tabili. Fun awọn idanwo ti o wa ni isalẹ ẹya atẹle ni a lo: Oṣu Kẹsan 2022 (2022-09-22-raspios-bullseye-armhf.img.xz).
Igbesẹ 2
Yọ aworan Rasipibẹri Pi ki o kọ sinu kaadi SD nipa titẹle awọn ilana ti o wa ni apakan ti a npè ni "Kikọ aworan si kaadi SD".
Igbesẹ 3
So hardware pọ:
- So Rasipibẹri Pi si atẹle nipa lilo okun HDMI boṣewa kan.
- So Asin ati keyboard pọ si awọn ebute USB Rasipibẹri Pi.
O tun ṣee ṣe lati ṣiṣẹ pẹlu Rasipibẹri Pi lilo ssh. Ni ọran naa ko nilo lati so atẹle, keyboard ati Asin pọ pẹlu Rasipibẹri Pi. Ibeere nikan ni lati ni PC pẹlu ssh inu nẹtiwọọki kanna bi Rasipibẹri Pi ati tunto adiresi IP ni ibamu.
Igbesẹ 4
Bata Rasipibẹri Pi pẹlu kaadi SD.
Lẹhin booting, tabili Linux ti o da lori Debian han lori atẹle.
Akiyesi: Nigba miiran, o ṣe akiyesi pe lẹhin booting Rasipibẹri Pi, diẹ ninu awọn bọtini itẹwe ko ṣiṣẹ. Lati jẹ ki wọn ṣiṣẹ, ṣii file /etc/aiyipada/keyboard ki o ṣeto XKBLAYOUT =”wa” ki o tun atunbere Pi Rasipibẹri naa.
Mu SPI ṣiṣẹ lori Rasipibẹri Pi
Awakọ SPI inu ekuro n ba X-NUCLEO-NFC05A1 sọrọ nipasẹ SPI. O ṣe pataki lati ṣayẹwo boya SPI ti ṣiṣẹ tẹlẹ ninu iṣeto Rasipibẹri Pi OS/kernel.
Ṣayẹwo boya /dev/spidev0.0 ba han ni agbegbe Rasipibẹri Pi. Ti ko ba han, mu wiwo SPI ṣiṣẹ nipa lilo ohun elo “raspi-config” nipa titẹle awọn igbesẹ ti a ṣalaye ni isalẹ.
Igbesẹ 1
Ṣii ebute tuntun lori Rasipibẹri Pi ati ṣiṣe aṣẹ “raspi-konfigi” bi gbongbo:
sudo raspi-konfigi
Igbese yii ṣii wiwo ayaworan kan.
Igbesẹ 2
Yan ni wiwo ayaworan aṣayan ti a npè ni “Awọn aṣayan Interfacing”.
Igbesẹ 3
Igbese yii ṣe atokọ awọn aṣayan pupọ.
Yan aṣayan ti a npè ni "SPI".
Ferese tuntun yoo han pẹlu ọrọ atẹle:
"Ṣe o fẹ ki wiwo SPI ṣiṣẹ?"
Igbesẹ 4
Yan ninu ferese yii lati mu SPI ṣiṣẹ.
Igbesẹ 5
Atunbere Rasipibẹri Pi.
Awọn igbesẹ ti o wa loke yoo jẹ ki wiwo SPI ṣiṣẹ ni agbegbe Rasipibẹri Pi lẹhin atunbere.
Kọ ti RFAL ìkàwé ati ohun elo
demo RFAL ti Lainos ti pese ni ile-ipamọ kan. Jẹ ki a ro pe orukọ rẹ ni:
ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz.
Lati kọ ile-ikawe RFAL ati ohun elo lori Rasipibẹri Pi, tẹle awọn igbesẹ isalẹ:
Igbesẹ 1
Yọ package kuro lori Rasipibẹri Pi ni lilo aṣẹ ti o wa ni isalẹ lati itọsọna ile:
tar -xJvf ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz
Igbesẹ 2
Ti ko ba ṣe tẹlẹ, fi cmake sori ẹrọ, ni lilo pipaṣẹ isalẹ:
apt-gba fifi sori ẹrọ cmake
Ile-ikawe RFAL ati eto kikọ ohun elo da lori cmake, fun idi eyi o nilo lati fi cmake sori ẹrọ fun akopọ ti package.
Igbesẹ 3
Lati kọ ile-ikawe RFAL ati ohun elo, lọ si itọsọna “kọ”:
cd ST25R3911B_v2.8.0_Linux_demo_v1.0/Linux_demo/build
ati ṣiṣe aṣẹ ni isalẹ lati ibẹ:
kam..
Ninu aṣẹ ti o wa loke "..." tọkasi pe ipele oke CMakeLists.txt wa ninu iwe ilana obi, ie
ST25R3911B_v2.8.0_Linux_demo_v1.0.
Aṣẹ cmake ṣẹda ṣiṣefile ti o ti lo ni nigbamii ti igbese lati kọ awọn ìkàwé ati ohun elo.
Igbesẹ 4
Ṣiṣe aṣẹ “ṣe” lati kọ ile-ikawe RFAL ati ohun elo:
ṣe
Aṣẹ “ṣe” kọkọ kọ ile-ikawe RFAL ati lẹhinna kọ ohun elo sori oke rẹ.
Bawo ni lati ṣiṣe awọn ohun elo
Aṣeyọri igbekalẹ ṣe ipilẹṣẹ imuṣiṣẹ kan ti a npè ni “nfc_demo_st25r3911b” ni ipo atẹle:
/kọ/awọn ohun elo.
Nipa aiyipada ohun elo naa nilo lati ṣiṣẹ pẹlu awọn ẹtọ gbongbo lati ọna: ST25R3911B_v2.8.0_Linux_demo_v1.0/linux_demo/build:
sudo ./demo/nfc_demo_st25r3911b
Ohun elo naa bẹrẹ lati didi fun NFC tags ati awọn foonu alagbeka. O ṣe afihan awọn ẹrọ ti a rii pẹlu UID wọn bi o ṣe han ni Nọmba 7.
Nọmba 7. Ifihan awọn ẹrọ ti a ri

Lati fopin si ohun elo tẹ Ctrl + C.
Àtúnyẹwò itan
Table 1. Iwe itan àtúnyẹwò

Akojọ ti awọn tabili
Table 1. Iwe itan àtúnyẹwò. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Akojọ ti awọn isiro
olusin 1. RFAL ìkàwé on Linux Syeed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Ṣe nọmba 2. RFAL software faaji lori Lainos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
olusin 3. Hardware asopọ fix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Nọmba 4. Ipo ti jumpers A5, A4, A3, A2, A1 ati A0 lori awọn ohun ti nmu badọgba ọkọ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
olusin 5. Hardware setup oke view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
olusin 6. Hardware setup ẹgbẹ view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Nọmba 7. Ifihan awọn ẹrọ ti a ri. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
AKIYESI PATAKI – KA SARA
STMicroelectronics NV ati awọn ẹka rẹ (“ST”) ni ẹtọ lati ṣe awọn ayipada, awọn atunṣe, awọn imudara, awọn atunṣe, ati awọn ilọsiwaju si awọn ọja ST ati/tabi si iwe-ipamọ nigbakugba laisi akiyesi. Awọn olura yẹ ki o gba alaye tuntun ti o wulo lori awọn ọja ST ṣaaju gbigbe awọn aṣẹ. Awọn ọja ST jẹ tita ni ibamu si awọn ofin ati ipo ST ti tita ni aye ni akoko ifọwọsi aṣẹ.
Awọn olura nikan ni iduro fun yiyan, yiyan, ati lilo awọn ọja ST ati ST ko dawọle kankan fun iranlọwọ ohun elo tabi apẹrẹ awọn ọja awọn olura.
Ko si iwe-aṣẹ, ṣalaye tabi mimọ, si eyikeyi ẹtọ ohun-ini ọgbọn ti a fun ni nipasẹ ST ninu rẹ.
Tita awọn ọja ST pẹlu awọn ipese ti o yatọ si alaye ti a ṣeto sinu rẹ yoo sọ atilẹyin ọja eyikeyi di ofo fun iru ọja bẹẹ.
ST ati aami ST jẹ aami-iṣowo ti ST. Fun afikun alaye nipa ST aami-išowo, tọkasi lati www.st.com/trademarks. Gbogbo ọja miiran tabi awọn orukọ iṣẹ jẹ ohun-ini ti awọn oniwun wọn.
Alaye ti o wa ninu iwe yii bori ati rọpo alaye ti a ti pese tẹlẹ ni eyikeyi awọn ẹya iṣaaju ti iwe yii.
© 2023 STMicroelectronics – Gbogbo ẹtọ wa ni ipamọ
Awọn iwe aṣẹ / Awọn orisun
![]() | UM2375 Linux Driver |
Awọn itọkasi
- raspberrypi.comwww.raspberrypi.com
- st.comwww.st.com
- st.com/trademarkswww.st.com
- Itọsọna olumulomanual.tools
