UM3078-LOGO

UM3078 ST25DVXXKC Linux İstifadəçi Məkanı Sürücüsü

UM3078-ST25DVXXKC-Linux-İstifadəçi-Space-Sürücü-PRO

Giriş

Bu sənəd ST25DVXXKC dinamik NFC-ni idarə etmək üçün STSW-ST009DV25 proqram paketindən necə istifadə olunacağını göstərir. tag Linux® platformasından. STSW-ST25DV009 proqram paketi Linux® istifadəçi sahəsi sürücüsünü və bəzi samphər hansı bir Linux® platformasında işləmək üçün konfiqurasiya edilə bilən proqramlar. ST25DVXXKC NFC dinamikidir tagRFID oxuyucusu və ya NFC telefonu ilə idarə oluna bilən , həmçinin MCU və ya MPU ilə əlaqə saxlamaq üçün I2C interfeysinə malikdir. ST25DVXXKC mövcuddur, məsələnample, X-NUCLEO-NFC07A1 genişləndirmə lövhəsində. NFC komponentləri, X-NUCLEO‑NFC07A1 genişləndirmə lövhəsi və STSWST25DV009 proqramı ilə bağlı məlumat və sənədlər burada mövcuddur. www.st.com.

Məqsəd

ST25DVXXKC dinamik NFC/RFID tags hər ikisi ilə əlaqə saxlaya bilən inteqral sxemlərdir:

  • ISO/IEC 15693 və NFC Forum Type 5 əsasında RFID oxuyucuları və NFC telefonları tag spesifikasiyalar.
  • I2C interfeysindən istifadə edən MCU və ya MPU.

Bu cihazlar simsiz rabitəni təmin etmək, məlumatları Linux platformasından smartfona asanlıqla ötürmək üçün Linux platformasında istifadə edilə bilər (məsələn: URL, GPS koordinatları, Qrupdankənar cütləşmə məlumatları və s.). STSW‑ST25DV009 proqram paketi ST25DVXXKC cihazını I2C nəzarətçisi olan Linux platformasının istifadəçi sahəsindən idarə etmək üçün tələb olunan kodu təmin edir.

Proqram strukturu

STSW-ST25DV009 proqramı bir neçə təbəqəyə bölünür:

  • ST25DVXXKC komponent sürücü
  • İdarə heyətinə dəstək paketi
  • NDEF kitabxana ara proqramı
  • Samplayihə kodları

ST25DVXXKC komponent sürücü
ST25DVXXKC komponent drayveri ST25DVXXKC cihazını konfiqurasiya etmək və idarə etmək üsullarını təmin edir. Kodun bu hissəsi aparatdan müstəqildir və I2.2C oxuma/yazma, gpio nəzarəti kimi bəzi əsas IO funksiyalarının həyata keçirilməsini tələb edir (Bölmə 2 Lövhə dəstək paketinə baxın). ST25DVXXKC komponent sürücüsü files Drivers/BSP/Components/ST25DVxxKC kataloqundadır.

İdarə heyətinə dəstək paketi
Şuraya dəstək paketi iki fərqli aspekti həyata keçirir:

  • ST25DVXXKC komponent sürücüsü tərəfindən çağırılan aşağı səviyyəli IO funksiyaları
  • ST25DVXXKC komponent drayver metodları üçün API

Lövhə dəstək paketi files Drivers/BSP/Linux qovluğundadır.

Aşağı səviyyəli IO funksiyaları
Aşağı səviyyəli IO təbəqəsi ST25DVXXKC sürücüsü tərəfindən tələb olunan bütün aşağı səviyyəli funksiyaları həyata keçirir. Bu təbəqə Drivers/BSP/Linux kataloqunda tətbiq olunur files Cədvəl 1-də təsvir edilmişdir.

Files Təsvir
  Bunlar filefunksiyaları yerinə yetirir:
st25dv-i2c_linux.c • I2C interfeysini konfiqurasiya edin, oxuyun və yazın
st25dv-i2c_linux.h • Bir millisaniyə işarəsi alın
  Bu kod /dev/i2c-X-ə əsaslanır file I2C periferiyasına nəzarət etmək.
st25dv-i2c-gpo.c st25dv-i2c-gpo.h Bunlar files ST25DVXXKC-nin GPO pinindən kəsintiləri konfiqurasiya etmək və qəbul etmək funksiyalarını həyata keçirir.

Bu kod /dev/gpiochipX istifadə edir file və GPIO-da bir hadisə üçün sorğu üçün xüsusi mövzu.

 

 

st25dv-i2c-lpd.c st25dv-i2c-lpd.h

