来源:中国一卡通网 作者:陈建明 梁妍 陈德慧 发布时间:2012-02-03 09:16:40 字体:[大 中 小]
摘 要:针对传统单机工作的门禁系统由于不能进行Internet通信而无法满足集中管理、数据共享、安全性能等更新、更高的要求的问题,提出了利用TCP/IP协议的以太网技术将门禁系统各节点组建成一个小型局域网进行生物识别的方法,实现对门禁各节点数据的实时更新和远程传输,达到了门禁系统操作方便、实时性强、运行可靠的网络化管理的目的。
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. 主程序设计
本程序设计首先进行初始配置,配置完成后按需要编写数据的发送或接收程序。主程序设计流程图如图4所示。
初始化功能模块是整个软件系统设计的基础,包括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协议完成通讯,提高了系统的实时性能,最终实现了生物识别门禁系统安全设计,具有较强的实用价值和推广性。
参考文献:
[1] 王汝琳. 智能门禁控制系统[M]. 北京:电子工业出版社,2004,9.
[2] 夏禹,何静. 基于TCP/IP的无线传输门禁系统[J]. 安防系统设计. 2009(12):39-41.
[3] 沈建华,杨艳琴编著. MSP430系列16位超低功耗单片机原理与实践[M]. 北京:北京航空航天大学出版社,2008.
[4]成都浩然电子有限公司. W5100数据手册. http://www.wiznet.co.kr.2008.2.
[5] 李立清,陆海. 基于嵌入式系统的TCP/IP协议栈的实现[J]. 计算机工程,2004,30(19):83-84.
[6] Si wang keJ.E.Swanke John E.Visual C++MFC扩展编程实例[M]. 北京:机械工业出版社,2000.
推荐文章
论坛热帖