Sigla STCititor HF de înaltă performanță CUBE-NFC6
Manual de utilizare

Cititor HF de înaltă performanță UM2616 X-CUBE-NFC6

Noțiuni introductive cu cititorul HF de înaltă performanță X-CUBE-NFC6/extensia software IC initiator NFC pentru STM32Cube
Introducere
Extensia software X-CUBE-NFC6 pentru STM32Cube oferă middleware complet pentru STM32 pentru a controla aplicațiile utilizând CI front-end NFC de înaltă performanță ST25R3916/ST25R3916B care acceptă moduri NFC inițiator, țintă, cititor și emulare a cardului.
Extinderea este construită pe baza tehnologiei software STM32Cube pentru a ușura portabilitatea între diferite microcontrolere STM32. Software-ul vine cu sampimplementări ale driverelor care rulează pe placa de expansiune X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 conectată deasupra unei plăci de dezvoltare NUCLEO-L053R8 sau NUCLEO-L476RG.
Linkuri conexe: Vizitați ecosistemul STM32Cube web pagina pe www.st.com pentru mai multe informații

Acronime si abrevieri

Tabelul 1. Lista de acronime

Acronim Descriere
NFC Comunicare în câmp apropiat
REAL Strat abstract RF
P2P De la persoană la persoană
MCU Unitate de microcontroler
BSP Pachet de suport pentru bord
HAL Stratul de abstractizare hardware
LED Dioda electro luminiscenta
SPI Interfață periferică serială
SMS Interfața software Arm Cortexmicrocontroller standard

Extensie software X-CUBE-NFC6 pentru STM32Cube
2.1 Pesteview
Pachetul software X-CUBE-NFC6 extinde funcționalitatea STM32Cube. Caracteristicile cheie ale pachetului sunt:

  • Middleware complet pentru a construi aplicații folosind cititorul HF de înaltă performanță ST25R3916/ST25R3916B/CI front-end NFC.
  • Sampaplicația pentru detectarea NFC tags de diferite tipuri și telefoane mobile care acceptă P2P, modul de emulare a cardului și citire/scriere.
  • Sampaplicația pentru a citi și scrie mesaje NDEF.
  • Sampimplementări de fișiere disponibile pentru placa de extensie X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 conectată la o placă de dezvoltare NUCLEO-L053R8 sau NUCLEO-L476RG.
  • Portabilitate ușoară în diferite familii de MCU, datorită STM32Cube.
  • Abstracție completă RF/NFC (RFAL) pentru toate tehnologiile majore, inclusiv straturile complete ISO-DEP și NFCDEP.
  • Condiții de licență gratuite, ușor de utilizat.

Acest software conține drivere IC front-end de cititor HF/NFC de înaltă performanță pentru dispozitivul ST25R3916/ST25R3916B, care rulează pe STM32. Este construit pe baza tehnologiei software STM32Cube pentru a ușura portabilitatea între diferite microcontrolere STM32. Acest pachet de firmware include drivere de dispozitiv pentru componente, un pachet de suport pentru plăci și asampaplicația care demonstrează utilizarea plăcii de expansiune X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 cu plăci STM32 Nucleo.
A sampAplicația configurează ST25R3916/ST25R3916B într-o buclă de interogare pentru detectarea dispozitivului activ și pasiv. Când un pasiv tag sau dispozitiv activ este detectat, câmpul cititorului semnalizează tehnologia detectată prin aprinderea unui LED corespunzător. De asemenea, este posibil să setați ST25R3916/ST25R3916B într-un mod de trezire inductiv prin apăsarea butonului utilizator. În timpul acestei bucle de sondare, sampDe asemenea, aplicația setează ST25R3916/ ST25R3916B în modul de emulare a cardului pentru a detecta prezența unui cititor. Demo-ul înregistrează toate activitățile cu portul COM virtual ST-LINK la gazda sistemului.
Tehnologiile RFID acceptate în această demonstrație sunt:

  • ISO14443A/NFCA
  • ISO14443B/NFCB
  • Felica/NFCF
  • ISO15693/NFCV
  • P2P activ
  • Emularea cardului de tip A și F

