CCD系统下基于FPGA的PCI图像采集卡设计与实现
摘要:文章设计了一种基于FPGA的CCD图像数据采集卡。以FPGA作为图像数据采集卡的核心,通过LVDS传输技术,异步FIFO,异步块RAM,SRAM缓存乒乓操作等技术,在PCI核的基础上实现了Initiator下的DMA传输;并基于VxWorks平台编写PCI图像采集卡的驱动程序。经测试和验证,PCI图像采集卡稳定可靠,能够实现数据流为60Mb/s的CCD系统图像数据的高速传输。
关键词:图像采集;PCI总线;FIFO;DMA传输;VxWorks
0 引言
CCD是一种高性能光电转换式图像传感器。由于其几何精度高、稳定性好、噪声小,广泛用于遥感遥测,天文测量等领域。现实中许多利用单片机作为控制核心,并配备其他一些外围电路实现CCD的数据采集,这种方式速度慢、集成度低。
由于CCD相机的精度和分辨率的不断提高,以及对CCD成像系统本身可靠性要求的不断提高,对数据采集系统采集速度、可靠性,以及易用性提出了更高的要求。本文设计的基于FPGA的PCI数据采集及回放系统,系统设计以Xilinx的FPGA为核心,以LVDS芯片传输过来的CCD数据为源头,运用成熟的PCI总线传输技术,实现了高速数据采集的功能。在VxWorks平台下编写了相应的驱动程序。经测试和验证,该系统稳定可靠,传输速率高,满足应用的要求。
1 系统的总体结构以及原理
整个系统由模拟前端和采集后端组成,如图1所示。前端主要由CCD镜头,CCD传感器、垂直驱动器、A/D转换器、FPGA、电源管理电路以及高速串行总线接口LVDS组成。CCD镜头把光线聚焦在CCD传感器的感光面上,CCD传感器完成光信号到电信号的转换。在驱动器的控制下完成像素电荷的转移,输出模拟信号,再经过A/D转换芯片把模拟信号转换成数字信号,经LVDS输出到后端。
采集后端的硬件主要由LVDS芯片、用作缓存图像数据的SRAM芯片、电源管理模块、FPGA组成。FPGA是整个后端采集模块的核心模块,FP GA不仅要完成数据的采集、组织、传输,还要根据PCI规范配置成标准的PCI设备,进行数据与主机之前的传送。由于数据传输要求60Mb/s的速度,所以简单的单次传输不能满足系统的整体需求。FPGA必须能支持DMA方式的数据传送。为了使PCI图像采集卡有更大的通用性,在修改最小的驱动代码的情况下跨平台地使用,须把FPGA配置成能作为主动发起DMA请求的PCI设备,从而屏蔽不同的桥芯片之间的差异。
本文主要关注采集后端,即PCI图像采集卡的硬件、逻辑、以及软件的设计与实现。
评论