




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
序号:_第四届电子设计竞赛设计报告 参赛题目 RFID打卡器和射频卡设计 队伍名称 逐梦远航 2011 年 06月11日2 摘 要【摘要】:随着科学技术的发展和现代生活的需要,电子钱包的使用越来越频繁,特别是非接触式IC卡的使用。本文主要介绍RFID读卡器的设计。本设计大体分为 个工作过程:(1)下位机通过菜单选择脱机工作或联机工作。(2)使用MFRC500对S50射频卡进行读取。(3)上位机发送命令控制下位机及接收下位机反馈回来的数据。(4)下位机使用12864液晶显示器显示必要的菜单和数据。【关键词】: RFID、读卡器、S50射频卡、下位机、上位机ABSTRAC【ABSTRAC】: As science and technology development and the needs of modern life, electornic wallet is being used more and more frequent, especially the non-contact IC card. This paper describes the design of RFID reader. The design can be divided into working processes: (1) lower computer through the menu choose to work offline or online. (2) the use of MFRC500 RF card reader for S50. (3) control the host computer to send commands and receive the next crew came back the next crew feedback data. (4) 12864 lower computer use LCD menu and show the necessary data.【Key words】:RFID、Card Reader、S50 RF Card、MCU、PC目 录第一章 前言1第二章 方案论证与比较22.1 微控制器选择22.2 显示模块选择22.3 读卡器模块方案选择22.4 天线方案选择3第三章 系统方案设计43.1 总体系统设计43.2 系统各部分方案43.2.1 主控模块43.2.2 读卡部分模块43.2.3 显示警告模块43.2.4 通信下载模块4第四章 硬件设计54.1 下位机部分54.1.1 主控电路54.1.2 显示模块64.1.3 通信下载模块64.1.4 电源模块74.2 MFRC500模块电路74.3 RFID读卡器天线8第五章 软件设计95.1 下位机软件设计95.1.1主函数部分95.1.2 串口通信部分105.1.3 MFRC模块功能105.1.4 液晶显示程序115.2 上位机设计125.2.1 MFC核心代码125.2.2 上位机主窗口设置14第六章 系统功能、调试与指标参数156.1 系统功能156.2 系统调试156.2.1 硬件部分调试156.2.2 下位机调试166.2.3 上位机调试176.3 系统指标参数176.3.1 工作频率176.3.2 识别距离176.3.3 天线计算186.3.4 输出阻抗19第七章 设计总结20参考文献:21附录A.电路原理图22附录B.源程序24第一章 前言随着科学技术的发展和电子商务的需要,电子钱包的技术也在不断地改进和提高。根据不同的环境和要求,又制造出不同需要的IC卡,主要分为接触式IC卡和非接触式IC卡。由于非接触式IC卡的成本和便利,越来越多的非接触式IC卡被应用到生活当中。随着电子商务的发展,电子钱包被广泛地应用到生活的方方面面,例如:学校一卡通、公交储蓄卡、小区管理、企业管理等。在众多的应用场合中,各种各样的恶劣环境都可能存在,所以非接触式IC卡的优点就越显得突出:无需插拔、免接触、密封性好、能适应各种恶劣环境、操作方便快捷。随着微电子技术的不断发展,微处理器芯片的集成程度也越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、串行口等多种功能模块,这就很容易将复杂的计算和控制交由MCU(Micro Control Unit)来处理,组成射频卡的读卡系统。本设计中,MCU采用STC12C5A60S2,读卡模块部分采用MFRC500集成芯片,用于测试的射频卡是Miafre 1 S50,数据采用12864LCD显示,使用串口与上位机(PC)进行通信。本设计的主要特点包括:(一)对S50射频卡进行识别并读取数据。(二)配合上位机进行联机操作。(三)设计模块化,便于修改、升级。第二章 方案论证与比较2.1 微控制器选择选择一:STC12C5A60S2是STC的增强型8051CPU,单时钟/机器周期,指令代码完全兼容传统8051,便于开发。工作频率范围035MHz,由于是单时钟/机器周期,指令执行速度提升为普通8051的812倍。拥有62K可编程Flash存储器,以及1280Byte SRAM空间。使用独立的波特率发生器来产生UART串口需要的时钟频率,同时将定时器1释放供精确延时使用。选择二:普通8051CPU,如STC89C52只有8K的Flash存储器以及512Byte RAM空间,时钟采用12分频,指令的执行速度与STC12C5A60S2相比要慢很多。 在本设计中,需较大的Flash空间来烧写程序以及保存数据;同时,需要更高的执行速度来处理MFRC500返回的数据,且能及时接收处理上位机下发的控制指令。综上所述,本设计采用STC12C5A60S作为主要的控制器。2.2 显示模块选择选择一:LED数码管,成本低,电路搭建简便;但功耗较大,显示范围仅有“0F”,。选择二:12864液晶显示模块内置字库,接口简单,支持字符汉字及自定义图标显示,具有反白效果,可视范围大,可实现更丰富的窗口设计。 综上,在本设计中,采用LCD12864作为显示模块。2.3 读卡器模块方案选择目前,主要有两种方案可供选择,一是使用分立元件搭建读卡模块,二是使用集成芯片来搭建读卡模块。射频卡采用曼彻斯特码,使用分立元件搭建读卡模块后,编码解码的工作就交由处理器来进行处理,当中要求开发者对曼彻斯特编码有比较深入的认识了解。而使用集成芯片,如本设计采用的MFRC500,可以将编码解码任务交付集成芯片来完成,并且该芯片还自带了调制解调电路。因为集成芯片的高度集成,可以大大缩减读卡器的开发周期以及开发难度,故在本设计中,采用集成芯片方案作为读卡器模块的首选方案。2.4 天线方案选择因为本设计中,采用的载波频率为13.56MHz,所以天线可以使用PCB导体的形式存在,而不需要另外绕制天线线圈,但需要对天线进行计算。在MFRC500的使用手册中,有相应的计算公式以及匹配电容的配对表,可以通过查表的方式对天线进行绘制。第三章 系统方案设计3.1 总体系统设计本系统由主控模块对数据进行处理,读卡模块对IC卡进行通信,显示警告模块对异常情况进行分类指示,最后通过上位机模块跟PC建立连接,并进行IC卡操作与信息交换。3.2 系统各部分方案3.2.1 主控模块由主控芯片 STC12C5A60S2 、震荡电路及复位电路组成。3.2.2 读卡部分模块使用产于Philips公司的RC500,应用于13.56MHZ非接触式通信中高集成读卡IC,支持ISO14443层,直接匹配天线,接口使用并行口和复用的地址和数据总线。3.2.3 显示警告模块由LCD12864、点触按键和蜂鸣器构成。液晶与按键配合,使用反白功能实现菜单动态的效果;LCD12864与CPU直接8-位并行连接;蜂鸣器经NPN三极管触发发出一定频率警报声。3.2.4 通信下载模块由MAX232组成的串口电路可以实现TTL与RS232C电平间转换(RS232C电平通信距离更远),组成可靠的串口通信,使核心板与上位机具有良好的交互通道,同时还为STC单片机提供了ISP下载功能第四章 硬件设计4.1 下位机部分4.1.1 主控电路图5-1 主控电路4.1.2 显示模块图5-2 显示模块接口电路4.1.3 通信下载模块图5-3 通信下载电路4.1.4 电源模块图5-4 稳压电源电路4.2 MFRC500模块电路图5-5 MFRC500模块电路4.3 RFID读卡器天线图5-6 天线PCB第五章 软件设计5.1 下位机软件设计5.1.1主函数部分流程图如下:int main (void)char idata ssst;System_init();ssst=M500PcdConfig(); / 配置 RC500/ must be call in the initialisationif(ssst!=MI_OK) / 若初始化不成功,则灯连续闪烁 while(1)Beep(1);LED_flash(1); M500PcdMfOutSelect(mfout); / 选择内部信号到管脚 MFOUT 输出,以便调试 / mfout=2表示按Miller编码的内部调制信号M500PcdRfReset(0);/ Tx2RF-En, Tx1RF-En disableBeep(1);Main_Menu();/进入主面板while(1)key_temp = key_scan();switch(key_temp)case KEY_OK:EventOk();break;case KEY_UP:Mmenu+;Main_Menu();break;case KEY_DOWN:Mmenu-;Main_Menu();break;default:break; 5.1.2 串口通信部分void UART_INIT() /串口初始化void Sent_Byte(unsigned char Sdata) /发送一个字节void Sent_String(unsigned char *pt_send) /发送一个字符串void PrintSN_UART(unsigned char *SN,unsigned char size) / 打印卡的序列号void PrintTypes_UART(unsigned char *Types) / 打印卡的型号void PrintSize_UART(unsigned char Size) / 打印卡的容量5.1.3 MFRC模块功能使用定时器0进行精确延时,以满足RC500模块严格的时序要求/*- RC500模块写命令字-*/char M500PcdCmd(unsigned char cmd, volatile unsigned char* send, volatile unsigned char* rcv, volatile MfCmdInfo *info) /*- RC500配置-*/char M500PcdConfig(void) /*-对卡轮询-*/char M500PiccRequest(unsigned char req_code, unsigned char *atq) /*-冲突处理-*/char M500PiccAnticoll(unsigned char bcnt,unsigned char *snr) /*-选卡操作-*/char M500PiccSelect(unsigned char *snr, unsigned char *sak) /*-读取卡基本信息-*/void ReadCardInformation(uchar *card_types,uchar *card_sn,uchar *card_size,uchar *SendBuf) /*-读取卡中对应块数据-*/void ReadCardBlockdata(uchar *card_types,uchar *card_sn,uchar *card_size,uchar *Blockdata,uchar BlockNum,uchar *SendBuf)/*-往卡中对应块写入数据-*/void WriteCardBlockdata(uchar *card_types,uchar *card_sn,uchar *card_size,uchar *Blockdata,uchar BlockNum)5.1.4 液晶显示程序/*-LCD12864初始化-*/void init_lcd (void)/*-显示汉字或字符-*/void chn_disp (uchar code *chn)/*-清DDRAM-*/void clrram (void)/*-LCD12864命令字和数据写入-*/void wr_lcd (uchar dat_comm,uchar content)/*-任意坐标显示符号或者汉子-*/void LcdDisp(uchar row,uchar column,uchar *temp,uchar length)/*-任意坐标长度实现反白效果-*/void ConDisp(uchar color,uchar row,uchar column,uchar length)5.2 上位机设计5.2.1 MFC核心代码/*-串口初始化-*/void CSerial_FinalDlg:OnComopen() / TODO: Add your control notification handler code herePort = GetDlgItemInt(IDC_COMNUM);int Bnd = GetDlgItemInt(IDC_COMBND);switch(Bnd)case 9600 :Bnd = 0x0c;break;case 57600:Bnd = 0x0f;break;case 115200:Bnd = 0x10;break;default:Bnd = 0x0c;break;if(SIO_OK!=sio_open(Port)MessageBox(打开串口失败!);elsesio_ioctl(Port,Bnd,DATABITS|STOPBITS|PARITY);sio_cnt_irq(Port,CntIrq,1);MessageBox(打开串口成功!);/*-串口接收线程-*/void CSerial_FinalDlg:OnPcomm()int Str_Len = 0;int time_out=0;CString temp;domemset(Buf_Rec,0,200);Str_Len = sio_read(Port,Buf_Rec,100);/读取串口数据至Buf_Rec200中if(Str_Len!=Buf_Rec0)&(time_out=0)/判断所接收的数据个数是否与发送吻合/MessageBox(接收错误!);sio_putch(Port,REC_NO);/不吻合,则向下位机发送接收错误命令time_out+;while(Str_Len!=Buf_Rec0)&(time_out7.0CM6.3.3 天线计算图6-1 天线PCB及尺寸环形天线电感量的公式:I1导线环一圈的长度D1导线的直径或者PCB导线的宽度K天线形状因素(环形天线K=1.07,矩形天线K=1.47)N1圈数此天线,I1=52.12cm,D1=1mm,K=1.47,N1=1.5所以,L1=750nH6.3.4 输出阻抗图6-2 滤波电路图6-3 LC滤波电路仿真使用Multisim对LC滤波电路进行仿真测试,可以得出,该滤波电路是10MHz的带通滤波电路,可以有效抑制MFRC500产生的高次谐波。第七章 设计总结本次实践主要针对MFRC500射频卡识别电路的硬件软件设计,着重于每个器件的内部原理和编程实现,系统模块的有效划分,使整个设计思路更为明朗;对异常出现的可能性进行分析,并制定初期解决方案,从而使调试过程更有针对性,时效性。但由于时间紧迫,未能让模块实现更多的功能。通过本次实践,队员们在电路、软件应用方面知识得到加强与扩展,从而巩固以往所学知识,更好梳理自己的知识结构;再者,提高了对新事物的适应能力,特别是射频模块设计,在基础知识的不扎实和实战经验的不足的情况下,队员们刻苦攻关,充分体现了队员对信息的快速捕获能力、学习能力以及应变能力。本次实践虽已结束,但是希望队员们继续加强自己的理论知识,提高实干能力,争取更多的实践机会。参考文献:基于MF-RC500和Mifare射频卡识别模块的设计牛斗 常国权 李丹 IC卡技术及其应用杨振野附录A.电路原理图附A-1 MFRC500模块电路附A-2 主控电路附录B.源程序#include #define _SRC#include main.h#undef _SRC#include MFRC500.h#include RDIO.h#include m500a.h#include Lcd12864.h#include UART.h#define KEY_OK 1#define KEY_UP 2#define KEY_DOWN 3sbit RC500RST = P35;sbit RC500_CS = P27;sbit LED = P10;sbit BEEP= P33;sbit key_ok = P21;sbit key_up = P22;sbit key_down = P23;unsigned char cmd_data8 = 0;unsigned char cmd_count;unsigned char cmd_temp;unsigned char idata mfout=2;unsigned char Keydata4; / Serial Number of the Mifarechar buf_send100;static int Mmenu = 100;static int Smenu1 = 100;static int Smenu2 = 100;static int Smenu3 = 100;uchar key_temp;extern uchar idata card_snr4;extern void ReadCardSnr(uchar Keydata4); /读卡的序列号extern char M500PiccSelect(unsigned char *snr, unsigned char *sak); / IC 卡选择void System_init ()init_lcd(); / 初始化液晶RC500RST = FALSE; RC500_CS = TRUE;/ 使能RC500UART_INIT(); / 初始化串行口 IT0 = 1; / 配置外部中断0为沿触发EX0 = 1; / 允许外部中断0中断EA = TRUE;/ 允许所有的中断key_ok = 1;key_up = 1;key_down = 1;/*/*将十进制数转换为十六进制*/*/uchar Dec2Hex(uchar temp)if(temp=0)&(temp=9)return temp+0x30;else return (temp-10+A);/*/*将字符串转换为十六进制字符串*/*/void Str2Hex(char temp,char result,char length)uchar i,j;uchar high_byte,low_byte;for(i=0,j=0;ilength;i+,j=j+2)high_byte = tempi/16;low_byte = tempi%16;resultj = Dec2Hex(high_byte);resultj+1 = Dec2Hex(low_byte);resultj = 0;/*/*将十六进制字符串转换为序列号信息*/*格式:序列号:000000 */*/void LcdSnr(char temp,char result100)uchar i;for(i=0;iS70; 0x40-S50if(status=0)ReadCardSnr(buf_send); /读取卡的序列号Beep(1);Str2Hex(card_snr,sss,3);LcdSnr(sss,ttt);lat_disp(0x0,0x0);if(buf_send0=0x02)LcdDisp(1,0,卡类型:S70,11);else if(buf_send0=0x04)LcdDisp(1,0,卡类型:S50,11);else if(buf_send0=0x10)LcdDisp(1,0,卡类型:Light,13);elseLcdDisp(1,0,卡类型:Unknown,15);LcdDisp(2,0,ttt,14);if(buf_send6=0x08)LcdDisp(3,0,卡容量:8KB,11);else if(buf_send6=24)LcdDisp(3,0,卡容量:24KB,12);elseLcdDisp(3,0,卡容量:xxKB,12);LcdDisp(4,0,返回上一层,10);ConDisp(1,4,0,5);/*串口上位机通信*/void SerialComm(void)int idata status; / 状态uchar xdata tt2;if (cmd_temp = 0x77) status=M500PiccRequest(PICC_REQSTD,tt); / 请求答复(查询 tt可知道卡的类型:0x20-S70; 0x40-S50)if(status=0)ReadCardSnr(buf_send); /读取卡的序列号SendCmd(0x77,buf_send,9); /*主面板-“确定键”事件*/void EventOk(void) if(Mmenu%2)=0)clrram(); Sub_Menu1();/进入子面板-菜单while(1)key_temp = key_scan();if(key_temp=KEY_OK) if(Smenu1%4)=0)clrram(); Main_Menu(); /返回主面板break;else if(Smenu1%4)=1)clrram(); Sub_Menu2_1();/进入子面板-菜单-脱机模式while(1)key_temp = key_scan();if(key_temp=KEY_OK)if(Smenu2%2)=0)clrram(); Sub_Menu1(); /返回子面板-菜单break;elseclrram(); Sub_Menu3_1();/进入子面板-菜单-脱机模式-卡信息查询while(1)key_temp = key_scan();if(key_temp=KEY_OK)clrram(); Sub_Menu2_1();/返回子面板-菜单-脱机模式break;else if(key_temp=KEY_UP)Smenu2+;Sub_Menu2_1();else if(key_temp=KEY_DOWN)Smenu2-;Sub_Menu2_1();else if(Smenu1%4)=2)clrram(); Sub_Menu2_2();/进入子面板-菜单-联机模式while(1)SerialComm();key_temp = key_scan();if(key_temp = KEY_OK)clrram(); Sub_Menu1(); /返回子面板-菜单break;else if(key_temp=KEY_UP)Smenu1+;Sub_Menu1()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电商专业试题及答案
- 专业电工试题及答案
- 河南省濮阳市华龙区濮阳第一高级中学2025-2026学年高二上学期开学摸底检测历史试卷(含答案)
- 河北省保定市唐县第一中学2025-2026学年高二上学期开学生物试题(原卷版)
- 体育考研专业试题及答案
- 农学大专专业试题及答案
- 福建省泉州市安溪县2024-2025学年高一上学期11月期中物理试卷(含答案)
- 路灯恢复施工方案
- 空调施工方案模板图
- 农业科技创新的市场前景及挑战
- 第3课《追求人生理想》第2框《努力把人生理想变为现实》-【中职专用】《哲学与人生》同步课堂课件
- 第七届全国急救大赛(医生组)理论测试考试题库及答案
- (2024版)大学本科新增专业《生物育种技术》解读
- AGV拖车电机选择计算表
- 舌癌手术步骤课件
- 老师孤独症培训课件
- JJG 643-2024标准表法流量标准装置
- 智慧化税费申报与管理 课件 项目四企业所得税智慧化税费申报与管理
- 电动汽车的储能技术
- 加令岭水库防洪抢险应急预案
- 培训养老护理员的
评论
0/150
提交评论