引言
最近几年随着我国城镇化的快速推进,人们的居住环境得到了很大的提升,家中的各类贵重物品也越来越多。由于城市的流动人口相对复杂,因此家居防盗已经成为人们非常关注的问题,对于家居安防方面的研究国内外都有不少方案。而这些方案基本都采用了运行嵌入式操作系统的高性能ARM9或者ARM11平台[12],外围搭配多种高端传感器,这类方案成本都较高。本文介绍一种基于低成本32位ARM平台为控制核心的家居实时安防系统[3],以更具实用性的设计和更低的成本,提供了一套实时安防解决方案,能很好地满足大部分家庭对家居安防的需求。
1 系统结构
从图1可以看出系统的模块化设计思想,充分利用成熟的技术和模组产品[4],有利于降低设计的难度和整体成本。系统采用低纹波高效能的5 V开关电源作为工作电源,电路内部经过多路电源管理单元的稳压处理后为系统各个模块供电,以保证系统良好的抗干扰性能[5]。系统的控制核心为STM32F103C8T6,振动传感器的型号为SW180,是中断信息输入单元,用户可以安装在适合的位置,负责检测振动信号。系统框架图如图1所示。
图1 系统框架图
热释红外传感器的型号为HCSR501,同样是单向输入单元,该传感器能准确发现100 ℃时5~7 m范围内的人体移动信号,实时将信号反馈到系统控制核心。图像传感器OV7670经过数据缓存FIFO后与控制核心STM32F103C8T6连接,可降低微处理器的速度要求,减轻系统的负担[67]。
图像信息进入微处理器后将会进行初步处理和格式转换,得到的JPEG格式图像再通过GPRS模块SIM900以彩信的方式发送到指定的手机内。一旦有可疑人员进入房屋内,系统将被触发,并自动抓拍现场照片,发送彩信提醒用户,然后将照片保存到系统自带的SD卡内,以备查阅。
2 硬件设计
2.1 系统核心单元
系统核心处理器STM32F103C8T6采用高性能的ARM CortexM3 32位RISC内核,工作频率为72 MHz,内置高速存储器(64 KB的闪存和20 KB的SRAM),丰富的增强I/O端口和联接到两组APB总线的外设[8]。其包含2个12位的ADC、3个通用16位定时器和1个PWM定时器,以及2个I2C总线接口和SPI接口、3个USART接口、一个USB接口和一个CAN总线接口。STM32F103C8T6的工作电压为2.0~3.6 V,采用LQFP48封装。系统内使用LDO将5 V电源转换为3.3 V为其供电。
图2设计了时钟电路和复位电路,SD卡通过SPI接口与核心处理器通信[9],振动传感器和热释红外传感器则通过中断I/O口接入,图像传感器OV7670的SCCB接口连接核心处理器的I2C总线接口,GPRS模块SIM900则通过串口1进行通信。
图2 系统核心单元电路框图
2.2 图像采集单元
OV7670是OmniVision公司生产的一颗30 W像素COMS图像传感器,具有体积小、工作电压低的特点,提供单片VGA摄像头和影像处理器的所有功能。系统通过I2C总线控制,可以输出整帧、子采样、取窗口等方式的各种分辨率8位图像数据。该产品VGA图像最高达到30帧/s。用户可以控制图像质量、数据格式和传输方式。OmniVision图像传感器应用独有的传感器技术,通过减少或消除光学或电子缺陷如固定图案噪声、托尾、浮散等,提高图像质量,得到清晰稳定的彩色图像[10]。
图3的电路中设计了12 MHz有源晶振,用于产生12 MHz时钟作为OV7670的XCLK输入信号。PAM3101DAB28用于向OV7670内部的模拟电路提供稳定的2.8 V工作电压,同时I/O工作电压也使用这组2.8 V电源,这样OV7670内部自带的LDO即可正常工作,自动为OV7670的内核部分提供1.8 V电源。
图3 图像采集单元电路设计图
系统设计了一个FIFO芯片AL422B,该FIFO芯片的容量为384 KB,足够存储2帧QVGA图像数据。由于采用了FIFO作为数据缓冲,系统的数据采集负担大大降低,设计者只需关心如何读取FIFO数据接口,不必再关心OV7670的数据是如何采集到的,又是如何传送到FIFO的,这样就可以减少甚至不用关心CMOS的控制以及时序关系,就能够实现图像的采集。
2.3 振动传感器单元
振动传感器SW180是一种弹簧型无方向性振动感应器件,它可以任意角度触发。在静止时任何角度都为开路OFF状态,当受到外力碰撞或者大力晃动时,弹簧变形和中心电极接触导通使两个引脚瞬间导通为ON状态;当外力消失时,电路恢复为开路OFF状态。为了避免振动传感器受干扰误触发,利用电压比较器LM393对振动传感器的开关量信号进行预处理,过滤干扰信号,经过LM393后得到一个边沿陡峭的触发信号传送到核心处理器STM32F103C8T6的中断口[11]。通过调节可调电阻即可改变振动传感器的触发灵敏度,振动传感器电路如图4所示。
图4 振动传感器电路
2.4 GPRS模块单元
SIM900是SIMCOM公司推出的一款新型四频GSM/GPRS模块,支持MMS彩信功能,完全采用SMT封装形式,同时采用了功能强大的ARM926EJS芯片处理器[12]。SIM900的供应电压范围为3.2~4.8 V,系统采用LDO器件MIC29302BU为其供电,LDO输入端设计了π型滤波电路,输出端加入了EMI器件,还有旁路电容,以保证电源的纹波足够低,如图5所示。
图5 SIM900电源电路框图
SIM900模块采用单电源供电,模块射频发射时会导致电压跌落,这时电流的峰值最高会达到2 A以上,因此电源供电能力尽可能达到2 A,建议VBAT引脚并接大电容,电容容量可以设置为100~300 μF,并且大电容应尽量靠近GPRS模块的VBAT引脚[13]。
PCB布局时,VBAT上的旁路电容尽量要放在对应引脚附近,为了减少PCB走线阻抗,VBAT走线应尽量宽、走线尽量短、最好大面积铺地,以提供一个稳定的电源,保证SIM900正常工作。
当采用的是两层板设计时,因为PCB板层较厚,50 Ω阻抗控制时,射频线与RF_IN焊盘之间走线采用渐变线,以减少射频线阻抗的突变。为了减少路径损耗,SIM900 RF_IN Pad和天线馈点的间距尽可能短[14]。
3 系统软件设计
3.1 系统主程序工作流程
从图1可以了解到系统各个部分的连接关系,所有系统外围模块都会接入核心处理器STM32F103C8T6的相关接口,各个模块的工作都受到核心处理器的控制。因此核心处理器在上电后必须首先进行一系列的初始化工作,以保证各个模块的稳定协调工作。STM32F103C8T6内部有一套复杂的时钟系统,系统上电后,核心处理器首先需要初始化其内部工作时钟,然后才能设置内部外设的工作模式,这些工作完成后才能通过各个接口初始化核心处理器外围的各类模块,例如OV7670和SIM900。
接下来主程序会进入一个无限循环内部,循环判断振动传感器和热释红外传感器的报警信号(该标志信号由中断函数产生)是否有效触发,一旦报警信号生效,核心控制器立刻通过OV7670抓拍图像数据(OV7670初始化时被设置为输出320×240的QVGA分辨率RGB565格式图像),然后进行图像处理。包括白平衡、图像格式转换等,得到JPEG格式图像,再将图像文件写入SD卡内保存。最后,利用SIM900接入GPRS网络,将图像以彩信方式发送到指定手机上[15],至此一次完整的防盗报警完成,完整工作流程如图6所示。
图6 系统主程序执行流程图
3.2 图像传感器OV7670工作流程
核心处理器STM32F103C8T6的I2C总线接口与OV7670的SCCB接口相连接。本系统中,在上电时核心处理器将OV7670配置为320×240分辨率的QVGA模式,输出数据格式为RGB565。OV7670的部分初始化设置源代码如下:
u8 OV7670_Init(void){
u8 temp;u16 i=0;
GPIO_InitTypeDefGPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin= GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IPU;
GPIO_InitStructure.GPIO_Speed= GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_PinRemapConfig(
GPIO_Remap_SWJ_JTAGDisable,ENABLE);
SCCB_Init();
if(SCCB_WR_Reg(0x12,0x80))return 1;
delay_ms(20);
temp=SCCB_RD_Reg(0x0b);
if(temp!=0x73)return 2;
temp=SCCB_RD_Reg(0x0a);
if(temp!=0x76)return 2;
for(i=0;i<sizeof(ov7670_init_reg_tbl)/sizeof(ov7670_init_reg_tbl[0])/2;i++){
SCCB_WR_Reg(ov7670_init_reg_tbl[i][0],ov7670_init_reg_tbl[i][1]);
图7 读取图像数据程序流程图
delay_ms(2);
}
return 0x00;
}
由于在OV7670与核心处理器之间增加了FIFO,该FIFO足够存储2帧QVGA图像数据,所以核心处理器只需按照FIFO的通信时序,从FIFO中读取图像数据即可。核心处理器通过FIFO读取一个像素图像数据的程序流程如图7所示。图像传感器抓取的原始图像质量符合设计要求,如图8所示。
图8 图像传感器抓拍效果图
结语
ARM和GPRS技术目前已经非常成熟,基于新型CortexM3架构的ARM处理器的性价比较高,本系统正是充分利用现有成熟的技术,经过优化搭配,设计了一套实用的家居安防系统。实验结果证明,系统的设计是科学可行的,振动和红外传感器灵敏度较高,
系统的彩信报警功能简单实用,能在4 s内发出报警触发信号,及时告知用户家中的情况。