Home Journals Progress in Geophysics
Progress in Geophysics

Abbreviation (ISO4): Prog Geophy      Editor in chief:

About  /  Aim & scope  /  Editorial board  /  Indexed  /  Contact  / 

Design of multi-channel electromagnetic signal acquisition platform based on FPGA

  • Hui CHENG ,
  • DongLin WEI , * ,
  • GuoHong FU
Expand
  • Engineering Research Center of Mineral Resources Development Technology and Equipment for Deep Sea and Deep Earth, Ministry of Education, Hunan University of Science and Technology, Xiangtan 411201, China

Received date: 2023-10-18

  Online published: 2024-12-19

Copyright

Copyright ©2024 Progress in Geophysics. All rights reserved.

Abstract

A 3-channel electromagnetic signal acquisition platform based on FPGA is designed by utilizing the rich on-chip resources and powerful parallel processing capability of FPGA. At the same time, the three signals can be pre-amplified, signal conditioning, analog-to-digital conversion and stored in the memory, and then processed by the upper computer. At room temperature, two sets of standard sinusoidal signals with frequency of 2n Hz(-2≤n≤13), and amplitude of 1 V are collected, after correction, the relative error between the actual measurement amplitude and the theoretical value of the acquisition platform is less than 0.1%, and the root mean square error of the channel is less than 0.024%. This platform has high acquisition accuracy and great potential for function expansion.

Cite this article

Hui CHENG , DongLin WEI , GuoHong FU . Design of multi-channel electromagnetic signal acquisition platform based on FPGA[J]. Progress in Geophysics, 2024 , 39(5) : 2034 -2045 . DOI: 10.6038/pg2024HH0343

0 引言

FPGA芯片由可配置逻辑模块、输入输出模块和内部连线等组成,能够根据不同任务需求实现多级流水线结构,具有强大的并行处理能力.FPGA的应用对提高地球物理仪器的数据处理实时性、拓展性、缩小仪器体积具有重要意义(柳建新等, 2017; 高金定等, 2019; 郑采君等, 2019).
近年来,FPGA芯片逐步应用到我国地球物理仪器中,并且成效显著(雷小青等, 2010; 李从庆等, 2011).中南大学研制了以FPGA+ARM为控制核心的新一代广域电磁接收机(蒋奇云, 2010).吉林大学研制以PCM-3362工控机为控制核心的多功能电磁探测接收机中,采用FPGA控制部分时序电路(王腾龙, 2014).中国地质大学研制了以FPGA+ARM为控制核心的EMR6-A多功能电磁接收机,采用FPGA负责参数配置和数据传输(史心语, 2019).在上述地球物理仪器中,FPGA主要用于控制多通道的AD数据采集与处理,部分外设的控制需要其他主控芯片辅助完成,应充分发挥FPGA的并行处理能力,若采用了多种芯片实现整体控制,在一定程度上会限制仪器的整体运行速度,增加控制电路的硬件规模,影响系统的可靠性.
本文设计了一种基于FPGA的3通道电磁信号采集平台,充分发挥FPGA的并行处理能力,同时对多路信号进行前置放大、信号调理、模数转换后存储在存储器中,由上位机进行数据处理可得到2-2~213 Hz频带内的所有时频信息.本平台仅用一片FPGA芯片完成整体控制,简化了控制电路,减少了元器件数量,提高了整体的可靠性,功能扩展潜力巨大.

1 采集系统的整体构成

处理器的运算速度在很大程度上决定了系统的采集速度,相比于单片机+ADC的架构,采用FPGA+ADC架构,可以充分发挥FPGA并行处理能力,实时处理数字信号,提高了采样率,同时将复杂的控制电路集成在FPGA芯片内部,减小了外围电路的规模.
系统的硬件部分主要由高通滤波、工频陷波/直通电路、低通滤波、程控放大、模数转换、FPGA、SD卡、显示部分等电路单元组成.信号经过高通滤波之后隔离掉直流成分,之后进入工频陷波或直通可选电路,工频陷波电路可以有效压制工频干扰,提高信噪比(程辉等, 2021),直通选项适用于工频干扰弱的地区以提高信号采集质量,低通滤波与高通滤波组合成带通滤波以压制带外干扰(付国红等, 2013),进一步提高信噪比,设计程控放大电路将信号强度调节到最佳范围,采用24位并行同步模数转换器AD4134对3个通道的信号进行高精度模数转换,转换之后的数字信号经过FPGA运算处理之后,存储在存储器中.系统设计框如图 1所示.
图1 采集平台原理框图

Figure 1 Acquisition platform principle block diagram

2 采集模块设计

2.1 模数转换器的选取

模数转换器的选型主要跟采集平台的采样率,采样位数以及通道数等有关.模数转换器选用ADI公司生产的24位4通道同步采样模数转换器,它具有4个并行独立转换通道,每个通道均有CTSD调制器和数字抽取与滤波路径,4个信号测量之间实现了严密的相位匹配;每个ADC通道的带宽范围为DC至391.5 kHz,具有出色的直流和交流性能;在SPI控制模式下,AD4134具有片内诊断功能,可监视和报告内部功能模块的错误,提高了系统的可靠性(图 2).
图2 模数转换器原理图

Figure 2 Analog-to-digital converter schematic diagram

2.2 基于FPGA的数据采集模块设计

FPGA采用Altera公司推出的EP4CE10E22C8N芯片,它逻辑资源丰富、功耗低,可以满足采集平台的需求.FPGA主要负责AD4134的配置、数据的接收与驱动时钟的生成、存储器的驱动、整体的状态监控、关键信号的跨时钟域处理以及按键消抖,其主要功能框图如图 3所示,图 4为采集平台的工作流程图.
图3 FPGA主要功能框图

Figure 3 The main functional block diagram of FPGA

图4 采集平台工作流程图

Figure 4 Acquisition platform work flow chart

2.2.1 AD4134配置模块

AD4134配置模块(ad4134_configuration模块)主要有两个作用:(1)配置AD4134片上主要寄存器;(2)控制AD4134进行失调校准.其中register_configuration模块在50 MHz时钟sys_clk的控制下负责下达读写指令;spi_control模块在1 MHz时钟div_clk的控制下执行读写操作.register_configuration模块下达读写指令时,首先输出端口start发出脉冲信号,经跨时钟处理被spi_control模块的输入端口start_sync接收后,spi_control模块读取输入端口cmd的数据(register_configuration模块的输出端口cmd_send在模块外部与spi_control模块的输入端口cmd直接相连),然后通过输入端口SDI,输出端口CS、SCLK、SDO对AD4134进行读写操作.spi_control模块读写操作执行完成时,首先输出端口done发出脉冲信号,经跨时钟处理被register_configuration模块的输入端口done_sync接收后,register_configuration模块开始下达下一条指令,直到全部指令执行完成.AD4134配置模块的RTL视图如图 5所示,执行AD4134读写指令的流程图如图 6所示.
图5 AD4134配置模块的RTL视图

Figure 5 RTL view of the AD4134 configuration module

图6 AD4134配置模块执行读写指令流程图

Figure 6 AD4134 flowchart of the configuration module executing read and write commands

系统上电后,AD4134首先配置DATA_PACKET_CONFIG寄存器中MUX[3:0]为“0100”,即设置DCLK输出频率为3 MHz;再配置ODR_VAL_INT寄存器中的MUX[8:0]为“111110100”,即设置采样频率为48 ksps;再配置DIGITAL_INTERFACE_CONFIG寄存器中MUX[1:0]为“10”,即设置4个通道并行输出模式,每个ADC通道有1个专用数据输出引脚;再配置POWER_DOWN_CONTROL寄存器中MUX[6:3]为“1000”,即开启模拟输入通道0,1,2,关闭模拟输入通道3;再配置DEVICE_CONFIG寄存器中MUX[0]为“0”,即设置低功耗模式;再配置CHAN_DIG_FILTER_SEL寄存器中的MUX[7:0]为“00000000”,即设置4个通道都选用宽带滤波器,宽带滤波器的带宽默认为0.433 Hz×采样频率.
AD4134片上的offset误差寄存器支持系统校准,当AD4134片上主要寄存器配置完成后,输出端口led4控制的led灯闪烁,提示工作人员进行下一步操作.在输入端短路的情况下,按下按键2,register_configuration模块的输入端口key_u2检测到低电平后,系统将配置CH0_OFFSET_MSB、CH1_OFFSET_MSB、CH2_OFFSET_MSB寄存器的MUX[7]为“1”,即使能通道0、1、2失调校准,然后开始微调,直到失调误差降到可接受范围.

2.2.2 数据接收与时钟生成模块

AD4134数据接口时序如图 7所示,数据接收与时钟生成模块(data_rept_and_clock_gen模块)的RTL视图如图 8所示,其中adc_disposal模块负责将ADC输出的多路串行数据整理成多路并行数据,再输出给存储器驱动模块.pll_clk_0622模块负责生成两个相位完全相反的时钟.
图7 AD4134数据接口时序图

Figure 7 Data interface timing diagram of AD4134

图8 数据接收与时钟生成模块的RTL视图

Figure 8 RTL view of data receiving and clock generation module

adc_disposal模块时刻检测输入端口的电平状态,当ODR的下降沿到来时开启1帧数据的接收,同时内部计数器dclk_cnt开始计算DCLK的下降沿个数,DCLK端口每来1个下降沿,计数器dclk_cnt加1,同时读取输入端口DOUT的数据,并将DOUT[0]、DOUT[1]、DOUT[2]的数据分别存入移位寄存器data0、data1、data2.接收完24位数据之后,计数器dclk_cnt清0,同时输出端口odr_fpga输出脉冲信号,表示1帧数据接收完毕.
pll_clk_0622模块内部有锁相环,能生成两个相位相反的50 MHz时钟clk_ref和clk_ref_180deg,为后续存储器驱动模块提供驱动时钟.

2.2.3 存储器驱动模块

在采样率固定的情况下,adc_disposal模块输出数据的速度是恒定的,而SD卡的读写方式采用块读写,每一个块单元为512 Byte,在连续块写模式下,块与块之间的切换速度不一样,导致存储器的存储速度很难与adc_disposal模块输出数据速度匹配,如果将adc_disposal模块输出的数据直接存入存储器,容易造成数据丢失.存储器驱动模块(memory_driver模块)能实现数据的缓冲与存储.每当memory_driver模块检测到输入端口odr_fpga有脉冲信号到来时,读取输入端口data0、data1、data2上的数据,并存入内部fifo模块,同时特定计数器计算模块内存放的数据个数,一旦计数值超过设定阈值1时,memory_driver模块按照先进先出的顺序将内部fifo模块中的数据读取出来,通过输入端口sd_miso和输出端口sd_clk、sd_cs、sd_mosi将数据写入SD卡.
在实践过程中,发现SD卡和SD卡槽在环境震动情况下会偶发接触异常,这可能导致数据的存储过程被动中断,fifo模块将瞬间堆积大量数据,甚至溢出.这种情况如不能及时被发现,将影响采集数据的质量与效率.因此,memory_driver模块中设置了阈值2,当检测到特定计数器的计数值超过阈值2时,则输出端口error输出高电平,提示存储模块发生异常,即可异步做相应的异常处理.存储器驱动模块的RTL视图如图 9所示.
图9 存储器驱动模块的RTL视图

Figure 9 RTL view of memory driver module

2.2.4 状态监控模块

在数据采集过程中,输入信号可能具有较大动态变化范围,信号强时,需要降低程控放大器的增益,不至于过载,信号弱时,要求增大增益,以提高信噪比.采集平台的通道电路中设计了程控放大模块,其增益大小受增益控制电平控制,状态监控模块(condition_monitoring模块)通过控制程控放大器的增益控制引脚的电平高低来改变通道增益,确保信号采集质量,状态监控模块还能实时监测各通道的运行状态,一旦出现异常,立即报警.其RTL视图如图 10所示,其中led模块负责监测系统的运行状态,pga_gain_control模块负责调节通道增益,通道增益可在0.125~128倍之间自动调节.
图10 状态监控模块的RTL视图

Fig 10 RTL view of condition monitoring module

