
UM2548 Linux Driver
Lainos® iwakọ fun ST25R3916 / ST25R3916B
Itọsọna olumulo
UM2548 Linux Driver
Ọrọ Iṣaaju
STSW-ST25R013 Awakọ Linux® jẹ ki Rasipibẹri Pi® 4 ṣiṣẹ pẹlu awọn igbimọ X-NUCLEO-NFCO6A1 ati X-NUCLEO-NFCO8A1, eyiti o ni, lẹsẹsẹ, awọn ohun elo ST25R3916 ati ST25R3916B.
Paapọ yii gbe oju omi RF abstraction Layer (RFAL) sori pẹpẹ Rasipibẹri Pi 4 Linux, lati ṣiṣẹ pẹlu famuwia igbimọ, ati pese biample ohun elo wiwa yatọ si orisi ti NFC tags ati awọn foonu alagbeka ti n ṣe atilẹyin P2P. RFAL jẹ awakọ boṣewa ST fun ST25R3916 ati ST25R3916B, iṣẹ ṣiṣe giga NFC awọn ẹrọ agbaye / awọn oluka EMVCo. O jẹ lilo, fun apẹẹrẹ, nipasẹ famuwia ST25R3916-DISCO (STSW-ST25R010) ati nipasẹ famuwia X-NUCLEO-NFCO06A1 (X-CUBE-NFC6).
STSW-ST25R013 atilẹyin fun gbogbo ST25R3916/ST25R3916B kekere-Layer ati diẹ ninu awọn ti o ga Layer Ilana fun ibaraẹnisọrọ. A kọ RFAL ni ọna gbigbe, nitorinaa 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.

Pariview
1.1 Awọn ẹya ara ẹrọ
- Iwakọ aaye olumulo olumulo Linux pipe ( Layer abstraction RF) lati kọ awọn ohun elo ṣiṣẹ NFC nipa lilo awọn ẹrọ ST25R3916 ati ST25R3916B
- Ibaraẹnisọrọ gbalejo Linux pẹlu ST25R3916/ST25R3916B 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 (Ilana data paṣipaarọ data ISO, ISO14443-4)
NFC-DEP ( Ilana paṣipaarọ data NFC, ISO18092)
- Awọn imọ-ẹrọ ohun-ini, gẹgẹbi Kovio, B', iClass, Calypso® - Sampimuse ti o wa pẹlu X-NUCLEO-NFC06A1 ati awọn igbimọ imugboroja X-NUCLEO-NFC08A1, 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ẹ
1.2 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, lati pese ati imuse nipasẹ oniwun pẹpẹ.
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 RFAL sinu aaye olumulo ti Linux.
A pín ìkàwé file ti ipilẹṣẹ, eyiti o jẹ lilo nipasẹ ohun elo afihan lati ṣafihan awọn iṣẹ ṣiṣe ti a pese nipasẹ Layer RFAL.
Alejo Lainos nlo wiwo sysfs ti o wa lati aaye olumulo Linux fun ṣiṣe ibaraẹnisọrọ SPI pẹlu awọn ẹrọ. Ninu ekuro Linux ni wiwo SPI sysfs nlo Linux kernel awakọ spidev lati firanṣẹ/gba awọn fireemu SPI si/lati awọn ẹrọ naa.
Fun mimu laini INT ti awọn ẹrọ ST25R3916 ati ST25R3916B, awakọ naa nlo sysfs libpiod lati gba iwifunni ti awọn ayipada lori laini yii.

