STMicroelectronics UM2375 Linux Driver User Manual

Logo STMicroelectronics

Driver Linux® kanggo frontend NFC kinerja dhuwur ST25R3911B lan ST25R3912/14/15

Pambuka

Pembalap STSW-ST25R009 Linux® ngidini Raspberry Pi 4 bisa digunakake karo X-NUCLEO-NFC05A1, sing ngemot piranti universal NFC kinerja dhuwur ST25R3911B.

Paket iki port lapisan abstraksi RF (RFAL) menyang platform Raspberry Pi 4 Linux kanggo operate karo firmware X-NUCLEO-NFC05A1. Paket nyedhiyakake minangkaampaplikasi sing ndeteksi macem-macem jinis NFC tags lan telpon seluler ndhukung P2P. RFAL minangka driver standar ST kanggo ST25R NFC / RFID Reader IC ST25R3911B, ST25R3912, ST25R3913, ST25R3914 lan ST25R3915. Iki digunakake, contone, dening firmware ST25R3911B-DISCO (STSW-ST25R002) lan firmware X-NUCLEONFC05A1 (X-CUBE-NFC5).

STSW-ST25R009 ndhukung kabeh protokol lapisan ngisor ST25R3911B lan uga sawetara protokol lapisan sing luwih dhuwur kanggo komunikasi. RFAL ditulis kanthi portabel, saengga bisa mlaku ing macem-macem piranti adhedhasar Linux®. Dokumen iki nerangake carane perpustakaan RFAL bisa digunakake ing sistem Linux standar (ing kasus iki Raspberry Pi 4) kanggo komunikasi NFC / RF. Kode kasebut portabel banget lan bisa digunakake kanthi owah-owahan cilik ing platform Linux apa wae.

Gambar 1. Pustaka RFAL ing platform Linux

Gambar 1 perpustakaan RFAL ing platform Linux

Swaraview

