《视频图像实时采集和显示系统的FPGA设计.doc》由会员分享,可在线阅读,更多相关《视频图像实时采集和显示系统的FPGA设计.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、视频图像实时采集和显示系统的FPGA设计务I造匐化视频图像实时采集和显示系统的FPGA设计TheFPGAdesignofreal-timevideoimagesdataacquisitionanddisplaysystem李兴富LIXingfu(桂林航天工业高等专科学校,桂林541004)摘要:针对视频图像信息实时采集过程中,数据量大,快速性要求高,普通的处理器芯片难以胜任绍了基于FPOA的视频信息采集与显示系统的设计方法,以及FPGA应用系统设计中一些难点问题的解决方法.通过IP核调用,异步FIFO数据缓冲,存储器乒乓操作等方法,利用FPGA内部资源实现了各功能模块的设计.仿真和实际测试结果
2、说明,利用FPGA进行视频图像信息采集和显示系统设计,是降低产品体积,功耗,提高快速性,稳定性的有效途径.关键词:FPGA设计;视频图像;视频采集;实时显示中图分类号:TP274;TN702;TN919文献标识码:B文章编号:10090134(2021)6(下)一O14O一04Doi:10.3969/J.issn.1009-0134.2021.6(下).450引言视频信息采集为视频图像处理,传输,显示等提供提供原始的数字图像数据,视频采集系统的性能是影响视频图像系统性能的关键因素之一f1】.随着人们对视频图像质量的要求越来越高,对视频采集系统的性能要求也将越来越高口.目前视频采集系统常用的处理
3、器包括通用处理器,DSP和FPGA.尽管通用处理器能够处理许多任务,但是它们通常缺少执行复杂数据处理任务所需要的带宽,常因速度不够快而不能满足设计目标;DSP虽然内部利用专用硬件实现数字信号处理中的常用算法,运算速度很快,但其采用单指令执行系统,并且仅对某些固定的运算可以优化,因此灵活性不够;FPGA作为当今主流的大规模可编程集成电路,采用硬连线逻辑实现数据处理和运算,具有集成度高,速度快,性能稳定,开发周期短,便于改良升级等一系列优点,还能实现视频采集,图像显示的外围逻辑控制,在视频采集和图像处已成为很好的选择.本文采用FPGA作为视频图像实时采集和显系统的构成,工作原理及技术现状做了简单介
4、绍,然后表达了各功能模块和接口电路的设计方法和过程,重点介绍了FPGA应用系统设计中一些难点问题的解决方法.1系统的总体结构及器件选择系统硬件框图如图1所示.其中,CMOSsensor为图像传感器,型号为MT9M111,用于实时接收视频信号;LCD的型号为TD036THEA3,用于实时显示视频图像;SDRAM采用ISSI公司的IS42S16400B,用于缓存视频数据;FPGA采用CyclonelIEP2C35F672C8,作为整个系统的控制核心.图1系统总体结构框图MT9M111是美光公司推出的集成CMOS传感器和图形处理器的SOC产品;130万像素分辨率(1280HX1024V),可以支持S
5、XGA格式输出;嵌入的可编程图像处理器提供的功能包括色彩恢复和修补,自动曝光,白平衡,镜头阴影修正,增加清晰度,可编程灰度修正,黑暗电平失调修收稿日明:2021-0223基金工程:广西教育厅科研工程图像识别及轨迹跟踪技术的应用研究(桂教科研2007334号)作者简介:李兴富(1961一),男,辽宁凌海人,副教授,研究方向为工业自动化,电子技术应用.1401第33卷第5期20216(下)l甸似正,闪烁防止,连续调整滤光尺寸,平滑的数字变焦,快速自动曝光模式和不工作时缺陷修正等,可以通过两线串行接口对其进行配置.EP2C35F672C8为Almra公司CyclonelI系列FPGA芯片,在性能,功
6、耗和性价比方面超越了第一代Cyclone系列.可以内嵌各种IP核,实现强大的控制处理功能;内嵌M4K存储器块,用于实现单端口RAM,双端口RAM,ROM以及同步FIFO和异步FIFO;除了支持LVTTL,LVCMOS,SSTL等标准的单端I/O外,还支持LVDS,RSDS,miniLVDS,LVPECL等标准的差分信号;支持四个可编程锁相环(PLL)和最多16个全局格也比拟适中,所以很适合作为大批量产品的解决方案.是视频处理低本钱解决方案的理想选择.IS42S16400B是ISSI公司的SDRAM产品.包含67,108,864bits,可配置为具有同步接口的四块DRAM.该SDRAM包括自动刷
7、新模式,省间交错隐藏预充电时间,支持同步猝发数据传输方式.晶显示模块,采用低温多晶矽硅TFT技术,分辨率为320X240,数据格式为RGB565,具体显示为QVGA模式,输出像素时钟为19.28MHz.2系统的FPGA设计系统的FPGA设计模块图如图2所示.I2Ccontroler模块用于通过I2C总线协议控制MT9M111的存放器配置,使摄像头按照配置的模式工作,输出行场同步信号,像素时钟,图像数据.ImageCapture模块检测行场同步信号,生成写使能信号,在像素时钟的上升沿将视频数据据转换成RGB信号,SDRAMcontroler模块用Controller模块产生LCD控制信号,将SD
8、RAM中的数据送到LCD上,这样就完成了视频图像的实时采集与显示.设计中采用VefilogHDL进行编程,可以在抽象层对电路进行描述,而不必考虑特定的制造工艺,通过使用Altera公司QuartusH软件的逻辑综合工具能够将设计自动转换为任意一种制造工艺幅员.图2FPGA模块图I2Ccontroller模块是通过编写Vefilog代码自定义逻辑实现的.模块图如图3所示.菌一lrlst:图3I2Ccontroller模块在该模块中,由于需要把I2C总线接口的SCL和SDA信号在系统时钟下同步,因此采用系统时钟iCLK对SCL和SDA信号进行三次缓冲,得到其上升沿和下降沿脉冲信号,便于状态机处理;
9、状态机对I2C的读/写存放器操作进行说明,状态包括器件地址局部,存放器地址局部和数据局部.在程序设计过程中,首先需要检测视频图像中帧标志的有效起始和结束,在判断到帧标志有效后,需要继续检测视频图像中行的有效起始和结束标志,在判断到行标志有效后,在像素时钟上升沿把图像的有效像素值存入存储器;同时,在帧标志的上升沿后,列计数器x_cnt清0,在行标志有效期间,对列计数器进行计数,记满1280为一行数据,行计数器加1;最后,输出数据的有效使能信号,供下一级图像格式转换模块使用.局部源代码如下:always(posedgeclkornegedgerst_n)if(!rstn)fval_tmp<=
10、lb0;elsefval_tmp<=i_fval;/帧有效缓冲第33卷第5期2021-6(下)1141】,l訇化assignfval_pulsen=iflval&fvaltmp;/帧标志下降沿脉冲定义assignfval_pulseP=i_fval&!fvaltmp;/帧标志上升沿脉冲定义assigno_data_val=frame_val&line_val;/输出数据有效标志always(posedgeclkornegedgerstn)if(!rst_n)o_framecnt<=32h0;elseif(fvalpulse一11)oframe_cnt<
11、=0一frame_cnt+1bl;/帧计数器定义由于在MT9M111图像传感器的配置中,采用原始的Bayer输出格式,使得其每次只产生一种颜色分量的响应值,而FPGA后续设计需要4:4:4的RGB颜色,因此需要对颜色分量进行处理.本模块设计需要大量的移位存放器,如果全部采用FPGA内部的触发器串联构成的话,需要2560个10bit的触发器,会导致LE中的触发器资源紧张,可能会出现最终逻辑资源不够用的情况.在AlteraFPGA中,内嵌的M512和M4K专用IP存储模块,可以被用来支持移位存放器模式,不仅可以节省触发器资源,同时也减少了布线资源.通过调用Mtera的IP核生成器产生移位存放器,数
12、据宽度为10bits,抽头数(Taps)为2,如图4所示.linebuffer?inst2I.I图4调用IP核生成移位存放器制模块设计由于MT9M111工作时钟为25MHZ,因此图像数据的接收,格式转换是在25MHZ时钟频率下进行的.而FPGA板上输入时钟频率为50MHZ,因此会产生异步时钟域问题.设计中采用异步FIFO进行数据缓冲.同理,由于液晶屏输出像素时钟频率为19.28MHZ,SDRAM控制器使用的时钟为输入时钟经过FPGA内部的PLL两倍频后的100MHZ,因此在SDRAM控制器与液晶屏显示控制模块之间也通过异步FIFO进行数据缓冲.为了满足视频图像实时采集和显示的需要,作为单端口器
13、件,不能同时进行数据的写入和读出.要实现同时读写,必须采用乒乓操作来SDRAM控制器接口和FIFO缓冲接口,轮流对一片SDRAM中的两块BANK进行操作,当传感器发送数据至SDRAM时,写入BANK0,此时显示控制可以从BANK1取数据,并且传感器发送一帧数据的时间与显示器取出一帧数据的时间相同;当传感器继续发送数据时,写入BANK1,同时显样就可以有效地利用和节省存储器资源,并实现视频图像的实时采集和显示.显示控制模块LCMController用于按照TD036THEA3液晶屏的时序要求,产生输出帧和行控制信号,通过读取FIFO中的数据,输出为19.28MHZ,是通过对系统时钟分频得到的.局
14、部实现代码如下:/有效显示区使能定义assigndatavalen=(h_cont>l1d149)&&(h_cont<1ldl110)&&(vcont>1ld14)&&(v_cont<11d255)/输出有效数据定义always(posedgeclkornegedgerst_n)/J.AKU,rWriteMIMReadLUSDRAMU-r,rrFIFOXXFJFO一f一f-,r/1421第33卷第5期20216(下)图5存储器乒乓操作原理图l匐化if(!rst_n)begincnt<=2b0;o_lcmdata<
15、;=8bO;endelseif(datavalen)/数据有效期标志begincnt<=cnt+1bl;11计数器加1case(cnt)/输出数据定义2h0:Olcm_data<=reddata;2hl:Olcm_data<=greendata;default:Olcmdata<=bluedata;endcaseend3系统的测试通过编写测试代码,采用Modelsim仿真工具为Imagecapture模块的仿真测试时序图,其他模块的仿真测试方法类似,不再赘述.Imagecapture模块是系统中的关键局部,它根据MT9M111图像传感器输入的行有效信号,帧有效信号,采集
16、像素数据,提供应后续模块进行格式转换,显示输出等.如图中所示,输入时钟频率为25MHZ,在系统复位为高的情况下,当帧有效标志和行有效标志均为高时,对输入数据进行采样,同时xcont计数器不断加一;当一行结束的时候,Ycont计数器加1,完成有效图像数据的采样.通过对整个系统的实际测试,在50MHZ频率下,到达的指标如下:实时性:25帧/秒;最大功定性也很高.4结论本文介绍了一种采用FPGA作为核心控制器同时实现外围部件接口控制逻辑的视频图像实时理,调用IP核生成移位存放器,SDRAM存储器乒乓式操作等FPGA应用设计中的一些难点问题的处理方法.通过仿真测试和实际验证,该系统在快速性,稳定性及体
17、积,功耗,本钱等方面均具有较优越的性能.说明,利用FPGA进行视频图像信息采集和显示系统设计,是降低产品体积,功耗,提高快速性,稳定性的有效途径.参考文献:有线电视,2006(21):21042108.现.微计算机信息,2006,22(12):2628.3ChrisRoven.IP重用和嵌入式SOC开发的逻辑方法Jl_电子产品世界,2005(8):115116.预处理J1.微计算机信息,2005,21(93):109111.【5科夫曼.基于Verilog语言的实用FPGA设计M】.北京:科学出版社,2000.系统开发设计与应用实例M.北京:北京航空航天大学出版社,2007.用Jl,2007(1
18、1):3-6.算机信息,2006,22(92):159160.iSTARTiCLKl广一广厂_厂厂一r厂厂厂1厂iFST1iFVAL0iFVAL1iDATA2l2117I3baII23l12dI25Ilc51387I12O0bdI12IOcfI2da1;215田一OXCont00031bI31cI3le3IfX3:01321I322I323324I3:5X326327=328oYConto0Oo030FrameCont00Cloo00000000lODVALOEl-4oDATA0653a41l713ac231【1:dI2751c5I387120O1d142X0cfI2damCCDFVAL0mCCDLVAL1PreFVALO图6Imagecapture模块仿真测试时序图第33卷第5期2021-6(下)1431