微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于FPGA的高速多路视频数据采集系统

基于FPGA的高速多路视频数据采集系统

时间:07-24 来源:3721RD 点击:

引言

数字图像处理技术广泛地应用在信息处理领域,如何高效、灵活地将现实世界图像数字化是信息处理的关键技术之一。本文基于FPGA技术设计了一个高速多路视频数据采集系统。基于Altera Cyclone II芯片,构建一个集成NiosII软核处理器、存储器、I/O接口、自定义外设的可编程片上系统系统(System On Programmable Chip,SOPC)。利用FPGA高速并行处理能力,可同时对多路视频数据进行视频解码,大大提高系统数据采集前端的处理能力。

SOPC系统是可编程片上系统,由单个芯片完成整个系统的主要逻辑功能,同时具有灵活的可重构特性。可根据实际应用中的不同需求裁剪、扩充、升级系统,并且软硬件系统均可编程。NiosII软核CPU的外设可由设计者自由配置,具有灵活且运行速度快的特点。

1系统功能及特点

1.1 功能描述

本文所提出的系统以Altera公司CycloneII系列的EP2C70为核心,通过外接扩展板接入视频信号,可同时采集处理2~6路视频数据,将视频数据解码后提取出图像区域的RAW DATA。SOPC系统通过自定义FIFO接口缓存数据,利用DMA技术将视频数据搬移至存储区域,供后续程序调用。

1.2 系统特点

本系统主要具有以下特点:

①采用硬件描述语言编写的视频解码模块可以高效地完成视频编解码工作,如果接入的视频信号编码格式不同,可以灵活重构每路视频的解码模块,而不需要修改硬件设计。\

②NiosII软核CPU可以灵活地进行任务调度,配合Nios IDE软件编程环境,可以方便的对视频A/D采集芯片进行I2C总线配置。

③自定义FIFO接口缓存视频数据,保证数据连贯性和准确性,FIFO的缓冲区的长度和数据宽度均可以定制,针对每一路视频数据格式配置不同的FIFO缓冲区。

④采用DMA技术完成采集数据从SOPC外设到内存的搬移,减轻CPU的负担。

2 实现原理及系统结构

2.1 系统总体框架

整个系统主要分为SOPC系统、多路视频解码模块、视频A/D芯片绢、SDRAM存储器几大模块。SOPC系统和多路视频解码模块均由FPGA可编程逻辑资源实现。SOPC系统通过自定义FIFO(Custom FIFO)缓冲来自多路视频解码模块(Multi-channel Video Decoder Module)的数据,DMA完成数据从Custom FIFO到SDRAM的搬移工作,NiosII CPU通过Avalon总线对视频A/D采集芯片、自定义FIFO接口模块以及DMA控制器进行配置。系统总体结构如图1所示。


  SOPC系统以NiosII处理器为核心,通过AvaIon总线作为控制信号和数据传输中枢,NiosII软核CPU及各类外设均挂载在Avalon总线上,本文SOPC系统中包括NiosII处理器、SSRAM、片上内存、JTAG控制接口、I2C总线控制接口、自定义FIFO接口、2个SDRAM控制器、DMA等。

2.2 视频解码模块设计

视频采集扩展板以TVP5150低功耗视频A/D芯片为核心,采集模拟摄像头信号,经A/D采样后量化编码成8位ITU-RBT.656视频编码格式输出,输出图像分辨率为720x 480,像素时钟为27 MHz。

视频解码模块具有两个功能:

①根据ITU-RBT.656并行接口规则,将TVP5150芯片输出的数据流转换成YUV422的图像RAW DATA。

②对视频分辨率进行调整,调整为640×480的分辨率,当数据为有效区域像素时发出数据有效信号,即对自定义FIFO的写请求信号。

ITU-RBT.656协议中规定的信号中主要有3类:有效视频区域数据信号、视频定时基准信号、辅助信号。视频解码模块第一部分任务关键是如何快速检测ITU-RBT.656视频数据流中视频定时基准信号SAV/EAV。定时基准信号由4个字节的序列组成,其格式为FF0000XY,前3个字节FF0000为标志序列,最后一个字节XY表示该定时基准信号前后的数据行位于整个数据帧的位置及该定时基准信号类型。最后一字节XY每一位的含义如表1所列。

F、V、H是标志位,取值可为0或1。F位标识图像数据是奇场数据还是偶场数据,V位标识当前数据是否为有效数据,H位标识该定时基准信号为SAV还是EAV。F、V、H标志位的取值与含义如表2所列。其中低四位P3~P0是由高4位经异或运算获得,用于F,V和H值校验和纠错码。 P3~P0的定义为:P3=VH,P2=FH,P1=FV,P0=FVH。

传统序列检测通常使用状态机来实现。本设计创新的使用滑动窗法来快速检测定时基准信号,这种设计程序结构清晰,在很大程度上减少了代码量。根据ITU-RBT.656协议中定时基准信号的定义,声明变量SAV=(Window==24’hFF0000)&(iData[4]==1’b0)。其中Window声明24位寄存器,iData[7:0]是8位输入信号,这里只取第4位。滑动窗更新时每次左移8位,低8位用输入信号补齐。

解码模块的第二个功能在调整分辨率的时候引入Skip信号,当Skip信号有效时,该像素点数据跳过。本

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

网站地图

Top