NFC通信的模式选择

Posted tianqiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NFC通信的模式选择相关的知识,希望对你有一定的参考价值。

NFC通信的模式选择

 
1.nfc 怎么选择操作模式的?——怎么在 PCD VCD NFC 模式中做出选择?
我知道  iso 15693中有说明但是不太懂啊。
如果周围检测到 RF场存在,就能直接认定并选择 NFC 模式?
如果没检测到RF场存在,又怎么在那3种模式中选择?
首先我觉得应该澄清一个概念,就是你所提到的NFC模式。我猜你所说的应该是ISO18092中所定义的通信方式吧? 在NFC中定义了三种不同的模式:
-         读卡器模式:运行着NFC Forum所定义的Type1/2/3/4 Platform,也就是所说的PCD/VCD,对应着ISO14443的协议,目前,NFC Forum中也加入了对VCD的支持。读卡器下也可以是ISO18092中定义的Initiator;
-         卡模拟模式:运行着NFC Forum所定义的Type4A/4B的TAG,也就是我们所说的PICC;卡模拟也可以使ISO18092的Target
-         点对点模式:定义在ISO18092中的Initiator和Target;
关于模式的选择,完全是由上层的应用程序来决定。比如说你的NFC手机运行一个读公交卡的应用程序,那么这时候NFC模块或NFC芯片就工作在读卡器模式;如果运行一个Google
wallet的应用程序,那么NFC芯片就被设置成卡模拟的模式;如果运行一个文件传输的应用程序,如File expert,那么你的NFC芯片就会被设置成为点对点通信的模式。所以说,NFC的模式选择,完全取决于上层的应用程序,这里我就简单的从NFC协议的角度来分析如何进行模式的设置。
1.      初始化
当手机中的NFC模块(芯片)被开启时,会初始化一些参数,这个时候NFC芯片处于一个IDLE的状态,该状态下,NFC芯片不会产生射频场,此时它处于侦听模式下。但是需要注意的是,此时的NFC芯片并不会工作在上述三种模式中的任何一种。
2.      模式的配置
当相应的应用程序启动后,NFC芯片会得到相应的模式配置,这里描述几个比较重要的参数:
(1)      技术:该词是NFC规范中的专有名词,NFC-A/B/F,对应着ISO14443 A/B及Felica
(2)      通信模式:主动通信和被动通信
(3)      工作模式:Poll,Listen
这三个参数的组合对应着不同的模式,如(NFC-A,POLL,被动通信)表示,此时NFC工作在一个读卡器模式下;如(NFC-A,Listen,被动通信)表示NFC工作在卡模拟的模式;如(NFC-F,Poll,主动通信),表示NFC工作在点对点的模式下。当然了,可以给NFC芯片配置多个这样的参数组。除了这三个参数外,还有其它的参数,比如RF协议(ISO-DEP/NFC-DEP等),传输速率,所能支持的最大负载长度等,这里就不详细说明了。
3.      发现
当NFC芯片的模式配置好后,如果NFC芯片被配置为POLL下,那么NFC芯片将会打开射频场,并根据配置模式进行发现过程,来发现周围的NFC设备。在NFC规范中,发现的顺序为NFC-A->NFC-B->NFC-F->私有技术。当周围有多个目标设备或一个目标设备却支持多种RF协议的话,那么NFC芯片将会向上层应用通告目标设备,让上层应用来决定如何选择。如果NFC芯片被配置为LISTEN下,那么NFC芯片就会等待对方设备发来的POLL命令,如SENS_REQ/SENSF_REQ等。
4.      激活
当目标设备被选中后,将会进行设备/协议的激活,如使用NFC-DEP的传输协议,那么就需要ATR_REQ/RES的流程;
5.      链路激活
这一步是针对点对点通信的,如果使用LLCP的话,还需要对LLCP链路进行激活。

当底层链路建立好后,那么NFC设备间就可以进行通信了。

这里再说明一下,第一步初始化,也有可能不同芯片有不同的实现方式,初始化就会进入某一个模式;第二步配置和第三步发现,实际上在NFC的规范中,被合成了一步。通过一个发现命令,其中包括了模式的参数,就完成了发现过程。

 

以上是关于NFC通信的模式选择的主要内容,如果未能解决你的问题,请参考以下文章

在android平板中如何进行NFC通信,就是通过rfid读卡器连接到平板的USB后,读取的内容显示到平板上

NFC进场通信总结概述

安卓手机怎么nfc

NFC驱动调试

Android之NFC

NFC