NFC标签卡芯片NTAG21x内部详情

NFC标签卡芯片NTAG21x内部详情本文详细介绍了 NTAG213 215 216 芯片的内部结构 包括产品序列号 UID 卡片容量信息 静态锁机制 用户数据区以及功能配置页

大家好,欢迎来到IT知识分享网。

一、芯片内部结构总览

这里描述NTAG213/215/216只是容量不同,其它功能一样。每个page地址4 bytes。

NFC标签卡芯片NTAG21x内部详情

二、以NTAG213为例概述

NFC标签卡芯片NTAG21x内部详情

2.1 产品序列号UID

产品序列号UID(serial number)有7 bytes。上图中有9 bytes的serial number,其中有2 bytes是check byte。

地址0h(page 0SN0 SN1 SN2 CB0
地址1h(page 1SN3 SN4 SN5 SN6  

地址2h(page 2: CB1 RSV L0  L1

其中CB0为CT SN0 SN1 SN2的校验,CB0为SN3 SN4 SN5 SN6的校验;RSV为内部预留字节;L0和L1为用户数据区page4h-Fh 的静态锁,用来设置这些用户数据区内容只读操作,详情见“2.3 静态锁(操作用户数据只读)”。

NFC标签卡芯片NTAG21x内部详情

 2.2 卡片容量信息

地址3(page 3)存了卡容量信息,在生产时固化,符合 NFC Forum Type 2 Tag 规范。其中 byte2 表示芯片型号和容量:

NFC标签卡芯片NTAG21x内部详情

 这 4 个字节都是 OTP 的,且按位进行或操作,用户可以改写。只能把某位置 1,不能置0。出厂时都有预置的值,不是全为0x00。注意不要随便改写,否则无法识别,需要写保护,在静态锁里说明block byte 0的第3位)

2.3 静态锁(操作用户数据只读)

地址2h(page 2: CB1 RSV L0 L1

L0 L1该部分lock byte可以把一些用户数据page设置成只读,默认值为00 00注意:锁定只读后是不可逆的,就是不可修改回可写模式,注意使用

其中L0和L1为用户数据区page4-15 的静态锁,用来设置这些用户数据区内容只读操作。

       L0的第0位和第3为用来设置地址3h(page 3容量信息内容为只读

NFC标签卡芯片NTAG21x内部详情

 L是locking,负责单个 page 的锁定状态,位置1后,对应的page为只读,且是不可逆的

BL是block-locking,锁定多个page,位置1后,对应的 page 为只读,且是不可逆的

这两个lock byte的写操作是 tearing-proof 的。tearing现象,卡离开读卡器时,供电突然消失。对 Flash 的写操作会中断,造成 data-tearing现象。tearing-proof就是会保证对卡内的这两个字节的写操作是独立完整的

地址10h: L2 L3 L4 RSV

L2 L3 L4为dynamic lock bytes,默认值00 00 00h,RSV为保留字节,控制序号用户数据区page10h-27h 的只读。

NFC标签卡芯片NTAG21x内部详情

 2.4 用户数据区

page 4h-27h 这一片连续的 page 可供用户使用。出厂时, 有些page会有预置的值。

NFC标签卡芯片NTAG21x内部详情

2.5 功能配置页其中RFUI为预留字节,不用关心

最后4个page用于一些功能的配置。(本人未涉及使用,无法详讲,只给出对应的功能解释

NFC标签卡芯片NTAG21x内部详情

2.5.1 page 41h

MIRROR:功能可以把卡的 UID 和 NFC Counter 以 ASCII 的格式映射到某个 page 开始的区域。

NFC标签卡芯片NTAG21x内部详情

MIRROR_CONF:

  – 00: 禁止 MIRROR 功能

  – 01: 映射 UID

  – 10: 映射 NFC Counter

  – 11: 映射 UID 和 NFC Counter

MIRROR_BYTE:指定从 page 内的第几个 byte 开始

STRG_MOD_EN:调制模式是否开启

MIRROR_PAGE:指定映射到哪个 page

AUTH0:表示需要密码校验访问的起始页。初始值为 FF。比如,AUTH0 为 5,则表示从 page5 开始的页访问都需要校验密码。

2.5.2 page 42h

ACCESS:

NFC标签卡芯片NTAG21x内部详情

 PROT:

  – 0:写保护(不允许写)

  – 1:读保护+写保护(不允许读和写)

CFGLCK:控制 CFG0, CFG1 这两页是否可写

  – 0:配置区可写

  – 1:配置区不可写(PWD 和 PACK 除外)

NFC_CNT_EN:开启此功能之后,每次卡 power on reset 之后的第一次读操作,24 bits 的计数器会自增。计数器增至 FF FF FF 之后就不再变化。 这个数字足够大了。这个计数器就给了每张卡一个独立变化的变量。

  – 0: 禁止 NFC 计数器功能

  – 1: 开启 NFC 计数器功能

NFC_CNT_PWD_PROT:

  – 0: 读 NFC Counter 不需要验证

  – 1: 读 NFC Counter 之前需要密码校验通过

AUTHLIM:密码尝试次数。当密码连续错误超过这个值时,就再也无法校验成功了。

而在到达这个次数之前如果校验对了密码,则它的计数会清零

2.5.3 page 43h

  PWD为密码

2.5.4 page 44h

PACK 校验密码命令的响应内容

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/148513.html

(0)
上一篇 2025-03-30 16:45
下一篇 2025-03-30 17:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信