UM2548 Linux ọkwọ ụgbọ ala
Linux® ọkwọ ụgbọ ala maka ST25R3916/ST25R3916B
Akwụkwọ ntuziaka onye ọrụ
UM2548 Linux ọkwọ ụgbọ ala
Okwu mmalite
STSW-ST25R013 Onye ọkwọ ụgbọ ala Linux® na-enyere Raspberry Pi® 4 aka ịrụ ọrụ na bọọdụ X-NUCLEO-NFCO6A1 na X-NUCLEO-NFCO8A1, nke nwere, n'otu n'otu, ngwaọrụ ST25R3916 na ST25R3916B.
Ngwungwu a na-ebufe oyi akwa RF abstraction (RFAL) n'elu ikpo okwu Raspberry Pi 4 Linux, iji jiri firmware rụọ ọrụ, ma na-enye dị ka.ample ngwa na-achọpụta ụdị NFC dị iche iche tags na ekwentị mkpanaaka na-akwado P2P. RFAL bụ ST ọkọlọtọ ọkwọ ụgbọ ala maka ST25R3916 na ST25R3916B, elu arụmọrụ NFC eluigwe na ala ngwaọrụ / EMVCo agụ. A na-eji ya, dịka ọmụmaatụ, site na ST25R3916-DISCO firmware (STSW-ST25R010) yana X-NUCLEO-NFCO06A1 firmware (X-CUBE-NFC6).
STSW-ST25R013 na-akwado ihe niile ST25R3916/ST25R3916B ala oyi akwa na ụfọdụ elu oyi akwa protocol maka nkwurịta okwu. Edere RFAL n'ụzọ dị mfe, yabụ ọ nwere ike na-agba ọsọ n'ọtụtụ ngwaọrụ dabere na Linux. Akwụkwọ a na-akọwa otu enwere ike isi jiri ọbaakwụkwọ RFAL na sistemụ Linux ọkọlọtọ (na nke a Raspberry Pi 4) maka nkwukọrịta NFC/RF. Koodu a na-ebugharị nke ukwuu ma na-arụ ọrụ na obere mgbanwe na nyiwe Linux ọ bụla.

gafereview
1.1 Atụmatụ
- Ọkwọ ụgbọ ala onye ọrụ Linux zuru ezu (RF abstraction Layer) iji wuo ngwa enyere NFC site na iji ngwaọrụ ST25R3916 na ST25R3916B.
- Nkwukọrịta Linux na ST25R3916/ST25R3916B site na iji interface SPI.
- Nzuzu RF/NFC abstraction (RFAL) maka teknụzụ niile bụ isi na usoro oyi akwa dị elu:
NFC-A (ISO14443-A)
NFC-B (ISO14443-B)
- NFC-F (FeliCa™)
NFC-V (ISO15693)
- P2P (ISO18092)
- ISO-DEP (ISO data mgbanwe protocol, ISO14443-4)
- NFC-DEP (NFC data mgbanwe protocol, ISO18092)
- Teknụzụ ndị nwere onwe, dị ka Kovio, B', iClass, Calypso® - Sampmmejuputa iwu dị na X-NUCLEO-NFC06A1 na X-NUCLEO-NFC08A1 bọdụ mgbasawanye, etinyere na Raspberry Pi 4
- Sample ngwa ịchọpụta ọtụtụ NFC tag ụdị na ekwentị mkpanaaka na-akwado P2P
- Usoro ikike enyi na enyi efu
1.2 Software ije
Ọnụọgụ 2 na-egosi nkọwa nhazi ngwa ngwa nke ọba akwụkwọ RFAL n'elu ikpo okwu Linux.
RFAL na-adị mfe ibugharị na nyiwe ndị ọzọ site na imegharị ihe a na-akpọ ikpo okwu files.
Ihe nkụnye eji isi mee file rfal_platform.h nwere nkọwa nnukwu, nke onye nwe ikpo okwu ga-enye ma mejuputa ya.
Ọ na-enye ntọala kpọmkwem n'elu ikpo okwu dị ka ọrụ GPIO, akụrụngwa sistemụ, mkpọchi na IRQ, nke achọrọ maka ịrụ ọrụ RFAL ziri ezi.
Ngosipụta a na-arụ ọrụ ikpo okwu ma na-enye ọdụ ụgbọ mmiri nke RFAL n'ime oghere ndị ọrụ nke Linux.
Ọbá akwụkwọ nkekọrịta file emepụtara, nke a na-eji ngwa ngosi gosipụtara arụmọrụ nke oyi akwa RFAL nyere.
Ndị ọbịa Linux na-eji sysfs interface dị site na ohere onye ọrụ Linux maka iji ngwaọrụ ndị a na-emekọrịta ozi SPI. N'ime Linux kernel SPI sysfs interface na-eji Linux kernel driver spidev izipu/nata freelụ SPI gaa na/site na ngwaọrụ ndị ahụ.
Maka ijikwa ahịrị INT nke ngwaọrụ ST25R3916 na ST25R3916B, onye ọkwọ ụgbọ ala na-eji libpiod sysfs nweta ọkwa maka mgbanwe na ahịrị a.

