ST高性能HF讀卡器基於X-CUBE-NFC6開發

關鍵字 :NFCSTX-CUBE-NFC6st讀卡器rfledstm32st25r3916

介紹:

STM32Cube的X-CUBE-NFC6軟體擴展為STM32提供了完整的中間件,可以支持NFC啟動器、目標、讀卡器和卡仿真模式的ST25R3916/ST25R3916B高性能NFC前端IC來控制應用。該擴展基於STM32Cube軟體技術構建,可簡化不同STM32微控制器之間的移植。該軟體基於NUCLEO-G0B1RE/NCULEO-L476RG開發板,搭配X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1拓展板,運行驅動程序的示例代碼。

 Demo1

適用於STM32Cube的X-CUBE-NFC6軟體擴展

概述:

X-CUBE-NFC6軟體包擴展了STM32Cube的功能。軟體包的主要功能包括:

完整的中間件,使用 ST25R3916/ST25R3916B 高性能 HF 讀卡器/NFC 前端 IC 構建應用。

檢測不同類型和支持 P2P、卡模擬模式和讀/寫的手機的 NFC 標籤的示例應用程序。

讀取和寫入 NDEF 消息的示例應用程序。

適用於插入 NUCLEO-G0B1RE 或 NUCLEO-L476RG 開發板的 X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 擴展板的示例實現。

基於STM32Cube生態,可在不同MCU系列之間輕鬆移植。

適用於所有主要技術的完整 RF/NFC 抽象 (RFAL),包括完整的 ISO-DEP 和 NFC-DEP 層。

該軟體包含高性能HF讀卡器/NFC前端IC驅動程序,用於在STM32上運行的ST25R3916/ST25R3916B設備。它建立在STM32Cube軟體技術之上,可簡化不同STM32微控制器之間的可移植性。該固件包包括組件設備驅動程序、開發板支持包和示例應用程序,演示了 X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 擴展板與 STM32 Nucleo 板的用法。示例應用程序在輪詢循環中配置 ST25R3916/ST25R3916B,以便進行主動和被動設備檢測。當檢測到無源標籤或有源設備時,讀卡器場通過打開相應的 LED 來向檢測到的技術發出信號。也可以通過按用戶按鈕將 ST25R3916/ST25R3916B 設置為感應喚醒模式。在此輪詢循環期間,示例應用程序還會在卡模擬模式下設置 ST25R3916/ST25R3916B,以檢測讀卡器的存在。

開發套件使用ST-LINK虛擬通信埠將所有活動記錄到主機系統。本演示中支持的 RFID 技術包括:

ISO14443A/NFCA

ISO14443B/NFCB

Felica/NFCF

ISO15693/NFCV

Active P2P

Card Emulation Type A and F

X-CUBE-NFC6軟體架構

X-CUBE-NFC6軟體擴展包,允許使用ST25R3916/ST25R3916B高性能HF讀卡器/NFC啟動器IC開發應用。它基於STM32微控制器的STM32Cube HAL硬體抽象層,並通過X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1擴展板的板支持包(BSP)擴展了STM32Cube。應用軟體可以通過以下層訪問和使用 X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1擴展板:

STM32Cube HAL layer: HAL驅動程序層提供一組簡單的通用多實例API(Application Programming Interfaces),用於與上層(應用程序、庫和堆棧)進行交互。這些通用和擴展 API 直接構建在通用架構上,並允許中間件等覆蓋層實現其功能,而無需依賴特定的微控制器單元 (MCU/MPU) 硬體信息。這種結構提高了庫代碼的靈活性,並保證了在其他設備之間的輕鬆移植性。

Board support package (BSP) layer:板級支持包(BSP)為STM32 Nucleo板上的外設(MCU除外)提供支持。這組 API 為某些特定於電路板的外設(如 LED、用戶按鈕等)提供編程接口。此接口還可以幫助您識別特定的主板版本。

Middleware NRF abstraction layer (RFAL): 中間件 NRF 抽象層 (RFAL):RFAL 為 RF/NFC 通信提供了多種功能。它將不同的RF IC(現有ST25R3911B產品系列和未來的ST25R391x器件)分組在一個通用且易於使用的接口。

RFAL提供的協議包括:

  • ISO-DEP (ISO14443-4 Data Link Layer, T=CL)
  • NFC-DEP (ISO18092 Data Exchange Protocol)
  • NFC-A \ ISO14443A (T1T[Note:Tag 1 Type], T2T, T4TA)
  • NFC-B \ ISO14443B (T4TB)
  • NFC-F \ FeliCa (T3T)
  • NFC-V \ ISO15693 (T5T)
  • P2P \ ISO18092 (NFCIP1, Passive-Active P2P)
  • ST25TB (ISO14443-2 Type B with Proprietary Protocol)

Internally, the RFAL is divided into three sub layers:

  • RF HL - RF higher layer
  • RF HAL- RF hardware abstraction layer
  • RF AL - RF abstraction layer

RFAL Block Diagram

RF HL

RFAL NFC

RF AL

Protocols

ISO DEP

NFC DEP

Technologies

NFC-A

NFC-B

NFC-F

NFC-V

T1T

T2T

T4T

ST25TB

 

RF HAL

RF

RF Configs

ST25R3911

ST25R3916

ST25R95*

*Future devices added to the ST25R family

                     

RF HAL 中的模塊依賴於晶片,它們實現 RF IC 驅動器、配置表和硬體執行物理 RF 功能的特定指令。調用方的接口是一個共享的射頻頭文件,它為上層(所有晶片)提供相同的接口。RFAL可以再分為兩個子層:

技術(Technologies):實現所有細節、框架、時間等的技術模塊。