2.2 Arhitectură
Această extensie software complet compatibilă pentru STM32Cube vă permite să dezvoltați aplicații folosind cititorul HF de înaltă performanță ST25R3916/ST25R3916B/IC inițiator NFC. Se bazează pe stratul de abstractizare hardware STM32CubeHAL pentru microcontrolerul STM32 și extinde STM32Cube cu un pachet de suport pentru plăci (BSP) pentru placa de expansiune X-NUCLEO-FC06A1/X-NUCLEO-NFC08A1. Aplicația software poate accesa și utiliza placa de extensie X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 prin următoarele straturi:
Stratul STM32Cube HAL: stratul de driver HAL oferă un set simplu de API-uri generice, multi-instanță (interfețe de programare a aplicațiilor) pentru a interacționa cu straturile superioare (aplicații, biblioteci și stive). Aceste API-uri generice și de extensie sunt construite direct pe o arhitectură comună și permit straturilor supraiacente precum middleware-ul să-și implementeze funcțiile fără a depinde de informațiile hardware specifice unității de microcontroler (MCU). Această structură îmbunătățește reutilizarea codului de bibliotecă și garantează o portabilitate ușoară pe alte dispozitive.

  • Stratul pachet de suport al plăcii (BSP): oferă suport pentru perifericele de pe placa STM32 Nucleo (în afară de MCU). Acest set de API-uri oferă o interfață de programare pentru anumite periferice specifice plăcii, cum ar fi LED-ul, butonul utilizator etc. Această interfață vă ajută, de asemenea, să identificați versiunea specifică a plăcii.
  • Middleware NRF Abstraction Layer (RFAL): RFAL oferă mai multe funcții pentru comunicarea RF/NFC. Acesta grupează diferitele circuite integrate RF (familia de produse ST25R3911B existente și dispozitivele viitoare ST25R391x) sub o interfață comună și ușor de utilizat.

Protocoalele furnizate de RFAL sunt:

  • ISO-DEP (ISO14443-4 Strat de legătură de date, T=CL)
  • NFC-DEP (protocol de schimb de date ISO18092)
  • NFC-A \ ISO14443A (T1T, T2T, T4TA)
  • NFC-B \ ISO14443B (T4TB)
  • NFC-F \ FeliCa (T3T)
  • NFC-V \ ISO15693 (T5T)
  • P2P \ ISO18092 (NFCIP1, P2P pasiv-activ)
  • ST25TB (ISO14443-2 Tip B cu protocol proprietar) intern,

RFAL este împărțit în trei sub-straturi:

  • RF HL – RF strat superior
  • RF HAL- Stratul de abstractizare hardware RF
  • RF AL – Stratul de abstractizare RF

Figura 1. Diagrama bloc RFAL

RF HL RFAL NFC
RFAL protocol ISO DEP NFC DEP
Tehnologii NFC-A NFC-B NFC•F NFC-V TIT T2T TAT ST25TB
RF HAL RF
Configurații RF
ST25R3911 ST25R3916 ST25R95

Modulele din HAL RF sunt dependente de cip, ele implementează driverul RF IC, tabelele de configurare și instrucțiunile specifice pentru HW pentru a îndeplini funcțiile fizice RF. Interfața pentru apelant este un antet RF partajat file care oferă aceeași interfață pentru straturile superioare (pentru toate cipurile). RFAL poate fi împărțit în două substraturi suplimentare:

  • Tehnologii: module tehnologice care implementează toate specificul, încadrarea, timingurile etc
  •  Protocoale: implementarea protocolului, inclusiv toate cadrele, timingurile, gestionarea erorilor etc.

Pe lângă acestea, stratul de aplicație utilizează funcții RFAL, cum ar fi NFC Forum Activities (NFCC), EMVCo, DISCO/NUCLEO demo, etc. Modulul RFAL NFC oferă o interfață pentru a efectua activități comune ca dispozitive de interogare/ascultător. Accesul la cele mai joase funcții ale CI este oferit de modulul RF. Apelantul poate folosi în mod direct oricare dintre tehnologia RF sau straturile de protocol fără a necesita date specifice de configurare hardware.
Figura 2. Arhitectura software X-CUBE-NFC6