Ntọlite ngwaike
2.1 Platform eji
A na-eji bọọdụ Raspberry Pi 4 nwere Raspberry Pi OS dị ka ikpo okwu Linux iji wuo ọba akwụkwọ RFAL wee soro ST25R3916/ST25R3916B na-emekọrịta ihe karịa SPI.
Ngwa ndị a na-eme ka ngwa dị n'elu ikpo okwu Linux chọpụta na iji ngwaọrụ NFC kparịta ụka.
2.2 Ngwaike chọrọ
- Raspberry Pi 4
- 8 GB micro SD kaadị buo Raspberry Pi OS (ya na ihe kacha ọhụrụ chọrọ)
- Onye na-agụ kaadị SD
- bọọdụ X-NUCLEO-NFC06A1 ma ọ bụ X-NUCLEO-NFC08A1
- Akwa iji jikọọ osisi na ihe nkwụnye Raspberry Pi Arduino™ maka Raspberry Pi (nọmba akụkụ ARPI600)
2.2.1 Njikọ ngwaike
A na-eji ihe nkwụnye ARPI600 Raspberry Pi ruo Arduino jikọọ bọọdụ na Raspberry Pi. A ga-agbanwerịrị ndị jumpers nke bọọdụ nkwụnye iji jikọọ ya na bọọdụ X-NUCLEO-NFC06A1 ma ọ bụ X-NUCLEO-NFC08A1.
Ịkpachara anya:
ARPI600 na-enye 5 V ezighi ezi na pin Arduino IOREF. Ijikọ bọọdụ ndị ahụ na-azụ azụ 5V na ụfọdụ atụdo, nke a nwere ike imebi bọọdụ Raspberry Pi. Enwere akụkọ banyere bọọdụ ndị mebiri emebi (karịsịa Raspberry Pi 4B+).
Iji zere nke a, megharịa ARPI600 (ọrụ siri ike), ma ọ bụ bọọdụ X-NUCLEO-NFC06A1/X-NUCLEONFC08A1 (dị mfe).
Ndozi kachasị mfe bụ ibelata pin CN6.2 (IOREF) na bọọdụ X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1, dị ka egosiri na eserese 3.
Ịcha ntụtụ a anaghị emetụta ọrụ ahụ yana njikọ Nucleo (dị ka NUCLO-L474RG, NUCLO-F401RE, NUCLO-8S208RB).

Ntọala jumper
A ghaghị ịgbanwe ndị jumpers maka A5, A4, A3, A2, A1 na A0 nke egosiri na eserese 4, n'otu n'otu, na P25, P24, P23, P22, P21 na CE1. Site na ntọala a, a na-eji nọmba pin GPIO Raspberry dị ka ahịrị nkwụsịtụ maka X-NUCLEONFC7A06/X-NUCLEO-NFC1A08.

Ugbu a, ọdụ ụgbọ mmiri RFAL a na-eji pin GPIO7 dị ka ahịrị nkwụsị (dị ka ntọala jumper siri dị). Ọ bụrụ na enwere ihe achọrọ iji gbanwee ahịrị nkwụsịtụ site na GPIO7 gaa na GPIO dị iche, koodu akọwapụtara (na file pltf_gpio.h) ga-agbanwerịrị iji gbanwee nkọwa nke nnukwu ST25R_INT_PIN site na 7 gaa na pin GPIO ọhụrụ, ka ejiri ya dị ka ahịrị nkwụsịtụ.
Site na ntọala jumper dị n'elu, enwere ike iji bọọdụ nkwụnye jikọọ X-NUCLEO NFC06A1 na X-NUCLEO-NFC08A1 na bọọdụ Raspberry Pi, dị ka egosiri na ọnụ ọgụgụ ndị a.