Fitur
  • Driver ruang pangguna Linux lengkap (lapisan abstraksi RF) kanggo mbangun aplikasi sing aktif NFC nggunakake frontend NFC kinerja dhuwur ST25R3911B/ST25R391x kanthi daya output nganti 1.4 W.
  • Komunikasi host Linux karo ST25R3911B/ST25R391x nggunakake antarmuka SPI
  • Abstraksi RF/NFC (RFAL) lengkap kanggo kabeh teknologi utama lan protokol lapisan sing luwih dhuwur:
    • NFC-A (ISO14443-A)
    • NFC-B (ISO14443-B)
    • NFC-F (FeliCa™)
    • NFC-V (ISO15693)
    • P2P (ISO 18092)
    • ISO-DEP (ISO data exchange protocol, ISO14443-4)
    • NFC-DEP (NFC data exchange protocol, ISO18092)
    • Teknologi proprietary (Kovio, B', iClass, Calypso®, ...)
  • Sampimplementasine kasedhiya karo papan ekspansi X-NUCLEO-NFC05A1, dipasang ing Raspberry Pi 4
  • Sampaplikasi kanggo ndeteksi sawetara NFC tag jinis lan telpon seluler ndhukung P2P
  • Syarat lisensi pangguna-loropaken gratis
Arsitèktur piranti lunak

Gambar 2 nuduhake rincian arsitektur piranti lunak perpustakaan RFAL ing platform Linux®.

RFAL gampang dipindhah menyang platform liyane kanthi ngganti platform sing diarani files.

Header file rfal_platform.h ngemot definisi makro, sing kudu diwenehake lan ditindakake dening pemilik platform. Salajengipun, nyedhiyakake setelan khusus platform kaya tugas GPIO, sumber daya sistem, kunci lan IRQ, sing dibutuhake kanggo operasi RFAL sing bener.

Demonstrasi iki ngetrapake fungsi platform lan nyedhiyakake port perpustakaan RFAL menyang ruang pangguna Linux®. Pustaka sing dienggo bareng file digawe, sing digunakake dening aplikasi demo kanggo nampilake fungsi sing diwenehake dening lapisan RFAL.

Host Linux® nggunakake antarmuka sysfs sing kasedhiya saka ruang pangguna Linux® kanggo ngaktifake komunikasi SPI karo piranti ST25R3911B. Ing kernel Linux® antarmuka sysfs SPI nggunakake driver kernel Linux® spidev kanggo ngirim / nampa pigura SPI menyang / saka ST25R3911B.

Kanggo nangani baris interrupt ST25R3911B, pembalap nggunakake libgpiod kanggo njaluk kabar babagan owah-owahan ing baris iki.

Gambar 2. Arsitèktur piranti lunak RFAL ing Linux

Gambar 2 Arsitektur piranti lunak RFAL ing Linux

Setup hardware

Platform digunakake

Papan Raspberry Pi 4 karo Raspberry Pi OS digunakake minangka platform Linux kanggo mbangun perpustakaan RFAL lan sesambungan karo ST25R3911B liwat SPI.
ST25R3911B ngidini aplikasi ing platform Linux ndeteksi lan komunikasi karo piranti NFC.

Persyaratan hardware
  • Raspberry Pi 4
  • Kertu SD mikro 8 GBytes kanggo boot Raspberry Pi OS
  • maca kertu SD
  • Papan jembatan kanggo nyambungake X-NUCLEO-NFC05A1 karo Raspberry Pi Arduino Adaptor kanggo Raspberry Pi, nomer part ARPI600.
  • X-NUCLEO-NFC05A1. Waca syarat Raspberry Pi OS paling anyar.

Sambungan hardware

ARPI600 Raspberry Pi kanggo papan adaptor Arduino digunakake kanggo nyambungake X-NUCLEO-NFC05A1 karo Raspberry Pi. Dibutuhake kanggo ngowahi jumper papan adaptor kanggo nyambungake karo X-NUCLEO-NFC05A1.

Ati-ati: ARPI600 salah nyuplai 5 V menyang pin Arduino IOREF. Langsung masang X-NUCLEO-NFC05A1 feed bali 5 V ing sawetara pin, iki bisa ngrusak Papan Raspberry Pi. Ana laporan utamane Raspberry Pi 4B+ sing bener-bener dirusak. Kanggo ngindhari kahanan iki, adaptasi karo ARPI600 (operasi sing rada angel) utawa X-NUCLEO-NFC05A1 (operasi sing luwih gampang).

Ndandani paling gampang yaiku ngethok pin CN6.2 (IOREF) ing X-NUCLEO-NFC05A1 minangka ditampilake ing Gambar 3.

Motong pin iki ora mengaruhi operasi magepokan karo Papan Nucleo (NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB, etc.).

Gambar 3. Hardware sambungan fix

Gambar 3. Sambungan hardware

Setelan jumper

Jumper kanggo A5, A4, A3, A2, A1 lan A0 ditampilake ing Figure 4 kudu diganti dadi P23, P22, P21 lan CE1. Kanthi setelan jumper iki, nomer pin GPIO Raspberry 7 digunakake minangka baris interrupt kanggo X-NUCLEO-NFC05A1.

Gambar 4. Posisi jumper A5, A4, A3, A2, A1 lan A0 ing papan adaptor

Gambar 4 Posisi jumper

Saiki, port perpustakaan RFAL iki nggunakake pin GPIO7 minangka baris interrupt, miturut setelan jumper. Yen ana syarat kanggo ngganti garis interupsi saka GPIO7 menyang GPIO sing beda, kode khusus platform (ing file pltf_gpio.h) kudu diowahi kanggo ngganti definisi makro "ST25R_INT_PIN" saka 7 menyang pin GPIO anyar, kanggo digunakake minangka baris interrupt.

Kanthi setelan jumper ing ndhuwur, papan adaptor bisa digunakake kanggo nyambungake X-NUCLEO-NFC05A1 karo papan Raspberry Pi kaya sing ditampilake ing Gambar 5.

Gambar 5. Hardware setup top view

Gambar 5. Setup hardware view

Gambar 6. Sisih setelan hardware view

Gambar 6. Sisi konfigurasi hardware view

Persiyapan lingkungan Linux

Booting saka Raspberry Pi

Kanggo nyiyapake lingkungan Linux, langkah pisanan yaiku nginstal lan boot Raspberry Pi 4 nganggo Raspberry Pi OS kaya sing diterangake ing ngisor iki:

Langkah 1

Download gambar Raspberry Pi OS paling anyar saka link:

Pilih Raspberry Pi OS with desktop. Kanggo tes ing ngisor iki, versi ing ngisor iki digunakake: September 2022 (2022-09-22-raspios-bullseye-armhf.img.xz).

Langkah 2

Unzip gambar Raspberry Pi lan tulis menyang kertu SD kanthi nuruti instruksi sing kasedhiya ing bagean kasebut "Nulis gambar menyang kertu SD".

Langkah 3

Sambungake hardware:

  • Sambungake Raspberry Pi menyang monitor nggunakake kabel HDMI standar.
  • Sambungake mouse lan keyboard menyang port USB Raspberry Pi.

Sampeyan uga bisa nggarap Raspberry Pi nggunakake ssh. Ing kasus kasebut, ora perlu nyambungake monitor, keyboard lan mouse karo Raspberry Pi. Siji-sijine syarat yaiku duwe PC kanthi ssh ing jaringan sing padha karo Raspberry Pi lan ngatur alamat IP kasebut.

Langkah 4

Boot Raspberry Pi nganggo kertu SD.

Sawise booting, desktop Linux adhedhasar Debian katon ing monitor.

Cathetan: Kadhangkala, ditemokake yen sawise boot Raspberry Pi, sawetara tombol keyboard ora bisa digunakake. Kanggo nggawe dheweke bisa, bukak file /etc/default/keyboard lan atur XKBLAYOUT = "kita" lan urip maneh Raspberry Pi.

Aktifake SPI ing Raspberry Pi

Driver SPI nang kernel komunikasi karo X-NUCLEO-NFC05A1 liwat SPI. Penting kanggo mriksa yen SPI wis aktif ing konfigurasi Raspberry Pi OS / kernel.
Priksa manawa /dev/spidev0.0 katon ing lingkungan Raspberry Pi. Yen ora katon, aktifake antarmuka SPI nggunakake sarana "raspi-config" kanthi tindakake langkah-langkah sing diterangake ing ngisor iki.

Langkah 1

Bukak terminal anyar ing Raspberry Pi lan jalanake perintah "raspi-config" minangka root:

sudo raspi-config

Langkah iki mbukak antarmuka grafis.

Langkah 2

Pilih ing antarmuka grafis opsi sing dijenengi "Opsi Interfacing".

Langkah 3

Langkah iki nampilake macem-macem opsi.
Pilih opsi sing jenenge "SPI".
Jendhela anyar katon kanthi teks ing ngisor iki:
"Apa sampeyan pengin antarmuka SPI diaktifake?"

Langkah 4

Pilih ing jendhela iki kanggo ngaktifake SPI.

Langkah 5

Urip maneh Raspberry Pi.
Langkah-langkah ing ndhuwur bakal ngaktifake antarmuka SPI ing lingkungan Raspberry Pi sawise urip maneh.

Mbangun perpustakaan RFAL lan aplikasi

Demo RFAL Linux kasedhiya ing arsip. Ayo anggep jenenge:
ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz.
Kanggo mbangun perpustakaan lan aplikasi RFAL ing Raspberry Pi, tindakake langkah ing ngisor iki:

Langkah 1

Unzip paket ing Raspberry Pi nggunakake printah ing ngisor iki saka direktori ngarep:

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

Langkah 2

Yen durung rampung, instal cmake, nggunakake printah ing ngisor iki:

apt-get nginstal cmake

Pustaka RFAL lan sistem mbangun aplikasi adhedhasar cmake, mula kudu nginstal cmake kanggo kompilasi paket kasebut.

Langkah 3

Kanggo mbangun perpustakaan lan aplikasi RFAL, pindhah menyang direktori "mbangun":

cd ST25R3911B_v2.8.0_Linux_demo_v1.0/Linux_demo/build

lan mbukak printah ing ngisor iki saka ing kono:

cmake..

Ing printah ndhuwur ".." nuduhake yen tingkat ndhuwur CMakeLists.txt ana ing direktori induk, yaiku
ST25R3911B_v2.8.0_Linux_demo_v1.0.

Printah cmake nggawe makefile sing digunakake ing langkah sabanjure kanggo mbangun perpustakaan lan aplikasi.

Langkah 4

Jalanake perintah "gawe" kanggo mbangun perpustakaan lan aplikasi RFAL:

gawe

Printah "gawe" pisanan mbangun perpustakaan RFAL lan banjur mbangun aplikasi ing ndhuwur.

Carane mbukak aplikasi

Pembinaan sing sukses ngasilake eksekusi sing jenenge "nfc_demo_st25r3911b" ing lokasi ing ngisor iki:
/bangun/aplikasi.

Kanthi gawan, aplikasi kudu mbukak kanthi hak root saka path: ST25R3911B_v2.8.0_Linux_demo_v1.0/linux_demo/build:

sudo ./demo/nfc_demo_st25r3911b

Aplikasi wiwit polling kanggo NFC tags lan telpon seluler. Nampilake piranti sing ditemokake nganggo UID kaya sing ditampilake ing Gambar 7.

Gambar 7. Tampilan piranti sing ditemokake

Gambar 7 Tampilan piranti sing ditemokake

Kanggo mungkasi aplikasi, pencet Ctrl + C.

Riwayat revisi

Tabel 1. Riwayat revisi dokumen

Tabel 1 Riwayat revisi dokumen

Dhaptar tabel

Tabel 1. Riwayat revisi dokumen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Dhaptar tokoh

Gambar 1. Pustaka RFAL ing platform Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Gambar 2. Arsitèktur piranti lunak RFAL ing Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Gambar 3. Hardware sambungan fix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Gambar 4. Posisi jumper A5, A4, A3, A2, A1 lan A0 ing papan adaptor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Gambar 5. Hardware setup top view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Gambar 6. Sisih setelan hardware view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Gambar 7. Tampilan piranti sing ditemokake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

WARTA PENTING - Wacan kanthi ati-ati

STMicroelectronics NV lan anak perusahaan ("ST") nduweni hak kanggo nggawe owahan, koreksi, dandan, modifikasi, lan dandan kanggo produk ST lan / utawa dokumen iki sawayah-wayah tanpa kabar. Para panuku kudu entuk informasi paling anyar babagan produk ST sadurunge nggawe pesenan. Produk ST didol miturut syarat lan kahanan adol ST nalika diakoni pesenan.

Para panuku mung tanggung jawab kanggo milih, milih, lan nggunakake produk ST lan ST ora duwe tanggung jawab kanggo pitulung aplikasi utawa desain produk para panuku.

Ora ana lisensi, nyata utawa diwenehake, kanggo hak properti intelektual sing diwenehake dening ST ing kene.

Adol maneh produk ST kanthi pranata sing beda karo informasi sing kasebut ing kene bakal ngilangi garansi sing diwenehake dening ST kanggo produk kasebut.

ST lan logo ST iku merek dagang saka ST. Kanggo informasi tambahan babagan merek dagang ST, waca www.st.com/trademarks. Kabeh jeneng produk utawa layanan liyane minangka properti sing nduweni.

Informasi ing dokumen iki ngganti lan ngganti informasi sing diwenehake sadurunge ing versi sadurunge dokumen iki.

© 2023 STMicroelectronics – Kabeh hak dilindhungi undhang-undhang

Dokumen / Sumber Daya

STMicroelectronics UM2375 Linux Driver [pdf] Manual pangguna
UM2375 Linux Driver, UM2375, Linux Driver, Driver

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *