Integrating NFC Reader Library in a KW3x Bluetooth Low Energy application

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Integrating NFC Reader Library in a KW3x Bluetooth Low Energy application

Integrating NFC Reader Library in a KW3x Bluetooth Low Energy application

KW3x蓝牙低功耗应用中集成NFC阅读器库

URL:https://community.nxp.com/t5/Wireless-Connectivity-Knowledge/Integrating-NFC-Reader-Library-in-a-KW3...

版本历史

修订编号:1(共1

最后更新:10-01-2019 03:59 AM

更新:ovidiu_usturoi

1.    简介

1.1 用途

本文提供了有关将NFC阅读器库如何集成到KW3x蓝牙低功耗应用程序的详细说明。

1.2受众

这篇文章的目的是为希望使用NFC 阅读器库并将其适配、集成到SDK无线连接示例中的软件开发人员提供指南。

1.3参考资料和资源

NFC阅读器库:nxp.com/pages/:NFC-READER-LIBRARY

-NCF3320:nxp.com/products/NCx3320

-CLRC663 plus:nxp.com/products/:CLRC66303HN

-FRDM-KW36板:nxp.com/demoboard/FRDM-KW36

-KW35 / KW36 SDK:https//mcuxpresso.nxp.com/en/select

-MCUXpresso IDE:nxp.com/products/MCUXpresso-IDE

2. NFC 阅读器库总览

恩智浦NFC阅读器库是用C语言编写的模块化软件库,它提供了一个API,使客户能够为恩智浦非接触式阅读器IC创建自己的软件栈和应用程序, 阅读器IC为:

- PN512;
- CLRC633 系列;
- PN7462
系列;
- PN5180;

API简化了NFC应用程序中所需的最常见操作,例如:

-读取数据或将数据写入非接触式卡或标签;

-与其他支持NFC的设备交换数据;

-允许NFC阅读器IC模拟为卡.

NFC阅读器库的设计方式使其可以轻松移植到具有多层体系结构的许多不同微控制器中:

shaozhongliangs_0-1636002516843.png

 

作为主模块,有以下组件:

-应用层(AL-实现命令集以与MIFARE卡和NFC标签进行交互。

-NFC activity-实现可配置的发现循环,以检测非接触式卡,NFC标签或其他NFC设备。

-HCE和P2P组件,分别用于仿真Type 4标签和P2P数据交换。

-协议抽象层(PAL-包含ISO14443Felica,近邻和NFC标准的RF协议实施。

-硬件抽象层(HAL-实现用于控制NFC前端RF接口和功能的驱动程序。

-驱动程序抽象层(DAL-在主机MCU和读取器IC之间实现GPIO,计时器配置和物理接口(BAL)。

-OSAL模块,负责抽象OSRTOS细节(任务事件,信号量和线程)

3. KW3x无线微控制器概述

KW3x无线微控制器(MCU)是高度集成的单芯片设备,可为汽车,工业和医疗/保健嵌入式系统提供低功耗蓝牙(Bluetooth LE)和通用FSK连接。

KW36 / 35无线MCU集成了Arm®Cortex®-M0+ CPU,最高有512 KB闪存和64 KB SRAM,以及2.4 GHz无线电,支持蓝牙LE 5.0和通用FSK调制。 低功耗蓝牙在任何主/从组合中最多支持8个同时连接。 KW36A / 36Z包含一个集成的FlexCAN模块,该模块可以无缝集成到汽车或工业CAN通信网络中,从而可以通过Bluetooth LE与外部控制和传感器监视设备进行通信。

有关更多详细信息,请参阅恩智浦网站信息:

https://www.nxp.com/products/wireless/bluetooth-low-energy:BLUETOOTH-LOW-ENERGY-BLE.

4. NFC阅读器库–与FRDM-KW36集成

当前的NFC阅读器库v5.21.01不支持运行于Kinetis KW3x MCU。 本文将使用参考K82 NFC Reader Library软件包:www.nxp.com/pages/:NFC-READER-LIBRARY.

集成库所需的步骤是:

-硬件准备(连接FRDM-KW36NFC阅读器板);

-设置开发环境(SDK下载,工作空间);

-为FRDM-KW3x板准备适配文件;

-将NFC应用程序集成到Wireless_UART Bluetooth LE示例中;

-运行演示;

4.1硬件准备

所需硬件:

-NCF3320 Antenna v1.0电路板作为NFC收发器;

-FRDM-KW36电路板作为主机MCU,用于加载和运行蓝牙低功耗协议栈和NFC应用逻辑;

shaozhongliangs_1-1636002516912.png

 

板卡之间的通信将使用以下引脚配置通过SPI通信进行:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Master board (FRDM-KW36)     Connects to       Slave board (NCF3320 Antenna v1.0)          

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

PTB0  (J2-pin10)                                      -                   IRQ

PTB1  (J2-pin9)                              -                    Reset

PTA16 (J2-pin1 - SPI1_Sout)                    -                    MOSI

PTA17 (J1-pin5 - SPI1_Sin)                      -                    MISO

PTA18 (J1-pin7 - SPI1_SCK)                -                 SCK

PTA19 (J2-pin3 - SPI1_CS)                 -                  CS

GND   (J3-pin7)                           -                  GND

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

4.2搭建开发环境

安装MCUXpresso IDE(在本示例中,使用的版本是v10.2.0 build 759

-在MCUXpresso-IDE官方网页下载最新版本的IDE

www.nxp.com/products/:MCUXpresso-IDE.

-安装IDE

shaozhongliangs_2-1636002516971.png

 

获取最新的NFC Reader Library版本(在此示例中,使用的版本是v5.21.00

-在NXP NFC Reader Library官网下载(www.nxp.com/pages/:NFC-READER-LIBRARY

-切换到下载标签,然后点击下载按钮

-下载Kinetis K82F软件包的NFC阅读器库:

shaozhongliangs_3-1636002517096.png

 

FRDM-KW36板生成可下载的SDK软件包(SDK_2.2.1_FRDM-KW36

-导航至https://mcuxpresso.nxp.com/cn/select,然后选择FRDM-KW36板;

-选择构建MCUXpresso SDK

-确保工具链中已选择MCUXpresso IDE

-使用下载SDK”按钮开始下载SDK软件包:

shaozhongliangs_4-1636002517218.png

 

创建MCUXpresso工作区

-打开MCUXpresso IDE并创建一个工作区;

-将SDK_2.2.1_FRDM-KW36拖放到MCUXpresso IDEinstalled SDKs选项卡中;

shaozhongliangs_5-1636002517354.png

 

-将Wireless_Uart示例导入到当前工作空间:

shaozhongliangs_6-1636002517607.png

 

4.3准备FRDM-KW3x板的适配文件

本章介绍驱动程序抽象层(DAL)为适配FRDM-KW36所需的更改:

-解压缩NFC Reader Library并导航到boards文件夹:

shaozhongliangs_7-1636002517672.png

 

-通过为GPIOhandlers设置正确的配置,为FRDM-KW36创建等效文件(Board_FRDM_KW36FRc663.h);

-与FRDM-K82F板相比,以下是FRDM-KW36板所需的差异:

shaozhongliangs_8-1636002517877.png

 

-将FRMD-KW36添加到…DAL \ cfg \ BoardSelection.h文件中:

#ifdef PHDRIVER_FRDM_KW36FRC663_BOARD
#include <Board_FRDM_KW36FRc663.h>
#endif

-在KinetisSDK文件夹中,更新以下依赖项:

o PIT驱动程序IRQ名称:

shaozhongliangs_9-1636002517898.png

 

o打开漏极和引脚锁配置:

- phDriver_KinetisSDK.c:

shaozhongliangs_10-1636002518001.png

 

- phbalReg_KinetisSpi.c:

shaozhongliangs_11-1636002518087.png

 

-将PHDRIVER_FRDM_KW36FRC663_BOARD定义添加到…\ NxpNfcRdLib \ types \ ph_NxpBuild_Platform.h文件中,以启用正确的NFC收发器:

shaozhongliangs_12-1636002518165.png

 

4.4NFC应用程序集成到Wireless_UART Bluetooth LE示例

在本章中,将把BasicDiscoveryLoop NFC示例集成到Wireless_UART Bluetooth LE应用程序中。

为此,需要执行以下步骤:

-在wireless_uart项目位置上,创建一个“ nfc”文件夹:

shaozhongliangs_13-1636002518229.png

 

-从修改后的NFC阅读器库中复制DALNxpNfcRdLibphOsal文件夹:

shaozhongliangs_14-1636002518372.png

 

-在wireless_uart项目位置的“source”文件夹中,创建一个新的“ nfc”子文件夹,以集成BasicDiscovery loop文件:

shaozhongliangs_15-1636002518430.png

 

-BasicDiscoveryLoop文件将需要进行一些更改:

o将主函数重命名为NFC_BasicDiscoveryLoop_Start

o删除驱动程序/操作系统初始化部分;

(所有更改都可以在附件中看到)

-通过按F5来更新最新的更改,以更新MCUXpresso工作区:

shaozhongliangs_16-1636002518668.png

 

-更新链接器信息(项目属性-> C / C ++构建->设置)和预处理器定义(项目属性-> C / C ++构建->预处理器):

shaozhongliangs_17-1636002518928.png

 

-添加依赖项:

o PIT模块/ PIT模块初始化;

o更新LEDSW配置;

o增加堆大小(gTotalHeapSize_c);

o在wireless_uart.c应用程序中为NFC添加功能;

(所有更改都可以在附件中看到);

考虑到随附的ZIP归档文件,我们可以轻松地将frdmkw36_w_uart_ncf3320_basic_discovery.zip文件拖放到MCUXpresso工作区:

shaozhongliangs_18-1636002519193.png

 

shaozhongliangs_19-1636002519480.png

 

4.5运行演示

-根据第4.1章描述连接硬件;

-在PC端打开串行终端软件,并设置FRDM-KW36板对应的COM口。 使用的BaudRate115200

-在FRDM-KW36上按SW2键开始启动广播。

-打开移动应用程序-IoT toolbox-Wireless UART FRDM-KW36板将列为NXP_WU

shaozhongliangs_20-1636002519704.png

 

-创建蓝牙LE连接。串口将打印包含蓝牙LE操作的日志:

shaozhongliangs_21-1636002519708.png

 

-使用靠近NCF3320 Antenna v1.0板的NFC卡来启动发现演示。

-一旦检测到卡片,便会将事件发送到移动应用程序,其中包括卡片支持的NFC技术以及卡的UUID,演示视频如下连接:

(https://www.youtube.com/watch?v=wCCz5zDIwHE&feature=youtu.be)

https://community.nxp.com/t5/video/gallerypage/video-id/8707

附件是本文应用例程的源码,下载链接:

https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/wireless-connectivity%40tkb/200/1/ble_nf...

 

 

 

Attachments
No ratings
Version history
Last update:
‎11-03-2021 10:09 PM
Updated by: