0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于MCU系统中实施NFC硬件和软件集成

工程师兵营 来源:互联网 作者:佚名 2018-07-27 09:13 次阅读

在近场通讯 (NFC) 设计中,开发人员向来都面临各种关于优化射频性能、硬件设计和软件方面的挑战。 但现在,单片式 NFC 解决方案和全方位的软件支持极大地改变了在家用电子设备、可穿戴设备和物联网 (IoT) 设备设计中整合 NFC 功能的本质。

因此,开发人员可以加入诸多应用功能,却几乎不会影响设计封装、功耗或项目计划。

NFC 的双向通信能力独具特色,可提供简单、本质上安全的低功耗近距离无线连接。 仅当两个设备相互靠近时才能进行通信,因此不会出现消息拦截,并且最大程度减少了潜在的网络攻击途径。 而且,在通信时仅一台设备需要通电,因此平均功耗可维持在相当低的水平。

实际上,NFC 可以为各种智能家居和物联网应用带来巨大益处。 用户只需将启用 NFC 的智能手机靠近启用 NFC 的产品,即可完成蓝牙Wi-Fi 配对。 NFC 可以用作设备个性化的底层技术,并且可简化智能手机任务,如配置设置、传输数据或注册产品等。

嵌入式 NFC

NFC 是射频识别 (RFID) 的子集,在 13.56 MHz 下工作,可执行与传统 RFID 标签和非接触式智能卡相同的许多功能。 同时,NFC 还具有更大的灵活性,能在三种通信模式下工作:卡仿真、点对点和读/写。

在卡仿真模式下,NFC 设备用作非接触式智能卡,可在各种现有应用中使用,包括票务、门禁系统、交通、收费站和非接触式支付等。 点对点模式允许两个启用 NFC 的设备连接并交换信息。 例如,用户可以使用启用 NFC 的智能手机来设置其他设备的蓝牙或 Wi-Fi 设置参数,或者在受信任网络中调试其使用。 在读/写模式下,一台 NFC 设备可以从另一台 NFC 设备读取数据。 例如,启用 NFC 的智能手机可以读取 URL 或其他数据,如零售商店促销标牌上嵌入的销售优惠券。

用作标签的嵌入式 NFC 设备连接到产品内的主机处理器后,其工作类似于双端口存储器。 其中一个存储器端口可通过 NFC 接口以无线方式访问。 另一个端口可通过嵌入式系统I2C 接口访问。 因此,诸如智能手机等外部数据源可以将数据传递到嵌入式系统。 反过来,主机处理器可以更新存储在 NFC 设备中的数据,即使当产品断电也可向启用 NFC 的外部设备提供这些数据。

对于需要在嵌入式系统和外部系统(如启用 NFC 的智能手机)之间传输数据的应用,开发人员可以使用这种方法。 事实上,利用 NFC 设备无线通讯链接功能及其在下载过程中用于临时存储的片载存储器,开发人员可以用这种方法更新嵌入式系统的数据,甚至固件。

单片式 NFC 控制器

过去,设计人员希望在基于 MCU 的设计中添加 NFC 功能,但却面临硬件和软件的两大挑战。 使用传统 NFC 设备的硬件工程师需要确保设计满足 NFC 设备和主机之间的关键时序、保持低功耗要求,并且要最大程度减少设计封装和物料清单 (BOM)。 然而也许最大的影响在于软件方面,工程师通常不得不编写自己的代码,以处理构成单一应用级别 NFC 操作的诸多低级事务。

高级 NFC 设备,如 NXP Semiconductor PN7150,旨在简化物联网设计或任何嵌入式系统中的 NFC 功能集成。 PN7150 结合了射频前端以及低功耗 ARM® Cortex®-M0 内核、存储器和 I/O 外设(图 1)。

NXP Semiconductors PN7150 NFC 控制器原理图

图 1: NXP Semiconductors PN7150 NFC 控制器结合了全套射频前端、ARM Cortex-M0 设备主机和集成固件。 (图片来源: NXP Semiconductors)

通过确保嵌入式设备主机和射频前端之间的最佳时序,该设备大大消除了传统的硬件集成问题,同时支持更高的射频输出功率。 此外,集成的 I2C 接口与 NXP 的 NTAG I2C Plus 兼容,适用于传感器、灯具和与智能家居网络相关的其他设备。 同时,该器件有助于降低功耗要求: PN7150 可以自动转换到低功耗模式,同时让主机保持休眠,直到需要进行射频通信为止。

除了简化硬件设计,PN7150 在软件方面也优势显著。 NXP 预装了该器件的嵌入式数据和代码存储器,并且可扩展支持 NFC 控制器接口 (NCI)。 NFC 论坛管理 NCI 技术规范,定义了 NFC 控制器 (NFCC) 和运行高级操作系统(如 Android, Linux 或 Windows IoT)的设备主机 (DH) 之间的逻辑接口。

PN7150 的嵌入式 NCI 固件减少了某些主机交互,并且为 NFC 应用软件开发人员提供更高的抽象层级,从而减轻了软件开发负担。 通过将低级代码移动到固件中,PN7150 还减少了主机端的应用代码基底面。

直接替代型解决方案

PN7150 具有集成的硬件和软件,专用于直接替代型 NFC 解决方案,适用于在 Android、Linux 或 Windows 环境下工作的开发人员(图 2)。 实际上,不熟悉 NFC 开发的开发人员可以利用 Arduino (NXP OM5578/PN7150ARDM)、BeagleBone Black (NXP OM5578/PN7150BBBM) 和 Raspbery Pi (NXP OM5578/PN7150RPIM) 的现有 PN7150 演示套件。 每种套件都包含一块 PN7150 NFC 控制板、一个专用接口板和一个 NFC 样卡。

NXP PN7150 原理图(单击查看全尺寸图片)

图 2: NXP PN7150 需要较少的其他元器件即可交付完整的 NFC 子系统,它可通过简单硬件接口轻松集成主机 MCU,并通过 NCI 协议集成主机软件。 (图片来源: NXP Semiconductors)

设计人员需要较少的元器件即可为现有基于 MCU 的设计创建完整的 NFC 子系统。 实际上,在某些情况下,工程师可以通过在天线匹配电路中消除或组合一些无源元器件,进一步减少 BOM(图 3)。

PN7150 作为 NFC 控制器 (NFCC) 的原理图

图 3: 将 PN7150 用作 NFC 控制器 (NFCC),设计人员可以简化天线匹配电路,从而进一步减少某些应用中的 BOM。 (图片来源: NXP Semiconductors)

在典型的天线电路设计中,需要天线引线上的 RQ 阻尼电阻器来降低会对所产生信号的整形有不良影响的过高天线品质因数。 在采用标称天线品质因数的设计中,设计人员可以将这些 RQ 阻尼电阻器从天线端移除。 在匹配电路中,当特定设计的天线引线具有非常低的最大峰峰电压时,设计人员可以用单个电容器替换成对的并联电容器(并消除到 EMC 滤波器的连接)。 在典型应用中,小型天线连接到 PN7150,天线上产生的峰峰电压将相对较低。 因此,设计人员也可以移除去耦 Crx 电容器,并将 Rrx 电阻器直接连接到天线, 以简化 Rx 路径。

简化的软件

从软件角度看,PN7150 提供了一个简单的执行模型,可进一步加速产品开发(图 4)。 设备主机架构结合了传输层驱动程序、NCI 驱动程序和包含读/写、点对点或卡仿真库的 NFC 执行环境 (NFCEE) 中间件。 对于 NFC 操作,主机只需要通过 I2C 接口发送高级 NCI 操作到 PN7150。 反过来,PN7150 的固件可执行 NFC 协议中所需的详细事务。

NXP PN7150 的嵌入式 NCI 固件原理图

图 4: NXP PN7150 的嵌入式 NCI 固件减少了设备主机 (DH) 上的软件封装,只需通过 I2C 硬件接口发送 NCI 指令,即可在 PN7150 NFC 控制器 (NFCC) 上执行详细的 NFC 事务。 (图片来源: NXP Semiconductors)

实际上,从开发人员的角度而言,得益于 NXP 提供的全方位软件平台,NFC 应用开发才得以在高级别进行。 对于启用 NFC 的物联网应用,常见操作包括交换 NFC 数据交换格式 (NDEF) 化数据。 NDEF 由 NFC 论坛管理,这是一种标准化的数据格式,可用于在任何兼容的 NFC 设备和另一台 NFC 设备或标签之间交换 URI 或纯文本等信息。