Bunlar files ST25DVXXKC-nin aşağı gücü azaltma pinini konfiqurasiya etmək və idarə etmək üçün funksiyaları həyata keçirir. Bu kod aşağıdakılardan istifadə edir fileGPIO-ya nəzarət etmək üçün:

•/sys/class/gpio/export

•/sys/class/gpio/gpioXX/istiqamət

• /sys/class/gpio/gpioXX/value.

Bu funksiyalar istifadə olunan lövhəyə xasdır və onların istifadə olunduğu platformaya uyğunlaşdırılmalıdır (bax. Bölmə 3-cü lövhəni konfiqurasiya etmək).

API-dən ST25DVXXKC sürücü üsullarına
Bu API yalnız ST25DVXXKC komponent drayverinin ətrafındakı sarğıdır. O, Drivers/BSP/Linux/bsp_nfc-də həyata keçirilirtag.c və Drivers/BSP/Linux/bsp_nfctag.h files.

NDEF kitabxana ara proqramı
NFC Forumu NFC cihazını oxuyarkən/yazarkən istifadə ediləcək standart formatı müəyyən edir. Bu format kimi tanınır
NDEF mesajları. NDEF kitabxanası məlumatları asanlıqla NDEF-ə uyğun formatlaşdırmaq üçün yüksək səviyyəli metodlar tətbiq edir
tərzdə. Bu STMicroelectronics kitabxanası aparat və avadanlıqdan tam müstəqil olaraq orta proqram kimi təqdim edilir
interfeysi ilə gəlir file hədəf platforma üçün həyata keçirilməlidir.
STSW-ST25DV009 proqram paketində bu interfeys files həyata keçirilir:

  • Layihələr\NDEF_URI\Src\lib_NDEF_config.c
  • Layihələr\NDEF_BLUETOOTH\Src\lib_NDEF_config.c

NDEF kitabxana ara proqramı files Middlewares/ST/lib_nfc kataloqundadır

Samplayihələr
Bu bölmədə, qısacaview sampSTSW-ST25DV009 paketinə daxil olan layihələr təqdim olunur. samplayihələr:

  • hədəflənmiş Linux platformasına uyğunlaşdırılmalıdır (bölmə 3-də lövhənin konfiqurasiyası haqqında izah edildiyi kimi)
  • dinamik NFC/RFID-i düzgün işə salmaq və istifadə etmək üçün istifadəçiyə API-lərdən necə istifadə edəcəyini göstərin tag IC (ST25DVxxKC cihazı)

Sample layihələr ./Projects kataloqundadır.

  • NDEF_URI
    Bu proqram NDEF lib ara proqramından istifadə edərək ST25DVXXKC EEPROM-a sadə URI NDEF mesajının necə yazılacağını göstərir. Mesaj uğurla yazıldıqda mesaj göstərilir. NDEF_URI mesajını oxumaq üçün smartfon və ya NFC oxuyucusu istifadə edilə bilər.
  • NDEF_BLUETOOTH
    Bu proqram NDEF lib ara proqramından istifadə edərək ST25DVXXKC EEPROM-a Bluetooth® OOB NDEF mesajının necə yazılacağını göstərir. Mesaj uğurla yazıldıqda mesaj göstərilir. NDEF_BLUETOOTH mesajını oxumaq üçün smartfon və ya NFC oxuyucusu istifadə edilə bilər.
  • GPO (ümumi təyinatlı çıxış)
    Bu keçmişample GPO-nun necə aktivləşdiriləcəyini və istifadə olunacağını göstərir. Başladıqdan sonra ST25DVXXKC yaxınlığındakı sahə dəyişikliklərini aşkar etmək üçün kəsmə proqramlaşdırılır. Sahə aşkar edildikdə və sahə yox olduqda mesaj göstərilir.
  • I2 MÜDAFİƏ
    Bu keçmişample ST25DVXXKC-də sahələrin necə yaradılacağını və onların necə qorunacağını göstərir. Mətn konsolda göstərilir.
  • LPD (aşağı gücün azalması)
    Bu keçmişample aşağı gücü azaltma (LPD) pininin necə aktivləşdiriləcəyini göstərir. “1” və ya “0” daxil etməklə LPD pin aktivləşdirilir və ya söndürülür. LPD pin aktivləşdirildikdə, ST25DVXXKC VCC kəsilir, enerji istehlakı minimumdur və I2C vasitəsilə əlaqə mövcud deyil.
    Qeyd: Bu test X-NUCLEO‑NFC07A1 genişləndirmə lövhəsi ilə aparıla bilməz, çünki lövhə belə pin qoşmur.
  • Poçt qutusu
    Bu keçmişample poçt qutusuna mesaj yazmağı və ST25DVXXKC cihazının poçt qutusunun status reyestrini necə oxumağı göstərir. Mətn göstərilir.
  • I2CCkanal
    Bu keçmişample I2C qul ünvanının necə dəyişdiriləcəyini göstərir və ST25DVXXKC cihazının poçt qutusuna mesaj yazmağın və poçt qutusu status reyestrinin oxunmasının hər ikisinin yeni qul ünvanı ilə işlədiyini göstərir. Mətn göstərilir və I2C qul ünvanı standart dəyərə qaytarılır.
    Qeyd: Əgər istifadəçi proqramı bitməmiş dayandırarsa, ST2DVXXKC ilə sonrakı əlaqə üçün müvafiq I25C qul ünvanından istifadə edilməlidir.
  • I2CMode
    Bu keçmişample I2C qul rejiminin (Normal/RF Söndürülməsi) necə dəyişdiriləcəyini və I2C kölə rejimi 'RFOFF' olaraq təyin olunduqda daha NFC rabitəsinin idarə olunmadığını, I2C kölə rejimində isə 'Normal' olaraq NFC rabitəsinin işləndiyini göstərir.

