APP下载

一种便携式水下图像实时采集系统软件设计*

2015-06-26刘亚雷于艳美孟春宁

网络安全与数据管理 2015年19期
关键词:寄存器程序设计灯光

刘亚雷,于艳美,孟春宁

(1.公安海警学院机电管理系,浙江宁波315801;2.宁波大学科学与技术学院,浙江宁波315801)

一种便携式水下图像实时采集系统软件设计*

刘亚雷1,于艳美2,孟春宁1

(1.公安海警学院机电管理系,浙江宁波315801;2.宁波大学科学与技术学院,浙江宁波315801)

为了快速、实时地采集水下图像,提出了一种基于RVMDK开发平台的便携式水下图像实时采集系统软件设计。首先给出了水下图像采集系统的总体组成,阐述了RVMDK开发软件环境;其次,分别对OV7670程序、LCD程序、SCCB接口程序进行了设计;最后,对提出的图像采集软件系统进行了试验。试验结果表明,该程序设计能够有效地实现水下图像实时采集功能。

水下图像采集;OV7670程序;SCCB接口程序;LCD程序

0 引言

21世纪是海洋的世纪,水下探测技术是水下观测、海洋防卫、水下搜救打捞、舰艇检修等方面的关键技术之一。海警舰艇机舱集中了船上绝大多数设备装置的仪表,是舰艇航行的关键部分。基于PC机的图像采集系统具有功能丰富、接口灵活多变、数据处理能力强等优点[1-2]。该类型图像采集系统通过硬件传输路线连接到多媒体监控终端,然后基于通信网络,将图像信息传到一个或者多个监控中心[3-4]。系统不仅能够实现多媒体信息处理如压缩、存储等基本功能,还能够实现智能存储和图像自动识别等高级功能,实现模拟监控无法实现的“监控”功能[5-6]。但是该类图像采集系统在有限空间的机舱内部所占体积大,且成本较高,不利于便携采集。因此,本文设计了一种快速、实时的水下图像采集系统软件,通过试验验证,该软件能够有效地实现水下图像便捷、实时采集的功能。

1 水下图像采集系统的总体设计

本系统的总体目标是采用带FIFO的OV7670摄像头模块,由STM32F103ZET6单片机通过SCCB总线读取数据,并在LCD液晶显示屏上实时显示图像数据。如图1所示为水下图像采集系统的总体设计框图。由图可知,本系统结构主要由ARM主处理器及其外围电路、CMOS图像传感器、LCD液晶显示屏等几部分组成,系统硬件实现简单。

图1 图像采集系统整体框图

2 软件环境

软件以RVMDK为开发平台,实现水下图像采集系统的主要算法、控制流程等。RVMDK源自德国的KEIL公司,是RealView MDK的简称。该软件集成了最领先的技术,支持Cortex-M3主处理器内核,本文将选择RVMDK3.80A版本的编译器进行程序编译。由于单片机主处理器为STM32F103ZET6,FLASH容量为512 KB,容量偏大,因此选择startup_stm32f10x_hd.s作为STM32芯片启动文件。如图2所示为STM32芯片启动文件加载图。

图2 STM32芯片启动文件加载图

3 水下图像采集软件设计

3.1 软件方案设计

如图3所示为水下图像采集程序流程图。首先是系统初始化程序,主要包括TFT液晶显示模块的初始化、SCCB接口、OV7670摄像头、FIFO缓存器AL422B模块的初始化。系统产生中断指令,使得FIFO_WEN置高电位,再次产生中断指令,使得FIFO_WEN置低电位,从而完成一个FIFO_WEN周期。读取FIFO_WEN数据,检测是否完成一帧,如果完成,则检测是否收到采集完毕指令,如此往复循环,直到采集完毕。

3.2 OV7670程序设计

通过OV7670.c代码先编程设计OV7670相关的I/O口和SCCB接口,完成OV7670的寄存器序列的初始化工作。OV7670的寄存器特多,配置很麻烦,本文用到的配置序列,存放在ov7670_init_reg_tbl数组里面,通过这个二维数组来存储初始化序列寄存器和写入寄存器的数值,整个数组存放在ov7670cfg.h文件中。ov7670cfg.h文件的代码如下:

图3 图像采集程序流程图

以上代码中,每个条目的第一个字节为寄存器地址,第二个字节为设置的值,比如{0X3a,0x04},就表示在0X3a地址,写入0X04这个值。

通过对寄存器的配置,完成了OV7670摄像头模块的程序设计,使OV7670工作在QVGA模式,以RGB565格式输出。在完成初始化之后,准备读取OV7670采集的图像数据。

3.3 LCD初始化程序设计

TFT-LCD液晶显示模块程序设计的关键在于FSMC控制器的配置和寄存器地址的计算。单片机的FSMC使用的是AHB3提供的时钟信号,STM32微处理器的FSMC控制器对外设地址映射从0X60000000开始到0X9FFFFFFF结束,一共由4个Bank组成,在TFT-LCD程序设计过程中选择了Bank1。寄存器地址则由TFTLCD的RS和CS端与FSMC接口的连接方式来计算。本文STM32与TFT模块连接时,仅将2.8英寸的TFT屏看成一个SRAM来处理。本程序函数用来驱动ILI9320LCD芯片。程序函数如下:

