Кіраўніцтва карыстальніка драйвера STMicroelectronics UM2375 Linux

STMicroelectronics UM2375 Linux Driver User Manual

Кіраўніцтва карыстальніка драйвера STMicroelectronics UM2375 Linux

Лагатып STMicroelectronics

Драйвер Linux® для высокапрадукцыйных інтэрфейсаў NFC ST25R3911B і ST25R3912/14/15

Уводзіны

Драйвер STSW-ST25R009 Linux® дазваляе Raspberry Pi 4 працаваць з X-NUCLEO-NFC05A1, які змяшчае высокапрадукцыйную універсальную прыладу NFC ST25R3911B.

Гэты пакет пераносіць ўзровень радыёчастотнай абстракцыі (RFAL) на платформу Raspberry Pi 4 Linux для працы з прашыўкай X-NUCLEO-NFC05A1. Пакет забяспечвае якampПрыкладанне для выяўлення розных тыпаў NFC tags і мабільныя тэлефоны з падтрымкай P2P. RFAL - гэта стандартны драйвер ST для мікрасхем счытвальніка NFC/RFID ST25R ST25R3911B, ST25R3912, ST25R3913, ST25R3914 і ST25R3915. Ён выкарыстоўваецца, напрыклад, прашыўкай ST25R3911B-DISCO (STSW-ST25R002) і прашыўкай X-NUCLEONFC05A1 (X-CUBE-NFC5).

STSW-ST25R009 падтрымлівае ўсе пратаколы ніжняга ўзроўню ST25R3911B, а таксама некаторыя пратаколы больш высокага ўзроўню для сувязі. RFAL напісаны партатыўным спосабам, таму можа працаваць на шырокім спектры прылад на базе Linux®. У гэтым дакуменце апісваецца, як бібліятэку RFAL можна выкарыстоўваць у стандартнай сістэме Linux (у дадзеным выпадку Raspberry Pi 4) для сувязі NFC/RF. Код вельмі партатыўны і працуе з нязначнымі зменамі на любой платформе Linux.

Малюнак 1. Бібліятэка RFAL на платформе Linux

Малюнак 1 Бібліятэка RFAL на платформе Linux

Скончанаview

Асаблівасці
  • Поўны драйвер карыстальніцкай прасторы Linux (узровень радыёчастотнай абстракцыі) для стварэння прыкладанняў з падтрымкай NFC з выкарыстаннем высокапрадукцыйных інтэрфейсаў NFC ST25R3911B/ST25R391x з выходнай магутнасцю да 1.4 Вт
  • Сувязь хаста Linux з ST25R3911B/ST25R391x з дапамогай інтэрфейсу SPI
  • Поўная абстракцыя RF/NFC (RFAL) для ўсіх асноўных тэхналогій і пратаколаў больш высокага ўзроўню:
    • NFC-A (ISO14443-A)
    • NFC-B (ISO14443-B)
    • NFC-F (FeliCa™)
    • NFC-V (ISO15693)
    • P2P (ISO18092)
    • ISO-DEP (пратакол абмену данымі ISO, ISO14443-4)
    • NFC-DEP (пратакол абмену данымі NFC, ISO18092)
    • Запатэнтаваныя тэхналогіі (Kovio, B', iClass, Calypso®, ...)
  • SampРэалізацыя даступная з платай пашырэння X-NUCLEO-NFC05A1, падлучанай да Raspberry Pi 4
  • SampПрыкладанне для выяўлення некалькіх NFC tag тыпы і мабільныя тэлефоны, якія падтрымліваюць P2P
  • Бясплатныя зручныя ўмовы ліцэнзіі
Архітэктура праграмнага забеспячэння

На малюнку 2 паказаны дэталі архітэктуры праграмнага забеспячэння бібліятэкі RFAL на платформе Linux®.

RFAL лёгка пераносіцца на іншыя платформы шляхам адаптацыі так званай платформы files.

Загаловак file rfal_platform.h змяшчае азначэнні макрасаў, якія павінны быць прадастаўлены і рэалізаваны ўладальнікам платформы. Акрамя таго, ён забяспечвае спецыфічныя налады платформы, такія як прызначэнне GPIO, сістэмныя рэсурсы, блакіроўкі і IRQ, неабходныя для правільнай працы RFAL.

Гэтая дэманстрацыя рэалізуе функцыі платформы і забяспечвае порт бібліятэкі RFAL у карыстальніцкую прастору Linux®. Агульная бібліятэка file генеруецца, які выкарыстоўваецца дэманстрацыйным прылажэннем для дэманстрацыі функцыянальных магчымасцей ўзроўню RFAL.

Хост Linux® выкарыстоўвае інтэрфейс sysfs, даступны ў карыстальніцкай прасторы Linux®, каб уключыць сувязь SPI з прыладай ST25R3911B. Унутры ядра Linux® інтэрфейс SPI sysfs выкарыстоўвае драйвер spidev ядра Linux® для адпраўкі/атрымання кадраў SPI да/ад ST25R3911B.

Для апрацоўкі лініі перапынення ST25R3911B драйвер выкарыстоўвае libgpiod, каб атрымліваць паведамленні аб зменах у гэтай лініі.

Малюнак 2. Архітэктура праграмнага забеспячэння RFAL у Linux

Малюнак 2. Архітэктура праграмнага забеспячэння RFAL у Linux

Налада абсталявання

Выкарыстоўваецца платформа

Плата Raspberry Pi 4 з АС Raspberry Pi выкарыстоўваецца ў якасці платформы Linux для стварэння бібліятэкі RFAL і ўзаемадзеяння з ST25R3911B праз SPI.
ST25R3911B дазваляе праграме на платформе Linux выяўляць прылады NFC і мець зносіны з імі.

Патрабаванні да абсталявання
  • Raspberry Pi 4
  • Карта micro SD на 8 Гбайт для загрузкі АС Raspberry Pi
  • Счытвальнік SD карт
  • Пераходная плата для падлучэння X-NUCLEO-NFC05A1 з адаптарам Raspberry Pi Arduino для Raspberry Pi, нумар дэталі ARPI600.
  • X-NUCLEO-NFC05A1. Звярніцеся да апошніх патрабаванняў да АС Raspberry Pi.

Апаратныя сродкі сувязі

Адаптарная плата ARPI600 Raspberry Pi да Arduino выкарыстоўваецца для падлучэння X-NUCLEO-NFC05A1 да Raspberry Pi. Патрабуецца змяніць перамычкі адаптарнай платы, каб злучыць яе з X-NUCLEO-NFC05A1.

Увага: ARPI600 няправільна падае 5 В на кантакт Arduino IOREF. Непасрэднае мацаванне X-NUCLEO-NFC05A1 вяртае 5 В на некаторыя кантакты, гэта можа пашкодзіць плату Raspberry Pi. Ёсць паведамленні, асабліва пра тое, што Raspberry Pi 4B+ быў фактычна знішчаны. Каб пазбегнуць гэтай сітуацыі, адаптуйце альбо ARPI600 (даволі складаная аперацыя), альбо X-NUCLEO-NFC05A1 (больш простая аперацыя).

Самае простае рашэнне - абрэзаць штыфт CN6.2 (IOREF) на X-NUCLEO-NFC05A1, як паказана на малюнку 3.

Выразанне гэтага штыфта не ўплывае на працу ў спалучэнні з платамі Nucleo (NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB і інш.).

Малюнак 3. Выпраўленне апаратнага злучэння

Малюнак 3 Выпраўленне апаратнага злучэння

Ўстаноўка перамычкі

Перамычкі для A5, A4, A3, A2, A1 і A0, паказаныя на малюнку 4, трэба замяніць на P23, P22, P21 і CE1. З гэтай наладай перамычкі кантакт нумар 7 GPIO Raspberry выкарыстоўваецца ў якасці лініі перапынення для X-NUCLEO-NFC05A1.

Малюнак 4. Размяшчэнне перамычак A5, A4, A3, A2, A1 і A0 на адаптарнай плаце

Малюнак 4. Размяшчэнне перамычак

У цяперашні час гэты порт бібліятэкі RFAL выкарыстоўвае кантакт GPIO7 у якасці лініі перапынення ў адпаведнасці з наладамі перамычкі. Калі ёсць патрабаванне змяніць лінію перапынення з GPIO7 на іншы GPIO, код для канкрэтнай платформы (у file pltf_gpio.h) трэба змяніць, каб змяніць вызначэнне макраса «ST25R_INT_PIN» з 7 на новы кантакт GPIO, які будзе выкарыстоўвацца ў якасці лініі перапынення.

З указанымі вышэй наладамі перамычкі плату адаптара можна выкарыстоўваць для падлучэння X-NUCLEO-NFC05A1 да платы Raspberry Pi, як паказана на малюнку 5.

Малюнак 5. Верхняя частка ўстаноўкі абсталявання view

Малюнак 5 Налада апаратнага забеспячэння ўверсе view

Малюнак 6. Бок наладкі абсталявання view

Малюнак 6 Бок наладкі абсталявання view

Настройка асяроддзя Linux

Загрузка Raspberry Pi

Каб наладзіць асяроддзе Linux, першым крокам з'яўляецца ўстаноўка і загрузка Raspberry Pi 4 з Raspberry Pi OS, як тлумачыцца ніжэй:

Крок 1

Спампуйце апошнюю версію АС Raspberry Pi па спасылцы:

Выберыце АС Raspberry Pi з працоўным сталом. Для прыведзеных ніжэй тэстаў выкарыстоўвалася наступная версія: верасень 2022 г. (2022-09-22-raspios-bullseye-armhf.img.xz).

Крок 2

Распакуйце вобраз Raspberry Pi і запішыце яго на SD-карту, вынікаючы інструкцыям, даступным у раздзеле «Запіс выявы на SD-карту».

Крок 3

Падключыце абсталяванне:

  • Падключыце Raspberry Pi да манітора з дапамогай стандартнага кабеля HDMI.
  • Падключыце мыш і клавіятуру да USB-партоў Raspberry Pi.

Таксама можна працаваць з Raspberry Pi з дапамогай ssh. У такім выпадку не патрабуецца падключаць манітор, клавіятуру і мыш да Raspberry Pi. Адзінае патрабаванне - мець ПК з ssh у той жа сетцы, што і Raspberry Pi, і адпаведна наладзіць IP-адрас.

Крок 4

Загрузіце Raspberry Pi з SD-карты.

Пасля загрузкі на маніторы з'явіцца працоўны стол Linux на аснове Debian.

Заўвага: часам назіраецца, што пасля загрузкі Raspberry Pi некаторыя клавішы клавіятуры не працуюць. Каб прымусіць іх працаваць, адкрыйце file /etc/default/keyboard і ўсталюйце XKBLAYOUT=”us” і перазагрузіце Raspberry Pi.

Уключыце SPI на Raspberry Pi

Драйвер SPI ўнутры ядра звязваецца з X-NUCLEO-NFC05A1 праз SPI. Важна праверыць, ці ўключаны SPI ў канфігурацыі АС/ядра Raspberry Pi.
Праверце, ці бачны /dev/spidev0.0 у асяроддзі Raspberry Pi. Калі ён не бачны, уключыце інтэрфейс SPI з дапамогай утыліты “raspi-config”, выканаўшы крокі, апісаныя ніжэй.

Крок 1

Адкрыйце новы тэрмінал на Raspberry Pi і запусціце каманду «raspi-config» ад імя root:

sudo raspi-config

Гэты крок адкрывае графічны інтэрфейс.

Крок 2

Выберыце ў графічным інтэрфейсе опцыю пад назвай «Параметры інтэрфейсу».

Крок 3

На гэтым этапе пералічаны розныя варыянты.
Выберыце опцыю пад назвай «SPI».
З'явіцца новае акно з наступным тэкстам:
«Вы хочаце, каб інтэрфейс SPI быў уключаны?»

Крок 4

Выберыце у гэтым акне, каб уключыць SPI.

Крок 5

Перазагрузіце Raspberry Pi.
Вышэйпаказаныя дзеянні дазволяць уключыць інтэрфейс SPI ў асяроддзі Raspberry Pi пасля перазагрузкі.

Зборка бібліятэкі і прыкладання RFAL

RFAL-дэманстрацыя Linux прадстаўлена ў архіве. Выкажам здагадку, што яго імя:
ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz.
Каб стварыць бібліятэку і прыкладанне RFAL на Raspberry Pi, выканайце наступныя дзеянні:

Крок 1

Распакуйце пакет на Raspberry Pi з дапамогай наступнай каманды з хатняга каталога:

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

Крок 2

Калі гэтага не зроблена раней, усталюйце cmake, выкарыстоўваючы наступную каманду:

apt-get ўсталяваць cmake

Бібліятэка RFAL і сістэма зборкі прыкладанняў заснаваныя на cmake, па гэтай прычыне для кампіляцыі пакета патрабуецца ўсталяваць cmake.

Крок 3

Каб сабраць бібліятэку і прыкладанне RFAL, перайдзіце ў каталог «build»:

cd ST25R3911B_v2.8.0_Linux_demo_v1.0/Linux_demo/build

і запусціце наступную каманду адтуль:

cmake ..

У прыведзенай вышэй камандзе «..» паказвае, што CMakeLists.txt верхняга ўзроўню існуе ў бацькоўскім каталогу, г. зн.
ST25R3911B_v2.8.0_Linux_demo_v1.0.

Каманда cmake стварае makefile які выкарыстоўваецца на наступным этапе для стварэння бібліятэкі і прыкладання.

Крок 4

Выканайце каманду «make», каб стварыць бібліятэку і дадатак RFAL:

зрабіць

Каманда "make" спачатку стварае бібліятэку RFAL, а потым стварае прыкладанне на яе аснове.

Як запусціць прыкладанне

Паспяховае стварэнне стварае выкананы файл з назвай «nfc_demo_st25r3911b» у наступным месцы:
/build/applications.

Па змаўчанні прыкладанне павінна запускацца з правамі root па шляху: ST25R3911B_v2.8.0_Linux_demo_v1.0/linux_demo/build:

sudo ./demo/nfc_demo_st25r3911b

Праграма пачынае апытваць NFC tags і мабільныя тэлефоны. Ён адлюстроўвае знойдзеныя прылады з іх UID, як паказана на малюнку 7.

Малюнак 7. Адлюстраванне знойдзеных прылад

Малюнак 7 Адлюстраванне знойдзеных прылад

Каб спыніць працу прыкладання, націсніце Ctrl + C.

Гісторыя версій

Табліца 1. Гісторыя рэдагавання дакумента

Табліца 1 Гісторыя рэдагавання дакумента

Спіс табліц

Табліца 1. Гісторыя рэдагавання дакумента. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Спіс фігур

Малюнак 1. Бібліятэка RFAL на платформе Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Малюнак 2. Архітэктура праграмнага забеспячэння RFAL у Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Малюнак 3. Выпраўленне апаратнага злучэння. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Малюнак 4. Размяшчэнне перамычак A5, A4, A3, A2, A1 і A0 на адаптарнай плаце. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Малюнак 5. Верхняя частка ўстаноўкі абсталявання view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Малюнак 6. Бок наладкі абсталявання view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Малюнак 7. Адлюстраванне знойдзеных прылад. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

ВАЖНАЯ ЗАЎВАГА – УВАЖЛІВА ЧЫТАЙЦЕ

STMicroelectronics NV і яе даччыныя кампаніі («ST») пакідаюць за сабой права ўносіць змены, выпраўленні, удасканаленні, мадыфікацыі і паляпшэнні ў прадукты ST і/або ў гэты дакумент у любы час без папярэдняга паведамлення. Пакупнікі павінны атрымаць самую актуальную інфармацыю аб прадуктах ST, перш чым рабіць заказы. Прадукцыя ST прадаецца ў адпаведнасці з умовамі продажу ST, якія дзейнічаюць на момант пацвярджэння замовы.

Пакупнікі нясуць поўную адказнасць за выбар, выбар і выкарыстанне прадуктаў ST, і ST не нясе адказнасці за дапамогу ў прымяненні або дызайн прадуктаў пакупнікоў.

ST тут не прадастаўляе ніякіх ліцэнзій, відавочных або пэўных, на права інтэлектуальнай уласнасці.

Перапродаж прадуктаў ST з умовамі, адрознымі ад інфармацыі, выкладзенай у гэтым дакуменце, прыводзіць да анулявання любой гарантыі, прадастаўленай ST на такі прадукт.

ST і лагатып ST з'яўляюцца гандлёвымі маркамі ST. Для атрымання дадатковай інфармацыі аб гандлёвых марках ST звярніцеся да www.st.com/trademarks. Усе іншыя назвы прадуктаў і паслуг з'яўляюцца ўласнасцю іх адпаведных уладальнікаў.

Інфармацыя ў гэтым дакуменце замяняе інфармацыю, якая была прадстаўлена ў папярэдніх версіях гэтага дакумента.

© 2023 STMicroelectronics – Усе правы абаронены

Дакументы / Рэсурсы

PDF thumbnailДрайвер для лінукс um2375
User Manual · UM2375 Linux Driver, UM2375, Linux Driver, Driver

Задайце пытанне

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

Задайце пытанне

Ask a question about setup, compatibility, troubleshooting, or anything missing from this manual.