Εγχειρίδιο χρήστη STMicroelectronics UM2375 Linux Driver

Λογότυπο STMicroelectronics

Πρόγραμμα οδήγησης Linux® για τα διεπαφή NFC υψηλής απόδοσης ST25R3911B και ST25R3912/14/15

Εισαγωγή

Το πρόγραμμα οδήγησης STSW-ST25R009 Linux® επιτρέπει στο Raspberry Pi 4 να λειτουργεί με το X-NUCLEO-NFC05A1, το οποίο περιέχει την καθολική συσκευή NFC υψηλής απόδοσης ST25R3911B.

Αυτό το πακέτο μεταφέρει το στρώμα αφαίρεσης RF (RFAL) σε μια πλατφόρμα Linux Raspberry Pi 4 για λειτουργία με υλικολογισμικό X-NUCLEO-NFC05A1. Το πακέτο παρέχει ωςampΕφαρμογή που ανιχνεύει διαφορετικούς τύπους NFC tags και κινητά τηλέφωνα που υποστηρίζουν P2P. Το RFAL είναι το πρότυπο πρόγραμμα οδήγησης ST για τα IC ST25R NFC/RFID Reader 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. Ο κώδικας είναι εξαιρετικά φορητός και λειτουργεί με μικρές αλλαγές σε οποιαδήποτε πλατφόρμα Linux.

Εικόνα 1. Βιβλιοθήκη RFAL σε πλατφόρμα Linux

Εικόνα 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
  • Sample εφαρμογή για τον εντοπισμό πολλών 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

Εικόνα 2 Αρχιτεκτονική λογισμικού RFAL σε Linux

Ρύθμιση υλικού

Χρησιμοποιείται πλατφόρμα

Μια πλακέτα Raspberry Pi 4 με Raspberry Pi OS χρησιμοποιείται ως πλατφόρμα Linux για τη δημιουργία βιβλιοθήκης RFAL και την αλληλεπίδραση με το ST25R3911B μέσω SPI.
Το ST25R3911B επιτρέπει σε μια εφαρμογή σε πλατφόρμα Linux να εντοπίζει και να επικοινωνεί με συσκευές NFC.

Απαιτήσεις υλικού
  • Raspberry Pi 4
  • Κάρτα micro SD 8 GByte για εκκίνηση του Raspberry Pi OS
  • Αναγνώστης καρτών SD
  • Πλακέτα γέφυρας για σύνδεση X-NUCLEO-NFC05A1 με τον προσαρμογέα Arduino Raspberry Pi για Raspberry Pi, αριθμός εξαρτήματος ARPI600.
  • X-NUCLEO-NFC05A1. Ανατρέξτε στις πιο πρόσφατες απαιτήσεις του Raspberry Pi OS.

Συνδέσεις υλικού

Η πλακέτα προσαρμογέα 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. Διόρθωση σύνδεσης υλικού

Εικόνα 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 στην πλακέτα προσαρμογέα

Σχήμα 4 Θέση άλτης

Επί του παρόντος, αυτή η θύρα βιβλιοθήκης RFAL χρησιμοποιεί τον ακροδέκτη GPIO7 ως γραμμή διακοπής, σύμφωνα με τις ρυθμίσεις του βραχυκυκλωτήρα. Εάν υπάρχει απαίτηση αλλαγής της γραμμής διακοπής από GPIO7 σε διαφορετικό GPIO, ο κωδικός της συγκεκριμένης πλατφόρμας (στο file pltf_gpio.h) πρέπει να τροποποιηθεί για να αλλάξει ο ορισμός της μακροεντολής "ST25R_INT_PIN" από 7 στη νέα ακίδα GPIO, που θα χρησιμοποιηθεί ως γραμμή διακοπής.

Με τις παραπάνω ρυθμίσεις βραχυκυκλωτήρα, η πλακέτα προσαρμογέα μπορεί να χρησιμοποιηθεί για τη σύνδεση του X-NUCLEO-NFC05A1 με την πλακέτα Raspberry Pi, όπως φαίνεται στην Εικόνα 5.

Εικόνα 5. Κορυφή εγκατάστασης υλικού view

Εικόνα 5 Επάνω ρύθμισης υλικού view

Εικόνα 6. Πλευρά εγκατάστασης υλικού 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/kernel.
Ελέγξτε εάν το /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 δημιουργεί το makefile που χρησιμοποιείται στο επόμενο βήμα για τη δημιουργία της βιβλιοθήκης και της εφαρμογής.

Βήμα 4

Εκτελέστε την εντολή "make" για να δημιουργήσετε τη βιβλιοθήκη και την εφαρμογή RFAL:

μάρκα

Η εντολή "make" δημιουργεί πρώτα τη βιβλιοθήκη RFAL και στη συνέχεια δημιουργεί την εφαρμογή πάνω της.

Πώς να εκτελέσετε την εφαρμογή

Η επιτυχής δημιουργία δημιουργεί ένα εκτελέσιμο αρχείο με το όνομα "nfc_demo_st25r3911b" στην ακόλουθη τοποθεσία:
/build/applications.

Από προεπιλογή, η εφαρμογή πρέπει να εκτελείται με δικαιώματα root από τη διαδρομή: ST25R3911B_v2.8.0_Linux_demo_v1.0/linux_demo/build:

sudo ./demo/nfc_demo_st25r3911b

Η εφαρμογή ξεκινά τη δημοσκόπηση για NFC tags και κινητά τηλέφωνα. Εμφανίζει τις συσκευές που βρέθηκαν με το UID τους όπως φαίνεται στην Εικόνα 7.

Εικόνα 7. Εμφάνιση συσκευών που βρέθηκαν

Εικόνα 7 Εμφάνιση συσκευών που βρέθηκαν

Για να τερματίσετε την εφαρμογή πατήστε Ctrl + C.

Ιστορικό αναθεωρήσεων

Πίνακας 1. Ιστορικό αναθεώρησης εγγράφου

Πίνακας 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, Πρόγραμμα οδήγησης

Αναφορές

Αφήστε ένα σχόλιο

Η διεύθυνση email σας δεν θα δημοσιευτεί. Τα υποχρεωτικά πεδία επισημαίνονται *