NFC Tag 存储大小
Storage size of NFC Tag
我有一个 NXP NTAG216,我想知道标签的存储大小。从规范中我读到数据区域的大小在 Block 3
Byte 2
中,在我的例子中是 7F
,十进制是 127
,乘以 8 Bytes
它是 1016 Bytes
。来自 NXP 网站 它指出标签只有 924 Bytes
NXP NTAG 213/215/216.
[0] 04 : 91 : 52 : 4F
[1] 9A : 9A : 40 : 80
[2] C0 : 48 : 00 : 00
[3] E1 : 10 : 7F : 00
与恩智浦 NTAG215 类似,它的十进制数 3E
62
乘以 8 Bytes
是 496 Bytes
,网站上写着 540 Bytes
.
[0] 04 : 34 : DB : 63
[1] 6A : 83 : 5C : 81
[2] 34 : 48 : 00 : 00
[3] E1 : 10 : 3E : 00
谁能给我解释一下这个数字是如何计算出来的?
如果您阅读卡的数据表 https://www.nxp.com/docs/en/data-sheet/NTAG213_215_216.pdf
它说
NTAG216 EEPROM:
- 924 字节,分为 231 页,每页 4 字节。
- 为制造商和配置数据保留 26 个字节
- 37 位用于 read-only 锁定机制
- 4 个字节可用作功能容器
- 888 字节用户可编程read/write 内存
来自 Type 2 卡的规格 http://apps4android.org/nfc-specifications/NFCForum-TS-Type-2-Tag_1.1.pdf
The Capability Container Byte 2 indicates the memory size of the data area of the Type 2 Tag Platform. The value of byte 2 multiplied by 8 is equal to the data area size measured in bytes
请注意你的问题说乘以 8Bits
(1 字节)这是错误的,我确定这只是一个错字,你的意思是 8Bytes
所以一些 924 字节的标题实际上是为其他用途保留的,并且永远不会包含在 Capability Container 中列出的大小中,它留下 888 字节供用户使用内存。
数据表中的值应该是 6Dh
,即 109 * 8 = 872 字节。
我所有的 NTAG216 的值都是 6Dh
我不确定为什么这个值Capability Container值小于实际可用内存大小,可能是因为规范的措辞不清楚但它可能是NDEF消息的“可用数据区”并且可能不包括构成有效 NDEF 消息和记录的强制性 headers(TLV 等)。
所以 3Eh
的 NTAG215 示例值与数据表所说的完全一样,并且小于上面概述的总内存大小,因为一些内存页是为非 NDEF 数据保留的,等等
下一个问题是为什么您的 NTAG216 示例没有 6Dh
的正确值
Type 2 卡的规格和 NTAG21x 卡的数据表说:-
The Capability Container CC (page 3) is programmed during the IC production according to the NFC Forum Type 2 Tag specification (see Ref. 2). These bytes may be bit-wise modified by a WRITE or COMPATIBILITY_WRITE command. The parameter bytes of the WRITE command and the current contents of the CC bytes are bit-wise OR’ed. The result is the new CC byte contents. This process is irreversible and once a bit is set to logic 1, it cannot be changed back to logic 0.
Capability Container的4个字节必须是可写的,因为只能以4个字节为单位进行写入,Capability Container的Byte 3表示Type的data area和CC area的读写访问能力2 标签平台,因此可以合法地更改为只读卡。
因此,对 Capability Container 的错误写入可能已将字节 2(大小值)的值增加到此特定卡上的无效值。
另一种可能性是周围有很多假的 NTAG21x 卡,可能这是一张假卡,实际上内存比真正的 NXP 卡多。
使用数据表中概述的 Originality signature
方法来验证它是正品,或者 NXP 的 Taginfo
智能手机应用程序也将验证它是正品。
我有一个 NXP NTAG216,我想知道标签的存储大小。从规范中我读到数据区域的大小在 Block 3
Byte 2
中,在我的例子中是 7F
,十进制是 127
,乘以 8 Bytes
它是 1016 Bytes
。来自 NXP 网站 它指出标签只有 924 Bytes
NXP NTAG 213/215/216.
[0] 04 : 91 : 52 : 4F
[1] 9A : 9A : 40 : 80
[2] C0 : 48 : 00 : 00
[3] E1 : 10 : 7F : 00
与恩智浦 NTAG215 类似,它的十进制数 3E
62
乘以 8 Bytes
是 496 Bytes
,网站上写着 540 Bytes
.
[0] 04 : 34 : DB : 63
[1] 6A : 83 : 5C : 81
[2] 34 : 48 : 00 : 00
[3] E1 : 10 : 3E : 00
谁能给我解释一下这个数字是如何计算出来的?
如果您阅读卡的数据表 https://www.nxp.com/docs/en/data-sheet/NTAG213_215_216.pdf
它说
NTAG216 EEPROM:
- 924 字节,分为 231 页,每页 4 字节。
- 为制造商和配置数据保留 26 个字节
- 37 位用于 read-only 锁定机制
- 4 个字节可用作功能容器
- 888 字节用户可编程read/write 内存
来自 Type 2 卡的规格 http://apps4android.org/nfc-specifications/NFCForum-TS-Type-2-Tag_1.1.pdf
The Capability Container Byte 2 indicates the memory size of the data area of the Type 2 Tag Platform. The value of byte 2 multiplied by 8 is equal to the data area size measured in bytes
请注意你的问题说乘以 8Bits
(1 字节)这是错误的,我确定这只是一个错字,你的意思是 8Bytes
所以一些 924 字节的标题实际上是为其他用途保留的,并且永远不会包含在 Capability Container 中列出的大小中,它留下 888 字节供用户使用内存。
数据表中的值应该是 6Dh
,即 109 * 8 = 872 字节。
我所有的 NTAG216 的值都是 6Dh
我不确定为什么这个值Capability Container值小于实际可用内存大小,可能是因为规范的措辞不清楚但它可能是NDEF消息的“可用数据区”并且可能不包括构成有效 NDEF 消息和记录的强制性 headers(TLV 等)。
所以 3Eh
的 NTAG215 示例值与数据表所说的完全一样,并且小于上面概述的总内存大小,因为一些内存页是为非 NDEF 数据保留的,等等
下一个问题是为什么您的 NTAG216 示例没有 6Dh
Type 2 卡的规格和 NTAG21x 卡的数据表说:-
The Capability Container CC (page 3) is programmed during the IC production according to the NFC Forum Type 2 Tag specification (see Ref. 2). These bytes may be bit-wise modified by a WRITE or COMPATIBILITY_WRITE command. The parameter bytes of the WRITE command and the current contents of the CC bytes are bit-wise OR’ed. The result is the new CC byte contents. This process is irreversible and once a bit is set to logic 1, it cannot be changed back to logic 0.
Capability Container的4个字节必须是可写的,因为只能以4个字节为单位进行写入,Capability Container的Byte 3表示Type的data area和CC area的读写访问能力2 标签平台,因此可以合法地更改为只读卡。
因此,对 Capability Container 的错误写入可能已将字节 2(大小值)的值增加到此特定卡上的无效值。
另一种可能性是周围有很多假的 NTAG21x 卡,可能这是一张假卡,实际上内存比真正的 NXP 卡多。
使用数据表中概述的 Originality signature
方法来验证它是正品,或者 NXP 的 Taginfo
智能手机应用程序也将验证它是正品。