STMicroelectronics UM2375 Linux Sürücüsü Kullanım Kılavuzu

STMicroelectronics UM2375 Linux Driver User Manual

STMicroelectronics UM2375 Linux Sürücüsü Kullanım Kılavuzu

STMicroelectronics Logo

ST25R3911B ve ST25R3912/14/15 yüksek performanslı NFC ön uçları için Linux® sürücüsü

giriiş

STSW-ST25R009 Linux® sürücüsü, Raspberry Pi 4'ün, ST05R1B yüksek performanslı NFC evrensel cihazını içeren X-NUCLEO-NFC25A3911 ile çalışmasını sağlar.

Bu paket, RF soyutlama katmanını (RFAL), X-NUCLEO-NFC4A05 ürün yazılımıyla çalışacak şekilde Raspberry Pi 1 Linux platformuna taşır. Paket şu şekilde sağlar:ampFarklı NFC türlerini algılayan dosya uygulaması tags ve P2P'yi destekleyen cep telefonları. RFAL, ST25R NFC/RFID Okuyucu IC'leri ST25R3911B, ST25R3912, ST25R3913, ST25R3914 ve ST25R3915 için ST standart sürücüsüdür. Örneğin ST25R3911B-DISCO donanım yazılımı (STSW-ST25R002) ve X-NUCLEONFC05A1 donanım yazılımı (X-CUBE-NFC5) tarafından kullanılır.

STSW-ST25R009, tüm ST25R3911B alt katman protokollerini ve ayrıca iletişim için bazı yüksek katman protokollerini destekler. RFAL taşınabilir bir şekilde yazılmıştır, dolayısıyla Linux® tabanlı çok çeşitli cihazlarda çalışabilir. Bu belge, RFAL kitaplığının standart bir Linux sisteminde (bu durumda Raspberry Pi 4) NFC/RF iletişimi için nasıl kullanılabileceğini açıklamaktadır. Kod son derece taşınabilirdir ve herhangi bir Linux platformunda küçük değişikliklerle çalışır.

Şekil 1. Linux platformundaki RFAL kütüphanesi

Şekil 1 Linux platformundaki RFL kütüphanesi

Üzerindeview

Özellikler
  • 25 W'a kadar çıkış gücüne sahip ST3911R25B/ST391R1.4x yüksek performanslı NFC ön uçlarını kullanarak NFC özellikli uygulamalar oluşturmak için eksiksiz Linux kullanıcı alanı sürücüsü (RF soyutlama katmanı)
  • SPI arayüzünü kullanarak ST25R3911B/ST25R391x ile Linux ana bilgisayar iletişimi
  • Tüm ana teknolojiler ve daha yüksek katman protokolleri için eksiksiz RF/NFC soyutlaması (RFAL):
    • NFC-A (ISO14443-A)
    • NFC-B (ISO14443-B)
    • NFC-F (FeliCa™)
    • NFC-V (ISO15693)
    • P2P (ISO18092)
    • ISO-DEP (ISO veri alışverişi protokolü, ISO14443-4)
    • NFC-DEP (NFC veri alışverişi protokolü, ISO18092)
    • Tescilli teknolojiler (Kovio, B', iClass, Calypso®, …)
  • SampDosya uygulaması, Raspberry Pi 05'e takılan X-NUCLEO-NFC1A4 genişletme kartıyla kullanılabilir
  • Sampbirkaç NFC'yi algılamak için le uygulaması tag P2P'yi destekleyen türler ve cep telefonları
  • Ücretsiz kullanıcı dostu lisans koşulları
Yazılım mimarisi

Şekil 2, bir Linux® platformundaki RFAL kütüphanesinin yazılım mimarisi ayrıntılarını göstermektedir.

RFAL, sözde platforma uyarlanarak diğer platformlara kolaylıkla taşınabilir. files.

Başlık file rfal_platform.h platform sahibi tarafından sağlanması ve uygulanması gereken makro tanımları içerir. Ayrıca RFAL'ın doğru çalışması için gerekli olan GPIO ataması, sistem kaynakları, kilitler ve IRQ'lar gibi platforma özgü ayarları sağlar.

Bu gösterim, platform işlevlerini uygular ve RFAL kitaplığının Linux® kullanıcı alanına bir bağlantı noktasını sağlar. Paylaşılan bir kütüphane file RFAL katmanı tarafından sağlanan işlevleri sergilemek için demo uygulaması tarafından kullanılan oluşturulur.

Linux® ana bilgisayarı, ST25R3911B cihazıyla SPI iletişimini etkinleştirmek için Linux® kullanıcı alanından temin edilebilen sysfs arayüzünü kullanır. Linux® çekirdeğinin içindeki SPI sysfs arayüzü, ST25R3911B'ye SPI çerçeveleri göndermek/almak için Linux® çekirdek sürücüsü spidev'i kullanır.

ST25R3911B'nin kesme hattını yönetmek için sürücü, bu hattaki değişikliklerden haberdar olmak için libgpiod'u kullanır.

Şekil 2. Linux'ta RFAL yazılım mimarisi

Şekil 2 Linux'ta RFAL yazılım mimarisi

Donanım Kurulumu

Kullanılan platform

Raspberry Pi işletim sistemine sahip bir Raspberry Pi 4 kartı, RFAL kitaplığı oluşturmak ve SPI üzerinden ST25R3911B ile etkileşim kurmak için Linux platformu olarak kullanılır.
ST25R3911B, Linux platformundaki bir uygulamanın NFC cihazlarını algılamasını ve iletişim kurmasını sağlar.

Donanım gereksinimleri
  • Ahududu Pi 4
  • Raspberry Pi OS'yi başlatmak için 8 GB'lık mikro SD kart
  • SD kart okuyucu
  • X-NUCLEO-NFC05A1'i Raspberry Pi için Raspberry Pi Arduino Adaptörüne bağlamak için köprü kartı, parça numarası ARPI600.
  • X-NUCLEO-NFC05A1. En son Raspberry Pi işletim sistemi gereksinimlerine bakın.

Donanım bağlantıları

ARPI600 Raspberry Pi'den Arduino'ya adaptör panosu, X-NUCLEO-NFC05A1'i Raspberry Pi'ye bağlamak için kullanılır. Adaptör kartını X-NUCLEO-NFC05A1'e bağlamak için atlama tellerini değiştirmek gerekir.

Dikkat: ARPI600, Arduino IOREF pinine hatalı bir şekilde 5 V sağlıyor. X-NUCLEO-NFC05A1'in bazı pinlere 5 V geri beslemesini doğrudan takmak Raspberry Pi kartına zarar verebilir. Özellikle Raspberry Pi 4B+'ın gerçekten yok edildiğine dair raporlar var. Bu durumu önlemek için ya ARPI600'ü (oldukça zor bir işlem) ya da X-NUCLEO-NFC05A1'i (daha kolay bir işlem) uyarlayın.

En kolay düzeltme, X-NUCLEO-NFC6.2A05 üzerindeki CN1 (IOREF) pinini Şekil 3'te gösterildiği gibi kesmektir.

Bu pimin kesilmesi, Nucleo kartlarıyla (NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB, vb.) birlikte çalışmayı etkilemez.

Şekil 3. Donanım bağlantısı düzeltmesi

Şekil 3 Donanım bağlantısı düzeltmesi

Atlama teli ayarı

Şekil 5'te gösterilen A4, A3, A2, A1, A0 ve A4 jumper'larının P23, P22, P21 ve CE1 olarak değiştirilmesi gerekir. Bu jumper ayarı ile Raspberry'nin 7 numaralı GPIO pini X-NUCLEO-NFC05A1 için kesme hattı olarak kullanılır.

Şekil 4. A5, A4, A3, A2, A1 ve A0 atlama tellerinin adaptör kartı üzerindeki konumu

Şekil 4 Jumper'ların konumu

Şu anda bu RFAL kitaplık bağlantı noktası, atlama kablosu ayarlarına göre kesme hattı olarak GPIO7 pinini kullanıyor. Kesinti hattını GPIO7'den farklı bir GPIO'ya değiştirme gereksinimi varsa, platforma özel kod (içinde) file pltf_gpio.h) “ST25R_INT_PIN” makrosunun tanımını 7'den kesme hattı olarak kullanılacak yeni GPIO pinine değiştirmek için değiştirilmesi gerekir.

Yukarıdaki jumper ayarlarıyla adaptör kartı X-NUCLEO-NFC05A1'i Şekil 5'te gösterildiği gibi Raspberry Pi kartına bağlamak için kullanılabilir.

Şekil 5. Donanım kurulumu üst kısmı view

Şekil 5 Donanım kurulumu üst kısmı view