Lövhəni necə konfiqurasiya etmək olar

ST2DVXXKC və GPIO-ların ST25DVXXKC GPO və LPD sancaqlarına qoşulması üçün I25C periferiyasını seçmək üçün lövhənin dəstək paketi təbəqəsi hədəflənmiş Linux platformasına bir qədər uyğunlaşdırılmalıdır. Bütün tələb olunan təriflər aşağıda verilmişdir file: Drivers/BSP/Linux/hwconfig.h.

Cədvəl 2. Aparat konfiqurasiyasının tərifi:

Xüsusiyyət Müəyyən edin Təsvir
 I2C  ST25DV_I2C_NR O, ST2DVXXKC ilə əlaqə saxlamaq üçün istifadə olunan I25C periferik nömrəsini müəyyən edir.

Dəyər /dev/i2c-X-ə gedən yolu tamamlamaq üçün istifadə olunur file.

  GPO  ST25DV_GPO_GPIOCHIP O, ST25DVXXKC GPO pininə qoşulmuş GPIOCHIP nömrəsini müəyyən edir.

Dəyər /dev/gpiochipX-ə gedən yolu tamamlamaq üçün istifadə olunur file.

ST25DV_GPO_PIN O, ST25DVXXKC GPO pininə qoşulmuş GPIOCHIP-in GPIO pin nömrəsini müəyyən edir.
 LPD  ST25DV_LPD_PIN O, ST25DVXXKC LPD pininə qoşulmuş qlobal GPIO pin nömrəsini müəyyən edir. Bu GPIO-nu ixrac etmək üçün istifadə olunur.
 ST25DV_LPD_DIRECTION Linux-a gedən yolu müəyyənləşdirir file ST25DVXXKC LPD pininə qoşulmuş GPIO istiqamətinin müəyyən edilməsi, məsələn:

/sys/class/gpio/gpioXX/istiqamət

 ST25DV_LPD_VALUE Linux-a gedən yolu müəyyənləşdirir file ST25DVXXKC LPD pininə qoşulmuş GPIO dəyərinin müəyyən edilməsi, məsələn:

/sys/class/gpio/gpioXX/value

Aparat quraşdırması

Təchizat tələbləri:

  • Ubuntu əsaslı PC/Virtual maşın versiyası 16.04 və ya daha yüksək
  • STM32MP157F-DK2 lövhəsi (kəşf dəsti)
  • X-NUCLEO-NFC07A1
  • STM8MP32F-DK157-ni yükləmək üçün 2 GB mikro SD kart
  • SD kart oxuyucusu / LAN bağlantısı
  • USB Type-A - Type-micro B USB kabel (isteğe bağlı)
  • USB Tip A-dan Type-C USB kabeli
  • USB PD uyğun 5V 3A enerji təchizatı