Hardware setup
2.1 Platform 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 ST25R3916/ST25R3916B lori SPI.
Awọn ẹrọ naa jẹ ki ohun elo ṣiṣẹ lori pẹpẹ Linux lati ṣawari ati ibasọrọ pẹlu awọn ẹrọ NFC.
2.2 Hardware ibeere
- Rasipibẹri Pi 4
- Kaadi micro SD 8 GB lati bata Rasipibẹri Pi OS (pẹlu awọn ibeere tuntun rẹ)
- SD oluka kaadi
- X-NUCLEO-NFC06A1 tabi X-NUCLEO-NFC08A1
- Afara lati so igbimọ pọ pẹlu oluyipada Rasipibẹri Pi Arduino ™ fun Rasipibẹri Pi (nọmba apakan ARPI600)
2.2.1 Hardware awọn isopọ
ARPI600 Rasipibẹri Pi si ohun ti nmu badọgba Arduino ni a lo lati so awọn igbimọ pọ pẹlu Rasipibẹri Pi. Awọn jumpers ti awọn ohun ti nmu badọgba ọkọ gbọdọ wa ni títúnṣe lati so o pẹlu X-NUCLEO-NFC06A1 tabi X-NUCLEO-NFC08A1 lọọgan.
Iṣọra:
ARPI600 ti ko tọ pese 5 V si pin Arduino IOREF. Taara so awọn lọọgan kikọ sii pada 5 V lori diẹ ninu awọn pinni, yi le ba Rasipibẹri Pi ọkọ. Awọn ijabọ wa ti awọn igbimọ ti a run (paapaa Rasipibẹri Pi 4B+).
Lati yago fun eyi, mu ARPI600 (isẹ ti o nira kuku), tabi igbimọ X-NUCLEO-NFC06A1/X-NUCLEONFC08A1 (rọrun).
Atunṣe ti o rọrun julọ ni lati ge pinni CN6.2 (IOREF) lori awọn igbimọ X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1, bi o ṣe han ni Nọmba 3.
Gige pinni yii ko ni ipa lori iṣiṣẹ ni apapo pẹlu awọn igbimọ Nucleo (gẹgẹbi NUCLO-L474RG, NUCLEO-F401RE, NUCLO-8S208RB).

Eto Jumper
Awọn jumpers fun A5, A4, A3, A2, A1 ati A0 ti o han ni Figure 4 gbọdọ wa ni yipada, lẹsẹsẹ, si P25, P24, P23, P22, P21 ati CE1. Pẹlu eto Rasipibẹri's GPIO pin nọmba 7 ni a lo bi laini idalọwọduro fun X-NUCLEONFC06A1/X-NUCLEO-NFC08A1.

Lọwọlọwọ, ibudo ikawe RFAL yii nlo pin GPIO7 bi laini idalọwọduro (gẹgẹbi awọn eto fomp). 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) gbọdọ wa ni títúnṣe lati yi awọn definition ti Makiro ST25R_INT_PIN lati 7 si titun GPIO pin, lati ṣee lo bi idilọwọ laini.
Pẹlu awọn eto jumper ti o wa loke, igbimọ ohun ti nmu badọgba le ṣee lo lati so X-NUCLEO NFC06A1 ati X-NUCLEO-NFC08A1 pọ pẹlu igbimọ Rasipibẹri Pi, bi o ṣe han ninu awọn nọmba wọnyi.

