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