UM3078-LOGO

UM3078 ST25DVXXKC Linux onye ọrụ ohere ọkwọ ụgbọ ala

UM3078-ST25DVXXKC-Linux-Onye ọrụ-Oghere-ọkwọ ụgbọala-PRO

Okwu mmalite

Akwụkwọ a na-egosi otu esi eji ngwungwu ngwanrọ STSW-ST25DV009 jikwaa ST25DVXXKC siri ike NFC tag site na Linux® ikpo okwu. Ngwa ngwanrọ STSW-ST25DV009 na-enye Linux® onye ọkwọ ụgbọ ala ohere yana ụfọdụ exampEnwere ike ịhazi nke ahụ ka ọ na-agba ọsọ n'elu ikpo okwu Linux ọ bụla. ST25DVXXKC bụ NFC ike tag, nke onye na-agụ RFID ma ọ bụ ekwentị NFC nwere ike ijikwa ya, ọ nwekwara interface I2C iji kparịta ụka na MCU ma ọ bụ MPU. ST25DVXXKC dị, maka example, na bọọdụ mgbasawanye X-NUCLEO-NFC07A1. Ozi na akwụkwọ metụtara akụkụ NFC, bọọdụ mgbasawanye X-NUCLEO-NFC07A1 yana ngwa STSWST25DV009 dị na www.st.com.

Ebumnuche

ST25DVXXKC NFC/RFID ike tags bụ sekit agbakwunyere nwere ike ịkparịta ụka na ha abụọ:

  • Ndị na-agụ RFID na ekwentị NFC, dabere na ISO/IEC 15693 na NFC Forum Ụdị 5. tag nkọwa.
  • Otu MCU ma ọ bụ MPU na-eji interface I2C.

Enwere ike iji ngwaọrụ ndị a n'elu ikpo okwu Linux iji mee ka nkwukọrịta ikuku nwee ike ịnyefe data ngwa ngwa site na ikpo okwu Linux gaa na ama (dịka ọmụmaatụ: URL, GPS nhazi, Out-Of-band data pairing data, and on). Ngwa ngwanrọ STSW-ST25DV009 na-enye koodu achọrọ iji jikwaa ngwaọrụ ST25DVXXKC site na oghere onye ọrụ nke ikpo okwu Linux nwere njikwa I2C.

Nhazi ngwanrọ

E kewara sọftụwia STSW-ST25DV009 n'ọtụtụ ọkwa:

  • Onye ọkwọ ụgbọ ala ST25DVXXKC
  • ngwugwu nkwado osisi
  • NDEF ọbá akwụkwọ middleware
  • Sampkoodu oru ngo

Onye ọkwọ ụgbọ ala ST25DVXXKC
Onye ọkwọ ụgbọ ala ST25DVXXKC na-enye ụzọ iji hazie na jikwaa ngwaọrụ ST25DVXXKC. Akụkụ a nke koodu ahụ nwere onwe ya na ngwaike, ọ na-achọkwa ka emejuputa ụfọdụ ọrụ IO (lee ngalaba 2.2 ngwugwu nkwado Board) dị ka I2C ịgụ / dee, njikwa gpio. Onye ọkwọ ụgbọ ala ST25DVXXKC files dị na ndị ọkwọ ụgbọala/BSP/Components/ST25DVxxKC ndekọ.

ngwugwu nkwado osisi
Ngwungwu nkwado bọọdụ na-arụ akụkụ abụọ dị iche iche:

  • Ọrụ IO dị ala nke onye ọkwọ ụgbọ ala ST25DVXXKC na-akpọ
  • API na ụzọ ọkwọ ụgbọ ala ST25DVXXKC

Ngwungwu nkwado osisi files dị na ndekọ ọkwọ ụgbọala/BSP/Linux.

Ọrụ IO dị ala
Igwe oyi akwa IO dị ala na-arụ ọrụ niile dị ala nke onye ọkwọ ụgbọ ala ST25DVXXKC chọrọ. A na-emejuputa akwa akwa a na ndekọ ndị ọkwọ ụgbọ ala/BSP/Linux nwere ya files kọwara na tebụl 1.

Files Nkọwa
  Ndị a filemejuputa ọrụ ndị a:
