UM2548 Linux драйвери
Linux® ST25R3916/ST25R3916B үчүн драйвер
User Manual
UM2548 Linux драйвери
Introduction
STSW-ST25R013 Linux® драйвери Raspberry Pi® 4ке X-NUCLEO-NFCO6A1 жана X-NUCLEO-NFCO8A1 такталары менен иштөөгө мүмкүндүк берет, алар тиешелүүлүгүнө жараша ST25R3916 жана ST25R3916B түзмөктөрүн камтыйт.
Бул топтом RF абстракция катмарын (RFAL) Raspberry Pi 4 Linux платформасына орнотуп, тактанын микропрограммасы менен иштөө үчүн берет жана төмөнкүдөй камсыз кылат:ampNFC ар кандай түрлөрүн аныктоочу колдонмо tags жана P2P колдогон уюлдук телефондор. RFAL ST25R3916 жана ST25R3916B, жогорку натыйжалуу NFC универсалдуу түзмөктөр / EMVCo окурмандары үчүн ST стандарттуу драйвери. Ал, мисалы, ST25R3916-DISCO микропрограммасы (STSW-ST25R010) жана X-NUCLEO-NFCO06A1 микропрограммасы (X-CUBE-NFC6) тарабынан колдонулат.
STSW-ST25R013 бардык ST25R3916/ST25R3916B төмөнкү катмарды жана байланыш үчүн кээ бир жогорку катмар протоколдорун колдойт. RFAL портативдик түрдө жазылган, ошондуктан ал Linux негизиндеги көптөгөн түзмөктөрдө иштей алат. Бул документ NFC/RF байланышы үчүн RFAL китепканасын стандарттык Linux тутумунда (бул учурда Raspberry Pi 4) кантип колдонсо болорун сүрөттөйт. Код абдан көчмө жана кандайдыр бир Linux платформасында кичине өзгөрүүлөр менен иштейт.

Бүттүview
1.1 Өзгөчөлүктөрү
- ST25R3916 жана ST25R3916B түзмөктөрүн колдонуу менен NFC иштетилген колдонмолорду куруу үчүн Linux колдонуучу мейкиндигинин драйверин (RF абстракция катмары) бүтүрүңүз
- SPI интерфейсин колдонуу менен ST25R3916/ST25R3916B менен Linux хост байланышы
- Бардык негизги технологиялар жана жогорку катмар протоколдору үчүн толук 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® сыяктуу менчик технологиялар - Sample ишке ашыруу Raspberry Pi 06ке туташтырылган X-NUCLEO-NFC1A08 жана X-NUCLEO-NFC1A4 кеңейтүү такталары менен жеткиликтүү
- Sampбир нече NFC аныктоо үчүн колдонмо tag түрлөрү жана P2P колдогон уюлдук телефондор
- Бекер колдонуучуга ыңгайлуу лицензия шарттары
1.2 Программанын архитектурасы
2-сүрөт Linux платформасындагы RFAL китепканасынын программалык архитектурасынын деталдарын көрсөтөт.
RFAL платформа деп аталганды ыңгайлаштыруу менен башка платформаларга оңой көчүрүлөт files.
баш file rfal_platform.h макро аныктамаларды камтыйт, алар платформанын ээси тарабынан камсыз кылынат жана ишке ашырылат.
Ал RFALдын туура иштеши үчүн талап кылынган GPIO дайындоосу, система ресурстары, кулпулар жана IRQ сыяктуу платформанын атайын орнотууларын камсыз кылат.
Бул демонстрация платформа функцияларын ишке ашырат жана Linux колдонуучу мейкиндигине RFAL портун берет.
Жалпы китепкана file RFAL катмары тарабынан берилген функцияларды көрсөтүү үчүн демонстративдик тиркеме тарабынан пайдаланылат.
Linux хосту түзмөктөр менен SPI байланышын аткаруу үчүн Linux колдонуучу мейкиндигинде жеткиликтүү sysfs интерфейсин колдонот. Linux ядросунун ичинде SPI sysfs интерфейси SPI алкактарын түзмөктөргө/алууга жөнөтүү/кабыл алуу үчүн Linux ядросунун драйвери spidev колдонот.
ST25R3916 жана ST25R3916B түзмөктөрүнүн INT линиясын иштетүү үчүн драйвер бул линиядагы өзгөрүүлөр жөнүндө кабарлоо үчүн libpiod sysfs колдонот.

Аппараттык камсыздоону орнотуу
2.1 Платформа колдонулат
Raspberry Pi OS менен Raspberry Pi 4 тактасы RFAL китепканасын куруу жана SPI аркылуу ST25R3916/ST25R3916B менен өз ара аракеттенүү үчүн Linux платформасы катары колдонулат.
Түзмөктөр Linux платформасындагы тиркемени NFC түзмөктөрүн аныктоо жана байланышуу үчүн иштетет.
2.2 Аппараттык камсыздоого талаптар
- Raspberry Pi 4
- Raspberry Pi OS жүктөө үчүн 8 ГБ микро SD карта (анын акыркы талаптары менен)
- SD карта окугуч
- X-NUCLEO-NFC06A1 же X-NUCLEO-NFC08A1 такталары
- Raspberry Pi үчүн Raspberry Pi Arduino™ адаптери менен тактаны туташтыруу үчүн көпүрө (бөлүктүн номери ARPI600)
2.2.1 Аппараттык байланыштар
ARPI600 Raspberry Pi менен Arduino адаптери тактайларды Raspberry Pi менен туташтыруу үчүн колдонулат. Адаптер тактасынын секиргичтери аны X-NUCLEO-NFC06A1 же X-NUCLEO-NFC08A1 такталары менен туташтыруу үчүн өзгөртүлүшү керек.
Абайлаңыз:
ARPI600 Arduino IOREF пинине 5 В туура эмес берет. Такталарды түздөн-түз бекитүү кээ бир төөнөгүчтөргө 5 В кайтарып берет, бул Raspberry Pi тактасына зыян келтириши мүмкүн. Жок кылынган такталар (айрыкча Raspberry Pi 4B+) тууралуу маалыматтар бар.
Мунун алдын алуу үчүн, ARPI600 (бир кыйла татаал операция) же X-NUCLEO-NFC06A1/X-NUCLEONFC08A1 тактасын (жеңилирээк) адаптациялаңыз.
Эң оңой оңдоо - 6.2-сүрөттө көрсөтүлгөндөй, X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 такталарындагы CN3 (IOREF) пинди кесүү.
Бул төөнөгүчтү кесүү Nucleo такталары (мисалы, NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB) менен бирге иштөөгө таасирин тийгизбейт.

Jumper жөндөө
5-сүрөттө көрсөтүлгөн A4, A3, A2, A1, A0 жана A4 үчүн секирүүчүлөрдү, тиешелүүлүгүнө жараша, P25, P24, P23, P22, P21 жана CE1ге өзгөртүү керек. Бул жөндөө менен Raspberry's GPIO pin номери 7 X-NUCLEONFC06A1/X-NUCLEO-NFC08A1 үчүн үзгүлтүккө учуратуу линиясы катары колдонулат.

Учурда бул RFAL китепкана порту GPIO7 пинди үзгүлтүккө учуратуу линиясы катары колдонот (сетирүүчү орнотууларга ылайык). Эгер үзгүлтүккө учураган линияны GPIO7ден башка GPIOго өзгөртүү талап кылынса, платформага тиешелүү код (жылы file pltf_gpio.h) ST25R_INT_PIN макронун аныктамасын 7ден жаңы GPIO пинге өзгөртүү үчүн, үзгүлтүккө учуроо сызыгы катары колдонулушу керек.
Жогорудагы секирүү орнотуулары менен, адаптер тактасын X-NUCLEO NFC06A1 жана X-NUCLEO-NFC08A1 менен Raspberry Pi тактасына туташтыруу үчүн колдонсо болот, төмөнкү сүрөттөрдө көрсөтүлгөн.

Linux чөйрөсүн орнотуу
3.1 Raspberry Pi жүктөө
Linux чөйрөсүн орнотуу үчүн, адегенде төмөндө түшүндүрүлгөндөй Raspberry Pi OS менен Raspberry Pi орнотуп, жүктөңүз:
1-кадам
Raspberry Pi OS акыркы сүрөтүн жүктөп алыңыз https://www.raspberrypi.com, андан кийин иш тактасы менен Raspberry Pi OS тандаңыз. Төмөнкү сыноолор үчүн 2022-09-22-raspios-bullseye-armhf.img.xz (2022-жылдын сентябры) версиясы колдонулган.
2-кадам
Raspberry Pi OS сүрөтүн ачып, "SD картага сүрөт жазуу" бөлүмүндөгү нускамаларды аткаруу менен аны SD картага жазыңыз.
3-кадам
Аппаратты туташтыруу:
- Raspberry Pi 4ти стандарттуу HDMI кабели аркылуу мониторго туташтырыңыз.
- Чычканды жана клавиатураны Raspberry Piдин USB портторуна туташтырыңыз.
Ошондой эле ssh аркылуу Raspberry Pi менен иштөөгө болот. Бул учурда. мониторду, клавиатураны жана чычканды Raspberry Pi менен туташтыруу талап кылынбайт. Жалгыз талап - Raspberry Pi менен бир тармактын ичинде ssh менен PC болушу жана IP дарегин ошого жараша конфигурациялоо.
4-кадам
Raspberry Pi 4ти SD карта менен жүктөңүз. Жүктөөдөн кийин монитордо Debian негизиндеги Linux иш тактасы пайда болот.
Эскертүү:
Кээде, Raspberry Pi OS жүктөөдөн кийин, кээ бир клавиатура баскычтары иштебей калат. Аларды иштетүү үчүн, ачыңыз file /etc/default/keyboard жана XKBLAYOUT=”us” деп коюңуз жана Raspberry Pi'ни кайра жүктөңүз.
3.2 Raspberry Pi боюнча SPI иштетүү
Ядронун ичиндеги SPI драйвери SPI аркылуу X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 такталары менен байланышат. Raspbian Pi OS ядро конфигурациясында SPI мурунтан эле иштетилгенин текшерүү маанилүү.
/dev/spidev0.0 Raspberry Pi чөйрөсүндө көрүнөөрүн текшериңиз. Эгер ал көрүнбөсө, төмөндө сүрөттөлгөн кадамдарды аткаруу менен “raspi-config” утилитасын колдонуп SPI интерфейсин иштетиңиз.
1-кадам
Raspberry Piде жаңы терминалды ачып, "raspi-config" буйругун тамыр катары иштетиңиз: sudo raspi-config
Бул кадам графикалык интерфейсти ачат.
2-кадам
Графикалык интерфейстен "Интерфейсация параметрлери" деп аталган параметрди тандаңыз.
3-кадам
Бул кадам ар кандай варианттарды тизмелейт.
"SPI" деп аталган параметрди тандаңыз.
Төмөнкү текст менен жаңы терезе пайда болот:
"SPI интерфейсинин иштетилишин каалайсызбы?"
4-кадам
Тандоо SPI иштетүү үчүн бул терезеде.
5-кадам
Raspberry Pi кайра жүктөө.
Жогорудагы кадамдар кайра жүктөөдөн кийин Raspberry Pi чөйрөсүндө SPI интерфейсин иштетет.
RFAL китепканасын жана тиркемесин түзүңүз
Linuxтун RFAL демонстрациясы архивде берилген, мисалы, ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz.
Raspberry Piде RFAL китепканасын жана тиркемесин куруу үчүн төмөнкү кадамдарды аткарыңыз:
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).
Бул буйрук түзүүнү түзөтfile китепкана жана тиркемени куруу үчүн кийинки кадамда колдонулат. Ал жерден ST25R3916B үчүн демонстрацияны түзүү үчүн төмөнкү буйрукту иштетиңиз
cmake -DRFAL_VARIANT=st25r3916b ..
4-кадам
RFAL китепканасын жана тиркемесин түзүү үчүн make командасын иштетиңиз:
жасоо
Бул буйрук адегенде RFAL китепканасын, андан кийин анын үстүнө тиркемени түзөт.
Тиркемени кантип иштетүү керек
Ийгиликтүү түзүү "nfc_poller_st25r3916" же "nfc_poller_st25r3916b" /build/demo жайгашкан жерде аткарылуучу файлды жаратат.
Демейки боюнча, колдонмо ST25R3916_v2.8.0_Linux_demo_v1.0/linux_demo/build/demo/ жолунун түпкү укуктары менен иштетилиши керек:
sudo ./nfc_demo_st25r3916
Колдонмо NFC үчүн сурамжылоону баштайт tags жана уюлдук телефондор, андан кийин 7-сүрөттө көрсөтүлгөндөй, табылган түзмөктөрдү UID менен көрсөтөт.

