NFC入门介绍 | 您所在的位置:网站首页 › nfc硬件电路 › NFC入门介绍 |
缩写词
NFCNear Field Communication近场通信OEMOriginal Equipment Manufacturer原始设备制造商HWHardware硬件OMAPIOpen Mobile Application Programming Interface开发移动应用程序编程接口eSEEmbedded Secure Element嵌入式安全元件SEMSSecure Element Management Service安全元件管理服务NFCCNFC ControllerNFC控制器TEETrusted Execution Environment可信执行环境
一、什么是NFC
近场通信(英语:Near-field communication,NFC),又称近距离无线通信、近距离通信,是一套通信协议,让两个电子设备(其中一个通常是移动设备,例如智能手机)在相距几厘米之内进行通信。NFC,如同过去的电子票券智能卡一般,将允许移动支付取代或支持这类系统。NFC应用于社交网络,分享联系方式、照片、视频或文件。具备 NFC 功能的设备可以充当电子身份证和钥匙卡。NFC 提供了设置简便的低速连接,也可用于引导能力更强的无线连接。--维基百科 目前,NFC利用移动终端实现移动支付、电子票务、门禁、移动身份识别、防伪等多方面。 NFC有三种运行模式(operation mode),分别是 Reader/Write模式(简称R/W,和NFC Tag/NFC Reader相关) Peer-to-Peer模式(简称P2P,它支持两个NFC设备交互) NFC Card Emulation Mode(简称CE,它能把携带NFC功能的设备模拟成Smart Card,这样就能实现诸如手机支付、门禁卡之类的功能)。 二、NFC模式介绍 1.Reader/Write模式NFC Reader角色。位于其内部的NFC芯片包含NFC Controller(NFC控制器,它可和Device Host或Secure Element安全单元交互)、Antenna(天线)和Contactless Front-End(非接触式前端,简称CLF,负责射频信号的调制解调等工作)三个部分。 在R/W模式中,交互操作的发起方只能是NFC Reader,故它也被称为Initiator或Active Device。 NFC Tag,由于它需要NFC Reader通过电磁感应为其提供电能,所以在R/W模式中,NFC Tag只能作为交互操作的Target(也被称为Passive Device)。NFC Forum定义了四种类型的Tag,分别为Type 1、Type 2、Type 3和Type 4。 参数 Type 1 Type 2 Type 3 Type 4 对应规范 ISO 14443 Type A ISO 14443 Type A Felica ISO 14443 Type A,Type B 常见芯片名 Topaz MIFARE Felica MIFARE-DESFire 存储容量 最大1KB 最大2KB 最大1MB 最大64KB 读写速率 106kbps 106kbps 212kbps 106-424kbps 价格 低 低 高 中等/高 安全性 数字签名保护 不安全 数字签名保护 可选 说明 Topaz由Innovision公司推出 MIFARE由NXP公司推出 由Sony公司推出,价格比较贵 这类芯片在出厂时就被配置好是否只读或可读写 根据NFC Forum的定义,R/W模式下,NFC设备之间每一次交互的数据都会封装在一个NDEF Message中,而一个NDEF Message可以包含多个NFC Record,真正的数据则封装在NFC Record中。 一个NDEF Message可包含一个或多个NFC Record。 2.P2P模式NFC所基于的无线射频技术实际上可以支持NFC Device之间互相传递数据。为了满足NFC Device之间双向交互的需求,NFC Forum定义了P2P(Peer-to-Peer)运行模式。 Snep协议基于LLCP协议,该协议使得两个NFC Device之间能直接交换NDEF消息。
LLCP协议提供了面向连接和无连接两种数据传输方式,SNEP使用了LLCP提供的面向链接的数据传输服务。 假设Device A和Device B打开了NFC功能。当二者进入有效距离后,它们的LLC模块将进入Link Activation(链路激活)阶段: 进入Link Activation时,Device A和Device B将分别扮演Initiator和Target角色,参考资料[13]可用于确定谁来扮演Initiator或Target。 Initiator发送PAX数据包给Target。PAX全称为Parameter Exchange,它用于在两个设备间交换彼此的LLC层配置信息(如协议版本等,详情见下文)。 Target收到Initiator的PAX包后需要相应处理,例如判断协议版本是否匹配等。Target处理完后,它需要发送自己的LLC层配置信息给Initiator。 Initiator检查Target的LLC层配置参数,如果一切正常,双方Logical Link成功建立,随后可进入正常工作阶段。 双方需要通过PAX交换LLC层的配置信息。PAX属于LLCP数据包的一种。
Link被激活后,Device A和Device B将先建立面向链接的关系,然后再开展数据交互。
当LLCP建立完成后,基于LLCP的SNEP就可以正常进行工作。SNEP的工作流程非常简单,主要包括两个步骤: SNEP客户端发送SENP Request消息给服务端进行处理。 SNEP服务端回复SNEP Response消息给客户端以告知处理结果。 3.CE模式NFC CE mode有两种实现: 虚拟卡模拟 : 基于硬件,这种模式下,需要提供SE单元, nfc芯片作为通信的前端模块, 将收到的操作命令, 转发到SE, 由SE负责处理。 主机卡模拟 : 基于软件,这种模式下,由运行在主机上的应用来充当SE。 虚拟卡模拟依赖SE单元, 安全单元为NFC设备上专用的微处理芯片。该芯片可以与NFC控制器集成在一起。另外也可以集成在NFC设备中的其它智能卡/安全设备中, 目前常见的SE单元的形式有 nfc 芯片内部集成的SE单元, 例如 NXP 的 PN65N Secure SD 卡, 实际上是在SD卡内部嵌入了一个安全模块, 相关的应用可以在其上运行, 相关的国际标准为 ISO 7816, 该方案被称为NFC-SD UICC, 即手机的SIM卡充当SE,该方案被称为NFC-SIM 在CE模式中,NFC Mobile被NFC Reader识别成一个智能卡。NFC Reader通过相关规范发送数据或控制命令给NFC Mobile中的NFCC。 当NFCC收到数据或控制命令后,将交给相关的应用程序来处理。由于CE相关的应用场景针对支付、门禁等这类对安全性要求非常高的情况,以Android手机NFC支付为例,一个完整的支付应用程序包括一个为用户提供操作界面的APK以及一些运行在安全性有绝对保障的SE中的应用程序。 三、AOSP NFC 1.AOSP NFC架构下图是AOSP的NFC架构图,分为Applications、Framework、Native/Linux、HW四层
以钱包APP举例,包含可见可操作的NFC apps,钥匙管理的KeyMaster App、操控eSE的applet,这三个部分共同组成钱包APP。 与之相对应的,是向NFC apps提供能力的NFC API,提供钥匙管理能力的Keystore Framework,向applet提供能力的OMAPI Framework。 Framework通过JNI层与底层的Lib和HAL通信,Lib集成了各个功能的实际实现,而HAL则是将不同硬件的驱动进行抽象,形成统一的接口提供给Lib使用。 最底层的HW则是与对端通信的硬件。 下图是AOSP NFC的库分布
|
CopyRight 2018-2019 实验室设备网 版权所有 |