摘 要:以射频卡识别技术和嵌入式Internet技术为重点,研究开发了一种多功能网络化的安防嵌入式系统。系统可单机或联网运行,通过对卡的操作实现身份认证、收费、考勤及门禁等功能,并可用一卡实现多种功能,具有广阔的应用前景。
关键词:安防嵌入式系统单片机非接触式IC卡嵌入式Internet 一卡通
非接触式IC智能射频卡具有无电源、免接触、高度的安全保密性及实现“一卡通”等优点[1],应用前景广阔。现有的安防系统多数利用RS-232和RS-485串行通信进行联网,需专门布线,成本高,传输距离近,联网范围和数量都受到限制。本文将先进的射频卡辨识技术[1]和嵌入式Internet技术[2][3]应用于安防系统中。该系统的设计保留了现有系统的优点,扩展了对非接触式IC卡的处理及利用互联网传输数据的能力,建立了运行、监视、控制三位一体的安防系统,推动了安防产品的智能化和网络化。
1 系统整体设计
本文所设计的现代安防辨识系统结构框图如图1所示。整个系统分为3层:上位机(PC端)、下位主机(简称主机)和下位子机(简称子机)。上位机通过以太网与主机通信,主机则通过RS-485网络与子机连接。
上位机用于监控和数据收集,主要作用是对下位机(与子机的通信通过主机)进行参数设定、运行状态监控和数据收集。
主机和子机在结构上完全相同,运行时主机直接与上位机通信,子机则通过主机间接受控于上位机。主机和子机(统称为下位机)是安防系统的操作前端,实现对各类卡数据的处理,然后将处理结果暂存在内部RAM中,主机读取子机的数据。主机中暂存本身及所连接的所有子机的数据,当上位机下发数据上传命令时,主机就将内存中的数据上传给上位机。
下位机是作为主机还是子机运行,以及运行中的其他参数,如工作模式、机号、时间和波特率等,可以通过上位机设定,也可以通过下位机自身单独设定。
非接触可读写IC卡的卡片本身可以存储数据,下位机可单独对所存储的数据进行操作,一般不必和上位机的数据库进行通信,这与操作条码、磁卡、EM卡等卡片不同;同时下位机把每次操作的结果记录下来,定时上传给上位机的数据库进行备份或做其他处理。
2 下位机与上位机的硬软件设计
2.1 下位机的设计
下位机(包括主机和子机)是安防系统的前端处理设备,实现安防系统的主要功能,因此设计效果直接影响整个安防系统的性能。
2.1.1 下位机的硬件设计
下位机的硬件结构框图如图2所示,由主CPU模块、卡处理模块、上网模块、以及外存储器、键盘、显示、通信等部分组成。
主CPU模块是整个下位机的核心,实现对各种辨识数据的处理及复杂的TCP/IP协议。本系统中选用了SST公司的89E564RD单片机,完全与51系列单片机兼容,具有“在应用中编程”(In-Application Programming)功能,有利于程序的运行调试和系统的升级。由于数据总线上的外部器件较多,并且考虑到系统的扩展和升级,在硬件设计中使用了74HC245总线驱动器和138地址译码器,并扩展了1片并行接口芯片8255。
系统的外存储器是1片128KB的SRAM628128和1片2KB的24C16。24C16与89E564RD按I2C总线协议进行数据传输,占用2根信号线,主要用于存放管理卡号、系统密码、工作模式、IP地址、网关地址以及其他可配置的信息。在系统中上位机从下位机读取数据一般采用定时读取方式。由于下位机在没有上传数据以前需要暂存大量数据,同时以太网数据包的收发以及实现复杂的TCP/IP处理也需要占用大量的内存空间,因此在系统中用了1片SRAM628128以扩展存储容量。为了防止SRAM628128突然掉电丢失数据,在设计中为其外接了1块3.6V的后备电池,以提高存储的可靠性。
卡处理模块的功能相对独立,单独使用了一个微处理器来进行卡操作。上网模块可实现10BASE-T以太网数据传输。卡处理模块和上网模块是本系统中的重点。
2.1.2 下位机的软件设计
下位机程序基本流程如图3所示。程序开始对系统硬、软件进行初始化,初始化包括读取工作模式、设定串行通信的波特率、初始化键盘、显示及复位上网模块等。完成初始化后,程序进入循环处理。卡处理程序根据系统的功能设定来使卡操作模块完成相应的功能。
根据初始化时的设定,下位机可作为主机或子机使用,只有主机才可以与上位机通过以太网或专用的RS-232网络通信,并在没有上位机命令时扫描子机,子机只能通过RS-485端口与主机通信。
整个程序采用结构化设计,结构简单,便于移植和扩充。
2.2 上位机监控软件设计
监控软件实现PC机对下位机或卡处理模块的监视和控制。本系统的PC机监控软件主要有2个独立的部分:上位机通过专用网络(RS-232或RS-485)与下位机进行通信的监控软件;当卡处理模块独立使用时,PC机对卡处理模块的监控软件。
系统的上位机与下位机进行通信的监控软件主要是下发命令参数、上传命令的执行结果及上传下位机内存中的数据等。
3 卡处理模块和上网模块的设计
3.1 卡处理模块的设计
卡处理模块根据接收的命令完成对各类卡片的操作,其中最主要的是卡号的读取。对于可读写卡,还包括卡上数据的读写、值的加减、密码的验证与修改等,并将处理结果送给主CPU或上位PC机。
3.1.1 卡片的选择
非接触式IC卡的优点:可靠性高、安全性好、操作使用方便、能应用于不同的系统,并可一卡多用(一卡通),用户可根据不同的应用设定不同的密码和访问条件,而卡的各种应用之间相互独立,互不影响。选择Philips公司生产的Mifare系列卡作为系统的主要辨识卡。对于其他仍在广泛使用的卡片,系统中有相应的接口进行接收和处理。
3.1.2 卡处理模块的硬件电路设计
卡处理模块硬件电路结构图如图4所示。其核心部分由一个控制用微处理器和一个Mifare基站芯片组成。其他辅助电路包括天线模块、RS-232通信电路、复位电路、LED状态显示和蜂鸣器驱动电路等。
控制用微处理器选用ATMEL公司的AT89C52单片机,该单片机具有省电的空闲(IDLE)模式和掉电(POWER-DOWN)模式,适合嵌入式系统的设计和应用。Mifare基站电路的核心是Philips公司的读写卡专用芯片MF RC500。RC500符合ISO14443A标准,外接天线后读卡距离可达到10cm。天线模块完成RC500与卡片的数据交换,它是一个LC谐振电路,工作于13.56MHz,天线的性能直接影响读卡的距离和灵敏度。为增加读写器模块的通用性,使其可独立工作,模块设计时还增加了串行通信和ABA信号输入口。
3.1.3 卡处理模块的软件设计
卡处理模块的工作过程:(1)接收上位主CPU或PC机的命令。(2)根据命令对RC500进行操作实现对卡的处理并返回处理结果。(3)将处理结果回送到上位主CPU或PC机。其流程图如图5所示。
在程序的初始化部分,主要对RC500进行基本的工作配置,设定串口通信的波特率以及复位声光信号等。
为节省电能消耗,程序中设置了省电模式。省电模式包括RC500的掉电模式和单片机本身的空闲模式。任何被激活的中断(包括内部中断和外部中断)都可使微处理器退出空闲模式。实验证明,在空闲模式下,整个读写器比正常工作模式节省电流可达90%,这对于手持式读写器等利用电池供电的场合具有重要意义。
对所接收命令的执行是程序的重点部分,微处理器对卡的所有操作都是通过RC500来完成的,而RC500对卡片的操作是通过天线发送一些指令代码来完成。微处理器获取正确的卡片数据后,按一定格式上传给上位机或主CPU,并驱动声光信号提示操作正确。若没有获得正确的数据或在规定的时间内RC500没有返回数据,则驱动相应的声光信号指示操作错误,同时回送相应的错误码。
3.2 上网模块的设计
3.2.1 上网模块的硬件电路设计
上网模块的硬件电路框图如图6所示。电路中的主要部件是RTL8019AS以太网控制器,由主CPU对其进行控制实现上网,能满足安防系统数据远程传输的要求。RTL8019AS内置了10BASE-T收发器,因此采用10BASE-T布线标准通过双绞线进行以太网通信。
3.2.2 上网模块的软件设计
上网模块的软件设计的关键是如何实现单片机接收和发送具有以太网协议格式的数据包。最通常的以太网系统是采用IEEE802.3标准的10BASE-T,它的传输速率可达10Mbps,使用双绞线连接,采用CSMA/CD协议控制连接的设备争用线路。程序对RTL8019AS的操作主要包括芯片初始化、发送和接收以太网数据三部分。
RTL8109AS的初始化程序主要包括对芯片的复位和参数初始化。芯片的复位是通过网卡的RSTDRV引脚进行复位。芯片正确复位后,对其相关内部寄存器进行初始化设置,使网卡正常工作。内部寄存器中最重要的是命令寄存器CR。CR主要用于选择寄存器页、启动或停止远程DMA操作以及执行命令;然后对芯片的物理地址进行设置。此时的网络模块就能正确发送和接收数据包了。
数据的发送过程包括3个步骤:数据包的封装、通过远程DMA将数据包送到数据发送缓冲区以及通过RTL8019AS的本地DMA将数据送入FIFO进行发送。
数据接收可以采用中断或寄存器标志的方式。本系统中使用查询寄存器的方式。单片机扫描发送缓冲区的读指针BNRY和写指针CURR,当BNRY不等于CURR-1时,表明RTL8019AS收到一个以太网数据包。此时单片机启动远程DMA读取数据并进行处理。
4 系统调试与应用
按照上述设计制作的现代安防辨识系统,其系统调试过程与调试结果为:(1)给下位机确定一个IP地址,该IP地址应与实验的局域网的IP在同一范围内且与其他计算机的IP地址不冲突。本系统用于测试的局域网的IP地址为 192.168.x.x,网关为192.168.0.1,下位机的IP地址设置为192.168.0.6。(2)将下位机接入局域网,并在下位机的内存中存入16个卡号。(3)打开局域网内的任意一台计算机,启动IE并在地址栏内输入http://192.168.0.6/即可看到系统主页。(4)输入一个错误的密码,点击发送按钮,下位机返回密码错误提示页面。(5)点击“重新输入密码”,系统再次回到主页面(这次输入正确的密码并发送)。系统将内存中的数据按表格的形式在上位机中显示出来。页面中的数据后10位为卡号,每条数据以字母“K”开头,后面是机号和刷卡时间。
本系统进行了全面的调试和验证,并已投入实际应用。结果表明系统运行可靠、功能完备、效果良好。
5 结束语
本文介绍的智能化、网络化的现代安防辨识系统,涉及射频识别、数据采集与处理、嵌入式Internet及串行通信等方面的技术,其中以射频识别和嵌入式Internet为重点,实现了安防系统中对非接触式IC卡的操作处理和单片机控制网络芯片通过互联网传输数据,推动了安防系统网络化、智能化的进程。
参考文献
1 Sakamura K.Radio Frequency Identification and Noncontact smart cards.IEEE Micro,2001;21(6)
2 Agranat I D.Engineering Web Technologies for Embedded Applications.IEEE Internet Computing,1998;2(3)
3 Lee K B,Schneeman R D.Internet-based Distributed Measurement and Control Applications.IEEE Instrumentation & Measurement Magazine,1999;2(2)
4 Riihijarvi J,Mahonen P,Saaranen M J et al.Providing Network Connectivity for Small Appliances:a Functionally Minimized Embedded Web Server.IEEE Communications Magazine,2001;39(10)
5 张连明,霍迎辉.嵌入式系统的设计与开发.国外电子元器件,2004;(1)
6 鲁士文.计算机网络协议和实现技术.北京:清华大学出版社,2000
7 赵海.嵌入式Internet——21世纪的一场信息技术革命.北京:清华大学出版社,2001
8 曹宇,魏丰,胡士毅.用51单片机控制RTL8019实现以太网通讯.电子技术应用,2003;29(1)