微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 基于NiosII的视频采集与DVI成像研究及实现

基于NiosII的视频采集与DVI成像研究及实现

时间:11-09 来源:互联网 点击:
采用FPGA作为视频采集控制和图像处理芯片,配置NiosII软核,在FPGA片内完成图像处理和图像显示控制,简化了硬件电路和软件程序的设计。在FPGA片内编写视频采集时序,并配置NiosII控制软核,模拟视频数据经视频解码芯片输出ITU-RBT.656格式数据送入FPGA,通过时序控制和NiosII软核把视频解码数据依序存储在SSRAM中,并进行裁剪、交织、颜色处理。

视频采集是进行图像及图形处理的第一步,目前视频采集系统一般由FPGA和DSP组成,FPGA作为视频采集控制芯片,DSP作为图像处理与成像控制芯片。随着FPGA技术的发展,片内的逻辑单元越来越多,片内的DSP资源也越来越丰富,因此可直接在FPGA片内进行图像处理。目前Altera公司的FPGA支持NiosII软核,通过Avalon设备总线挂接自定义模块,编写用户控制程序。本设计通过Avalon总线读取RGB像素值进行像素处理,通过I2C总线初始化视频解码芯片和DVI视频编码芯片。NiosII是一种可配置片内外设的软核CPU,采用RISC精简指令系统,流水线处理技术,用户可自定义Avalon总线外设构成SoC系统,支持32 bit存储宽度,支持DDR2、SSRAM存储器。结合项目,采用TVP5146视频解码芯片,FPGA采集解码数据并进行隔行转逐行、像素裁剪处理、像素YCrCb转RGB、RGB转灰度等处理后,采用NiosII软核配置Avalon总线DVI接口从设备外设,把储存在SSRAM中的视频数据依次送入DVI编码芯片SiI178,带有DVI接口的监视器接收解码并显示采集的视频数据。

1 视频采集与DVI成像系统的组成

视频采集与DVI成像硬件构成如图1所示。该系统由视频解码芯片、FPGA控制芯片、DVI接收编码芯片、SSRAM和Flash组成。硬件系统分为模拟视频信号解码、视频数据采集、图像处理和DVI编码显示3大部分。



模拟视频信号解码由TVP5146芯片组成,该部分主要完成PAL-D制式模拟视频信号解码,输出符合ITU-RBT656且内嵌同步字符4:2:2格式数据供FPGA采集。TVP5146支持NTSC、PAL、SCEAM、CVBS、S-video制式视频输入,具有RGB转换为YCbCr功能。

视频数据采集部分由FPGA控制芯片、SSRAM、Flash、电源芯片、辅助外围电路组成。该部分以TVP5146输出像素时钟作为FPGA采集时钟采集解码后的数据,在系统时钟的控制下,交织乒乓存储于SSRAM芯片,并在帧信号控制下交换存储体。FPGA采用Altera公司CycloneII系列EP2C35F672芯片,该芯片具有33 216个逻辑单元,内部RAM高达484 KB,支持NiosII嵌入式处理器,核心电压1.2 V,IO电压3.3 V,具有4个PLL输入,12个PLL输出。Altera的FPGA采用SRAM工艺,掉电就会丢失配置数据,所以外部需要挂接存储配置数据的部件。Altera公司FPGA一般都支持串行被动配置、串行主动配置、JTAG配置,通过跳线选择配置方式,JTAG配置在调试时很方便。串行主动配置一般需要Altera公司的专用配置芯片,在系统上电后主动配置芯片。FPGA配置完成后,NiosII从Flash中读取程序,完成相应的功能。TVP5146采用I2C口配置其工作方式,配置的数据亦存储在Flash芯片中。SSRAM采用CY7C1380D,32 bit数据位宽,2 MB存储空间,3.3 V供电,提供高性能3-1-1-1访问时钟周期速率,最高频率达250 MHz。

图像处理在FPGA片内实现,进行YCbCr转RGB、RGB转灰度、线性插值等处理,DVI编码显示在DVI接收芯片Si178片内完成,在系统时钟的控制下,依照DVI显示时序,控制行、场同步信号,依次把RGB像素送入编码芯片,完成图像数据的编码和传输。Si178具有25~165 M点像素每秒,24 bit模式,I2C编程接口,支持热插拔,兼容DVI1.0标准,3.3 V供电。

2 模拟视频信号解码

视频解码格式有ITU-RBT.601标准格式和ITU-RBT.656标准格式。ITU-RBT.601标准需要行、场同步信号线,ITU-RBT.656标准无需同步信号线。ITU-RBT.656标准采用8 bit传输格式,亮度信号Y和色度信号Cb/Cr交替传输。本设计采用ITU-RBT.656标准。我国电视制式为PAL-D,一帧电视图像有625行,每行可视像素为720个,因为有行消隐和场消隐,实际可视像素面为720×576,电视图像传输采用奇偶场交替传输,所以通常奇偶场各传输288行。图2是行同步4:2:2输出时序图。



PAL-D制式一行可视像素有720个,因为采用ITU-RBT.656标准,每2个DATACLK时钟才输出一个像素,所以,一行可视像素需要1 440个DATACLK时钟。一行像素输出完毕后紧接4个行结束标志,然后进入行消隐阶段,行消隐阶段结束后,4个字符的开始标志表明一行的开始,从4个结束标志到4个开始标志,共有288个DATACLK时钟。这288个DATACLK期间的数据不用于显示,用于同步和消隐,所以对于PAL-D制式,采用ITU-RBT.656标准传输一行视频需要1 728个DATACLK时钟。

EAV和SAV分别表示一行有效视频的结束和开始,EAV/SAV序列由FF-00-00-XX表示,其中XX是状态字,表1为EAV/SAV序列字段位表。



F场标志:F=0是偶场,F=1是奇场;V视频有无效标志:V=0为有效视频数据,V=1为无效视频数据;H有效视频结束起始标志:H=0是SAV,H=1是EAV。

从624行~22行和311行~335行为无效视频行,此时V=1;从23行~310行和336行~623行为有效视频行,此时V=0。从1行~312行为偶场,此时F=0;从313行~625行为奇场,此时F=1。

配置TVP5146使其正确初始化。设置正常工作模式,视频选择输入口,色度和亮度AGC自动增益,视频输入为PAL-D制式625行,解码输出格式为10 bit 4:2:2(2倍像素时钟速率)内嵌同步字符,实际10 bit输出时最低2 bit可丢弃。设置亮度信号范围为16~235,色度信号范围为16~240。配置NiosII软核,设置CPU类型为经济型32 bit,CPU时钟频率为100 MHz,复位向量起始地址为Flash,异常向量起始地址为On-chip-ram,设置PIO线模拟I2C协议,用于配置TVP5146,配置Avalon-MM三态桥用于挂接Flash,配置On-chip-ram为32 KB,添加一个Avalon从设备。该从设备为用户自定义接口,NiosII软核可以通过该从设备口实时访问转换后的RGB像素,进行图像处理。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top