基于DSP与FPGA技术的视频采集系统设计

来源 :光盘技术 | 被引量 : 0次 | 上传用户:www359795792
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本系统设计采用基于DSP和FPGA的双缓冲"乒乓操作"技术,实现了大容量数据的传输。利用EDMA控制器高效地实现存储空间的数据搬移,而DSP的中央处理器则专注于对视频数据信号进行实时处理。经测试本系统完全满足视频信号处理系统的高速实时性要求。
  关键字:TMS320VC6713;ACEX1E30;异步FIFO;乒乓操作
  中图分类号:TP274.2文献标识码:A
  
  Design of A Video Signal Acquisition System Based on DSP and FPGA
  WEI Xiao-bo
  (Information Engineering Department, LiuZhou Vocational and Technical College,Guangxi Liuzhou 545006)
   Key words: TMS320VC6713;ACEX1E30;Asynchronous FIFO;Double buffer ping-pong mode
  
  随着图像处理技术的发展,实时视频采集系统在目标识别、辅助导航、自动驾驶、网络视频会议,职能交通监测等方面得到广泛的应用。在视频信号的采集过程中,由于视频处理数据量大,相关性强,因此实时视频采集系统需要有强大的运算能力和数据快速传输的能力。为此,采用TI公司的TMS320C6713芯片作为视频处理器。同时,利用其强大的EDMA功能和FPGA(Field Programmable Gate Array,现场可编程门阵列)中的FIFO,使用“乒乓缓存技术”实现对视频数据的快速连续的采集和处理。
  
  1 系统结构方案
  
  视频信号采集系统的功能是对模拟视频信号进行数字化处理,将视频信号转化为符合ITUR601标准的数字信号;通过FIFO缓存将解码后的数字视频信号传输到DSP中进行数据处理运算。视频信号采集系统主要包括视频解码电路、FPGA逻辑电路、DSP电路等,其系统结构框图如图1所示。
  


  图1 系统结构框图
   该系统选用TI公司的C6713B作为中央处理芯片,具有超长指令字结构,每个周期可以执行多达8条32位指令;主频最高可达300Mhz,处理能力2400MIPS。数据缓存FIFO由FPGA芯片ACEX1E30灵活构造。ACEX 系列的FPGA由逻辑阵列块(Logic array block,LAB)、嵌入式阵列块(Embedded array block,EAB )、快速互联以及IO单元构成,每个逻辑阵列块包含8个逻辑单元(Logic element,LE)和一个局部互联。每个逻辑单元则由一个4输入查找表、一个可编程触发器、快速进位链、级连链组成。多个LAB和多个EAB 则可通过快速通道互相连接。EAB 是ACEX系列器件在结构设计上的一个重要部件,是输入端口和输出端口都带有触发器的一种灵活的RAM 块,其主要功能是实现FIFO、ROM、RAM和双端口RAM等。
   当可见光CCD或红外CCD输出模拟视频信号时,有DSP初始化程序通过FPGA逻辑电路对视频解码芯片SAA7111A进行初始化后,SAA7111A从模拟视频信号中提取同步控制信号并对其进行AD采样,将RGB565格式的数字视频信号以及行、场同步信号输入FPGA的FIFO中进行缓存。当FIFO半满或全满时,给DSP发送中断。DSP芯片相应中断信号,启动读取FIFO数据的EDMA数据通道,完成视频数据的传输与处理。
  
  2 异步FIFO
  
   FIFO是一种先进先出的数据存储器,它与普通存储器的区别是没有外部读写地址线,其数据地址由内部读写指针自动加一完成。异步FIFO是在输入与输出时钟频率不同时,在存储器内实现先进先出功能。异步FIFO对于实现同步系统内不同时钟域之间的数据匹配非常有用。
   基于ALTERA公司生产的现场可编程逻辑器件ACEX1K30的异步FIFO,核心机制采用双缓冲"乒乓操作",即有两个缓冲器,在某一缓冲器进行写操作时屏蔽读操作,也就是读使能缓冲器0,写使能缓冲器1,反之亦然。这样可使读写操作时序信号彻底分离,从根本上消除由异步时钟带来的亚稳态。两个缓冲器分别用一个双口RAM 实现,缓冲器0和缓冲器1交替操作,即第一次读空缓冲器0和缓冲器1,然后启动写缓冲器0,当缓冲器0被写满后,立即转到缓冲器1进行写操作,并向DSP发出缓冲器0的数据满中断,DSP就启动另一次读缓冲器0操作,如此乒乓操作并可实现对采集数据的连续操作。其实现框图如图2所示。
  


  图2 异步FIFO框图
  
  3 基于DSP芯片EDMA方式的数据传输
  
   TMS320C6713芯片的EDMA控制器具有与C620x或C54X系列不同的DMA控制器结构,C6713的EMDA控制器具有几个增强特性,首先提供了16个独立的数据通道,这些通道的优先级可编程设置;利用EDMA可以实现片内存储器(L2 缓存)、片内外设以及外部SDRAM存储空间之间的数据移动。为了满足高速视频数据传输和处理的需要,避免数据在DSP内外存储空间之间转移而产生的读写延时,该系统使用DSP片内存(下转第22页)(上接第20页)储器作为高速缓存存储器。由于TMS320C6713具有两级高速缓存结构,可以利用EDMA将FIFO中的数据搬移到L2缓存区中暂存,CPU从L2缓存区中读取数据并做处理;经过处理后的视频数据暂存回L2缓存区中,当数据处理完毕后,启动另一个EMDA通道将处理后的视频数据存储在外部SDRM空间。这就避免了在数据的采集和处理的过程中EMIF的时序切换,大大提高系统的数据传输和处理效率。
   在系统的工作过程中,视频解码芯片SAA7111A的输出时钟频率是13Mhz,对于标准的PAL制式视频信号,其有效数据流量为165000Mbits/s。在视频数据的传输和处理过程中,CPU的数据处理必须与EMDA数据传输保持同步,即保证在CPU访问之前EDMA把数据传送到缓冲区中,而在EDMA输出数据之前CPU必须完成缓冲区中的数据处理。CPU数据处理与EDMA数据传输的同步可以采用Ping_Pong双缓冲技术来实现。实现方法如下:在片内存储器L2中开辟两个大小相同的缓冲区Ping_buffer和Pong_buffer,两个缓冲区轮流交替工作。当EDMA传输数据到Ping_buffer时,CPU处理Pong_buffer中的数据;当CPU和EDMA操作完毕,Ping_buffer和Pong_buffer缓冲区互换,EDMA继续传输数据覆盖Pong_buffer中的数据,CPU处理Ping_buffer中的数据。
   在具体的软件编程工作中,TI公司提供的编译环境CCS2.0既支持使用汇编进行寄存器操作来控制系统工作,也支持通过TI提供的库函数和头文件实现。使用库函数可以增加程序的可读性、可移植性,降低编程难度,从而提高编程速度,减少目标代码。为了方便用户使用C语言开发,TI提供CSL(Chip Support Library),CSL是DSP/BIOS图形化的配置工具的一部分,它提供了配置和控制系统互连设备的C语言接口,给利用C语言访问C6x系列DSP的寄存器和互连设备带来了方便,减少了编程量,提高了程序的可读性。这些库主要包括内部互连设备、中断函数和CPU的工作模式。EDMA是C6x系列DSP的内部互连设备,所以可以利用CSL,在几乎不用编程的情况下,很方便地完成EDMA的各个参数和属性的配置。
  
  4 结束语
  
   本系统设计采用了FPGA来构造FIFO,可根据不同的应用场合对FPGA编程,以满足设计要求,因此灵活性较大。在基于TI公司C6000系列的TMS320C6713芯片的视频信号处理系统中,采用EDMA方式实现了视频数据信号的高效传输。DSP的处理单元能够专注于信号处理算法与系统功能的控制,使得该视频信号处理系统满足高速实时性要求。
  
  参考文献:
  [1]陈振华,邓少芝等.EDMA数据传输方式在基于DSP的视频信号处理系统中的应用[J].液晶与显示,2007,22(6):P719-721.
  [2]王月琴,张笑微等.TMS320C6713DSP在音乐喷泉控制系统中的应用[J].微计算机信息,2006,11z期:P165-1267.
  [3]俞鸿波,陈怀新等.基于FPGA的视频传输流发送系统设计[J].微计算机信息,2008,24(14):P197-198.
  [4]Altera. Single-& Dual-Clock FIF0 Megefunction User Guide.2005.
  [5]Texas Instrumenls Incorporaled.SN74V3690 Datasheet.2003.
