龙源期刊网 http://www.qikan.com.cn
基于FPGA的视频图像采集系统的设计与实现
作者:何碧贵
来源:《价值工程》2012年第28期
摘要: 针对视频图像采集对可靠性和实时性的要求,提出并实现了一种以FPGA为控制的视频图形采集系统。采用Altera公司生产的Cyclone ⅡEP2C35F672C6芯片,负责接受和处理来自ADV7181解码后的视频数据,将该数据转换到RGB色域后输出到ADV7123芯片。通过相关的调试,系统通用性好,移动性比较好。
Abstract: For the demand of reliability and real—time characteristics for video collection, this paper proposes a video collection system based on FPGA. The system which adopts Cyclone II series EP2C35F672C6 image processing chip as its core, it receives and deals with the video data from the ADV7123. According to some experiment, the common usage and mobility of system is fine. 关键词: FPGA;ADV7181;RGB色域;ADV7123芯片 Key words: FPGA;ADV7181;RGB color;ADV7123 chip
中图分类号:TP39 文献标识码:A 文章编号:1006—4311(2012)28—0200—02 0 引言
随着数字和多媒体技术的不断发展和进步,数字图像(尤其是视频图像)处理技术被应用于多种领域中[1]。而FPGA
具有很强的灵活性,低开放成本,可以通过软件,根据需要无限次的更改其内部硬件逻辑,采用基于门电路的硬件算法,运算速度接近于专用集成芯片,能够满足实时图像处理的要求[2]。因此本文所研究和实现的正是一种基于FPGA的低成本图像采集处理系统。 1 视频图像采集系统的硬件设计
如图1所示,该系统包括几个功能模块:图像采集模块、图像处理模块、图像显示模块。其中图像采集模块主要由外接摄像头和ADV7181解码芯片组成,完成视频信号的采集和硬件解码功能,并以ITU—656标准输出YUV 4:2:2信号;图像处理模块选用的FPGA是Altera公司生产的Cyclone ⅡEP2C35F672C6芯片[3,4]构成,完成系统控制,视频信号的采集以及后续处理等工作;图像显示模块主要由ADV7123芯片、VGA接口和CRT显示器等组成,主要完成视频信号的数模转换,输出并显示视频信号。
龙源期刊网 http://www.qikan.com.cn
在上述视频图像的采集与处理过程中,FPGA作为整个系统的控制与处理核心,主要是通过该芯片的I/O管脚来控制数据采集芯片ADV7181和高速D/A转换芯片ADV7123,并且负责接受和处理来自ADV7181解码后的视频数据,将该数据转换到RGB色域后输出到ADV7123芯片。
2 视频图像采集系统的软件设计
本文采用的是Altera Quartus Ⅱ设计软件提供的多平台设计环境。Quartus Ⅱ的主要设计流程如图2所示。
具体设计步骤:一是设计输入,可以原理图输入,也可以用VHDL语言输入;输入完成后,就综合(其实综合就是编译,点击COMPILE图标就可以了,软件会自动实现综合过程);编译成功后,就开始时序仿真,通过创建输入信号波形(也就是激励文件),自动产生输出波形,看输出波形是否和我们设计的一致,是否正确,正确的话,通过JTAG下载。 根据视频图像采集系统软件设计的功能知道本文图像采集系统包括的主要模块有I2C_CONFIG模块和TV_TO_VGA模块。其中I2C_CONFIG模块主要是用来通过给ADV7181芯片的寄存器赋值来控制ADV7181的功能和工作模式。 ADV7181 采用I2C 总线接口配置,采用 Verilog HDL硬件描述语言设计实现,集成了一个视频解码器,能够满足高达6 通道模拟视频输入,可以自动检测标准模拟基带电视信号,包括NTSC,PAL,SECAM 视频制式,转换为符合CCIR601/CCIR656的4:2:2分量数字视频数据。
对ADV7181的配置,只需将数据写入ADV7181的寄存器中,所以I2C控制器只需实现I2C的写数据控制。整个功能由两个模块来完成,I2C_Controller模块用来产生I2C总线规范的时序,I2C_Config模块用来产生需要配置的寄存器的地址和配置参数[5]。
TV_TO_VGA模块主要包括ITU_R656解码模块、视频图像存储模块、YUV到RGB色域模块,完成的功能包含视频信号的采集、分配、存储以及色度空间的转换。
ITU_R656解码模块对电视解码器芯片ADV7181解码得到的YCrCb(4:4:2)数据源在插值之后得到YCrCb(4:4:4)信号,同时生成13.5MHz的像素时钟及消隐信号。其中双端口线路缓冲器模块和HSYNC×2模块可以实现去交织操作,时钟像素从13.5MHz变为27MHz,HSYNC信号从31.4kHz降到15.7kHz。双端口吸纳路缓冲器模块内部使用一个1K字节长的双口SRAM将YCrCb数据量加倍。最终YCrCb2RGB模块将YCrCb×2数据送到VGA显示器上输出,VGA时序发生器模块用来生成单独的VGA同步信号VGA_HS和VGA_VS,以便VGA显示器上显示输出数据。
视频图像存储模块主要完成将数据进行存储,通过乒乓操作控制实现隔行变逐行的数据输出[6]。YUV到RGB色域模块主要完成色度空间的转换把8位YCrCb信号成功的转换成10位的RGB信号输出。整个过程仿真波形如图3所示。
龙源期刊网 http://www.qikan.com.cn
4 综合调试
根据硬件原理图,采用Orcad软件绘制PCB版图。电路板生产出来之后,首先测试电路板能否正常工作。若硬件电路没有问题,则开始上电测试,加载软件进行软件测试。 通过实验板上FPGA的对图像解码芯片ADV7181芯片以及ADV7123芯片进行初始化,图像数据由PAL制式的CCD摄像头提供,由图像解码芯片ADV7181转换成数字图像后,采集到FPGA中相应的处理过后再通过FPGA将数据发送给数模转换芯片ADV7123,由ADV7123将数字信号转换成模拟视频信号,通过VGA接口输出到CRT显示器上即可验证结果的正确与否。
实际的测试装置与测试效果如图4所示。
由图4可以看出,在CRT显示器上可以清晰的看到CCD摄像头摄取的图像,这说明,该系统可以在FPGA芯片EP2C35的控制下,完成对CCD摄像头输入数据的采集、A/D转换、解码、处理、D/A转换等工作,及控制VGA接口正确的显示图像。同时也说明了本文设计的基于FPGA实现CCD摄像头图像获取系统是正确的。 5 结束语
本文实现了以Altera EP2C35 F672C6芯片与ADV7181之间的通信,并采用乒乓操作实现视频数据的存储,并将存储的图像数据送至VGA显示,充分利用 FPGA的内部资源,不必外加单片机和存储器。 参考文献:
[1]李梦东,邹国良,徐建民.图像压缩编码方法评述[J].河北大学学报(自然科学版),1997,(04):23—25.
[2]Yeh P S,Armbruster P,Kiely A,et al. The new CCSDS image compression recommendation[C].//Proceedings of the IEEE Aerospace Conference. 2005: 4138—4145. [3]Anderson D A, Sellers J J, YoshiHashida. Attitude Determination and Control System Simulation and Analysis f or Low — cost Microsatellites[A].2004 IEEE Aerospace Conference Proceedings[C].2004:2935—2949.
[4]Jana L S, Mas on A P, Ch rist opher D H . H ist orical review of airbearing spacecraft simul at ors[J]. Journ al of Guidance, Cont rol, and Dyn ami cs, 2003, 26(4):513— 522. [5]Haruo Nakazawa. Development of a 2—D imensional Mircro Conveyer. The third international Micro machine Symposium,October 30~31,1997.