Şekil 6. Donanım kurulumu tarafı view

Şekil 6 Donanım kurulumu tarafı view

Linux ortamı kurulumu

Raspberry Pi'nin başlatılması

Linux ortamını kurmak için ilk adım, Raspberry Pi 4'ü Raspberry Pi OS ile aşağıda açıklandığı gibi kurup önyükleme yapmaktır:

Adım 1

En son Raspberry Pi OS görüntüsünü şu bağlantıdan indirin:

Masaüstü ile Raspberry Pi OS'yi seçin. Aşağıdaki testler için şu sürüm kullanıldı: Eylül 2022 (2022-09-22-raspios-bullseye-armhf.img.xz).

Adım 2

Raspberry Pi imajını zipten çıkarın ve “SD karta resim yazma” bölümündeki talimatları takip ederek SD karta yazın.

Adım 3

Donanımı bağlayın:

  • Raspberry Pi'yi standart bir HDMI kablosu kullanarak bir monitöre bağlayın.
  • Fareyi ve klavyeyi Raspberry Pi'nin USB bağlantı noktalarına bağlayın.

Raspberry Pi ile ssh kullanarak da çalışmak mümkün. Bu durumda monitör, klavye ve farenin Raspberry Pi'ye bağlanmasına gerek yoktur. Tek gereksinim, ssh'li bilgisayarın Raspberry Pi ile aynı ağ içinde olması ve IP adresini buna göre yapılandırmaktır.

Adım 4

Raspberry Pi'yi SD kartla başlatın.

Önyükleme sonrasında monitörde Debian tabanlı bir Linux masaüstü beliriyor.

Not: Bazen Raspberry Pi açıldıktan sonra bazı klavye tuşlarının çalışmadığı görülmektedir. Bunları çalıştırmak için açın file /etc/default/keyboard ve XKBLAYOUT=”us” ayarını yapın ve Raspberry Pi'yi yeniden başlatın.

Raspberry Pi'de SPI'yi etkinleştirin

Çekirdeğin içindeki SPI sürücüsü, SPI aracılığıyla X-NUCLEO-NFC05A1 ile iletişim kurar. Raspberry Pi OS/çekirdek yapılandırmasında SPI'nin zaten etkin olup olmadığını kontrol etmek önemlidir.
/dev/spidev0.0'ın Raspberry Pi ortamında görünür olup olmadığını kontrol edin. Görünmüyorsa aşağıda açıklanan adımları izleyerek “raspi-config” yardımcı programını kullanarak SPI arayüzünü etkinleştirin.

Adım 1

Raspberry Pi üzerinde yeni bir terminal açın ve “raspi-config” komutunu root olarak çalıştırın:

sudo raspi-config

Bu adım grafiksel bir arayüz açar.

Adım 2

Grafik arayüzde “Arayüz Seçenekleri” adlı seçeneği seçin.

Adım 3

Bu adımda çeşitli seçenekler listelenir.
“SPI” adlı seçeneği seçin.
Aşağıdaki metni içeren yeni bir pencere açılır:
“SPI arayüzünün etkinleştirilmesini ister misiniz?”

Adım 4

Seçme SPI'yi etkinleştirmek için bu pencerede.

Adım 5

Raspberry Pi'yi yeniden başlatın.
Yukarıdaki adımlar, yeniden başlatmanın ardından Raspberry Pi ortamında SPI arayüzünü etkinleştirecektir.

RFAL kütüphanesi ve uygulamasının oluşturulması

Linux'un RFAL demosu bir arşivde sunulmaktadır. İsminin şöyle olduğunu varsayalım:
ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz.
RFAL kütüphanesini ve uygulamasını Raspberry Pi üzerinde oluşturmak için aşağıdaki adımları izleyin:

Adım 1

Ana dizinden aşağıdaki komutu kullanarak paketi Raspberry Pi'de açın:

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

Adım 2

Daha önce yapmadıysanız aşağıdaki komutu kullanarak cmake'i yükleyin:

apt-get cmake'i yükle

RFAL kütüphanesi ve uygulama derleme sistemi cmake'yi temel alır, bu nedenle paketin derlenmesi için cmake'nin kurulması gerekir.

Adım 3

RFAL kütüphanesini ve uygulamasını oluşturmak için “build” dizinine gidin:

cd ST25R3911B_v2.8.0_Linux_demo_v1.0/Linux_demo/build