其他文献
摘 要:嵌入式系统是一个高起点的技术领域,而嵌入式Linux以多方面的优势已成为嵌入式系统领域研究的一个热点.本文首先介绍了嵌入式Linux,然后着重介绍了嵌入式Linux内核的编译过程,并最后描述了嵌入式Linux内核的移植过程。  关键词:Linux内核;编译;移植  中图分类号:TP311文献标识码:A    The Compile and Transplantation of Embedd
期刊
摘 要:介绍了稳压电源中整流电路、滤波电路和稳压电路的构成,通过Multisim软件对电路的电源参数选择、纹波系数和输出波形进行了仿真与分析.结果表明,利用该软件可以分析设计出满足不同要求的电源分配系统,降低设计复杂度,提高设计效率,缩短设计周期.  关键词:电源系统;Multisim仿真  中图分类号:TP391.9文献标识码:A    Simulation Analysis of DC Ele
期刊
摘 要:C语言是嵌入式系统开发中常用的一种程序设计语言.本文结合嵌入式系统的特点,从编程规范、存储器分配和算法优化三个方面,阐述了C语言在嵌入式软件开发中的代码优化方法。  关键词:嵌入式系统;C语言;代码优化  中图分类号:TP202+.7文献标识码:A  The Code Optimization in Embedded Systems Programing with C Language  
期刊
摘 要:研究开发基于AJAX采用B/S三层结构模式设计的实验开放教学管理系统,介绍了系统的主要功能和多课程混合选课、项目分组选课等创新功能,并分析了系统的实践运行效果以及实验开放教学管理所取得的效果。  关键词:AJAX;大学物理实验;开放教学管理系统  中图分类号:G434文献标识码:A    Exploration of Open Experimental Teaching Based on
期刊
摘 要:针对地质图形数据量大,绘图速度慢的问题,在文中提出了若干方法,有效地提高了绘制复杂地质图形的速度。对于运用AutoCAD绘制地质图的读者来说,该文有一定的参考价值。  关键词:AutoCAD;绘图速度;方法  中图分类号:TP391.72 文献标识码:A    On Methods of the Enhancement of AutoCAD Drawing Speed  WANG Xiao
期刊
摘 要:基于网络的考试系统以其考试组织严格可信、考试结果分析科学合理、考试成本低、考试效率高等优势被各类学校所重视,本文就笔者所在单位的网上考试系统的设计与实现中涉及的开发技术选择、总体设计、数据库设计以及详细设计中的关键问题予以阐述。  关键词:网上考试系统;总体设计;数据库设计;详细设计  中图分类号:G434 文献标识码:A    The Design and Realization of
期刊
摘 要:AJAX是web2.0应用的一种新方法。它并不是一门新的语言或技术,而是几种已经在各自领域大行其道的技术的强强结合,AJAX 混合了DHTML/CSS、DOM、 XML 及 XSLT等几项技术,并且利用 JavaScript来整合上述技术。AJAX为交互较多、频繁读数据、数据分类良好的web应用提供了一个很好的解决方案。  关键词:AJAX;XMLHttpRequest;Web应用  中图
期刊
摘 要:主要阐述了嵌入式Linux设备驱动程序的概念,归纳嵌入式Linux设备驱动程序的共性,探讨嵌入式Linux设备驱动程序具体开发流程以及驱动程序的关键代码,总结嵌入式 Linux设备驱动程序开发的主导思想。  关键词:嵌入式系统;Linux;设备驱动程序;内核    Design and Implementation of Embedded Linux Device Drivers  QU
期刊
摘 要:本文笔者充分应用社会性软件构建起FLASH课程的网络教学支撑平台,连续3个学期利用此平台对学生进行创意培养的研究。通过对实验班和普通班的学生进行对比研究,笔者发现:应用社会性软件构建FLASH课程网络支撑平台进行教学,是培养学生创意的一种有效途径;应用社会性软件构建FLASH课程网络支撑平台,是一种师生双方共同动态构建的过程,具有明显的生成性。  关键词:社会性软件;FLASH课程;网络教
期刊
摘 要:本文提出了一种基于LonWorks技术的智能照明系统设计方案,并利用MiniEVK工具对方案进行了开发。测试结果表明,系统通信效果良好、互操作性强,满足了设计要求。  关键词:电力线载波通信;LonWorks技术;Mini EVK;电力线智能收发器;照明系统  中图分类号:TP18文献标识码:A   Design of Smart Lighting System Based on LonW
期刊