ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:197.68KB ,
资源ID:7903611      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7903611.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(D甲RFID打卡器和射频卡.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

D甲RFID打卡器和射频卡.docx

1、D甲RFID打卡器和射频卡目 录摘要 31 系统方案及其比较论证1.1系统总体设计方案 41.2各模块方案论证比较与选择 51.2.1、调制方式选择 51.2.2、电源的设计 52 理论分析与计算 52.1 基准源设计 52.2 调制器设计 52.3 发射天线设计 62.4 接收天线设计 63 电路设计和程序设计 73.1电路设计 73.1.1MCU 与 RC500连接电路 73.1.2 串口通信设计 3.2程序设计 84 测试方案与测试结果4.1 测试方案及测试条件 84.2测试结果 8 4.2.1硬件测试结果 8 4.2.2上位机测试结果 95 总结与致谢 9参考文献 10附录:完整电路原

2、理图 11部分程序清单 12基于ST89C52单片机的RFID打卡器和射频卡设计摘要:本系统是基于RFID(Radio Frequency Identificati on )技术的简易的通信装置,通过无线射频进行非接触的低频双向数据通信。无源射频卡所需的工作能量是从读卡器发出的射频波束经空间高频交变磁场耦合而获取,再经整流、滤波、存储后来提供射频卡所需要的工作电压。读卡机由低电压、高性能的AT89S52和RC500组成,射频卡由线圈和主控芯片组成。当射频卡进入发射天线无功近场区时,以耦合方式获得能量;将编码等信息发送出去,接收天线接收到信号,经读卡器对接收的信号进行滤波放大后,由单片机控制16

3、02LED显示并通过max232与PC机进行通讯,而读卡器中使用MF RC500来对应答卡的信息进行处理,完全集成了在13.56MHz下所有类型的被动非接触通信方式和协议。关键词:RFID,AT89S52, MF RC500, ISO14443A标准,上位机1 、系统方案及其比较论证1.1系统总体设计方案总体设计方案可分为射频卡部分和读卡器两部分(如图1.1)。射频卡与读卡器之间通过无线电波来完成读写操作。二者之间的通讯频率为13.56MHZ。射频卡本身是无源卡,当读写器对卡进行读写操作时,读写器发出的信号由两部分叠加组成:一部分是电源信号,该信号由卡接收后,与本身的LC振荡器产生一个瞬间能量

4、来供给芯片工作;另一部分则是指令和数据信号,指挥芯片完成对数据的读取、修改、储存等,并返回信号给读写器,完成一次读写操作。读卡器中的基站向卡发送一组13.56MHz的电磁波,卡片内的LC串联谐振电路在电磁波的激励下产生共振从而使谐振电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到模块存储电容内存储,当所积累的电荷达到2V以上时,该电容作为电源向电源模块电路提供工作电压,将卡内的数据发射出去或者接收读写器的数据。 图1.1 总体方案 1.2.各模块方案论证比较与选择1.2.1、调制方式选择方案1:模拟调制方式模拟调制比较容易实现的是AM调制,传播距离长。但是效率低

5、,其对发射装置的功率要求比较高不易利用耦合能量。方案2: 数字调制方式数字方式的调制可以很好的克服或减小模拟调制的非线性带来的失真、衰落等, ASK最易实现。1.2.2、电源的设计方案1:射频卡中只有线圈来耦合能量。优点制作工艺简单,易于控制,但耦合电压难以达到理想的效果,电压传输效率低。方案2:在射频卡线圈上并联电容以构成并联谐振后提供负载所需要的能量。优点耦合电压的效果好,电压传输效率高,但依赖于耦合系数K,电压稳定度不高。方案3:射频卡线圈并联电容,负载电阻并联上一个和电压有关的分流电阻。输出电压稳定,抗干扰能力强,可调性高,理想的达到数据载体的工作电压。考虑到电压对耦合电压的要求很严格

6、,我们选择方案3。2 理论分析与计算2.1. 基准源设计 为了能给单片机和RC500 供电,我们采取了下面的电路来提供电源。(如图2.1) 图2.1 基准源电路22. 调制器设计 由于RC500内部集成了调节器,所以我们对这一部分没有太多的设计。2 .3. 发射天线设计读卡器的工作频率由一个1356 MHz的石英晶体产生,在产生驱动RC500以及驱动天线的能量载波的基频同时石英晶体也产生高次谐波由国际EMC规定可知,为了抑制住13.56 MHz中的三次、五次和高次谐波,设计电路时在射频模块发送端VI即TXl脚,TX2脚和地TVSS脚之间引入一个低通滤波器电路如图2.2。 图2.2 滤波电路本实

7、验主要采用射频芯片RC500所设计的读卡器中使用的天线.由于该芯片要求的天线阻抗为70Q,工作于l3.56MHz,因此在设计中,采用PCB环形天线,PCB环形天线是电小环天线的一种. 将电容C与天线线圈并联或者串联起来组成LC谐振电路,通过此谐振电路,读卡器可将能量传输至射频卡,并与卡进行通信谐振电路的谐振频率可调谐至阅读器的工作频率13.56 MHz,其值由汤姆逊公式得出: f=1/6.28我们得到了天线的设计(图2.3) 图 2.3 天线的设计2.4.接收天线设计RC500内部接受电路是利用射频卡的返回应答信号在副载波的双边带上都有调制这一概念来工作的根据RC500的芯片手册,由RC500

8、芯片内部所产生的VMID作为接收信号引脚RX的输入偏置.为了减少干扰,提供一个稳定的参考电压,在VMID和地TVSS之间连接了一个0.1心电容C同时在RX0和VMID引脚间连接了一个820Q的电阻尺,作为分压器HJ图2.4为接收电路的原理图图 2.4 接收电路 3电路设计和程序设计3.1电路设计3.1.1MCU 与 RC500连接电路3.1.2 串口通信设计为了更好的和计算机通信我们采用了通用的RS-232通讯,并制作了上位机。 图3.2 232通讯3.2. 程序设计框图4测试方案与测试结果4.1测试方案及测试条件;示波器 (DS1062C)、数字万用表 (VC97)、PC机 (2.84HZ

9、2G内存)、直尺及仿真器4.2测试结果:4.2.1 硬件测试结果要实现的功能测试的结果射频卡以及读卡器工作频率13.56MHz频谱仪测得频率为13.56MHz最大识别距离不小于5cm 5.8cm当射频卡接近到读卡器可识别距离时,读卡器识别到射频卡,并发出声音提示,同时将射频卡发出的信号捕捉到并输出;有声音提示,且在1602液晶上显示出了卡的信息读卡器RF信号功率不小于1W 1.5W4.2.2 上位机结果(发挥部分) 使用RS232接口将读卡器与电脑连接,通过上位机发送轮询指令来控制读卡器与射频卡之间的通信,当读卡器感应到有射频卡时,会向上位机不断的发出提示声音,同时,指示灯会闪烁,此时在询问框

10、中向读卡器发送相关命令,则所需信息会从信息反馈框中显示出来(测试如上图)。4.3测试结果分析 从测试结果可以看出,RC500在发射和接收信号方面的稳定性,我们测得的频率正好也就是RC500发出的频率。由于我们天线算法上的差距所以只能在5.8cm范围内接收到射频卡的信号。5 总结与致谢经过紧张这几天努力,以及与小组其他成员的共同协作,团结互助,终于完成了此次实验项目。在设计的过程中,我们遇到了各种各样的困难。尤其是给无源射频卡的供电电路设计,高频电路反映的敏感性使我们的电路设计和调试一度中断,而且由于自身硬件调试经验的匮乏,对新的芯片的认知程度较低,在读卡器与射频卡的焊接中,以及在后面的调试过程

11、中花费了较长的时间。经过此次电子大赛让我们对电路的设计、调试有了深刻的印象,加深了对RFID技术的理解,同时也深刻的体会到了共同协作和团队精神的重要性,提高了我们解决问题的能力,设计中还有欠缺的方面,今后的学习工作中会加以注意。最后感谢大赛组委会给我们这次机会!参考文献:1 童诗白 华成英、模拟电子技术基础 北京:高等教育出版社 2004年10月2周晓光 王晓华、射频识别(RFID)技术原理与应用实例 北京:人民邮电出版社 2006年12月3黄智伟、无线发射与接收电路设计 北京:北京航空航天大学出版社 2004年5月4W.Alan Davis Krishna K.AgarwalRadio Fr

12、equency Circuit Design 中译本 李福乐等译,机械工业出版社 附件电路原理图部分程序char M500PiccRead( unsigned char addr, unsigned char *_data) char idata status = MI_OK; FlushFIFO(); / empty FIFO M500PcdSetTmo(3); / long timeout WriteRawIO(RegChannelRedundancy,0x0F); / RxCRC, TxCRC, Parity enable / * Cmd Sequence * ResetInfo(MIn

13、fo); MSndBuffer0 = PICC_READ; / read command code MSndBuffer1 = addr; MInfo.nBytesToSend = 2; status = M500PcdCmd(PCD_TRANSCEIVE, MSndBuffer, MRcvBuffer, &MInfo); if (status != MI_OK) if (status != MI_NOTAGERR ) / no timeout occured if (MInfo.nBitsReceived = 4) / NACK MRcvBuffer0 &= 0x0f; / mask out

14、 upper nibble if (MRcvBuffer0 & 0x0a) = 0) status = MI_NOTAUTHERR; else status = MI_CODEERR; memcpy(_data,0000000000000000,16); / in case of an error initialise / data else / Response Processing if (MInfo.nBytesReceived != 16) status = MI_BYTECOUNTERR; memcpy(_data,0000000000000000,16); else memcpy(

15、_data,MRcvBuffer,16); M500PcdSetTmo(1); / short timeout return status;/ M I F A R E W R I T E/char M500PiccWrite( unsigned char addr, unsigned char *_data) char idata status = MI_OK; / * Cmd Sequence * ResetInfo(MInfo); MSndBuffer0 = PICC_WRITE; / Write command code MSndBuffer1 = addr; MInfo.nBytesT

16、oSend = 2; status = M500PcdCmd(PCD_TRANSCEIVE, MSndBuffer, MRcvBuffer, &MInfo); if (status != MI_NOTAGERR) / no timeout error if (MInfo.nBitsReceived != 4) / 4 bits are necessary status = MI_BITCOUNTERR; else / 4 bit received MRcvBuffer0 &= 0x0f; / mask out upper nibble if (MRcvBuffer0 & 0x0a) = 0)

17、status = MI_NOTAUTHERR; else if (MRcvBuffer0 = 0x0a) status = MI_OK; else status = MI_CODEERR; if ( status = MI_OK) M500PcdSetTmo(3); / long timeout ResetInfo(MInfo); memcpy(MSndBuffer,_data,16); MInfo.nBytesToSend = 16; status = M500PcdCmd(PCD_TRANSCEIVE, MSndBuffer, MRcvBuffer, &MInfo); if (status

18、 & 0x80) / timeout occured status = MI_NOTAGERR; else if (MInfo.nBitsReceived != 4) / 4 bits are necessary status = MI_BITCOUNTERR; else / 4 bit received MRcvBuffer0 &= 0x0f; / mask out upper nibble if (MRcvBuffer0 & 0x0a) = 0) status = MI_WRITEERR; else if (MRcvBuffer0 = 0x0a) status = MI_OK; else status = MI_CODEERR; M500PcdSetTmo(1); / short timeout return status;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1