3.4 SCCB接口初始化程序设计

由于对摄像头的工作参数的配置是通过SCCB来实现的,因此在软件设计时,首先设计出SCCB程序从而控制摄像头的相关参数。SCCB设计程序如下:

以上是模拟SCCB初始化函数、使能PB端口时钟和相关引脚的配置。SCCB起始信号函数如下:

通过SCCB停止信号函数可以看出,当时钟为高电平的时候,数据线的由低到高为SCCB停止信号,在空闲状况下SDA和SCL均为高电平。

4 实验分析

为了方便操作,整个系统设计为外接电源供电,同时打开控制面板来控制供电。控制面板带总开关、灯光旋转开关、摄像头控制接口、灯光控制接口和电源输入接口,通过220 V交流电转12 V直流电转换器实现STM32、摄像头、LED灯光的供电一体化。整个系统的供电由4根电源线控制,包含18根摄像头信号线和两根LED灯光控制线。

由于摄像头前设计了33颗专业级LED灯,总光源面积为504π mm2。实验前将LED灯光全部打开且调节到最亮状态,用不同环径(中间空出摄像头的位置)的不透光的圆环形黑纸条成比例地遮住LED灯,分别在明亮、一般、较暗三种环境下进行图像采集实验。明亮、一般、较暗环境的判断标准如表1所示。三种情况下圆柱体的图像采集情况如图4、5、6所示。

表1 灯光强度判断标准

图4 明亮环境

图5 一般环境

图6 较暗环境

从以上在不同灯光环境下采集的同一物体图像可以看出,三种环境下石块纹理清晰可见,从而证实了本文设计的水下图像采集软件能够有效地实现图像采集功能,并且在不同的灯光强度下,图像采集效果不同,灯光强度越强,采集效果越好。

5 结论

结合论文的研究目标,给出了包含OV7670摄像头模块、STM32F103ZET6单片机处理器模块、SCCB总线读取数据模块以及LCD液晶显示屏模块的水下图像采集系统。分别对系统的OV7670程序、LCD程序、SCCB接口程序进行了设计。通过在不同灯光强度下的试验,证实了本文设计的水下图像采集软件能够有效地实现水下图像采集功能。

[1]张磊.基于ARM的CMOS数字图像传感器图像采集系统的研究与设计[D].哈尔滨:哈尔滨工程大学,2008.

[2]刘甲玉.基于ARM的图像采集与无线传输技术的研究[D].芜湖:安徽工程大学,2010.

[3]詹青龙.网络视频技术及应用[M].西安:西安电子科技大学出版社,2004.

[4]OSTHEIMER D,LEMAY S,GHAZAL M.A modular distributed video surveillance system over IP[C].Canadian Conference on Electrical and Computer Engineering,2006:518-521.

[5]梁修如,严国萍.嵌入式视频监控服务器系统典型方案及其性能分析[J].电视技术,2005,24(10):93-96.

[6]耿艳明,王宏远.一种基于IP的视频监控系统设计[J].电视技术,2004,23(3):75-77.

The software design of portable underwater image acquisition system

Liu Yalei1,Yu Yanmei2,Meng Chunning1
(1.Department of Mechanical and Electrical,China Maritime Police Academy,Ningbo 315801,China;2.Institute of Science and Technology,Ningbo University,Ningbo 315801,China)

In order to acquitte underwater images fastly and real-timely,the software design of portable underwater image acquisition system is proposed based on RVMDK platform.Firstly,the main assembly of underwater image acquisition system is provided,and the RVMDK platform is also elaborated.Secondly,the procedure of OV7670,LCD and SCCB are designed.Finally,the software experiment of underwater image acquisition system is researched,and the practical test shows that this method has well effect for underwater image acquisition.

underwater image acquisition;OV7670 procedure;SCCB procedure;LCD procedure

TP391.4

A

1674-7720(2015)19-0020-04

2015-06-10)

刘亚雷(1984-),男,博士,讲师,主要研究方向:声目标识别、定位及跟踪技术。

刘亚雷,于艳美,孟春宁.一种便携式水下图像实时采集系统软件设计[J].微型机与应用,2015,34(19):20-23.

国家自然科学青年基金项目(61401105);浙江省自然科学基金(LY15E09004)

于艳美(1985-),女,硕士,助教,主要研究方向:声信号处理。

孟春宁(1985-),男,博士,讲师,主要研究方向:目标识别技术、图像处理。

猜你喜欢

寄存器程序设计灯光
水中灯光秀
STM32和51单片机寄存器映射原理异同分析
今晚的灯光亮了天
来一场灯光派对
基于Visual Studio Code的C语言程序设计实践教学探索
Lite寄存器模型的设计与实现
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
PLC梯形图程序设计技巧及应用
Lx5280模拟器移植设计及实施