基于STM32人员定位检测硬件系统设计

2018-08-31 05:54天津职业技术师范大学工程实训中心戴健雄王自有刘卫华
电子世界 2018年16期
关键词:图像处理摄像头传感器

天津职业技术师范大学工程实训中心 戴健雄 王自有 刘卫华

0 引言

目前市场上室内检测人员的热释电传感器只能探测或感应移动体温人体的热源,必须要移动才能感知到有人的存在或者有人经过(自动门和红外放到就是运用了这个原理)。因此运用这种传感器做出来的探测器只能探测到移动的人,而难以判别其侦测范围是否有人的存在(静止不动的人),因此无法直接使用这种传感器作为进行有人判定。随着电子技术的发展和电路集成度及工艺的提高,基于嵌入式系统的图像采集处理平台的开发日益增多,它具有成本低廉、结构紧凑、功耗低的优点。STM32为ST公司生产的基于ARM Cortex-M3内核的32位微控制器,主频72MHz。OV7670是Omni Vision公司生产的一款1/6寸、有效像素30万的互补金属氧化物半导体(CMOS)图像传感器,它通过美国Omni Vision公司定制的2线/3线制串行摄像头控制总线(serial camera control bus,SCCB)进行控制,输出并行的8位图像数据,VGA图像输出最高可达30帧/s。

1 系统总体构成

本设计以室内检测人员为应用背景设计,因此考虑便于实现把系统划分由微处理器单元、图像采集设备、图像显示设备组成。其中STM32微控制器是整个系统的核心单元,负责图像数据的处理和各单元模块的控制等;OV7670图像传感器为检测元件,负责室内图像数据的采集;由于图像传感器的时钟达24MHz,通过STM32的IO口来直接读取采集数据比较困难,容易造成数据丢失,且对CPU会造成较大的负担,所以使用 AL422B作为先入先出(FIFO),当一帧图像缓存完后,STM32才将这一帧图像写入显存或暂存到内存中。2.8寸320×240分辨率的TFTLCD实现图像显示和数据处理结果,由于一帧RGB565格式(320×240)尺寸的图像达150 KB,而STM32的内部SRAM只有64 KB,故外扩1MB的SRAM实现图像处理。如图1所示。

图1 STM32人员定位检测系统框图

2 主要硬件电路设计

2.1 摄像头接口设计

本系统使用IO口模拟SCCB总线控制OV7670,使其可以输出整帧、子采样、取窗口等方式的各种分辨率8位影像数据。因为OV7670的像素时钟(PCLK)最高可达24Mhz,用STM32F103的IO口直接抓取困难,也占CPU资源。所以不是采取直接抓取来OV7670的数据,而是单片机通过读取FIFO暂存数据实现OV7670的图像采集功能,FIFO芯片的容量是384K字节,足够存储2帧QVGA的图像数据。OV7670图像采集电路通过一个的双排排针与外部通信,与外部的通信信号如图2所示:

图2 OV7670接口

本设计采用SCCB来实现对OV7670的控制,stm32中的PD3配置为推挽输出,连接OV7670的OV_SCL管脚,PG13配置为为上拉输入、写数据时配置为推挽输出,连接OV7670的OV_SDA管脚,然后根据 SCCB时序图来编写驱动程序。写操作:起始信号→器件地址(0x42)→Ack→寄存器地址→Ack→写入数据→Ack→停止信号。读操作:起始信号→器件地址(0x42)→Ack→寄存器地址→Ack→停止信号→起始信号→器件地址(0x43)→Ack→读出数据→No Ack→停止信号。

本文采用一个外部中断,来捕捉帧同步信号(VSYNC),然后在中断里面启动 OV7670的图像数据存储,等待下一次VSHNC信号到来,我们就关闭数据存储,然后一帧数据就存储完成了,在主函数里面就可以对这一帧图像数据处理(如送到LCD显示),同时开始第二帧数据的存储与处理,如此循环,实现摄像头功能。

图3 TFT接口

2.2 TFT接口设计

Stm32与TFT液晶模块连接时,仅需将该电路考虑成一个SRAM模式即可,具体连接方式见图3所示。连接中需要注意的是,液晶模块与STM32的FSMC控制器的连接,本系统中LCD_BL(背光控制)对应PB0,LCD_CS对应PG12即 FSMC_NE4,LCD _RS对应PG0即FSMC_A10,LCD _WR对应PD5即FSMC_NWE,LCD _RD 对应PD4即FSMC_NOE,LCD _D[15:0]则直接连接在FSMC_D15~FSMC_D0,这些连接直接关系到软件初始化时相关寄存器地址设置。

3 软件设计

3.1 底层驱动设计

本系统的软件设计在查阅摄像头及LCD等模块控制时序的基础上, 对模块进行驱动代码编写。系统使用一个外部中断来捕捉图像场帧同步信号(VSYNC),帧中断时启动图像数据帧缓存,待到数据存储同时将这帧数据读出并在LCD上进行显示,完成后清除帧标志等待下一帧图像的处理,如此循环。

图4 测试画面

3.2 软件代码功能设计

视频中的运动目标只有在连续的变化图像数据中才能体现出来,故运动目标检测过程其实就是在连续图像序列中寻找差异,并将其特征提取出来。主要图像处理:提取视频图像转灰度;图像处理;图像分割;提取相关数据。

3.3 系统测试

系统利用STM32平台上实现了OV7670图像传感器采集教室场景图像并图像数据显示到TFT LCD上,同时具有抓拍功能。测试过程中,图像画面显示流畅准确,从图片中可以清晰地看出抓图过程中因抖动形成的重影的图像数据但是不影响检测。LCD画面如图6所示。由图4的图像数据,经过单片机对图像数据进行分割成(以分割成3X3为例)数据从串口发出至上位机,数据如下:0,0,76,9,123,499,0,0,15。其代表:第一行区域数据:0,0,76;第二行区域数据:9,123,499;第三行区域数据:0,0,15。

4 结束语

本文设计的基于STM32和OV7670的图像采集与显示系统能实时采集并显示现场图像,同时实现教室人员检测功能。该系统具有低成本、低功耗、小体积等优点,可方便地应用到图像处理与数据融合控制等项目中,同时,本系统在教室特定的场所取得很好的效果,为后续的图像处理和识别打下基础。系统整体不完善的地方还有很多,在今后的研究中,继续改进图像算法。

猜你喜欢
图像处理摄像头传感器
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
康奈尔大学制造出可拉伸传感器
简述传感器在物联网中的应用
“传感器新闻”会带来什么
跟踪导练(三)2
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
基于图像处理的定位器坡度计算
奔驰360°摄像头系统介绍