文献标识码: A
DOI:10.16157/j.issn.0258-7998.2016.02.019
中文引用格式: 李广志,周卓赟,谢昱勃,等. 基于FPGA的阵列信号数据采集系统[J].电子技术应用,2016,42(2):71-73,77.
英文引用格式: Li Guangzhi,Zhou Zhuoyun,Xie Yubo,et al. Data acquisition system for array signal based on FPGA[J].Application of Electronic Technique,2016,42(2):71-73,77.
0 引言
阵列信号处理是信号处理领域的一个重要分支,在雷达、声纳、无线通信等许多领域中有着广泛的应用[1]。其中,多通道同步采集与大数据量的高速传输是阵列信号处理中一个相当重要的环节。
现有的采集系统大多存在如下问题[2-5]:(1)通道路数较少,通常为几路或十几路,难以满足阵列信号多达上百路信号采集的需求。(2)数据传输速率较低,以以太网传输为例,大部分仍采用百兆传输速率,鲜有采用千兆甚至更高的传输速率,难以满足阵列信号大数据量的高速传输需求。(3)系统结构复杂,需要多种处理器相互协作,对系统的设计、测试以及部署提出了很大的挑战。
本设计较现有的阵列信号数据采集系统,在设计方案、通道路数以及传输方式等方面均有较大的改进,如系统所有逻辑、协议均在一片FPGA中实现,无需额外采用其他处理器,降低了系统的结构复杂度;UDP传输协议采用Verilog硬件描述语言进行硬实现,大幅提高了传输的速度和效率;AD采样电路采用同步采样AD芯片,确保了多通道之间的相位一致性;系统通道路数达到128路,能够满足阵列信号对通道路数的要求。整个系统具有较好的通道间幅相一致性、较高的传输速度以及通道数较多等突出特点。本文介绍了该数据采集系统的设计与实现方案。
1 系统总体设计
1.1 系统的设计思路
系统的设计主要围绕以下三点展开:
(1)满足系统功能需求。主要满足多通道、同步采集以及数据传输这三个功能需求。
(2)满足系统精度需求。主要满足通道的分辨率、采样率、通道数的需求,满足系统幅度一致性和相位一致性的需求,以及满足多通道数据实时传输的需求。
(3)降低系统复杂度。即在保证满足(1)和(2)的前提下,尽可能减少A/D转换芯片的个数以及减少处理器的个数。
1.2 系统的设计方案
系统整体原理图如图1所示。128路模拟信号经过滤波模块后,由A/D转换模块进行同步采样,将模拟信号转换为数字信号,该数字信号在控制模块控制下,通过网络传输模块、按照UDP协议在光纤中进行传输,从而实时上传到计算机中进行显示、存储以及处理等。控制模块是系统的控制中心,不仅完成A/D转换器的控制,同时还完成数据信号的缓存、UDP传输协议实现以及网络传输芯片的控制。
2 系统的硬件设计
2.1 滤波模块
滤波模块选用TI公司OPA4140搭建有源滤波器,对输入信号进行有源滤波,将输入的差分信号转成单端信号,同时完成与后端A/D转换模块的阻抗匹配。OPA4140是一款精密、低噪声、轨对轨输出的JFET放大器,适用于搭建有源滤波器及构建数据采集系统等。OPA4140电路如图2所示。图中仅展示了一个通道,其他通道相同。为了保证通道间的幅值一致性,所有电阻均选用0.01%精度。
2.2 A/D转换模块
通过对系统的采样率、分辨率、通道数以及同步性等要求的分析,最终选用TI公司的ADS8556作为A/D转换芯片。ADS8556是一款16位、6通道的同步采样A/D转换芯片,6个通道相互独立,通过外部转换信号,可进行并行采样、转换。本系统中输入共有128路,因此仅需22片芯片就可完成任务。将每片芯片的转换信号连接到一起,可以实现22片芯片的同步转换,保证了系统对相位一致性的要求。
ADS8556既可以配置成并行接口,也可以配置成串行接口。本系统中有22片芯片,如果配置成并行接口,则与后级的控制系统间接线复杂,因此配置成串行接口。ADS8556具体配置如图3所示。图中仅展示了一个芯片的配置,其他芯片相同。
由于22片ADS8556同时工作,因此帧同步信号AD_Frame_Synch、转换同步信号AD_CONV_ABC、复位信号AD_RST、串行接口时钟信号AD_SCLK以及串行输入信号AD_SDI均22片共用,每片的数据输出SDO_A、SDO_B以及SDO_C均单独连接到后级的控制系统。
2.3 控制模块
为了降低系统的复杂度,控制模块选用FPGA实现。综合考虑到系统所需的管脚数量,FPGA核心板最终选用微雪电子公司的CoreEP4CE10型号。CoreEP4CE10是一款基于Altera公司EP4CE10F17C8N为主控芯片的核心板,板载Altera FPGA最基本电路,引出了所有的I/O资源,带有JTAG调试下载接口,同时采用2.0 mm排针,体积小,适合作为核心板接入用户系统。
2.4 网络传输模块
网络传输模块主要解决数据在光纤中高速传输的问题。考虑到系统对网络传输速率的需求以及系统设计的复杂度,网络传输模块选用Marvell公司的88E1111芯片来实现。
88E1111是单片高性能千兆位以太网物理层芯片,可直接连接到光纤收发器。本模块采用88E1111和千兆单模SFP完成千兆位以太网光纤传输接口,与FPGA控制系统MAC层接口采用GMII接口。
88E1111解决了以太网物理层传输问题,协议层在基于FPGA的控制模块中通过Verilog HDL进行硬实现,提高了协议层的工作效率。
2.5 电源模块
清洁、稳定的电源模块是整个系统正常工作的基础,尤其是模拟部分。因此重点介绍模拟部分电源设计。
本系统模拟电路部分需要±5 V和±7 V四种电压。为了满足系统的要求,模拟电路部分的电源设计首选低噪声、高电源抑制比、低压降的线性稳压器。
本设计中采用TI公司的TPS7A49正电源线性稳压器和TPS7A30负电源线性稳压器。TPS7A49和TPS7A30是具有超低噪声、高电源抑制比、低压降的线性稳压器,输入电压可达到±36 V,输出可调节,且TPS7A49噪声可低至12.7 μVRMS,TPS7A30噪声可低至14 μVRMS。在保证输出稳定的同时,输出电容可选用陶瓷电容,较钽电容相比,可实现更小的PCB尺寸和更低的BOM成本。TPS7A30与TPS7A49配合使用,可为运算放大器和A/D转换器实现更高的精度提供有力保障。
3 系统软件设计
3.1 系统控制软件设计
系统整体控制流程如图4所示,系统软件部分主要包括:系统初始化、网络收发、A/D转换器控制以及相互之间的协调。
系统上电后,首先进行系统初始化配置,然后进入接收命令等待状态。接收到上位机从网络发来的启动命令后,执行任务1和任务2。系统所有代码全部基于Verilog HDL实现[6,7],因此任务1和任务2是并行执行。任务1主要完成A/D转换器的控制、数据读取以及UDP网络传输协议的实现;任务2主要是监听网络下行命令,接收到停止命令时,将停止控制信号传递给任务1,当任务1完成当前发送任务后,系统停止。
ADS8556采用串行接口方式。首先将CONVST_x信号拉高并启动转换,然后检测到BUSY信号变为高电平,待检测到其下降沿时,拉低FS信号,则A/D转换数据在SCLK的上升沿输出,处理器可以在紧挨着的SCLK下降沿读取数据。数据开始于最高有效位。在FS拉低的同时,配置数据在SCLK的下降沿锁存,处理器在之前的SCLK的上升沿送出配置数据,同样,配置数据开始于最高有效位。
网络收发部分主要完成UDP/IP协议的硬实现,具体包括传输层的UDP发送、UDP接收,网络层的IP发送、IP接收以及链路层的ARP发送和ARP接收。UDP/IP协议规定了网络中数据传输的格式,根据规定的格式,通过Verilog HDL语言,按照字节的先后顺序进行实现即可。
3.2 简易幅相测试脚本编写
简易幅相测试脚本采用Matlab进行开发[8],用于快速直观判断系统是否具有较好的幅相一致性。
软件通过读取上位机保存的128通道数据,按通道进行处理后,借助Matlab中的imagesc函数进行显示。
关键脚本代码如下:
imagesc(abs(squeeze(DataBuf(1:30,1:100))));
title(′1-30通道数据幅相一致性分析′);
xlabel(′样点数′);
ylabel(′通道号′);
saveas(gcf,′D:\ChannelCommonAnalysis1_30.bmp′,′bmp′);
4 系统测试与分析
4.1 多通道幅相一致性测试
将128路模拟输入连接到一起,通过信号发生器产生一个正弦波信号,采集系统对该信号进行采集,通过光纤上传至上位机进行保存,然后借助简易幅相测试脚本对数据前100个样点进行分析。1-30通道幅相一致性检测结果如图5所示,同样可以分析剩余的31到128通道。
由图5可以看出,系统具有较高的多通道幅相一致性。通过进一步计算,可以得出系统满足设计需求:通道间幅度一致性≤1 dB,相位一致性≤3°。
4.2 采集系统网络传输速度测试
上位机将采集系统设置为全速状态,通过Windows系统自带的网络监视工具来监视系统上传数据速度,可知系统网络传输速度可以稳定运行在600 Mb/s以上,满足阵列信号采集系统稳定、高速传输大量数据的需求。
5 结论
本文设计了一种以FPGA为核心,配合ADS8556和88E1111构成的多通道同步采集系统。借助FPGA的多路高速并行的优势,完成对ADS8556和88E1111的逻辑控制,实现多通道同步采集和数据的高速稳定传输。
本系统通道数达到128路,同时通道间具有较好的幅相一致性,且能满足采集数据的高速实时传输要求。
系统现已投入阵列信号水声方向的相关实际应用中,在地面功能测试、水池验收测试以及多次海测中均运行正常。通过实践证明该系统完全满足阵列信号要求的幅相一致性和数据高速稳定传输的要求,具有较高的实用价值。
参考文献
[1] 张小飞,汪飞,陈伟华.阵列信号处理的理论与应用(第2版)[M].北京:国防工业出版社,2013.
[2] 杨博,张加宏,李敏,等.基于ARM的多通道数据采集系统[J].仪表技术与传感器,2015(2):104-107.
[3] 孙晓杰.大数据量多通道实时高速采集系统的研究与开发[D].北京:北京邮电大学,2015.
[4] 李攀.阵列信号同步采集系统的设计与实现[D].武汉:华中科技大学,2013.
[5] 王刚,王跃科,乔纯捷.基于以太网的阵列信号采集与处理系统设计[C].第十七届全国测控计量仪器仪表学术年会(MCMI'2007),中国福建厦门,2007.
[6] 夏宇闻.Verilog数字系统设计教程(第2版)[M].北京:北京航空航天大学出版社,2008.
[7] 吴继华,王诚.Altera FPGA/CPLD设计(基础篇)[M].北京:人民邮电出版社,2005.
[8] 李刚.MATLAB函数速查手册[M].北京:清华大学出版社,2011.