NXP linux_libnfc-nci 库提供了一个简单的应用编程接口 (API),将低级事务抽象为更高级的面向应用程序的操作。 例如,开发人员可以通过简单调用 WriteTag 例程来写入标签(列表 1)。 这个库利用一系列低级例程将这种应用层请求分解为所需的系列步骤,以对数据进行验证、格式化和传输(列表 1 中的 msgToPush)。

int WriteTag(nfc_tag_info_t TagInfo, unsigned char* msgToPush, unsigned int len)

{

int res = 0x00;

res = nfcTag_writeNdef(TagInfo.handle, msgToPush, len);

if(0x00 != res)

{

printf("Write Tag Failed\n");

res = 0xFF;

}

else

{

res = 0x00;

}

return res;

}

列表 1: NXP 提供 NCI 软件,如 linux_libnfc-nci,这是与 PN7150 搭配使用的 Linux NFC 库。 开发人员可以使用简单调用来创建 NFC 应用,WriteTag 便是一个例子,它调用低级例程来处理 NFC 消息传递协议详细信息。 (列表来源: NXP Semiconductors)

设备主机使用 NCI 控制消息与 NFC 控制器交互。 一个特别重要的 NCI 指令序列为 NFC 控制器提供了一种机制来查找其他卡、读卡器或对等设备。 这种称为 RF Discovery 的指令序列让符合规范的 NFC 设备(如 PN7150)能在侦听其他发射设备和发射(轮询阶段)之间交替,以查找远程卡或标签。

如同任何射频技术一样,传输需要比无线电接收更高的功率(图 5)。 实际上,在轮询阶段,PN7150 功耗约为 30 mA,具体取决于天线特性。 在侦听阶段,PN7150 会等候外部生成的射频载波,当启用待机模式时,电流消耗会下降至 20 μA 左右。

NXP NFC 设备原理图

图 5: 由于在标准 NFC 论坛 RF Discovery 序列中 NFC 设备的轮询阶段较长,因此功率要求可能相对较高。 (图片来源: NXP Semiconductors)

通常,轮询阶段会持续约 20 毫秒,而侦听阶段则为 300 毫秒到 500 毫秒。 对于 500 毫秒的侦听阶段,平均功耗则为:

(30 x 20 + 0.02 x 500) / 520 = 1.17 mA。

为降低 RF Discovery 的功率要求,NXP N7150 提供了一种称为低功耗卡检测器 (LPCD) 模式的专有机制。 在 LPCD 模式中,PN7150 会寻找当另一根天线接近时产生的磁耦合所导致的天线阻抗变化。 如果阻抗变化高于预定义的阈值,PN7150 会自动进入标准 NFC 论坛 RF Discovery 序列。 因此,这种“事件驱动”的方法可以显著减少 RF Discovery 阶段的时长,从而降低平均功耗(图 6)。

NXP PN7150 原理图

图 6: 通过使用特殊检测模式,NXP PN7150 可以显著降低 RF Discovery 回路的功耗,从而缩短耗费功率的轮询阶段。 (图片来源: NXP)

结论

NFC 提供安全的低功耗连接,能显著增强互联的家用电子设备、可穿戴设备和其他物联网设备的易用性。 只需将启用 NFC 的智能手机靠近连接的产品,用户就能调试产品、加载访问信息并检索产品中存储的信息。 然而在过去,在基于 MCU 的系统中实施 NFC 为硬件和软件集成都带来了设计难题。 相比之下,如 NXP PN7150 等 NFC 集成设备,可为 NFC 设计提供近乎可直接替代的解决方案,简化了启用 NFC 的应用中的硬件和软件开发。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16984

    浏览量

    350265
  • 嵌入式
    +关注

    关注

    5068

    文章

    19014

    浏览量

    303144
  • nfc
    nfc
    +关注

    关注

    59

    文章

    1617

    浏览量

    180380