ST UM2616 X-CUBE-NFC6 Cititor HF de înaltă performanță - Fig

2.3 Structura folderelor

ST UM2616 X-CUBE-NFC6 Cititor HF de înaltă performanță - Fig1

Următoarele foldere sunt incluse în pachetul software:

  • Documentație: acest folder conține un HTML compilat file generate din codul sursă care detaliază componentele software și API-urile.
  • Drivere: acest folder conține driverele HAL, driverele specifice plăcii pentru fiecare placă sau platformă hardware acceptată, inclusiv componentele de la bord și stratul de abstractizare hardware CMSIS independent de furnizor pentru seria de procesoare Cortex-M.
  • Middlewares: acest folder conține RFAL (RF abstraction layer). RFAL oferă mai multe funcții necesare pentru a realiza comunicarea RF/NFC. RFAL grupează diferitele CI RF (ST25R3911/ST25R3916/ST25R3916B și viitoarele dispozitive ST25R391x) sub o interfață comună și ușor de utilizat.
  • Proiecte: acest folder conține două sample application examples:
    – Tag Emulare Detect-Card
    – Citirea și scrierea mesajelor NDEF

Sunt furnizate pentru platforma NUCLEO-L476RG sau NUCLEO-L053R8 pentru trei medii de dezvoltare (IAR Embedded Workbench for ARM, Keil Microcontroller Development Kit (MDK-ARM) și STM32CubeIDE.
2.4 API-uri
Informații tehnice detaliate despre API-urile disponibile utilizatorului pot fi găsite într-un CHM compilat file situat în folderul „RFAL” al pachetului software, unde sunt descrise complet toate funcțiile și parametrii. Informații tehnice detaliate despre API-urile NDEF sunt disponibile în .chm file stocate în folderul „doc”.
2.5 Sample aplicație
A sampAplicația care utilizează placa de extensie X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 cu placa de dezvoltare NUCLEOL476RG sau NUCLEO-L053R8 este furnizată în directorul „Proiecte”. Proiectele gata de construit sunt disponibile pentru mai multe IDE-uri. În această aplicație, NFC tags diferite tipuri de telefoane mobile care acceptă P2P sunt detectate de cititorul HF de înaltă performanță ST25R3916/ ST25R3916B/CI front-end NFC (pentru detalii suplimentare, consultați documentația CHM file generate din codul sursă). După inițializarea sistemului și configurarea ceasului, LED101, LED102, LED103, LED104, LED105 și LED106 clipesc de 3 ori. Apoi LED106 se aprinde pentru a indica că câmpul cititorului a fost activat. Când a tag este detectat în proximitate, un LED este aprins după cum este enumerat mai jos.
Tabelul 2. LED-ul aprins tag detectare

NFC tag tip LED aprins tag detectare
NFC TIP F LED101/Tip F
NFC TIP B LED102/Tip B
NFC TIP A LED103/Tip A
NFC TIP V LED104/Tip V
NFC TIP AP2P LED105/Tip AP2P

Dacă un cititor se apropie de placa de extensie X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1, software-ul intră în modul de emulare a cardului și, în funcție de tipul de comandă ent, pornește NFC TYPE A și/sau NFC TYPE FLED.
În mod implicit, X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 nu scrie date în tag, dar această posibilitate poate fi activată de un pre-procesor definit în file demo.h.
Emularea cardului și modul poller pot fi, de asemenea, activate/dezactivate cu aceeași procedură.
Interfața portului virtual de comunicație ST este, de asemenea, inclusă în pachet. Odată ce placa este pornită, placa este inițializată și enumerată ca port COM virtual STLink.
Figura 4. Enumerarea portului COM virtual

ST UM2616 X-CUBE-NFC6 Cititor HF de înaltă performanță - Fig2

După verificarea numărului portului COM virtual, deschideți un terminal Windows (HyperTerminal sau similar) cu configurația prezentată mai jos (activați opțiunea: CR implicit pe LF, dacă este disponibilă).

ST UM2616 X-CUBE-NFC6 Cititor HF de înaltă performanță - Fig3

Fereastra terminalului returnează mai multe mesaje similare cu cele prezentate mai jos pentru a confirma conexiunea cu succes.
Figura 6. Placa de expansiune X-NUCLEO-NFC06A1 inițializare reușită

ST UM2616 X-CUBE-NFC6 Cititor HF de înaltă performanță - Fig4

Al doilea sampAplicația este disponibilă prin selectarea celei de-a doua ținte de proiect numită „STM32L476RGNucleo_PollingTagDetectNdef”. Această aplicație gestionează mesajele NDEF tags.

  • Când pornește firmware-ul, pe jurnalul consolei este afișat un meniu.
  • Butonul utilizatorului vă permite să parcurgeți mai multe opțiuni, inclusiv citirea conținutului NDEF, scrierea unei înregistrări text,
  • scrierea unei înregistrări URI și formatare tag pentru conținutul NDEF.
  • După ce selectați demonstrația, atingeți a tag pentru a vedea rularea demonstrației.

Figura 7. Opțiuni pentru butonul utilizator al plăcii de expansiune X-NUCLEO-NFC06A1

ST UM2616 X-CUBE-NFC6 Cititor HF de înaltă performanță - Fig5

Ghid de configurare a sistemului

3.1 Descrierea hardware
3.1.1 STM32 Nucleo
Plăcile de dezvoltare STM32 Nucleo oferă utilizatorilor o modalitate accesibilă și flexibilă de a testa soluții și de a construi prototipuri cu orice linie de microcontrolere STM32. Suportul de conectivitate Arduino și conectorii ST morpho facilitează extinderea funcționalității platformei de dezvoltare deschisă STM32 Nucleo cu o gamă largă de plăci de expansiune specializate din care să alegeți. Placa STM32 Nucleo nu necesită sonde separate deoarece integrează depanatorul/programatorul ST-LINK/V2-1. Placa STM32 Nucleo vine cu biblioteca cuprinzătoare de software STM32 HAL, împreună cu diverse programe de ex.ampfișiere pentru diferite IDE-uri (IAR EWARM, Keil MDK-ARM, STM32CubeIDE, mbed și GCC/ LLVM). Toți utilizatorii STM32 Nucleo au acces gratuit la resursele online mbed (compilator, SDK C/C++ și comunitate de dezvoltatori) la www.mbed.org pentru a construi cu ușurință aplicații complete.
Figura 8. Placa STM32 Nucleo

ST UM2616 X-CUBE-NFC6 Cititor HF de înaltă performanță - Fig6

Placă de extensie X-NUCLEO-NFC06A1 X-NUCLEO-NFC06A1
Placa de extensie a cititorului de carduri NFC se bazează pe dispozitivul ST25R3916. Placa de extensie este configurată pentru a suporta comunicații ISO14443A/B, ISO15693, FeliCa™ și AP2P. ST25R3916 gestionează codarea și decodificarea cadrelor în modul cititor pentru aplicații standard, cum ar fi standardele NFC, HF RFID de proximitate și vecinătate. Acceptă protocoalele de comunicare ISO/IEC 14443 Tip A și B, ISO/IEC 15693 (doar subpurtător unic) și ISO/IEC 18092, precum și detectarea, citirea și scrierea NFC Forum Type 1, 2, 3, 4 și 5 tags. Senzorul capacitiv de putere redusă la bord efectuează o trezire cu putere ultra-scăzută fără a porni câmpul cititorului și o trezire inductivă tradițională pentru a selecta ampmăsurarea lititudinii sau a fazelor. Tehnologia de reglare automată a antenei (AAT) permite operarea în apropierea pieselor metalice și/sau în medii în schimbare.
Figura 9. Placă de extensie X-NUCLEO-NFC06A1

ST UM2616 X-CUBE-NFC6 Cititor HF de înaltă performanță - Fig7

3.1.3X-NUCLEO-NFC08A1 placă de extensie
Placa de extensie a cititorului de carduri NFC X-NUCLEO-NFC08A1 se bazează pe dispozitivul ST25R3916B. Placa de extensie este configurată pentru a suporta comunicații ISO14443A/B, ISO15693, FeliCa™ și AP2P. ST25R3916B gestionează codarea și decodificarea cadrelor în modul cititor pentru aplicații standard, cum ar fi standardele NFC, proximitate și HF RFID în apropiere. Acceptă protocoalele de comunicare ISO/IEC 14443 tip A și B, ISO/IEC 15693 (doar subpurtător unic) și ISO/IEC 18092, precum și detectarea, citirea și scrierea forumului NFC de tip 1, 2, 3, 4 și 5 tags. Senzorul capacitiv de putere redusă la bord efectuează o trezire cu putere ultra-scăzută fără a porni câmpul cititorului și o trezire inductivă tradițională pentru a selecta ampmăsurarea lititudinii sau a fazelor. Tehnologia de reglare automată a antenei (AAT) permite operarea în apropierea pieselor metalice și/sau în medii în schimbare.
Figura 10. Placă de extensie X-NUCLEO-NFC08A1

ST UM2616 X-CUBE-NFC6 Cititor HF de înaltă performanță - Fig8

3.2 Descrierea software-ului
Descriere software Următoarele componente software sunt necesare pentru a configura un mediu de dezvoltare adecvat pentru crearea de aplicații pentru STM32 Nucleo echipat cu placa de extensie NFC:

  • X-CUBE-NFC6: o extensie pentru STM32Cube dedicată dezvoltării de aplicații NFC. Firmware-ul X-CUBENFC6 și documentația aferentă sunt disponibile pe www.st.com.
  • Lanț de instrumente de dezvoltare și compilator. Software-ul de extensie STM32Cube acceptă următoarele trei medii:
    – IAR Embedded Workbench for ARM ® (EWARM) toolchain + ST-LINK
    – Set de instrumente Keil Microcontroller Development Kit (MDK-ARM) + ST-LINK
    – STM32CubeIDE + ST-LINK

3.3 Hardware setup
Sunt necesare următoarele componente hardware:

  • O platformă de dezvoltare STM32 Nucleo (cod de comandă sugerat: NUCLEO-L476RG sau NUCLEOL053R8)
  • Un cititor HF de înaltă performanță ST25R3916/ST25R3916B/placă de extensie IC frontală NFC (cod de comandă: X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1)
  • Un cablu USB de tip A la Mini-B USB pentru a conecta STM32 Nucleo la computer

3.4 Configurare software
3.4.1 Dezvoltare lanțuri de instrumente și compilatoare
Selectați unul dintre mediile de dezvoltare integrate (IDE) acceptate de software-ul de extindere STM32Cube și citiți cerințele de sistem și informațiile de configurare furnizate de furnizorul IDE.
3.5 Configurarea sistemului
3.5.1 Configurarea plăcii de extensie STM32 Nucleo și X-NUCLEO-NFC06A1
Placa STM32 Nucleo integrează depanatorul/programatorul ST-LINK/V2-1. Puteți descărca driverul USB ST-LINK/ V2-1 de la STSW-LINK009. Placa de extensie X-NUCLEO-NFC06A1 se conectează cu ușurință la placa de dezvoltare STM32 Nucleo prin conectorul de extensie Arduino™ UNO R3. Se interfață cu microcontrolerul STM32 de pe placa STM32 Nucleo prin stratul de transport SPI. Comunicarea I²C este, de asemenea, posibilă, dar necesită următoarele modificări hardware:

  • lipiți jumperii ST2 și ST4
  • lipiți rezistențele de tracțiune R116 și R117
  • îndepărtați puntea de lipit SPI
  • puneți puntea de lipire I²C Trebuie să utilizați indicatorul de compilare pre-procesor RFAL_USE_I2C și să redenumiți USE_HAL_SPI_REGISTER_CALLBACKS prin USE_HAL_I2C_REGISTER_CALLBACKS, dacă este necesar, pentru a activa compilarea driverului I²C.

Figura 11. Placa de extensie X-NUCLEO-NFC06A1 plus placa de dezvoltare NUCLEO-L476RG

ST UM2616 X-CUBE-NFC6 Cititor HF de înaltă performanță - Fig9

3.5.2 Configurarea plăcii de expansiune STM32 Nucleo și X-NUCLEO-NFC08A1
Placa STM32 Nucleo integrează depanatorul/programatorul ST-LINK/V2-1. Puteți descărca driverul USB ST-LINK/ V2-1 de la STSW-LINK009. Placa de extensie X-NUCLEO-NFC08A1 este ușor conectată la placa de dezvoltare STM32 Nucleo prin conectorul de extensie Arduino™ UNO R3. Se interfață cu microcontrolerul STM32 de pe placa STM32 Nucleo prin stratul de transport SPI. Comunicarea I²C este de asemenea posibilă.

Istoricul reviziilor

Tabelul 3. Istoricul revizuirilor documentului

Data Versiune Schimbări
18-iul-19 1 Lansare inițială.
19-oct-22 2 Introducere actualizată, Secțiunea 2.1 Pesteview, Secțiunea 2.2 Arhitectură, Secțiunea 2.3 Structura folderelor, Secțiunea 2.5 Sampaplicația, Secțiunea 3.2 Descrierea software, Secțiunea 3.3 Configurarea hardware și Secțiunea 3.5.1 Configurarea plăcii de extensie STM32 Nucleo și X-NUCLEO-NFC06A1.
A fost adăugată Secțiunea 3.1.3 Placa de extensie X-NUCLEO-NFC08A1 și Secțiunea 3.5.2 Configurarea plăcii de expansiune STM32 Nucleo și-NUCLEO-NFC08A1.

NOTIFICARE IMPORTANT – CITIȚI CU ATENTIE

STMicroelectronics NV și filialele sale („ST”) își rezervă dreptul de a face modificări, corecții, îmbunătățiri, modificări și îmbunătățiri produselor ST și/sau acestui document în orice moment, fără notificare. Cumpărătorii trebuie să obțină cele mai recente informații relevante despre produsele ST înainte de a plasa comenzi. Produsele ST sunt vândute în conformitate cu termenii și condițiile de vânzare ale ST în vigoare la momentul confirmării comenzii.
Cumpărătorii sunt singurii responsabili pentru alegerea, selecția și utilizarea produselor ST, iar ST nu își asumă nicio responsabilitate pentru asistența la aplicare sau proiectarea produselor cumpărătorilor.
Nicio licență, expresă sau implicită, pentru niciun drept de proprietate intelectuală nu este acordată de către ST prin prezenta. Revânzarea produselor ST cu prevederi diferite de informațiile prezentate aici va anula orice garanție acordată de ST pentru un astfel de produs. ST și sigla ST sunt mărci comerciale ale ST.
Pentru informații suplimentare despre mărcile comerciale ST, consultați www.st.com/trademarks. Toate celelalte nume de produse sau servicii sunt proprietatea proprietarilor respectivi. Informațiile din acest document înlocuiesc și înlocuiesc informațiile furnizate anterior în orice versiuni anterioare ale acestui document.

Sigla ST© 2022 STMicroelectronics 
Toate drepturile rezervate

Documente/Resurse

ST UM2616 X-CUBE-NFC6 Cititor HF de înaltă performanță [pdfManual de utilizare
UM2616 X-CUBE-NFC6 Cititor HF de înaltă performanță, UM2616, Cititor HF de înaltă performanță X-CUBE-NFC6, X-CUBE-NFC6, Cititor HF de înaltă performanță, Cititor de înaltă performanță, Cititor HF, Cititor de înaltă performanță, Cititor, IC inițiator NFC Extensie software pentru STM32Cube

Referințe

Lasă un comentariu

Adresa ta de e-mail nu va fi publicată. Câmpurile obligatorii sunt marcate *