NFC标签卡芯片NTAG21x内部详情

一、芯片内部结构总览

这里描述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 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 静态锁(操作用户数据只读)”。

 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 校验密码命令的响应内容

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值