基于ZYNQ系列FPGA的光纤矢量水听器解调系统的制作方法

文档序号:15398104发布日期:2018-09-11 16:47阅读:1343来源:国知局

本发明属于光纤矢量水听器应用技术领域,具体涉及一种基于zynq系列fpga的光纤矢量水听器解调系统。



背景技术:

矢量水听器可以同时拾取声场中的声压和振速信息,相对于传统标量声压水听器可以采集更多的信息量,给水声信号处理和声呐技术的发展带来新的活力,在浅海和空间受限领域的低频水声探测中具有很高的实用价值。光纤矢量水听器通过高灵敏度的光纤相干检测技术,将被测信号转换成光信号,并通过光纤传至信号处理系统从而提取信息,具有灵敏度高、便于复用等诸多优异的特性,与其他传感器相比还具有抗电磁干扰、灵敏度高、动态范围大、探测距离远等独特优势,在水声传感技术方面有着巨大的应用潜力。

尽管光纤矢量水听器拥有诸多优点,但由于被测信号是以相位信息形式调制在干涉型光纤传感器输出信号中,并且干涉仪中存在着随机相位衰落现象,必须对光纤干涉仪进行信号调制解调才能实现对稳定的信号检测。以光纤传感常用的相位载波(pgc)调制方法为例,光纤水听器必须经过pgc解调算法才可以恢复出被测声信号,早期光纤水听器的pgc解调算法在上位机pc端完成,随着实时信号处理硬件发展,基于fpga或dsp的数字信号处理是目前常用的解调手段。光纤传感与压电传感相比,光纤水听器使用更高频率的光信号,接收端还要经过光电信号转换和高速模拟数字变换(adc)采样才可以进行数字信号处理与信号解调。现有的基于pgc调制解调的光纤水听器系统,由于光源调制和光干涉环节的光干涉强度和调制深度等物理参数具有一定波动性,系统工作前需要做参数估计和校准。现有的矢量水听器系统一般都需要在下水工作前连接上位机做参数估计,无法实现系统自主参数测量和校准。

基于以上原因,光纤矢量水听器与其他传感原理的矢量水听器相比,为了实现实时获取信号,要么需要连接尾缆实时将信号传回后端的上位机处理,或必须在水听器传感端搭载复杂的信号采集电路与实时信号处理电路。这导致光纤矢量水听器的干端机一直存在结构复杂、体积庞大的劣势,极大的限制了光纤矢量水听器在水下系统的应用,特别是在水下uuv等小型载体上的应用。

综上所述,研制小型化、自主工作的光纤矢量水听器解调系统具有非常现实和紧迫的意义。针对越来越明确的光纤水听器水下应用需求,迫切需要发展一种同时具备光电信号采集、光电信号解调、数据保存和传输以及自主工作能力的光纤矢量水听器小型化解调系统。



技术实现要素:

为了解决现有技术中存在的问题,满足光纤矢量水听器小型化和水下自主工作的需求,本发明提出一种基于zynq系列fpga的光纤矢量水听器解调系统,在一片fpga内完成信号采集、pgc解调、参数估计和校准、数据存储和网络发送。

本发明解决技术问题采用的技术方案为:

一种基于zynq系列fpga的光纤矢量水听器解调系统,包括zynqfpga以及连接在zynqfpga外围的光纤矢量水听器信号采集模块、usb存储模块、网络接口模块、ddr3同步动态随机存储(sdram)内存、扩展接口、flash;

所述zynqfpga集成了arm处理器的处理系统processingsystem(ps)部分和xilinx的可编程逻辑programmablelogic(pl)部分,所述pl部分与adc采样芯片相连接,所述pl部分负责将光纤矢量水听器信号采集模块接收转化的电信号数据进行pgc解调,pgc解调包括pgc锁相、pgc参数修正、低通滤波、抽取、反正切模块和带通滤波模块,所述ps部分运行linux操作系统,所述ps部分的外部内存接口连接有ddr3sdram内存,所述ddr3sdram内存作为ps部分运行linux的系统内存;

所述光纤矢量水听器信号采集模块包括光电探测单元和高速模拟数字变换(adc)采样芯片,光电探测单元负责接收光纤矢量水听器的四路传感光纤信号并将接收的光信号传递到adc采样芯片上,adc采样芯片将探测到的光信号转化为电信号并完成电信号的数字化采样;

