当端口产生接收中断时,调用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协议完成通讯,提高了系统的实时性能,最终实现了生物识别门禁系统安全设计,具有较强的实用价值和推广性。
推荐经销商