IC卡门禁系统的设计与实现
发布时间:2006-10-14 4:06:17   收集提供:gaoqian
解放军理工大学计算机与指挥自动化学院计算机教研室 陈卫卫   随着智能化、数字化信息社会的到来,“卡”已逐渐深入到了人们生活的方方面面,比如, 金融领域的牡丹卡、长城卡、龙卡等等,还有各种电话卡、IC卡电表、用于防盗汽车上的开车门 /启动鉴别的IC卡等等。毫不夸张地说,人类将走向“卡”的世界。   人们可以持卡购物,持卡消费,持卡进出某特定场合,如宾馆,饭店,实验室等等。卡既可 以代表着一个人的身份,代表着一个人的拥有,也可以代表一个人的某种“特权”。人们正在一 步步地适应着卡,也渐渐地离不开卡。   卡是实现智能化管理和自动化管理工作的一种重要手段。   在需要掌握和控制人员出入情况的场所,比如人员阶段性流动的实验室,宾馆的客房,有特 殊需求的保密部门等等,如果使用卡开启门,代替传统的出入证和钥匙,就能使管理工作实现自 动化、智能化。不但用者方便,管理者也方便,而且工作效率和安全性都可以大大地提高。   下面介绍的IC卡门禁系统就是一个安全、可靠的电子门锁系统。使用该系统,可以方便地管 理和控制整个大楼的大门及各房间门的人员进出情况,验明出入人员的身份和出入权限,并进行 登录。为查阅各门的出入情况,进行责任追查提供了极大的方便。 一、系统简介   IC卡门禁系统是一种利用计算机进行身份验证,实现开/关门、登录用户进出门信息的自动 化管理系统。   该门禁系统的主要硬设备由一台计算机作为管理计算机(又称主控计算机)和若干台分控计 算机(又称子控模块)组成。子控模块负责各受控门的读卡(即识别进门钥匙)、开门、关门和 登录工作。主控计算机负责各门禁子系统的初始化和工作方式的设定(如延迟时间等),以及重 新设置系统数据和获取各门禁子系统的登录信息等的管理工作。   一个受控门和其对应的一个读卡器,构成一个门禁子系统,用于管理一个门。每个门禁子系 统在子控模块的控制下独立工作(即开门、关门、登录信息等)。一个子控模块可以控制一个门 禁子系统,也可以控制两个,甚至三个门禁子系统。   整个门禁系统可以配置多个子控模块,比如,如果配置128个子控模块,每个子控模块控制3 个门,那么最多可以控制128*3个门。   子控模块是该系统的专用设备,它全天24小时工作,充当电子门卫的作用。因此,它的性能 直接影响整个系统的稳定性。在制作或选用硬件时,要特别注意。目前,市场销售的,由台湾威 达集团生产的牛顿7000系列产品I-7188,可以作为IC卡门禁系统的子控模块,而且性能比较稳定, 价格也比较适中   主控计算机不必对各子系统进行全天控制,仅在系统初始化、重新设置系统,修改系统数据, 以及需要获取各门禁子系统所登录的进出门信息等操作时,才通过通信控制软件与各子控模块进 行通信联络。因此主控计算机不作为该门禁系统独占的专用设备,可以兼作它用。在任一台普通 的个人计算机(486以上)中安装本系统的控制软件,都可以充当主控计算机使用。 二、系统结构   为了使整个系统更具有安全性和灵活性,增强系统的适应性,IC卡门禁系统应当设计成一个 层次式的分级管理系统。   低层管理由子控模块完成,主要负责管理受控门和进出门的登录工作。   高层管理由主控计算机完成,主要负责整个系统的控制、协调管理工作。   这种分层管理模式,可以减小主控计算机的负荷,减少专用设备数量,降低系统制作成本, 同时也提高了系统的效率和可靠性。而且,用户可以根据实际需要,方便地、灵活地配置系统硬 件。   采用这种设计方案,系统结构大致如图一所示。 三、系统功能   IC卡门禁系统是一个管理多个受控门的电子门锁系统,每个欲进入受控门的人员(即用户), 必须向管理者(或其授权者)提出申请,并领取一张IC卡(即电子钥匙)。持卡者将IC卡插入受 控门的读卡器内,经门禁子系统验明IC卡正确无误后,受控门方能开启。   设计一个完善的IC卡门禁系统应当考虑以下几个方面。 1、IC卡的管理功能   IC卡管理功能主要完成对用户IC卡的管理工作,包括对每张IC卡数据信息的生成,登录,验 证和修改等等。每个用户可以拥有用户号、密码和开门权限(如可以进哪个门,哪几个门)和允 许进门的时间段等。这些数据有的可以直接记录在用户所持有的IC卡上,有的可以记录在系统表 格中。 为了便于用户操作,还应当配有信号指示灯,当用户插卡要求开门时,根据指示灯的颜 色、亮灭、闪烁等不同情况,直观地显示IC卡的工作状态,供用户自我判断操作正误。 2、配置管理功能   配置管理功能完成主控计算机对各子控模块工作方式的设置、控制和查询其工作状态,以及 收集接口设备传来的数据,并向其它设备提供配置等工作。 3、安全管理功能   安全管理功能主要通过验证用户号和密码的一致性、每张IC卡的有效期、记录非法操作等, 对整个系统提供安全保障,保证系统正常工作。 4、监控管理功能   监控管理功能使管理者可在主控计算机上监测各受控门的性能和工作状态,查询各受控门人 员的出入信息(包括持卡者、入门号、入门时间等)。 四、系统特点 1、安全性   设计一个门禁系统,首先要考虑的是系统安全性,即能否有效地控制人员的出入,并掌握其 出入信息。   因为IC卡门禁系统是一种智能化的电子控制系统,可以充分利用计算机的“智能”,同时采 用多种手段进行控制,以确保系统的安全可靠。其中最简单而又有效的是以下几种手段。   一是通过IC加密卡中设置的密码,进行身份验证,若密码核对几次(一般为三次)之后仍不 正确,该卡将被自动烧毁不能继续使用。这样就可以有效地防止盗用用户信息的恶意验证。   二是利用系统中的用户权限表可再次认证持卡人是否能进该门。   三是每张IC卡上都设置有效使用期限,若IC卡超过了有效期,则该用户的所有资料将从门禁 子系统控制模块中自动删除,本卡作废。 2、可靠性   可以从软件和硬件两个方面来考虑。   硬件的可靠性,除了电控锁等机械部件之外,主要考虑子控模块的制作和选用,因为它要全 天24小时不停地工作,所以对其性能要求较高,应能满足环境的温度、湿度的变化,以及抗电磁 干扰能力强等。如果选用牛顿7000系列模块作为子控模块,因为这种模块有很强的自适应功能, 能够自动调节不同波特率的信号,还有各种保护电路等等,足可以保证低层管理工作的需要。   软件设计的可靠性,主要考虑各种状态信息的获取和维护,通信协议的设计是否规范,各种 特殊情况的处理是否合理等等。比如,为了确保主控计算机与子控模块之间的通信准确无误,可 以采用自动重发纠错机制,有效地消除门禁子系统和管理计算机同时在网络中工作时可能出现的 信号冲突。 3、灵活性   由于系统中所有数据信息的设置和管理都是通过主控计算机与子控模块之间的通信完成的。 管理者便可以根据自己的需要,自由地设置密码、用户权限、门锁延迟时间等。同时主控计算机 和子控模块平时各自独立工作,仅在设置子控模块中的初始数据,修改子控模块中的数据,获取 子控模块中所记录的信息等情况下,二者才需要相互通信,进行信息交流。这种设计方法给系统 带来很大的灵活性。 4、并行性   为了降低硬件成本,可以将一个子控模块设计成同时控制多个门,比如,使用I-7188作为子 控模块时,一个子控模块可以同时控制三个门,实际上,这样配置相当于一种宏观上的并行处理 机制。 5、多功能   用户权限表可由管理者任意设置,使用起来非常灵活,很容易满足“一门一卡”、“一门多 卡”、“多门一卡”等不同的要求。 6、可扩充性   用户的需求是不断变化的,在设计系统时应留有一定的余地,保证用户的动态需求。比如, 系统中的每个子控模块都有唯一的地址,需要增加受控门数时,只要增加相应数量的子控模块和 门禁子系统,并给子控模块分配唯一的地址即可。如果采用牛顿7000系列工控模块作为子控模块, 一个RS485网络上可挂256个模块。 五、硬件简介   IC卡门禁系统的大多数硬件都可以自己动手制作,也可以选用市售产品。下面向大家介绍几 种可用于制作IC卡门禁系统的硬件产品。   台湾威达工控集团生产的牛顿7000系列产品由能完成分散数据采集及系统控制的众多模块 (module)组成,所有模块的规格均为102 2 5mm,它们能提供A/D、D/A、DI/O、Timer/Counter 等许多功能,通过一套命令集,可以远程控制这些模块的工作。在IC卡门禁系统中,可以使用其中 的I-7188、I-7060、I-7520三种模块。 1.7188   7188是一种工业应用的嵌入式控制器(embeded controller)。   它内嵌了AMD的80188CPU,主频40MHZ。内部置了ROM-DOS操作系统和ROM-DISK(192K),所以 用户程序最长可达192K。并且提供了256K SRAM和256K FlashROM(可扩充至512K),还有1K的 EEPROM,实时时钟控制器(RTC);还提供一个RS485端口,三个RS232端口(其中一个可选RS485 口);这使得它可以与各种带RS232/485的智能仪器通讯,作为协议转换器使用。除此之外,还有 电源保护电路,RS485网络保护电路等等。特别是,它支持应用程序从PC被下载(download)至7188 模块内,允许用户创建RAM-DISK,使用起来非常方便。   其中7188D型的模块还带有五位七段数码LED显示。电源需求+10V~+30VDC,功耗2W或2.2W。 2.7060   7060是一个继电器(relay)输出/隔离数字(isolated digital)输入模块。   它有四路单端数字输入,四路继电器输出,能同时控制四路继电器设备工作。高电平 3.5V~30V;低电平0~1V,输入隔离电压3750Vrms,输入阻抗3K欧,功耗0.8W,电源10~30VDC, 利用该模块可以很方便地控制电控锁的开/合状态。 3.7520   7520是RS232到RS485的协议转换模块。   其一端为RS232标准,另一端为RS485标准,内置“self tuner”芯片,自动在300~115200 BPS之间转换。电源+10V~+30VDC,功耗2.2W,利用该模块可以完成通信接口的协议转换。 4.RS485网络   RS485是功能强大,而且使用灵活的二线(two-wire)网络。 它支持多种波特率多种格式 的数据传输。所有的模块通过485端口和各自唯一的地址号共享网络上的信息。在不需中继 (repeater)的情况下,一个RS485网络上可挂256个模块,通信距离为1.2公里。 5.IC卡读写机   SURE系列全功能智能卡通用读写机具有DES加密算法功能和数据存储功能,该读写机能够 对各种IC卡进行读、写、修改操作,同时该读写机还提供多种PC机语言接口函数,便于用户 二次开发应用程序 六、软件简介   IC卡门禁系统的软件设计,按功能可分成三大部分,置于子控模块内的门禁子系统控制 和登录进出门信息的程序,以及置于主控计算机内的IC卡发放管理程序(设置IC卡)和系统 管理、监控程序。按性能要求,可以分别采用C、VB、ACCESS等语言编程实现。   要注意的是,在设计子控模块的管理程序时,由于通用读写机提供的IC卡接口程序只能用 在PC机上,而工控模块7188内部结构与PC机不同,所以不能直接使用通用读写机提供的现成的 接口程序,用户必须重新设计IC卡操作的接口程序。   在设计通信程序时,子控模块与主控计算机之间的通信协议可以采用最简单的停止等待协 议,通过设置现场信息等手段,保证通信的可靠无误。   系统中主要的数据结构是用户权限表,它包含有用户号、IC卡有效期、IC卡密码等字段。 该表应该存放在子控模块中(比如I-7188的FlashROM内),但由主控计算机利用通信软件进行 管理。   几个主要程序的流程如下。   1、插卡事件的处理流程   注:设置有/无卡标识的目的是防止某用户 忘记拔卡,而反复读卡造成记录数据区上溢,冲掉早先的记录。   2、7188内的主控模块处理流程   系统为每个受控门设置并维护一个状态信息结构,轮回查看其工作状态,保证其宏观上运 行的并行性。   经设计和测试,该IC卡门禁系统完全达到实用要求。实际上,这个系统不仅可用于门禁管 理,略加改造,还可用于考勤等其它场合。    参考文献   1.IC卡的技术与应用 王卓人、邓晋钧、刘宗祥编著. 电子工业出版社. 1999   2. ICP CON 7188 SERIES USER扴 MANUAL   3. ICP CON 7000 DIO USER扴 MANUAL(version 2.0)   4. I-7000 BUS CONVERTER USER MANUAL(version 1.0)   5. IC卡技术入门 王爱英著. 清华大学出版社. 1998   6. SURE系列全功能智能卡读写机用户手册
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50