智能门禁系统是安防监控系统的重要组成部分。在机关、工厂、公司等场所,为了工作和生活的安全,需要封闭管理。传统的方法是

安检人员在放行前对进出口进行验证或登记,效率低,劳动强度大。介绍了一种智能门禁控制器的软件设计。

1系统组成

门禁系统是在楼内主要管理区域、电梯厅、主要设备控制中心机房、贵重物品仓库等重要部位的出入口安装门磁开门器、电锁、读卡器等控制装置。系统框图如图1所示。该系统由中央控制室监控,采用计算机多任务处理,可实时控制各通道的位置、通行对象和通行时间,以适应住宅小区和办公楼的公共安全管理。

2控制器软件设计

门禁系统的主要工作过程如下:首先从读卡器读取卡号,获取读卡器号;其次,根据卡号和读卡器号从持卡人信息表、读卡器表和群组表中检索信息;第三,根据门屏蔽字检查门的时间表;第三,检查门的时间属性;最后,根据获取的信息发送命令并保存事件信息。所以门禁系统可以分为五个表:(设计一个控制器,可以容纳20000人,1000组,32个门,每个门有64个时间段)。

(1)持卡人信息表:

其中,卡号为6位十进制数,卡的类型包括卡的类型和卡的状态[2]。有四种卡类型(级别):

普通卡————受期限(日期或次数)和时间段限制的卡;

巡更卡————只记录读卡时间,没有其他功能的卡;

超级卡————受时间限制(日期或次数)而不受时间段限制的卡;

维护卡—— ——不仅具有普通卡的功能,还可以用来解除控制器的防篡改报警并恢复正常工作状态的卡。

有五种卡状态:

正常卡————功能正常的卡;挂失卡——-声明挂失卡;禁用卡————已停用的卡;无效卡——-已超过使用寿命的卡;备用卡———

未达到激活日期的卡。

组号表示持卡人属于哪个组。时间限制有三种:限定天数、限定次数、限定天数和限定次数。其中,期限和持卡人当前位置在程序中动态变化,其他项目在程序中是固定的。以上每个持卡人的信息占用16字节,计10000人,共占用160 K字节。

(2)小组表: (平均10人一组,共2000组)

组表主要用于确定每个组可以进入和退出的有效门和有效时间段。包括以下几个部分:

门屏蔽字节:每1位代表一个门的屏蔽位,1代表该门有效,表示该组可以使用该门。0表示无效,此门不能用于此组。共4个字节。周期屏蔽字节:如上,每1位代表一个有效或无效的周期,每个门最多有64个周期,占用8个字节。最多32门,占用256字节。

以上每组占用260字节,1000组共占用260K字节。

(3)时间安排:(8个时间段,每天8天(每周7天,节假日1天))

时间段表用于记录每个时间段的具体开始时间和结束时间,以及每个时间段的属性。包括以下几个部分:

以上每个时间段占用6字节,每天8次,8天,32门,共享12 K字节。

(4)读卡器表:(最多64个读卡器)

读卡器号用于比较读卡器地址和门牌号;物理源地址表示持卡人所在地区的区号;目的地地址表示持卡人想去的地区的区号;逻辑源地址用于防止反向传输,这意味着持卡人可以直接从这些区域读取卡到读卡器。每1位代表一个区域,何时

事件表用于存储每个事件信息。包括以下几个部分:

卡号(3字节)、门地址(1字节)、事件类型(1字节)、读卡时间。

其中,一个字节的门地址可以代表250个门(只用了32个门);

事件类型可以代表32个事件,定义的事件如下:

读卡引发的事件:1。媒体走出去;2.媒介打开了门;3.维护;4.久而久之;5.巡逻;挂失

非读卡引起的事件:7。非法开门;8.远程开门;9.底盘打开;10.底盘关闭;11.读卡器是防篡改的;12.读卡器恢复;13.强化;14.撤回辩护;15.电池故障;16.电池投资;17.停电;18.输入常开;19.出口常开;20.超时尚未结束;21.关上门。

