STMicroelectronics UM2375 Linux Driver User Manual

Logo STMicroelectronics

Linux® ovladač pro vysoce výkonná rozhraní NFC ST25R3911B a ST25R3912/14/15

Zavedení

Ovladač STSW-ST25R009 Linux® umožňuje Raspberry Pi 4 pracovat s X-NUCLEO-NFC05A1, který obsahuje vysoce výkonné univerzální zařízení NFC ST25R3911B.

Tento balíček portuje RF abstraction layer (RFAL) na platformu Raspberry Pi 4 Linux pro provoz s firmwarem X-NUCLEO-NFC05A1. Balíček poskytuje jakoampaplikace detekující různé typy NFC tags a mobilní telefony podporující P2P. RFAL je standardní ovladač ST pro ST25R NFC/RFID Reader IC ST25R3911B, ST25R3912, ST25R3913, ST25R3914 a ST25R3915. Používá jej například firmware ST25R3911B-DISCO (STSW-ST25R002) a firmware X-NUCLEONFC05A1 (X-CUBE-NFC5).

STSW-ST25R009 podporuje všechny protokoly nižší vrstvy ST25R3911B a také některé protokoly vyšší vrstvy pro komunikaci. RFAL je napsán přenosným způsobem, takže může běžet na široké škále zařízení založených na Linuxu®. Tento dokument popisuje, jak lze knihovnu RFAL použít na standardním systému Linux (v tomto případě Raspberry Pi 4) pro komunikaci NFC/RF. Kód je vysoce přenosný a funguje s malými změnami na jakékoli platformě Linux.

Obrázek 1. Knihovna RFAL na platformě Linux

Obrázek 1 Knihovna RFAL na platformě Linux

Nadview

