摘要:针对传统单机工作的门禁系统由于不能进行Internet通信而无法满足集中管理、数据共享、安全性能等更新、更高的要求的问题,提出了利用TCP/IP协议的以太网技术将门禁系统各节点组建成一个小型局域网进行生物识别的方法,实现对门禁各节点数据的实时更新和远程传输,达到了门禁系统操作方便、实时性强、运行可靠的网络化管理的目的。
一、引 言
门禁系统【1】,又称为出入口控制系统,是安防领域的基础平台。随着计算机技术和网络技术的迅猛发展,门禁控制系统不断朝着集成化、智能化、网络化等方向发展。由于Internet网和以太网在全世界范围的广泛应用,网络化门禁控制系统已经成为门禁系统的重要发展方向,而TCP/IP协议以其独特的技术特点成为了网络化门禁系统的首选【2】。利用TCP/IP协议的网络通信门禁系统通过组建一个小型的局域网,很容易实现数据的远程传输和门禁各节点间的数据交互更新。
本文是利用TCP/IP协议的生物识别门禁系统的研究,利用网络接口芯片的工作原理实现网络通讯,对持卡人信息进行及时更新且上传给上位机进行监测,以判断是否允许进入,最终实现防止刷卡一次多人尾随进入、一卡多刷以及对进出人员数据远程网络化管理的目的。
二、系统的总体设计
门禁系统总体设计由门禁控制器、网络通讯模块、信号采集模块、控制机构、调试及仿真接口、RJ-45接口电路等组成。
本系统设计采用16位单片机MSP430F149作为控制核心,以集成TCP/IP协议的W5100芯片搭建以太网通讯模块,利用以太网通信模块实现门禁控制器与上位PC机的通信。通过以太网模块将门禁系统各节点整合到一起,且每个节点都有对应的IP地址,使门禁各节点与上位机组建成一个小型局域网,实现了数据的远程传输和各门禁节点数据的交互更新。
三、门禁系统的核心硬件设计
1. 门禁控制核心
为了使系统的反应时间及处理能力能较好地满足实时性要求,并能在尽量不外扩存储资源的前提下满足存储1000多名用户数据的需要,且实现外围需要外接多种接口的传感器、通讯模块等资源的目的,本文选择了TI公司的16位单片机MSP430F149【3】。MSP430F149不仅处理速度较快且带有丰富的接口、存储和模块资源(1.8-3.6V供电电压;2K RAM ;60 KB+ 256B Flash Memory;两个 UART 接口;一个 SPI 接口;8通道12-Bit 模数转换器;P1、P2外部中断复用;高速捕获/比较寄存器;硬件乘法器;温度传感器等),而且其抗干扰性能、稳定性、较宽的供电电压范围,这些特点能很好地适应于较为苛刻恶劣的环境。
2. 以太网通讯模块
该模块的主要任务是完成与外界信息的交互,以实现门禁控制器与上位PC机的通信,设计中采用TCP/IP协议技术,实现信息数据的远距离传输和处理。本文采用内部集成了TCP/IP协议的W5100网络接口芯片作为以太网通信模块的控制核心。
W5100的主要特点及应用【4】有:W5100是一款多功能的单片网络接口芯片,内部集成有10/100 以太网控制器,主要应用于高集成、高稳定、高性能和低成本的嵌入式系统中。它还集成了全硬件的TCP/IP 协议栈【5】、以太网介质传输层(MAC)和物理层(PHY)。硬件TCP/IP 协议栈支持TCP、UDP、IPv4、ICMP、ARP、IGMP和PPPOE,这些协议已经得到了多年的验证。W5100还支持4个独立的Socket通信,内部16KB 的发送/接收缓冲区可快速进行数据交换。使用W5100可以实现没有操作系统的Internet 连接,使用时不需要考虑以太网的控制,只需要进行简单的端口(Socket)编程。它提供直接并行总线、间接并行总线和SPI 总线3种接口,与MCU 接口非常简单,就像访问外部存储器一样;支持3.3V 工作电压,I/O 口可承受5V 电压,便于和普通单片机的连接通讯。
在接口电路中,以太网芯片W5100利用SPI接口与单片机连接进行数据的接收或发送。将网络接口芯片W5100的以太网物理层信号管脚RXIP、RXIN、TXOP、TXON与网络变压器进行纯硬件连接,来完成数据信号的传输和电平隔离作用。利用内部集成了TCP/IP协议的W5100构成的以太网模块,操作简单,访问其内部的寄存器,就像访问存储器一样,只需写一些简单的socket程序即可完成以太网通讯任务,使电路简单、可靠,便于应用。
3. 外围接口部分电路的设计
该系统中需要接入多种传感器信号、韦根信号以及要输出控制继电器等,这些输入信号和控制信号的供电范围各不相同且继电器之间的电磁干扰也比较严重,对重量传感信号的采集极为不利。因此在设计这些接口部分时一定得做好隔离措施,本文采用TLP521光耦来实现各种信号的隔离输入和输出。
TLP521这种可控制的光电耦合器件广泛应用在电路之间的信号传输,使前端与负载完全隔离,以实现增加安全性,减小电路干扰,简化电路设计的目的。
四、系统软件设计
1. 无线通信模块软件的设计
TCP是面向连接的通信方式,首先必须建立连接,然后利用IP地址和端口号进行数据通信。本文采用TCP客户模式,在建立TCP连接之前,需要初始化端口。在设计中,W5100产生的建立连接、终止连接、接收数据、发送数据和超时等事件,都可以从中断状态中获得。
当端口产生接收中断时,调用S0_rx_process将端口接收到的数据缓存到Rx_buffer数组中,并返回接收的数据字节数。当读完所有的数据后,将S0_RX_RD的值加上读取的数据长度,再写入S0_RX_RD,最后S0_CR写入RECV命令,以等待下次接收数据。但要注意在计算实际物理偏移量rx_offset时,S_RX_SIZE必须保证和在初始化代码中定义的接收缓存区的大小一致。通过Socket发送数据时,首先把要发送的数据缓存在Tx_buffer中。发送时还需先检查发送缓存区的剩余空间的大小,然后控制发送数据的字节数。在数据发送处理过程中,剩余空间的大小将因写入数据而减少,发送完成后又自动增加。把Tx_buffer的数据完全写入端口的发送数据缓存区后,将端口S0_TX_WR中的值加上写入的数据长度,再写入S0_TX_WR,以指示发送数据的长度,最后在S0_CR中写入SEND命令,以启动发送。
2. 主程序设计
本程序设计首先进行初始配置,配置完成后按需要编写数据的发送或接收程序。
初始化功能模块是整个软件系统设计的基础,包括MSP430F149的初始化和W5100的初始化。主要有:合理配置I/O,设置继电器状态、工作模式、时钟、地址寄存器及中断向量等。通过设置W5100内部的控制寄存器,灵活创建和选择TCP套接字来完成网上的数据交换。
发送或接收功能负责独特数据包的生成和发送。数据的发送或接收只需对W5100进行简单的端口发送或接收过程的编程,结合硬件而完成整个发送或接收过程。
3. PC机程序设计
上位管理计算机负责对多个通道进行管理,包括人机界面,控制电路参数设置,数据库的存储和更新,同步多个控制电路内的数据库。PC机管理软件是在Windows XP操作平台上利用Visual C++6.0【6】开发的,运用多线程的技术,主线程主要包括数据库管理、报警等模块;辅线程采用Socket编程在后台运行,自动进行数据的接收、分离、插入数据库的操作,使系统具有友好的人机交互界面,显示直观,操作方便。
五、结束语
本系统是兼容TCP/IP协议的生物识别门禁系统,已投入实际运行,操作简单、稳定、可靠、实时性强。系统设计开发过程中充分运用了软硬件协同的设计思想,各部分尽量采用模块化设计,采用了MSP430F149单片机作为控制核心,采用W5100芯片搭建整个以太网通讯模块,使得整体系统的开发难度大为降低,同时也提高了系统整体的稳定性和集成度,使得MSP430F149单片机控制核心能以较为丰富的资源专注于处理控制任务而不必去处理TCP/IP协议完成通讯,提高了系统的实时性能,最终实现了生物识别门禁系统安全设计,具有较强的实用价值和推广性。