收藏 人收藏

    评论

    相关推荐

    近场通信 (NFC) 收发器参考设计

    挑选的 MCU 快速实现 NFC 功能。此设计基于 TRF7970ATB 设计。特性集成的 PCB 天线U.FL 连接器允许客户开发和连接自己设计的天线SPI 代码开发/调试的测试点
    发表于 03-16 14:33

    NFC EZ430 阅读器模块参考设计

    、ISO14443B 和 Felica 标签演示了 NFC 读取器/写入器功能。与一些评估模块不同,该 NFC 模块经过特别设计,易于集成到现有应用。这样降低了对开发人员资源的需求,
    发表于 03-25 16:39

    NFC I2C 阅读器模块参考设计

    读取 ISO15693、ISO14443A、ISO14443B 和 Felica 标签模块包括板载 MCU 和堆栈以减少对主机 MCU 的需求旨在作为带有简单通信接口的即插即用模块防碰撞功能允许一次性读取多个 NFC 标签设计经
    发表于 04-02 14:45

    动态近场通信 (NFC) 4B 型标签

    `描述此动态近场通信 (NFC) 标签设计概括了所需的组件和布局注意事项,并提供固件示例以说明如何将 NFC 实施到如下应用:蓝牙/WiFi 配对、设备配置和诊断或作为通用
    发表于 04-08 17:13

    近场通信 (NFC) 收发器参考设计

    挑选的 MCU 快速实现 NFC 功能。此设计基于 TRF7970ATB 设计。特性集成的 PCB 天线U.FL 连接器允许客户开发和连接自己设计的天线SPI 代码开发/调试的测试点
    发表于 04-30 09:57

    怎样在基于操作系统的应用中加速NFC集成

    NFC 的智能手机靠近连接的产品,用户就能调试产品、加载访问信息并检索产品存储的信息。 然而在过去,在基于 MCU系统
    发表于 04-14 15:59

    可快速实现 NFC 功能的动态近场通信 (NFC) 4B 型标签设计包括原理图,BOM及光绘文件

    描述 此动态近场通信 (NFC) 标签设计概括了所需的组件和布局注意事项,并提供固件示例以说明如何将 NFC 实施到如下应用:蓝牙/WiFi 配对、设备配置和诊断或作为通用
    发表于 08-02 07:07

    基于MSP430的近场通信 (NFC) 收发器参考设计包括原理图和物料清单

    挑选的 MCU 快速实现 NFC 功能。此设计基于 TRF7970ATB 设计。主要特色集成的 PCB 天线U.FL 连接器允许客户开发和连接自己设计的天线SPI 代码开发/调试的测
    发表于 08-18 07:04

    企业为什么需要实施MES系统软件

    (WlP)24%:平均减少为交班而准备的纸面工作61%;平均减少引导时间27%.;平均减少纸面工作和设计蓝图所带来的损失56%:平均减少产品缺陷18%。 MES系统软件在整个企业信息集成系统
    发表于 10-15 20:34

    适合NFC天线系统设计的AWR软件有哪些?

    适合NFC天线系统设计的AWR软件有哪些?
    发表于 05-24 06:58

    NFC EZ430阅读器模块参考设计

    、ISO14443B 和 Felica 标签演示了 NFC 读取器/写入器功能。与一些评估模块不同,该 NFC 模块经过特别设计,易于集成到现有应用。这样降低了对开发人员资源的需求,
    发表于 09-26 07:56

    有什么方法可以使用NFC软件从智能手机刷入从属MCU

    一方面我有一个从 MCU 和另一边智能手机。我有一个通过 I2C 连接到从属 MCUnfc 标签。有什么方法可以使用 NFC软件
    发表于 12-08 07:31

    集成NFC技术LPC8N04 MCU相关资料分享

    集成NFC技术LPC8N04 MCU - 概况介绍
    发表于 12-09 07:02

    如何使用NFC更新MCU固件?

    图像。 在代码实现逻辑:应用程序已经在运行,我做了上面的步骤,然后mcu会检测到nfc消息,然后会做软复位(系统复位),然后bootloader开始运行。 我现在应该怎么做才能获得新
    发表于 12-27 07:36

    基于开源软件软件工程实施系统研究

    文章介绍了开源软件软件工程实施各阶段提供的支持,并根据软件工程实施的实际需求,建立了一个基于开源软件
    发表于 12-22 13:49 6次下载