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

Драйвер 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

Скончана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

Налада абсталявання
Выкарыстоўваецца платформа
Плата 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. Выпраўленне апаратнага злучэння

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

У цяперашні час гэты порт бібліятэкі RFAL выкарыстоўвае кантакт GPIO7 у якасці лініі перапынення ў адпаведнасці з наладамі перамычкі. Калі ёсць патрабаванне змяніць лінію перапынення з GPIO7 на іншы GPIO, код для канкрэтнай платформы (у file pltf_gpio.h) трэба змяніць, каб змяніць вызначэнне макраса «ST25R_INT_PIN» з 7 на новы кантакт GPIO, які будзе выкарыстоўвацца ў якасці лініі перапынення.
З указанымі вышэй наладамі перамычкі плату адаптара можна выкарыстоўваць для падлучэння X-NUCLEO-NFC05A1 да платы Raspberry Pi, як паказана на малюнку 5.
Малюнак 5. Верхняя частка ўстаноўкі абсталявання 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. Адлюстраванне знойдзеных прылад

Каб спыніць працу прыкладання, націсніце Ctrl + C.
Гісторыя версій
Табліца 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 – Усе правы абаронены
Дакументы / Рэсурсы
![]() | Драйвер для лінукс um2375 |
Спасылкі
- Кіраўніцтва карыстальнікаmanual.tools

