NFC与NDEF之间的关系是什么?

时间:2013-08-02 09:53:57

标签: android nfc ndef

NFC和NDEF之间究竟有什么关系? NFC设备是否总是必须有NDEF格式的数据?或者是否有可能拥有NFC而不是NDEF(虽然我认为反之亦然是不可能的?)?空的NFC卡会是什么样的?它仍然有NDEF头信息但没有有效载荷吗?或者标签是否可以完全为空,也就是说,没有任何标题信息?在这种情况下,这仍然可以通过Android手机或读卡器检测到吗?究竟什么使标签被读者检测到了?

2 个答案:

答案 0 :(得分:12)

在NFC通信中,主要有三种操作模式

  1. 读/写器模式(PCD)
  2. 点对点模式(NFC)
  3. 标签/卡仿真模式(PICC)
  4. NFC的基础是天线耦合,每当NFC设备接近另一个天线耦合时,就会有一个多协议RF前端IC芯片连接到读写器设备,另一个设备可以是读取器/写入器设备,也可以只是NFC标签(nfc标签只不过是天线和数据存储器)。通信仅在ISO?IEC 18092&通过ISO / IEC 14443协议,否则将不会进行任何通信。

    NFC和NDEF之间究竟有什么关系?

    在android中,所有NFC设备都被检测并作为PICC设备处理,android.nfc包提供对近场通信(NFC)功能的访问,允许应用程序在NFC标签中读取NDEF消息

    是否有任何NFC设备必须拥有NDEF格式的数据?

    是和否,在此模式下,NFC设备模拟ISO 14443智能卡或集成在移动设备中的智能卡芯片连接到NFC模块的天线。传统读卡器无法区分在标签仿真模式下操作的移动电话与普通智能卡。

    这是NFC技术的优势,因为现有的读卡器基础设施不需要更换。用于标签仿真的智能卡芯片也称为安全元件。

    是否可以使用NFC但不能使用NDEF?

    是的,这里有相当的内容:Advanced NFC

    空的NFC卡会是什么样的?它仍然有NDEF头信息但没有有效载荷吗?或者标签是否可以完全为空,也就是说,没有任何标题信息?

    NDEF由四部分组成 3位TNF(类型名称格式)
    指示如何解释可变长度类型字段 可变长度类型
    描述记录的类型。如果使用TNF_WELL_KNOWN,请使用此字段指定记录类型定义(RTD) 可变长度ID
    记录的唯一标识符。此字段不经常使用,但如果您需要唯一标识标记,则可以为其创建ID 可变长度有效载荷
    要读取或写入的实际数据有效内容。 NDEF消息可以包含一个或不包含或多个NDEF记录,因此不要假设完整有效负载位于NDEF消息的第一个NDEF记录中。

    在这种情况下,这仍然可以通过Android手机或读卡器检测到吗?究竟是什么让读者检测到标签?

    标签调度系统使用类型名称格式(TNF)和类型字段来尝试将MIME类型或URI映射到NDEF消息。如果成功,它会将该信息与实际有效负载一起封装在ACTION_NDEF_DISCOVERED意图内。但是,有时标签调度系统无法根据第一个NDEF记录确定数据类型。当NDEF数据无法映射到MIME类型或URI,或者NFC标记不包含NDEF数据时,就会发生这种情况。在这种情况下,具有关于标签技术和有效负载的信息的Tag对象将被封装在ACTION_TECH_DISCOVERED意图内。

    对于空消息,TNF将为TNF_EMPTY(表示记录为空.TNF_EMPTY记录中的类型,ID和有效负载字段为空。)在这种情况下,它会回退到ACTION_TECH_DISCOVERED

    Refer these links

答案 1 :(得分:1)

NFC是一套电信标准,NDEF是一种数据格式。因此NFC和NDEF彼此独立存在,例如NDEF消息可以是文件。

NDEF记录直接定义了一条消息,因此没有空的NDEF消息(它将是0字节)。然而,许多类型的标签可以被格式化为“NDEF”,因为在写入实际的NDEF数据之前必须就访问密钥和数据区等概念达成一致,否则存储的NDEF数据将无法被第三方读取(无视整个点)使用标准。)

标签本身从不为空(如硬盘驱动器),但写入它们的数据可以说有用数据量为零。

被动(标签)NFC设备由有源(电话/阅读器)NFC设备供电。也就是说,有源设备关闭(轮询)磁场,这使得无源设备可以为其内部电路和通信天线获取电力。