Ntọala gburugburu Linux
3.1 Booting Raspberry Pi
Iji hazie gburugburu Linux, buru ụzọ wụnye ma buo Raspberry Pi na Raspberry Pi OS, dị ka akọwara n'okpuru:
Nzọụkwụ 1
Budata foto Raspberry Pi OS kacha ọhụrụ site na https://www.raspberrypi.com, wee họrọ Raspberry Pi OS nwere desktọpụ. Maka ule ndị dị n'okpuru ụdị 2022-09-22-raspios-bullseye-armhf.img.xz (September 2022) ejirila.
Nzọụkwụ 2
Wepụ ihe oyiyi Raspberry Pi OS wee dee ya na kaadị SD site na isoro ntuziaka dị na ngalaba aha ya bụ "Ide ihe oyiyi na kaadị SD".
Nzọụkwụ 3
Jikọọ ngwaike:
- Jikọọ Raspberry Pi 4 na onye nleba anya site na iji eriri HDMI ọkọlọtọ.
- Jikọọ òké na ahụigodo na ọdụ ụgbọ mmiri Raspberry Pi.
Enwere ike iji ssh rụọ ọrụ na Raspberry Pi. N'okwu a. Ọ dịghị mkpa ka ijikọ ihe nleba anya, ahụigodo na òké na Raspberry Pi. Naanị ihe achọrọ bụ ịnwe PC nwere ssh n'ime otu netwọkụ dị ka Raspberry Pi, wee hazie adreesị IP ahụ.
Nzọụkwụ 4
Jiri kaadị SD buut Raspberry Pi 4. Mgbe emechara, desktọpụ Linux dabere na Debian na-egosi na nyocha.
Mara:
Mgbe ụfọdụ, ka emechara Raspberry Pi OS, ụfọdụ igodo ahụ anaghị arụ ọrụ. Iji mee ka ha rụọ ọrụ, mepee ya file /etc/default/keyboard wee tọọ XKBLAYOUT=”anyị”, wee malitegharịa Raspberry Pi.
3.2 Kwado SPI na Raspberry Pi
Onye ọkwọ ụgbọ ala SPI nọ n'ime kernel na-ekwurịta okwu na bọọdụ X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 site na SPI. Ọ dị mkpa ịlele ma agbanyerela SPI na nhazi kernel Raspbian Pi OS.
Lelee ma a na-ahụ /dev/spidev0.0 na gburugburu Raspberry Pi. Ọ bụrụ na ahụghị ya anya, mee ka interface SPI nwee ike iji "raspi-config" site na ịgbaso usoro ndị a kọwara n'okpuru.
Nzọụkwụ 1
Mepee ọdụ ọhụrụ na Raspberry Pi wee mee iwu "raspi-config" dị ka mgbọrọgwụ: sudo raspi-config.
Nzọụkwụ a na-emepe interface eserese.
Nzọụkwụ 2
Họrọ na eserese eserese nhọrọ aha ya bụ "Nhọrọ mmekọrịta".
Nzọụkwụ 3
Nzọụkwụ a depụtara nhọrọ dị iche iche.
Họrọ nhọrọ aha ya bụ "SPI".
Window ọhụrụ ga-egosi na ederede na-esonụ:
"Ọ ga-amasị gị ka agbanyere interface SPI?"
Nzọụkwụ 4
Họrọ na mpio a iji mee ka SPI nwee ike.
Nzọụkwụ 5
Malitegharịa Raspberry Pi.
Nzọụkwụ ndị a dị n'elu ga-eme ka interface SPI dị na gburugburu Raspberry Pi ka ịmalitegharịa.
Wulite ọba akwụkwọ RFAL na ngwa
Enyere ngosi RFAL nke Linux n'ime ebe nchekwa, dị ka ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz.
Iji wuo ọba akwụkwọ RFAL na ngwa na Raspberry Pi, gagharịa usoro ndị a:
Nzọụkwụ 1
Wepụ ngwugwu ahụ na Raspberry Pi site na iji iwu na-esonụ site na ndekọ ụlọ
tar -xJvf ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz
Nzọụkwụ 2
Wụnye cmake (ma ọ bụrụ na emebeghị mbụ) site na iji iwu
apt-nweta install cmake
Ọbá akwụkwọ RFAL na usoro nrụpụta ngwa dabere na cmake, n'ihi nke a, achọrọ ka etinye cmake iji chịkọta ngwugwu ahụ.
Nzọụkwụ 3
Iji wuo ọba akwụkwọ RFAL na ngwa, gaa na ndekọ ihe nrụpụta
cd ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build
Site n'ebe ahụ, gbanye iwu ahụ
kamke..
N'iwu dị n'elu "..." na-egosi na CMakeLists.txt dị n'ọkwa dị n'akwụkwọ ndekọ aha nne na nna.
(ST25R3916_v2.8.0_Linux_demo_v1.0).
Iwu a na-emepụta ihefile eji na nzọụkwụ ọzọ wuo ọba akwụkwọ na ngwa. Site n'ebe ahụ, gbaa iwu na-esonụ iji wuo ihe ngosi maka ST25R3916B
cmake -DRFAL_VARIANT=st25r3916b ..
Nzọụkwụ 4
Gbaa iwu mee ka iwulite ọba akwụkwọ RFAL na ngwa:
mee
Iwu a na-ebu ụzọ wuo ọba akwụkwọ RFAL, wee malite ngwa n'elu ya.
Otu esi agba ngwa ngwa
Mwube na-aga nke ọma na-ewepụta ihe arụrụ arụ aha ya bụ “nfc_poller_st25r3916” ma ọ bụ “nfc_poller_st25r3916b” na ọnọdụ /build/demo.
Site na ndabara, ekwesịrị iji ikike mgbọrọgwụ mee ngwa ahụ site na ụzọ ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build/demo/:
sudo ./nfc_demo_st25r3916
Ngwa na-amalite ịtụ vootu maka NFC tags na ekwentị mkpanaaka, wee gosi ngwaọrụ ndị ahụ na UID ha, dịka egosiri na foto 7.

