APP下载

基于射频读卡器MF RC500的门禁系统

2012-09-01潘海军

湖南科技学院学报 2012年12期
关键词:读卡读卡器门禁系统

潘海军

(湖南科技学院 电子工程系,湖南 永州 425100)

0 引 言

射频识别技术(Radio Frequency Identification,简称RFID)是现代信息技术高速发展的产物,是一种基于变压器耦合方式以及电磁反向散射通信原理开发出来的无线、非接触方式的自动识别技术。本文中介绍的非接触式射频卡读写器是基于单片机AT89C52与荷兰Philips公司的嵌入式读写芯片MF RC500设计开发的。它能完成对Mifare1卡所有读写及控制操作。 Mifare技术体系,以其性能稳定,保密性强,读写速度快,在全世界射频卡行业中占有很大的比例。使用的 Mifare卡信息容量大、安全、不易伪造,扩充功能强[1-3]。

1 硬件设计

MF RC500完全集成了在 13.56 MHz下所有类型的被动非接触式通信方式和协议,是高集成读卡器IC系列中的一员,支持IS014443A所有的层。在非接触式通信过程中,该读卡IC利用先进的调制和解调概念。MF RC500内部的发送器不需要增加有源电路就能直接驱动近距离的天线(距离最大可达100mm)。内部的接收器提供有效的解调、解码电路,作为 IS014443A兼容的应答器信号;其数字部分用于检测IS014443A帧和错误检测(奇偶&CRC)。此外,MF RC500支持快速CRYPTO1加密算法并用于验证MIFARE的系列产品。它的并行接口可直接连接任何8位微处理器,给读卡器/的终端设计提供了很大的灵活性。

由于MFRC500的高集成度及其独有的特性,使得在硬件开发和软件设计时,必须严格遵循MFRC500的特有工作时序,外部电路应严格遵守其特性,并且注意 MF RC500的复位操作,否则芯片将不工作,甚至被损坏。

基于单片机 AT89C52和Philips 公司的 MF RC500射频卡读写模块构成的门禁系统总体结构框图如图1所示。系统工作时,微处理器AT89c52先控制射频识别读写器读卡,然后单片机根据所得数据输出四个开关量信号(分别控制进出的两个门阀继电器),开关量信号经过放大后分别去控制门锁继电器和读取门磁信号,同时单片机和下位PC机之间进行通讯,来获得指令和传输系统状态等,最后去操作系统的辅助设备,如液晶屏、EEPROM等。

图1 系统的总体结构图

2 软件设计

根据方案的选择,门禁系统部分主要以下位PC机为中心, 向上通过以太网连接到系统控制中心, 向下则通过RS485 与AT89C52相连,通过基于MF RC500芯片的读卡器对门禁终端进行数据采集, 并进行数据处理后, 发往系统控制中心。系统的软件结构框图如图2 所示。由图中看出,读卡程序、串口通信控件和基于以太网的网络通信组件非常重要, 正是通过这三个软件模块把读卡器、下位PC机以及系统控制中心连接起来。其中基于以太网的网络通信组件采用了Windows底层的Winsock网络通信组件。

图2 软件框架图

2.1 读卡程序

在 MF RC500 的函数库中, 可直接对符合 ISO14443A 标准的非接触式卡和感应器进行如下操作:

void main (void)

{ init ();

M500PcdConfig () ;

PcdReadE2 (8 ,4 , Snr-RC500) ;

M500PcdMfOutSelect (mfout) ;

For (count = 0 ;count < 100 ;count + + )

{ status1 = M500PiccRequest ( PICC-REQALL ,tt1) ;

if (status1 = = MI-OK)

status1 = M500PiccAnticoll (0 , cardserialno) ;

if (status1 = = MI-OK)

status1 = M500PiccSelect (cardserialno ,sak1) ;

if (status1 = = MI-OK)

status1 = M500PiccAuth (PICCAUTHENT1A ,

cardserialno , 1 , 4) ;

if (status1 = = MI-OK)

status1 = M500PiccRead(4 , blockdata) ;

for ( counter2 = 0 ;counter2 < 16 ;counter2 + + )

blockdata[counter2 ]= counter ;

if (status1 = = MI-OK)

status1 = M500PiccWrite ( 4 , blockdata) ;

} }

2.2 串口通信编程实现

在基础数据采集和实时控制系统过程中,单片机AT89C52通过计算机的RS-232接口进行命令和数据传送。在直接传送通信系统中,只要发送和接收双方同时准备好,信号发送端(TXD)、信号接收端(RXD)和信号地(GND)这 3根线可进行通信;若以应答方式进行数据通信,就使用请求发送(RTS)、清除发送(CTS)或数据终端准备(DTR)、数据装置准备(DSR)进行硬件握手。在Windows操作系统下,可以很方便地使用Win32通信API函数来实现这些硬件的握手以及数据的传送[4]。

为了交互式串行通信,在Windows通信体系中已提供1个改进的串行应用程序接口SAPI,用来进行交互式串行通信。其中串口和其他通信设备是作为文件进行处理的,串口的打开、关闭、读取及写入所用的函数和操作文件的函数相同。

1) 打开串口。Windows提供为读访问或写访问打开串口的CreateFile 函数,当成功打开串口后返回该串口句柄,供读写串口时使用。

2) 串口打开后,对串口进行合适配置。Windows提供得到当前串口设置情况的GetCommState 函数,该函数接收1个打开端口句柄和1个指向DCB结构的指针,在DCB结构中返回信息,GetCommState函数利用补充函数将 DCB 结构中的内容写向串口设置。

3) 读写端口。读写端口可以通过查询、同步 I/O 、异步 I/O( 后台 I/O) 和事件驱动 I/O 4 种技术来实现。

4) 串口关闭。通信完成后,串口应该利用 CloseHandl e(hComm)函数关闭串口,其中hComm为打开的串口句柄。否则,串口始终处于打开状态,其他应用程序就不能打开或使用它。

2.3 以太网通信控件

在编写下位PC机与系统控制中心通信的程序时采用了Windows底层的Winsock网络通信组件[5-6]。Winsock是一个非常灵活的网络通信组件。Winsock的主要属性和事件方法如下:

1) protocol: 选择通信协议,TCP/IP 或 UDP,在此采用TCP/IP。

2) Remotehost: 指明服务器的IP 地址或计算机名称。

3) Remoteport: 指明服务器的聆听通道。

4) Connect: 通过此方法,与服务器建立相应连接。

5) GetData: 通过此方法,接收服务器的数据。

6) Close: 此事件在 Winsock 关闭或断开时触发。

7) SendData: 通过此方法,向相应服务器发送数据。

Winsock通信组件的工作模型如图3所示。

图3 数据流Socket客户/服务器应用程序工作模式

3 结 论

本系统已投入实际运行,稳定可靠、实时性强且充分利用现有网络,不必重新布线,利用传统的基于 RS232通信接口的门禁系统快速改造为大范围分布式远程控制门禁系统。该门禁系统的软件设计与开发使得数据采集、处理,数据维护,手动更改数据,对数据库中的数据进行统计查询,自动生成各种报表等管理工作变得方便迅捷,对智能门禁系统的推广有重要意义。系统设计开发过程中充分运用了软硬件协同设计的思想,各部分尽量采用模块化设计,可以稍加裁剪改造为适于智能小区、多校区图书馆等多种不同场合的分布式远程控制智能门禁系统。

[1]胡伟,杜谦.基于IC卡技术的高安全性门禁系统[J].计算机与现代化, 2007, (3):118-120.

[2]Narn-Yih Lee.Intergrating Access Control with User Authentication Using Smart Cards[J].Applied English Department, Southern Taiwan University of Technology, IEEE Transactions on Consumcr Electronics, Vol.46, No.4, NOVEMBER 2000:943-947.

[3]Sanjay E.Sarma, et al.RFID Systems and Security and Privacy Implications[J], CHES 2002, Lecture Notes in Computer Science 2523, 2002: 454–469.

[4]来国军,徐平.基于以太网技术的门禁控制系统[J].装备指挥技术学院学报, 2003,14(5):81-84.

[5]李智芳.非接触式 IC卡门禁考勤系统设计[J].计算机工程与设计, 2000,21(6):32-34.

[6]陈思功.基于UML的软硬件协同设计的模型分析方法[J].软件学报,2003,14(1):103-109.

猜你喜欢

读卡读卡器门禁系统
煤矿井下车辆乘人防漏识别读卡基站设计
基于多种生物特征识别的RFID门禁系统设计
智能会议预约终端内置读卡器性能的改善*
与淘汰命运抗争 看懂笔记本的读卡器
基于AI智慧人脸门禁系统的硬件系统设计
基于单片机的安全门禁系统研究设计
基于EMV非接通信规范的非接触读卡器设计
为二维码识别的献礼之作——评测平治二维码门禁读卡器
基于单片机的小区门禁系统设计
MATLAB实现组态王中TCP/IP读卡器监控方法