Linux ayika setup
3.1 Booting rasipibẹri Pi
Lati ṣeto agbegbe Linux, akọkọ fi sori ẹrọ ati bata Rasipibẹri Pi pẹlu Rasipibẹri Pi OS, bi a ti salaye ni isalẹ:
Igbesẹ 1
Ṣe igbasilẹ aworan Rasipibẹri Pi OS tuntun lati https://www.raspberrypi.com, lẹhinna yan Rasipibẹri Pi OS pẹlu tabili tabili. Fun awọn idanwo ti o wa ni isalẹ ẹya 2022-09-22-raspios-bullseye-armhf.img.xz (Oṣu Kẹsan 2022) ti jẹ lilo.
Igbesẹ 2
Yọ aworan Rasipibẹri Pi OS kuro ki o kọ si 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 4 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. Fun idi eyi. 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 4 pẹlu kaadi SD kan. Lẹhin booting, tabili Linux ti o da lori Debian han lori atẹle.
Akiyesi:
Nigba miiran, lẹhin booting Rasipibẹri Pi OS, 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.
3.2 Mu SPI ṣiṣẹ lori Rasipibẹri Pi
Awakọ SPI inu ekuro n sọrọ pẹlu awọn igbimọ X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 nipasẹ SPI. O ṣe pataki lati ṣayẹwo boya SPI ti ṣiṣẹ tẹlẹ ninu iṣeto ekuro Raspbian Pi OS.
Ṣ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ọ RFAL ìkàwé ati ohun elo
Ifihan RFAL ti Lainos ti pese ni ile-ipamọ, gẹgẹbi ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz.
Lati kọ ile-ikawe RFAL ati ohun elo lori Rasipibẹri Pi, lọ nipasẹ awọn igbesẹ wọnyi:
Igbesẹ 1
Yọ package kuro lori Rasipibẹri Pi ni lilo aṣẹ atẹle lati inu ilana ile
tar -xJvf ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz
Igbesẹ 2
Fi cmake sori ẹrọ (ti ko ba ṣe ṣaaju) ni lilo aṣẹ naa
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ọ lati ṣajọ package naa.
Igbesẹ 3
Lati kọ ile-ikawe RFAL ati ohun elo, lọ si itọsọna kikọ
cd ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build
Lati ibẹ, ṣiṣe aṣẹ naa
kam..
Ninu aṣẹ ti o wa loke "..." tọkasi pe ipele oke CMakeLists.txt wa ninu iwe ilana obi
(ST25R3916_v2.8.0_Linux_demo_v1.0).
Aṣẹ yii ṣẹda ṣiṣefile lo ni nigbamii ti igbese lati kọ awọn ìkàwé ati ohun elo. Lati ibẹ, ṣiṣe aṣẹ atẹle lati kọ ifihan fun ST25R3916B
cmake -DRFAL_VARIANT=st25r3916b ..
Igbesẹ 4
Ṣiṣe aṣẹ ṣiṣe lati kọ ile-ikawe RFAL ati ohun elo:
ṣe
Aṣẹ yii kọkọ kọ ile-ikawe RFAL, ati lẹhinna ohun elo lori oke rẹ.
Bawo ni lati ṣiṣe awọn ohun elo
Aṣeyọri ti o ṣaṣeyọri ṣe ipilẹṣẹ imuṣiṣẹ kan ti a npè ni “nfc_poller_st25r3916” tabi “nfc_poller_st25r3916b” ni ipo /build/demo.
Nipa aiyipada, ohun elo naa nilo lati ṣiṣẹ pẹlu awọn ẹtọ gbongbo lati ọna ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build/demo/:
sudo ./nfc_demo_st25r3916
Ohun elo naa bẹrẹ lati didi fun NFC tags ati awọn foonu alagbeka, lẹhinna ṣafihan awọn ẹrọ ti a rii pẹlu UID wọn, bi o ṣe han ni Nọmba 7.

Lati fopin si ohun elo tẹ Ctrl + C.
Àtúnyẹwò itan
Table 1. Iwe itan àtúnyẹwò
| Ọjọ | Àtúnyẹwò | Awọn iyipada |
| 1-Oṣu Kẹta-19 | 1 | Itusilẹ akọkọ. |
| 4-Apr-23 | 2 | Akọle iwe ti a ṣe imudojuiwọn, Ifihan Abala, Awọn ẹya ara ẹrọ 1.1, Abala 1.2 Software faaji, Abala 2.1 Platform ti a lo, Abala 2.2 Hardware awọn ibeere, Abala 2.2.1 Hardware awọn isopọ, Abala 3.1 Booting Rasipibẹri Pi, Abala 3.2 Mu SPI ṣiṣẹ lori Rasipibẹri Pi, Abala 4 Kọ ile-ikawe RFAL ati ohun elo, ati Abala 5 Bii o ṣe le ṣiṣẹ ohun elo naa. Nọmba imudojuiwọn 1. Ile-ikawe RFAL lori pẹpẹ Linux, olusin 2. RFAL software faaji on Linux, ati Figure 5. Hardware setup oke view. Awọn atunṣe ọrọ kekere kọja gbogbo iwe-ipamọ naa. |
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ọ
UM2548 – Ìṣí 2
Awọn iwe aṣẹ / Awọn orisun
![]() | UM2548 Linux Driver |
Awọn itọkasi
- raspberrypi.comwww.raspberrypi.com
- st.comwww.st.com
- st.com/trademarkswww.st.com
- st.com/en/product/stsw-st25r013?ecmp=tt9470_gl_link_feb2019&rt=um&id=UM2548www.st.com
- Itọsọna olumulomanual.tools
