
UM2548 Linux ડ્રાઈવર
Linux® ST25R3916/ST25R3916B માટે ડ્રાઇવર
વપરાશકર્તા માર્ગદર્શિકા
UM2548 Linux ડ્રાઈવર
પરિચય
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 સંચાર માટે પ્રમાણભૂત Linux સિસ્ટમ (આ કિસ્સામાં રાસ્પબેરી Pi 4) પર RFAL લાઇબ્રેરીનો ઉપયોગ કેવી રીતે થઈ શકે છે. કોડ અત્યંત પોર્ટેબલ છે અને કોઈપણ 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)
- માલિકીની તકનીકો, જેમ કે કોવિઓ, બી', iClass, Calypso® - SampX-NUCLEO-NFC06A1 અને X-NUCLEO-NFC08A1 વિસ્તરણ બોર્ડ સાથે અમલીકરણ ઉપલબ્ધ છે, જે રાસ્પબેરી પી 4 માં પ્લગ થયેલ છે
- Sampઘણા NFC શોધવા માટે le એપ્લિકેશન tag P2P ને સપોર્ટ કરતા પ્રકારો અને મોબાઇલ ફોન
- મફત વપરાશકર્તા મૈત્રીપૂર્ણ લાઇસન્સ શરતો
1.2 સોફ્ટવેર આર્કિટેક્ચર
આકૃતિ 2 Linux પ્લેટફોર્મ પર RFAL લાઇબ્રેરીની સોફ્ટવેર આર્કિટેક્ચર વિગતો દર્શાવે છે.
RFAL કહેવાતા પ્લેટફોર્મને અનુકૂલિત કરીને અન્ય પ્લેટફોર્મ પર સરળતાથી પોર્ટેબલ છે files.
હેડર file rfal_platform.h માં મેક્રો વ્યાખ્યાઓ શામેલ છે, જે પ્લેટફોર્મ માલિક દ્વારા પ્રદાન કરવા અને અમલમાં મૂકવાની છે.
તે GPIO અસાઇનમેન્ટ, સિસ્ટમ સંસાધનો, તાળાઓ અને IRQs જેવા પ્લેટફોર્મ વિશિષ્ટ સેટિંગ્સ પ્રદાન કરે છે, જે RFAL ના યોગ્ય સંચાલન માટે જરૂરી છે.
આ નિદર્શન પ્લેટફોર્મ કાર્યોને અમલમાં મૂકે છે અને Linux ના વપરાશકર્તા જગ્યામાં RFAL નો પોર્ટ પૂરો પાડે છે.
એક વહેંચાયેલ પુસ્તકાલય file જનરેટ થાય છે, જેનો ઉપયોગ RFAL સ્તર દ્વારા પૂરી પાડવામાં આવેલ કાર્યક્ષમતા દર્શાવવા માટે પ્રદર્શનાત્મક એપ્લિકેશન દ્વારા કરવામાં આવે છે.
Linux હોસ્ટ ઉપકરણો સાથે SPI સંચાર કરવા માટે Linux વપરાશકર્તા જગ્યામાંથી ઉપલબ્ધ sysfs ઈન્ટરફેસનો ઉપયોગ કરે છે. Linux કર્નલની અંદર SPI sysfs ઈન્ટરફેસ ઉપકરણો પર/માંથી SPI ફ્રેમ્સ મોકલવા/પ્રાપ્ત કરવા માટે Linux કર્નલ ડ્રાઈવર spidev નો ઉપયોગ કરે છે.
ST25R3916 અને ST25R3916B ઉપકરણોની INT લાઇનને હેન્ડલ કરવા માટે, ડ્રાઇવર આ લાઇન પરના ફેરફારોની સૂચના મેળવવા માટે libpiod sysfs નો ઉપયોગ કરે છે.

હાર્ડવેર સેટઅપ
2.1 પ્લેટફોર્મ વપરાય છે
RFAL લાઇબ્રેરી બનાવવા અને SPI પર ST4R25/ST3916R25B સાથે ક્રિયાપ્રતિક્રિયા કરવા માટે Raspberry Pi OS સાથે Raspberry Pi 3916 બોર્ડનો ઉપયોગ Linux પ્લેટફોર્મ તરીકે થાય છે.
ઉપકરણો NFC ઉપકરણોને શોધવા અને તેની સાથે વાતચીત કરવા માટે Linux પ્લેટફોર્મ પર એપ્લિકેશનને સક્ષમ કરે છે.
2.2 હાર્ડવેર જરૂરિયાતો
- રાસ્પબેરી પાઇ 4
- રાસ્પબેરી Pi OS બુટ કરવા માટે 8 GB માઇક્રો SD કાર્ડ (તેની નવીનતમ આવશ્યકતાઓ સાથે)
- 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 ખોટી રીતે 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 બોર્ડ સાથે જોડવા માટે કરી શકાય છે, જે નીચેના આંકડાઓમાં બતાવ્યા પ્રમાણે છે.

