NFC规范学习之一 ---整体结构
1、NFC 采用两个感应线圈进行数据交互,其中至少必须有一个设备产生13.56MHZ的磁场,该场被调制以方便数据传输。通讯中,一个设备处于initiator模式(就是发起通讯)另外一个设备则工作在target模式(等待initiator命令),进行通讯至少应该有两个设备。一般情况下,nfc设备默认都处于target模式,设备周期性的切换为initiator模式,切换为initiator模式后,处于发起者的设备搜索场中是否有nfc target(这就是轮询的概念),然后再次切回到target模式。如果initiator发现target,则发出一串初始命令,用于建立通讯,然后再进行数据传输。
2、NFC 分为两种工作模式 主动通讯和被动通讯
2.1.被动通讯模式(Passive Mode)
在被动通讯模式,处于initiator模式的设备发起通讯,并产生13.56MHZ的场,target采用该场为自己充电,但不能产生自己的场,发起者通过直接场调制进行传输数据,target通过负载调制进行数据传输,双方通过ISO14443或者Felica进行编码。这种模式使得NFC设备可以和现有的非接触智能卡进行通讯。
负载调制描述了负载变化对initiator场幅度的影响,这些变化可被initiator察觉并翻译为有用信息,实现这种功能需依赖于线圈的大小,通讯距离可以达到10cm 数据通讯距离有106,212,424bps。
2.2.主动模式(Active Mode)
在主动模式时,nfc设备的双方都产生RF场,每方通过采用幅移键控方法调制自己的场进行数据传输。与被动模式相比,操作距离可以达到20cm 且有更高的传输速率。为了避免冲突,发送数据的设备发起RF场,接收设备关掉自己的场当listening时,如果必要这些作用可根据需要改变。
3、NFC设备通常提供如下通讯模式
3.1.读写器模式(Reader/Writer Mode),在读写器模式,nfc设备作为普通的读写器对非接触智能卡进行操作,如果两个或者更多的卡处于读写器的场内,读写器需采用anti-collision算法对这些卡进行选择,以选中一张卡进行通讯。Nfc读写器会判断被选中的卡是ISO14443-A/B还是Felica应用。防冲突的算法依赖于被侦测到的卡的类型。这种方式使NFC设备扮演了一个主动设备的角色。从应用的观点看,传统的读写器和nfc读写器没有什么不同,都能访问非接触智能卡。工作在这种模式下,nfc设备可以读并改变nfc被动设备(不用充电)的数据。Nfc读写器可采用正确的步骤读取标签内的信息,而不用用户干预。例如,如果发现标签内有一个URL信息,则读写设备打开一个web browser。
3.2.卡模拟模式(Card Emulation Mode),标签模式模式与读写器模式相反,nfc设备模拟一个非接触标签,这时,nfc设置仅仅工作于被动模式,由于处于卡模拟模式,,nfc设备可以作为真正的智能卡使用。因此当该“卡”处于读写器的场内时,将能收到该读写器场的影响,而且nfc设备可以包含一个安全模块,用于存储保密信息。而外部的读写器不能区分读卡器和模拟卡。这种模式对于非接触支付和票据应用是有用的,
3.3.P2P模式(Peer-to-Peer Mode),该模式下,nfc设备一旦建立了连接,就开始进行数据透传,数据的长度是任意可选的,最大传输单元是256字节,该协议主要是为了是用户尽可能快的传输他自己的数据。,在P2P会话中,不管是initiator还是target都能工作在主动模式,或者initiator工作在主动模式,而target工作在被动模式,这中方式可以减少target的能量损耗,而且如果initiator是一个不常移动的终端(例如拉卡拉)而target是一款手机的话这种方式将能极大减少target(手机)的能量消耗。
P2P模式遵从ISO18092规范)该规范允许NFC使能设备监理双向链接用以交互接触,蓝牙配对信息或者其他类型的数据。,为了建立链接,P2P的initiator搜索P2P的target以建立连接,链接建立以后,the Near Field Communcation Data Exchange Format (NDEF)将要用于数据传输。
4、手机中的NFC整体结构如下:
NFC规范学习之一 ---整体结构的更多相关文章
- NFC协议学习分享
很多同学在学习NFC协议的时候,觉得NFC的规范从底层到上层的应有尽有,有点无处下手的感觉.这里就和大家分享下我曾经学习NFC规范的经验.如果有不对的地方,也请各位同学批评指正.NFC Forum中有 ...
- 公司C++规范学习
目录 公司C++规范学习 语法部分 风格/约定 公司C++规范学习 语法部分 class和struct关键字的选择:class表示被封装的用户自定义类型,不公开定义非静态数据成员,struct表示数据 ...
- 阿里java开发规范学习(附P3C IDEA插件 帮助规范的养成)
浅析 阿里巴巴 Java 开发规约 (未完成) 更加优秀的页面展现请到浅析 阿里巴巴 Java 开发规约 contents 为什么要学 编程规约 P3C IDEA 插件 why-use 我们知道,一般 ...
- W3C规范学习
w3c:万维网联盟(World Wide Web Consortium,W3C),又称W3C理事会.W3C组织是对网络标准制定的一个非赢利组织,W3C是万维网联盟的缩写,像HTML.XHTML.CSS ...
- AMD规范学习笔记
背景 NodeJS的一套比较简洁 Moudles 规范, 使得在服务器端的模块化变得更加简单.很长一段时间,很多公司或者项目都有自己的一套模块化机制, 却未能形成一套统一的标准, NodeJS的Mou ...
- SpringCloud入门之YAML格式文件规范学习
1. 认识 YAML YAML(发音 /ˈjæməl/)是一个类似 XML.JSON 的数据序列化语言.其强调以数据为中心,旨在方便人类使用:并且适用于日常常见任务的现代编程语言.因而 YAML 本身 ...
- Web Components 规范学习
最新的规范在这里:http://w3c.github.io/webcomponents/explainer/ 依据规范,有以下四个组成部分: Templates Custom Elements Sha ...
- PSR规范学习笔记
PSR已经经历了5次变革,如今PSR4就是最新的标准,但是还是有必要了解下5个版本的内容的,于是去php-fig网站看了下英文原版: 大概看了遍,发现这规范很多的必须很多时候只是建议,但是PHP解析器 ...
- JSR133规范学习
最近在看多线程相关的东西,通过阅读JSR133的faq来加深自己对多线程的理解,里面大部分的内容比较简单(越到后面越难),但是有的部分比较难以理解还没有完全弄懂,所以这里只记录了一下比较简单的阅读笔记 ...
随机推荐
- Codeforces Round #172 (Div. 2) C. Rectangle Puzzle 数学题几何
C. Rectangle Puzzle Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/281/p ...
- codeforces Gym 100500C D.Hall of Fame 排序
Hall of Fame Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100500/attachmen ...
- visualsvn server 报错 can't read file "current":End of file out
需要删除文件:Repositories\ProjectName\db\revprops\X 需要修改文件:repository/db/txn_current.repository/db/current ...
- iOS 2D绘图详解(Quartz 2D)之Transform(CTM,Translate,Rotate,Scale)
前言:Quartz默认采用设备无关的user space来进行绘图,当context(画板)建立之后,默认的坐标系原点以及方向也就确认了,可以通过CTM(current transformation ...
- Outlook2010 移动数据文件到其它地方
您可以将数据文件移到计算机的其他文件夹中.移动文件的一个原因在于可使备份更容易并且可以让默认的outlook邮件文件不在存在C盘,导致装系统不见或者文件过大而撑死了C盘.例如,如果数据 ...
- Telnet、SSH和VNC
以下内容出自<Red Hat Linux服务器配置与应用>第17章:Telnet.SSH和VNC服务的配置与应用.俗话说:“前人栽树,后人乘凉”.我懒得再照书本打一遍了,就从这里拷贝了一份 ...
- iOS,面试必看,最全梳理
序言 目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了.今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,加之,培训机构一火车地向用人单位输送iOS开发人员,打破了生态圈的动态 ...
- And Then There Was One
http://poj.org/problem?id=3517 And Then There Was One Time Limit: 5000MS Memory Limit: 65536K Tota ...
- 使用NumberPicker定制自己喜欢的Date&TimePicker
1.NumberPicker简介: NumberPicker是Android3.0之后引入的一个控件,主要功能是用于选择一组预定义好数字的控件. 该控件主要需要指导一个用于监听当前value变化的li ...
- android scrollview主要的问题
项目做多了之后,会发现其实 ScrollView嵌套ListVew或者GridView等很常用,但是你也会发现各种奇怪问题产生.根据个人经验现在列出常见问题以及代码最少最简单的解决方法. 问题一 : ...