来源:中国一卡通网 作者:杜明芳 发布时间:2011-03-22 15:07:56 字体:[大 中 小]
摘 要:论述了在Linux操作系统下开发基于ARM7TDMI内核S3C44B0X微处理器的智能门禁控制器以太网通信接口技术。设计了以以太网控制器芯片RTL8019AS为核心的接口硬件电路,说明了嵌入式系统应用软件开发、编译流程,开发了运行于uCLinux操作系统的服务器端程序和运行于Windows操作系统的客户端程序,实现了基于TCP/IP协议的双向通信。测试表明,系统通信正常,可以通过以太网进行远程数据传输。
1 概述
数字安防系统综合利用了现代传感技术、数字信息处理技术、计算机技术、多媒体技术和网络技术,能够实现社区各种安防信息的采集、处理、传输、显示和高度集成共享。数字安防系统包括门禁、CCTV视频监控及防盗报警3个子系统,各子系统通过监控网、信息网、电话网、电视网等不同类型的网络互联互通,达到协调运行、综合管理的目的。
门禁控制系统主要起到出入口管理的功能,并可将防盗报警信息、CCTV报警信息、消防信号等集成到门禁系统数据库,实现系统联动,因此,门禁系统在数字安防系统中占有重要地位。门禁控制器作为整个门禁控制系统的核心,完成现场数据的采集、处理、传输等重要工作。传统的门禁控制器通常采用单片机开发,采用串行通信接口向远程上位机传送数据,多个门禁控制器往往组成RS485网络。本文提出的采用嵌入式技术开发的带有以太网通信接口的全新门禁控制器架构,其CPU采用基于ARM7TDMI内核的三星S3C44B0X,以uCLinux作为嵌入式操作系统,在Linux操作系统环境下完成应用软件的开发及交叉编译。由于网络在门禁系统及整个数字安防系统中起到越来越重要的作用,因此本文重点论述嵌入式智能门禁控制器以太网通信接口的开发。与目前的基于现场总线的控制网络相比,基于工业以太网技术的控制网络是一种低成本、高性能的控制网络解决方案。以太网应用于企业现场设备控制层是网络发展的趋势,将极大地促进信息从传感器到管理层的集成[1]。
2 智能门禁控制器的总体设计
智能门禁控制系统由上位机、控制器、读卡器、电锁、门磁、识别卡和出门按钮等组成。系统结构如图1所示。
图1 门禁控制系统示意图
门禁控制系统的工作过程是:(1)从控制中心即上位机经通信接口向控制器传输事先设置好的各项运行参数,如使用人员信息、出/入门方式等,完成系统初始化工作;(2)通常情况下门禁控制器处于等待状态,当有人刷卡时读卡器通过标准的Wiegand接口将卡号传输到门禁控制器,控制器中采集数据的中断服务程序将当前卡号、卡片状态、当前时间、控制模式等信息与初始化信息进行比较,得出准许与否的结果,该结果又被送到读卡器中,向读卡人发出声光指示[2]。(3)当比较结果为准许时,控制器通过继电器驱动电控锁使之退出锁门状态。
依据以上工作过程设计出的门禁控制器总体框架如图2所示。
图2 门禁控制器总体结构
3 智能门禁控制器以太网接口硬件电路
本文采用由S3C44B0X和RTL8019AS组成的智能门禁控制器以太网接口方案。
作为一款优秀的网络控制器,基于S3C44B0X处理器的系统必须要有以太网接口电路才能发挥其网络应用的特长。以太网接口电路主要由MAC控制器和物理层接口(physical layer, PHY)组成。S3C44B0X片内已有带MII(media independent interface)接口的MAC控制器,故只需再外接一片物理层芯片,以提供以太网的接入通道。这里选择Realted公司生产的高度集成的以太网控制器芯片RTL8019AS。此芯片支持IEEE802.3;支持8bit或16bit数据总线;内置16KB的SRAM,用于收发缓冲;全双工,收发同时达到10Mb/s;支持10Base5、10Base2、10BaseT,并能自动检测所连接的介质。数据的发送校验,总线数据包的碰撞检测与避免是由RTL8019AS自己完成的。设计出的以太网接口电路图如图3所示。
图3 以太网接口电路
信号的发送和接收端通过网络隔离变压器FC-518LS和RJ45接口接入RTL8019AS,RTL8019AS也带有MII接口,可通过次接口再与S3C44B0X所带MII接口相连,从而组成了以太网信号传输的硬件通道。
4 智能门禁控制器的以太网接口软件
网络通信的本质是进程间的通信。套接口地址的格式是一个IP地址和一个端口号,套接口是进程间通信的端点,每个套接口的名字都是唯一的,所以依靠套接口来确定整个Internet域中的一个网络进程[2]。当服务器和应用程序需要和其他进程通信时就需创建套接口[3]。TCP和UDP是传输层协议,TCP是保证传输的面向连接的协议,而UDP是无连接协议,不能保证消息传送到目的地。本设计选择TCP协议,运用套接口编程技术实现服务器端、客户端之间的通信。服务器端软件运行在装有uCLinux内核的ARM开发板上,客户端可以是Linux或Windows操作系统下的浏览器,也可以是专门开发的基于TCP/IP协议的客户端软件。
本文以门禁控制系统的读卡器读卡事件为例,,说明 Linux环境下服务器端软件的开发。
Linux开发环境的建立包括:制作Windows 和 Linux双启动系统;给S3C44B0X烧写 BootLoader程序blob.bin,烧写uCLinux内核、根文件系统映像文件;对宿主机进行安全级别设置等步骤。在开发环境搭建完毕的情况下编写服务器端的网络通信程序,流程如图4所示。
图4 主程序流程
为编写好的服务器端程序编写Makefile文件,然后在Linux终端下调用make命令,系统就会根据Makefile文件所定义的规则最终生成可执行文件。再进入minicom环境,重启开发板,进入指令输入状态。调用mount指令挂载宿主机上可执行文件所在的目录到uCLinux的/host目录,挂载成功后就可将/host 下的可执行文件用cp命令拷贝到/mnt/yaffs目录下,这样uCLinux一启动就会自动执行该程序。程序运行到调用完accept函数会阻塞在此处,直到有客户端的接入。
5 以太网通信测试
为了验证以上服务器端程序,用 VC++开发了 Windows平台上的基于TCP/IP协议的客户端程序,通过该客户端模拟用户刷卡等事件,可与uCLinux平台上的服务器端程序通过以太网进行通信。测试结果表明,通信正常,程序反应速度较快,达到了预期的设计目标。仿真测试如图5所示。
图5 仿真测试
6 结束语
本文以Linux 嵌入式操作系统为基础,同时以嵌入式uCLinux作为板子的操作系统并运行在ARM硬件平台上。测试与评估表明,本设计符合高级智能型门禁控制器的软、硬件需求,具有良好的可裁减性、可扩展性,在未来的发展中必将赢得广阔的发展空间。
以太网网络通信接口的设计与实现解决了门禁系统采用RS485传输信号速率较慢的问题,更重要的是它还符合网络扁平化的发展趋势,即做到了不使用任何网关就能将控制器网络与信息网络无缝地集成在一起,统一到一个都使用TCP/IP协议的网络之中。数字安防系统的发展趋势是一体化集成,该接口的实现为一体化集成提供了有力的途径,将会促进数字安防系统的快速发展。
作者简介:杜明芳(1976-),女,硕士、讲师,主研方向:分布式控制系统,智能信息处理
参考文献
1 李正军. 现场总线及其应用技术[M]. 北京: 机械工业出版社, 2006: 488.
2 王汝琳. 智能门禁控制系统[M]. 北京: 电子工业出版社, 2004.
3 李驹光. ARM应用系统开发祥解——基于S3C4510B的系统设 计[M]. 北京: 清华大学出版社, 2003.
4 Wall K. GNU/Linux编程指南[M]. 北京: 清华大学出版社, 2002
推荐文章
论坛热帖