st25dv-i2c_linux.c • Hazie, gụọ na dee interface I2C
st25dv-i2c_linux.h • Nweta akọrọ millisekọnd
  Koodu a dabere na /dev/i2c-X file iji weghara I2C peripheral.
st25dv-i2c-gpo.c st25dv-i2c-gpo.h Ndị a files mejuputa ọrụ ahụ iji hazie ma nweta nkwụsịtụ site na pin GPO nke ST25DVXXKC.

Koodu a na-eji /dev/gpiochipX file na eriri raara onwe ya nye maka ntuli aka maka emume na GPIO.

 

 

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

Ndị a files mejuputa atumatu iji hazie na jikwaa obere ike ala nke ST25DVXXKC. Koodu a na-eji ihe ndị a files ijikwa GPIO:

•/sys/klas/gpio/bupu

•/sys/klas/gpio/gpioXX/direction

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

Ọrụ ndị a bụ kpọmkwem na bọọdụ eji eme ihe, a ga-emerịrị ya ka ọ dị n'elu ikpo okwu a na-eji ha eme ihe (lee Nkebi nke 3 Otu esi ahazi bọọdụ).

API gaa na ụzọ ọkwọ ụgbọ ala ST25DVXXKC
API a bụ naanị ihe mkpuchi ihe n'akụkụ ọkwọ ụgbọ ala ST25DVXXKC. A na-emejuputa ya na Drivers/BSP/Linux/bsp_nfctag.c na ndị ọkwọ ụgbọala/BSP/Linux/bsp_nfctag.h files.

NDEF ọbá akwụkwọ middleware
Nzukọ NFC na-akọwa usoro ọkọlọtọ ị ga-eji mgbe ị na-agụ / na-ede ngwaọrụ NFC. A maara usoro a dị ka
Ozi NDEF. Ọbá akwụkwọ NDEF na-eme usoro dị elu iji hazie data n'ụzọ dị mfe ka ọ bụrụ nnabata NDEF
uzo. A na-ebunye ọba akwụkwọ STMicroelectronics a dị ka etiti, nweere onwe ya kpamkpam na ngwaike yana
na-abịa na interface file a ga-emejuputa maka ikpo okwu ezubere iche.
Na ngwungwu ngwanrọ STSW-ST25DV009 interface ndị a fileA na-emejuputa atumatu na:

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

Ọbá akwụkwọ NDEF middleware files dị na Middlewares/ST/lib_nfc ndekọ

Sample oru ngo
N'akụkụ a, a obere n'eluview nke sample oru ngo gụnyere na STSW-ST25DV009 mkpọ e nyere. Ihe sample oru ngo:

  • a ga-emegharị na ikpo okwu Linux ezubere iche (dị ka akọwara na ngalaba 3 Otu esi ahazi bọọdụ)
  • gosi onye ọrụ ka esi eji API bido nke ọma wee jiri NFC/RFID dị ike tag IC (ngwaọrụ ST25DVxxKC)

