随着信息技术的发展,人们安全意识的增强,电子锁技术得到了迅猛的发展。电子锁系统早已超越了单纯的门道及钥匙管理,并已经逐渐发展成为一套完整的出入管理系统。电子锁系统的发展经历了单一密码键盘电子锁系统、IC 卡电子锁系统、非接触式IC 卡电子锁系统,到现在最新的生物识别系统。其中,非接触式IC 卡电子锁系统由于其技术成熟、价格低廉、使用方便等优越的性能,已经得到了广泛的应用。本文在对RS485 和TCP/IP 通讯协议研究的基础上,提出了一种基于射频识别技术的非接触式IC 卡电子密码锁系统。
2.系统结构
系统采用分层次分布式集中控制方案,将所有电子密码锁组成一个分布式网络,其总体结构如图1 所示。整个系统包括管理中心服务器、用户楼栋PC、电子密码锁三层结构。
图1 系统结构图
管理中心服务器是整个电子密码锁系统的管理和控制中心,同时运行有电子密码锁管理 系统程序和数据库。数据库采用支持网络通讯的数据库结构,方便功能的扩展。为了达到对 所有电子密码锁进行统一安全管理的目的,用户通过使用非接触式IC 卡并输入密码来打开 电子密码锁,并将用户的IC 卡信息、*时间等存入数据库。管理员通过电子密码锁管理 系统程序可以清晰的查询到每个电子密码锁的使用状态、进出记录等。
用户楼栋 PC 采用RS485-TCP/IP 通讯转换器,负责电子密码锁与管理中心服务器的信 息交互,实现数据转发的功能,实现RS485 和TCP/IP 通讯协议的转换,本身并不直接控制 电子密码锁的动作。它的主要作用是将电子密码锁的RS485 信号转换成为TCP/IP 信号,从 而直接接入局域网,实现管理中心服务器与电子密码锁之间的通讯。
3.电子密码锁设计
3.1 工作原理
非接触式IC 卡电子密码锁系统以射频识别技术为核心,主要使用了一片Mifare 卡专用 的读写处理芯片MFRC530。它是一个小型的、最大操作距离达10 厘米的Mifare 卡射频基 站,其功能包括调制、解调、产生射频信号、安全管理和防冲撞机制,是与非接触式IC 卡 实现无线通信的核心模块,也是读写非接触式IC 卡的关键接口。 本系统中当有卡进入射频天线感应区内时,电子密码锁读取非接触式 IC 卡的卡号,并 将所读卡号和用户密码存入存储器,同时将用户卡号及刷卡时间发送给用户楼栋PC,并在 LCD 液晶显示器上显示用户信息。当没有卡进入射频天线感应区时,MCU 读取实时时钟芯 片中的时间,并在LCD 显示器上显示当前时间及日期。
3.2 硬件组成
每个电子密码锁都能独立完成门状态和锁状态的监控、识别卡是否有效、实时监控刷卡 动作、控制电子密码锁和报警器、读取键盘信息等一系列的操作。电子密码锁系统的硬件部 分主要包括射频基站MFRC530、键盘输入模块、LCD 液晶显示、监测控制模块、RS485 通 信接口、时钟DS1305、信息存储单元及蜂鸣器报警。电路的硬件框图如图2 所示:
(1)系统采用单片机STC89C58RD+作为控制芯片,它是电子密码锁系统的控制核心, 用来控制并协调处理电子密码锁系统的数据信息。STC89C58RD+内置32K 的Flash 存储器 和1280 字节RAM,具有3 个16 位计数器和一个标准的串行通信口,并具有P4 口、加密 性强、超强的抗干扰性、超低功耗、在线系统可编程和可远程升级等优点。
(2)射频基站模块采用了飞利浦公司的MFRC530 芯片,MFRC530 是与射频卡实现无 线通信的核心模块。它根据寄存器的设定对发送缓冲区中的数据进行调制得到发送的信号, 通过由TX1,TX2 脚驱动的天线以电磁波的形式发出去,非接触式IC 卡采用RF 场的负载 调制进行响应。天线拾取非接触式IC 卡的响应信号经过天线匹配电路送到RX 脚,MFRC530 内部接收缓冲器对信号进行检测和解调并根据寄存器的设定进行处理。处理后的数据发送到 数据总线上等待MCU 读取。MCU 与MFRC530 采用SPI 总线方式进行通讯,可实现与非接 触式IC 卡数据的无线传输[3]。
(3)信息存储单元主要用来存储用户的交互信息,并防止出现网络故障时,影响电子 密码锁的正常使用,从而实现电子密码锁的隔离性。存储单元的用户信息和服务器数据库信 息要求一致。信息存储单元采用Ramtrom 公司生产的一种铁电存贮器(FRAM) FM38081,存 储容量为32k×8bits 的新型FRAM,具有高速读写、超低功耗和无限次读写等特性,特别适 合那些对数据采集、写入时间要求很高的场合。由于MCU 不具有IIC 总线接口,FM38081 与外部接口需要采用工业标准IIC 总线,因此本系统采用P2.3 和P2.4 口线来模拟IIC 总线。
(4)系统在刷卡时需要记录刷卡的时间,通过采用美国DALLAS 公司推出的低功耗串 行通信接口专用芯片DS1305 来提供一个准确可靠的时钟。DS1305 支持通过SPI 串行数据 端口或标准的三线接口进行时间的校正和数据的读取,可进行单字节的连读字节束发方式的 访问。在本系统中,采用SERMODE 接地、使用三线串行方式与单片机进行数据通信:SCLK 作为时钟输入,SDA 作为串行数据输入和输出,RST 作为通讯允许信号。
(5)检测控制模块主要是实时监测门、锁状态和通讯的状态,并执行控制器的各种控 制信息,如执行*、执行报警等;LCD 液晶显示部分选用以ST7920 为控制器的128×64 带汉字库的液晶模块,用以显示时间日期及各种状态信息,作为人机交互的界面;键盘输入 模块采用4*4 键盘输入,主要为MCU 提供用户的输入信息;蜂鸣器报警部分则为电子密码 锁的错误状态发出报警的声音。
4.软件设计
电子密码锁系统的程序包括:MFRC530 对非接触式IC 卡的操作程序、MCU与MFRC530 通信中断处理程序、读写时钟芯片DS1305 及LCD 液晶显示程序、检测门和锁状态程序及 存储器读写程序等。电子密码锁主程序流程图如图3 所示。
图 3 电子密码锁主程序流程图
5.存在的问题及解决方案
5.1 分布式结构和集中统一管理相结合
建立分布式电子密码锁管理系统的一个关键技术是分布在不同地方的电子密码锁与管 理中心服务器之间的数据传输方式。如果电子锁通过RS485 信号直接和服务器交互信息, 将会导致传输距离较短、信息交互速度较慢、抗干扰能力差等问题的发生。而TCP/IP 协议 则有传输速度快、传输距离无限大、通讯质量稳定、不易受到外界干扰等优点。因此,在实 现过程中,通过使用RS485-TCP/IP 通讯转换器来实现RS485 和TCP/IP 通讯协议的转换, 实现了信息的转发。
5.2 电子密码锁的隔离性
在电子密码锁系统中,将每个电子密码锁的用户信息(如卡号和密码)存储在对应电子 锁的信息存储单元中,电子锁控制器读取信息存储单元中的对应用户信息,并通过和用户输 入信息进行比较来判断当前用户的合法性,确保管理中心服务器或通信网络出现故障时,不 会影响电子锁的使用,实现电子密码锁的隔离性。
5.3 电子密码锁的防冲突性
射频卡有快速防冲突机制,能防止卡片之间出现数据干扰,因此电子锁读写器可以“同 时”读取多张非接触式射频卡的卡内信息,但实际只读取了其中一个非接触式射频卡,通过 在液晶显示屏上显示正在处理的非接触式射频卡的卡内信息,来提示用户输入对应的密码, 解决了多个非接触式射频卡和密码出现不一致的问题。
5.4 系统的安全性
对 IC 卡信息的加密是决定IC 卡安全性的关键。由于本系统采用PHILIPS公司的Mifare 卡,它是一种智能卡(smart card),内建有中央微处理机(MCU)和ASIC 等,使卡在安全保密性、 认证逻辑、算术运算等微操作控制有序进行。要访问一个Mifare 类卡的数据,首先要完成 认证。Mifare 卡的认证采用三次认证的过程,这个过程可由自动执行Authbent1 和Authbent2 命令来实现。采用此法后,可有效防止IC 卡的非法复制与数据非法修改。在系统实现过程中,通过将非接触式IC 卡和输入用户密码结合在一起,并做好日志记录,真正实现了电 子密码锁系统的安全性。
6.结束语
系统采用高性能的控制芯片 STC89C58RD+并结合技术成熟的射频识别技术,分析了非 接触式IC 卡电子密码锁的硬件组成和软件设计,提出了一种基于射频识别技术的非接触IC 卡电子密码锁系统的解决方案。本系统的设计体现了方便、安全、可靠、高效的电子锁系统 设计理念,系统功能可以加以扩展,适用于住宅小区、商场、办公楼、学校等各种场所。实 践表明,系统运行稳定、实时性好。