基于FPGA的水声信号多通道同步采集技术的研究

2019-09-10 19:25杨寿佳
科学导报·学术 2019年49期

杨寿佳

摘  要:本文设计了一种以FPGA为控制核心,AD7606为采集模块,基于千兆网和UDP协议进行数据传输的水声信号多通道同步采集系统,解决了水下平台低功耗、高采样率的数据采集问题。该设计具有功耗低,可高速实时传输,通用性强、易于扩展等优点。

关键词:水声信号;FPGA;同步采集

1引言

水声信号是水声传感器探测水下目标回波及其辐射噪声的信息,目前水下探测、目标跟踪、导航定位、入侵预警等功能的实现,皆离不开水下多个节点同步水声信号的采集、存储、分析、处理和研究而获得的大量目标特征信息。

水声信号采集系统是水下探测仪器的重要组成部分,开展水声环境调查所使用的水下仪器要求设备通道多、同步性好、采样率高。本文设计的水声信号多通道同步采集系统只一款水声数据采集的较为通用的系统,除了单板具有多个采集通道外,还可以多个单板级联实现多通道同步采集,采用千兆以太网实现数据的高速实时传输。

2硬件设计方案

多通道实时同步采集系统硬件设计分为AD同步采集、FPGA模块、千兆网接口电路三个部分组成。AD同步电路采用的是8通道16bit采集芯片AD7606,每个通道都能达到200k采样频率。

AD同步采集电路接收工作频段覆盖20Hz~40kHz的水声信号,通过FPGA控制AD同步采集电路采集水声信号,缓存到FPGA内部FIFO,当FIFO存满时,通过FPGA控制千兆网口以UDP数据包格式发送到网络。

2.1 AD同步采集电路

AD同步采集电路功能室完成模拟信号到数字信号的转换。AD同步采集电路是同步采集系统的重要组成部分。AD同步采集电路主要由ADC芯片构成,本系统采用了ADI 公司的AD7606芯片,它是一款电荷再分配逐次逼近型ADC,集成式8通道同步采样数据采集系统,片内集成输入放大器、过压保护电路、二阶模拟抗混叠滤波器、模拟多路复用器、16位200kSPS SAR ADC和一个数字滤波器,2.5V基准电压源、基准电压缓冲以及高速串行和并行接口。片上集成模拟钳位保护,最高能承受±16.5v的电压,保护着电路安全地运行;采用单5v供电,不需要使用正负双电源,简化了硬件结构。

2.2 FPGA模块

FPGA 模块是整个系统的控制核心,负责系统中各个模块的控制,其中包括信号调理模块的参数配置、AD转换模块的转换频率控制、数据读取、以及千兆以太网通信接口模块的控制。

本系统选用的是Xilinx公司Spartan-6系列芯片XC6SLX45,其拥有高级功耗管理技术,提供了最佳的低功耗和高性能均衡。Spartan-6系列芯片增强了大量的内嵌专用乘法器和专用块RAM资源,逻辑容量方面有较大的提升,拥有较强的复杂数字信号处理和的能力。

2.3千兆网接口电路

千兆网接口电路是实现FPGA与外部设备的高速数据通信,一个AD7606的8个通道同时以200kHz的采样率工作时产生的数据量为25.6Mb/s,同时并联控制两个或者三个采集模块时,系统扩展到 16通道、32通道甚至更多时,其数据量也翻倍增长,千兆网口有更高的传输带宽,有更大的扩展空间。

本系统采用的千兆网物理层协议芯片是 88E1111,用于实现以太网协议中物理层功能,并为 MAC 层提供标准接口。88E1111 支持 10Mbps、100Mbps、1000Mbps 三种传输速度模式。

本系统采用的是GMII接口与FPGA连接,同时为了隔离PHY协议芯片与RJ45 接口间的干扰并增加驱动能力,在88E1111与RJ45 接口之间增加了网络变压器。

3系统数字逻辑设计

本系统数字逻辑设计与实现是利用 FPGA 开发环境和Verilog HDL编程语言进行开发的,系统数字逻辑设计是整个采集系统的核心控制部分,根据FPGA的数字逻辑设计思想,将系统分为不同的模块。采用自顶向下的设计方法,把系统划分为基本单元进行模块化实现,整个系统划分为以下几个主要功能模块:AD转换控制模块、FIFO缓存模块、千兆网传输控制模块。

3.1 AD采样控制数字逻辑设计

AD采样控制模块采用的是Verilog HDL 编程,主要实现多通道AD同步控制和AD采样控制,AD采样控制数字逻辑具体实现采用的状态机控制。

3.2数据缓存模块数字逻辑设计

数据缓冲模块主要是用于调节AD采集与网络传输之间,不同位宽、速率的数据流之间的匹配。采集数据同一时刻的一次AD转换结果数据为16×8=128位,将这128位数据作为一个数据包。在千兆网传输过程中,千兆网的传输速度远高于AD数据输出率,数据缓存模块便是用于AD模块和千兆网模块之间的数据缓冲、位宽和时钟匹配。

3.3千兆网传输模块数字逻辑设计

本系统采用千兆网接口实现采集数据的数据包的发送,能够保证在高采样率、多通道数的情况下的数据传输。FPGA与接收设备之间,采用UDP协议进行传输。

千兆网通信的实现是将时钟倍频模块、CRC校验算法模块统筹起来按照MAC 帧的格式将数据进行封装。通过物理上的GMII接口将数据发送到PH芯片,由PHY芯片将数据转发到上位机,实现FPGA与上位机之间的高速通信。

4测试结果及结论

测试实验采用信号发生器发出单频108Hz正弦波信号作为1通道数据输入测试源,采集系统将采集结果通过网口上传,上位机将接收到的数据存储为数据包,使用MATLAB软件分析数据包。如图1所示,通过MATLAB分析显示的采集到的结果

与信号发生器产生的信号一致,傅里叶变换分析出的数据结果与输入信号的频率均为108Hz。

5结论

本文设计的水声信号多通道同步采集系统,实现了多通道信号的采集传输功能,经过有效的系统测试和数据分析,证明了该系统稳定有效。本系统设计灵活,采用模块化设计,可根据不同的应用场景进行通道扩展,进一步增强了系统在其他领域应用的灵活性。

参考文献

[1]  王之程,陈宗岐,于沨等.舰船噪声测量与分析[M].北京;国防工业出版社,2004;188-198

[2]  徐文波,田耕. Xilinx FPGA开发实用教程[M]. 北京:清华大学出社,2012:14-15.

[3]  鞏峰. 基于FPGA 的千兆以太网控制器的设计与实现[D].西安电子科技大学,2014.

[4]  Ullah S,Mohaisen M,Alnuem M A. A review of IEEE 802.15.6 MAC,PHY,and security specifications [J]. International Journal of Distributed Sensor Networks,2013,2013.