0

我正在开发一个应用程序,我将数据存储在 4Mbit 数据闪存上,并通过 NFC 用智能手机读出。为此,我使用 NFC 前端 (AS3953) 和微控制器来模拟 Type 4 标签。将数据分成 264 字节的块(闪存的页面大小)并按顺序读取它们会很方便。

那么更好的结构是什么:一个大的 NDEF 文件,每个文件有许多 264 字节的记录,或者在一个专用文件下有许多单个基本文件?

感谢您的投入,安德烈亚斯

4

1 回答 1

2

这在很大程度上取决于您希望通过解决方案实现的目标以及您的目标平台:

  1. 您可以构建遵循 NFC Forum Type 4 标签规范并仅使用 NDEF 数据抽象层的 NFC 标签。

    • 您的应用程序将与所有支持在 NFC Forum Type 4 标签上读取和写入 NDEF 消息的设备互操作。这包括所有当前支持 NFC 和 NFC Web API 的主要移动操作系统平台。
    • 您被限制为 65534 字节的 NDEF 数据(包括记录头)。
    • 您无法真正控制设备如何从/向 NDEF 文件读取或写入数据。具体来说,即使您将文件分割成多个 NDEF 记录,也无法控制文件将在哪些段中被读取/写入。(请注意,您可以控制 APDU 的最大数据字段大小,但没有什么可以阻止 NFC 设备读取/写入更小的块。)
    • NFC 设备(例如 Android 执行此操作)通常会在扫描标签时读取整个NDEF 消息以执行自动操作(例如启动应用程序)。
  2. 您可以构建一个遵循 NFC Forum Type 4 标签规范的 NFC 标签,并结合使用 NDEF 数据抽象层(例如,存储允许您的应用程序自动启动并识别专有协议的信息)和专有数据文件(如 NFC 论坛类型 4 标签操作规范中指定的那样)。

    • 专有数据文件无法在多个平台(例如 Windows Phone 8、NFC Web API)上访问。不过,它们可以在 Android 和 BlackBerry 设备上访问。
    • 除了通常由操作系统处理的自动 NDEF 抽象之外,您还需要手动实现命令来识别和访问专有数据文件(例如,在 Android 上使用IsoDep该类)。
    • 使用这些专有数据文件,您可以构建内存以使用例如每页一个文件。
    • 您不限于 65534 字节,而是可以有多个文件,每个文件最多 65534 字节。
    • 默认情况下,NFC 设备通常只会在扫描标签时读取 NDEF 文件以执行自动操作。专有文件通常会被忽略。
    • 除了使用 NFC Forum Type 4 Tag Operation 规范的专有文件功能,您还可以创建一个单独的应用程序(在不同的 DF 名称/AID 下),允许您访问您的数据存储器(通过 ISO 7816-4通过自定义命令标准化命令)。
  3. 您可以创建基于 ISO 14443/ISO 7816-4 的完全自定义协议。

    • 您将不会(或仅部分)拥有 NDEF 标记的功能(例如触发自动操作,例如启动特定应用程序)。
    • 您的应用将不兼容 Windows Phone 8(或任何其他仅允许通过 NDEF 抽象对标签进行高级访问的平台)。
    • 您没有通过实现 NFC 论坛类型 4 标签操作规范引入的协议开销。
于 2014-07-28T13:53:52.363 回答