所述usb存储模块包括usb物理层(phy)芯片和usb电子盘,所述usbphy芯片连接在zynqfpgaps部分的usb主(host)接口上,作为linux系统的外部存储单元,所述usbphy芯片负责将zynqfpgaps部分的ulpi接口转换为usb2.0host接口,所述usb电子盘为工业级大容量usb存储盘,所述usb电子盘连接在usbphy芯片的usb2.0host接口上,扩展为zynqfpgaps部分的外部存储器,并在linux操作系统中识别为数据硬盘,所述usb电子盘负责存储pgc解调结果和其他数据文件;

所述网络接口模块包括网口物理层(phy)芯片和光纤千兆网口,网络接口模块采用支持1000base-x标准的光纤千兆网口,网络接口模块采用单模光纤传输,ftp客户端从usb存储模块中调取存储的pgc解调结果;

所述扩展接口包括rs-232接口、串行外设(serialperipheralinterface,spi)接口和集成电路总线(inter-integratedcircuit,iic)接口,iic接口负责接收矢量水听器中的姿态传感器信息或其他辅助信息,rs-232接口和spi接口用于扩展其他外接设备的功能;

所述flash用于存储zynqfpgaps部分的启动文件和pl部分的加载文件,zynqfpga上电后从flash中读取启动文件,ps部分启动linux系统并加载pl部分的可编程逻辑,完成整个zynqfpga功能的初始化;

所述pl部分的pgc解调结果通过高级扩展接口协议流(advancedextensibleinterface,axi)接口和axi直接内存访问(directmemoryaccess,dma)ip核控制器传输至ps部分的系统内存中,linux操作系统中运行pgc管理软件,负责axi-dmaip核控制器的控制,对系统内存中的pgc解调结果进行数据打包整理,并将其写入usb存储模块;

在所述ps部分的linux系统中,运行文件传输协议(ftp)服务器,用户在需要读取光纤矢量水听器已存入usb存储模块的解调结果时,通过光纤连接网络接口模块后,由ftp服务器访问指定ip地址,可以获取usb存储模块中的pgc解调结果,ftp服务器针对不同的用户设置不同的访问密码和访问权限。

进一步的,所述zynqfpga选用xilinx公司的zynq-7000、zynq-7010和zynq-7020中的一款,该系列fpga的ps部分配备双核armcortex-a9处理器,pl部分集成了基于28nmartix-7的可编程逻辑。

进一步的,所述光电探测单元用于探测光纤矢量水听器传感通道返回的光信号,所述光电探测器采用无锡法尔胜光电科技有限公司的fd2121型半导体光电模块,模块内部集成光电二极管探测器芯片和低噪声gaas-fet输入级的跨阻放大电路。

进一步的,所述adc芯片选用adi公司的四通道16位ad9653,ad9653输出的数字信号以高速低电压差分信号(low-voltagedifferentialsignaling,lvds)标准接口连接至zynqfpga。

进一步的,所述网口phy芯片选用marvell公司的88e1512千兆以太网phy芯片,88e1512千兆以太网phy芯片通过rgmii连接至zynqfpgaps部分的rgmii接口,将rgmii接口转换为支持光纤以太网1000base-x协议接口,即1000mbps速率的一对发送差分信号和一对接收差分信号;

进一步的,所述网络接口模块还包括光收发单元,光收发单元连接了两路差分信号,所述光收发单元选用南京全信传输科技公司生产的qxc310m06g单模双纤双向lc插拔微型光收发单元,模块外形使用全金属结构,采用10排针电接口,内置单路1310nm波段光发射组件和单路1310nm波段光接收组件,可插拔标准lc单模光纤连接器接口。

进一步的,所述pgc解调模块的硬件工作流程如下:

步骤一,adc数据输入模块负责从zynqfpga的io管脚接收adc输出的采样结果,即原始数据;

步骤二,抽取adc数据输入模块接收的原始数据,抽取结果同时输出给两路乘法器;

步骤三,调制一倍频波表ram和调制二倍频波表ram分别存储pgc调制频率的一倍频和二倍频对应的余弦信号波形数据,即cos(ω0t)和cos(2ω0t),两个波表ram的内容由ps部分通过axi总线控制波表fifo写入或更新;

步骤四,根据抽取的原始数据输出的时钟节拍,两个波表ram同步输出波表数据至乘法器,与抽取的原始数据进行相乘;

步骤五,两路乘法器的输出分别进入有限长单位冲激响应(fir)低通滤波器,完成低通滤波后再进行一级抽取,两路抽取后的数据进入反正切模块;

步骤六,反正切模块通过zynqfpga内部的坐标旋转数字计算(coordinaterotationdigitalcomputer,cordic)ip核实现反正切运算,反正切运算结果输出至有限长单位冲激响应(iir)带通滤波器,滤除低频和高频信号;

