大家好,欢迎来到IT知识分享网。
一、芯片内部结构总览
这里描述NTAG213/215/216只是容量不同,其它功能一样。每个page地址4 bytes。
二、以NTAG213为例概述
2.1 产品序列号UID
产品序列号UID(serial number)有7 bytes。上图中有9 bytes的serial number,其中有2 bytes是check byte。
地址0h(page 0): SN0 SN1 SN2 CB0
地址1h(page 1): SN3 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 静态锁(操作用户数据只读)”。
2.2 卡片容量信息
地址3(page 3)存了卡容量信息,在生产时固化,符合 NFC Forum Type 2 Tag 规范。其中 byte2 表示芯片型号和容量:
这 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)容量信息内容为只读。
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 的只读。
2.4 用户数据区
page 4h-27h 这一片连续的 page 可供用户使用。出厂时, 有些page会有预置的值。
2.5 功能配置页(其中RFUI为预留字节,不用关心)
最后4个page用于一些功能的配置。(本人未涉及使用,无法详讲,只给出对应的功能解释)
2.5.1 page 41h
MIRROR:功能可以把卡的 UID 和 NFC Counter 以 ASCII 的格式映射到某个 page 开始的区域。
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:
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