来源:微型机与应用 作者:吴力普, 孙启帅 发布时间:2017-10-19 15:17:54 字体:[大 中 小]
摘 要:设计一种基于韦根协议的门禁系统多路控制器。以AVR单片机作为控制核心,时钟电路、火灾报警输入电路、按键与门磁输入电路以及锁电路作为组成部分,单片机通过接收新的协议(多路通信协议)信息来完成对多个门的控制。
近几年,一些重要机关、科研实验室、档案馆以及其他一些重要部门对于智能建筑的安全性要求越来越高,门禁系统是在现代智能建筑中应用比较广泛的一种安全设施,它能管理人群的进出,限制未授权人士随意出入某些区域。目前,市场上存在的门禁控制器大部分是单门控制,而两门或者多门的控制器成本较高,因此,本文设计了一款价格成本比较低的、可同时支持多路刷卡的门禁控制器应用于门禁系统中。该控制器除了可以控制多路门的进出之外,还可以实现火灾报警,记录刷卡、读取门状态、火灾报警等操作的时间,以及传送通信协议等功能。
1 结构和功能介绍
图1为门禁控制器[1]的系统框图,整个门禁控制器可分为电源模块、单片机最小系统、时钟电路、火灾报警输入电路、按键与门磁输入电路、韦根接口与光耦电路、锁电路与报警联动输出电路等单元。其中,电源模块用来给整个系统供电,时钟电路用于记录刷卡以及相关操作的时间,火灾报警输入电路用于火灾发生时的报警信号输入,按键与门磁输入电路用来检测门的开关信号,韦根接口与光耦电路用来接收韦根数据,锁电路与报警联动输出电路用来输出火灾发生时的报警信号并决定锁的开关。单片机通过韦根接口输入的数据来判断哪个门有人刷卡,并记录刷卡的时间以及控制门的开关。同时当有火灾发生时,火灾报警输入电路会给单片机输入一个报警信号,单片机通过判断此信号决定锁电路的开关并使报警联动输出电路输出一个信号给报警装置来决定报警与否。单片机通过判断按键产生的信号来判断内侧门的开关[2]。
1.1 电源模块
电源模块如图2所示,1205是一个隔离电压转换模块,输出的5 V电压为系统中的单片机最小系统以及时钟模块供电;LM7805是一个三端稳压模块,输出的5 V数字电压给系统中起隔离作用的光耦电路供电。
1.4 锁电路与报警联动输出电路
图5为锁电路与报警联动输出电路原理图,通过单片机的一个管脚对此进行控制。当此管脚为高电平时,继电器的线圈得电,锁电路闭合,同时给报警电路输出一个报警信号;当此管脚为低电平时,继电器的线圈失电,锁电路与报警联动输出电路无动作。
1.5 火灾报警输入电路
火灾报警输入电路如图6所示。输入部分类似于一个开关量控制,图中用S代替火灾报警输入,与单片机一个管脚相连接(图中为PB3),单片机通过判断此管脚电平的高低来判断是否有火灾发生。若有火灾发生S闭合,相当于输入0管脚电平拉低,报警器报警,否则不报警。门磁输入、按键输入与火灾报警输入原理相同。
2 程序设计与流程图
2.1 韦根接口协议简介
韦根协议[3-4]是由摩托罗拉公司制定的一种通信协议,它适用于涉及门禁控制系统[5]的读卡器和卡片的许多特性。其协议并没有定义通信的波特率,也没有定义数据长度,主要定义的是数据传输方式。韦根码在数据的传输中只需两条数据线,一条为DATA0,另一条为DATA1。协议规定,两条数据线在无数据时均为高电平,如果DATA0为低电平代表数据0,DATA1为低电平代表数据1。韦根协议有很多格式,标准的26 bit是最常用的格式,此外,还有34 bit、36 bit等格式。本文所设计的控制器是基于常用的26 bit标准格式进行数据通信的。
2.2 多路门禁通信协议设计
本设计定义了一种多路门禁通信协议,此协议共分为6部分,如表1所示。协议传送的内容如表2所示。
2.3 软件程序设计
整个程序实现了控制器对多路门的控制。其功能主要为:单片机通过串口中断方式接收上位机指令,根据上位机指令进行相关动作。当接收到修改时间指令时,单片机会修改系统时间;当接收到读门状态指令时,单片机会将所有门状态读出,并封装成数据帧回传给上位机;当有人刷卡时,单片机通过外部中断方式接收韦根数据,并记录卡号及刷卡时间,使门打开。单片机实时检测按键与门磁输入、火灾报警输入,一旦检测到相应的管脚电平有变化就会做出开关门或火灾报警的动作。
图7为程序整体结构图,装置上电后,单片机完成各管脚状态、寄存器以及串口中断和外部中断的初始化,然后开中断,单片机进入主循环程序。单片机进入主循环时运行的程序流程如图8所示,其工作过程就是控制多路门的过程,通过接收上位机指令完成修改时间、读取门状态、判断火灾、记录刷卡等操作。
本文在韦根协议的基础上开发出一种多路门禁通信协议,以完成对多路门的控制。其原理简单易懂,功能丰富,能通过一个控制器采集多路门的信息,实现对多路门的控制,而且可以允许多个门同时刷卡进出,实用性及扩展性强,具有很强的推广价值。
推荐文章
论坛热帖