步骤七,再经过一级抽取得到pgc的解调结果,解调结果通过axi-dmaip核写入ddr3sdram内存,axi-dmaip核连接在ps部分的axi总线上,ps部分通过驱动程序实现对axi-dmaip核的控制,完成pgc结果从pl部分到ddr3sdram内存的搬移;

步骤八,pgc结果进入ddr3sdram内存后,ps部分的linux系统可以通过访问内存的方式进行读写。

进一步的,所述波表fifo是通过zynqfpga内部的axi-fifoip核实现的波表数据缓存,axi-fifo的一端连接在ps的axi总线上,另一端连接调制一倍频波表ram和调制二倍频波表ram,当ps部分的pgc管理软件需要写入或更新波表内容时,将数据通过axi总线写入波表fifo,再由波表fifo写入调制一倍频波表ram和调制二倍频波表ram。

进一步的,所述波表fifo负责存储固定长度的adc原始数据,fifo输入连接adc输入模块,输出连接axi-dmaip核,ps软件定时通过axi-dma读取固定长度的adc原始数据,用于软件参数估计和校正。

进一步的,使能控制模块连接在ps部分的axi总线上,使能控制模块主要负责使能和关闭整个pl部分所有pgc功能相关模块,使能控制模块输出的使能信号连接至各个子模块的时钟使能输入,使ps部分的处理器可以通过axi总线控制pl部分各个模块的使能与关闭。

进一步的,所述pgc管理软件包括主线程和参数校正子线程,主线程主要负责pgc数据的dma读取和数据存盘,参数校正子线程主要负责实时估计pgc调制深度等参数,根据参数估计结果对pgc波表进行校正;

系统上电linux系统启动后,pgc管理软件开始自动运行;

首先初始化软件参数,启动子线程,将初始化波表写入pl部分的波表fifo,最终由pl部分将波表数据写入调制一倍频波表ram和调制二倍频波表ram,挂载usb电子盘,将usb电子盘挂载为linux系统中的数据存储盘;

然后使能pl部分的pgc控制模块,启动adc采集和pgc解调功能,在usb电子盘中创建新的数据文件,用来保存pgc解调结果,随后启动axi-dma控制器,dma控制器自动完成pgc解调数据从pl部分到ddr3sdram内存的传输,传输完成后向linux发出中断信号或更新完成标志位;

软件等待dma完成后,将dma得到的pgc结果数据写入usb电子盘内的结果文件,为防止长时间保存单个文件导致文件过大,设定文件大小上限,每次保存后检查文件大小是否达到上限,达到上限则创建新文件开始保存,否则直接启动下次dma传输,如此循环往复;

软件定时读取adc测量结果,通过椭圆拟合等方法对光源调制深度参数进行参数估计,在发现调制深度参数发生较大变化时,需要对pl中的调制一倍频波表ram和调制二倍频波表ram进行更新,更新波表时,软件首先关闭pgc控制模块使能,计算新的波表数据,然后将新波表数据写入波表fifo,由pl部分完成波表更新后,再重新使能pgc控制模块,子线程在系统工作过程中,一直在后台定时运行,可以实时监测pgc调制深度,对系统进行实时参数校正,提高解调结果的准确性。

ftp服务作为linux系统的自启动服务开机后始终在后台运行,用户需要读取电子盘保存中的数据时,不需要拆卸电子盘,只需要将网线连接至网口,按照指定的ip地址访问ftp服务即可查看数据文件,针对ftp服务需要进行以下设置:将ftp根目录设置为usb电子盘,设置管理员和一般用户两种ftp用户及对应的访问密码,为管理员分配包括读写和删除文件的完整权限,为一般用户分配只读权限。

与现有技术相比,本发明具有以下优点:

1.一种基于zynq系列fpga的光纤矢量水听器解调系统,用于光纤矢量水听器的pgc解调,针对光纤矢量水听器水下自主工作的应用场景做了小型化、自主化设计优化,采用单片zynqfpga作为核心芯片,搭载少量外围电路实现矢量水听器的光信号探测采样与pgc解调,集成了usb电子盘实时解调结果实时保存,提供丰富的可扩展接口,整套系统硬件尺寸小,功耗低,功能完善,可以直接集成到光纤矢量水听器内部,使其具备长时间水下自主工作的能力;

2.本发明在zynqfpga的可编程逻辑部分内实现实时全数字化pgc解调,同时在zynqfpga内部集成的arm处理器上运行实时linux操作系统,在linux中通过pgc管理软件实现pgc解调结果的实时保存和网络发送,以及pgc调制深度等参数自主测量和校准;

