1.概述
UltraLight卡是一种512位非接触式IC卡。
2.电气特性
容量为512位,分为16块,每块4个字节
每页可编程锁定只读功能
32位用户可定义的一次性编程区域
384位用户读、写区域
数据可保留2年,可循环改写1000次
唯一的7字节序列号
工作频率:13.56MHZ
通信速率:106KB波特率
防 冲 突:同一时间可处理多张卡
读写距离:在100mm以内(与天线有关)
卡内无需电源
3.存储结构
UltraLight卡共512位,分为16块,每块为4个字节。存储结构如下:
块号 |
字节0 |
字节1 |
字节2 |
字节3 |
说明 |
0 |
SN0 |
SN1 |
SN2 |
BCC0 |
Serial Number |
1 |
SN3 |
SN4 |
SN5 |
SN6 |
Serial Number |
2 |
BCC1 |
保留 |
Lock0 |
Lock1 |
保留/Lock |
3 |
OTP0 |
OTP1 |
OTP2 |
OTP3 |
OTP |
4 |
Data0 |
Data1 |
Data2 |
Data3 |
Data read/write |
5 |
Data4 |
Data5 |
Data6 |
Data7 |
Data read/write |
6 |
Data8 |
Data9 |
Data10 |
Data11 |
Data read/write |
7 |
Data12 |
Data13 |
Data14 |
Data15 |
Data read/write |
8 |
Data16 |
Data17 |
Data18 |
Data19 |
Data read/write |
9 |
Data20 |
Data21 |
Data22 |
Data23 |
Data read/write |
10 |
Data24 |
Data25 |
Data26 |
Data27 |
Data read/write |
11 |
Data28 |
Data29 |
Data30 |
Data31 |
Data read/write |
12 |
Data32 |
Data33 |
Data34 |
Data35 |
Data read/write |
13 |
Data36 |
Data37 |
Data38 |
Data39 |
Data read/write |
14 |
Data40 |
Data41 |
Data42 |
Data43 |
Data read/write |
15 |
Data44 |
Data45 |
Data46 |
Data47 |
Data read/write |
(1) 第0、1块存放着卡的序列号等信息,只可读。依据ISO/IEC14443-3 校验位计算如下:
BCC0=CT?SN0?SN1?SN2
BCC1=SN3?SN4?SN5?SN6
(2) 第2块为LOCK BYTES, 设置字节2和字节3对应的位可以将从第3块到15块单独地锁定为只读区域。
Lock0
L 7 |
L 6 |
L 5 |
L 4 |
L OTP |
BL 15-10 |
BL 9-4 |
BL OTP |
Lock1
L 15 |
L 14 |
L 13 |
L 12 |
L 11 |
L 10 |
L 9 |
L 8 |
Lx 锁定X块为只读
BLX 锁定对应的Lx位
注意:一旦block-locking(BLX)位被设置为锁定配置,对应的内存区域将被冻结。如:BL15-10 设置为1,则L15到L10再也不能改变。
Lock0和Lock1可以通过写命令来设置,写入的内容与当前内容进行位或操作得到新的内容,初始值为0。该过程是不可逆转的。如果有一个位被置为1,就再也不能置为0。
(3) 第3页为OTP,即一次性编程,初始值为0。可以通过写命令来改变它的值,写入的值和当前值进行位或操作得到新的值。这个过程是不可逆转的。如果一个位被置为1,将再也不能置回0。
注意:该内存区域可以用作最大值为32的一次性计数器。
(4) 第4到15块为用户读/写区域,初始值为0。
下面我们来规划例子程序的MifareUltraLight标签存储。
本例子程序是把MifareUltraLight标签用来存储商品信息,为了简单起见,只包括商品名称,商品单价,销售状态。商品名称设计最长为16个中文字,商品单价设计为整数部分4位,小数部分4位。
销售状态有未售状态和已售状态,初始为未销售,初始值为”0000”,用”1111”来表示已售状态,如果未售状态读商品标签,读成功后,就把已售状态标记”1111”写进标签里。
商品名称前8个汉字存储在标签的块4至块7里。(表2黄色部分)
商品名称后8个汉字存储在标签的块8至块11里。(表2鲜绿色部分)
商品单价整数部分存储在标签的块12里。(表2红色部分)
商品单价小数部分存储在标签的块13里。(表2粉红色部分)
商品销售状态存储在块14里。(表2灰色部分)
块号 |
字节0 |
字节1 |
字节2 |
字节3 |
说明 |
0 |
SN0 |
SN1 |
SN2 |
BCC0 |
Serial Number |
1 |
SN3 |
SN4 |
SN5 |
SN6 |
Serial Number |
2 |
BCC1 |
保留 |
Lock0 |
Lock1 |
保留/Lock |
3 |
OTP0 |
OTP1 |
OTP2 |
OTP3 |
OTP |
4 |
Data0 |
Data1 |
Data2 |
Data3 |
Data read/write |
5 |
Data4 |
Data5 |
Data6 |
Data7 |
Data read/write |
6 |
Data8 |
Data9 |
Data10 |
Data11 |
Data read/write |
7 |
Data12 |
Data13 |
Data14 |
Data15 |
Data read/write |
8 |
Data16 |
Data17 |
Data18 |
Data19 |
Data read/write |
9 |
Data20 |
Data21 |
Data22 |
Data23 |
Data read/write |
10 |
Data24 |
Data25 |
Data26 |
Data27 |
Data read/write |
11 |
Data28 |
Data29 |
Data30 |
Data31 |
Data read/write |
12 |
Data32 |
Data33 |
Data34 |
Data35 |
Data read/write |
13 |
Data36 |
Data37 |
Data38 |
Data39 |
Data read/write |
14 |
Data40 |
Data41 |
Data42 |
Data43 |
Data read/write |
15 |
Data44 |
Data45 |
Data46 |
Data47 |
Data read/write |
表2