摘要:针对双天线干涉SAR 基线测量系统数据量大、实时性要求高和体积小的特点,设计并实现了一种基于FPGA + PCI 的实时数据采集存储系统。 系统基于PCI 总线技术,采用FPGA 和大容量SDRAM 对采集数据进行控制和缓存,利用多个硬盘组成的磁盘阵列进行实时存储,实现了CCD 相机和激光测距仪与PCI 总线间的高速数据实时传输。 对系统进行了功能和性能测试,测试结果表明,系统数据吞吐量大,实时性强,性能稳定,能够有效地满足基线测量系统的需求。双天线干涉合成孔径雷达系统可以获取地面目标的高程信息,具有全天候、全天时工作、测绘范围广、分辨率高等优点。干涉测量一般采用单轨双天线或重复轨道单天线系统,对于单轨双天线系统,其交轨干涉基线越长、越精确,获取的高程精度越高。一般干涉基线长度大于4 m 时,基线呈柔性结构而不能保持稳定基线,由于柔性基线结构出现的变形和抖动,会造成2 个天线的相对位置和姿态动态变化,并最终严重影响高程精度。 采用CCD 相机和激光测距仪的组合基线测量系统能够实现对2 个天线的位置和姿态变化进行精密动态测量,CCD 相机对布设在天线上LED 标志点进行高速跟踪拍摄,激光测距仪同步测量平台与合作目标之间的距离。 这使得柔性基线测量系统具有输出数据量大、处理算法复杂、计算量大、处理实时性要求高等特点,本文针对柔性基线测量系统的需求,提出一种基于FPGA +PCI 的数据实时采集与高速存储的解决方案,进行了硬件关键功能设计与实现。 系统采用FPGA进行核心逻辑控制,对CCD 相机和激光测距仪的数据进行同步采集控制,整理、利用外部大容量的SDRAM 组进行缓存,采用专用的PCI 接口芯片PLX9656,实现了2 个传感器数据与PCI 总线数据的高速传输,利用多个SATA 硬盘构成的大容量的磁盘阵列进行实时存储。 并对该数据采集存储系统进行了功能和性能测试,实测数据表明本文设计的系统能够有效解决柔性基线测量系统数据高速采集,大容量数据传输的难题。
1 系统组成及工作原理
1. 1 主要功能和技术指标
在柔性基线测量系统中,为了精确实时测量柔性基线的抖动和2 个天线相对姿态的变化,需要选择高帧频、大面阵的CCD 相机和高精度的激光测距仪进行组合测量,这样会产生大量高速的图像数据和激光测距仪输出的距离数据。 因此本文设计的高速采集存储系统主要功能是控制各测量传感器之间的时间同步,完成各传感器数据的实时采集,并对采集的数据进行分流。 一路数据进行高速存储; 另一路数据输出至另外的实时处理系统中。根据柔性基线测量系统的要求,本文系统应该能够实时采集和存储2 个传感器测量数据,需要达到的技术指标主要包括持续采集速度、持续存储速度和最小存储容量等。系统中CCD 相机采用SVS-VISTEK 公司生产的一款高分辨率、高帧频的面阵数字相机,图像的分辨率为1608 列× 1208 行,相机帧频最高为30 Hz. 该相机数据AD 采样为10 位,数据采集只取高8 位,则CCD 相机每秒产生的数据量约为55. 57 MB. 激光测距仪采用的是德国公司生产的LRFS-0040-2 激光测距仪,测量速率最高可达50Hz,数据接口采用的是RS 422 接口,产生的数据量为9. 6 KB / s.2 个传感器每秒的数据量约为56 MB / s,则采集系统的持续采集速度必须大于56 MB / s,才能对2 个传感器数据进行实时采集。只有当持续存储速率大于采集速度时,才能够把数据实时准确的存储数据。 所以持续存储速度要大于56 MB / s,SATA 硬盘理论读写速度最大可达150 MB / s,利用多个SATA 硬盘组成RAID阵列,可以提供比单个硬盘更高的存储性能。
根据柔性基线测量系统的需求,该采集存储系统的持续工作时间最长约为2 h,则需要的最小的存储容量约为390. 76 GB.根据上述数据采集系统的需求分析,并考虑到系统的可扩展性以及数据实际传输、终端处理的需要,要求数据采集记录速度要达到70 MB / s,持续写盘阵速度要达到120 MB / s,存储容量要求达到2 TB.对于32 bit /33 MHz 的PCI 总线,实际使用中一般能达到80 MB / s,数据进出系统内存都要经过PCI 总线,会导致总线的效率降低一半。 而系统的采集速度必须大于56 MB / s,所以选择64 bit /66 MHz的PCI 总线,数据传输的峰值速度可以达到528 MB / s,现有系统表明64 bit /66 MHz的PCI 总线实际传输的速度能达到200 MB / s 以上,所以该PCI 总线的传输速度完全能满足系统需求。
1. 2 系统组成和整体方案
整个系统主要由CCD 相机、激光测距仪,PCI数据采集卡,SATA 磁盘阵列和计算机组成。 其中PCI 图像采集卡主要由传感器数据接口、FPGA 逻辑控制芯片、高速缓存、PCI 接口芯片组成。 本文提出一种基于FPGA + PCI 的数据采集存储系统的解决方案,该方案的原理如下: 首先由主机端发送命令对CCD 相机和激光测距仪进行配置,配置完成后启动采集,CCD 相机输出的高速图像数据、同步控制信号一起送到FPGA 中,在FPGA 中进行缓存,激光测距仪的数据通过串口也送入到FPGA 的双口RAM 中进行缓存,FIFO 半满后在FPGA 的控制下把CCD 相机和激光测距仪数据进行分流,其中一路送到外部的SDRAM 组中进行缓存,SDRAM 存储到设定图像帧数后给PCI 发送中断,主机响应中断,从SDRAM 中把数据读到内存中进行处理,并同时向硬盘中写数据完成实时存储; 另一路送到相关的实时处理系统中进行处理。整个设计方案的框图如图1 所示。
图1 数据实时采集与存储系统设计方案框图
Fig. 1 System structure diagram of data acquisition and storage system in real-time
应用于柔性基线测量系统的数据实时,采集存储系统的设计包括以下几个方面的关键技术:
Camera Link 接口技术、多传感器同步技术、多传感器数据的实时采集与高速缓存和多传感器数据的实时存储。
2 数据实时采集存储系统关键设计与实现
下面对本系统中的几个关键技术具体实现的设计方案进行详细阐述。
2. 1 数据采集接口设计
实验相机采用Camera Link 标准接口,基本配置采用标准的MDR26 连接器输出。 本系统采用FPGA 作为采集卡的主控芯片,FPGA 支持的I /O 标准为LVCMOS /LVTTL 信号。 因此本系统对于Camera Link 接口的设计方案为: 通过DS90CR288A 接收器将4 路相机数据LVDS 信号和1 路相机时钟LVDS 信号转换成28 位TTL 数据,输出24 位图像信号、图像同步信号和像素时钟信号Strobe. DS90CR288A 的主要功能是完成LVDS 到TTL 电平信号的转换和串行信号转成并行信号。 为了对相机进行参数设置和触发控制,需要将FPGA 输出的相机控制信号( CC1-CC4 )和信号SerTC( serial-to-camera) 通过电平转换芯片DS90LV047 转换成LVDS 信号送入接收器中。为了接收相机向采集卡发送的应答信号SerTFG( serial-to-frame-grabber ) ,采用DS90LV048 把该LVDS 信号转换成TTL 信号后送入FPGA 中,并送入主机端进行显示。
2. 2 PCI 接口设计
由1. 1 节指标论证结果可知,本系统采用64bit /66 MHz 的PCI 总线来实现数据的高速传输。PCI 接口是PCI 总线与外部总线的通信接口,以实现二者的通信。 目前常用的PCI 接口的方案是采用专用的PCI 总线接口芯片,无需掌握复杂的PCI 总线协议,设计简单,能够减少开发周期和成本。 本系统中采用PLX9656 来进行高速PCI 卡的设计,以实现设置相机参数、设置激光测距参数、设置采样参数、读取图像数据等功能。 PLX9656是目前性能最高的PCI 接口控制器,具有PCI 端66 MHz、64 bits,LOCAL 端66 MHz、32 bits 的性能,符合PCI V2. 2 规范。 本系统中PCI 接口设计的重点是PLX9656 本地总线工作方式和数据传输模式的设置与实现。 PLX9656 的本地总线可以设置成3 种模式: M 模式、C 模式和J 模式。 根据本系统的特点,选择C 模式,可以通过把MODE1 和MODE0 引脚拉低来实现C 模式的工作方式。 在C 模式下,数据传输方式分为主模式操作、从模式操作和DMA 操作。 采用DMA 工作方式,能在不需要CPU 干预的条件下,实现高数外设和存储器间的快速传输,因此比较适合CCD相机数据和激光测距仪数据的传输,DMA 传输方式的实现可以通过对PLX9656 的内部寄存器的DMAMODE0 /1,PCICR置位来实现。