基于MF RC500芯片的射频读写器设计和实现方案
(5) MF RC500与MCU的接口电路
MF RC500支持与不同的微处理器直接接口,包括独立读写选通的MCU连接、公共读写选通的MCU连接以及具有公共读写选通和挂钩功能的MCU连接。在每次上电或硬件复位后,MF RC500也复位其并行微处理器接口模式并自动检测当前微处理器接口的类型。
本系统选用具有公共读写选通和挂钩功能的MCU连接方式,图6为MF RC500与MCU的接口原理。由图中可以看出,本系统采用中断(INT1)工作模式,即MCU利用MFRC500提供中断信息对其进行控制。另外,根据系统的需要,可以采用查询方式对MF RC500进行操作。
4系统软件设计
软件设计主要包括对MF RC500进行初始化、接收上位计算机的指令、控制MF RC500,并且把MF RC500的状态信息反馈给计算机。程序流程如图7所示。
(1) 初始化并行接口
首先读Command 寄存器直到Command的6位值为00H,内部初始化阶段此时结束,MF RC500准备接收控制;将80H 写入Page寄存器以初始化微处理器接口;读Command寄存器,如果该值为00H则微处理器接口初始化成功;在接口初始化之后通过将0X00 写入页寄存器,激活线性地址模式。这个过程可以用以下代码表示:
do{PReset=1; Delay(10); PReset=0;} // 给复位脉冲
while (ReadRC(RegPage) != 0x80);
do{ WriteRC(RegPage,0x0);}
while(ReadRC(RegCommand) != 0x00);
if (ReadRC(RegCommand) != 0x00)
status = MI_INTERFACEERR;//接口初始化错误
else
status = 0; //接口初始化成功
(2) 对Mifare1卡的操作
MCU对Mifare1卡操作的命令主要有空操作、装载密码、验证密码、读卡、写卡和关卡等。无论哪种操作都必须先把命令代码写入到Command寄存器,比如执行验证密码则需要执行WriteRC(RegCommand,0x0c)命令。
从操作流程上,可以把Mifare1卡的操作分为以下几项:
复位请求:当一张Mifare1卡处在读写器天线的工作范围之内时,读写器向卡发出REQUEST all(或REQUEST std)命令。卡的ATR将启动,将卡Block 0中的卡类型(TagType)号共2个字节传送给读写器,建立卡片与读写器的第一步通信联络。如果不进行复位请求操作,读写器对卡的其它操作将不会进行。
反碰撞操作:如果有多张Mifar1e卡处在读写器天线的工作范围之内时,读写器首先与每一张卡进行通信,取得每一张卡的ID号。由于每一张Mifare1卡都具有唯一的ID号,因此读写器根据卡的ID号来保证一次只对一张卡操作。
卡选择操作:完成了上述二个步骤之后,读写器必须对卡进行选择操作。执行操作后,返回卡上的SIZE字节。
认证操作:经过上述三个步骤,在确认已经选择了一张卡片时,读写器必须对卡上已经设置的密码进行认证。如果匹配,才允许进一步的读写操作。
读写操作:对卡的读、写、增值、减值、存储和传送等操作。
5结论
本文的创新工作:基于PHILIPS公司生产的MF RC500芯片,提出了一种结合单片机AT89S52的通用射频卡读写器的设计与实现方案。系统实现了对Mifare1卡读写操作的同时,具有以下优点:(1) 由于接口方式比较多,对IO口操作简单,可以方便地对MF RC500进行控制并获取相应信息;(2) 由于该系统在天线设计合理的情况下可靠性比较高,有效距离可达10cm;(3) 计算机只需通过一定的方式发送命令,即可对卡操作,在此基础上可以根据不同的需要开发出相应的软件产品,具有很大的实用价值。
实际应用表明该读写器架构具有响应速度快、使用简单、读卡距离远和通信稳定可靠的显著优点。
设计 实现 方案 读写器 射频 MF RC500 芯片 基于 相关文章:
- 直接变频接收机设计可实现多标准/多频带运行(10-11)
- 基于蓝牙芯片的无线通信模块设计与开发(02-03)
- 无线通信网络设计与现场测试(10-10)
- WiMAX数据传输加密方案设计与实现(05-25)
- 高性能TD-SCDMA接收机的设计(03-15)
- 初步设计WiMAX射频系统(03-29)