UM3078-LOGO

UM3078 ST25DVXXKC Linux Tagata Ta'avale Avanoa Fa'aaogā

UM3078-ST25DVXXKC-Linux-User-Space-Driver-PRO

Folasaga

O lenei pepa o loʻo faʻaalia ai le faʻaogaina o le STSW-ST25DV009 software package e pulea ai le ST25DVXXKC dynamic NFC tag mai se Linux® platform. O le STSW-ST25DV009 polokalama fa'apipi'i e maua ai le aveta'avale avanoa fa'aoga Linux® ma nisi fa'atasiampe mafai ona fa'atulagaina e fa'agasolo i luga o so'o se Linux® platform. O le ST25DVXXKC o se NFC malosi tag, lea e mafai ona faʻatautaia e se tagata faitau RFID poʻo se telefoni NFC, e iai foʻi le I2C faʻaoga e fesoʻotaʻi ma se MCU poʻo MPU. O lo'o avanoa le ST25DVXXKC, mo fa'ata'ita'igaample, i luga o le laupapa faʻalautele X-NUCLEO-NFC07A1. Faʻamatalaga ma faʻamaumauga e fesoʻotaʻi ma vaega o le NFC, o le X-NUCLEO‑NFC07A1 faʻalautele laupapa ma le STSWST25DV009 polokalama o loʻo avanoa i luga www.st.com.

Faamoemoega

ST25DVXXKC malosi NFC/RFID tags o feso'ota'iga tu'ufa'atasi e mafai ona feso'ota'i ma mea uma e lua:

  • RFID faitau ma telefoni NFC, faʻavae ile ISO/IEC 15693 ma le NFC Forum Type 5 tag fa'amatalaga.
  • O le MCU poʻo le MPU e faʻaaoga ai le I2C interface.

O nei masini e mafai ona faʻaogaina i luga o se Linux platform e mafai ai se fesoʻotaʻiga uaealesi, e faigofie ona faʻafeiloaʻi faʻamatalaga mai se Linux platform i se telefoni (mo se faʻataʻitaʻiga: URL, GPS faamaopoopoina, Out-Of-Band faʻapipiʻi faʻamaumauga, ma isi). O le STSW‑ST25DV009 software package e maua ai le code mana'omia e pulea ai se masini ST25DVXXKC mai le avanoa fa'aoga o se Linux platform o lo'o iai le I2C controller.

Fa'atonuga polokalame

O le STSW-ST25DV009 software ua vaevaeina i ni vaega:

  • ST25DVXXKC vaega aveta'avale
  • Fonotaga lagolago a le Komiti
  • NDEF faletusi middleware
  • Sample tulafono o galuega

ST25DVXXKC vaega aveta'avale
O le aveta'avale vaega ST25DVXXKC e tu'uina atu auala e fa'atulaga ma pulea ai se masini ST25DVXXKC. O lenei vaega o le code e tuto'atasi mai meafaigaluega, ma e mana'omia ai nisi o galuega fa'avae IO e fa'atino (silasila i le Vaega 2.2 Komiti lagolago lagolago) e pei ole I2C faitau/tusi, gpio pulea. O le avetaavale vaega ST25DVXXKC files o lo'o i totonu o le Drivers/BSP/Components/ST25DVxxKC directory.

Fonotaga lagolago a le Komiti
E lua vaega eseese e fa'atinoina e le komiti lagolago:

  • O galuega ole IO maualalo e ta'ua e le aveta'avale vaega ST25DVXXKC
  • Se API ile ST25DVXXKC vaega aveta'avale auala

Le laupapa lagolago afifi files o lo'o i totonu o le Drivers/BSP/Linux directory.

galuega IO tulaga maualalo
Ole la'asaga maualalo ole IO e fa'atinoina uma galuega maualalo e mana'omia e le aveta'avale ST25DVXXKC. O lenei vaega o loʻo faʻatinoina i le Drivers/BSP/Linux directory ma le files fa'amatala i le Laulau 1.

Files Fa'amatalaga
  O nei files faatino galuega tauave e:
st25dv-i2c_linux.c • Fa'atulaga, faitau ma tusi le I2C fa'aoga
st25dv-i2c_linux.h • Maua se siaki milisecond
  O lenei code e faʻalagolago i le /dev/i2c-X file e pulea le I2C peripheral.
st25dv-i2c-gpo.c st25dv-i2c-gpo.h O nei files fa'atino galuega e fa'atulaga ma maua fa'alavelave mai le GPO pine o le ST25DVXXKC.

O lenei fa'ailoga e fa'aoga ai le /dev/gpiochipX file ma se filo tuuto e palota mo se mea na tupu i le GPIO.

 

 

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

