物联网技术仿真实验实训台
实验手册(RFID)
例如:AC-A的初始值为ff,即‘11111111’,即: Data1:可读、可写; Value:可写; AC-A:可写; Data2:可读、可写;
6. 一次写一页(4个字节),一次读两页(8个字节)。
2.2 实训1 MIFARE 1卡读写测试实训
2.2.1 实训目的
熟悉HF RFID硬件,了解HF RFID读卡模块与PC串口的通讯过程,掌握IC卡调试软件的使用,为自行开发各种应用程序实例做准备。
2.2.2 实训设备
1. PC机和IC卡调试软件;
2. HF RFID读卡模块,通过串口连接到PC机; 3. MIFARE 1卡一张;
2.2.3 实训内容
了解MIFARE 1卡的功能和使用方法、掌握HF RFID读卡模块的读卡过程、掌握IC卡调试软件的使用,掌握M1卡的访问控制和加密机制。
2.2.4 实训原理
上位机软件“IC卡调试软件”通过串口与HF RFID读卡模块相连接并进行通讯,上位机通过发送特定的指令来实现M1卡的读写操作。
1. M1卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,(我们
也将16个扇区的64个块按绝对地址编号为0~63,存贮结构如下图所示:
第14页
物联网技术仿真实验实训台 实验手册(RFID) 块0 扇区0 块1 块2 块3 块0 扇区1 块1 块2 块3 密码A 存取控制 密码B 密码A 存取控制 密码B ∶ ∶ ∶ 数据块 数据块 数据块 控制块 数据块 数据块 数据块 控制块 0 1 2 3 4 5 6 7 0 1 扇区15 2 数据块 数据块 数据块 60 61 62 密码A 存取控制 密码B 控制块 3 63 2. 第0扇区的块0(即绝对地址0块),它用于存放厂商代码,已经固化,不可更改。
3. 每个扇区的块0、块1、块2为数据块,可用于存贮数据。 数据块可作两种应用:
? 用作一般的数据保存,可以进行读、写操作。
? 用作数据值,可以进行初始化值、加值、减值、读值操作。
4. 每个扇区的块3为控制块,包括了密码A、存取控制、密码B。具体结构如下:
A0 A1 A2 A3 A4 A5 FF 07 80 69 B0 B1 B2 B3 B4 B5 密码A(6字节) 存取控制(4字节) 密码B(6字节)
5. 每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存
取控制。存取控制为4个字节,共32位,扇区中的每个块(包括数据块和控制块)的存取条件是由密码和存取控制共同决定的,在存取控制中每个块都有相应的三个控制位,定义如下: 块0: C10 C20 C30 块1: C11 C21 C31 块2: C12 C22 C32 块3: C13 C23 C33
三个控制位以正和反两种形式存在于存取控制字节中,决定了该块的访问权限
第15页
物联网技术仿真实验实训台
实验手册(RFID)
(如进行减值操作必须验证KEY A,进行加值操作必须验证KEY B,等等)。三个控制位在存取控制字节中的位置,以块0为例,对块0的控制: bit 7 6 5 4 3 2 1 0 字节6 字节7 字节8 字节9
C20_b C10_b C30_b C10 C30 C20 ( 注: C10_b表示C10取反 )
存取控制(4字节,其中字节9为备用字节)结构如下所示: bit 7 6 5 4 3 2 1 0 字节6 字节7 字节8 字节9
C23_b C13 C22_b C21_b C20_b C13_b C33_b C12_b C32_b C11_b C31_b C10_b C30_b C12 C32 C11 C31 C10 C30 C33 C23 C22 C21 C20 ( 注: _b表示取反 )
6. 数据块(块0、块1、块2)的存取控制如下:
控制位(X=0.1.2) C1X C2X C3X 访 问 条 件 (对数据块 0、1、2) Read Write Increment Decrement, transfer,Restore 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 KeyA|B KeyA|B KeyA|B KeyA|B Never KeyA|B KeyB KeyA|B KeyB KeyA|B Never KeyB KeyB Never KeyB Never Never Never Never KeyB Never Never Never Never KeyA|B Never Never KeyA|B KeyA|B Never Never Never (KeyA|B 表示密码A或密码B,Never表示任何条件下不能实现)
例如:当块0的存取控制位C10 C20 C30=1 0 0时,验证密码A或密码B正确后可读;验证密码B正确后可写;不能进行加值、减值操作。
7. 控制块块3的存取控制与数据块(块0、1、2)不同,它的存取控制如下: C13 0 C23 0 C33 0 密码A Read Never Write 存取控制 Read Write 密码B Read Write KeyA|B KeyA|B KeyA|B KeyA|B Never 第16页
物联网技术仿真实验实训台 实验手册(RFID) 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 0 1 1 1 1 Never Never Never Never Never Never Never Never KeyB Never KeyB Never Never KeyA|B Never KeyA|B Never KeyA|B Never KeyA|B KeyB KeyA|B KeyB KeyA|B Never KeyA|B Never Never Never Never Never Never KeyB Never KeyB Never Never KeyA|B KeyA|B KeyA|B KeyA|B KeyA|B 例如:当块3的存取控制位C13 C23 C33=1 0 0时,表示:
密码A:不可读,验证KEYA或KEYB正确后,可写(更改)。 存取控制:验证KEYA或KEYB正确后,可读、可写。 密码B:验证KEYA或KEYB正确后,可读、可写。
2.2.5 实训步骤
1 连接操作
1.1 把串口延长线DB9母头接到PC 机的串口上;
1.2 把串口延长线DB9公头接到读写器的串口DB9母座,使读写器和PC 机的串口
良好连接。
1.3 通过两根杜邦线连接电源到串口连接区的VCC和GND。
1.4 打开读写器上的电源开关,读写器上电以后可以听到一声风鸣器的响声,如果
没有听到风鸣器声,表明读写器没有正常上电。 1.5 打开IC卡调试软件工具,设置串口参数:
1.6 串口号:选择连接的串口,PC机自带的串口号一般是COM1,如果使用的是USB
转串口线,则需要在硬件管理器中查找当前使用的是哪个串口。 ? 波特率:9600 ? 校验位:None ? 数据位:8 ? 停止位:1 如下图所示:
第17页
物联网技术仿真实验实训台
实验手册(RFID)
1.7 点击“测试读卡器”,如果串口良好连接的话可以听到一声风鸣器的响声,软
件将显示“读卡器连结成功”,说明串口参数设置正确。如果并没有听到风鸣器声表明串口通讯没有连接好,或者参数设置有错误,请检查串口连接线是否连接正确和串口参数设置。
2 M1卡片读写测试
2.1
把M1卡放置在IC卡刷卡区,进入功能选项“低级操作”里面点击“寻卡”,如果出现“寻卡成功!”表明寻卡正常,如果出现“执行失败!”表明出现异常,请检查卡片是否在寻卡范围内,如果确认卡片没有问题,那读写器有异常。 2.2
点击“防冲突”,如果出现“防冲突成功”表明防冲突正常,如果出现“防冲突失败”表明读写器出现异常或者卡片没有在天线区域范围内。
2.3
点击“选择”,如果出现“选择成功”表明选择正常,如果出现“选择失败” 表
第18页