基于基于PCIE的高速光纤图像实时采集系统设计的高速光纤图像实时采集系统设计
利用PCI Express(PCIE)总线及DMA数据传输技术,设计光纤图像实时采集系统。利用FPGA中的PCIE硬核
实现了PCIE总线的DMA传输,同时介绍了整个采集系统的数据流和光纤接口模块的设计。测试结果表明,系统
DMA数据传输速度可达到138 MB/s,完全满足高速光纤图像实时采集的需要。
随着高分辨率、高频帧的CCD相机在航测中的广泛使用,如何对产生的高速图像数据进行实时记录,成为了一个技术难
题。
PCIE数据包在传输过程中要经过事务层,数据链路层及物理层。采用类似网络分层的思想,不同之处在于PCIE体系中的各
个层都是采用硬件逻辑来实现。事务层是PCIE架构的上层,其主要功能是接收、缓冲和分发事务包TLP(Transaction Layer
Packet)。TLP通过使用I/O、存储器 、配置和消息事务来传递信息。数据链路层是保证可靠正确的数据传输,主要负责链路管
理与数据完整性相关的功能,包括错误检测与改正,装配和拆解数据链路层包DLLP。物理层是PCIE协议的最底层,为设备链
路提供物理支持,分为逻辑子块和电气子块。逻辑子块完成对数据包的合成分解、加扰和去扰、8 bit/10 bit编码和10 bit/8 bit
解码、并串转换和串并转换;电气物理层负责对每路串行数据差分驱动的传输与接收及阻抗匹配[1-2]。
1 采集系统简述采集系统简述
本文采用CCD相机的分辨率为2 352×1 728,灰度级别为8 bit,帧频为31 F/s,产生的数据量为120.2 MB/s,则PCIE
接口采用X1通道就可以满足带宽需要。采集系统的具体结构如图1所示。
XC5VFX70T是Xilinx公司VIRTEX系列的一款具有5 328 KB RAM资源、内嵌3个PCIE硬核和16个可配置的高速串行收发器
GTX,速率可达6.5 Gb/s,采用CML电平标准,在系统中和SFP模块无缝连接。该芯片在系统中主要实现高速数据的接收和缓
存,以及数据的
光纤信号通过光纤接口模块和位宽转换,数据被写入DDR2中,DDR2分为A、B两个独立的存储区。当A储存区写满时,将
数据写入PCIE接口模块的TX_FIFO中,这时
2 功能模块设计功能模块设计
2.1光纤接口模块逻辑设计光纤接口模块逻辑设计
光纤接口模块分为GTX和包数据解析两个部分。光纤信号经GTX核后,输出16 bit位宽的并行数据和相应的K字符信号。根
据K字符信号提取数据包。包数据解析根据自定义的协议进行数据包解析,得到帧头标志、帧尾标志、有效图像数据和附加信
息等。附加信息是一组固定长度的双字组合,含有图像相关的一些信息,如大小、位数、编码方式等[5-6]。图2所示为自定义协
议包。
包头和包尾作为数据包的起始和结尾标志,包长用于指示发送数据的有效长度,包累加和用于包内有效数据字节的统计,
包编号用于统计发送的数据包有无丢失。帧头标志、帧尾标志、有效图像数据和附加信息等则放在有效数据中。
2.2 缓存模块缓存模块
本文的DDR2控制器MPMC采用NPI接口,设计有2个NPI接口分别用于读写操作。一个是用于存储光纤的输入数据,另一个
用于输出内存数据到PCIE接口。这样可以避免传输过程中内存的访问仲裁,提高系统的传输效率。
本文光纤接口模块输出的数据宽度为16 bit,而采用的NPI接口的数据宽度为64 bit。所以需要对原始数据进行位宽转换后才
能进行后续处理。位宽转换模块根据需要将数据宽度从16 bit转换为64 bit。
2.3 PCIE接口模块设计接口模块设计
PCIE接口模块主要是实现主机PCIE总线与采集卡之间的通信。为了实现基于PCIE的DMA传输,需要设计以下8个模块[7-
8], 具体PCIE接口模块设计如图3所示。
评论0
最新资源