基于FPGA的视频采集与显示模块设计本文给出的视频采集和显示模块在设计时,选取分辨率为768×494像素的NTSC制式,并选用输出像素为640×480的CCD摄像头;FPGA选取AlteraCyclONeⅡ系列Ep2c35F672c36(内含35000个逻辑单元);主动串行配置器件为Epcs16;可配置VGADACADV7123(内含3个10位高速DAC)及VGA输出口,同时支持NTSC和PAL制式的视频解码器ADV7181及RCA视频输入接口。1ADV7181的特性及其寄存器配置ADV7181是一款集成的视频解码器,可支持多种格式的模拟视频信号输入,包括CVBS,S_VIDEO和YPrPb分量,并可自动检测NTSC、PAL和SECAM。ADV7181可输出16位或8位与CCIR656标准兼容的YCrCb4:2:2视频数据,包括VS、HS、Blank等重要信号。由于该器件功能强大,因此,要正确使用这款芯片,就必须对其内部240个寄存器进行合理配置。本系统只需设计I2C_Controller模块和I2C_AV_config模块对其中的40个寄存器进行参数配置即可。1.1I2C_Controller模块设计I2C_Controller使用33个I2C时钟周期来完成1次24位数据,其中第1个时钟周期用于初始化控制器,第2~3个周期用于启动传输,第4~30个周期用于传输数据(其中包括24为数据和3个ACK),最后3个周期用于停止传输。在程序当中,SD_counter用于对传输进行计数,并控制数据的传输。1.2I2C_AV_config模块设计该模块中的每个寄存器配置需要三步。一般用mSetup_ST表示当前进行到哪一步,mI2C_GO=1表示启动I2C传输,mI2C_END=1表示I2C传输结束,mI2C_ACK=0表示应答信号有效。图1所示是该寄存器的配置状态图。图1寄存器配置状态图在图1中,复位信号一旦有效,即表明对寄存器的配置进入到第一步,此时8位从设备地址、8位寄存器地址和8位数据进行连接,以组成24位传输数据;接着启动I2C传输,进入第二步(mSetup_ST=1),此后一旦检测到传输结束(mI2C_END=1),便对应答信号mI2C_ACK进行判断,如果应答有效,则进入下一步mSetup_ST=2,否则返回到mSetup_ST=0,重新传输数据。2图像采集和Video_to_VGA模块设计由ADV7181输出的itu_r65*:2:2格式的视频数据流格式如图2所示。图中,EAV和SAV为两个基准信号,要想获得有效视频数据,就得首先检测到SAV。操作时,首先要对FF0000进行检测,然后再根据XY提取F、H来判断SAV基准信号。XY一般由8位数据组成,图3所示是其位格式表示。图2itu_r65*:2:2格式视频数据流图3XY各位表示2.1ITU_R656_DECODER模块设计图3中,XY的第七位为场信号,F为0表示第一场,F为1表示第二场;XY的第六位为场消隐信号,V为0表示数据是有效信号,V为1表示数据处于场消隐阶段;XY的第五位为有效数据开始结束信号,H为0表示有效视频数据开始信号,H为1表示有效视频数据结束;而P0、P1、P2、P3为保护比特。操作时首先要检测FF0000,然后提取F、V、H等信号,最后再根据这些信号信息对视频数据进行相应的处理。图4所示是本图像采集系统的总体框图。图4系统总体框图Video_to_VGA模块主要由ITU_R656_DECODER模块和YCbCr2RGB模块组成,这里先对ITU_R656_DECODER模块进行设计。图5所示是ITU_R656_DECODER模块的设计原理框图。设计时,首先应构建串转并模块,以便对有效信号中的串行YCbCr信号进行分离,然后对亮度色差信号分别进行处理,以同时产生field和13.5M的Ypix_clock信号;接着对TD_HS进行倍频以产生HSX2,再通过三个dui_port_c1024模块将4:2:2的视频信号转换为4:4:4的视频信号。其中,在dui_port_c1024模块中使用乒乓操作,以实现对数据的连续处理,读时钟为写时钟的2倍,即写入一行数据,读出后变为两行,这样可实现奇行代替偶行,从而实现去交织(由于人眼对奇行偶行数据分辨力较差,故允许这种处理方式),输出的Y,Cb,Cr用于后期所要使用的10位RGB信号,而Ypix_clock、HSX2和VSX1则用于产生VGA的时序信号。2.2YCbCr2RGB模块设计该模块实际上用于完成一个色度空间的转换功能,它可将Y,Cb,Cr信号转换为所要使用的10位RGB信号。其转换关系如下:R=1.164(Y-16)+1.596(Cr-128)G=1.164(Y-16)-0.813(Cr-128)-0.392(Cb-128)B=1.164(Y-16)+2.017(Cb-128)这样,就可用3个MAC_3模块分别完成对R、G、B信号的转换,图6所示是其转换原理框图。图5ITU_R656_DECODER模块原理框图图6YCbCr2RGB模块转换原理框图3参数设置本系统采用640×480像素显示,刷新率为60Hz模式,像素时钟为25MHz。在VGA水平时序中,每行包括800像素点,其中640为有效显示脉冲,160为行消隐区;而在VGA垂直时序中,每场525行,其中480有效,45行为场消隐。其具体参数如下:4结束语本文介绍的图像采集和显示模块设计简单,成本较低。由于其用高效硬件描述语言构成,故其处理效率高,具有很好的实用特性。