PC/Virtual maşın s qurmaq üçün çarpaz inkişaf platformasını təşkil ediramplayihələrin proqram kodu. Avadanlıq aşağıdakı kimi bağlanır:

  1. STM32MP157F-DK2 kəşf lövhəsinin I2C konfiqurasiya rejimindən (normal, sürətli, sürətli+) asılı olaraq, X-NUCLEO-NFC07A1 genişləndirmə lövhəsi I2C çəkmə rezistorları (R5 və R6) 10 kΩ-a qədər artırıla bilər.
    UM3078-ST25DVXXKC-Linux-İstifadəçi-Space-Driver-1
  2. X-NUCLEO-NFC07A1 genişləndirmə lövhəsini STM32MP157F-DK2 kəşf lövhəsinin alt tərəfindəki Arduino® konnektorlarına qoşun.
    UM3078-ST25DVXXKC-Linux-İstifadəçi-Space-Driver-2
  3. Tələb olunarsa, kəşf lövhəsində quraşdırılmış ST-LINK proqramçısını/sazlayıcısını USB mikro B tipli port (CN11) vasitəsilə PC-yə qoşun.
  4. Tapma lövhəsini USB Type C portu (CN6) vasitəsilə gücləndirin.
    UM3078-ST25DVXXKC-Linux-İstifadəçi-Space-Driver-3

s-nin tərtibi və icrasıamplayihələr

Hər STSW-ST25DV009 sample layihə bir make ilə gəlirfile və GCC kimi bir C kompilyatorundan istifadə etməklə tərtib edilə bilər. Pthread Linux kitabxanası GPO xəttində hadisə aşkarlayan mövzu yaratmaq üçün istifadə olunur, bu kitabxana tərtib zamanı düzgün əlaqə üçün tələb olunur. Kompilyasiya və icra prosedurları:

  1. PC hostunda:
    • bütün ST25DVLinux ağacını kopyalayın files PC/Virtual maşına: scp -r :.
  2. PC/Virtual maşında:
    • tətbiqi çarpaz tərtib edin (bu, statik olaraq əlaqəli icra edilə bilən fayl yaradır file): cd ~//Projects/ hamısını təmizləyin
    • exe kopyalayın file Linux hədəf lövhəsinə (RPi, STM32MP157F-DK2, …): scp ~//Projects//st25dv-i2c_ root@:.
  3. STM32MP157F-DK2 lövhəsində:
    • kopyalanan exe-ni işə salın file: chmod +x st25dv-i2c_ ./st25dv-i2c_

Təftiş tarixi 

Vacib XƏBƏRDARLIQ – DİQQƏTLİ OXUYUN

STMicroelectronics NV və onun törəmə müəssisələri (“ST”) ST-yə dəyişikliklər, düzəlişlər, təkmilləşdirmələr, modifikasiyalar və təkmilləşdirmələr etmək hüququnu özündə saxlayır.
məhsullara və/və ya bu sənədə istənilən vaxt xəbərdarlıq etmədən. Alıcılar sifariş verməzdən əvvəl ST məhsulları haqqında ən son müvafiq məlumatları əldə etməlidirlər. ST məhsulları, sifarişin qəbulu zamanı mövcud olan ST-nin satış şərtlərinə uyğun olaraq satılır. Alıcılar ST məhsullarının seçimi, seçimi və istifadəsi üçün yalnız məsuliyyət daşıyırlar və ST tətbiq yardımı və ya alıcıların məhsullarının dizaynı üçün heç bir məsuliyyət daşımır. ST tərəfindən hər hansı əqli mülkiyyət hüququna açıq və ya nəzərdə tutulan heç bir lisenziya verilmir. ST məhsullarının burada göstərilən məlumatdan fərqli müddəalarla yenidən satışı ST tərəfindən belə məhsul üçün verilən hər hansı zəmanəti ləğv edir. ST və ST loqosu ST-nin ticarət nişanlarıdır. ST ticarət nişanları haqqında əlavə məlumat üçün baxın www.st.com/trademarks. Bütün digər məhsul və ya xidmət adları müvafiq sahiblərinin mülkiyyətidir. Bu sənəddəki məlumatlar bu sənədin hər hansı əvvəlki versiyalarında əvvəllər verilmiş məlumatları əvəz edir və əvəz edir.
© 2022 STMicroelectronics – Bütün hüquqlar qorunur

Sənədlər / Resurslar

ST UM3078 ST25DVXXKC Linux İstifadəçi Məkanı Sürücüsü [pdf] İstifadəçi Təlimatı
UM3078 ST25DVXXKC Linux İstifadəçi Məkanı Sürücüsü, UM3078 ST25DVXXKC, UM3078, ST25DVXXKC, Linux İstifadəçi Məkanı Sürücüsü, UM3078 Linux İstifadəçi Məkanı Sürücüsü, ST25DVXXKC Linux İstifadəçi Məkanı Sürücüsü, Linux İstifadəçisi Sürücüsü, İstifadəçi Məkanı Sürücüsü, Linux Sürücüsü, Kosmik Sürücü

İstinadlar

Şərh buraxın

E-poçt ünvanınız dərc olunmayacaq. Tələb olunan sahələr qeyd olunub *