3.本发明搭载了千兆光纤网口,在linux系统实现ftp服务器,允许用户通过光纤网口和ftp协议远程在线读取解调结果,ftp服务设置用户密码和用户权限,便于数据管理,提高了数据安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的系统示意图。

图2为本发明pl部分所述pgc解调模块功能框图。

图3为本发明ps部分pgc管理软件功能流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

如附图所示,一种基于zynq系列fpga的光纤矢量水听器解调系统,包括一片zynqfpga、光纤矢量水听器信号采集模块、usb存储模块、网络接口模块、ddr3sdram、flash和扩展接口,所述zynqfpga集成了arm处理器的处理系统processingsystem(ps)部分和xilinx的可编程逻辑programmablelogic(pl)部分。

所述zynqfpga选用xilinx公司的zynq-7000、zynq-7010、zynq-7020fpga中的一款,zynqfpga的ps部分配备双核armcortex-a9处理器,pl部分集成了基于28nmartix-7的可编程逻辑,可实现优异的性能功耗比和最大的设计灵活性,支持ddr3和ddr3l外部内存,ps部分外设支持usb2.0协议和千兆以太网协议,其中usb2.0为标准usb2.0低引脚数接口(ulpi),千兆以太网物理层为精简吉比特介质独立接口(reducedgigabitmediaindependentinterface,rgmii)。

所述ddr3sdram连接至ps的外部内存接口,作为linux系统运行的外部内存。

所述光纤矢量水听器信号采集模块包括四路光电探测器和一片四通道adc,四路光电信号探测器用于探测光纤矢量水听器四路传感通道返回的光信号,光电信号探测器采用无锡法尔胜光电科技有限公司的fd2121型半导体光电模块,模块内部集成光电二极管探测器芯片和低噪声gaas-fet输入级的跨阻放大电路,将光信号转换为模拟差分电信号,输出的差分信号连接至adc的输入端口。adc芯片选用adi公司的四通道16位ad9653,将四路光电探测器输出的电信号进行同步数字化采样,ad9653输出的数字信号以高速低电压差分信号(low-voltagedifferentialsignaling,lvds)标准接口连接至zynqfpga。

所述usb存储部分包括usbphy芯片和usb电子盘,usbphy芯片负责将zynqfpgaps部分的ulpi接口转换为usb2.0主(host)接口,所述usb电子盘为工业级大容量usb存储盘,usb电子盘连接至usbphy芯片的usb2.0host接口,扩展为zynqfpgaps部分的外部存储器,并在linux操作系统中识别为数据硬盘。在光纤矢量水听器水下自主工作期间,ps内的pgc管理程序通过linux的硬盘读写接口将pgc解调结果写入电子盘。

所述网络接口模块由网口phy芯片和光收发单元组成。本实施例的网口phy芯片选用marvell公司的88e1512千兆以太网phy芯片。88e1512通过rgmii连接至zynqfpgaps端的rgmii接口,将rgmii接口转换为支持光纤以太网1000base-x协议接口,即1000mbps速率的一对发送差分信号和一对接收差分信号。两路差分信号连接至光收发单元。

所述光收发单元选用南京全信传输科技公司生产的qxc310m06g单模双纤双向lc插拔微型光收发单元,模块外形使用全金属结构,采用10排针电接口,内置单路1310nm波段光发射组件和单路1310nm波段光接收组件,可插拔标准lc单模光纤连接器接口,结构紧凑,便于节省电路尺寸,可集成至光纤矢量水听器内部。1310nm波段单模光纤可以实现大于5公里的远距离网络传输,便于用户远距离连接光纤矢量水听器。

所述扩展接口包含rs-232接口、spi接口和iic接口等。考虑光纤矢量水听器在水下工作时,根据探测场景的特殊需求要灵活搭载姿态传感器、水深、温度或盐度等不同的传感器,各种传感器外设提供的接口和数据协议不尽相同。zynqfpga的ps处理器外设支持uart、spi和iic等常见协议,本发明利用fpga管脚可灵活配置的特点,将这些协议接口的管脚映射到fpga外部io,搭配rs-232等接口的物理层芯片,提供多种可配置的协议接口,支持不同的外设扩展。

关于所述pgc解调模块

