探析基于FPGA的视频采集系统设计
方案整体框架
(1)视频采集部分:将摄像头采集到的模拟视频数据CVBS转换成数字视频格式YUV4:2:2,包括I2C总线配置,TIU656解码。(2)视频处理部分:为适应VGA的不同显示,对视频数据做相应预处理,包括彩色VGA数据处理,灰度VGA数据处理,Sobel边沿检测数据处理,Prewitt边沿检测数据处理。(3)视频存储部分:将视频数据储存在容量为4M×16×4Banks的SDRAM中,主要包括SDRAM控制器设计。(4)VGA显示部分:将实时的视频数据在显示器上显示出来。包括色度空间转换,VGA时序产生,ADV7123视频数据编码。
3、系统的具体工作流程
系统上电后,由配置芯片重新配置FPGA;配置完成后,FPGA对视频解码芯片进行初始化;视频解码芯片进入工作状态,采集4路模拟视频信号;FPGA初步处理4路数字视频信号;处理后,将4路视频数据存储到SDRAM中;在TFTLCD上显示所采集的数字化视频信息;利用IO口,可在外部切换采集通道,对系统进行复位操作。具体工程流程如图1所示。
4、基于I2C协议实现FPGA对ADV7123的配置
I2C总线是一种双向二线制总线,主要用于IC器件之间的连接和数据传输,因为占用空间小、传输速度快和多主控的优点得到了广泛应用。I2C总线由时钟线(SCL)和数据线(SDA)两条线组成,SDA总线用来在主从器件之间进行数据传输,SCL总线用于时钟同步。当启动信号START发出时,总线开始数据传输,停止信号STOP发出,数据传输结束。START和STOP信号都由主控器件产生。数据传输过程中,当时钟总线(SCL)处于高电平期间时,数据总线的状态不能发生转变,否则将表示主控器件发出了START或STOP信号,SDA的状态变化只能出现在SCL的低电平期间。所以,在SCL处于高电平期间,数据总线(SDA)必须保持稳定。在时钟总线(SCL)保持高电平期间,起始和结束信号由数据总线(SDA)的信号变化来产生。如果SDA和SCL都为高电平,则表明数据总线处于空闲状态;在SCL为高电平,同时SDA发生由高到低的变化,则表示主控器件发出START信号,SDA由低到高变化,表示发出STOP信号。I2C总线的具体时序如图2所示。
5、有效视频数据的采集与存储
(1)ITU656解码。ITU656协议中定义了视频开始SAV和活动视频结束EAV两种定时基准信号,SAV和EAV信号有3字节的前导:FF、FF、00;最后1字节XY表示该行位于整个数据帧的位置及如何区分SAV、EAV。在每个时钟的上升沿读取从解码芯片传来的8位数据。当检测到一行数据的开始标志FF0000XY时,检测到SAV信号或EAV信号,提取H、F、V信号。然后发出开始命令,同时开启行列计数器,开始对接下来的图像数据进行解码,根据每个8位数据自身带的信息,判断该数据为Y,Cr还是Cb,从而得到Y,Cr,Cb各分量的值。
(2)视频的存储。该模块将视频解码芯片输出的场同步信号周期作为切换的时间间隔,SDRAM按照存储单元地址分为4个空间,用于4路视频信号存储,保证各路信号均可正常显示。
6、VGA顯示
视频数据从SDRAM读出以后,首先将4:2:2的视频流转化为4:4:4的数据格式,使每个像素点都包含亮度分量Y和色度分量Cb和Cr。由于VGA所采用的色彩空间是RGB色彩空间,因此通过YCbCrtoRGB模块将YCbCr空间转化成RGB空间送给VGA控制器。同时VGA控制器还产生出VGA的同步信号VGA_HS,VGA_VS,和24位的RGB数据一起送到编码芯片ADV7123,通过VGA显示器显示出来。
7、结束语
本文实现了基于FPGA的视频采集系统设计,该系统结构简单,硬件流程清晰。基于FPGA的视频采集系统电路集成度高、信噪比高、功耗低、成本低、速度快以及接口方便,为前端图像处理器的高度集成化实现提供了可能性。视频采集系统中采用FPGA作为采集控制部分,可以提高系统处理的速度及系统的灵活性和适应性。
参考文献:
[1]视频图像处理平台的研究[D].孟繁星.长春理工大学2016.
[2]图像去模糊技术及相关图像增强系统[D].黄明杨.北京邮电大学2017.
(作者单位:桂林长海发展有限责任公司)