实验四
一:实验目的:
通过本实验掌握ISO15693 标签的存储器结构,并熟练使用标签存储空间的读写命令。理解
AFI、DSFID等相关概念。 二、实验设备 TI TRF7960读卡器一个、usb 连接线一条、电脑一台、HF RFID实验 上位机软件、ISO15693 标签若干张
三、实验原理及准备
ISO15693的EEPROM存储空间
一般ISO15693的存储器结构如下图所示。2K bits位EEPROM共分为64块,每块4 字
节共32位,另外2位(寻址时每位视作一个字节)用于写保护。以字节作为最小读写单位。
字节地址最高位(A[9])用于区分数据区(A[9]=0)和锁存区(A[9]=1),块写(锁)或
双块写(锁)时,多余的低位地址被忽略(即只比较地址高位)
四、实验过程及分析
1、先询卡,设置协议,执行
2、读单个数据块[Read single block(0x20)] ,当标签收到Read single block命令,芯片读取
指定的块,并在响应中返回数据。 操作如下:
(a)选择读单块命令 (b) 选择标签
(c)填入块号(注意:填入数字必需是两位十六进制数,例如00/01....) (d)执行
读单块数据请求命令:010B000304180020000000
卡片返回:[0011111111]
3、 写单个数据块[Write single block(0x21)],标签收到Write single block命令,芯片在指定
的块中写入命令中包含的数据,并在响应中报告操作是否成功。 (a)选择写单块命令
(b)在下拉菜单中选择标签,如果只有一个标签不需要选择 (c)在块号里填入两位十六进制数 (d)在数据框里填入8位十六进制数 (e)执行
写单块数据请求命令:010F00030418002101111111110000
标签写成功返回 [00]
4、读多块数据[Read multiple block(0x23)],收到 Read multiple block 命令后,芯片读取指定
的(多)块,并在响应中返回数据。 操作:
( a)选择读多块命令
( b)在 UID 下拉框里选择标签,如果只有一个标签默认选择 ( c)在起始块里填入两位十六进制数
( d)在块数中填入两位十六进制数 ( e)选择执行命令
读多块数据请求命令: 010C00030418002300010000 标签读成功返回数据 [001111111111111111] 5、 写多个数据块 操作:
( a)选择命令写多个数据块
( b)在 UID 下拉框里选择标签,如果只有一张标签默认选择 ( c)在起始块里输入两位十六进制数 ( d)在块号里输入两位十六进制数
( e)在数据框里输入十六进制数(数据长度: (块数+1) *8) ( f)选择执行命令
写多块数据请求命令:
010F00030418002102222222220000 010F00030418002101022222220000 标签写数据成功返回数据: [00]
6、写 AFI 命令 AFI[Write AFI(0x27)] 收到 Write AFI 命令后,芯片会把 AFI 的数据写入它的存储区中。如果在命令中指定该选
项,芯片将等待 VCD 发出一个 100%调制的 EOF 信号,然后返回响应。如果不做指定,
芯片立即返回 Error_code“ 0x03” 。 操作:
( a)选择写 AFI 命令
( b)在 UID 下拉框中选择标签,如果只有一个标签默认选择 ( c)在 AFI 中输入两位十六进制数 ( d)选择执行命令
写 AFI 命令数据请求命令: 010B000304184227050000