pga_gain_control模块的输入端口data0、data1、data2分别监测通道0、通道1、通道2的信号强度,通过控制输出端口pga的电平大小,可以实现0.125、0.25、0.5、1、2、4、8、16、32、64、128十一个不同的增益档位,其中pga[14:10]控制通道2的程控放大器增益,pga[9:5]控制通道1的程控放大器增益,pga[4:0]控制通道0的程控放大器增益.
程控放大器自带错误标志引脚,在正常操作期间,该引脚输出低电平,当程控放大器在输入过电压,增益网络过载等情况下,该引脚输出高电平.led模块的输入端口ef[2]、ef[1]、ef[0]分别连接至3个通道的程控放大器的错误标志引脚;同时输入端口error连接到memory_driver模块的输出端口error.当输入端口ef[2]、ef[1]、ef[0]接收到高电平信号时,输出端口led0控制外部0号报警灯报警;输入端口error接收到高电平信号时,输出端口led1控制外部1号报警灯报警.

2.2.5 跨时钟域处理模块

脉冲信号在不同时钟域之间直接传输时,极易出现相位误差、干扰和衰减等问题.当脉冲信号从快时钟域传到慢时钟域时,接收方可能识别不到.当脉冲信号从慢时钟域传到快时钟域时,接收方容易误操作.跨时钟域处理模块(cross_clock_processing模块)能将多个时钟域下的脉冲信号同步到另一个时钟域,RTL视图如图 11所示.cross_clock_processing模块内含2个子模块pulse_sync_pro,每个pulse_sync_pro模块能实现1个脉冲信号的跨时钟域传输.以pulse_sync_pro: u0_pulse模块为例,仿真结果如图 12所示.其中pulse_a是时钟域clk_a下的脉冲信号,pulse_b是时钟域clk_b下的脉冲信号.在时钟域clk_a下,脉冲信号(pulse_a)转换成电平信号(pulse_inv),转换后的电平信号(pulse_inv)在时钟域clk_b下打2拍生成电平信号pulse_inv_d1,电平信号pulse_inv_d1在时钟域clk_b下再打1拍生成电平信号pulse_inv_d2,将pulse_inv_d1和pulse_inv_d2进行异或处理得到时钟域clk_b下的脉冲信号pulse_b.经验证,该模块实际工作效果与仿真结果一致.
图11 跨时钟处理模块的RTL视图

Fig 11 RTL view of cross clock processing module

图12 pulse_sync_pro: u2_pulse2模块仿真图

Fig 12 pulse_sync_pro: u2_pulse2 module simulation diagram

3 通道频率响应特征

3.1 频带内的时间波形与频谱特征

模数转换器在正常工作时,其输出的采样数据包含着量化噪声、通道电路噪声和外部环境噪声,上述三种噪声组成了采集系统的总噪声,总噪声的大小关系到采集系统的灵敏度.经过特殊的布局布线与滤波设计后,极大地压制了采集系统的总噪声,能够有效地采集微弱信号,标定前的实验数据如图 13图 14所示.图 13为输入端短路测得的系统本底噪声,图 14为采集频率为1 Hz,幅值为1 mV的标准正弦波所得时频信息.
图13 输入端短路实验的时间波形图(a)及其频谱图(b)

Fig 13 Time waveform (a) and spectrum diagram (b) of input short circuit experiment

图14 实验板采集到的标准信号的时间波形图(a)及其频谱图(b)

Fig 14 Time waveform diagram (a) and spectrum diagram (b) of the standard signal collected by the test board

3.2 标定实验

在实际电路中,电子元器件与线路之间存在着分布参数,不可避免地导致实际测量值与理论值偏差.由于元器件的参数有一定的离散性,各通道之间还存在一定的增益误差,因此有必要对采集数据进行标定.
实验样机采集第1组由信号发生器发出的标准正弦波,共16个信号,频率为2n Hz(-2≤n≤13,n为整数),幅值为1 V.采集到的数据传到上位机中进行处理,并将理论值除以每通道的测量值得到相应的标定系数,实验结果如表 1所示.
表1 标定实验数据

Table 1 Calibration experimental data