Ndị sample oru ngo dị na ./Projects ndekọ.

  • NDEF_URI
    Ngwa a na-egosi otu esi ede ozi URI NDEF dị mfe na ST25DVXXKC EEPROM site na iji NDEF lib middleware. A na-egosipụta ozi mgbe edere ozi nke ọma. Enwere ike iji smartphone ma ọ bụ onye na-agụ NFC gụọ ozi NDEF_URI.
  • NDEF_BLUETOOTH
    Ngwa a na-egosi otu esi ede ozi Bluetooth® OOB NDEF na ST25DVXXKC EEPROM site na iji NDEF lib middleware. A na-egosipụta ozi mgbe edere ozi nke ọma. Enwere ike iji smartphone ma ọ bụ onye na-agụ NFC gụọ ozi NDEF_BLUETOOTH.
  • GPO (mpụta ebumnuche izugbe)
    Nke a example gosi otu esi eme ka ma jiri GPO. Mgbe mmalite, a na-ahazi nkwụsịtụ iji chọpụta mgbanwe mpaghara na nso ST25DVXXKC. A na-egosipụta ozi mgbe achọpụtara ubi na mgbe ubi ahụ ga-apụ n'anya.
  • I2CPROTECTION
    Nke a example gosi otu esi emepụta mpaghara na ST25DVXXKC yana otu esi echekwa ha. E gosipụtara ederede na njikwa.
  • LPD (obere ike ala)
    Nke a example na-egosi otu esi arụ ọrụ obere ike ala (LPD) pin. Site na itinye "1" ma ọ bụ "0", a na-eme ka pin LPD rụọ ọrụ ma ọ bụ gbanyụọ. Mgbe agbanyere pin LPD, ebipụ ST25DVXXKC VCC, oriri ike kacha nta na nkwukọrịta site na I2C adịghị.
    Mara: Enweghị ike iji bọọdụ mgbasawanye X-NUCLEO-NFC07A1 mee ule a n'ihi na bọọdụ anaghị ejikọta ụdị pin ahụ.
  • Igbe ozi
    Nke a example na-egosi otu esi ede ozi n'ime igbe ozi yana otu esi agụ ndekọ ọnọdụ igbe ozi nke ngwaọrụ ST25DVXXKC. Egosiri ederede.
  • I2Cchannel
    Nke a example na-egosi otu esi agbanwe adreesị ohu I2C wee gosi na ịde ozi n'ime igbe ozi na ịgụ akwụkwọ ndekọ aha igbe ozi nke ngwaọrụ ST25DVXXKC na-arụ ọrụ na adreesị ohu ọhụrụ. Egosiri ederede a na adreesị ohu I2C ga-alaghachi na uru ndabara.
    Mara: Ọ bụrụ na onye ọrụ kwụsịrị ngwa ahụ tupu njedebe ya, a ga-eji adreesị ohu I2C kwesịrị ekwesị maka ozi ST25DVXXKC na-esote.
  • I2CMỌd
    Nke a example na-egosi otú ịgbanwe I2C ohu mode (Normal/RF Gbanyụọ) na na na I2C ohu mode atọrọ 'RFOFF' ọzọ NFC nkwurịta okwu na-edozi ebe na I2C ohu mode atọrọ 'Normal' na NFC nkwurịta okwu.

Otu esi ahazi bọọdụ

Ngwunye ngwugwu nkwado bọọdụ ga-emerịrị nke ọma na ikpo okwu Linux ezubere iche, ka ịhọrọ mpaghara I2C ka ya na ST25DVXXKC na-ekwurịta okwu na GPIO jikọtara ya na ST25DVXXKC GPO na atụdo LPD. Edepụtara nkọwapụta niile achọrọ na ndị a fileNdị ọkwọ ụgbọala/BSP/Linux/hwconfig.h.

Tebụl 2. Nkọwa nhazi ngwaike:

Njirimara Kọwaa Nkọwa
 I2C  ST25DV_I2C_NR Ọ na-akọwapụta ọnụọgụ mpụta I2C ejiri mee mkparịta ụka na ST25DVXXKC.

A na-eji uru ahụ emechaa ụzọ gaa na /dev/i2c-X file.

  GPO  ST25DV_GPO_GPIOCHIP Ọ na-akọwa nọmba GPIOCHIP ejikọrọ na pin ST25DVXXKC GPO.

A na-eji uru ahụ emechaa ụzọ gaa na /dev/gpiochipX file.

ST25DV_GPO_PIN Ọ na-akọwapụta nọmba pin GPIO nke GPIOCHIP ejikọrọ na pin ST25DVXXKC GPO.
 LPD  ST25DV_LPD_PIN Ọ na-akọwapụta akara ntụtụ GPIO zuru ụwa ọnụ ejikọrọ na pin ST25DVXXKC LPD. A na-eji ya ebupụ GPIO a.
 ST25DV_LPD_DIRECTION Ọ na-akọwa ụzọ nke Linux file na-akọwa ntụziaka GPIO ejikọrọ na pin ST25DVXXKC LPD dị ka:

/sys/class/gpio/gpioXX/direction

 ST25DV_LPD_VALUE Ọ na-akọwa ụzọ nke Linux file na-akọwa uru GPIO ejikọrọ na pin ST25DVXXKC LPD dị ka:

/sys/class/gpio/gpioXX/value

Ntọlite ​​ngwaike