Iji kwụsị ngwa ahụ, pịa Ctrl + C.
Akụkọ ngbanwe
Tebụl 1. Akụkọ ndegharị akwụkwọ
| Ụbọchị | Ndozigharị | Mgbanwe |
| 1-Mar-19 | 1 | Ntọhapụ mbụ. |
| 4-Eprel-23 | 2 | Aha akwụkwọ emelitere, Okwu Mmalite ngalaba, Akụkụ 1.1 atụmatụ, Nkebi 1.2 Software architecture, Nkebi 2.1 Platform eji, Nkebi 2.2 Ngwaike Ihe achọrọ, Nkebi 2.2.1 Njikọ ngwaike, Nkebi 3.1 Booting Raspberry Pi, Nkeji 3.2 Kwado SPI na Raspberry Pi, Nkeji 4 wulite ọba akwụkwọ na ngwa RFAL, na Nkebi 5 Otu esi agba ngwa ngwa. Emelitere onyonyo 1. Ọbá akwụkwọ RFAL na ikpo okwu Linux, eserese 2. RFAL software architecture na Linux, na Figure 5. Ntọlite ngwaike n'elu view. Ndozi obere ederede n'ofe akwụkwọ niile. |
ỌMỤMỤ dị mkpa – Gụọ nke ọma
STMicroelectronics NV na ndị enyemaka ya (“ST”) debere ikike ime mgbanwe, ndozi, nkwalite, mgbanwe na nkwalite ngwaahịa ST na/ma ọ bụ akwụkwọ a n'oge ọ bụla na-enweghị ọkwa. Ndị na-azụ ahịa kwesịrị ịnweta ozi kacha ọhụrụ dị mkpa na ngwaahịa ST tupu ha etinye iwu. A na-ere ngwaahịa ST dabere na usoro na ọnọdụ ọrịre nke ST n'oge nnabata.
Ndị na-azụ ahịa bụ naanị maka nhọrọ, nhọrọ, na ojiji nke ngwaahịa ST yana ST anaghị ewere ụgwọ ọ bụla maka enyemaka ngwa ma ọ bụ imepụta ngwaahịa ndị zụrụ ya.
Enweghị ikike, ekwupụtara ma ọ bụ egosipụtara, ikike ikike ọgụgụ isi ọ bụla nke ST nyere n'ime ebe a.
Mweghachi nke ngwaahịa ST nwere ndokwa dị iche na ozi e depụtara n'ime ya ga-emebi akwụkwọ ikike ọ bụla ST nyere maka ụdị ngwaahịa a.
ST na akara ST bụ ụghalaahịa nke ST. Maka ozi ndị ọzọ gbasara ụghalaahịa ST, rụtụ aka www.st.com/trademarks. Ngwaahịa ma ọ bụ aha ọrụ ndị ọzọ bụ ihe onwunwe nke ndị nwe ha.
Ozi dị n'ime akwụkwọ a nọchiri ma dochie ozi enyere na mbụ na ụdị akwụkwọ a mbụ.
© 2023 STMicroelectronics – Ikike niile echekwabara
UM2548 - Mkpu 2
Akwụkwọ / akụrụngwa
![]() |
STMicroelectronics UM2548 Linux ọkwọ ụgbọ ala [pdf] Akwụkwọ ntuziaka onye ọrụ UM2548 Linux ọkwọ ụgbọ ala, UM2548, Linux ọkwọ ụgbọ ala, ọkwọ ụgbọ ala |