O nei files faʻatinoina galuega e faʻapipiʻi ma pulea le maualalo o le mana i lalo pine o le ST25DVXXKC. O lenei code e fa'aoga ai mea nei filee pulea le GPIO:

•/sys/class/gpio/export

•/sys/class/gpio/gpioXX/direction

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

O nei galuega e patino i le laupapa o loʻo faʻaaogaina ma e tatau ona faʻafetaui i le faʻavae o loʻo faʻaogaina ai (silasila i le Vaega 3 Le faʻaogaina o se laupapa).

API ile ST25DVXXKC auala aveta'avale
O lenei API ua na'o se afifi faataamilo i le avetaavale vaega ST25DVXXKC. O loʻo faʻatinoina i Drivers/BSP/Linux/bsp_nfctag.c ma Aveta'avale/BSP/Linux/bsp_nfctag.h files.

NDEF faletusi middleware
Ole NFC Forum o lo'o fa'amatalaina se fa'asologa masani e fa'aoga pe a faitau/tusi se masini NFC. O lenei faatulagaga ua lauiloa o
NDEF fe'au. O lo'o fa'atinoina e le faletusi a le NDEF auala maualuga e fa'afaigofie ai ona fa'avasega fa'amaumauga i totonu ole NDEF
faiga. O lenei faletusi STMicroelectronics e tuʻuina atu o se middleware, tutoʻatasi atoatoa mai meafaigaluega ma
sau ma se fa'aoga file e fa'atino mo le tulaga fa'atatau.
I totonu o le STSW-ST25DV009 faʻapipiʻi polokalama faʻapipiʻi nei atinaʻe files o loʻo faʻatinoina i:

  • Poloketi\NDEF_URI\Src\lib_NDEF_config.c
  • Poloketi\NDEF_BLUETOOTH\Src\lib_NDEF_config.c

O le NDEF faletusi middleware files o loʻo i totonu o le Middlewares/ST/lib_nfc directory

Sample galuega faatino
I lenei vaega, o se faʻamatalaga puupuuview o le sampO galuega faatino e aofia i le STSW-ST25DV009 pack ua saunia. O le sampgaluega faatino:

  • e tatau ona fetuutuunai i le faʻatulagaina o Linux (e pei ona faʻamatalaina i le Vaega 3 Faʻafefea ona faʻapipiʻi se laupapa)
  • fa'aali i le tagata fa'aoga le fa'aogaina o API e sa'o ai le amataga ma fa'aoga le NFC/RFID malosi tag IC (ST25DVxxKC masini)

