热搜关键词: 高速采集卡高速AD卡FMC子卡高速数据采集系统软件无线电平台VPX高速数据采集卡高速信号采集卡波形发生卡PCIe高速数据采集卡
系统采用6U cPCI架构,包括如下几个部分:
采集系统:
1 采集模块,集成2通10bit 2.5GSPS ADC,标准CPCI 6U卡尺寸;
2. 时钟,触发可以同步,可组成多通道采集系统,2个采集模块可以组成4通道2.5Gsps同步采集系统;
3. 模拟前端AC藕合可选,50欧姆输入,AC输入带宽4.5MHZ~3GHz,大500mVpp输入;
4. 板载校准信号源,支持交错采集自校准;
5. 每块采集模块大支持板载2GB内存,4通道系统总共4GB内存;
6. 系统中的模块均具备大规模FPGA,用户可以方便的将自有的逻辑加入系统中,进行实时信号处理;
7. 板载超低相位噪声恒温晶体为参考时钟,超低抖动时钟发生器产生采集时钟;
8. 支持外触发和外同步输入;
9. 支持标准32bit PCI总线,采用DMA机制同计算机进行数据交换;
10. 自定义高速SRIO同存储板互联;
11. 板载温度监控系统;
12. 提供丰富的二次开发软件和接口API函数,支持C/C++环境下的二次开发;
13. 整板采用导热结构,模拟电路和时钟电路全封闭屏蔽。
高速存储模块:
1.板载高速存储系统,支持8块SSD盘并行存储,存储速度大于1.2GB/s;容量支持320GB到4TB。
2.高速SRIO数据输入输出通道,支持2.5Gbps 数据收发。
3.采用加固结构,SSD能牢靠的固定在载板上。
4.低功耗设计,每个采集模块全速工作,包括8块SSD硬盘,功耗小于40W。
机箱以及控制系统:
1.标准6U 7槽 CPCI 系统,包括6U 7槽背板,控制器以及机箱,可安装上19寸机架。
2.包括控制器模块、2个采集模块、1个高速存储器模块。
3.系统支持单28V供电。
系统实现框图如下:
采集模块的实现:
采集板卡外观图如下:
采集模块采用1片双通道2.5GSPS ADC 10bit,每通道配置1GB的板载内存,总共2GB。如果采用10bit存储模式,每通道可以分配到512Msample的内存大小,8bit采集模式下每通道1Gsample。
每个通道配备独立的信号调理和校准电路,支持大输入+/-500mV/AC信号,50欧姆输入阻抗。
采用Xilinx K7大规模FPGA,支持用户自定义开发FPGA逻辑。
输入输出接口:
1. 外部参考时钟输入:SMA接口,50欧姆单端输入,交流耦合。输入参考时钟频率10MHz~100MHz;
输入功率0dBm到9dBm。
2. 模拟输入信号,CH1 CH2: SMA接口,50欧姆单端输入,交流耦合。输入带宽4.5MHz~3GHz(-3dB);大输入电压500mVpp。
3. RS232串口,micro-D接口,具备双路RX TX通道。
4. 同步接口,micro-D接口,一路RS232协议接口,秒冲输入端(LVTTL),触发输入端(LVTTL),hold 输出端(LVTTL)。
交错采集动态校准:
2.5Gsps是由2个1.25Gsps的 ADC采用时间交错的算法组成的采样系统。这就需要板载校准源在系统初始化以及温度发生变化时进行校准。
ADC的时间交错采样是一种并行使用多个ADC从整体上提高系统采样率的方法。目前的挑战是处理独立的ADC通道之间的不匹配,特别是在较高的频率下。
时间交替的主要难点是通道间采样时钟边沿的精确校准和IC间固有变化的补偿。精确匹配各单独模拟数据转换器间的增益、偏移和时钟相位是一项很大的挑战,主要因为这些参数都取决于频率。除非能够实现这些参数的精确匹配,否则动态性能和分辨率将会降低。下图显示了三个主要误差源。
坤驰科技开发的时间交错采样校准算法能持续提供模数转换器的增益、偏移和时间偏差误差的后台估计值,此算法对于校正静态和动态失配误差很有效。 时间交错采样校准估计误差,并使用抑制的全部失配误差重新构建信号。误差校正算法对于任何输入信号类型均有效。
校准系统实现方案
校准前的频谱:
校准后的频谱:
性能测试结果:
输入信号频率(MHz) |
ENOB(bit) |
SFDR(dB) |
100 |
8.3 |
-62 |
250 |
8.2 |
-60 |
500 |
8 |
-57 |
1000 |
7.5 |
-54 |
测试条件: 采样率2.5Gsps,内部时钟。输入信号85%FS,外接带通滤波器。
8192点FFT,卷积Hanning窗。
采集时钟发生器:
采集时钟抖动对采集系统信噪比的影响:
2.5Gsps ADC 要求输入2.5G时钟的抖动小于150fs RMS。
我们通过小型化的恒温晶体加超低相位噪声时钟发生器,实现2.5G时钟输出时的抖动约100fs rms
抖动对输入信号的噪声影响。
高速ADC-FPGA数字接口校准:
每个LVDS对数据率为1.25Gbps,随路时钟为625MHz。这个传输速度已经使FPGA内部时钟延迟大于数据延迟,加上FPGA内部传输skew,后果是每一路LVDS不一定同随路时钟对齐。所以需要采用动态时间窗口调整状态机,进行ADC LVDS输入时序调整,进行:
l 自动搜索数据窗口,进行动态bit对齐。
l 根据测试序列,进行动态10bit 字对齐,保证数据一致性。
l 监控系统温度变化,实时进行窗口调节,保证时钟在数据窗口中心位置。
同步触发和外参考时钟的输入方案:
延迟补偿:
触发信号相对时钟的传输延迟(包括PLL延迟)可以通过PCB的走线进行大致的补偿,在FR4上,延迟时间约为180ps/inch
FPGA通过预触发来补偿ADC的pipeline 延迟:
逻辑允许设置一下参数:
设置单次采集长度Mem-size;
设置触发Pre-trigger点数;
Post-trigger=mem-size - Pre-trigger
触发参数:
Pre-trigger: 0~16k。
Mem-size:8~1G。
Step: 8(小)。
外触发脉冲为LVTTL。
关于秒脉冲同步控制:
GPS同步模块由以下部分组成:
l GPS接收模块:输出1pps秒脉冲,目前精度30ns rms(1σ)。
l 本机恒温晶体:输出10MHz,频率稳定度1e-9(阿伦方差)。
l 时钟驯服模块:根据GPS输出的1pps信号,同步每个采集模块的本地恒温晶体;同时产生1s频率的同步时钟信号。保障在GPS卫星短时间失锁情况下仍然能维持同步稳定。
l GPS绝对时间模块:读取GPS授时时间,同时使用同步的100M时钟进行计数,产生本地20ns精度的绝对时间。
采集间模块同步机制:
同步原理如下图所示:
同步机制在采集模块FPGA内实现。采用两种方式实现同步:
l 时间戳模式: 驱动时钟为采集时钟,频率2.5GHz,FPGA 5分频处理,分辨率为2ns。当有触发事件时,锁存时间戳计数器,将该计数器值同ADC数据值上传服务器。GPS同步模块输出的同步脉冲负责每秒为计数器清除一次,
保证各个采集模块的计数器同步。如果各个采集模块是同时满足触发条件的,此时各个通道的计数器值应该相等。
l 绝对时间记录模式: 触发脉冲输出到GPS绝对时间计数器中;当绝对时间计数器检测到上升沿,锁定绝对时间计数器,然后通过总线形式读取当前时间,同ADC采集数据上传主机。
模块间时间同步精度:
时间戳模式:根据GPS同步精度30ns rms(1σ)±2ns。
绝对时间记录模式:根据GPS同步精度30ns rms(1σ)±20ns+传输skew。
高速存储系统:
1.在1块6U的标准插卡上集成了8个接口的SATA磁盘控制器,本地支持2GB的读写缓存,能缓冲较长的数据,不至于因为某个磁盘突发响应缓慢而影响了整个系统的读写速度。
2.采用嵌入式CPU,配合优化的系统控制软件,大效率的执行磁盘的管理,回避了操作系统的延迟。
高速存储模块外形图
系统配套软件:
控制软件运行于Windows系统,提供人机交互图形化界面,通过串口通信控制存储板和系统,通过PCI接口与计算机交换批量数据。另外,用户也可以使用串口控制台以命令行的模式对系统进行控制。
系统可提供的典型控制指令有:
ü 建立或删除文件等操作
ü 指定数据存盘或读出的文件地址、大小
ü 选择存盘数据来源,例如选择ADC或PCI主机作为数据源
ü 选择存盘数据导出目的地,例如选择DAC或PCI作为输出
ü 启动、暂停、停止数据存盘
ü 启动、暂停、停止数据导出
ü 以列表或图形模式显示存盘数据
ü 设置RAID模式
ü 显示系统空间使用、温度、工作日志等信息
软件交互界面如下:
超高速存储系统(Super Speed Storage System,以下简称4S系统)的核心技术要素是一颗专门为高速数据存储,特别是为适应模数、数模变换(ADC、DAC)等连续强实时性数据流的存储或回放而设计的专用芯片。该芯片基于片上系统(System on chip,SOC)构架设计,并使用FPGA芯片实现,在此将该芯片其命名为“存储处理单元”(Storage Processing Unit,简称SPU)。
4S系统构架示意图如下:
SPU芯片内部集成了多个SATA主控制器,因此该芯片可以直接同时读写多个具备SATA接口的存储设备,例如常见的SATA接口硬盘。同时,SPU内部设计了对多块硬盘设备进行管理的逻辑系统,即冗余磁盘阵列(RAID)管理系统。RAID管理系统通过多种可选择的模式对多块硬盘进行灵活管理,使得整个4S系统的数据吞吐能力得到提升。SPU芯片内部集成了一个32位的通用处理器(CPU),该CPU用于整个存储系统的管理,包括对单个SATA接口硬盘的管理,RAID管理,还用于文件系统的实现,与用户指令信息交互的实现,数据输入输出通道的选择和控制等。为了实现强实时数据流的读写,本系统采用了我公司专门设计的快速存储文件系统(Fast Storage File System,FSFS),该文件系统使得每个存盘文件占用的是硬盘上连续的物理地址空间,同时存盘或回放数据流通过系统内专门设计的DMA控制器写入硬盘,并不使用CPU进行数据搬移。通过FS文件系统和DMA控制器的实现,使得4S系统可以具备特别优异的存储带宽。SPU芯片对外提供多个数据输入输出通道,通过与各种货架化的、或者为用户定制化的接口电路配合,使得4S系统可以灵活地进行数据的存储、回放或转存。
波形监控软件(虚拟示波器软件)
系统软件包括应用软件,二次开发API函数,以及FPGA开发环境三部分。
1.应用软件,具有虚拟示波器功能,方便设置硬件,读取/保存数据以及波形显示/频谱分析功能。
其功能和界面如下所示:
2.二次开发API函数:
我们提供丰富的接口函数和系统主要功能的例程,支持C/C++环境下的二次程序开发。
该系统为用户提供了两种控制方法。一种是通过串口控制台,以命令行的形式控制并监测系统;另一种是通过运行于Windows系统的图形化界面控制并监测系统。串口控制台通过RS232串口与4S系统通信,具备简洁直接的优点,并支持完整的控制和调试指令,缺点是界面友好性略差,而图形化界面则具备良好的交互友好性。另外,4S系统提供USB,光纤或者PCIE等接口方式用于存储数据的高速导入导出,具体使用哪一种通道方式可根据用户的需求配置。
无论是串口控制台还是图形化软件界面,都支持各项主要功能,例如:创建或删除文件等FS文件系统支持的操作,使用某一个输入输出通道(例如集成有AD/DA电路FMC子板)写文件或导出文件,查看系统信息,查看文件数据片段等等。另外,串口控制台还提供了一些高级的调试功能,例如:直接读写硬盘物理地址,设置系统内某些外围芯片(例如设置时钟芯片从而调整信号采样率)等等。图形化软件界面则还可以提供以图形化模式显示文件数据片段等功能。
FS文件系统的使用与常见的NTFS等文件系统有所不同,FS文件系统需要先建立一个固定大小的文件,然后对文件进行读写操作,包括覆盖式的写操作,也就是FS文件系统不支持文件大小的动态变化,对系统的读写操作都是以某一个已经建立的文件为对象的。当然,对某一文件所进行的读写操作的大小可以小于文件自身的大小。例如,如果某一个文件大小为100G字节,那么可以对其中任意的10GB进行写入覆盖或导出操作。
这里简略介绍串口控制台的使用方法。例如,用户需要存储10GB的ADC采样数据然后使用DAC回放所记录的10GB数据,那么需要首先建立一个10GB大小的文件或者使用已经存在的文件,然后启动存储,等待存储完成后启动回放操作。这个过程可能涉及使用的指令流程是:
输入
输入
输入
如果使用图形化界面,那么整个操作流程是类似的,只需按照图形界面的文字提示信息操作即可。
在此以一种典型的使用过程为例,说明系统使用方法。
假设我们的目的是通过ADC采样并记录量化后的数据,然后再通过DAC重构模拟信号或者通过USB将数据导入通用计算机,那么主要操作过程如下。
1. 连接系统硬件,主要包括:连接模拟信号至FMC子板上的ADC信号接口;将计算机串口和USB接口连接至后IO板上的相应接口;连接机箱电源。
2. 打开电源,并等待大约10秒钟,当看到存储板前面板指示灯闪烁,说明硬件已启动完成。
3. 在计算机上打开已事先安装好的“采集存储系统管理软件”,看到如下界面:
4.点击“设置”进行串口设置。根据计算机上实际使用的串口选择串口端口号,其它参数使用默认值。
5.如果设置正确,软件界面上的“连接”按钮点亮。点击“连接”,软件将会列出系统内已存在的文件名称、文件大小、创建时间、修改时间等信息,点击相应的列首可以改变文件排序方法。如下图:
需要说明的是,本系统中文件的大小需要在创建时固定,以后不能更改。文件名长63字节,并支持255字节的文件备注信息。
6.在此创建一个10G字节的文件,可以点击“新建”按钮,也可以在文件区域右键选择新建,然后弹出如下窗口:
在上面的窗口中输入文件名称、文件大小、以及可选择输入或不输入的备注信息,点击确定按钮,文件创建完成。如下图:
7. 现在使用新建的文件作为存储空间,存储ADC采样数据。首先点击该文件,然后点击“导入”按钮,弹出如下对话框:
上面对话框中,“偏移量”用于指定数据存盘时在该文件空间中的起始位置,“数据大小”用于指定需要存储的数据量,这两者之和不能大于文件自身的大小。
设置好参数后,点击确定,系统开始使用ADC采集模拟信号并将采样数据存储到指定的文件空间。此时通过软件下方的信息框,用户可以看到已存盘的数据量,如下图:
用户可以点击“停止”按钮强制停止数据存储,也可以等待存储完成后软件自动停止。如果采样停止,信息框提示如下:
8. 现在通过USB将数据导出至计算机。首先点击刚才新建的文件,然后点击“导出”按钮,弹出如下对话框:
如果选择“DA通道”,那么采样数据将驱动DAC芯片重构模拟信号。在此选择“USB”通道,并点击确定。此时系统已开始从硬盘读出数据并等待USB读取。
如果用户点击“停止”按钮,可以强制停止导出。
9. 点击“USBIO”按钮,弹出如下软件界面:
通过“打开”按钮指定计算机上的文件路径和名称,从系统导出的数据将写入指定的文件。点击“开始读取”按钮,数据开始从系统导出并写入计算机,此时软件实时显示已读出的数据量:
点击“停止读取”则写文件结束。此后如果再点击“打开”,可以指定新的文件,并可以将后续导出的数据写入新的文件。
此时数据已导出至计算机,并以二进制格式存储,用户可以通过自己设计的软件分析数据。例如,使用我公司的一款ADC分析软件读取存盘文件,可以得到ADC采样数据的一些相关信息:
10. 另外,通过点击软件界面上的“关于”按钮可以得到系统硬件的相关产品信息,点击“更多”按钮可以得到系统硬件的关键电压、温度、以及存储系统使用情况等信息,如下图: