UM2548 लिनक्स ड्रायव्हर
लिनक्स® ST25R3916/ST25R3916B साठी ड्रायव्हर
वापरकर्ता मॅन्युअल
UM2548 लिनक्स ड्रायव्हर
परिचय
STSW-ST25R013 Linux® ड्रायव्हर Raspberry Pi® 4 ला X-NUCLEO-NFCO6A1 आणि X-NUCLEO-NFCO8A1 बोर्डांसह ऑपरेट करण्यास सक्षम करतो, ज्यामध्ये अनुक्रमे ST25R3916 आणि ST25R3916B उपकरणे आहेत.
हे पॅकेज बोर्ड फर्मवेअरसह ऑपरेट करण्यासाठी, RF अॅब्स्ट्रॅक्शन लेयर (RFAL) ला Raspberry Pi 4 Linux प्लॅटफॉर्मवर पोर्ट करते आणि प्रदान करतेampविविध प्रकारचे NFC शोधणारा le अनुप्रयोग 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 संप्रेषणासाठी मानक लिनक्स प्रणालीवर (या प्रकरणात रास्पबेरी पाई 4) RFAL लायब्ररी कशी वापरली जाऊ शकते याचे वर्णन करतो. कोड अत्यंत पोर्टेबल आहे आणि कोणत्याही Linux प्लॅटफॉर्मवर किरकोळ बदलांसह कार्य करतो.
ओव्हरview
1.1 वैशिष्ट्ये
- ST25R3916 आणि ST25R3916B उपकरणे वापरून NFC सक्षम ऍप्लिकेशन्स तयार करण्यासाठी पूर्ण Linux वापरकर्ता स्पेस ड्रायव्हर (RF ऍब्स्ट्रॅक्शन लेयर)
- SPI इंटरफेस वापरून ST25R3916/ST25R3916B सह लिनक्स होस्ट संप्रेषण
- सर्व प्रमुख तंत्रज्ञान आणि उच्च स्तर प्रोटोकॉलसाठी पूर्ण 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)
- मालकीचे तंत्रज्ञान, जसे की कोविओ, बी', आयक्लास, कॅलिप्सो® - Sampरास्पबेरी Pi 06 मध्ये प्लग इन केलेल्या X-NUCLEO-NFC1A08 आणि X-NUCLEO-NFC1A4 विस्तार बोर्डसह अंमलबजावणी उपलब्ध आहे
- Sampअनेक NFC शोधण्यासाठी le अनुप्रयोग tag P2P ला समर्थन देणारे प्रकार आणि मोबाईल फोन
- मोफत वापरकर्ता-अनुकूल परवाना अटी
1.2 सॉफ्टवेअर आर्किटेक्चर
आकृती 2 लिनक्स प्लॅटफॉर्मवर RFAL लायब्ररीचे सॉफ्टवेअर आर्किटेक्चर तपशील दाखवते.
आरएफएएल तथाकथित प्लॅटफॉर्मला अनुकूल करून इतर प्लॅटफॉर्मवर सहजपणे पोर्टेबल आहे files.
शीर्षलेख file rfal_platform.h मध्ये प्लॅटफॉर्म मालकाने प्रदान केलेल्या आणि अंमलात आणल्या जाणार्या मॅक्रो व्याख्या आहेत.
हे GPIO असाइनमेंट, सिस्टम रिसोर्सेस, लॉक आणि IRQs सारख्या प्लॅटफॉर्म विशिष्ट सेटिंग्ज प्रदान करते, जे RFAL च्या योग्य ऑपरेशनसाठी आवश्यक आहेत.
हे प्रात्यक्षिक प्लॅटफॉर्म फंक्शन्सची अंमलबजावणी करते आणि Linux च्या वापरकर्त्याच्या जागेत RFAL चे पोर्ट प्रदान करते.
सामायिक लायब्ररी file व्युत्पन्न केले जाते, जे आरएफएएल लेयरद्वारे प्रदान केलेल्या कार्यक्षमतेचे प्रदर्शन करण्यासाठी प्रात्यक्षिक अनुप्रयोगाद्वारे वापरले जाते.
लिनक्स होस्ट डिव्हाइसेससह SPI संप्रेषण करण्यासाठी Linux वापरकर्ता जागेवरून उपलब्ध sysfs इंटरफेस वापरतो. लिनक्स कर्नलच्या आत SPI sysfs इंटरफेस लिनक्स कर्नल ड्रायव्हर spidev चा वापर उपकरणांवर/वरून SPI फ्रेम्स पाठवण्यासाठी/प्राप्त करण्यासाठी करतो.
ST25R3916 आणि ST25R3916B उपकरणांची INT लाईन हाताळण्यासाठी, ड्रायव्हर libpiod sysfs चा वापर या लाईनवरील बदलांची सूचना मिळवण्यासाठी करतो.
हार्डवेअर सेटअप
2.1 प्लॅटफॉर्म वापरले
RFAL लायब्ररी तयार करण्यासाठी आणि SPI वर ST4R25/ST3916R25B शी संवाद साधण्यासाठी Raspberry Pi OS सह रास्पबेरी Pi 3916 बोर्ड लिनक्स प्लॅटफॉर्म म्हणून वापरला जातो.
लिनक्स प्लॅटफॉर्मवर एनएफसी उपकरणे शोधण्यासाठी आणि त्यांच्याशी संवाद साधण्यासाठी डिव्हाइसेस सक्षम करतात.
2.2 हार्डवेअर आवश्यकता
- रास्पबेरी पाई 4
- रास्पबेरी Pi OS बूट करण्यासाठी 8 GB मायक्रो SD कार्ड (त्याच्या नवीनतम आवश्यकतांसह)
- SD कार्ड रीडर
- X-NUCLEO-NFC06A1 किंवा X-NUCLEO-NFC08A1 बोर्ड
- Raspberry Pi (भाग क्रमांक ARPI600) साठी Raspberry Pi Arduino™ अडॅप्टरसह बोर्ड कनेक्ट करण्यासाठी ब्रिज
2.2.1 हार्डवेअर कनेक्शन
ARPI600 Raspberry Pi ते Arduino अॅडॉप्टरचा वापर बोर्डांना रास्पबेरी पाई सह जोडण्यासाठी केला जातो. X-NUCLEO-NFC06A1 किंवा X-NUCLEO-NFC08A1 बोर्डांशी जोडण्यासाठी अॅडॉप्टर बोर्डच्या जंपर्समध्ये सुधारणा करणे आवश्यक आहे.
खबरदारी:
ARPI600 चुकीच्या पद्धतीने Arduino IOREF पिनला 5 V पुरवते. बोर्ड थेट संलग्न केल्याने काही पिनवर 5 V फीड बॅक होतो, यामुळे रास्पबेरी पाई बोर्ड खराब होऊ शकतो. बोर्ड नष्ट झाल्याच्या बातम्या आहेत (विशेषतः रास्पबेरी Pi 4B+).
हे टाळण्यासाठी, ARPI600 (एक कठीण ऑपरेशन), किंवा X-NUCLEO-NFC06A1/X-NUCLEONFC08A1 बोर्ड (सोपे) जुळवून घ्या.
आकृती 6.2 मध्ये दर्शविल्याप्रमाणे, X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 बोर्डवरील CN3 (IOREF) पिन कट करणे सर्वात सोपा उपाय आहे.
हा पिन कापल्याने न्यूक्लिओ बोर्ड (जसे की NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB) च्या संयोगाने ऑपरेशनवर परिणाम होत नाही.
जम्पर सेटिंग
आकृती 5 मध्ये दर्शविलेले A4, A3, A2, A1, A0 आणि A4 चे जंपर्स अनुक्रमे P25, P24, P23, P22, P21 आणि CE1 मध्ये बदलले पाहिजेत. या सेटिंगसह रास्पबेरीचा GPIO पिन क्रमांक 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 बोर्डसह जोडण्यासाठी केला जाऊ शकतो.
लिनक्स पर्यावरण सेटअप
3.1 रास्पबेरी पाई बूट करणे
लिनक्स वातावरण सेटअप करण्यासाठी, प्रथम Raspberry Pi OS सह Raspberry Pi स्थापित आणि बूट करा, खाली स्पष्ट केल्याप्रमाणे:
पायरी 1
येथून नवीनतम रास्पबेरी Pi OS प्रतिमा डाउनलोड करा https://www.raspberrypi.com, नंतर डेस्कटॉपसह रास्पबेरी Pi OS निवडा. खालील चाचण्यांसाठी 2022-09-22-raspios-bullseye-armhf.img.xz (सप्टेंबर 2022) आवृत्ती वापरली गेली आहे.
पायरी 2
Raspberry Pi OS प्रतिमा अनझिप करा आणि "SD कार्डवर प्रतिमा लिहिणे" नावाच्या विभागात उपलब्ध असलेल्या सूचनांचे अनुसरण करून ती SD कार्डवर लिहा.
पायरी 3
हार्डवेअर कनेक्ट करा:
- मानक HDMI केबल वापरून Raspberry Pi 4 ला मॉनिटरशी कनेक्ट करा.
- Raspberry Pi च्या USB पोर्टशी माउस आणि कीबोर्ड कनेक्ट करा.
ssh वापरून रास्पबेरी पाई सह कार्य करणे देखील शक्य आहे. या प्रकरणात. Raspberry Pi सह मॉनिटर, कीबोर्ड आणि माउस कनेक्ट करणे आवश्यक नाही. Raspberry Pi सारख्या नेटवर्कमध्ये ssh सह PC असणे आणि त्यानुसार IP पत्ता कॉन्फिगर करणे ही एकमेव आवश्यकता आहे.
पायरी 4
रास्पबेरी Pi 4 SD कार्डने बूट करा. बूट केल्यानंतर, मॉनिटरवर डेबियन आधारित लिनक्स डेस्कटॉप दिसतो.
टीप:
कधीकधी, Raspberry Pi OS बूट केल्यानंतर, काही कीबोर्ड की कार्य करत नाहीत. त्यांना कार्य करण्यासाठी, उघडा file /etc/default/keyboard आणि XKBLAYOUT=”us” सेट करा आणि Raspberry Pi रीबूट करा.
3.2 रास्पबेरी पाई वर SPI सक्षम करा
कर्नलमधील SPI ड्रायव्हर SPI द्वारे X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 बोर्डांशी संवाद साधतो. Raspbian Pi OS कर्नल कॉन्फिगरेशनमध्ये SPI आधीच सक्षम आहे का हे तपासणे महत्त्वाचे आहे.
रास्पबेरी पाई वातावरणात /dev/spidev0.0 दृश्यमान आहे का ते तपासा. ते दृश्यमान नसल्यास, खाली वर्णन केलेल्या चरणांचे अनुसरण करून “raspi-config” उपयुक्तता वापरून SPI इंटरफेस सक्षम करा.
पायरी 1
रास्पबेरी पाई वर नवीन टर्मिनल उघडा आणि रूट म्हणून "raspi-config" कमांड चालवा: sudo raspi-config
ही पायरी ग्राफिकल इंटरफेस उघडते.
पायरी 2
ग्राफिकल इंटरफेसमध्ये "इंटरफेसिंग पर्याय" नावाचा पर्याय निवडा.
पायरी 3
ही पायरी विविध पर्यायांची यादी करते.
“SPI” नावाचा पर्याय निवडा.
खालील मजकूरासह एक नवीन विंडो दिसेल:
"तुम्हाला SPI इंटरफेस सक्षम करायला आवडेल का?"
पायरी 4
निवडा SPI सक्षम करण्यासाठी या विंडोमध्ये.
पायरी 5
रास्पबेरी पाई रीबूट करा.
वरील पायऱ्या रीबूट केल्यानंतर रास्पबेरी पाई वातावरणात SPI इंटरफेस सक्षम करतील.
RFAL लायब्ररी आणि अनुप्रयोग तयार करा
लिनक्सचे RFAL प्रात्यक्षिक ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz सारख्या संग्रहात प्रदान केले आहे.
रास्पबेरी पाई वर आरएफएएल लायब्ररी आणि ऍप्लिकेशन तयार करण्यासाठी, खालील चरणांवर जा:
पायरी 1
होम डिरेक्ट्रीमधून खालील कमांड वापरून रास्पबेरी पाईवरील पॅकेज अनझिप करा
tar -xJvf ST25R3916_v2.8.0_Linux_demo_v1.0.tar.xz
पायरी 2
कमांड वापरून cmake (आधी केले नसल्यास) स्थापित करा
apt-get install 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 लायब्ररी तयार करतो, आणि नंतर त्यावरील अनुप्रयोग.
अर्ज कसा चालवायचा
यशस्वी बिल्ड-अप स्थान /build/demo वर “nfc_poller_st25r3916” किंवा “nfc_poller_st25r3916b” नावाचे एक एक्झिक्यूटेबल व्युत्पन्न करते.
डीफॉल्टनुसार, ऍप्लिकेशन 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 बूटिंग रास्पबेरी पाई, विभाग 3.2 रास्पबेरी पाई वर SPI सक्षम करा, विभाग 4 RFAL लायब्ररी आणि अनुप्रयोग तयार करा, आणि विभाग 5 अर्ज कसा चालवायचा. अपडेटेड आकृती 1. लिनक्स प्लॅटफॉर्मवर आरएफएएल लायब्ररी, आकृती 2. आरएफएएल सॉफ्टवेअर आर्किटेक्चर Linux वर, आणि आकृती 5. हार्डवेअर सेटअप शीर्ष view. संपूर्ण दस्तऐवजात किरकोळ मजकूर संपादने. |
महत्वाची सूचना – काळजीपूर्वक वाचा
STMicroelectronics NV आणि त्याच्या उपकंपन्या (“ST”) ST उत्पादनांमध्ये आणि/किंवा या दस्तऐवजात कोणत्याही वेळी सूचना न देता बदल, सुधारणा, सुधारणा, सुधारणा आणि सुधारणा करण्याचा अधिकार राखून ठेवतात. खरेदीदारांनी ऑर्डर देण्यापूर्वी एसटी उत्पादनांची नवीनतम माहिती मिळवावी. ऑर्डर पावतीच्या वेळी एसटी उत्पादनांची विक्री एसटीच्या अटी आणि नियमांनुसार केली जाते.
एसटी उत्पादनांची निवड, निवड आणि वापर यासाठी खरेदीदार पूर्णपणे जबाबदार आहेत आणि एसटी अर्ज सहाय्यासाठी किंवा खरेदीदारांच्या उत्पादनांच्या डिझाइनसाठी कोणतेही दायित्व गृहीत धरत नाही.
कोणताही बौद्धिक संपदा अधिकाराचा कोणताही परवाना, व्यक्त किंवा निहित, येथे एसटीकडून मंजूर नाही.
येथे नमूद केलेल्या माहितीपेक्षा वेगळ्या तरतुदींसह एसटी उत्पादनांची पुनर्विक्री अशा उत्पादनासाठी एसटीने दिलेली कोणतीही हमी रद्द करेल.
एसटी आणि एसटी लोगो हे एसटीचे ट्रेडमार्क आहेत. एसटी ट्रेडमार्कबद्दल अतिरिक्त माहितीसाठी, पहा www.st.com/trademarks. इतर सर्व उत्पादन किंवा सेवा नावे त्यांच्या संबंधित मालकांची मालमत्ता आहेत.
या दस्तऐवजातील माहिती या दस्तऐवजाच्या कोणत्याही आधीच्या आवृत्त्यांमध्ये पूर्वी पुरवलेल्या माहितीची जागा घेते आणि पुनर्स्थित करते.
© 2023 STMicroelectronics – सर्व हक्क राखीव
UM2548 – Rev 2
कागदपत्रे / संसाधने
![]() |
STMicroelectronics UM2548 Linux ड्रायव्हर [pdf] वापरकर्ता मॅन्युअल UM2548 लिनक्स ड्रायव्हर, UM2548, लिनक्स ड्रायव्हर, ड्रायव्हर |