O le sampO galuega faatino o lo'o i le ./Projects directory.

  • NDEF_URI
    O lenei talosaga o loʻo faʻaalia ai le auala e tusi ai se savali URI NDEF faigofie ile ST25DVXXKC EEPROM e faʻaaoga ai le NDEF lib middleware. E fa'aalia se fe'au pe a mae'a ona tusia le fe'au. E mafai ona fa'aoga se telefoni po'o se tagata faitau NFC e faitau ai le fe'au NDEF_URI.
  • NDEF_BLUETOOTH
    O lenei talosaga o loʻo faʻaalia ai le auala e tusi ai se savali Bluetooth® OOB NDEF i le ST25DVXXKC EEPROM e faʻaaoga ai le NDEF lib middleware. E fa'aalia se fe'au pe a mae'a ona tusia le fe'au. E mafai ona fa'aoga se telefoni po'o se tagata faitau NFC e faitau ai le fe'au NDEF_BLUETOOTH.
  • GPO (fa'amoemoega lautele)
    O lenei exampLe faʻaalia le faʻaogaina ma le faʻaogaina o le GPO. A mae'a le amataga, e fa'apolokalameina se fa'alavelave e iloa ai suiga ole fanua ile latalata ile ST25DVXXKC. E fa'aalia se fe'au pe a iloa le fanua ma pe a mou atu le fanua.
  • I2CPUSI
    O lenei exampO lo'o fa'aalia ai le fa'atupuina o vaega i le ST25DVXXKC ma le auala e puipuia ai. O lo'o fa'aalia tusitusiga i luga o le fa'amafanafanaga.
  • LPD (maulalo le paoa)
    O lenei exampO lo'o fa'aalia ai le fa'agaoioi o le pine maualalo i lalo (LPD). E ala i le ulufale i le "1" poʻo le "0", ua faʻagaoioia le pine LPD pe faʻagata. A fa'agaoioia le pine LPD, e tipi ese le ST25DVXXKC VCC, e itiiti le fa'aogaina o le eletise ma e le maua le feso'ota'iga e ala i le I2C.
    Fa'aaliga: O lenei su'ega e le mafai ona faia i le X-NUCLEO‑NFC07A1 fa'alautele laupapa aua e le fa'afeso'ota'i e le laupapa se pine fa'apea.
  • Pusa meli
    O lenei exampO lo'o fa'aalia ai pe fa'apefea ona tusi se fe'au i totonu o le pusameli ma le faitau tusi resitala tulaga o le pusameli ST25DVXXKC masini. Ua fa'aalia le tusitusiga.
  • I2CC Channel
    O lenei exampLe faʻaalia le auala e suia ai le tuatusi pologa I2C ma faʻaalia ai o le tusiaina o se feʻau i totonu o le pusa meli ma le faitau tusi resitala tulaga o le ST25DVXXKC masini e galulue uma i le tuatusi pologa fou. O loʻo faʻaalia le tusitusiga ma le tuatusi pologa I2C ua toe faʻafoʻi i le tau le aoga.
    Fa'aaliga: Afai e taofi e le tagata fa'aoga le talosaga a'o le'i uma, e tatau ona fa'aoga le tuatusi pologa I2C talafeagai mo feso'ota'iga mulimuli ane ma ST25DVXXKC.
  • I2CMode
    O lenei exampLe faʻaalia pe faʻafefea ona suia le I2C pologa mode (Normal / RF Off) ma o le I2C slave mode seti i le 'RFOFF' e le toe faʻaogaina fesoʻotaʻiga NFC ae faʻatasi ai ma le I2C pologa faʻatulagaina i le 'Normal' le NFC fesoʻotaʻiga e faʻatautaia.

Fa'afefea ona fa'atulaga se laupapa

E tatau ona fetuutuuna'i la'ititi le laulau lagolago a le laupapa i le fa'atulagaina o Linux, ina ia mafai ai ona filifili le I2C peripheral e fa'afeso'ota'i ma ST25DVXXKC ma e feso'ota'i GPIO i le ST25DVXXKC GPO ma LPD pine. O fa'amatalaga mana'omia uma o lo'o lisiina i lalo file: Avetaavale/BSP/Linux/hwconfig.h.

Laulau 2. Fa'amatalaga o le fa'atulagaina o meafaigaluega:

Fa'aaliga Fa'amatala Fa'amatalaga
 I2C  ST25DV_I2C_NR O lo'o fa'amatalaina ai le I2C fa'aoga numera fa'aoga e feso'ota'i ma le ST25DVXXKC.

O le tau e faʻaaogaina e faʻamaeʻa ai le ala i le /dev/i2c-X file.

  GPO  ST25DV_GPO_GPIOCHIP O loʻo faʻamatalaina le numera GPIOCHIP e fesoʻotaʻi ma le ST25DVXXKC GPO pine.

O le tau e faʻaaoga e faʻamaeʻa ai le ala i le /dev/gpiochipX file.

ST25DV_GPO_PIN O loʻo faʻamatalaina le numera pine GPIO o le GPIOCHIP e fesoʻotaʻi ma le ST25DVXXKC GPO pine.
 LPD  ST25DV_LPD_PIN O lo'o fa'amatala ai le numera o le pine GPIO o lo'o feso'ota'i ile pine ST25DVXXKC LPD. E fa'aaogaina e fa'atau atu ai lenei GPIO.
 ST25DV_LPD_DIRECTION O loʻo faʻamatalaina le ala i le Linux file fa'amalamalamaina le GPIO fa'asinomaga feso'ota'i ile ST25DVXXKC LPD pine pei ole:

/sys/class/gpio/gpioXX/direction

 ST25DV_LPD_VALUE O loʻo faʻamatalaina le ala i le Linux file fa'amalamalamaina le tau o le GPIO e feso'ota'i ma le pine ST25DVXXKC LPD pei ole:

/sys/class/gpio/gpioXX/value

Seti meafaigaluega

Meafaigaluega manaʻomia:

  • O le PC/Virtual-machine version 16.04 poʻo le maualuga atu
  • STM32MP157F-DK2 laupapa (pusa su'esu'e)
  • X-NUCLEO-NFC07A1
  • 8 GB micro SD card e faʻaulu ai le STM32MP157F-DK2
  • SD card faitau / feso'ota'iga LAN
  • USB Type-A i Type-micro B USB cable (filifiliga)
  • USB Type A i Type-C USB cable
  • 5V 3A sapalai eletise USB PD-tausi

O le PC/Virtual-machine o lo'o fa'atūina le fa'avae fa'atupu fa'alava e fausia ai le sample tulafono ole talosaga ole poloketi. O meafaigaluega e fesoʻotaʻi faʻapea:

  1. Faʻalagolago i le STM32MP157F-DK2 suʻesuʻe laupapa I2C tulaga faʻatulagaina (masani, vave, vave +), o le X-NUCLEO-NFC07A1 faʻalautele laupapa I2C pullup resistors (R5 ma R6) e mafai ona faateleina i le 10 kΩ.
    UM3078-ST25DVXXKC-Linux-User-Space-Driver-1
  2. Fa'apipi'i le laupapa fa'alautele X-NUCLEO-NFC07A1 i luga o feso'ota'iga Arduino® i le pito i lalo ole laupapa su'esu'e STM32MP157F-DK2.
    UM3078-ST25DVXXKC-Linux-User-Space-Driver-2
  3. Afai e manaʻomia, faʻafesoʻotaʻi le ST-LINK programmer/debugger o loʻo faʻapipiʻi i luga o le laupapa suʻesuʻe e faʻafeiloaʻi ai PC e ala i le USB micro B type port (CN11).
  4. Fa'aola le laupapa su'esu'e e ala ile port USB Type C (CN6).
    UM3078-ST25DVXXKC-Linux-User-Space-Driver-3

Tu'ufa'atasia ma fa'agasolo le sample galuega faatino

Ta'itasi STSW-ST25DV009 sample poloketi e sau ma se faifile ma e mafai ona tuʻufaʻatasia e faʻaaoga ai le C compiler pei o le GCC. O le pthread Linux faletusi o loʻo faʻaaogaina e fatu ai se filo e iloa ai se mea na tupu i luga o le laina GPO, e manaʻomia lenei faletusi mo se fesoʻotaʻiga saʻo i le taimi faʻapipiʻi. Tu'ufa'atasiga ma fa'agasolo faiga:

  1. I luga ole PC talimalo:
    • kopi uma la'au ST25DVLinux files ile PC/Virtual-machine: scp -r :.
  2. I luga ole PC/Masini Virtual:
    • fa'asoa fa'atasi le talosaga (e fa'atupuina le feso'ota'iga tu'ufa'atasi executable file): cd ~ // Poloketi / faia mama uma
    • kopi exe file i le laupapa faʻatonu Linux (RPi, STM32MP157F-DK2, ...): scp ~ // Poloketi // st25dv-i2c_ root@:.
  3. I luga ole laupapa STM32MP157F-DK2:
    • tamomoe le exe kopi file: chmod +x st25dv-i2c_ ./st25dv-i2c_

Toe iloilo tala'aga 

FA'AALIGA TAUA – FAITAU MA LE FA'AMANATU

STMicroelectronics NV ma ona lala ("ST") faʻaagaga le aia tatau e fai ai suiga, faʻasaʻoga, faʻaleleia, suiga, ma faʻaleleia i ST
oloa ma/po'o lenei pepa i so'o se taimi e aunoa ma se fa'aaliga. E tatau i tagata fa'atau ona maua fa'amatalaga talafeagai lata mai i oloa ST a'o le'i tu'uina atu oka. O oloa ST o lo'o fa'atau atu e tusa ai ma tu'utu'uga ma aiaiga a le ST o lo'o fa'atau atu i le taimi e fa'ailoa ai le oka. E na'o le au fa'atau le filifiliga, filifiliga, ma le fa'aogaina o oloa ST ma e leai se noataga a le ST mo fesoasoani talosaga po'o le mamanu o oloa a tagata fa'atau. Leai se laisene, fa'aalia pe fa'aalia, i so'o se aia tatau tau le atamai ua fa'atagaina e ST i totonu. O le toe fa'atauina atu o oloa ST ma aiaiga e ese mai fa'amatalaga o lo'o fa'ailoa mai i inei e tatau ona fa'aleaogaina so'o se fa'ataga na tu'uina atu e ST mo ia oloa. ST ma le logo ST o fa'ailoga fa'ailoga a ST. Mo fa'amatalaga fa'aopoopo e uiga i fa'ailoga tau ST, va'ai ile www.st.com/trademarks. O isi igoa uma o oloa po'o auaunaga o le meatotino a latou tagata e ona. O fa'amatalaga i totonu o lenei pepa e suitulaga ma sui ai fa'amatalaga na tu'uina atu muamua i so'o se lomiga muamua o lenei pepa.
© 2022 STMicroelectronics – Ua taofia aia tatau uma

Pepa / Punaoa

ST UM3078 ST25DVXXKC Linux Tagata Ta'avale Avanoa Fa'aaogā [pdf] Tusi Taiala
UM3078 ST25DVXXKC Linux Avetaavale Avanoa Tagata Fa'aoga, UM3078 ST25DVXXKC, UM3078, ST25DVXXKC, Avetaavale Avanoa Fa'aoga Linux, UM3078 Linux Aveta'avale Avanoa Fa'aoga, ST25DVXXKC Linux Aveta'avale Avanoa Fa'aoga, Aveta'avale Fa'aoga Linux, Aveta'avale Avanoa, Aveta'avale Space, Aveta'avale Linux, Aveta'avale

Fa'asinomaga

Tuu se faamatalaga

E le fa'asalalauina lau tuatusi imeli. Fa'ailogaina fanua mana'omia *