当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于DSP+FPGA的实时视频采集系统设计


0 引言
    图像是自然生物或人造物理的观测系统对世界的记录,是以物理为载体,以介质来记录信息的一种形式。图像信息是人类认识世界的重要知识来源。据学者统计,人类所得的信息有80%以上是来自眼睛摄取的图像。而事实上,这种静态的图像已无法满足人们对视频信息的要求。随着人们对视频数据的要求越来越高,高清晰、实时性视频数据量越来越大,视频的实时处理难度也在逐渐增大。本文给出了一款基于DSP+FPGA的嵌入式实时视频采集系统的设计方法,该系统可以广泛应用于关系公共安全的场所,如银行、机场、车站、商场等。


1 实时视频采集系统结构
    常见的视频采集系统主要有两种:一种是基于单处理器(单片机、ARM等)的视频采集卡,特点是结构简单,易于实现,缺点是无法实时地对视频数据完成处理,需要使用外部处理器来完成特定的视频处理算法,因而成本高,升级维护难度大;另一种是基于主从处理器(ARM+DSP,FPGA+DSP等)的嵌入式视频采集卡,特点是系统高度集成,易于维护升级,可以满足视频采集的需求,同时可以完成特定的视频算法,成本较低。因此,本文给出了一种基于DSP+FPGA的嵌入式视频采集系统设计方案。其系统结构框图如图1所示。

2 系统硬件设计
    本系统的设计思路是通过模拟的视频摄像头来获取视频信号,然后采用模数转换芯片SAA71 11A将模拟的PAL制式视频信号转换为YUV4:2:2的数字视频信号。设计使用FPGA芯片EP1C6Q240C8作为协处理器,来完成视频信号的缓存和视频帧的合成,通过双RAM的乒乓结构来实现视频帧的完整性,并在完成视频数据的预处理后,将视频数据传入到DSP中,完成特定的视频处理算法(如压缩等),最后对处理完的视频数据进行传输和存储。同时,主处理器DSP还负责对视频采集芯片进行初始化配置。其系统硬件结构如图2所示。

2.1 视频采集模块
    设计一个视频采集系统的重要环节,通常是将外部的光信号转换成电信号,然后通过专用的视频转换芯片,来将模拟的视频信号转换为数字视频信号。本设计采用的是模拟CMOS摄像头和Philips公司的高性能视频模数转换集成电路芯片SAA71 11A。[!--empirenews.page--]
    SAA7111A是Philips公司的一款高性能视频输入处理芯片。它共有四路模拟视频信号输入端,可以输入4路CVBS或2路S视频(Y/C)信号,也可以编程选择四路视频输入中的一路或者两路组成不同的工作模式;可实现行同步、场同步信号的自动监测、分离,或场频50 Hz或60 Hz自动检测,并可在PAL制和INTSC制之间自动切换,同时能对不同输入制式的亮度信号、色差信号进行处理,实现亮度、色度和饱和度的片内实时控制;SAA7111A中的I2C总线接口可以对片内寄存器进行设置。它有32个控制寄存器,其中的22个可编程;该器件的输出为16位V.PO总线,输出格式有12位YUV4:1:1、16位YUV4:2:2、8位CCIR-656、16位565RGB和24位的888RGB;输出信号可提供采样时钟、行同步、场同步等多种同步信号。
    SAA7111A可将PAL制式的模拟视信号频转化为YUV4:2:2的16位数字视频数据,大小为625×720×16 bit,其中25行用作场回扫,因此,每帧的有效数据有576×720×16 bit。
2.2 视频前端处理模块
    数字化后的视频数据量一般都十分巨大。为了保证视频数据的完整性和实时性,系统专门设计了视频的前端处理模块。其主要功能是完成视频数据的缓存,视频帧的合成,乒乓操作以及与DSP的通信。由于FPGA内部能反复编程,可以使系统简化,减小板卡面积,易于维护,升级方便,因此,本文采用了ALTERA的EP1C6Q240C8来完成视频前端处理功能。
    由于该视频转换芯片没有提供地址信号,所以需要在FPGA内部设计一个地址产生器,以使数据可以对应的存储起来。SAA7111A提供有4个重要信号:LLC(参考时钟信号)、HREF(水平参考信号)、VREF(垂直参考信号)、RTSO(奇偶场信号)。
    由于PAL制式具有隔行扫描特性,因此,采集的视频数据可被分为奇偶场。因为视频图像处理是针对完整的视频帧,所以需要将奇偶场的视频数据进行合成。其实现方法是奇偶两部分合成一帧数据,即:偶场地址=基地址O+偏移地址;奇场地址=基地址E+偏移地址。帧合成操作示意图如图3所示。

[!--empirenews.page--]

    为了保证视频采集系统的实时性,该系统使用双RAM的乒乓机构。乒乓操作在FPGA时序设计中的使用十分广泛,是一种典型的以面积换速度的设计思想。这种结构是将输入数据流通过输入数据选择单元等时地将数据流分配到两个数据缓冲区。在第1个缓冲周期,将输入的数据流缓存到数据缓冲模块1上;在第2个缓冲周期,则通过输入数据选择单元的切换来将输入的数据流缓存到数据缓冲模块2,同时将数据缓冲模块1缓存的第1个周期的数据通过输出数据选择单元的选择后,送到运算处理单元进行处理;此后在第3个缓冲周期,再次切换数据的输入与输出缓冲模块。如此循环,周而复始。其具体状态机如图4所示。

    系统中的通信模块主要是在DSP处理完数据后给FPGA发送一个信号,以通知DSP处于空闲状态,当FPGA内部模块收到后,再将数据传输到DSP上。
2.3 视频后端处理模块
    本系统采用的是,TI公司的高性能、低功耗定点DSP芯片TMS320VC5509A,它内部的主时钟工作频率最高可达200 MHz,处理速度最高400MIPS;该DSP的片上RAM较大,包括32 K×16位DARAM和96 K×16位SARAM,共128 K×16位的片上存储空间;其片上外设丰富,包括实时时钟RTC、10位ADC、MCBSP接口、USB高速接口(速率为12Mb/s),还有MMC/SD(多媒体卡)接口、I2H接口等;该DSP处理器为低电压供电,采用1.6 V的内核电压。3.3 V的I/O电压,功耗低达0.2 mW/MIPS。
    DSP作为视频采集系统的主处理器,主要完成各类接口和外设的配置以及视频的实时处理。包括时钟发生器(PLL)、I2C总线接口、EMIF模块、USB接口等。
    各类接口只有协调工作,才可保证系统的正常运行。其中时钟发生器负责将外部24 MHz的晶振时钟倍频为200 MHz的系统工作时钟:I2C总线负责对视频采集芯片SAA711 1A进行初始化配置:USB接口负责与上位机通信,以实现数据的传输。
    考虑到视频数据的庞大和DSP片上ROM的局限性,本系统在DSP外部扩展了一块4 M×16 bit的SDRAM和一块256 K×16 bit的FLASH。其中SDRAM映射在DSP的CE2、CE3空间,FLASH映射在CE1空间。由于外设接口配置一般都较为复杂,因此使用了TI公司的片上支持库函数(CSL),以简化用户接口的配置。
    视频数据中一般都会存在很多冗余信息(时间冗余度、空间冗余度等),因此具有压缩的必要性。视频编码的主要目的就是在保证重构质量的前提下,以尽量少的比特数来表征视频信息,尽量去除视频图像数据本身具有的多种冗余特性,如空间冗余、时间冗余、心理视觉冗余和熵编码冗余等。常见的压缩标准有JPEG、MPEG-1、MPEG-2、H.261以及H.263等。这些算法一般都较为复杂,处理的数据量也十分巨大。而采用哈佛总线和流水线操作等内部结构DSP在视频处理算法的实现上具有巨大优势。视频算法的编程和调试可在CCS(code composer studio)2.0环境下完成,可使用C语言实现,这样有利于跨平台的移植、优化和升级。


3 结束语
    本文所设计的基于DSP+FPGA的实时视频采集系统,采用双RAM的乒乓结构来实现对视频的实时采集,利用DSP主处理器来实现JPEG压缩算法,同时使用在线编程技术并利用JTAG对系统进行在线调试。因此,该系统具有体积小、成本低、功耗低、速度快、适应性强、便于维护等特点,因此,在图像的实时处理方面具有良好的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

最近为什么越来越多的研究开始利用FPGA作为CNN加速器?FPGA与CNN的相遇究竟能带来什么神奇效果呢?原来,FPGA拥有大量的可编程逻辑资源,相对于GPU,它的可重构性以及高功耗能效比的优点,是GPU无法比拟的;同时...

关键字: FPGA 可编程逻辑资源 GPU

FPGA的应用领域包罗万象,我们今天来看看在音乐科技领域及医疗照护的智能巧思。

关键字: FPGA 科技领域 智能

强大的产品可降低信号噪音并提高分辨率与动态

关键字: Spectrum仪器 数字化仪 FPGA

最近某项目采用以太网通信,实践起来有些奇怪,好像设计成只能应答某类计算机的ICMP(ping)命令, 某类计算机指的是Windows特定系统,其他系统发送ping都不能正确识别。

关键字: 嵌入式Linux FPGA 协议

近两年,国外厂商的FPGA芯片价格飙升,由于价格,货期,出口管制等多方面因素的影响,很多公司都在寻找FPGA国产化替代方案。我工作中正在使用的几款芯片也面临停产的风险,用一片少一片,了解到国产FPGA发展的也不错,完全自...

关键字: FPGA 芯片 EDA

大家好,我是鲏。认识我的朋友都知道,我是一个实践派,相比研究枯燥的理论知识,我更喜欢做自己想做的项目,用技术来实现自己的想法的感觉真的很棒。所以从大学期间一直到现在,除了工作中的项目外,我依然保持着自己做项目的习惯,有坚...

关键字: 系统设计 技术选型 需求分析

本篇是FPGA之旅设计的第十二例,在前面的例程中,完成了DS18B20温度传感器数据的采集,并且将采集到的数据显示在数码管上。由于本例将对温湿度传感器DHT11进行采集,而且两者的数据采集过程类似,所以可以参考一下前面的...

关键字: FPGA DS18B20温度传感器

这是FPGA之旅设计的第十三例啦,本例是一个综合性的例程,基于OLED屏幕显示,和DHT11温湿度采集,将DHT11采集到的温湿度显示到OLED屏幕上。

关键字: FPGA OLED屏幕

第八例啦,本例将介绍如何通过FPGA采集DS18B20传感器的温度值。

关键字: FPGA DS18B20传感器

这是FPGA之旅设计的第九例啦!!!本例将介绍如何使用FPGA驱动OLED屏幕,并在接下来的几例中,配合其它模块,进行一些有趣的综合实验。由于使用的OLED屏是IIC接口的,对IIC接口不是很清楚的,可以参考第五例的设计...

关键字: FPGA OLED屏幕

嵌入式教程

6897 篇文章

关注

发布文章

编辑精选

技术子站

关闭