基于FPGA的高性能视频信号采集系统设计与实现
扫描二维码
随时随地手机看文章
摘 要: 介绍了一种基于FPGA的高性能视频信号采集与显示系统的硬件设计与实现,模数转换系统采用高性能的A/D采集电路,通过高速的FPGA控制,将采集到的数据进行处理后,通过系统中的PCI接口传输给监控系统以供显示、监控等功能的实现。本模块已经投入运行,性能稳定。
关键词: 视频;FPGA;高速A/D;PCI
近年来,伴随着计算机技术、图像处理技术、网络技术和多媒体技术的发展普及,兴起了数字化视频处理的浪潮。随着数字图像处理技术和数字电路技术的发展,利用高性能处理器实现数字视频信号采集与显示系统已成为现实[1]。数字视频信号采集与处理系统符合信息产业的未来发展趋势,蕴含着巨大的商机和经济效益。
由于FPGA本身功能强大,使模块具备良好的可扩展性,可以在不修改硬件设计的情况下通过修改FPGA逻辑,提供更加丰富的功能[2]。
本文采用Xilinx公司的FPGA与一些外围器件实现一种数字视频信号采集模块。介绍了FPGA逻辑的实现、驱动程序开发的过程以及模块的调试记录与经验。
1 设计原理
系统主要由ADC模块、时钟电路模块、存储模块、接口模块以及可编程逻辑控制模块组成, 系统总体框图如图1所示。
系统由PMC连接器供电,完成64 bit、66 MHz或者32 bit、33 MHz PCI数据通信;系统由两路A/D采集器、时钟电路、SDRAM存储器、Flash存储器和PMC接口电路实现。FPGA是整个模块的核心,所有信号围绕FPGA输入输出。来自系统的复位信号和手动复位一起作为FPGA的复位源。电源经过转换模块转换以后,提供给FPGA使用。FPGA时钟信号本板产生。模块上设置了JTAG接口和E2PROM接口。PCI接口采用PMC规范接口。
2 实现方法
2.1 器件选型
设计通信接口模块时,为了提高设计的集成度以及灵活性,采用FPGA来实现。FPGA实现功能包括:PMC接口、中断以及控制寄存器、2路模数转换接口、外部存储器接口。因此要选用资源丰富、速度较快、RAM容量较大的FPGA。Xilinx公司Virtex-4 系列完全可以胜任上述工作,在Virtex-4器件中,含有特定的硬件知识产权(IP),支持多种主要协议,包括PCI,其内嵌的RAM可以作为FIFO或者双口RAM使用,此外还具备丰富的资源。综合考虑,FPGA采用Xilinx公司的XC4VSX35。
2.2 PCI接口电路
本系统中采用PCI9656作为PCI接口芯片,此芯片为PLX公司生产的比较新的产品。PCI9656支持64 bit、66 MHz的PCI总线和32 bit、66 MHz的Local总线接口,兼容PCI R2.2规范,支持PICMG 2.1 R2.0热交换功能,支持三种局部总线类型:M模式、C模式和J模式,支持异步的PCI和Local总线时钟,支持三种数据传输方式:Direct Master、Direct Slave和DMA,寄存器向下兼容PCI9054、PCI9056、PCI9060和PCI9080等。
2.3 模数转换器电路设计
A/D的选择既要考虑A/D自身的性能又要满足系统所要求的动态范围和性能指标。评价A/D转换器的性能指标主要有:A/D转换位数、无寄生动态范围(SFDR)、信噪比(SNR)、转换速率、量化灵敏度等。一般来说,A/D的转换位数越高越好, 转换位数越多其动态范围就越高。
AD6645芯片是美国ADI公司生产的高速、高性能单片模数转换器,是一种性能优良、具有14 bit分辨率、105 MS/s抽样率的模数转换器,是继AD9042、AD6640、AD6644之后的第四代宽带ADC产品[3]。其原理框图如图2所示,主要特点有: