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

STMicroelectronics UM2548 Linux Driver - Featured Image

Лагатып STMicroelectronicsДрайвер для лінукс um2548
Linux
® Драйвер для ST25R3916/ST25R3916B
Кіраўніцтва карыстальніка

Драйвер для лінукс um2548

Уводзіны
STSW-ST25R013 Драйвер Linux® дазваляе Raspberry Pi® 4 працаваць з платамі X-NUCLEO-NFCO6A1 і X-NUCLEO-NFCO8A1, якія змяшчаюць адпаведна прылады ST25R3916 і ST25R3916B.
Гэты пакет пераносіць узровень радыёчастотнай абстракцыі (RFAL) на платформу Raspberry Pi 4 Linux для працы з прашыўкай платы і забяспечвае якampПрыкладанне для выяўлення розных тыпаў NFC tags і мабільныя тэлефоны з падтрымкай P2P. RFAL - гэта стандартны драйвер ST для ST25R3916 і ST25R3916B, высокапрадукцыйных універсальных прылад NFC / счытвальнікаў EMVCo. Ён выкарыстоўваецца, напрыклад, прашыўкай ST25R3916-DISCO (STSW-ST25R010) і прашыўкай X-NUCLEO-NFCO06A1 (X-CUBE-NFC6).
STSW-ST25R013 падтрымлівае ўсе пратаколы ніжняга ўзроўню ST25R3916/ST25R3916B і некаторыя пратаколы вышэйшага ўзроўню для сувязі. RFAL напісаны партатыўным спосабам, таму можа працаваць на шырокім спектры прылад на базе Linux. У гэтым дакуменце апісваецца, як бібліятэку RFAL можна выкарыстоўваць у стандартнай сістэме Linux (у дадзеным выпадку Raspberry Pi 4) для сувязі NFC/RF. Код вельмі партатыўны і працуе з нязначнымі зменамі на любой платформе Linux.

Драйвер STMicroelectronics UM2548 Linux - платформа Linux

Скончанаview

1.1 Асаблівасці

  • Поўны драйвер прасторы карыстальніка Linux (узровень радыёчастотнай абстракцыі) для стварэння прыкладанняў з падтрымкай NFC з выкарыстаннем прылад ST25R3916 і ST25R3916B
  • Сувязь хаста Linux з ST25R3916/ST25R3916B з дапамогай інтэрфейсу 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-NFC06A1 і X-NUCLEO-NFC08A1, падключанымі да Raspberry Pi 4
  • SampПрыкладанне для выяўлення некалькіх NFC tag тыпы і мабільныя тэлефоны, якія падтрымліваюць P2P
  • Бясплатныя зручныя ўмовы ліцэнзіі

1.2 Архітэктура праграмнага забеспячэння
На малюнку 2 паказаны дэталі праграмнай архітэктуры бібліятэкі RFAL на платформе Linux.
RFAL лёгка пераносіцца на іншыя платформы шляхам адаптацыі так званай платформы files.
Загаловак file rfal_platform.h змяшчае азначэнні макрасаў, якія павінны быць прадастаўлены і рэалізаваны ўладальнікам платформы.
Ён забяспечвае спецыфічныя налады платформы, такія як прызначэнне GPIO, сістэмныя рэсурсы, блакіроўкі і IRQ, неабходныя для правільнай працы RFAL.
Гэтая дэманстрацыя рэалізуе функцыі платформы і забяспечвае порт RFAL у карыстальніцкую прастору Linux.
Агульная бібліятэка file генеруецца, які выкарыстоўваецца дэманстратыўным дадаткам, каб прадэманстраваць функцыянальныя магчымасці ўзроўню RFAL.
Хост Linux выкарыстоўвае інтэрфейс sysfs, даступны ў карыстальніцкай прасторы Linux, для выканання сувязі SPI з прыладамі. Унутры ядра Linux інтэрфейс SPI sysfs выкарыстоўвае драйвер ядра Linux spidev для адпраўкі/атрымання кадраў SPI на/з прылад.
Для працы з радком INT прылад ST25R3916 і ST25R3916B драйвер выкарыстоўвае sysfs libpiod, каб атрымліваць апавяшчэнні аб зменах у гэтым радку.

Драйвер STMicroelectronics UM2548 Linux - архітэктура праграмнага забеспячэння

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

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

2.2 Патрабаванні да абсталявання

  • Raspberry Pi 4
  • Карта micro SD на 8 ГБ для загрузкі АС Raspberry Pi (з апошнімі патрабаваннямі)
  • Счытвальнік SD карт
  • Платы X-NUCLEO-NFC06A1 або X-NUCLEO-NFC08A1
  • Мост для падлучэння платы з адаптарам Raspberry Pi Arduino™ для Raspberry Pi (нумар дэталі ARPI600)

