Упатство за употреба на драјвер за Linux STMicroelectronics UM2375

Линукс® двигател за предните NFC со високи перформанси ST25R3911B и ST25R3912/14/15
Вовед
Драјверот STSW-ST25R009 Linux® му овозможува на Raspberry Pi 4 да работи со X-NUCLEO-NFC05A1, кој го содржи универзалниот NFC уред со високи перформанси ST25R3911B.
Овој пакет го пренесува слојот за апстракција на RF (RFAL) на платформата Raspberry Pi 4 Linux за да работи со фирмверот X-NUCLEO-NFC05A1. Пакетот обезбедува какоampАпликацијата открива различни типови на NFC tags и мобилни телефони кои поддржуваат P2P. RFAL е ST стандарден драјвер за ST25R NFC/RFID читач IC-и 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 комуникација. Кодот е многу пренослив и работи со мали промени на која било платформа Линукс.
Слика 1. RFAL библиотека на Linux платформа

Во текот наview
Карактеристики
- Комплетен двигател за кориснички простор за Linux (слој за апстракција на RF) за да се создадат апликации овозможени NFC користејќи ги NFC предните делови ST25R3911B/ST25R391x со високи перформанси со излезна моќност до 1.4 W
- Комуникација на домаќин на 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 користи двигател на Linux® кернелот spidev за испраќање/примање SPI рамки до/од ST25R3911B.
За ракување со линијата за прекин на ST25R3911B, возачот го користи libgpiod за да добие известување за промените на оваа линија.
Слика 2. RFAL софтверска архитектура на Linux

Хардверско поставување
Користена платформа
Табла Raspberry Pi 4 со Raspberry Pi OS се користи како Linux платформа за изградба на RFAL библиотека и интеракција со ST25R3911B преку SPI.
ST25R3911B овозможува апликација на платформата Linux да открие и да комуницира со уредите NFC.
Хардверски барања
- Raspberry Pi 4
- Микро SD-картичка од 8 GB за подигнување на Raspberry Pi OS
- Читач на 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 V на пинот Arduino IOREF. Директно прикачување на X-NUCLEO-NFC05A1 враќа 5 V на некои пинови, тоа може да ја оштети 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. Со овие поставки за скокач, GPIO пинот број 7 на 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 OS од врската:
Изберете Raspberry Pi OS со работна површина. За тестовите подолу се користеше следната верзија: септември 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 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 е обезбедено во архива. Да претпоставиме дека неговото име е:
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 install 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 ја креира маркаfile што се користи во следниот чекор за изградба на библиотеката и апликацијата.
Чекор 4
Извршете ја командата „make“ за да ја изградите библиотеката и апликацијата RFAL:
направи
Командата „make“ прво ја гради библиотеката RFAL, а потоа ја гради апликацијата врз неа.
Како да ја стартувате апликацијата
Успешното создавање генерира извршна датотека со име „nfc_demo_st25r3911b“ на следната локација:
/изградба/апликации.
Стандардно, апликацијата треба да се извршува со права на 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 – Сите права се задржани
Документи / ресурси
![]() |
STMicroelectronics UM2375 Linux драјвер [pdf] Упатство за користење UM2375 двигател за Linux, UM2375, двигател за Linux, драјвер |