ve oradan aşağıdaki komutu çalıştırın:

yap ..

Yukarıdaki komutta “..” üst dizinde üst düzey CMakeLists.txt dosyasının mevcut olduğunu gösterir;
ST25R3911B_v2.8.0_Linux_demo_v1.0.

Cmake komutu make'i oluştururfile bir sonraki adımda kitaplığı ve uygulamayı oluşturmak için kullanılır.

Adım 4

RFAL kütüphanesini ve uygulamasını oluşturmak için “make” komutunu çalıştırın:

yapmak

“Make” komutu önce RFAL kütüphanesini oluşturur ve ardından uygulamayı bunun üzerine kurar.

Uygulama nasıl çalıştırılır

Başarılı oluşturma, aşağıdaki konumda "nfc_demo_st25r3911b" adlı bir yürütülebilir dosya oluşturur:
/build/uygulamalar.

Varsayılan olarak uygulamanın şu yoldan kök haklarıyla çalıştırılması gerekir: ST25R3911B_v2.8.0_Linux_demo_v1.0/linux_demo/build:

sudo ./demo/nfc_demo_st25r3911b

Uygulama NFC için yoklama yapmaya başlar tags ve cep telefonları. Bulunan cihazları Şekil 7'de gösterildiği gibi UID'leriyle birlikte görüntüler.

Şekil 7. Bulunan cihazların gösterimi

Şekil 7 Bulunan cihazların gösterimi

Uygulamayı sonlandırmak için Ctrl + C tuşlarına basın.

Revizyon geçmişi

Tablo 1. Belge revizyon geçmişi

Tablo 1 Belge revizyon geçmişi

Tabloların listesi

Tablo 1. Belge revizyon geçmişi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Şekiller listesi

Şekil 1. Linux platformundaki RFAL kütüphanesi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Şekil 2. Linux'ta RFAL yazılım mimarisi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Şekil 3. Donanım bağlantısı düzeltmesi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Şekil 4. A5, A4, A3, A2, A1 ve A0 atlama tellerinin adaptör kartı üzerindeki konumu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Şekil 5. Donanım kurulumu üst kısmı view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Şekil 6. Donanım kurulumu tarafı view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Şekil 7. Bulunan cihazların görüntülenmesi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

ÖNEMLİ UYARI – DİKKATLİCE OKUYUN

STMicroelectronics NV ve bağlı şirketleri ("ST"), ST ürünlerine ve/veya bu belgeye herhangi bir zamanda bildirimde bulunmaksızın değişiklik, düzeltme, geliştirme, modifikasyon ve iyileştirme yapma hakkını saklı tutar. Alıcılar, sipariş vermeden önce ST ürünleriyle ilgili en son ilgili bilgileri edinmelidir. ST ürünleri, sipariş onayı sırasında yürürlükte olan ST'nin satış şartları ve koşullarına uygun olarak satılır.

Alıcılar, ST ürünlerinin seçimi, seçimi ve kullanımı konusunda münhasıran sorumludur ve ST, uygulama yardımı veya alıcıların ürünlerinin tasarımı konusunda hiçbir sorumluluk kabul etmez.

ST tarafından burada herhangi bir fikri mülkiyet hakkına ilişkin açık veya örtük hiçbir lisans verilmemektedir.

ST ürünlerinin burada belirtilen bilgilerden farklı hükümlerle yeniden satışı, ST tarafından söz konusu ürün için verilen her türlü garantiyi geçersiz kılar.

ST ve ST logosu, ST'nin ticari markalarıdır. ST ticari markaları hakkında ek bilgi için bkz. www.st.com/ticari markalarDiğer tüm ürün veya hizmet adları ilgili sahiplerinin mülkiyetindedir.

Bu belgedeki bilgiler, bu belgenin önceki sürümlerinde sağlanan bilgilerin yerini alır ve bu bilgilerin yerine geçer.

© 2023 STMicroelectronics – Tüm hakları saklıdır

Belgeler / Kaynaklar

PDF thumbnailUM2375 Linux Sürücüsü
User Manual · UM2375 Linux Driver, UM2375, Linux Driver, Driver

Referanslar

Bir Soru Sorun

Use this section to ask about setup, compatibility, troubleshooting, or anything missing from this manual.

Bir Soru Sorun

Ask about setup, compatibility, troubleshooting, or anything missing from this manual. Name and email are optional.