基于ARM的RFID智能安全管理系统设计与实现
高级会议的成功举办除了对参会人员的签到、住宿、座位安排等管理外,其身份安全管理也是很重要的一方面,本文介绍了一种基于32 位ARM7TDMI 设计实现的射频识别[1](radiofrequency identification,RFID)会议智能安全管理系统,系统充分利用了ARM 具有全面的、丰富的片上资源功能,用一个ARM核心板同时实现读卡、显示、声音报警、摄像和指纹等几种功能,集成了射频识别技术与生物识别技术,完成三重身份的认证,具体可选择射频+指纹模式、射频+摄像模式或射频+指纹+摄像模式。这不但大大提高了会场智能管理的安全性,而且还因ARM 的集成度高而大大减少了系统电路中的器件配置,使得电路设计变得较为简单,从而使整个系统的成本大为降低,同时,系统也更安全可靠、操作更简捷。
1 RFID 技术概述及智能安全管理系统整体结构
RFID 是一种利用射频通信实现的非接触式自动识别技术,可识别高速运动物体并可同时识别多个标签,识别的距离为几十厘米至几十米,可工作于恶劣环境,识别工作无须人工干预[2],且根据读写的方式,可以输入数千字节的信息,操作快捷方便,同时,还具有极高的保密性。RFID 系统由读卡器、RFID 卡和上层应用软件3 部分组成,其中读卡器用来实现对RFID 卡的数据读写和存储功能,由控制单元、高频通信模块和天线组成;RFID 卡是一种无源的应答器,主要由一块集成电路(IC)芯片及其外接天线组成。其基本工作原理是在RFID卡进入到读卡器的射频场范围后,读卡器通过射频信号与RFID卡进行信息交互,将卡内标签中所存储的有关数据读取后提交给RFID 上层软件。目前在国内外,RFID 已被广泛应用于生产、物流、交通、运输、医疗、防伪、跟踪、设备和资产管理、工商业自动化、交通运输控制管理等众多领域,并不断向新的领域渗透,具有非常广阔的应用前景。
本RFID智能安全管理系统为高级会议会场设计,主要由32 位ARM开发板、射频识别芯片、RFID卡、天线以及PC机应用系统组成[3],其整体结构示意图如图1 所示,其中的读卡器设计是整个系统中的核心部分。
图1 系统整体结构
通过运行后台PC机上的应用程序,可以实现对进场人员的身份识别与验证,进场人数、进出入时间等的统计并形成报表,对缺席人员还可以通过短信的形式发与本人或将公共信息群发与有关的人。
2 系统硬件设计
本系统硬件设计主要是读卡器的设计,根据需求本读卡器应是一个具有扩展功能丰富、可以独立工作,也可以联网交换信息,或者通过USB 传输信息,且具有友好人机界面的嵌入式智能终端,具体设计示意图如图2 所示,功能上主要包括:主控模块、射频模块、指纹模块、摄像模块、显示模块、声音报警模块和通信模块,这几大部分协同工作,完成会场信息的采集、传输与显示等操作。
图2 读卡器结构
读卡器中的主控模块采用ARM7 核心板加外围电路板的模式,ARM7 核心板采用三星公司的S3C44B0X 芯片,该芯片提供的硬件资源有:2.5V的ARM7 TDMI 内核带有8Kcache;可选的内部SRAM;LCD 控制器;2 通道UART;1 通道SIO;2 通道通用DMA;2 个提供外部请求引脚的总线DMA;8 个外部中断源;有时钟功能的RTC 等。具有系统管理、Cache 和内部存储器、中断控制器、定时器、UART 等多种功能。在该芯片上内扩了显示模块、声音报警模块和通信模块,外扩射频模块、指纹模块和摄像模块,如图2 所示,另外,本ARM7 核心板还扩展了8M SDRAM、2M NOR FLASH、16M NAND FLASH。
射频模块由射频芯片、电源滤波部分、模拟信号滤波部分以及相应的外围电路组成,这里的射频芯片采用NXP公司(原Philips 公司)的MFRC531 芯片,该芯片整合了所有的13.56MHz主动非接触通信方式和协议,与MFRC500、MFRC530 和SLRC400 引脚兼容,支持ISO14443 TypeA 和TypeB 的所有层的通信方案,支持使用MIFARE 更高的通信波特率。内部收发器部分能够驱动近藕合设计的天线,而不需要另外活动的电路;接收部分具有高效的解调与解码电路执行机构;数字部分能处理完整的ISO14443 帧数据还有错误检测功能,并且支持快速的MIFARE 安全算法;具有合适的并行接口,可以直接与8 位的微处理器相连,并且支持SPI 兼容接口。总之,目前由于MFRC531 能够满足设计需求,应用范围比其他的芯片更广,资料齐备,因此这里选择MFRC531 射频接口芯片。
2.2 硬件接口电路设计
2.2.1 ARM 与射频芯片的接口电路设计
为了能正确读取RFID 卡上的数据,首先要对S3C44B0X和MFRC531 的接口电路进行设计,由于S3C44B0X 微处理器有足够的地址和数据总线,因此这里的接口采用独立的地址/数据总线,采用并口方式,将MFRC531 的ALE引脚接高电平,将A0、A1、A2 分别对应接S3C44B0X 的A0、A1、A2,片选NCS信号接S3C44B0X 的nGCS3,复位输入RSTPD 接GPF0,通过对S3C44B0X 的GPF0 引脚控制操作决定射频部分的工作状态[5],如图3 所示。该接口主要负责射频识别卡和管理主机PC之间的信息交换和传输,主要完成射频卡的进出控制,射频卡与应用终端之间信息联络与管理层主机通讯等功能。
另外,MFRC531 与天线的接口由TX1、TX2、RX 及VMID连接,TX1、TX2 负责调制后的射频信号输出到天线,激励天线产生电磁波将信号输出到电子标签,而RX引脚则接收电子标签调制后由天线接收到的副载波信号,信号经过内部状态机的解调解码后成为接收到的数据。为了实现远距离的读写,最好采用环形或矩形天线,这里采用环形天线。
2.2.2 ARM 与其他芯片接口电路设计
在ARM核心板上通过内扩展LCD 接口完成人机界面显示功能,S3C44B0 X内置了LCD控制器,具有将显示缓存中的图像数据传输到外部LCD 驱动电路的功能。本系统设计采用了一片74LVC 164245A 作为总线驱动芯片,将164245 的方向控制接为高电平,S3C44B0 X的信号通过164245 后,再接到LCD 接口上。
S3C44B0 X 具有IIS 总线,IIS 总线是一种面向多媒体计算机的音频总线,该总线专门负责音频设备之间的数据传输,广泛应用于各种多媒体系统中。本系统设计中用IIS 总线输出数字音频信号到音频接口芯片,完成声音报警信息提示,这比一般采用的蜂鸣器更友好。
图3 微处理器与MFRC531 接口
在ARMS3C44B0X 板上外扩展指纹传感器芯片FPS200[6],通过有效读取指纹图像实现与射频识别一起双重认定身份的功能。FPS200 芯片是美国Veridicom 公司最新开发的接触式指纹传感器,其与处理器间的接口有USB、微处理器总线(MCU) 和串行外接口(SPI) 共3 种方式,本系统采用了总线方式。具体电路设计为:CS1 接高电平,CS0 接ARM 的nGCS1;地址线、数据线、读写信号线直接与ARM 连接,其他引脚按照FPS200 的数据手册连接即可。摄像模块的主要功能是在刷卡的同时进行电子摄像,摄像头通过USB 接口直接与S3C44B0 X 核心板相连接,这也是本系统中进行身份识别的第3 种方法,所采集到的图像与卡号信息一并存放在后台数据库中,也可当时就显示在后台管理页面上,这可通过软件程序根据需要具体设置,这样可更增强了对与会人员身份验证的安全性。
3 系统软件设计
本系统软件设计分为两大部分,分别为读卡器程序设计和PC 管理软件程序设计。其中读卡器程序设计采用开源免费的μC/OSⅡ操作系统加上系统应用软件的结构,主要完成操作系统μC/OSⅡ的移植、读卡器的读写任务程序、中断服务程序、LCD处理程序、指纹读取识别程序、USB与网络接口程序、串口程序、数字音频程序、摄像处理程序的设计。在μC/OSⅡ的程序源代码中,只有OS_CPU_C.C、OS_CPU.H、OS_CPU_A.S这3 个文件与处理器硬件相关,所以,移植μC/OSⅡ也就是修改这3 个文件,其中OS_CPU_C.C中包含了6 个需要修改的与处理器相关的函数,分别为OSTaskStkInit()、OSTaskCreateHook()、OSTaskDelHook ()、OSTaskSwHook ()、OSTaskStatHook () 和OSTimeTickHook(),这6 个函数中的OSTaskStkInit () 用来初始化任务堆栈,由函数OSTaskCreate()或OSTaskCreateExt()调用,其余5 个函数都为用户自定义函数;OS_CPU.H文件中给出的是定义处理器结构设置变量的内容,用于定义数据类型的长度,一些与处理器相关的常数和宏定义等,如进入和退出临界状态的函数OS_ENTER_CRITICAL () 和OS_EXIT_CRITICAL
();OS_CPU_A. S 中是用汇编写的程序,如OSStartHighRdy ()、OSCtxSw()、OSIntCtxSw()、OSTickISR()是几个必须由汇编程序来完成的函数。
对射频卡操作的过程则是一个很复杂的程序执行过程,需要对MFRC531 内部一系列的寄存器进行配置,而且这些操作对时序要求非常严格。对射频卡的典型操作为:寻卡(得到卡类型代码)、防冲突(得到卡号)、选卡、验证密码、读写操作、挂起,并且这些操作必须按固定的顺序执行,在对卡类型判断后将卡号送到服务器数据库,系统对读入的卡号信息与数据库中已有的卡号信息进行比较后,判断出该卡号是否为有效卡或者是否在有效权限内从而进行不同的处理,如对于无效卡则指示其红灯亮、并有报警或发出语音提示等。
LCD 用于实时显示当前信息,当没有卡进入射频天线有效范围时,LCD上显示当前时间及日期;当有卡进入到射频天线的有效范围时,LCD 上显示卡号和身份验证成功信息。同时,系统把有效卡的刷卡信息记录到“进出人员信息表”中,并在界面上显示;对于无效卡只统计次数但不记录信息。指纹图像的读取通过对传感器FPS200 初始化实现,初始化主要是对放电时间寄存器DTR、放电电流寄存器DCR 和增益控制寄存器PGC 寄存器的设置,以便在获得整幅图像之前启动传感器并对图像参数进行调整,流程如图4 所示。在设置完这3 个寄存器后,再设置寄存器CTRLA 值为0x02,然后从第0 行开始对该行中每一个像素进行A/D 转换,循环读取CTRLA直到完成第299 行的最后一个像素即可获取整幅指纹图像像素值。
图4 FPS200 指纹采集流程
将OV511 摄像头与嵌入式硬件平台相连,PC机通过硬件平台控制OV511,完成摄像头控制、采集和传输图像功能。后台PC 管理软件主要实现系统登录,信息管理(包括用户信息管理、管理员信息管理、受限时段信息管理),信息浏览、查询、统计和打印管理,非法进出人员报警监控和帮助系统等功能。该管理软件以Windows 系统为平台,以功能强大的C#.NET 作为前台开发工具,后台数据库采用SQL Server 2000,服务器使用Windows 2000 操作系统,安装IIS6.0,同时各个客户端都需要安装Win2000 以上版本,系统以C/S模式进行会议数据采集,用B/S 模式进行实时数据采集,以便于实现网上数据共享。
本系统中设置的主要数据表有:用户资料表、操作员信息表、时段限制信息表、进出人员信息表和卡片信息表。
4 系统测试及分析
本会议智能安全管理系统设计完成后进行了一系列的测试,自行测试的主要内容如下:
(1) 读卡器与PC 间的通信。读卡器与PC 机通过网络能连接成功,也能将读到的标签数据成功传输到后台数据库中,如图5 所示。对有效卡(在有效时段或非有效时段) 和无效卡的读取,其LCD 显示、语音提示和相应灯亮都运行正常。
(2) 指纹识别。指纹识别需要对FPS200 芯片的3 个放电参数DTR、DCR 和PGC 进行很好设置,这3 个参数值对采集指纹图像的质量有一定影响,增加DTR 参数值延长放电时间可以减少指纹图像背景噪音;增加DCR 参数值同样起到减少指纹图像背景噪音的作用,但升高DCR 同时减少DTR以维持图像清晰度;PGC参数控制了指纹图像与背景的对比度。所以在实际工作中根据不同的工作条件需对参数进行很好调整。
(3)摄像。摄像功能基本完善,能将图片传至后台数据库中,如图6 所示。
图5 读卡器与PC 机连接读卡
}
图6 图像监控
5 结束语
本文介绍的基于ARM的RFID 会议智能安全管理系统,充分利用了ARM具有全面的、丰富的片上资源特点,从而实现了S3C44B0 X 和MFRC531 芯片的直接接口,并且还扩展了网络接口、指纹接口、音频接口和摄像接口,使得系统除了利用射频识别完成具有会议考勤、语音报警功能外,还能完成摄像识别以及通过生物识别技术的指纹识别来实现多重认证识别身份的功能,使得高级会场更加安全,这是RFID在高级会议的智能安全管理或门禁等中的很好应用,对RFID在其他领域如煤矿井下、电力企业等领域的应用也有很好的借鉴作用。
参考文献:
[1] 康东,石喜勤,李勇鹏.射频识别(RFID)核心技术与典型应用开发案例[M].北京:人民邮电出版社,2008.
[2] 杨胜春,姚学武,文孝强.基于RFID技术的电力企业人员及设备智能安全管理系统[J].东北电力大学学报,2007,27(6):54-56.
[3] 李红娟, 吴雪莉. 基于ARM 和RFID 技术的嵌入式系统研究[J].吉林化工学院学报,2008,25(1):57-59.
[4] 吴施恩,官洪运,金筱燕.基于16 位单片机的RFID智能安全管理系统[J].微计算机信息,2007,23(5-2):217-218.
[5] 牛斗,常国权,李丹.基于S3C44B0X 和MF RC500 的产品防伪系统设计[J].微计算机信息,2008,24(3-2):163-165.
[6] 荣锋,厉彦峰.基于网络的门禁系统的设计[J].天津工业大学学报,2008,27(1):56-59.
[7] 王俊宇,刘丹,魏鹏.基于射频识别的防伪系统研究与开发[J].计算机工程,2008,34(15):264-266.
[8] 邓毅华,谢胜利.嵌入式RFID 中间件的设计与实现[J].计算机工程与设计,2008,29(7):1716-1718.