每个事件消息将占用6个字节(不超过4分钟)或12个字节(不超过4分钟);

读卡时间的表达如下:

读卡时间字节存储本次读卡时间与上次读卡时间的差值。如果差值大于254 (4。2 min),这个字节设置为255 (FF),这个读卡的绝对时间(年、月、日、时、分、秒)存储在后面连续的6个字节中。

3软件实施

门禁系统的软件主要由管理中心计算机上的软件和门禁控制器上的软件组成。为了描述方便,下面的访问控制器简称为门控制器。

在门禁系统中,门禁控制器上的软件执行的主要功能包括创建表格、添加、更改和删除表格内容、判断读卡事件和存储各种事件。与门禁系统相关的任务包括门禁系统任务(即读卡事件处理任务)、网络数据接收任务、数据存储任务、系统间联动任务、数据采集中断服务程序。此外,还有一个根任务,它执行硬件设备的初始化,定义几个表的结构数组,创建任务、信号量、消息队列和实时数据缓冲池。根任务完成这些事情后,删除自己,让优先级最高的就绪任务进入运行状态。

3.1读卡事件处理任务

读卡事件处理任务的流程:首先,采集数据的中断服务程序发送的事件标志激活任务,从缓冲池中读取卡号和读卡器号或密码;其次,根据卡号、读卡器号、当前读卡时间,到持卡人信息表、读卡器表、群组表检索信息;然后,根据分组表中的门掩码字,查找门的时间表和门的时间属性;最后,根据获得的信息,执行命令并保存事件内容,修改使用次数和人员位置数据等。这个任务的优先级是200,获取信号量的方法和从网络接收数据的任务互斥。因为任务涉及几个表,数据量比较大,所以堆栈空间比较大,有500 K,它通过发送巡视事件与巡视任务进行通信[3]。超级卡程序在判断时间段的过程中少于普通卡程序,其他与普通卡程序相同;维护卡程序实现拆除门控制器的报警,使其恢复正常工作状态;巡更卡程序向巡更任务发送巡更标志。是否违反抗反向传播规定取决于具体项目和客户要求。

3.2巡逻任务

操作员在监控管理中心设置巡视路线和巡视时间表,然后下载到闸机控制器。巡更任务通过接收读卡事件处理任务发送的巡更事件标志,根据当前时间和巡更日程判断巡更是否到位,并向监控管理中心计算机发送信息决定是否报警。巡更站是读卡器,在规定的时间和误差范围内读卡,表示巡更到位,否则表示巡更不到位。巡逻任务优先级低,取100,栈取6 000。这个任务是可以抢占的,时间片是50 ns。

3.3网络数据接收任务

网络数据接收任务的功能是接收管理中心计算机或其他闸机控制器发送的数据和命令,并根据这些命令和数据进行相应的操作,如创建表格、添加、更改、删除、维护和读取事件等。这个任务的优先级是190,栈设置为600 K,可以抢占。采用客户机/服务器的通信方式,接收数据的门禁控制器为服务器,发送数据的管理中心计算机为客户机。为了方便交流,我们定义了一套数据传输格式,具体格式如下:

因为闪存不能单字节擦除重写,只能分块逐个擦除再重写,所以访问控制上的数据表只采用create和rebuild两个命令(flash可以擦除100万次)。

3.4数据存储任务和系统间链接任务

数据存储任务的主要功能是将SDRAM中的事件数据定期保存到闪存和管理计算机中。系统间联动的任务主要是响应其他系统的要求。比如火灾报警系统在报警时需要打开相关的门,而安防系统在被盗时需要关闭相关的门。这个任务优先级比较高,取230。

持卡人信息表、组表、时间段属性表、读卡器表的数据结构定义程序列表如下。

4结论

本文主要阐述了门禁软件的设计与实现。详细介绍了门禁系统的组成、基本结构、工作模式和功能。系统分析了门禁系统的工作原理。门禁控制器系统应用于出入口管理系统,提供了很高的安全保障,日益普及。