基于μC/OS-Ⅱ的主从式门禁系统设计
2010-03-01吕俊怀任世锦郝国生
吕俊怀,任世锦,郝国生
(徐州师范大学计算机科学与技术学院,江苏徐州 221116)
目前,一些单位和家庭虽然使用了安全监控系统,对安全防盗起到了一定的作用,但远没有达到人们预期的目标,原因是监控系统是一个单元楼道对应一个监控节点,监控节点以孤立的形式存在,与小区的整体保安脱节;作案人与普通人的外观形体难于区分和识别。而主从式门禁系统,对小区实现全面监控,能有效克服现有系统的缺点。
由于主从式门禁系统的多任务和实时性特点,为保证系统软件的可靠性和实时性,主从式门禁系统的软件是基于μC/OS-II开发的系统软件,μC/OS-II是源代码公开的嵌入式实时操作系统,被成功地移植到多种微处理器上[2]。本文介绍了基于μC/OS-II操作系统的门禁系统软件开发方法。
1 总体设计思想
所谓门禁系统,是指符合条件的人通过门的控制系统。主从式门禁是由多级、多个单门禁系统组成网络的控制系统。其由小区(单位)门禁和楼道门禁两级组成。小区门的控制系统是主控制系统,单元楼道的控制系统是从控制系统,主系统和从系统连成主从控制系统,见图1。
图1 主从式门禁系统结构图
主系统对从系统进行管理和控制,并能够有效裁决系统发生的并发事件,将并发事件转换为基于时间的串行事件处理。根据经验,主从系统之间的通信方式由下面情况决定:面积小于106m2的小区,主系统和从系统之间采用485总线通信;对于超过106m2的小区,主系统和从系统之间采用CAN总线通信方式[3,4,9]。主系统对从系统远程控制,每个从系统的地址取其所在楼号和单元号的组合;从控端对每个住户采用直接控制。
2 系统总体功能
基于系统结构和实际需要,系统有以下3种功能:
(1)进门监控。有4种方式:一是用钥匙打开门锁,二是密码或刷卡进入,三是卡号更新或修改密码,四是来访者通过呼叫住户进入;
(2)实现主系统、从系统与住户之间通信与管理功能;
(3)提示与对讲系统。
3 系统采用的关键技术
根据门禁系统的设计思想和功能,采用了以下关键技术:
3.1 主从系统协同控制
主系统通过从系统直接与住户通话,便于对进入小区的陌生人进行核实。方法是主控制系统通过键盘输入楼号、楼道号、分户号发送给每个从系统,对应的从系统呼叫住户。
3.1.1 主系统具有的功能
为了实现主从系统协同工作,主系统具有下面功能:
(1)主动唤醒。当有键盘输入、刷卡时,唤醒主系统;
(2)与从系统联络。向从系统发送楼号、单元号、户号;
(3)被动唤醒。从系统串行口送来的开门特征码,唤醒主系统。
根据上述要求设计的主控制系统如图2所示。
3.1.2 从系统具有的功能
从系统有下面功能:
(1)被动唤醒。主系统通过串行口,唤醒从系统;
(2)与主控制系统联络。对主系统送来的楼号、单元号,判断主机是否要和本机通信,如是就完成与主系统握手,协助主系统和住户建立联系;
图2 主控制系统框图
(3)主动唤醒。键盘输入、刷卡唤醒;
(4)与要联络的住户握手。通过键盘呼叫住户,通过对讲系统与住户联系。
根据上述要求设计的从系统如图3所示。
图3中的K1,K2,…,Kn在住户端,住户端按动开关K1,K2,…,Kn,开关信号唤醒STC89C516RD+。主系统和从系统的设计参考文献[5~7]。
图3 从控制系统框图
从系统与住户的对讲系统如图4所示。主系统和从系统之间实现无线对讲,楼道端和住户端使用有线对讲,对讲系统的这种设计思想,使主从控制系统的协同控制电路简化。
图4 从控制系统与住户端语音对讲系统框图
图3输出控制信号D0,…,Dn,通过解码电路输出控制信号 D0’,…Dn-1’,Dn’,连接图 4的三态门控制端,控制对讲系统中的电子模拟开关通断,从而控制住户端音频线的通断,实现小区门、单元楼道和住户之间单独对话。其中D0’,…Dn-1’,Dn’控制语音芯片信号的输出。
3.2 软件设计增加了辅助管理功能
在从系统中使用T0定时器。对0:00到5:00时间段内呼叫的住户号保存;同时从系统对18:00到次日5:00时间段内呼叫进入住户的人数进行统计,当进入某户的人数大于该住户人口数时,保存该住户号。在次日5:00开始依据已经设定的从控制系统的序号,顺序将该数据发送给主控制器,次日17:00清除该数据。主控制系统每天对各栋楼异常出入人数进行统计保存,供保安人员查询。
3.3 基于μC/OS-Ⅱ的软件设计
基于STC12C5A60S2的应用软件具有无限循环、对底层硬件紧密耦合、程序编制缺乏软件工程设计方法的指导等特点。针对本系统软件具有突发性、多任务和实时特性。本系统基于μC/OS-Ⅱ平台开发软件,不仅满足门禁系统的要求,而且能简化程序设计和提高编程效率,同时提高软件的可靠性。
本系统使用了μC/OS-ⅡV2.76版本,借鉴了参考文献[8]中μC/OS-Ⅱ移植方法,利用事件标志组Event_Flag()和互斥信号量Mutex()解决多任务在处理共享资源时的优先级反转问题。由于篇幅限制,在此只是简略说明软件系统的开发步骤:
(1)设置工作堆栈和任务堆栈。工作堆栈安排在内部存储器的53H-7FH,容量为32字节,设置一个全局变量跟踪程序嵌套的层数,防止工作堆栈溢出;任务堆栈安排在外部数据存储器的顶部。
(2)移植代码。修改与STC12C5A60S2相关的代码。
(3)移植代码测试和仿真。首先对移植到STC12C5A60S2的代码进行测试,然后在移植系统上进行仿真调试。
4 结束语
主从式门禁系统设计的创新点是:
(1)在系统设计中采用了主从协同控制技术,并使门禁系统具有辅助管理功能,辅助统计夜间进出人员数据;
(2)主从系统的微处理器使用宏晶科技公司的STC12C5A60S2,整个系统常态睡眠,节省了能源,提高了产品寿命;
(3)整个软件系统基于μC/OS-Ⅱ平台开发,方便了系统维护。
[1]雷峰成,等.嵌入式网络数字图像监控系统[J].微计算机信息(嵌入式与 SOC),2006,(9):133-135.
[2]任 哲.嵌入式实时操作系统μC/OS-II原理及应用[M].北京:北京航天航空大学出版社,2005.
[3]王华平,等,基于CAN总线的汽车车门控制系统设计[J].微计算机信息(嵌入式与 SOC),2006,(9):239-241.
[4]黄军娜,等.基于特定协议的串口通信与远程控制的实现[J].微计算机信息(控制自动化),2006,(11):8-10.
[5]徐爱均,彭秀华.单片机高级语言编程uVison2应用实践[M].北京:电子工业出版社,2004.
[6]马文华.μC/OS-II在MCS51上的移植[J].广州大学学报(自然科学版),2005,5(3):31-34.
[7]宋光华,等.总多单片机系统应用技术[M].北京:国防工业出版社,2003.