欢迎来到天天文库
浏览记录
ID:43667794
大小:17.35 KB
页数:6页
时间:2019-10-12
《基于FPGA的视频监控系统设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于FPGA的视频监控系统设计与实现 摘要:随着经济和社会的发展,无论是在公共还是在个人空间,人们的安全意识越来越高,传统的锁已不能满足其需求,现在市面上的各种监控系统种类繁多,大多采用单片机之类的微处理器实现,监控往往不仅需要报警而且要求对视频进行采集和存储,对于监控视频的大数据量处理,对于单片机来讲处理能力往往不足,采用并行的FPGA技术作为处理器将会提升性能,解决数据处理的瓶颈问题,本文设计并实现一种采用FPGA技术实现的视频监控系统,经过测试验证本系统具有较高的稳定性,表现出了较好的性能。 关键词:FPGA视频监控;并行处理;VGA显示 中图分类号:TN4文献标识码:A
2、文章编号:1673-1069(2016)17-156-2 1视频监控系统设计 本视频监控系统主要由图像采集终端,视频转换接口,VGA显示终端组成,传感器OV5620采集到现实景物后,将生成的RAW数据流由ITU数据输出端口发送给视频转换接口。视频转换接口将ITU数据输入端口送来的RAW数据流转换成RGB数据流发送,通过VGA端口发送给显示终端显示。OV5620输出图像的最大分辨率为2592×1944。 2系统硬件设计 硬件电路主要包括CMOS摄像头传感器,数据采集模块,SDRAM存储模块,VGA视频输出接口模块。 在现实景物的采集与显示过程中,视频转换接口功能的实现通过以下
3、步骤来完成: ①对采集到的RAW数据流进行转换。视频转换接口收到的是像素的RAW值,因此需要将每个像素的色彩值由RAW空间转换到RGB空间,然后再对RGB进行数据平均,输出RGB数据,实现色彩空间的转换。②将转换后的每个像素的RGB值写入存储器中。由于视频的转换接口和VGA接口的视频数据流工作的时钟域是不同的,需要SDRAM来作为缓存,存储一帧图像的数据,以供VGA显示器显示。③从存储器中读出像素的RGB值,并将其转换成VGA模拟信号值。由于FPGA内部没有D/A转换单元,因此不能通过FPGA来直接产生模拟信号,还需要另外添加专门的图像D/A芯片(ADV7123)来完成模拟信号的产
4、生。系统工作时,FPGA将从SDRAM存储器中读出的RGB值送至图像DA芯片进行数模转换变成模拟信号值VGA接口直接输出,系统就能将图像在VGA显示器上直接显示。 3系统软件设计 3.1摄像头采集图像模块程序设计 摄像头的采集过程和VGA的显示恰好是个相反的过程,VGA的显示是由FPGA产生行列时序,供给D/A转换器,产生驱动VGA显示器的模拟信号。而摄像头的采集图像是摄像头自动产生行列信号,用FPGA进行采集就行。在对摄像头进行采集之前,需要用SCCB协议给摄像头进行配置,SCCB协议兼容I2C协议,前者写数据和I2C是一样的,就是读数据的时序不一样。本设计中因为只对摄像头进
5、行配置,只用到了SCCB的写协议。 3.2图像转换模块程序设计 摄像头数据采集模块采集到RAW数据,需要转化为RGB格式的数据,才能够驱动摄像头。10位的RAW数据经过空间转换把10位的采集数据转换为10位的RGB数据,然后数据进入第二个模块,对空间转换的10位RGB数据进行数据平均得到R[9..0],G[9..0],B[9..0],然后RGB数据经过SDRAM进行缓存。采用行缓冲+流水线的处理方式,将前一级抓取到的行数据(bayercolorpattern),实时转换成标准的30位RGB数据并进行适当的下采样,以便于后继的图像处理及显示。 3.3SDRAM程序设计 SDRA
6、M在此系统里,充当的是图像缓存的作用,摄像头将数据采集进来,将图像存储到SDRAM中,然后VGA控制模块从SDRAM读出并显示在VGA显示器上。核心的代码如下: Sdram_Control_4Portu8(//HOSTSide .REF_CLK(CLOCK_50), .RESET_N(1'b1), .CLK_100OUT(CLOCK_100), //FIFOWriteSide1 .WR1_DATA({tCMOS_R,tCMOS_G,tCMOS_B}), .WR1(tCMOS_DVAL), .WR1_ADDR(0), .WR1_MAX_ADDR(1280*960),
7、 .WR1_LENGTH(9'h100), .WR1_LOAD(wSYNC), .WR1_CLK(CMOS_PIXCLK), //FIFOReadSide1 .RD1_DATA({Image_Read_R,Image_Read_G,Image_Read_B}), .RD1(VGA_Read_Req), .RD1_ADDR(0), .RD1_MAX_ADDR(1280*960), .RD1_LENGTH(9'h100), .RD1_LOAD
此文档下载收益归作者所有