当前位置:智城范文网>范文大全 > 征文 > 基于CMOS的图书馆视频采集监控系统的研究

基于CMOS的图书馆视频采集监控系统的研究

时间:2022-03-24 09:12:06 来源:网友投稿

摘 要

图书馆是学校精神文化传播的重要场所,而很多读者有未按照图书馆管理规定进行违规借阅的情况,如有读者将拾到的校园卡进行借阅,导致出现错借等情况,因此很有必要将读者借阅的场景进行现场监控,笔者根据这一问题,提出了基于CMOS图像传感器对图书馆进行视频采集的方案。前端采用Omni Vision公司生产的30万象素的OV7670芯片,处理器选用当今流行的16位单片处理器C8051f340,通过USB协议将图像送到上位机储存,上位机采用opencv的开发平台,方便快捷。经试验表明,整个系统实现了图书馆视频采集监控的功能,达到了预期的效果。

【关键词】CMOS 图书馆 视频采集

【关键词】CMOS 图书馆 视频采集

图书馆是学校精神文化传播的重要场所,每天要接待大量的读者,仅依靠馆员的人工管理时常显得力不从心。在图书借阅流通工作中,读者出现违规情况时,容易面临矛盾,如有读者盗取别人的一卡通将书籍借阅出馆将导致书籍挂在了别的读者账号的情况,图书馆馆员面对丢失卡的读者无法解释,因此很有必要监控并保存图书馆的现场借阅情况以防和读者发生矛盾。为了解决这一问题,笔者提出了基于CMOS图像传感器的解决方案

1 系统总体结构和工作原理

本系统主要由图像传感器模块、数据缓存和控制、数据传输和显示三大部分组成。CMOS图像传感器OV7670完成视频采集,C8051F340单片机模块完成数据转存和控制,并采用单片SRAM进行数据缓存,同时通过USB总线将图像数据送给上位机完成数据传输和显示。其总体结构框图如图1所示。

1.1 图像传感器的选择

图像传感器是一种半导体芯片,其表面包含有几十到几百万的光电二极管,光电二极管受到光照射时,就会产生电荷。目前的图像传感器主要有两种,一种是电荷藕合器件(CCD),另一种是互补金属氧化物半导体(CMOS),CCD的优点是灵敏度高,噪音小,信噪比高。但是生产工艺复杂,成本高,功耗高。CMOS的优点是集成度高(将ADC与信号处理器整合,大幅缩小体积),功耗低,成本低[1]。结合本系统的要求,选用功耗低、集成度高的CMOS图像传感器。

OV7670图像传感器,体积小、工作电压低,提供单片VGA摄像头和影像处理器的所有功能。通过串行摄像头总线控制(Serial Camera Control Bus,SCCB),可以输出整帧、子采样、取窗口等方式的各种分辨率8位影响数据。该产品VGA图像最高达到30帧/秒。用户可以完全控制图像质量、数据格式和传输方式。所有图像处理功能过程包括伽玛曲线、白平衡、饱和度、色度等都可以通过SCCB接口编程。OmmiVision 图像传感器应用独有的传感器技术,通过减少或消除光学或电子缺陷如固定图案噪声、托尾、浮散等,提高图像质量,得到清晰的稳定的彩色图像。

系统供电采用USB接口从PC上取电,通过稳压芯片AMS1117-3.3给整个系统供电。DOVDD和AVDD用相同电压,采用2.8V,通过稳压芯片PAM3101DAB28从前端3.3V转换,用R/C过滤器把DOVDD和AVDD隔开。DVDD采用1.8V,采用稳压芯片PAM3101DAB180从前端2.8V电压转化。摄像头模组采用两路稳压电源。

OV7670视频口有八根数据线, D[7:0],它支持的数据格式有8位 RGB raw 输出, 8位YcbCr 输出, 8位 RGB 565/555/444 输出。行同步信号 Href 和 Hsyn 是用同一引脚(Href pin)输出,通过写SCCB寄存器,可选择这个引脚作为 Href 或hsyn信号。Reset#低有效,由C8051F340 P1.4控制,初始化设置为高电平。PWDN为功耗选择模式,由C8051F340 P1.3控制,初始化设置为低电平。

1.2 帧存储器AL422B

采用的处理器选用16位的单片机C8051F380,因为一副图像的数据量很大,而直接通过单片机的IO口采集,速度慢,达不到刷屏的要求,因此需要引入FIFO器件,这样可以进行图像数据的缓存,通过也可以供上位机有效的读取图像数据。帧存储器AL422B是AverLogic公司推出的存储容量为3M位的FIFO存储芯片,可以存储VGA、CCIR、NTSC、PAL和HDTV等制式一帧图形的信息。

1.3 C8051f340单片机控制系统

C8051F340单片机是完全集成的混合信号片上系统型MCU。其突出的优点是集成了USB功能控制器,使其与外围器件进行高速通讯时具有极大的优势,且Silicon公司还提供了配套的USB驱动文件USBXpress,使程序的设计和开发更加方便快捷,设计人员无需了解更多的USB协议,只需要了解客户端和设备端的应用程序接口(Application Program Interface , API ),编程就能实现USB通讯控制功能。