Vlastnosti
  • Kompletní ovladač uživatelského prostoru pro Linux (RF abstraction layer) pro vytváření aplikací s podporou NFC pomocí vysoce výkonných rozhraní NFC ST25R3911B/ST25R391x s výstupním výkonem až 1.4 W
  • Komunikace hostitele Linuxu s ST25R3911B/ST25R391x pomocí rozhraní SPI
  • Kompletní RF/NFC abstrakce (RFAL) pro všechny hlavní technologie a protokoly vyšších vrstev:
    • NFC-A (ISO14443-A)
    • NFC-B (ISO14443-B)
    • NFC-F (FeliCa™)
    • NFC-V (ISO15693)
    • P2P (ISO18092)
    • ISO-DEP (protokol výměny dat ISO, ISO14443-4)
    • NFC-DEP (protokol výměny dat NFC, ISO18092)
    • Proprietární technologie (Kovio, B', iClass, Calypso®, …)
  • SampImplementace dostupná s rozšiřující deskou X-NUCLEO-NFC05A1, zapojenou do Raspberry Pi 4
  • Sampaplikace pro detekci několika NFC tag typy a mobilní telefony podporující P2P
  • Bezplatné uživatelsky přívětivé licenční podmínky
Softwarová architektura

Obrázek 2 ukazuje detaily softwarové architektury knihovny RFAL na platformě Linux®.

RFAL je snadno přenosný na jiné platformy přizpůsobením tzv. platformy files.

Hlavička file rfal_platform.h obsahuje definice maker, které musí poskytnout a implementovat vlastník platformy. Kromě toho poskytuje nastavení specifická pro platformu, jako je přiřazení GPIO, systémové prostředky, zámky a IRQ, které jsou nutné pro správnou funkci RFAL.

Tato ukázka implementuje funkce platformy a poskytuje port knihovny RFAL do uživatelského prostoru Linux®. Sdílená knihovna file je generován, který používá demo aplikace k předvedení funkcí poskytovaných vrstvou RFAL.

Hostitel Linux® používá rozhraní sysfs dostupné z uživatelského prostoru Linux® pro umožnění komunikace SPI se zařízením ST25R3911B. Uvnitř jádra Linux® rozhraní SPI sysfs používá ovladač spidev jádra Linux® k odesílání/přijímání rámců SPI do/z ST25R3911B.

Pro zpracování přerušovací linky ST25R3911B používá ovladač libgpiod k upozornění na změny na této lince.

Obrázek 2. Architektura softwaru RFAL v systému Linux

Obrázek 2 Architektura softwaru RFAL na Linuxu

Nastavení hardwaru

Použitá platforma

Deska Raspberry Pi 4 s OS Raspberry Pi se používá jako platforma Linux k sestavení knihovny RFAL a interakci s ST25R3911B přes SPI.
ST25R3911B umožňuje aplikaci na platformě Linux detekovat a komunikovat s NFC zařízeními.

Hardwarové požadavky
  • Raspberry Pi 4
  • 8GB micro SD karta pro zavedení operačního systému Raspberry Pi
  • čtečka SD karet
  • Přemosťovací deska pro připojení X-NUCLEO-NFC05A1 s Raspberry Pi Arduino adaptérem pro Raspberry Pi, číslo dílu ARPI600.
  • X-NUCLEO-NFC05A1. Viz nejnovější požadavky na operační systém Raspberry Pi.

Hardwarové připojení

Adaptérová deska ARPI600 Raspberry Pi to Arduino se používá k propojení X-NUCLEO-NFC05A1 s Raspberry Pi. Pro připojení k X-NUCLEO-NFC05A1 je nutné upravit propojky adaptérové ​​desky.

Pozor: ARPI600 nesprávně dodává 5 V na pin Arduino IOREF. Přímé připojení X-NUCLEO-NFC05A1 dodává zpět 5 V na některé kolíky, což může poškodit desku Raspberry Pi. Existují zprávy zejména o tom, že Raspberry Pi 4B+ je skutečně zničeno. Abyste se vyhnuli této situaci, přizpůsobte buď ARPI600 (poměrně obtížná operace) nebo X-NUCLEO-NFC05A1 (snazší obsluha).

Nejjednodušší opravou je odříznout kolík CN6.2 (IOREF) na X-NUCLEO-NFC05A1, jak je znázorněno na obrázku 3.

Vyříznutí tohoto kolíku neovlivní provoz ve spojení s deskami Nucleo (NUCLEO-L474RG, NUCLEO-F401RE, NUCLEO-8S208RB atd.).

Obrázek 3. Oprava hardwarového připojení

Obrázek 3 Oprava hardwarového připojení

Nastavení jumperu

Propojky pro A5, A4, A3, A2, A1 a A0 zobrazené na obrázku 4 je třeba změnit na P23, P22, P21 a CE1. S tímto nastavením propojky je GPIO pin číslo 7 Raspberry použit jako přerušovací linka pro X-NUCLEO-NFC05A1.

Obrázek 4. Umístění propojek A5, A4, A3, A2, A1 a A0 na desce adaptéru

Obrázek 4 Umístění propojek

V současné době tento port knihovny RFAL používá jako přerušovací linku pin GPIO7, podle nastavení propojky. Pokud existuje požadavek na změnu linky přerušení z GPIO7 na jinou GPIO, kód specifický pro platformu (v file pltf_gpio.h) je třeba upravit, aby se změnila definice makra „ST25R_INT_PIN“ ze 7 na nový pin GPIO, který má být použit jako přerušovací linka.

S výše uvedeným nastavením propojek lze desku adaptéru použít k propojení X-NUCLEO-NFC05A1 s deskou Raspberry Pi, jak je znázorněno na obrázku 5.

Obrázek 5. Horní nastavení hardwaru view

Obrázek 5 Horní nastavení hardwaru view

Obrázek 6. Strana nastavení hardwaru view

Obrázek 6 Strana nastavení hardwaru view

Nastavení prostředí Linux

Bootování Raspberry Pi

Chcete-li nastavit prostředí Linuxu, prvním krokem je instalace a spuštění Raspberry Pi 4 s OS Raspberry Pi, jak je vysvětleno níže:

Krok 1

Stáhněte si nejnovější obraz Raspberry Pi OS z odkazu:

Vyberte si Raspberry Pi OS s desktopem. Pro níže uvedené testy byla použita následující verze: září 2022 (2022-09-22-raspios-bullseye-armhf.img.xz).

Krok 2

Rozbalte obraz Raspberry Pi a zapište jej na kartu SD podle pokynů v části „Zápis obrázku na kartu SD“.

Krok 3

Připojte hardware:

  • Připojte Raspberry Pi k monitoru pomocí standardního kabelu HDMI.
  • Připojte myš a klávesnici k USB portům Raspberry Pi.

S Raspberry Pi je také možné pracovat pomocí ssh. V takovém případě není nutné k Raspberry Pi připojovat monitor, klávesnici a myš. Jediným požadavkem je mít počítač s ssh ve stejné síti jako Raspberry Pi a podle toho nakonfigurovat IP adresu.

Krok 4

Spusťte Raspberry Pi pomocí SD karty.

Po nabootování se na monitoru objeví pracovní plocha Linuxu založená na Debianu.

Poznámka: Někdy lze pozorovat, že po spuštění Raspberry Pi některé klávesy na klávesnici nefungují. Aby fungovaly, otevřete file /etc/default/keyboard a nastavte XKBLAYOUT=”us” a restartujte Raspberry Pi.

Povolte SPI na Raspberry Pi

Ovladač SPI uvnitř jádra komunikuje s X-NUCLEO-NFC05A1 přes SPI. Je důležité zkontrolovat, zda je SPI již povoleno v konfiguraci OS/kernelu Raspberry Pi.
Zkontrolujte, zda je /dev/spidev0.0 viditelný v prostředí Raspberry Pi. Pokud není vidět, povolte rozhraní SPI pomocí nástroje „raspi-config“ podle níže popsaných kroků.

Krok 1

Otevřete nový terminál na Raspberry Pi a spusťte příkaz „raspi-config“ jako root:

sudo raspi-config

Tento krok otevře grafické rozhraní.

Krok 2

Vyberte v grafickém rozhraní možnost s názvem „Možnosti rozhraní“.

Krok 3

Tento krok uvádí různé možnosti.
Vyberte možnost s názvem „SPI“.
Objeví se nové okno s následujícím textem:
"Chtěli byste povolit rozhraní SPI?"

Krok 4

Vybrat v tomto okně povolte SPI.

Krok 5

Restartujte Raspberry Pi.
Výše uvedené kroky povolí rozhraní SPI v prostředí Raspberry Pi po restartu.

Sestavení knihovny a aplikace RFAL

Demo RFAL Linuxu je k dispozici v archivu. Předpokládejme, že se jmenuje:
ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz.
Chcete-li vytvořit knihovnu a aplikaci RFAL na Raspberry Pi, postupujte takto:

Krok 1

Rozbalte balíček na Raspberry Pi pomocí níže uvedeného příkazu z domovského adresáře:

tar -xJvf ST25R3911B_v2.8.0_Linux_demo_v1.0.tar.xz

Krok 2

Pokud jste tak neučinili dříve, nainstalujte cmake pomocí níže uvedeného příkazu:

apt-get install cmake

Systém sestavování knihovny a aplikací RFAL je založen na cmake, z tohoto důvodu je nutné pro kompilaci balíčku nainstalovat cmake.

Krok 3

Chcete-li sestavit knihovnu a aplikaci RFAL, přejděte do adresáře „build“:

cd ST25R3911B_v2.8.0_Linux_demo_v1.0/Linux_demo/build

a odtud spusťte níže uvedený příkaz:

cmake..

Ve výše uvedeném příkazu „..“ označuje, že v nadřazeném adresáři existuje soubor CMakeLists.txt nejvyšší úrovně, tzn.
ST25R3911B_v2.8.0_Linux_demo_v1.0.

Příkaz cmake vytvoří makefile který se použije v dalším kroku k sestavení knihovny a aplikace.

Krok 4

Spusťte příkaz „make“ pro vytvoření knihovny a aplikace RFAL:

udělat

Příkaz „make“ nejprve sestaví knihovnu RFAL a poté na ni sestaví aplikaci.

Jak spustit aplikaci

Úspěšné sestavení vygeneruje spustitelný soubor s názvem „nfc_demo_st25r3911b“ v následujícím umístění:
/build/applications.

Ve výchozím nastavení musí být aplikace spuštěna s právy root z cesty: ST25R3911B_v2.8.0_Linux_demo_v1.0/linux_demo/build:

sudo ./demo/nfc_demo_st25r3911b

Aplikace spustí dotaz na NFC tags a mobilní telefony. Zobrazuje nalezená zařízení s jejich UID, jak je znázorněno na obrázku 7.

Obrázek 7. Zobrazení nalezených zařízení

Obrázek 7 Zobrazení nalezených zařízení

Chcete-li aplikaci ukončit, stiskněte Ctrl + C.

Historie revizí

Tabulka 1. Historie revizí dokumentu

Tabulka 1 Historie revizí dokumentu

Seznam tabulek

Tabulka 1. Historie revizí dokumentu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Seznam figur

Obrázek 1. Knihovna RFAL na platformě Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Obrázek 2. Architektura softwaru RFAL v systému Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Obrázek 3. Oprava hardwarového připojení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Obrázek 4. Umístění propojek A5, A4, A3, A2, A1 a A0 na desce adaptéru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Obrázek 5. Horní nastavení hardwaru view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Obrázek 6. Strana nastavení hardwaru view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Obrázek 7. Zobrazení nalezených zařízení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

DŮLEŽITÉ UPOZORNĚNÍ – ČTĚTE POZORNĚ

STMicroelectronics NV a její dceřiné společnosti (“ST”) si vyhrazují právo provádět změny, opravy, vylepšení, úpravy a vylepšení produktů ST a/nebo tohoto dokumentu kdykoli bez upozornění. Kupující by měli před zadáním objednávky získat nejnovější relevantní informace o produktech ST. Produkty ST jsou prodávány v souladu s prodejními podmínkami ST platnými v době potvrzení objednávky.

Kupující jsou výhradně odpovědní za výběr, výběr a použití produktů ST a ST nepřebírá žádnou odpovědnost za pomoc s aplikací nebo design produktů kupujících.

Společnost ST zde neuděluje žádnou výslovnou ani předpokládanou licenci k právu duševního vlastnictví.

Další prodej produktů ST s ustanoveními odlišnými od informací uvedených v tomto dokumentu ruší jakoukoli záruku poskytnutou společností ST na takový produkt.

ST a logo ST jsou ochranné známky společnosti ST. Další informace o ochranných známkách ST viz www.st.com/trademarks. Všechny ostatní názvy produktů nebo služeb jsou majetkem jejich příslušných vlastníků.

Informace v tomto dokumentu nahrazují a nahrazují informace dříve uvedené v předchozích verzích tohoto dokumentu.

© 2023 STMicroelectronics – Všechna práva vyhrazena

Dokumenty / zdroje

Ovladač STMicroelectronics UM2375 Linux [pdfUživatelská příručka
UM2375 Linux Driver, UM2375, Linux Driver, Driver

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *