我正在使用Android和ISO14443 B类标签,但是我无法解决这个问题。希望有人可以提示。
当手机的NFC设置打开时,它会开始发送REQA和REQB命令,以便发现是否存在任何标签。问题是默认情况下这是以2秒的周期完成的,我想修改那个时间以缩短时间。
我发现大多数应用程序都会维持此扫描周期,但有些应用程序(如NXP的TagInfo)会将其缩短为250毫秒。
在所有可用于Android NFC的信息中,我没有找到任何关于标签扫描时间的信息。
有人知道这个扫描时间吗?怎么可能修改它?
提前谢谢你。 乔恩
答案 0 :(得分:1)
通过使用LG Spirit和恩智浦NFC开发套件中包装的现场检测器PCB进行的一些实验,我发现以下所有缺席任何NFC标签被询问:
nfcAdapter.enableForegroundDispatch()
,常规轮询事件只有20 b nfcAdapter.enableReaderMode()
,字段开启时间根据启用的信令类型而变化。全部启用后,磁场通电125 NfcAdapter.EXTRA_READER_PRESENCE_CHECK_DELAY
设置似乎对NFC轮询间隔没有任何影响。我认为此设置仅适用于部分连接序列发生的情况,以及为什么将其用作协议错误修复。以下是我的结论和建议: 我认为'默认'调度模式允许操作系统通过最小化NFC场开启的时间百分比来进行巧妙的功率优化,以响应某些事物是否与NFC场相互作用。电源优化必须具有高优先级,因为只要手机的屏幕解锁,就可以启用NFC扫描模式。
调度模式的权衡很可能是能量采集(无源)标签在能够通电和交互之前需要更接近手机的天线。
相比之下,阅读器模式允许您强制NFC字段在最短时间内打开,但看起来您无法调整轮询周期。您也可以只间接调整字段开启时间的百分比,这可能会或可能不会对无源标记的连接时间产生任何微小的改善。
可能有一份白皮书,其中包含详细的最佳实践。我的建议是,如果您想要更快的被动标签读取,请使用读卡器模式并仅启用您需要的信号类型。