2.2.1 Апаратныя злучэнні
Адаптар ARPI600 Raspberry Pi да Arduino выкарыстоўваецца для злучэння плат з Raspberry Pi. Перамычкі адаптарнай платы павінны быць зменены, каб злучыць яе з платамі X-NUCLEO-NFC06A1 або X-NUCLEO-NFC08A1.
Увага:
ARPI600 няправільна падае 5 В на кантакт Arduino IOREF. Непасрэднае мацаванне плат вяртае 5 В на некаторыя кантакты, гэта можа пашкодзіць плату Raspberry Pi. Ёсць паведамленні аб разбураных платах (асабліва Raspberry Pi 4B+).
Каб пазбегнуць гэтага, адаптуйце ARPI600 (даволі складаная аперацыя), або плату X-NUCLEO-NFC06A1/X-NUCLEONFC08A1 (прасцей).
Самае простае рашэнне - абрэзаць штыфт CN6.2 (IOREF) на платах X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1, як паказана на малюнку 3.
Выразанне гэтага штыфта не ўплывае на працу ў спалучэнні з платамі Nucleo (напрыклад, NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB).

Драйвер STMicroelectronics UM2548 Linux - Апаратнае падключэнне

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

Драйвер STMicroelectronics UM2548 Linux - адаптарная плата

У цяперашні час гэты порт бібліятэкі RFAL выкарыстоўвае кантакт GPIO7 у якасці лініі перапынення (у адпаведнасці з наладамі перамычкі). Калі ёсць патрабаванне змяніць лінію перапынення з GPIO7 на іншы GPIO, код для канкрэтнай платформы (у file pltf_gpio.h) трэба змяніць, каб змяніць вызначэнне макраса ST25R_INT_PIN з 7 на новы кантакт GPIO, які будзе выкарыстоўвацца ў якасці лініі перапынення.
З указанымі вышэй наладамі перамычкі адаптарную плату можна выкарыстоўваць для падлучэння X-NUCLEO NFC06A1 і X-NUCLEO-NFC08A1 да платы Raspberry Pi, як паказана на наступных малюнках.

Драйвер STMicroelectronics UM2548 для Linux - налада абсталявання

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

3.1 Загрузка Raspberry Pi
Каб наладзіць асяроддзе Linux, спачатку ўсталюйце і загрузіце Raspberry Pi з АС Raspberry Pi, як тлумачыцца ніжэй:
Крок 1
Спампуйце апошнюю версію АС Raspberry Pi з https://www.raspberrypi.com, затым выберыце АС Raspberry Pi з працоўным сталом. Для прыведзеных ніжэй тэстаў выкарыстоўвалася версія 2022-09-22-raspios-bullseye-armhf.img.xz (верасень 2022 г.).
Крок 2
Распакуйце вобраз АС Raspberry Pi і запішыце яго на SD-карту, вынікаючы інструкцыям, даступным у раздзеле пад назвай «Запіс выявы на SD-карту».
Крок 3
Падключыце абсталяванне:

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

Таксама можна працаваць з Raspberry Pi з дапамогай ssh. У дадзеным выпадку. не патрабуецца падключаць манітор, клавіятуру і мыш да Raspberry Pi. Адзінае патрабаванне - мець ПК з ssh у той жа сетцы, што і Raspberry Pi, і адпаведным чынам наладзіць IP-адрас.
Крок 4
Загрузіце Raspberry Pi 4 з SD-карты. Пасля загрузкі на маніторы з'явіцца працоўны стол Linux на аснове Debian.
Заўвага:
Часам пасля загрузкі Raspberry Pi OS некаторыя клавішы клавіятуры не працуюць. Каб прымусіць іх працаваць, адкрыйце file /etc/default/keyboard і ўсталюйце XKBLAYOUT=”us”, і перазагрузіце Raspberry Pi.
3.2 Уключыце SPI на Raspberry Pi
Драйвер SPI ўнутры ядра звязваецца з платамі X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 праз SPI. Важна праверыць, ці ўжо ўключаны SPI ў канфігурацыі ядра Raspbian Pi OS.
Праверце, ці бачны /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 прадстаўлена ў архіве, такім як ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz.
Каб стварыць бібліятэку і прыкладанне RFAL на Raspberry Pi, выканайце наступныя крокі:
Крок 1
Распакуйце пакет на Raspberry Pi, выкарыстоўваючы наступную каманду з хатняга каталога
tar -xJvf ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz
Крок 2
Усталюйце cmake (калі гэта не зроблена раней) з дапамогай каманды
apt-get ўсталяваць cmake
Бібліятэка RFAL і сістэма зборкі прыкладанняў заснаваныя на cmake, па гэтай прычыне для кампіляцыі пакета патрабуецца ўсталяваць cmake.
Крок 3
Каб стварыць бібліятэку і прыкладанне RFAL, перайдзіце ў каталог зборкі
cd ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build
Адтуль выканайце каманду
cmake ..
У прыведзенай вышэй камандзе «..» паказвае, што CMakeLists.txt верхняга ўзроўню існуе ў бацькоўскім каталогу
(ST25R3916_v2.8.0_Linux_demo_v1.0).
Гэтая каманда стварае makefile выкарыстоўваецца на наступным этапе для стварэння бібліятэкі і прыкладання. Адтуль выканайце наступную каманду, каб пабудаваць дэманстрацыю для ST25R3916B
cmake -DRFAL_VARIANT=st25r3916b ..
Крок 4
Выканайце каманду make для стварэння бібліятэкі і прыкладання RFAL:
зрабіць
Гэтая каманда спачатку стварае бібліятэку RFAL, а затым дадатак па-над ёй.

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

Паспяховае стварэнне стварае выканальны файл з назвай «nfc_poller_st25r3916» або «nfc_poller_st25r3916b» у месцы /build/demo.
Па змаўчанні праграма павінна запускацца з правамі root па шляху ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build/demo/:
sudo ./nfc_demo_st25r3916
Праграма пачынае апытваць NFC tags і мабільных тэлефонаў, затым адлюстроўвае знойдзеныя прылады з іх UID, як паказана на малюнку 7.

Драйвер STMicroelectronics UM2548 Linux - знойдзеныя прылады

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

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

Дата Рэвізія Змены
1-сакавіка-19 1 Першапачатковы выпуск.
4 красавіка 23 г 2 Абноўленая назва дакумента, Раздзел Уводзіны, Раздзел 1.1 Асаблівасці,
Раздзел 1.2 Архітэктура праграмнага забеспячэння, Раздзел 2.1 Платформа, якая выкарыстоўваецца, Раздзел 2.2 Апаратнае забеспячэнне
патрабаванні, Раздзел 2.2.1 Апаратныя злучэнні, Раздзел 3.1 Загрузка Raspberry Pi,
Раздзел 3.2 Уключэнне SPI на Raspberry Pi, Раздзел 4 Стварэнне бібліятэкі і прыкладання RFAL,
і Раздзел 5 Як запусціць прыкладанне.
Абноўлены малюнак 1. Бібліятэка RFAL на платформе Linux, малюнак 2. Архітэктура праграмнага забеспячэння RFAL
у Linux і Малюнак 5. Налада апаратнага забеспячэння ўверсе view.
Нязначныя праўкі тэксту ва ўсім дакуменце.

ВАЖНАЯ ЗАЎВАГА – УВАЖЛІВА ЧЫТАЙЦЕ
STMicroelectronics NV і яе даччыныя кампаніі («ST») пакідаюць за сабой права ўносіць змены, выпраўленні, удасканаленні, мадыфікацыі і паляпшэнні ў прадукты ST і/або ў гэты дакумент у любы час без папярэдняга паведамлення. Пакупнікі павінны атрымаць самую актуальную інфармацыю аб прадуктах ST, перш чым рабіць заказы. Прадукцыя ST прадаецца ў адпаведнасці з умовамі продажу ST, якія дзейнічаюць на момант пацвярджэння замовы.
Пакупнікі нясуць поўную адказнасць за выбар, выбар і выкарыстанне прадуктаў ST, і ST не нясе адказнасці за дапамогу ў прымяненні або дызайн прадуктаў пакупнікоў.
ST тут не прадастаўляе ніякіх ліцэнзій, відавочных або пэўных, на права інтэлектуальнай уласнасці.
Перапродаж прадуктаў ST з умовамі, адрознымі ад інфармацыі, выкладзенай у гэтым дакуменце, прыводзіць да анулявання любой гарантыі, прадастаўленай ST на такі прадукт.
ST і лагатып ST з'яўляюцца гандлёвымі маркамі ST. Для атрымання дадатковай інфармацыі аб гандлёвых марках ST звярніцеся да www.st.com/trademarks. Усе іншыя назвы прадуктаў і паслуг з'яўляюцца ўласнасцю іх адпаведных уладальнікаў.
Інфармацыя ў гэтым дакуменце замяняе інфармацыю, якая была прадстаўлена ў папярэдніх версіях гэтага дакумента.
© 2023 STMicroelectronics – Усе правы абаронены

UM2548 - Rev 2

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

PDF thumbnailДрайвер для лінукс um2548
User Manual · UM2548 Linux Driver, UM2548, 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.