協議(Protocols): 協議實現、包括所有成幀、時序、錯誤處理等。

除此之外,應用層還使用RFAL功能,如NFC論壇Activities(NFCC)、EMVCo、DISCO/NUCLEO的Demo等。RFAL NFC模塊提供了一個接口,用於作為輪詢器/偵聽器設備執行常見活動。RF模塊允許訪問IC的最低功能。可以直接使用任何射頻技術或協議層,而無需任何特定的硬體配置數據。

X-CUBE-NFC6軟體架構:

軟體架構

 X-CUBE-NFC6文件夾結構:

文件結構

軟體包中包含以下文件夾:

Documentation: 此文件夾包含從源代碼生成的編譯 HTML 文件,其中詳細介紹了軟體組件和 API。

Drivers: 此文件夾包含 HAL 驅動程序、每個受支持的主板或硬體平台(包括板載組件)的特定於主板的驅動程序,以及 Cortex-M 處理器系列的 CMSIS 獨立於供應商的硬體抽象層。

Middlewares: 此文件夾包含 RFAL(RF 抽象層)。RFAL 提供了執行 RF/NFC 通信所需的多種功能。RFAL將不同的RF IC(ST25R3911/ST25R3916和未來的ST25R391x器件)分組在一個通用且易於使用的接口下。

Projects: 此文件夾包含兩個示例應用程序示例:

(1)Tag Detect-Card emulation.

(2)Read and Write of NDEF messages.

它們適用於 NUCLEO-L476RG 平台,適用於三種開發環境(IAR Embedded Workbench for ARM、Keil 微控制器開發套件 (MDK-ARM) 和 STM32CubeIDE。

API&示例應用程序:

有關用戶可用的 API 的詳細技術信息可以在軟體包的“RFAL”文件夾內的編譯 CHM 文件中找到,其中完整描述了所有功能和參數。 NDEF API 的詳細技術信息,請參閱存儲在“doc”文件夾中的 .chm 文件。

在“Project”目錄中提供了使用X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1擴展板和NUCLEOG0B1RE/NUCLEO-L476RG開發板的示例應用程序。生成的項目可用於多個 IDE。在此應用中,支持P2P的不同類型的手機的NFC標籤由ST25R3916/ST25R3916B高性能HF讀寫器/NFC前端IC檢測(有關詳細信息,請參閱從源代碼生成的CHM文檔文件)。系統初始化和時鐘配置後,LED101、LED102、LED103、LED104、LED105、LED106閃爍3次。然後 LED106 亮起,表示讀卡器區域已激活。當在附近檢測到標籤時,LED 會亮起,如下所示。

NFC tag type

LED lit on tag detection

NFC TYPE F

LED101/Type F

NFC TYPE B

LED102/Type B

NFC TYPE A

LED103/Type A

NFC TYPE V

LED104/Type V

NFC TYPE AP2P

LED105/Type AP2P

如果讀卡器接近 X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 擴展板,軟體將進入卡模擬模式,並根據發送的命令類型,打開 NFC TYPE A 和/或 NFC TYPE F LED。默認情況下,X-NUCLEO-NFC06A1/X-NUCLEO-NFC08A1 不會將任何數據寫入標籤,但這功能可以通過文件 demo.h 中定義的預處理器啟用。也可以使用相同的過程啟用/禁用卡仿真和輪詢器模式。ST虛擬通信埠接口也包含在軟體包中。板子上電後,板子被初始化並枚舉為STLink虛擬COM埠。

硬體描述:

TM32 Nucleo平台:

STM32 Nucleo開發板為用戶提供了一種經濟實惠且靈活的方式,可以使用任何STM32微控制器系列測試解決方案和構建原型。Arduino™連接支持和ST morpho連接器使STM32 Nucleo開放式開發平台的功能變得簡單,並有多種專用擴展板可供選擇。STM32 Nucleo板集成了ST-LINK/V2-1調試器,因此不需要單獨的Debug工具。STM32 Nucleo板附帶全面的STM32軟體HAL庫以及各種打包軟體示例。

MCU開發板

X-NUCLEO-NFC06A1擴展板:

X-NUCLEO-NFC06A1 NFC讀卡器擴展板基於ST25R3916晶片。擴展板配置支持 ISO14443A/B、ISO15693、FeliCa™ 和 AP2P 通信。該ST25R3916以讀取器模式管理標準應用的幀編碼和解碼,例如 NFC、Proximity和Vicinity HF RFID 標準。它支持 ISO/IEC 14443 A 類和 B 類、ISO/IEC 15693(僅限單副載波)和 ISO/IEC 18092 通信協議,以及 NFC Forum Type 1、2、3、4 和 5 標籤的檢測、讀寫。板載低功耗電容式傳感器可執行超低功耗喚醒,無需打開讀卡器磁場,並可執行傳統的電感式喚醒以選擇幅度或相位測量。自動天線調諧 (AAT) 技術可在靠近金屬部件和/或不斷變化的環境中運行。

NFC開發板

軟體描述:

為了設置合適的開發環境,為配備NFC擴展板的STM32 Nucleo創建應用程序,需要以下軟體組件:

X-CUBE-NFC6:STM32Cube的擴展,專用於NFC應用開發。X-CUBENFC6 固件和相關文檔可在 www.st.com 上找到。

開發工具鏈和編譯器。STM32Cube擴展軟體支持以下三種環境:

– IAR Embedded Workbench for ARM(EWARM)工具鏈 + ST-LINK

– Keil 微控制器開發套件(MDK-ARM)工具鏈 + ST-LINK

– STM32CubeIDE + ST-LINK

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論