刘春林 杨晖
摘 要: 为了解决传统安防系统存在的低可靠、成本高、不利于系统集成的缺点,提出一种基于ARM平台的智能安防系统设计方案。设计以Cortex?A8为控制器的前端设备,采用LPC11C14为控制器、ZICM2410为ZigBee射频模块、SC16IS752为SPI转UART模块的终端设备。系统采用Linux 3.0.8内核、Android 4.0版本文件系统、Arm?none?linux?gnueabi?gcc工具链、Eclipse开发工具对前端和终端设备的软件流程进行设计。系统测试结果表明,该系统可以正确、实时地采集各项安防数据,实现了用户出入的有效监控,且在采集数据超出正常范围时发出警报。
关键词: 安防系统; Cortex?A8; Cortex?M0; ZigBee
中图分类号: TN948.64?34; TP277 文献标识码: A 文章编号: 1004?373X(2016)24?0075?04
Design and implementation of intelligent security system based on ARM platform
LIU Chunlin, YANG Hui
(School of Information Engineering, Kaili University, Kaili 556011, China)
Abstract: In order to solve the problems of low reliability, high cost and poor system integration of the traditional security system, a new design scheme of intelligent security system based on ARM platform is proposed. A front?end equipment taking Cortex?A8 as the controller, as well as a terminal equipment taking LPC11C14 as controller, ZICM2410 as the ZigBee RF module and SC16IS752 as UART module converted through SPI are designed. The Linux3.0.8 kernel, Android4.0 version file system, Arm?none?linux?gnueabi?gcc tool chain, Eclipse development tool are used in the system to carried out the design of the software flow of the front end and the terminal equipment. The system test results show that the system can collect all kinds of security data in real time correctly, realize the effective monitoring of user access, and raise the alarm while the collected data is beyond the normal range.
Keywords: security system; Cortex?A8; Cortex?M0; ZigBee
智能安防系统主要是利用计算机、无线通信技术通过网络化的管理,使得工作和生活更加轻松、安全。近年来,智能安防系统正在由数字化、网络化向智能化方向发展[1?3]。其通过物联网、图像识别处理、无线传感器传输等技术实现智能安防系统事前预警、事中处理、事后能及时取证的全自动智能监控[4]。上述系统集成可利用ARM平台实现,其不仅能实时地采集安防区域的数据,同时具有成本低、可靠性高和便于系统集成的优点。
1 系统总体设计
本文的安防系统利用Cortex_M0采集房间信息,Cortex_A8作为中央监控服务器设备。
1.1 系统功能图
Cortex?A8是一款高性能、高效率的ARMV7应用处理器。Cortex?M0是一款尺寸小、性能高的ARM应用处理器。Android界面显示(Cortex?A8)来自于Cortex?m0模拟量,并可对Cortex?M0进行控制或操作。基于Cortex?A8和Cortex?M0的系统功能图,如图1所示。
1.2 系统功能描述
系统采用Linux 3.0.8内核、Android 4.0版本文件系统、Arm?none?linux?gnueabi?gcc工具链、Eclipse开发工具[5?6],系统功能描述如表1所示。
2 前端数据中心
程序的线程定义如表2 所示,所用类定义如表3所示。前端数据中心Cortex?A8程序设计首先启动主界面,跳转到从界面显示设备的详细采集信息,控制线程完成用户对设备的操作,在应用层、FrameWork层、JNL层处理,最终由ZigBee网络发送数据并通过数据处理进程完成数据的处理与校验。其程序设计流程图见图2。
3 前端Cortex?A8模块设计
3.1 Cortex?A8 Android Application层数据流分析
3.1.1 NEWNODE新节点加入
终端设备开启,通过ZigBee发送新节点数据给前端设备,再由读线程读取并对数据进行校验,判断是否合法。若数据无误,查询该节点链表中是否存在,不存在则写入链表并新建节点。新节点加入处理流程图,如图3所示。
3.1.2 NODEINFO节点信息更新
在节点存在的情况下,更新链表信息并判断是否进入节点从界面,若是则更新数据。节点信息更新处理流程图,如图4所示。
3.1.3 RFID,用户出入
用户持RFID卡出入时,从界面判断是否在链表信息,若是则更新数据。用户出入处理流程图如图5所示。
3.2 传输数据格式设计
数据包头:终端设备向前端设备发送数据包头为0xAA, 前端设备向终端设备发送数据包头为0x55。设备号:终端设备号(房间号)。
数据类型:0x01是终端设备房间开启监控;0x02是温湿度、感光度类型数据;0x30是LED_ON(开灯);0x31是LED_OFF(关灯);0x32是Fan_ON(开风扇);0x33是Fan_OFF(关风扇);0x34是Nixietube_ON(开数码管);0x35是Nixietube_OFF(关数码管);0x36是BEEP_ON(开蜂鸣器);0x37是BEEP_OFF(关蜂鸣器);0x04是RFID卡类数据。
数据长度:数据域的字节数,校验为crc16校验。
4 终端Cortex?M0模块设计
Cortex?M0主要采集温湿度、光感度以及出入刷卡等信息,并将信息上传至Cortex?A8。再由Cortex?A8发出指令通知Cortex?M0作处理操作。控制芯片选择NXP的LPC11C14。其是ARM Cortex?M0系列处理器,能够胜任终端数据采集的重任[7?10]。Cortex?M0与Cortex?A8之间通信采用ZigBee模块,整体方案如图6所示。
4.1 Cortex?M0工作流程
系统上电初始化,启动定时器、配置各个I/O端口、初始化SPI端口。Cortex?M0工作流程,如图7所示。
4.2 功能模块描述
4.2.1 温湿度传感器DHT11
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度传感器,其具有成本低、性能稳定、抗干扰能力强等优点。其与Cortex?M0的连接如图8所示,其中上拉电阻R30是为了保证在总线空闲时,其状态为高电平。
4.2.2 ZigBee通信模块
ZigBee模块选用ZICM2410,其与Cortex?M0之间是通过SC16IS752转换芯片进行连接的,如图9所示。对于ZICM2410模块,由于其使用方便,文中只需对数据接口进行读写即可,对于网络配置,可参照其操作手册。
4.2.3 SC16IS752使用及操作流程
SC16IS752是一款SPI/I2C转UART通信芯片,实际使用选择SPI转UART通信模式。在该模式下,自身只能作为从机,Cortex?M0为主机。Cortex?M0的ZigBee接收中断程序流程,如图10所示。系统上电初始化SPI端口,SPI数据发送和接收流程图如图11所示。
RFID读卡模块通过SPI0端口与Cortex?M0通信,其中断引脚与Cortex?M0 I/O 端口连接。读取I/O端口电平,即可判断刷卡情况。RFID读卡流程如图12所示。
5 系统测试
打开Cortex?A8设备,启动程序,打开Cortex?M0设备,程序检测到设备并添加。系统界面当前温度25 ℃,湿度21%RH,光感值187,模拟用户52443b78使用磁卡对Cortex?M0进行刷卡出入操作。若采集的数据值超出正常范围时,可激活LED显示或蜂鸣器报警,系统信息界面如图13所示。
6 结 语
本文设计一种基于ARM平台的智能安防系统方案,系统由前端设备Cortex?A8和终端设备Cortex?M0组成,对系统的软件流程进行了详细设计,同时对终端硬件进行了描述。最终,通过运行测试结果表明,该系统能实时采集数据和监控刷卡,并具有成本低、性能高、可移植性强等优点。
参考文献
[1] 戴敏,王宜怀,潘启勇.基于Zigbee技术的智能家居系统设计[J].计算机测量与控制,2013,21(3):706?708.
[2] 叶青.一种智能家居系统解决方案及部分模拟实现[D].昆明:昆明理工大学,2008.
[3] 阎莉.探讨智能家居系统设计与实现途径[J].包装工程,2014(22):49?52.
[4] 赵水昌.嵌入式车载监控系统终端的设计与开发[D].大连:大连理工大学,2006.
[5] 陈刚.Eclipse从入门到精通[M].2版.北京:清华大学出版社,2007.
[6] 孙更新,邵长恒,宾晟.Android从入门到精通[M].北京:电子工业出版社,2011.
[7] SLOSS Andrew N, SYMES Dominic, WRIGHT Chris.ARM嵌入式系统开发:软件设计与优化[M].沈建华,译.北京:北京航空航天大学出版社,2005.
[8] 满莎,杨恢先,彭友,等.基于ARM9的嵌入式无线智能家居网关设计[J].计算机应用,2010,30(9):2541?2544.
[9] 韩玉文.基于ARM9的嵌入式无线智能家庭网关的设计[D].大连:大连海事大学,2012.
[10] 高静,王福豹,段渭军.面向智能家居的嵌入式传感网网关的研究与设计[J].现代电子技术,2011,34(4):19?22.