Hardware chọrọ:

  • Ụdị PC/Virtual-igwe nke dabeere na Ubuntu 16.04 ma ọ bụ karịa
  • bọọdụ STM32MP157F-DK2 (ihe nchọpụta)
  • X-NUCLEO-NFC07A1
  • 8 GB micro SD kaadị iji buut STM32MP157F-DK2
  • Njikọ kaadị SD / LAN
  • USB Ụdị-A ka ụdị-micro B eriri USB (nhọrọ)
  • USB Ụdị A ruo Ụdị-C eriri USB
  • USB PD-dabara 5V 3A ike ọkọnọ

Igwe PC/Virtual-igwe na-etolite ikpo okwu mmepe iji wuo sample oru ngo koodu. Ejikọrọ ngwaike dị ka ndị a:

  1. Dabere na bọọdụ nchọpụta STM32MP157F-DK2 I2C nhazi ọnọdụ (nkịtị, ngwa ngwa, ngwa ngwa +), X-NUCLEO-NFC07A1 mgbasawanye osisi I2C pullup resistors (R5 na R6) nwere ike ịbawanye ruo 10 kΩ.
    UM3078-ST25DVXXKC-Linux-Onye ọrụ-Oghere-ọkwọ ụgbọala-1
  2. Tinye bọọdụ mgbasawanye X-NUCLEO-NFC07A1 na njikọ Arduino® n'akụkụ ala nke bọọdụ nchọpụta STM32MP157F-DK2.
    UM3078-ST25DVXXKC-Linux-Onye ọrụ-Oghere-ọkwọ ụgbọala-2
  3. Ọ bụrụ na achọrọ, jikọọ ST-LINK programmer/debugger agbakwunyere na bọọdụ nchoputa iji kwado PC site na ọdụ ụgbọ USB micro B (CN11).
  4. Kwanye bọọdụ nchọpụta site na ọdụ ụgbọ USB Ụdị C (CN6).
    UM3078-ST25DVXXKC-Linux-Onye ọrụ-Oghere-ọkwọ ụgbọala-3

Na-achịkọta ma na-agba ọsọ sample oru ngo

Nke ọ bụla STSW-ST25DV009 sample oru ngo na-abia na emefile enwere ike chịkọta ya site na iji mkpokọta C dị ka GCC. A na-eji ọba akwụkwọ Linux pthread mepụta eriri na-achọpụta ihe omume na ahịrị GPO, achọrọ ọba akwụkwọ a maka njikọ ziri ezi n'oge nchịkọta. Nchịkọta na usoro usoro:

  1. Na PC onye ọbịa:
    • detuo osisi ST25DVLinux niile files na PC/igwe Virtual: scp -r :
  2. Na PC/igwe Virtual:
    • cross-ịchịkọta ngwa (nke a na-ebute statically jikọtara executable file): cd ~// Ọrụ / mee ka ihe niile dị ọcha
    • oyiri exe file gaa na bọọdụ lekwasịrị anya Linux (RPi, STM32MP157F-DK2,…): scp ~//Projects//st25dv-i2c_ mgbọrọgwụ @:.
  3. Na bọọdụ STM32MP157F-DK2:
    • megharịa exe nke oyiri file: chmod +x st25dv-i2c_ ./st25dv-i2c_

Akụkọ ngbanwe 

ỌMỤMỤ dị mkpa – Gụọ nke ọma

STMicroelectronics NV na ndị enyemaka ya (“ST”) debere ikike ime mgbanwe, mmezi, nkwalite, mgbanwe na nkwalite na ST.
ngwaahịa 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. Ọ bụ naanị ndị na-azụ ihe na-ahụ 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ị na akwụkwọ a nọchiri ma dochie ozi enyere na mbụ na ụdị akwụkwọ a ọ bụla gara aga.
© 2022 STMicroelectronics – Ikike niile echekwabara

Akwụkwọ / akụrụngwa

ST UM3078 ST25DVXXKC Linux onye ọkwọ ụgbọ ala [pdf] Akwụkwọ ntuziaka onye ọrụ
UM3078 ST25DVXXKC Linux User Space Driver, UM3078 ST25DVXXKC, UM3078, ST25DVXXKC, Linux User Space Driver, UM3078 Linux User Space Driver, ST25DVXXKC Linux User User, Linux Driver Driver, Linux Driver User Space

Ntụaka

Hapụ ikwu

Agaghị ebipụta adreesị ozi-e gị. Akara mpaghara achọrọ akara *