Колдонмону токтотуу үчүн 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 Raspberry Piде SPI иштетүү, 4-бөлүм RFAL китепканасын жана тиркемесин куруу, жана 5-бөлүм Тиркемени кантип иштетүү керек. Жаңыланган 1-сүрөт. Linux платформасындагы RFAL китепканасы, 2-сүрөт. RFAL программалык камсыздоонун архитектурасы Linux жана 5-сүрөт. Аппараттык камсыздоону орнотуунун үстү view. Бүтүндөй документ боюнча майда текст түзөтүүлөр. |
МААНИЛҮҮ ЭСКЕРТҮҮ – КЫЛАТ КЫЛЫП ОКУҢУЗ
STMicroelectronics NV жана анын туунду компаниялары («СТ») ST өнүмдөрүнө жана/же бул документке каалаган убакта эскертүүсүз өзгөртүү, оңдоо, жакшыртуу, өзгөртүү жана жакшыртуу укугун өзүнө калтырат. Сатып алуучулар буйрутмаларды берүүдөн мурун ST продуктулары боюнча акыркы тиешелүү маалыматты алышы керек. ST продуктылары СТтин сатуунун шарттарына ылайык, буйрутманы ырастоо учурундагы жерде сатылат.
Сатып алуучулар ST өнүмдөрүн тандоо, тандоо жана колдонуу үчүн жалгыз жооп берет жана ST колдонууга жардам берүү же сатып алуучулардын продуктуларынын дизайны үчүн эч кандай жоопкерчилик тартпайт.
Бул жерде ST тарабынан эч кандай интеллектуалдык менчик укугуна ачык же кыйыр түрдө эч кандай лицензия берилбейт.
Бул жерде баяндалган маалыматтан башкача жоболор менен СТ продукциясын кайра сатуу СТ тарабынан мындай продукт үчүн берилген кепилдикти жокко чыгарат.
ST жана ST логотиби ST соода белгилери болуп саналат. ST соода белгилери жөнүндө кошумча маалымат алуу үчүн, караңыз www.st.com/trademarks. Бардык башка өнүм же кызмат аттары тиешелүү ээлеринин менчиги болуп саналат.
Бул документтеги маалымат бул документтин бардык мурунку версияларында мурда берилген маалыматтын ордун басат жана алмаштырат.
© 2023 STMicroelectronics – Бардык укуктар корголгон
UM2548 – Аян 2
Документтер / Ресурстар
![]() |
STMicroelectronics UM2548 Linux драйвери [pdf] Колдонуучунун колдонмосу UM2548 Linux Driver, UM2548, Linux Driver, Driver |




