一、 简介
本文介绍如何使用 NTAG 5 Link Development Board 搭建一个简单的演示 Demo,Demo 功能为:通过手机 NFC 给 NTAG 5 Link Development Board 供电,驱动外接的 UV Sensor VEML6070,并通过 I2C 接口读取 VEML6070 寄存器中的光数据,最后在手机 App 上显示。本文中介绍的 App 均为 Android 版本。
二、 硬件介绍
2.1 NTAG 5 Link Development Board
如下图 2-1,该开发板 NFC 芯片为 NTP5332,板子上可以通过拨码开关控制 I2C 引脚是否上拉,场强取电(Energy Harvesting)功能是否开启,板子两侧集成标准的 Arduino 接口,方便接到其他开发板上。NTP5332 最高的场强取电输出功率为 30mW。
NXP 官网链接:OM2NTx5332: NTAG 5 development kits | NXP Semiconductors
图 2-1 NTAG 5 Link Development Board 实物图
在本 Demo 中,将会使用该板上的 I2C 接口和场强取电功能。参照原理图,如下图 2-2,我们需要将拨码开关 SW3 的三个按键全部拨到右边,分别对应 I2C 上拉和使能场强取电功能。并将 SW6 的拨码开关拨到左边,即选择 1.8_3.3V 为输出引脚,为后续 UV Sensor 的供电脚做准备。
图 2-2 NTAG 5 Link Development Board 原理图
2.2 VEML6070 Sensor Module
如下图 2-3,VEML6070 Sensor Module 一共只引出了五个脚,在本 Demo 中,只需要接 I2C 、VCC、GND 四个引脚即可。根据数据手册,我们可以看到该 Sensor 的数据为 16 位数据, I2C Slave 地址为 0x38、0x39。读取 0x38 获得的数据为 LSB,读取 0x39 获得的数据为 MSB。
图 2-3 VEML6070 Sensor Module 实物图
2.3 接线
NTAG 5 Link Development Board |
VEML6070 Sensor Module |
J2-10(SCL) |
SCL |
J2-9(SDA) |
SDA |
J3-6(GND) |
GND |
J3-4(3V3) |
VCC |
三、 App 介绍
3.1 Xplore NTAG 5
该 App 是适用于 NTAG 5 Demo Kit 的应用程序,在本 Demo 中,仅用来设置场强取电的输出电压。该 App 可以在 Google Store 中下载。
进入 App 之后,点击左侧按钮,选择 NTAG 5 Link,再点击下方最右侧的 Setting,选择上面的 3V,然后将手机 NFC 区域贴近 NTAG 5 Link Development Board 的天线,测试能够看到,板子上的指示灯亮起,且亮度很高,表明此时配置成功。
图 3-1 配置输出电压流程
3.2 NTAG 5 - Use Case
该 App 适用于 NTAG 5 Link Development Board,主界面如下图 3-2,能够对开发板进行相应的配置,本 Demo 我们主z要使用第一个功能 I2C MASTER CHANNEL,其他功能我们在本文中不多做展开。
图 3-2 NTAG 5 -Use cases 主页面
3.2.1 配置 I2C Master mode
点击 I2C MASTER CHANNEL 进入界面,如下图 3-3。
第一步需要向将 NTAG 5 配置成 I2C Master,先将手机 NFC 区域靠近板子天线,待到板子上指示灯亮起,点击 App 右上角,选择 Set I2C Master mode,此时会提示是否改变模式,配置成功后,重启板子更新配置(即将手机远离板子,再将手机重新贴近板子)。该 App 为测试程序,没有正式发布,所以无法通过各大应用市场获取,但是该 App 源码已经在 NXP 官网发布,包含 Android 和 iOS 版本。
图 3-3 I2C MASTER CHANNEL 页面
3.2.2 发送指令
根据图 3-3 我们不难发现,发送命令有两个,第一个是 Select a default command,第二个是 Select a customer command,第一个指令是适配于陀螺仪 FXOS8700CQ 的默认指令,3.1 章节描述的 Xplore 中也有直接获取该 Sensor 的 Demo,有兴趣的小伙伴可以去 NXP 官网搜索,再次不做展开。这里主要讲一下第二个用户指令。点击之后如下图 3-4.
图 3-4 Write a custom command 页面
在页面下方,给出了命令的格式:
Flags |
Write I2C |
I2C Mfc code |
I2C param |
Data length |
Data |
1 B |
1 B |
1 B |
1 B |
(N-1) B |
N B |
无要求 |
读:D5 写:D4 |
厂商码,固定为 04 |
I2C 7 位从机地址 |
数据长度 |
数据 |
根据以上表格给出的格式,结合 2.2 节,我们可以直接读取当前获取到的 UV 光数据值。
四、 演示效果
图 4-1 Sensor 采集到不同数据的变化
如上图 4-1,发送数据 12D5043800,直接读取 LSB,可以看到在不同的光线下,采集到的数据从 01 变为 5B。
下图 4-2 为读取到 LSB 为 35 时的示波器波形图。
图 4-2 读取数据波形
数据解析
0111 0001 |
0 |
0011 0101 |
1 |
0x38 | R |
NAK |
0x35 |
ACK |
五、 参考资料
[1] ds544533 - NTP53x2 NTAG 5 link - NFC Forum compliant I²C bridge (3.3).pdf
[2] an531811 - RM00221 NTAG 5 - Android Application development (1.1).pdf
[3] sc591710 - X-OM2NTP5332 NTAG 5 link - Development Board Schematic (1.0).pdf
[4] veml6070 Datasheet.pdf
评论