摘要:提出了基于PCI Express总线传输的视频采集系统设计方案。采用ADV7188进行视频解码,能够采集多种格式模拟视频信号,而且提高视频信号的质量;采用Virtex-5系列的FPGA使系统设计灵活、集成度高且易升级。该系统采用PCI Express与PC进行通信,能够实现多路视频采集和海量数据传输,比高速USB总线的480 Mb/s的数据传输量提高了5倍。
视频采集系统在工业领域应用广泛,随着多媒体技术的快速发展,对视频采集、处理和传输性能的要求也不断提高,如高采集速度、低功耗、抗干扰性、实时性及扩展性等。这里提出了以Virtex-5为核心,由ADV7188为视频解码器,PCIExpress为传输总线组成的集视频采集、压缩、传输于一体的多功能视频处理系统。该系统能够实现实时海量传输多路数字视频。Virtex-6支持的PCI Express的×1通道的传输率已达3.2Gb/s。
由于该系统设计体积小、功耗低且满足工况要求,可应用于公共场合、工厂和井下作业等需多点远距离监控环境较恶劣场所。
1 PCI Express总线简介
PCI Express是一种主流的串行标准,它是2002年问世的第三代I/O互联技术,为从PCI到PCIX提供了一条升级路径。PCI Express是PC产业的标准互联技术,具有可升级能力,可扩展的功能集,很强的市场适应能力和低成本等特性。其高速串行标准能以每条通道2.5 Gb/s的线速进行双向通信,分层数据包的架构有助于模块化设计。通过更简单的升级就能实现带宽增强(高达80 GB)——1、2、4、8、16和32条通道。PCI Express的先进功能,比如可靠性、电源管理和热插拔,借助虚拟通道、业务等级和服务质量(QoS)等特性支持下一代三维/多媒体业务。
2 系统硬件设计
该系统设计采用视频解码器+FPGA,其功能是接收PAL等制式模拟视频信号,转换为满足ITU-R BU.656格式的数字信号,将多路视频打包,经PCI Express总线传输到计算机。
这里采用ADV7188来采集PAL制式的视频信号,Videx-5的I2C总线控制器通过I2C总线来对其进行配置和控制。选用Virtex-5系列中的XC5-VFX30T,此器件具有强大的处理能力和丰富的外部设备接口,能满足各种不同应用环境的控制与图像输出需要。Virtex-5器件具有视频处理IP核,可以按照使用要求配置,同时具有PCI Express、PPC440等IP核,PPC440在667MHz的时钟主频下,数字处理能力可达到1600DMI/s,内部具有256 KB的SRAM。Virtex-5具有2条I2C接口,多达8条(32 bit)具有主控器的外设总线接口,支持外部、内部和内存间的DMA方式,2条10/100/100 Mb/s半或全双工以太网接口,图1为该系统设计硬件原理框图。
图1 系统设计硬件原理框图
3 主要组成部分的原理实现
3.1 视频采集处理电路
3.1.1 视频解码器选型
在选择视频解码器时,主要考虑功能、性能、尺寸、性价比及低功耗等方面,故选择了ADV7188型视频解码器件。该器件具有以下特性:
可以自动检测到NTSC-M/J/4.43,PAL-M/N/B/G/H/I/D和SECAM制式信号的输入;单一时钟28.636 36 MHz;4路模拟视频12位AD采集;5线自适应梳状滤波;降低数字噪声;集成有自适应白电平峰值的自动增益控制器;具有锁定较弱的、噪声和不稳定视频源的设计;12路模拟输入通道;输入视频信号幅度,为0.5~1.5 V;在没有输入视频信号情况下可以自行产生行场同步信号;亮度带宽边缘增强是可编程的;色调、对比度、亮度、饱和度可编程;YCbCr以20/16/10/8位4:2:2形式输出;支持工业标准的I2C接口;电源为+3.3 V,1.8 V;下电模式;采用80引脚,无铅的LQFP封装;工作温度为-40~+85℃。
3.1.2 视频采集电路工作原理
视频采集电路是以为ADV7188为核心,采集多路的PAL、NTSC或SECAM制式模拟视频信号,具有增强较弱的模拟视频信号,可进行降噪处理和提高数字视频信号质量的功能。AD7188的详细电路可参见ADV7188的器件手册。由于ADV7188对电源要求较高,该系统设计对电源进行隔离、去耦、低频滤波等处理。为了广泛应用,这里采用频率为28.636 36 MHz的石英晶体谐振器,频差为±20 ppm。图2为视频平装的晶振电路。
图2 视频平装的晶振电路
根据PCB布线,Cstray通常为2~3pF,ADV7188器件管脚到电源地的电容值Cpg为4 pF,石英晶体谐振器的负载电容Cload为15 pF。由C1= C2=2(Cload-Cstray)-Cpg可计算出C1和C2的电容值为24 pF,按照E12系列的优选值,选取电容值为22pF。
设计中利用ADV7188的下电模式,当此片没有模拟视频输入或不需工作时,将其下电,其功耗将由工作时的0.6 W降到1 mW左右,能极大地减少系统待机功耗。
3.1.3 视频采集电路的配置
在FPGA内设计I2C总线控制器,配置为和视频解码器I2C接口时钟一致的接口总线。通过FPGA上电配置,达到对FPGA内的FIFO初始化,初始化数据为视频采集电路的配置数据,配置数据见表1。
表1 配置数据
3.2 FPGA
3.2.1 FPGA器件选型
FPGA型号的选择主要基于以下方面考虑:具有PCIExpress总线;通道不低于x8;具有嵌入式微处理器;合适的I/O管脚数和资源,支持所需的电平标准;具有较低的功耗;合适的性价比。
因此,选择Xilinx公司的Virtex-5系列的XC5VFX3-0T,封装为FF665 PCI Express总线;具有PowerPC440嵌入微处理器。配置芯片选用容量为1 GB的CF卡。
3.2.2 FPGA的性能和资源
1)时钟资源32条全局时钟总线,对整个器件上的所有资源进行时钟控制,且可以驱动逻辑信号;
2)时钟管理技术 时钟去歪斜、频率合成、相移和动态重配置等功能;
3)锁相环作为广谱频率的频率合成器,并且与CMT的DCM配合作为外部或内部时钟的抖动滤波器;
4)BLOCK RAM 2 448 Kb,可配置为RAM、双口RAM和FIFO等,且其内容能够初始化;
5)可配置逻辑块 实现组合逻辑和时序逻辑的主要资源;
6)SelectIO资源 可支持种类繁多的标准接口。包括输出强度和斜率的可编程控制以及实现数控阻抗的片上终端;
7)SelectIO逻辑资源 包括组合输入/输出、三态输出控制、寄存输入/输出、寄存三态输出控制、DDR输入/输出和DDR输出三态控制;
8)高级SelectIO逻辑资源 输入串并转换和输出并串转换;
9)DSP逻辑片 64个550 MHz DSP48E slice,每个DP48E包括1个28x18的乘法器、1个加法器和1个累加器。利用Xilinx ISE的FPGA Edit也可观察FPGA的内部结构。
3.3 数据缓存
由于PCI Express的总线波特率为2.5 Gbps,远大于1路采集后的数字视频信号。当视频数据经并行总线传入FPGA内,通过配置为异步输入输出的FIFO进行数据缓存,提高总线使用效率。如果PCI Express总线为×1通道,PAL制式视频转换为常用的8位4:2:0的YUV格式数字视频,按照PCIExpress总线传输有效数据1.62 Gb/s计算,理论上可以传输36路。
3.4 FCI Express接口实现
利用具有PCI Express的FPGA来设计,选用Xilinx公司的Virtex-5 LXT系列的FPGA,利用其内的PCI Express IP核进行设计,完成功能如下:用户接口的本地链路成帧接口;64位数据总线宽度与3位提醒总线;包化接口,带用于标记包的帧起始(SOF)和帧结束(EOF);传输和接收方向用户接口的包中断特性;帧错误检测支持;多通道配置支持:×1、×2、×4和×8;这里通道配置为×1;每通道1.62 Gb/s或更高的吞吐量;利用集成端点模块中的自动协商功能,可以在某些通道不能工作时使设计使用较低的带宽;物理层中使用的8B/10B解码和解码。此方案虽开发难度大、周期长,但具有外电路围简单,硬件成本低,设计灵活、集成度高且易升级等特点。其接口电路如图3所示。
图3 PCI Express接口电路
3.5 时钟
本设计需要4个时钟信号,其中视频解码信号的时钟要求最高,时钟精度必须在±50 ppm以内,其次为PCI Express总线工作的时钟频率。在FPGA内对时钟信号进行了DCM和PLL处理,完成了对时钟信号的去歪斜、相移和频率合成等功能。
3.6 Flash和DDRSDRAM
为使设计具有灵活性、扩展性和升级性,预留了Flash和SDRAM来存储程序和运行程序,满足智能性和易于以太网远程控制等要求。
3.7 以太网接口电路
通过FPGA+PHY+变压器组成以太网接口电路,可以用此接口加载程序,也可用此接口和互联网连接。利用XILINX公司的FPGA开发软件ISE,通过FPGA内IP核按照TriMode Ethemet MAC进行。
3.8 DMA传输
本设计采用DMA方式进行数据内部传输。数字视频信号经并行总线传入FPGA内,通过FIFO进行数据缓存,经DMA方式,通过PCI Express传给计算机。
3.9 FPGA配置方案
Virtex-5的配置方案采用System ACE(System Advandced Configuration Eviroment)中的System ACE CF(CompactFlash)。System ACE使用CF存储卡保存数据,通过System ACE控制器把数据配置到FPGA中。System ACE CF使用容量为1 GB的CompaetFlash卡,System ACE CF是预制的配置方案,不需编写任何程序,只需简单的调试即可。此方案把旧的、用于调试的版本和新版本都装入到同一块CF卡中,缩短了研发周期,便于维修排故,同时把应用软件、产品附带的说明书等保存到此CF卡中,系统升级可更换CF卡、在系统编程和通过Intemet进行远程升级。
3.10 电源的设计
板上需要电源有+3.3、+2.5、+1.8和+1.2 V共5种。其中+3.3 V电源为外部输入,约20 W;+1.8 V提供给FPGA和ADV7188的二次电源,其他为提供给FPGA的二次电源。+3.3V电源为电源层,提供给FPGA的+2.5V、+1.8 V和+1.2V为电源层分割。提供给ADV7188的+1.8V电源电流按照0.5A设计,实际典型值为100 mA。去耦电容和对应的元器件同层放置,减少过孔的影响。
3.11 PCB设计
PCB布线遵循信号完整性的设计要求。PCB共10层,首先设计电源层和地层,其中电源层2层,地平面4层,对称分布。除以太网变压器外其他所有工作电源的地为一个地,保证地平面的完整性。
由于PCI Express总线为2.5Gb/s,对Virtex-5引脚分配时,使PCI Express的引脚在其内的布线尽可能的短。在PCB的布局时使Virtex-5靠近PCI Express总线接口的电连接器,差分线对的实际长度不大于30 mm。PCB布线时要严格控制差分线对的长度差,为了避免信号往返的延迟不超过其上升时间,导致过冲和振铃发生,PCB布线根据PCI Express信号的特性,定义差分对长度差不超过1 mm,实际布线结果不超过0.2 mm。PCB上的差分阻抗为(100±10)Ω,符合PCIExpress规范单端阻抗为(50±10)Ω的要求。
3.12 操作系统
本设计中的FPGA具有PPC440核,采用实时多任务操作系统(Vxworks),根据实际使用要求,从Vxworks系统内核(wind)的任务管理、通信机制、系统配置、系统接口几个方面进行设计,保证系统的安全性和可靠性。本设计已具备成熟的Vxworks操作系统。
3.13 FPGA的调试
FPGA的开发包括过程管理与设计输入、仿真、综合、约束、实现、布局布线与配置调试,其中FPGA的调试占用设计周期的80%左右。ISE附带的高级组件,包括在线调试(ChipScope Pro)、平面布局规划器(PlanAhead)、时序分析器(Timing Analyzer)、布局规划器(FloorAhead)、底层编辑器(FPGA Editor)、和功耗分析器(Xpower),以及第三方软件ModelSim,有效地使用相应工具,加速了设计进程,避免重新设计,有效提高设计生产力,并显着提高设计性能,降低功耗后将降低系统的整体成本。
4 采集、传输和验证
视频信号发生器产生的一种模拟视频信号如图4所示。通过模拟视频信号的采集、总线传输过程,计算机显示器显示的数字视频如图5所示,和监视器显示的模拟视频图像相同,肉眼无法区分其差别,满足使用要求。采集模拟视频的多种标准检测画面,显示正常无畸变,证实本设计的视频采集和数据传输达到了期望的结果。
图4 模拟视频画面
图5 数字视频画面
5 结束语
随着多媒体在工业和商业等方面的广泛使用,对视频信号的采集、数据传输速度、集成度和可靠性等方面提出了更高的要求。本文设计的基于PCI Express的视频采集系统,适用于采集较弱或受干扰的视频信号,集成度高,适合海量视频数据传输,解决了传输的瓶颈问题。