实
验
报
告
【2016-2017学年第2学期】
【基本信息】【开课部门】【实验课程】【设课形式】【实验项目】【项目类型】【学生姓名】【专业】青软实训嵌入式系统独立□
RFID卡读写实验基础综合□设计□研究创新□其它□
非独立
【项目学时】【学【班号】级】
【同组学生】【实验室名】【实验日期】2018315【教师对报告的最终评价及处理意见】
第
页(共
页)
f成绩(百分制):教师:【实验报告】
(涂改无效)年月日
第
页(共
页)
f实验目的:能够对射频卡进行读写操作实验步骤:1先来复习一下RFID卡的操作过程,如图51所示。主要分为5个步骤:寻卡防冲突检测选卡密码验证
其中寻卡、防冲突检测可以参考实验4。本实验讲解选卡、密码验证和读写操作。
图51
RFID操作流程
2
选卡。选卡操作函数实现如下所示
charPcdSelectu
sig
edcharpS
rcharstatusu
sig
edchariu
sig
edi
tu
Le
u
sig
edcharucComMF522BufMAXRLEN第页(共页)
fucComMF522Buf0PICC_ANTICOLL1ucComMF522Buf10x70ucComMF522Buf60fori0i4iucComMF522Bufi2pS
riucComMF522Buf6pS
riCalulateCRCucComMF522Buf7ucComMF522Buf7ClearBitMaskStatus2Reg0x08statusPcdComMF522PCD_TRANSCEIVEucComMF522Buf9ucComMF522Bufu
Le
ifstatusMI_OKu
Le
0x18statusMI_OKelsestatusMI_ERRretur
status整个选择环节的过程为:步骤1:PCD为选择的防冲突类型和串联级别分配了带有编码的SEL。步骤2:PCD分配了带有值为‘20’的NVB。步骤3:PCD发送SEL和NVB。步骤4:工作场内的所有PICC应使用它们的完整的UIDCL
响应。步骤5:假设场内的PICC拥有唯一序列号,那么,如果一个以上的PICC响应,则冲突发生。如果没有冲突发生,则步骤6到步骤10可被跳过。步骤6:PCD应识别出第一个冲突的位置。步骤7:PCD分配了带有值的NVB,该值规定了UIDCL
有效比特数。这些有效位应是PCD所决定的冲突发生之前被接收到的UIDCL
的一部分再加上0b或1b。典型的实现是增加1b。步骤8:PCD发送SEL和NVB,后随有效位本身。步骤9:只有PICC的UIDCL
中的一部分等于PCD所发送的有效位时,PICC才应发送其UIDCL
的其余部分。步骤10:如果出现进一步的冲突,则重复步骤69。最大的环数目是32。步骤11:如果不出现进一步的冲突,则PCD分配带有值为‘70’的NVB。步骤12:PCD发送SEL和NVB,后随UIDCL
的所有40个位,后面又紧跟CRC_A校验和。第页(共页)
f步骤13:它的UIDCL
与40个比特匹配,则该PICCr