测量频率2n/Hz 理论值/V 通道0 通道1 通道2
测量值/V 标定系数 测量值/V 标定系数 测量值/V 标定系数
-2 1 1.020065 0.98033 1.019942 0.980448 1.02007 0.980324
-1 1 1.018271 0.982057 1.018207 0.982118 1.018333 0.981997
0 1 1.017161 0.983129 1.017071 0.983216 1.017196 0.983095
1 1 1.01656 0.98371 1.016458 0.983808 1.016582 0.983688
2 1 1.016293 0.983968 1.016196 0.984062 1.01632 0.983942
3 1 1.016046 0.984207 1.015952 0.984299 1.016075 0.98418
4 1 1.015583 0.984656 1.015488 0.984748 1.01561 0.984629
5 1 1.015415 0.984819 1.01532 0.984911 1.015442 0.984793
6 1 1.014926 0.985293 1.014831 0.985385 1.014953 0.985267
7 1 1.014411 0.985794 1.014318 0.985884 1.014438 0.985767
8 1 1.013959 0.986233 1.01387 0.98632 1.013989 0.986204
9 1 1.013677 0.986507 1.013594 0.986588 1.013712 0.986474
10 1 1.013492 0.986687 1.013419 0.986759 1.013534 0.986647
11 1 1.013037 0.987131 1.012985 0.987181 1.01309 0.987079
12 1 1.009493 0.990596 1.009509 0.99058 1.009578 0.990513
13 1 0.996261 1.003753 0.996492 1.00352 0.996423 1.00359
为了验证标定系数的准确性,实验样机采集第2组由信号发生器发出的标准正弦波,共16个信号,频率为2n Hz(-2≤n≤13,n为整数),幅值为1 V.将测量值乘以标定系数得到标定结果,将标定结果与理论值作差便得到绝对误差.实验结果如表 2所示.以通道0为例,标定后的效果如图 15所示.
表2 各通道标定结果与理论值的对比

Table 2 Comparison between the calibration results of each channel and the theoretical values

测量频率2n/Hz 理论值/V 通道0 通道1 通道2
标定结果/V 误差/V 标定结果/V 误差/V 标定结果/V 误差/V
-2 1 0.999891 -0.00011 0.999879 -0.00012 0.999878 -0.00012
-1 1 0.999928 -0.000072 0.999919 -0.000081 0.99992 -0.00008
0 1 1.000016 0.000016 1.000018 0.000018 1.000017 0.000017
1 1 0.999993 -0.000007 0.999996 -0.000004 0.999996 -0.000004
2 1 0.999969 -0.000031 0.999969 -0.000031 0.999969 -0.000031
3 1 0.999957 -0.000043 0.999957 -0.000043 0.999957 -0.000043
4 1 1.000015 0.000015 1.000015 0.000015 1.000015 0.000015
5 1 1.000004 0.000004 1.000003 0.000003 1.000003 0.000003
6 1 0.999997 -0.000003 0.999998 -0.000002 0.999998 -0.000002
7 1 0.999999 -0.000001 0.999999 -0.000001 0.999999 -0.000001
8 1 0.999993 -0.000007 0.999991 -0.000009 0.999992 -0.000008
9 1 0.999976 -0.000024 0.999976 -0.000024 0.999975 -0.000025
10 1 1.000088 0.000088 1.000087 0.000087 1.000087 0.000087
11 1 0.999982 -0.000018 0.999983 -0.000017 0.999983 -0.000017
12 1 0.999872 -0.000128 0.999871 -0.000129 0.999871 -0.000129
13 1 1.000238 0.000238 1.000237 0.000237 1.000238 0.000238
图15 标定之后测量值与理论值对比图

Fig 15 Graph comparing the measured value with the theoretical value after calibration

表 2中数据可以看出,经过标定后,在频率为2n Hz的频点上(-2≤n≤13,n为整数),实验板实际测量幅值与理论值相对误差小于0.1%.
为了验证标定实验的可靠性,以上文得到的标定系数为基础,利用数值分析方法得出其他频点的标定系数,然后测量1组由信号发生器发出的标准正弦波,共10个信号,频率分别为10 Hz、100 Hz、2000 Hz、3000 Hz、4000 Hz、5000 Hz、6000 Hz、7000 Hz、8000 Hz,幅值为1 V,将测量值乘以相应标定系数得到标定结果,以通道0为例,相关数据如表 3所示,标定效果如图 16所示.
表3 验证实验数据

Table 3 Verify experimental data

测量频率/Hz 理论值/V 标定结果/V 误差/V
10 1 1.004450 0.004450
100 1 1.005058 0.005058
1000 1 1.003713 0.003713
2000 1 1.002986 0.002986
3000 1 1.002752 0.002752
4000 1 1.002075 0.002075
5000 1 1.001984 0.001984
6000 1 1.001677 0.001677
7000 1 1.000794 0.000794
8000 1 0.999534 -0.00046
图16 标定效果图

