D甲RFID打卡器和射频卡.docx
- 文档编号:7903611
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:14
- 大小:197.68KB
D甲RFID打卡器和射频卡.docx
《D甲RFID打卡器和射频卡.docx》由会员分享,可在线阅读,更多相关《D甲RFID打卡器和射频卡.docx(14页珍藏版)》请在冰豆网上搜索。
D甲RFID打卡器和射频卡
目录
摘要……………………………………………………………………3
1系统方案及其比较论证
1.1系统总体设计方案……………………………………………………4
1.2各模块方案论证比较与选择………………………………………5
1.2.1、调制方式选择………………………………………………5
1.2.2、电源的设计…………………………………………………5
2理论分析与计算………………………………………………………5
2.1基准源设计…………………………………………………5
2.2调制器设计………………………………………………………5
2.3发射天线设计…………………………………………………6
2.4接收天线设计……………………………………………………6
3电路设计和程序设计…………………………………………………7
3.1电路设计…………………………………………………………7
3.1.1.MCU与RC500连接电路…………………………………7
3.1.2串口通信设计………………………………
3.2程序设计…………………………………………………………8
4测试方案与测试结果
4.1测试方案及测试条件……………………………………………8
4.2测试结果………………………………………………8
4.2.1硬件测试结果……………………………………………8
4.2.2上位机测试结果…………………………………………9
5总结与致谢…………………………………………………………9
参考文献…………………………………………………………10
附录:
完整电路原理图……………………………………………………11
部分程序清单………………………………………………………12
基于ST89C52单片机的RFID打卡器和射频卡设计
摘要:
本系统是基于RFID(RadioFrequencyIdentification)技术的简易的通信装置,通过无线射频进行非接触的低频双向数据通信。
无源射频卡所需的工作能量是从读卡器发出的射频波束经空间高频交变磁场耦合而获取,再经整流、滤波、存储后来提供射频卡所需要的工作电压。
读卡机由低电压、高性能的AT89S52和RC500组成,射频卡由线圈和主控芯片组成。
当射频卡进入发射天线无功近场区时,以耦合方式获得能量;将编码等信息发送出去,接收天线接收到信号,经读卡器对接收的信号进行滤波放大后,由单片机控制1602LED显示并通过max232与PC机进行通讯,而读卡器中使用MFRC500来对应答卡的信息进行处理,完全集成了在13.56MHz下所有类型的被动非接触通信方式和协议。
关键词:
RFID,AT89S52,MFRC500,ISO14443A标准,上位机
1、系统方案及其比较论证
1.1.系统总体设计方案
总体设计方案可分为射频卡部分和读卡器两部分(如图1.1)。
射频卡与读卡器之间通过无线电波来完成读写操作。
二者之间的通讯频率为13.56MHZ。
射频卡本身是无源卡,当读写器对卡进行读写操作时,读写器发出的信号由两部分叠加组成:
一部分是电源信号,该信号由卡接收后,与本身的LC振荡器产生一个瞬间能量来供给芯片工作;另一部分则是指令和数据信号,指挥芯片完成对数据的读取、修改、储存等,并返回信号给读写器,完成一次读写操作。
读卡器中的基站向卡发送一组13.56MHz的电磁波,卡片内的LC串联谐振电路在电磁波的激励下产生共振从而使谐振电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到模块存储电容内存储,当所积累的电荷达到2V以上时,该电容作为电源向电源模块电路提供工作电压,将卡内的数据发射出去或者接收读写器的数据。
图1.1总体方案
1.2.各模块方案论证比较与选择
1.2.1、调制方式选择
方案1:
模拟调制方式
模拟调制比较容易实现的是AM调制,传播距离长。
但是效率低,其对发射装置的功率要求比较高不易利用耦合能量。
方案2:
数字调制方式
数字方式的调制可以很好的克服或减小模拟调制的非线性带来的失真、衰落等,ASK最易实现。
1.2.2、电源的设计
方案1:
射频卡中只有线圈来耦合能量。
优点制作工艺简单,易于控制,但耦合电压难以达到理想的效果,电压传输效率低。
方案2:
在射频卡线圈上并联电容以构成并联谐振后提供负载所需要的能量。
优点耦合电压的效果好,电压传输效率高,但依赖于耦合系数K,电压稳定度不高。
方案3:
射频卡线圈并联电容,负载电阻并联上一个和电压有关的分流电阻。
输出电压稳定,抗干扰能力强,可调性高,理想的达到数据载体的工作电压。
考虑到电压对耦合电压的要求很严格,我们选择方案3。
2理论分析与计算
2.1.基准源设计
为了能给单片机和RC500供电,我们采取了下面的电路来提供电源。
(如图2.1)
图2.1基准源电路
2.2.调制器设计
由于RC500内部集成了调节器,所以我们对这一部分没有太多的设计。
2.3.发射天线设计
读卡器的工作频率由一个13.56MHz的石英晶体产生,在产生驱动RC500以及驱动天线的能量载波的基频同时石英晶体也产生高次谐波.由国际EMC规定可知,为了抑制住13.56MHz中的三次、五次和高次谐波,设计电路时在射频模块发送端VI即TXl脚,TX2脚和地TVSS脚之间引入一个低通滤波器电路
如图2.2。
图2.2滤波电路
本实验主要采用射频芯片RC500所设计的读卡器中使用的天线.由于该芯片要求的天线阻抗为70Q,工作于l3.56MHz,因此在设计中,采用PCB环形天线,PCB环形天线是电小环天线的一种.
将电容C与天线线圈并联或者串联起来组成LC谐振电路,通过此谐振电路,读卡器可将能量传输至射频卡,并与卡进行通信.谐振电路的谐振频率可调谐至阅
读器的工作频率13.56MHz,其值由汤姆逊公式得出:
f=1/6.28
我们得到了天线的设计(图2.3)
图2.3天线的设计
2.4.接收天线设计
RC500内部接受电路是利用射频卡的返回应答信号在副载波的双边带上都有调制这一概念来工作的.根据RC500的芯片手册,由RC500芯片内部所产生的VMID作为接收信号引脚RX的输入偏置.为了减少干扰,提供一个稳定的参考电压,在VMID和地TVSS之间连接了一个0.1心电容C¨同时在RX0和VMID引脚间连接了一个820Q的电阻尺,作为分压器HJ.图2.4为接收电路的原理图.
图2.4接收电路
3.电路设计和程序设计
3.1电路设计
3.1.1.MCU与RC500连接电路
3.1.2串口通信设计
为了更好的和计算机通信我们采用了通用的RS-232通讯,并制作了上位机。
图3.2232通讯
3.2.程序设计框图
4.测试方案与测试结果
4.1测试方案及测试条件;
示波器(DS1062C)、数字万用表(VC97)、PC机(2.84HZ2G内存)、直尺及仿真器
4.2测试结果:
4.2.1硬件测试结果
要实现的功能
测试的结果
射频卡以及读卡器工作频率13.56MHz
频谱仪测得频率为13.56MHz
最大识别距离不小于5cm
5.8cm
当射频卡接近到读卡器可识别距离时,读卡器识别到射频卡,并发出声音提示,同时将射频卡发出的信号捕捉到并输出;
有声音提示,且在1602液晶上显示出了卡的信息
读卡器RF信号功率不小于1W
1.5W
4.2.2上位机结果(发挥部分)
使用RS232接口将读卡器与电脑连接,通过上位机发送轮询指令来控制读卡器与射频卡之间的通信,当读卡器感应到有射频卡时,会向上位机不断的发出提示声音,同时,指示灯会闪烁,此时在询问框中向读卡器发送相关命令,则所需信息会从信息反馈框中显示出来(测试如上图)。
4.3测试结果分析
从测试结果可以看出,RC500在发射和接收信号方面的稳定性,我们测得的频率正好也就是RC500发出的频率。
由于我们天线算法上的差距所以只能在5.8cm范围内接收到射频卡的信号。
5总结与致谢
经过紧张这几天努力,以及与小组其他成员的共同协作,团结互助,终于完成了此次实验项目。
在设计的过程中,我们遇到了各种各样的困难。
尤其是给无源射频卡的供电电路设计,高频电路反映的敏感性使我们的电路设计和调试一度中断,而且由于自身硬件调试经验的匮乏,对新的芯片的认知程度较低,在读卡器与射频卡的焊接中,以及在后面的调试过程中花费了较长的时间。
经过此次电子大赛让我们对电路的设计、调试有了深刻的印象,加深了对RFID技术的理解,同时也深刻的体会到了共同协作和团队精神的重要性,提高了我们解决问题的能力,设计中还有欠缺的方面,今后的学习工作中会加以注意。
最后感谢大赛组委会给我们这次机会!
参考文献:
[1]童诗白华成英、《模拟电子技术基础》北京:
高等教育出版社2004年10月
[2]周晓光王晓华、《射频识别(RFID)技术原理与应用实例》北京:
人民邮电出版社2006年12月
[3]黄智伟、《无线发射与接收电路设计》北京:
北京航空航天大学出版社2004年5月
[4]W.AlanDavisKrishnaK.Agarwal《RadioFrequencyCircuitDesign》中译本李福乐等译,机械工业出版社
附件
电路原理图
部分程序
charM500PiccRead(unsignedcharaddr,
unsignedchar*_data)
{
charidatastatus=MI_OK;
FlushFIFO();//emptyFIFO
M500PcdSetTmo(3);//longtimeout
WriteRawIO(RegChannelRedundancy,0x0F);//RxCRC,TxCRC,Parityenable
//*************CmdSequence**********************************
ResetInfo(MInfo);
MSndBuffer[0]=PICC_READ;//readcommandcode
MSndBuffer[1]=addr;
MInfo.nBytesToSend=2;
status=M500PcdCmd(PCD_TRANSCEIVE,
MSndBuffer,
MRcvBuffer,
&MInfo);
if(status!
=MI_OK)
{
if(status!
=MI_NOTAGERR)//notimeoutoccured
{
if(MInfo.nBitsReceived==4)//NACK
{
MRcvBuffer[0]&=0x0f;//maskoutuppernibble
if((MRcvBuffer[0]&0x0a)==0)
{
status=MI_NOTAUTHERR;
}
else
{
status=MI_CODEERR;
}
}
}
memcpy(_data,"0000000000000000",16);//incaseofanerrorinitialise
//data
}
else//ResponseProcessing
{
if(MInfo.nBytesReceived!
=16)
{
status=MI_BYTECOUNTERR;
memcpy(_data,"0000000000000000",16);
}
else
{
memcpy(_data,MRcvBuffer,16);
}
}
M500PcdSetTmo
(1);//shorttimeout
returnstatus;
}
///////////////////////////////////////////////////////////////////////
//MIFAREWRITE
///////////////////////////////////////////////////////////////////////
charM500PiccWrite(unsignedcharaddr,
unsignedchar*_data)
{
charidatastatus=MI_OK;
//*************CmdSequence**********************************
ResetInfo(MInfo);
MSndBuffer[0]=PICC_WRITE;//Writecommandcode
MSndBuffer[1]=addr;
MInfo.nBytesToSend=2;
status=M500PcdCmd(PCD_TRANSCEIVE,
MSndBuffer,
MRcvBuffer,
&MInfo);
if(status!
=MI_NOTAGERR)//notimeouterror
{
if(MInfo.nBitsReceived!
=4)//4bitsarenecessary
{
status=MI_BITCOUNTERR;
}
else//4bitreceived
{
MRcvBuffer[0]&=0x0f;//maskoutuppernibble
if((MRcvBuffer[0]&0x0a)==0)
{
status=MI_NOTAUTHERR;
}
else
{
if(MRcvBuffer[0]==0x0a)
{
status=MI_OK;
}
else
{
status=MI_CODEERR;
}
}
}
}
if(status==MI_OK)
{
M500PcdSetTmo(3);//longtimeout
ResetInfo(MInfo);
memcpy(MSndBuffer,_data,16);
MInfo.nBytesToSend=16;
status=M500PcdCmd(PCD_TRANSCEIVE,
MSndBuffer,
MRcvBuffer,
&MInfo);
if(status&0x80)//timeoutoccured
{
status=MI_NOTAGERR;
}
else
{
if(MInfo.nBitsReceived!
=4)//4bitsarenecessary
{
status=MI_BITCOUNTERR;
}
else//4bitreceived
{
MRcvBuffer[0]&=0x0f;//maskoutuppernibble
if((MRcvBuffer[0]&0x0a)==0)
{
status=MI_WRITEERR;
}
else
{
if(MRcvBuffer[0]==0x0a)
{
status=MI_OK;
}
else
{
status=MI_CODEERR;
}
}
}
}
M500PcdSetTmo
(1);//shorttimeout
}
returnstatus;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RFID 打卡 射频卡