吴明锋
基于FPGA的高速数据采集系统设计与实现
吴明锋
丹东百特仪器有限公司,辽宁 丹东 118009
为了实现频谱数据的高速采集和频谱信息的快速提取,研究了一种基于FPGA的静态干扰结构的高速频谱采集系统。通过滤波、傅立叶变换和光谱校正,得到了静态干涉条纹的光谱分布信息。实验对655 nm半导体激光器进行了光谱分析,并对不同深度条件下的傅立叶变换产生的光谱进行了比较。当固定点为12位时,谱数据反演完成,转化率高。同时,将测试数据与MATLAB的仿真数据进行了比较。实验结果表明,系统的光谱反演结果与MATLAB基本一致。
光谱数据处理;高速采集;FPGA;点位值
随着光谱技术的不断发展,越来越多的应用程序已经通过光谱分析设备来检测未知光源光谱特性,所以对光谱分析设备性能得要求也越来越高,包括干涉条纹数据的采集以及高速处理[1]。光谱测试系统主要分为光栅衍射和静态干扰两大类。由于光栅衍射图中存在入射狭缝,光通量低,静态干涉图更适合于室外光谱识别。为了开发和设计一种能够高速采集和处理干涉条纹的处理系统,需要选择合适的数字处理器。FPGA作为一种由硬件编程的高速加工芯片,非常适合高速光谱数据的处理。因此,采用FPGA实现干涉条纹和傅立叶变换的实时处理,不仅速度快,而且稳定,对其他处理系统具有无可比拟的优势。
测光从准直透镜准直后,进入干涉棱镜。通过干涉棱镜,初始光被干扰。通过高速采集电路将干涉条纹的数据信息导入FPGA,然后通过FPGA获得频谱分布。根据傅立叶光学理论,当被测光通过准直透镜进入干涉棱镜时,它被分成两束。两个光束被一个分束镜分开,然后再次聚集在一起。然后对静态干涉条纹进行滤波、裁剪、FFT和FPGA标定,将空间信息转化为光谱信息[2]。其中,FPGA设计分为三个区域:静态干涉条纹的采集区、光谱分布的反演区和光谱分布的显示区。
为了实时获取光谱数据信息,需要以高于处理速度的速度采集干涉条纹,同时要求采集模块与处理模块之间的速率匹配。因此,在傅立叶变换之前,应加快数据传输速率。在本系统中,如果输入傅立叶变换的1帧数据可以连续读取,转换速率应为0.5 MHz,转换速率应在两个不同的时钟域中工作。因此,设计了一个读写异步数据存储模块。读取时钟为1.0 MHz,写入时钟为0.5 MHz,数据深度为1 024。
静态干涉条纹是一种通过空间分布来传输光谱信息的方法。与传统的迈克耳逊干涉系统不同,它的光谱分布数据在空间分布干涉条纹同时不受时间的影响,非常适合高速光谱数据采集系统。以2为基数提取的形式,将N个点转化为两个N/2点序列,分别完成数据转换。根据这种方法,两个分解后的序列可以再分解为4个N/4点序列,直到分解到最后一层,通过Butterfly操作将干涉条纹转换为光谱信息。
该模块根据采集静态干涉条纹的要求和探测器的特点,采用1024点流水线,采用Xilinxvirtex2-pro系列处理系统,构建了实时静态干涉条纹采集和光谱分布反演的硬件结构。该模块使用IP核完成FFT,其转换形式基于基本的-2时间模型。FFT中的蝶式操作位深度由控制位设置,控制位由1 024点单通道管道结构组成,选择10 bit数据位。在本计算装置中,使用两个辅助RAM存储中间变量的结果,以减少FPGA资源占用RAM,提高系统的处理速度。最后,系统实现了两个硬件乘法器和四个RAM存储器的数据操作和处理,保证了系统的数据处理速度。在80 MHz的基本频率条件下,只需要32 s就可以完成1 024点的FFT。同时,不同深度数据的FFT测试的仿真分析,分别结果表明,针对处理速度的影响比较明显,8位最快,10位快,12位慢,但8位的中心波长反演结果振幅小,信噪比低,和10位和12位振幅谱信噪比更高,是类似的,推理的准确性和实时性为了保证光谱反演的同时,选择10位深度,在接下来的实验中还将进行进一步的对比分析。
FPGA芯片中的固件控制逻辑指的是通过将开发软件中编写好的VerilogHDL代码在开发软件中进行综合布局布线之后,将生成的流文件烧写到FPGA芯片中,使芯片中形成产生特定控制作用的电路。固件控制逻辑的设计是整个基于PCE的高速数据采集系统功能实现的核心部分。本系统的固件控制逻辑分为ADC控制器、DDR3控制器、POE总线传输控制器和进行跨时钟域和跨数据位宽转换的前后端FIFO。针对实现DDR3控制器高效读写的难点,通过连续读写的方式设计DDR3控制器固件控制逻辑,包括MIG模块配置设计和用户读写接口模块设计,实现高效缓存读写功能;针对PCIE总线传输控制器设计集成度低、时序处理复杂的难点,通过理解PCIE总线的体系结构,进行级联结构DMA接口实现的设计,实现高速数据传输功能。
在无人机定位与入侵检测、超声波无损检测和风洞测试等领域,常使用多通道的ADC进行采样。就100 MSPS采样率的ADC控制器而言,在48通道情况下,ADC控制器可达到48 GB/s的输出带宽。根据1.2的叙述,PCIER*8通道总线的传输带宽理论最大值为32 GB/s,因此出于数据传输完整性的考虑,需要DDR3大容量缓存模块进行缓存。本设计通过设计DDR3缓存控制器,来验证整个系统的缓存和传输能力,从而使系统能够满足无人机定位与入侵检测、超声波无损检测和风洞测试等场景中多通道采样和数据预处理之后产生的大量数据高速传输需求。如何通过DDR3控制器实现数据从FPGA芯片到DDR3 SDRAM的高速读写,是DDR3控制器中设计的难点所在。
为了更好地处理光测量的光谱分布,利用MATLAB对同一组干涉条纹进行分析比较。在实验中,采用850 nm半导体激光器作为光源、Virtex-II系列FPGA处理系统、干涉棱镜等,利用系统模块对相同的干涉条纹数据进行分析,并分别对数据进行8 bit、10 bit和12 bit深度的测试。随着位深度设置的增加,FFT后的峰值振幅也随之增大,信噪比也随之增大[3]。当比特深度增加时,中心波长的峰值变尖,半宽度变窄。三种情况下,虽然波形发生变化,但是中心波长的位置保持不变,中心波长的峰值变尖,半宽变窄。这三个案例虽然波形变化,但中心波长位置是相同的,不同深度条件下积累的数据结果表明,该位深度增加了信号叠加效应,以提高信噪比,但没有影响波长分辨率、波长分辨率在这里主要是由静态决定的等效角棱镜干涉。为了提高信噪比可以增加适当的深度,但随着深度的增加也带来了一些问题:深度系统数据量越大,越大处理速度比较慢,大大影响了实时测试的能力,所以我们需要在实际的过程中选择位深度妥协,比较8位、10位、12位的结果,10位采用硬件编程设计标准。
两种方法得到的激光光谱中心波长为655 nm,但光谱形态不同。传统的MATLAB反演方法在低频噪声和峰值低的情况下得到的结果比较大。
本文设计了一种快速光谱采集和处理的结构,并完成了一个由FPGA控制的高速数据处理系统。为了实现静态干涉条纹的高速处理,采用硬件编程方法完成堆积和蝴蝶操作,最后通过光谱标定再现光谱分布。利用Moswlaim完成采集和光谱反射率的仿真分析,并与MATLAB软件进行光谱重构进行对比。结果表明,该系统能较好地完成光谱分布的重构,同时运行速度快,适用于高速数据处理系统。
[1]郭柳柳,甄国涌,刘东海. 基于FPGA高速图像数据的存储及显示设计[J]. 电子技术应用,2014,40(11):75-77,84.
[2]龚垒. 基于FPGA的高速光纤通信数据传输技术的研究与实现[D]. 西安:西安电子科技大学,2014.
[3]刘吉,杨德伟,文怀涛,等. 基于USB通信的FPGA高速数据采集系统[J]. 现代电子技术,2011,34(10):186-188,192.
Design and Implementation of High-Speed Data Acquisition System Based on FPGA
Wu Mingfeng
Dandong Bettersize Instrument Co., Ltd., Liaoning Dandong 118009
In order to achieve high speed acquisition of spectrum data and the rapid extraction of spectrum information, a high-speed spectrum acquisition system based on static interference structure of FPGA is studied. The spectral distribution information of static interference fringes is obtained through filtering, Fourier transform and spectral correction. Spectral analysis of 655 nm semiconductor lasers is carried out, and the spectra produced by Fourier transform at different depths are compared. When the fixed point is 12 bits, the inversion of spectral data is completed and the conversion rate is high. At the same time, the test data are compared with the simulation data of MATLAB. The experimental results show that the spectral inversion results of the system are basically the same as those of MATLAB.
spectral data processing; high speed acquisition; FPGA; spot value
TP274+.2
A