基于PCIE的高速图像采集卡设计
2016-10-26龚晓华
龚晓华


摘 要:本文基于Xilinx Artix-7系列FPGA的PCIe接口设计了一套高速图像采集卡方案,通过面向WinDriver的 PCIe设备驱动程序开发,在Windows7系统中实现了PC机对采集卡的读、写、DMA操作和中断处理。经测试,PCIe x1@5GHz接口单向峰值传输速率达463.14MB/s,可以满足实际应用中的高性能和可靠性要求。
关键词:PCIE;FPGA ; WinDriver 图像采集
随着图像处理走向高清化、智能化,人们对设备间数据传输速率的要求越来越高,PCIe作为计算机和外围设备间数据交互的主流接口,已被广泛的应用于图像采集卡设计中。目前,实现PCIe接口有两种方法:使用FPGA内置的PCIe专用IP,使用PCIe桥接芯片。由于FPGA应用更加灵活、成本更低,本文基于FPGA设计高速图像采集卡。
一、图像采集卡设计
(一) PCIe图像采集卡设计
如图1所示,图像采集卡基于Xilinx公司的Artix-7系列xc7a200tffg1156-2 FPGA芯片,该型FPGA内集成有PCIe硬核,用于实现采集卡和PC间的数据交换,本设计使用x1模式,传输速率5Gbps,理论带宽500MB/s。围绕FPGA构建常用外设,如双路差分VGA接口和DDR3存储,用于图像采集和数据存储;电源管理模块实时检测采集卡上的关键电压信号。
(二)图像采集卡工作原理
数据流方面,如图1所示,图像数据通过差分VGA接口进入FPGA内部,接口适配模块实现VGA时序向AXI-Stream[1]时序的转化,VDMA模块将图像流缓存到DDR3中的循环缓冲中,并以中断方式向缓存读写控制模块报告写入情况;当缓存读写控制模块判定循环缓冲中有剩余数据时,通知CDMA模块发起PCIe写DMA,将DDR3中数据通过PCIE模块发送到PC缓存,再以消息方式告知PC DMA发送完毕,PC机最终向图像流数据缓存写特定数据报告循环缓冲读取情况。……