Linux પર્યાવરણ સેટઅપ
3.1 રાસ્પબેરી 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
હાર્ડવેરને કનેક્ટ કરો:
- પ્રમાણભૂત HDMI કેબલનો ઉપયોગ કરીને Raspberry Pi 4 ને મોનિટર સાથે કનેક્ટ કરો.
- Raspberry Pi ના USB પોર્ટ્સ સાથે માઉસ અને કીબોર્ડને કનેક્ટ કરો.
ssh નો ઉપયોગ કરીને રાસ્પબેરી પી સાથે કામ કરવું પણ શક્ય છે. આ બાબતે. મોનિટર, કીબોર્ડ અને માઉસને રાસ્પબેરી પી સાથે કનેક્ટ કરવાની જરૂર નથી. એકમાત્ર આવશ્યકતા એ છે કે રાસ્પબેરી પાઈ જેવા જ નેટવર્કની અંદર ssh સાથેનું PC હોવું અને તે મુજબ IP સરનામું ગોઠવવું.
પગલું 4
Raspberry Pi 4 ને SD કાર્ડ વડે બુટ કરો. બુટ કર્યા પછી, મોનિટર પર ડેબિયન આધારિત 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 દૃશ્યમાન છે કે કેમ તે તપાસો. જો તે દૃશ્યમાન ન હોય તો, નીચે વર્ણવેલ પગલાંને અનુસરીને ઉપયોગિતા “raspi-config” નો ઉપયોગ કરીને SPI ઇન્ટરફેસને સક્ષમ કરો.
પગલું 1
Raspberry Pi પર નવું ટર્મિનલ ખોલો અને રુટ તરીકે "raspi-config" આદેશ ચલાવો: sudo raspi-config
આ પગલું ગ્રાફિકલ ઇન્ટરફેસ ખોલે છે.
પગલું 2
ગ્રાફિકલ ઇન્ટરફેસમાં "ઇન્ટરફેસિંગ વિકલ્પો" નામનો વિકલ્પ પસંદ કરો.
પગલું 3
આ પગલું વિવિધ વિકલ્પોની યાદી આપે છે.
“SPI” નામનો વિકલ્પ પસંદ કરો.
નીચેના ટેક્સ્ટ સાથે એક નવી વિન્ડો દેખાય છે:
"શું તમે SPI ઇન્ટરફેસને સક્ષમ કરવા માંગો છો?"
પગલું 4
પસંદ કરો SPI ને સક્ષમ કરવા માટે આ વિન્ડોમાં.
પગલું 5
રાસ્પબેરી પી રીબુટ કરો.
ઉપરોક્ત પગલાંઓ રીબૂટ પછી રાસ્પબેરી પી પર્યાવરણમાં 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 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 લાઇબ્રેરી અને એપ્લિકેશન બનાવવા માટે મેક કમાન્ડ ચલાવો:
બનાવવું
આ આદેશ પ્રથમ 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 બુટીંગ રાસ્પબેરી 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 લોગો એ ST ના ટ્રેડમાર્ક છે. ST ટ્રેડમાર્ક વિશે વધારાની માહિતી માટે, નો સંદર્ભ લો www.st.com/trademarks. અન્ય તમામ ઉત્પાદન અથવા સેવાના નામો તેમના સંબંધિત માલિકોની મિલકત છે.
આ દસ્તાવેજમાંની માહિતી આ દસ્તાવેજના કોઈપણ અગાઉના સંસ્કરણોમાં અગાઉ પૂરા પાડવામાં આવેલ માહિતીને બદલે છે અને બદલે છે.
© 2023 STMicroelectronics – સર્વાધિકાર આરક્ષિત
UM2548 – રેવ 2
દસ્તાવેજો / સંસાધનો
![]() | UM2548 Linux ડ્રાઈવર |
સંદર્ભો
- raspberrypi.comwww.raspberrypi.com
- st.comwww.st.com
- st.com/trademarkswww.st.com
- st.com/en/product/stsw-st25r013?ecmp=tt9470_gl_link_feb2019&rt=um&id=UM2548www.st.com
- વપરાશકર્તા માર્ગદર્શિકાmanual.tools
