广西科技大学(筹) 基于单片机的RFID读写器的软件设计
总结
在整个系统设计的过程中,通过对文献资料的查阅和相关技术手册的研读,我比较全面的掌握了RFID系统的基本原理和实现方法,特别是对于非接触式IC卡类型的RFID系统。
RFID技术近年来发展特别快,应用越来越广泛,让我们的世界变得更智能化,使我们的生活更方便快捷。在今后,射频识别技术一定会带来新的一轮换代潮流,让世界触手可及。为了适应现在日益丰富的需求,作为读卡设备,其性能需要不断改进,不断完善,使读卡设备更智能化、安全性高、隐私保密好的方向发展。本文设计的读写器是现实生活具体应用的一次尝试,主要做了以下工作:
对射频识别技术的原理、能量传输、数据传输、电子标签以及读写器的构造做了较全面的研究,分析了单片机在RFID读写器上的优势及可行性;完成了读写器的软件设计,包括对RC522的基本操作函数的编写、对非接触式IC卡常用的操作程序的编写。
经过对读写器系统的调试与实测试,本文设计的读写器能实现对Mifare 1 S50卡进行寻卡、防冲撞、认证、选卡、读写数据等各种操作,由于天线大小的限制,感应距离仅为50mm左右。在此读写器上进行了安全认证机制的设计以及测试,对于设计开发安全有效的射频识别系统提供可靠的平台。
在整个设计过程中,充分发挥了人的主观能动性,自主学习,学到了许多没学到的知识,达到了预期的目的,完成了最初的设想,较好地完成了毕业设计。在此次设计中,知道了做任何事要有一颗平常的心,不要想着走捷径,一步一脚印,同时也练就了我的耐心,做好事情都在于有耐心。我觉得在此次毕业设计中学到了很多很多东西,这是最重要的。没有最好,只有更好。我相信通过这一次的毕业设计之后,我以后会更加努力,用严谨的科学态度去面对一切。克服困难,战胜自我,超越自我。
22
广西科技大学(筹) 基于单片机的RFID读写器的软件设计
致谢
光阴似箭,岁月如梭,短暂而充实的四年大学生活即将接近尾声。本文是大学四年来最后一个学期的学习任务,伴随着时间的流逝,论文也到了敲定之际,在此,我想表达一下我的感激之情。
在论文完成之际,首先要感谢我的导师潘盛辉老师。本文从前期选题,到整个设计制作过程,到最后论文的完成,都是在导师的细心指导和严格要求下进行的。潘老师学识渊博、治学严谨、思维敏捷。他不仅在学习上给了我很多帮助和启发,而且让我学会做人做事以及做学问的态度和方法,将使我受益终身。再次,向导师表示衷心的感谢和深深地敬意!
同时,我要感谢我们学院给我授课的每一位老师,因为他们无私奉献,在课堂上尽情地挥散汗水,让我学到了很多专业知识,并从老师们身上学到了宽容、耐心、为人处事的原则等等。我也非常感谢我的母校广西工学院,是她在我求学的路上提供了好的学习环境和生活环境,让我的大学生活充满乐趣,充满活力,为我的人生历程中写下精彩的一笔。
衷心感谢测控082班的同学们,我们一起学习,一起探讨,共同进步,平时生活中,大家对毕业设计的讨论给了我很多启示,我在此表示深深的谢意。同时,由于本人的时间和知识的有限,本设计或许没那么的严谨,且论文中还可能有许多纰漏或错误的地方,恳请各位老师和同学批评指正。
23
广西科技大学(筹) 基于单片机的RFID读写器的软件设计
参考文献
[1]赵军辉,射频识别技术与应用,机械工业出版社,2008年5月
[2]周晓光,王晓华,射频识别(RFID)技术原理与应用实例。人民邮电出版社,2006年5月 [3]康东.李勇鹏 射频识别(RFID)核心技术与典型应用开发实例 2008
[4]严光文,张其善;射频识别卡读写模块的设计;北京航空航天大学学报;2003年02期 [5] 游战清 ,李苏建 无线射频识别技术(RFID)理论与应用.北京:电子工业出版社。2004. [6] 李朝清.单片机原理及接口技术. 北京航空航天大学出版社.1994 [7] STC11/10xx系列单片机器件手册 2010
[8]慈新新,王苏滨,王硕。无线射频识别(RFID)系统技术与应用。北京:人民邮电出版社,2007.7 [9]郎为民 射频识别
[10]贺利芳,范俊波。 非接触式IC卡技术及其发展和应用. 通信与信息技术,2003,(7):23-24 [11] 王爱英.智能卡技术.北京:清华大学出版社,2000 [12]杨振野,IC卡技术及其应用[M].北京:科学出版社,2006
[13]沈红卫.基于单片机的智能系统与实现.北京:电子工业出版社,2005 [14]谭民.刘禹.RFID技术系统工程及应用指南.北京:机械工业出版社 [15]王宜怀著.单片机原理及其嵌入式应用教程.北京希望电子出版社.2002 [16][英]Mike Hendry著.智能卡安全与应用[M].人民邮电出版社,2002 [17]MF_RC522中文资料. http://www.zlgmcu.com. [18]中国无线射频识别RFID世界.国内外RFID发展之现况
[19]申秀兰.选择RFID读写器的正确策略.RFID射频识别快报,2005(7)
[20]李晓东.射频识别技术中的隐私安全问题及策略.微电子学与计算机,2005(9)
[21]蒋皓石,张成,林嘉宇.无线射频识别技术及其应用和发展趋势.电子技术应用,2005(8) [22]NXP Inc. MFRC522 Contactless Reader IC product data sheet (Rev.3.2) [EB/OL]. 2007. http://www.nxp.com.
[23] ISO/IEC 14443-1,Identification cards-Contactless integrated circuit(s) cards-Proximity card-Part 1:Physical characteristics[S].
[24] ISO/IEC 14443-2,Identification cards-Contactless integrated circuit(s) cards-Proximity card-Part 2:Radio frequency power and signal interface[S]. [25] ISO/IEC 14443-3,Identification cards-Contactless integrated circuit(s) card-Proximity card-Part 3:Initialisation and anticollision[S].
24
广西科技大学(筹) 基于单片机的RFID读写器的软件设计
附录
RC522驱动程序
#include \
void ClearBitMask(unsigned char data reg,unsigned char data mask); void WriteRawRC(unsigned char data Address, unsigned char data value); void SetBitMask(unsigned char data reg,unsigned char data mask); char PcdComMF522(unsigned char data Command, unsigned char *pInData,
unsigned char data InLenByte, unsigned char *pOutData, unsigned int *pOutLenBit);
void CalulateCRC(unsigned char *pIndata,unsigned char data len,unsigned char *pOutData); unsigned char ReadRawRC(unsigned char data Address); void PcdAntennaOn(void);
void delay_ns(unsigned int data ns) {
unsigned int data i; for(i=0;i nop(); nop(); nop(); } } unsigned char SPIReadByte(void) { unsigned char data SPICount; // Counter used to clock out the data unsigned char data SPIData; SPIData = 0; for (SPICount = 0; SPICount < 8; SPICount++) // Prepare to clock in the data to be read { SPIData <<=1; // Rotate the data CLR_SPI_CK; nop();nop(); // Raise the clock to clock the data out of the MAX7456 25 广西科技大学(筹) 基于单片机的RFID读写器的软件设计 if(STU_SPI_MISO) { SPIData|=0x01; } SET_SPI_CK; nop();nop(); // Drop the clock ready for the next bit } // and loop back return (SPIData); // Finally return the read data } void SPIWriteByte(unsigned char data SPIData) { unsigned char data SPICount; // Counter used to clock out the data for (SPICount = 0; SPICount < 8; SPICount++) { if (SPIData & 0x80) { SET_SPI_MOSI; } else { CLR_SPI_MOSI; } nop();nop(); CLR_SPI_CK;nop();nop(); SET_SPI_CK;nop();nop(); SPIData <<= 1; } } ///////////////////////////////////////////////////////////////////// //功 能:寻卡 //参数说明: req_code[IN]:寻卡方式 // 0x52 = 寻感应区内所有符合14443A标准的卡 // 0x26 = 寻未进入休眠状态的卡 // pTagType[OUT]:卡片类型代码 // 0x4400 = Mifare_UltraLight // 0x0400 = Mifare_One(S50) // 0x0200 = Mifare_One(S70) // 0x0800 = Mifare_Pro(X) // 0x4403 = Mifare_DESFire //返 回: 成功返回MI_OK ///////////////////////////////////////////////////////////////////// 26 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库RDID射频识别读写器 - 图文(7)在线全文阅读。
相关推荐: