您的位置:控制工程论坛网论坛 » 嵌入式系统 » 基于FPGA的多路声呐信号采集卡的设计

dingjia

dingjia   |   当前状态:离线

总积分:99  2024年可用积分:0

注册时间: 2008-09-07

最后登录时间: 2010-12-10

空间 发短消息加为好友

基于FPGA的多路声呐信号采集卡的设计

dingjia  发表于 2008/10/18 16:10:56      10170 查看 0 回复  [上一主题]  [下一主题]

手机阅读

1 引言

        声波是目前已知的惟一能在海水中远程传播的波,声呐就是利用声波对水下物体进行探测和定位识别的方法及所用设备的总称。它基本上可分为被动声呐(无源声呐)和主动声呐(有源声呐)两大类。如图l所示,主动声呐由发射机、声阵、接收机(包括信号处理器)、显示控制台组成。它向水中发射声波,通过接收水下物体反射回波发现目标,并测量其参量。通过发射脉冲和回波到达的时间差来估计目标距离。通过测量接收声阵中两子阵问的相位差得到测定目标方位。被动声呐由接收声阵、接收机(信号处理)和显示控制台组成。它通过接收目标的辐射噪声探测目标并测定其参量。一般被动声呐只能测定目标方位,其原理和主动声呐相同。被动测距声呐利用三子阵测量波阵面曲率来测定目标距离。 本采集卡以FPGA为核心处理芯片,从声阵发出的声呐信号经过匹配滤波,消除带外干扰后;再进行自然后送入AD转换器进行模数转换;最后将转换后的数据送人FPGA进行处理。送入FPGA的数据分两路,一路缓存到2片SRAM中,另一路经过自动增益控制(Automatic Gain Control,AGCC)放大器的放大倍数。

2 采集卡系统方案设计

       采集卡系统框图如图2所示,8路声呐信号通过BNC接口输入,经过低通滤波后,送到自动增益放大器以便将信号放大到A/D最佳转换电平,A/D转换输出到FPGA进行数据采集和平均功率计算。采集到的数据送往SRAM存储,本次设计采用2片SRAM进行乒乓存储;计算的平均功率产生脉宽调制(Pulse WidthModulation,PWM)波智能控制AGC放大增益。





          根据此次设计要求,输入的声呐信号为最高频率10 kHz、峰峰值0.5V的低频信号,为了减少带外干扰,选择TLV2252AQD运放设计截止频率为20 kHz的三阶低通滤波器;由于本系统主要应用于声呐接收,对放大器的动态范围要求比较高,所以AGC电路设计芯片选用RF2607;由于是对8路声呐进行采集,所以选择八通道最高采样率为200 kHz的AD7858作为A/D转换芯片;虽然是多路声呐信号,但数据率不高,所以FPGA资源也不需要太大,本次设计选用成本低、性价比高的cyclone系列EPlCl2Q240作为核心配置芯片;SRAM选择IS61LVl2816,其存储容量为128 K×16 bit。

        根据上述方案的选择,本次设计的采集卡主要功能模块为:(1)AGC;(2)AD7858配置;(3)SRAM乒乓存储。下面给出各功能模块的详细设计。

3 采集卡系统功能块设计

(1)AGC电路设计

        本系统采用的AGC方法如图3所示,首先将AD采样下来的数据送入FPGA,然后检测信号的平均电平,并将信号的平均电平与参考电平相减,把差值送入AGC智能控制模块,由AGC智能控制模块来控制最终输出PWM信号的占空比,然后将输出的PwM信号经过一个模拟低通滤波,滤除高频分量,就可产生直流电压来控制RF2607的增益。




        方框图中AGC智能控制实现框图如图4所示,智能选择模块根据统计的信号平均电平与参考电平的差值来改变寄存器的值,如果需要调整寄存器的值,就使2选1选择器输出l,反之,输出0;可以通过信号平均电平与参考电平差值的正负来改变寄存器的值。比如说,若输入信号过大,即信号平均电平大于参考电平,需要调整AGC,那么差值的符号位取反为一1,且2选1选择器输出1,则寄存器的值会减小,从而来调整PWM波的占空比,以达到控制放大器增益倍数的目的。




        PWM信号生成器的结构框图如图5所示,将寄存器值与循环计数器值进行比较,若寄存器值大于计数器值则输出1,反之,则输出0,这样就可以产生占空比可变的:PWM信号。

(2)AD7858配置电路设计

         AD7858具有8个输入通道,最高抽样速率可达200 kHz,采用SPI接口方式输出12 bit串行有效AD转换数据,因此就需要FPGA模拟SPI总线来完成配置。AD7858内部具有1个控制寄存器、1个ADC数据输出寄存器、1个状态寄存器、1个测试寄存器和10个校准寄存器,其中控制寄存器和校准寄存器是重要的配置寄存器,它们直接影响AD7858的转换精度,下面着重阐述这两个寄存器的配置。 16 bit配置数据通过DIN管脚送到AD7858,本次设计选用Mode2模式,配置流程如图6所示。

        需要特别注意的是:AD7858虽然可以通过软件设置自动校准,但这种校准方式准确度不高,所以推荐配置偏差校准寄存器进行校准,具体的校准步骤为:上电后测量AD7858的REF管脚电压值,再根据与2.500V的差值写初始化数给校准寄存器。当AD7858基准电压参考值无偏差即REF管脚输出2.500V电压时,其转换精度为±(0.050×2.500 V)/213≈±O.015 mV。如果测得BEF电压值为2.530V,即有30.000mV的正偏压,则校准寄存器的初始值=30.000.mV/0.015 mV=2 000,转换为二进制序列为0000011111010000,配置使校准偏置寄存器降低000011111010000,即校准偏差寄存器初始值为00100000000000000-000011 11 1010000=0001100000110000。其相应的校准流程如图7所示。





(3)SRAM乒乓存储设计

          乒乓操作是一种用于数据流控制的处理技术。典型的乒乓操作框图如图8所示,数据缓冲模块可以为任何存储模块,在本次设计中使用SRAM。




         乒乓操作的处理流程描述如下:AD转换后的数据流通过输入数据选择单元等时地将数据流分配到2个SRAM中。在第1个缓冲周期,将输入的数据流缓存到SRAM1;在第2个缓冲周期,通过输入数据选择单元的切换,将输入的数据流存放到SRAM2,同时,将SRAM.中第1个周期的数据通过输出数据选择单元的选择,送到运算处理单元进行处理。在第3个缓冲周期,再次切换数据的进入与输出存储模块。如此循环,周而复始。

           本次设计采样了2片SRAM进行乒乓操作,每当写到半满是切换读写操作。读地址产生模块如图9所示。用写地址最高位waddi'(16)来做读写地址切换指针,当waddr。(16)=0时,置wel=1写SRAM.,同时置we2=0并且使能读地址计数器,生成SRAM2读地址raddr2;同理当waddr(16)=1时,置we2=l写SRAM2,同时置wel=0并且使能读地址计数器,生成SRAM。读地址mddrl。

         由于SRAM是单口RAM,只有一套地址总线和数据总线,这就需要选择读写地址传送到SRAM地址总线上,相应的读还是写数据总线也随之切换。如图10所示,当写地址最高位waddr(16)=O时,SRAM.执行操作。写地址总线通过2选1选择器接到SRAM.的地址总线addr。上,同时三态总线1上的输入有效,AD转换后的16位数据流写到SRAM,中,输出为三态。而此时SRAM2执行读操作。读地址raddr2通过2选1选择器接到SRAM2的地址总线addr2上,同时三态总线2上的输出有效,SRAM2中的数据输出到输出总线上,输入位三态。同理当waddr(16)=1时,2个SRAM切换读写操作。





4 FPGA仿真图

      图11~12分别为AD7858主动SPI接口和SRAM乒乓操作的FPGA仿真示意图。




1楼 0 0 回复