所述pgc解调模块在fpga的pl可编程逻辑内由硬件描述语言综合编译实现,负责接收adc输出的lvds数字信号,对四通道adc的采样结果分别进行pgc解调。所述pgc解调模块的功能示意图如图2所示。pgc解调的数据流程为:adc数据输入模块负责从fpga的io管脚接收adc输出的采样结果,即原始数据;抽取模块对原始数据进行抽取降采样,抽取结果同时输出给两路乘法器;调制一倍频波表ram和调制二倍频波表ram分别存储pgc调制频率的一倍频和二倍频对应的余弦信号波形数据,即cos(ω0t)和cos(2ω0t);两个波表ram的内容由ps端通过axi总线控制波表fifo写入或更新。根据抽取数据输出的时钟节拍,两个波表ram同步输出波表数据至乘法器,与抽取后的原始数据进行相乘;两路乘法器的输出分别进入有限长单位冲激响应(fir)低通滤波器,完成低通滤波后再进行一级抽取,两路抽取后的数据进入反正切模块;反正切模块通过fpga内部的坐标旋转数字计算(coordinaterotationdigitalcomputer,cordic)ip核实现反正切运算,反正切运算结果输出至有限长单位冲激响应(iir)带通滤波器,滤除低频和高频信号;随后再经过一级抽取后,得到pgc的解调结果。解调结果通过axi-dmaip核写入ddr3sdram,axi-dmaip核连接在ps端的axi总线上,ps通过驱动程序实现对axi-dmaip核的控制,完成pgc结果从pl内到ddr3sdram的搬移。pgc结果进入ddr3sdram后,ps端linux内运行的软件可以通过访问内存的方式进行读写。后续操作可以在linux内的pgc管脚软件内完成。

所述波表fifo是通过fpga内部的axi-fifoip核实现的波表数据缓存,axi-fifo的一端连接在ps的axi总线上,另一端连接调制一倍频波表ram和调制二倍频波表ram。当ps部分的pgc管理软件需要写入或更新波表内容时,将数据通过axi总线写入波表fifo,再由波表fifo写入调制一倍频波表ram和调制二倍频波表ram。

所述原始数据fifo负责存储固定长度的adc原始数据,fifo输入连接adc输入模块,输出连接axi-dmaip核。ps软件定时通过axi-dma读取固定长度的adc原始数据,用于软件参数估计和校正。

所述使能控制模块主要负责使能和关闭整个pl部分所有pgc功能相关模块,连接在ps部分的axi总线上,输出的使能信号连接至各个子模块的时钟使能输入,使ps端的处理器可以通过axi总线控制pl部分各个模块的使能与关闭。

关于实时pgc管理软件

pgc管理软件运行在ps内的linux操作系统中,其工作流程如图3所示。

pgc管理软件由主线程和参数校正子线程两部分。其中主线程主要负责pgc数据的dma读取和数据存盘。参数校正子线程主要负责实时估计pgc调制深度等参数,根据参数估计结果对pgc波表进行校正。

系统上电linux系统启动后,软件开始自动运行。首先初始化软件参数,启动子线程。将初始化波表写入pl部分的波表fifo,最终由pl部分将波表数据写入调制一倍频波表ram和调制二倍频波表ram。挂载usb电子盘,将usb电子盘挂载为linux系统中的数据存储盘。然后使能pl部分的pgc控制模块,启动adc采集和pgc解调功能。在usb电子盘中创建新的数据文件,用来保存pgc解调结果,随后启动axi-dma控制器,dma控制器自动完成pgc解调数据从pl部分到ddr3sdram的传输,传输完成后向linux发出中断信号或更新完成标志位。软件等待dma完成后,将dma得到的pgc结果数据写入usb电子盘内的结果文件。为防止长时间保存单个文件导致文件过大,设定文件大小上限,每次保存后检查文件大小是否达到上限,达到上限则创建新文件开始保存,否则直接启动下次dma传输,如此循环往复。

在参数校正子线程中,软件定时读取adc测量结果,通过椭圆拟合等方法对光源调制深度参数进行参数估计,在发现调制深度参数发生较大变化时,需要对pl中的调制一倍频波表ram和调制二倍频波表ram进行更新。更新波表时,软件首先关闭pgc控制模块使能,计算新的波表数据,然后将新波表数据写入波表fifo,由pl端完成波表更新后,再重新使能pgc控制模块。子线程在系统工作过程中,一直在后台定时运行,可以实时监测pgc调制深度,对系统进行实时参数校正,提高解调结果的准确性。

ftp服务作为linux系统的自启动服务开机后始终在后台运行,用户需要读取电子盘保存中的数据时,不需要拆卸电子盘,只需要将网线连接至网口,按照指定的ip地址访问ftp服务即可查看数据文件。针对ftp服务需要进行以下设置:将ftp根目录设置为usb电子盘,设置管理员和一般用户两种ftp用户及对应的访问密码,为管理员分配包括读写和删除文件的完整权限,为一般用户分配只读权限。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1