基于STM32单片机和GSM 技术的门禁控制系统
2015-02-23姜日凡
姜日凡
(大连工业大学 网络信息中心,辽宁 大连 116034)
0 引 言
随着计算机技术和网络技术的快速发展,门禁控制系统不断向集成化、智能化和网络化的方向发展。大连联通公司通过给通信基站安装智能化门禁系统,实现对通信基站集中管理和分散控制。目前门禁系统安装方式分为有线和无线两种,但对于分散的通信基站来说,使用有线方式需要在布线和调试方面花费过多的物力和财力,而使用普通无线方式又存在高功耗、传输距离短、低抗干扰性和低扩展性等问题[1]。针对以上问题,作者设计了一种基于STM32 单片机和GSM 技术的门禁控制系统。本系统以高性能、低功耗、低成本的STM32 单片机为核心,移植了μC/OS-Ⅱ实时操作系统,利用GSM 通信网络实现门禁监控平台对门禁终端机的远程控制和交互数据传输,同时集成了无线网络管理、短信管理、串口管理、密码开门、刷卡开门、手机开门等多种功能。
1 门禁系统的方案设计
系统由高可靠性的门禁终端机和门禁监控平台两部分组成,利用监控平台授权的方式进行管理,通过GSM 网络控制门禁终端机,同时实现二者之间的数据交互,最终实现对通信基站网络化智能化管理,门禁控制系统总体结构见图1。
门禁监控平台负责门禁卡的授权和销毁,数据库的建立、管理、维护,负责采集、记录各门禁终端机上传的信息,并向各个终端机发送信息。终端机是门禁系统的直接动作执行部分,包括开/关门以及用户的各种自助性服务。监控平台和终端机之间通过GSM 网络实现数据交互,从监控平台经GSM 网络向基站门禁终端机发送设置完成的各项运行参数。本门禁系统有三种开门方式:密码开门、刷卡开门、手机短信开门。
图1 门禁系统总体结构图Fig.1 Overall structure of access control system
2 门禁终端机的硬件设计
对用户来说,门禁控制系统最重要的部分就是门禁终端机,门禁终端机既可以单机使用也可以联机使用,本门禁终端机通过GSM 模块联机。本门禁终端机的系统结构如图2所示,通过实现不同的功能,终端机由不同的功能模块构成,各功能模块选用了以下主要硬件设备。
图2 门禁终端机的系统结构Fig.2 Structure of access control terminal
2.1 微处理器
本设计选用意法半导体公司 的STM32F103VET6为微处理器,STM32 基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3 32位的RISC内核。
STM32F103VET6工作频率为72 MHz,具有单周期乘法和硬件除法,内置高速存储器(高达128kb的闪存和20kb的SRAM),丰富的增强I/O 端口(多功能双向5V 兼容的I/O 口和所有I/O 口可以映像到16个外部中断)和连接到两条APB总线的外设,该芯片包含2个12位的ADC、3个通用16 位定时器、一个PWM 定时器、2 个I2C、2个SPI同步串行接口、3个USART、一个USB和一个CAN。
2.2 GSM 模 块
为了减少监控平台和终端机之间的布线,充分利用现有的无线通信技术,监控平台和终端机之间的数据交互采用GSM 网络。GSM 模块通过使用AT 命令控制,模块可以与电脑相连,也可以用单片机来进行控制。
本设计选用TC35i模块,TC35i模块是一款支持中文短信息的工业级的GSM 模块,工作在EGSM900和GSM1800双频段,电源范围为直流3.3~4.8V,休眠状态电流消耗为3.5mA,空闲状态为25 mA,发射状态为300 mA,峰值为2.5A;可传输语音和数据信号,功耗在EGSM900和GSM1800分别为2和1 W,通过接口连接器和天线连接器分别连接SIM 卡读卡器和天线。SIM 电压为3V/1.8V,TC35i通过AT命令可双向传输指令和数据,可选波特率为300b/s~115kb/s,自动波特率为1.2~115kb/s。它支持Text和PDU 格式的SMS,可通过AT 命令或关断信号实现重启和故障恢复,具有性能稳定,功耗低及易于集成的特点[2-3]。
2.3 电源模块
电源模块不但需要为门禁控制器进行供电,同样需要为电磁锁单元进行供电。整个系统的输入电压由220V 市电经开关电源转换为12V 供给系统使用,然后选用LM2576、MIC29302、AMS1117分别提供5.0、4.2、3.0V 电压。
3 门禁终端机软件设计
门禁终端机以STM32 微处理器为控制核心,移植了μC/OS-Ⅱ操作系统,程序使用C 语言编写。终端机的软件流程如图3所示。
图3 门禁终端机的软件流程图Fig.3 Software flow diagram of access control terminal
门禁终端机的软件主要由系统主程序、底层驱动程序、各功能模块子程序组成。为了软件开发管理和后期调试方便,各程序由独立的C 语言文件编写,系统主程序为main.c文件,底层驱动程序包含stm32f10x_it.c、UsartSdriver.c、CircleBuf.c、CtrlMatrix.c、TickTimer.c等文件,读卡模块程序为ReadDoorCard.c文件、GSM 模块程序为Sms.c文件、外部存储器程序为Flash.c文件、时间日历程序为clock_calendar.c文件。其中系统主程序包含μC/OS-Ⅱ操作系统,μC/OS-Ⅱ是可移植、可固化、可裁减的抢占式实时多任务操作系统内核[4-5]。
GSM 模块程序是比较重要的环节,根据GSM 的定义,短信息的发送与接收模式共有3种:Block模式、基于AT 命令的Text模式和基于AT 命令PDU 模式。使用Block模式需要模块生产厂家提供驱动支持,用于中英文短信息传送应使用PDU 模式,只传送英文短信息使用Text模式。因为Text模式短信息接收比较简单,如果不需要传送中文则尽量使用Text接发短信息模式,而对于收发有中文短信息必须使用PDU 模式,中文字符按照UNICODE 进行编码,采用PDU 模式发送接收短信息步骤分为初始化GSM 模块、发送中文短信息和接收中文短信息[6-8]。本软件使用PDU 模式,进行设计软件。
4 结 语
本门禁系统以移植了μC/OS-Ⅱ操作系统的STM32单片机为核心,利用GSM 网络实现远程控制和交互数据传输,采用密码、刷卡及手机控制等识别技术作为门禁身份识别方法,同时集成了多种管理方式。本门禁系统已应用于大连联通公司的郊区基站,经过长期实践证明本系统成本低、功耗低、抗干扰性强、扩展性好、实时性强、传输距离远和运行稳定可靠,特别适用于对分散的通信基站集中管理和分散控制。
[1]向雅琴.无线门禁系统的设计与研究[D].武汉:华中科技大学,2010:2.
[2]何光禹,李太全.基于TC35iGSM 模块的SMS设计和应用[J].现代电子技术,2010,33(16):157-159.
[3]邬春明,艾闯,李丹.基于TC35i的小区远程报警系统[J].计算机技术与应用,2007,33(11):129-132.
[4]肖磊,张娜.μC/OS-Ⅱ在stm32 上的移植[J].可编程控制器与工厂自动化,2011(6):63-66.
[5]王铁流,秦璐璐,李宗方,等.基于STM32嵌入式系统的智能控制网络终端设计[J].电子元器件应用.2009(6):13-17.
[6]孙德辉,卫革,杨扬.基于ARM 的GPRS远程数据传输系统的设计[J].自动化技术与应用,2010,29(7):26-28.
[7]NWAGWU W E.Educational communication uses short messaging services by students in Nigerian universities[J].World Journal of Science,Technology and Sustainable Development,2010,7(4):335-355.
[8]PREMADASA H K S,MEEGAMA R G N.Mobile learning environment with short messaging service[J].Campus-Wide Information Systems,2013,30(2):106-123.