2 下位机软件设计

下位机的开发环境为keil C51+Silicon Labs IDE, 安装破解版的keil软件,最新版本为keil4.0以上。安装原因是因为C8051F单片机必须要有第三方编译器才能编译,其中一个可以使用的就是最经常用到的keil的C编译器。注意要破解版的,否则编译会有代码长度限制。安装Silicon Labs IDE,必须正确配置编译路径,否则编译会不正确,导致无法下载。另外,用仿真器下载时,正确设置仿真器接口类型,是JTAG口还是简化的C2口,并且能看到仿真器的序列号。

USB主要工作在虚拟中断模式下,软件运行时当USB_Clock_Start和USB_ Init对单片机配置完之后,Get_Interrupt_ Source函数开始工作,它始终在检测USB总线的状杰,并返回相应的函数值。部分程序如下:

void USB_API_TEST_ISR(void) interrupt 17

{

unsigned int j;

BYTE INTVAL = Get_Interrupt_Source(); //得到中断类型

if (INTVAL & RX_COMPLETE) //数据接收完成

{

Block_Read(Out_Packet, 8); //将数据读入设备接收缓冲区

if((Out_Packet[1]==0x03)&&(X<240))

{

if(X==0)

{

FIFO_WR=0; //禁止CMOS数据写入FIFO

EX0=0;

FIFO_RRST=0; //FIFO读指针复位

FIFO_RCK=0;

FIFO_RCK=1;

FIFO_RCK=0;

FIFO_RCK=1;

FIFO_RRST=1;

P4MDIN=0xff; //P4口设置为高阻态

P4MDOUT=0X00;

P4=0xff;

FIFO_OE=0;

}

for(j = 0; j <640; j ++)

{

FIFO_RCK=0;

FIFO_RCK=1;

FIFO_OE=0;

FIFO_OE=0;

buffer[j]=P4;

}

Block_Write(buffer, 640);

X++;

}

}

if (INTVAL & TX_COMPLETE) //数据发送完成

{

if(X==240)

{

X=0;

}

EX0=1;

}

if (INTVAL & DEV_SUSPEND) //设备挂起

{

Suspend_Device();

}

if (INTVAL & DEV_CONFIGURED) //设备初始化

{

}

}

3 上位机软件设计

首先搭建上位机开发环境,上位机采用VS2010+opencv的环境搭建开发,下载OpenCV-2.4.0,双击解压到%opencv%,下载VS2010,安装。配置OpenCV环境变量,计算机->(右键)属性->高级系统设置->高级(标签)->环境变量->(双击)path(用户,系统里面的path任选其一)->在变量值里面添加” %opencv%\build\x86\vc10\bin”和”%opencv%\build\common\tbb\ia32\vc10”,然后配置配置工程的opencv依赖,编写上位机代码,并调试。部分程序如下:

#include "stdafx.h"

#include "highgui.h"

#include "cv.h"

int _tmain()

{

cvNamedWindow("avi");

CvCapture* capture = cvCreateCameraCapture(-1);//随机选择个摄像头

IplImage* frame;

while(1)

{

fprintf(stderr, "WebcamFrameSource .... calling\n");

frame = cvQueryFrame(capture);

if(!frame)break;

cvShowImage("avi",frame);

char c = cvWaitKey(33);

if(c==27)//27就是esc的assci码值

break;

}

cvReleaseCapture(&capture);

cvDestroyWindow("avi");

return 0;

}

最终实现的采集图像结果如图3所示。

4 结论

该系统采用Omni Vision公司30万象素的CMOS图像传感器OV7670芯片采集图像,通过帧存储器AL422B的缓存,结合C8051F34016位单片机集成的USB控制器的功能,通过USB总线将图像数据传给上位机,上位机结合强大的Opencv开发平台,实现了图像的实时显示和保存。整个系统通过模块化的开发流程,便于调试,开发周期短,实现了对图书馆借还书等关键位置的检测,达到了预期的目标。

参考文献

[1]李建华,仲元昌,梁善友等.基于 CMOS图像传感器的视频监视实验系统设计[J].实验室研究与探索,2012,31(12):53-85.

[2]黄再银,李丽.帧存储器AL422的性能特点及其在画面分割器和扫描率转换器中的应用[J].国外电子元器件,2003(5):60-62.

[3]许明,王学俊,丁金华等.基于C8051F340 微控制器的USB通讯接口的设计[J].机床与液压,2011,39(4):98-103.

[4]王晓宁.基于 C8051F340单片机的 USB数据采集系统[J].医疗卫生装备,2009,30(7):111-113.

作者简介

陶喜林(1985-),湖北省武汉市人。工程师。主要研究方向为控制系统和数据采集、数字化图书馆研究。

田晓靓(1992-),天津市人。现为天津科技大学学生。主要研究方向为计算机控制和网络技术。

作者单位

天津科技大学 天津市 300222

推荐访问: 监控系统 图书馆 视频采集 研究 CMOS

版权所有:智城范文网 2010-2025 未经授权禁止复制或建立镜像[智城范文网]所有资源完全免费共享

Powered by 智城范文网 © All Rights Reserved.。粤ICP备20058421号