Fig 16 The effect drawing after calibration

采集平台在每次工作前都需要进行一次标定,而表 3的实验与表 1所示标定实验在时间上相隔两个月,这在很大程度上影响了标定效果,从表 3中数据可以看出,实际测量幅值与理论值相对误差小于0.6%.
以前后两组实验数据为基础,由均方根误差公式(1),得各通道的均方根误差如表 4所示.公式(1)为:
表4 各通道的均方根误差

Table 4 Root mean square error of each channel

测试通道 通道0 通道1 通道2
均方根误差/% 0.020 0.021 0.024
式中xi为第1组实验采集得到的测量值,xj为第2组实验采集得到的测量值.
实验结果表明,各通道的均方根误差最大不超过0.024%, 各通道的稳定性良好.

4 结论

本文以FPGA+ADC架构设计了一种基于FPGA的多通道电磁信号采集平台,多通道并行采集频带宽度为2-2~213 Hz的电磁信号,并将波形数据实时存储在存储器中,由上位机进行数据处理得到频带范围内任意频点的时频信息,经常温实验可以得出以下结论:
(1) 本采集平台具有微弱信号检测能力,能采集频带宽度为2-2~213 Hz的电磁信号,采集精度高、动态范围大,各通道稳定性好.
(2) 平台能实时采集连续波形数据,从而获取丰富的原始信息,方便后期的多参数数据处理,功能扩展潜力大.
(3) 系统集成IP核可直接用于IC生产与验证,同时支持大批量IC固化,具有良好的应用前景.

感谢审稿专家提出的修改意见和编辑部的大力支持!

Cheng H , Fu S Y , Li D Q . Research on power frequency noise acquisition technology in electromagnetic exploration. Progress in Geophysics, 2021, 36(6 2667 2674.

DOI

Fu G H , Tian B , Cheng H . Optimized design of band-pass filter in underwater metal pipe buried depth finder. Progress in Geophysics, 2013, 28(5): 2753-2758.

DOI

Gao J D , Jiang Q Y , Pei J . Real time implementation of digital signal FFT transform in the receiver of the WFEM. Chinese Journal of Geophysics, 2019, 62(10): 3819-3826.

DOI

Lei X Q , Jiang L D , Pan Z Y . FPGA theory and its application in the exploration instruments. Petroleum Instruments, 2010, 24(4): 80-82

Li C Q , Wang F Y , Xue B . The portable artificial seismic data acquisition system based on ARM and FPGA. Application of Electronic Technique, 2011, 37(1): 38-41

Liu J X , Yan F B , Su Y R . Research status and development trend of the portable near-surface FDEM instrument. Chinese Journal of Geophysics, 2017, 60(11): 4352-4363.

DOI

Zheng C J , Liu X Z , Lin P R . Design and realization of the distributed electromagnetic instrument system. Chinese Journal of Geophysics, 2019, 62(10): 3772-3784.

DOI

, 崧原 , 帝铨 . 电磁勘探中工频噪声采集技术研究. 地球物理学进展, 2021, 36(6): 2667-2674.

DOI

国红 , , . 水下金属管线埋深探测仪带通滤波器的优化设计. 地球物理学进展, 2013, 28(5): 2753-2758.

DOI

金定 , 奇云 , . 广域电磁法接收机数字信号FFT实时实现技术. 地球物理学报, 2019, 62(10): 3819-3826.

DOI

小青 , 立冬 , 中印 . FPGA原理及其在石油勘探仪器中的应用. 石油仪器, 2010, 24(4): 80-82

从庆 , 夫运 , . 基于ARM和FPGA的便携人工地震数据采集系统设计. 电子技术应用, 2011, 37(1): 38-41

建新 , 发宝 , 艳蕊 . 便携式近地表频率域电磁法仪器研究现状与发展趋势. 地球物理学报, 2017, 60(11): 4352-4363.

DOI

采君 , 昕卓 , 品荣 . 分布式电磁法仪器系统设计及实现. 地球物理学报, 2019, 62(10): 3772-3784.

DOI

Outlines

/