吴振谦, 蒋志迪, 俞牡丹
(宁波大学 科学技术学院,浙江 宁波 315212)
海流是海洋中主要的动力参数之一。海流计根据工作原理可分为机械转子式海流计、声学矢量海流计、多普勒声学海流计等[1]。其中,多普勒声学海流计利用水声传输信号的多普勒频移特性测量海流的流速,具有较高的测量精度,受环境噪声影响小、抗干扰性强[2],目前市场海洋领域使用性能较高的海流计为挪威安德拉仪器公司Seaguard RCM系列,价格较为昂贵。自主研发功耗低、性能高的自容式海流计成为国家海洋高新技术项目之一。本文设计了一种自容式声学海流计的数字处理系统,采用“微处理器+现场可编程门阵列(field programmable gate array,FPGA)”的方案,进行完整的系统分析和软硬件结构设计,以解决系统低功耗及实时测量海流的技术问题。
多普勒声学海流计应用多普勒频移原理,通过测量相对运动的收发信号频率差异而推导出流速。向海洋水体发射频率为f0的声波,与海流同速度(v)的浮游生物或物质反射声波,其频率为fr。由多普勒频移原理知反射声波的频移fd为[3]
fd=fr-f0=2·v/c·f0=2v/λ
(1)
式中c为水声声速,λ为发射声信号的波长。
为精确测量海流的速度,可采用如图1中的换能器阵,分别测得4个方向的流速,再结合换能器的倾斜角度,即可获得修正后的三维海流精确值。自容式声学海流计完整的系统构架采用“微处理器+FPGA”的结构:微处理器增加系统控制的灵活性,FPGA提高硬件处理的实时性。其中数字处理系统部分包括微处理器MSP430、电源模块、FPGA、模/数(A/D)采集电路、DDR2、和SD卡。MSP430为主控处理器,用于整个系统的正常运行;电源模块用于数字信号处理板的供电;FPGA完成水声发射的信号产生、回波信号的采集A/D转换控制、流速解算等;A/D采集电路完成水声回波信号的A/D转换、DDR2存储器为FPGA采集数据缓冲区;SD卡用于存储测流结果。
MSP430通过串口接收来自PC的系统参数设置,然后按设定的时间通过输出口P6命令FPGA处理模块进行流速的测量。FPGA接收测速命令,完成流速解算,并将结果传送给MSP430。图1中,MSP430的P6口为控制总线,MSP430向FPGA发送命令的通道;P5口为数据总线,FPGA传送测量结果给MSP430的数据通道。
图1 系统硬件结构
自容式海流计中,微处理器MSP430不仅完成系统的值班任务,而且承担电源管理、系统协调工作等任务,包括电源控制管理、系统参数维护、FPGA测速时序控制、测速结果的保存等。自容式海流计的功耗是系统性能的重要指标,系统中采用MSP430系列低功耗微处理器实现系统的低功耗待机,并通过控制电源的关断使系统待机时其他电路(AD采集、FPGA等)不工作,提升系统低功耗性能。如图2所示,MSP430软件流程如下:
1)初始化:完成端口的初始化,如待机供电等。
2)参数设置:系统通过串口通信完整接收工作参数,并进行相应的设置。
3)休眠:等待设定的启动时间。
4)启动时刻:待机到海流测量的第一时刻,测量相关电路(包括发射电路及接收电路)上电。
5)启动测量:命令FPGA完成相应的工作。
6)等待结果:经FPGA数据处理,并将结果传送给MSP430。
7)FPGA休眠:节省功耗,测流相关电路断电休眠。
8)保存结果:将测量结果保存到SD卡中。
9)完成:测量任务完成,则结束;否则,继续下次测量。
10)测量时刻:待机到海流测量的下一时刻,测量相关电路上电。
图2 主控MSP430的软件流程
FPGA硬件完成数据采集及数字信号的处理,提高了系统的实时性。整个数字处理系统中,FPGA可视为微处理器的协作处理模块,主要完成MSP430下达测量流速的任务,其处理状态转换如图3。上电后进入“空闲”,监测到测量命令后进入“发射信号”,延时一段时间后进入“回波采集”,进行水声回波信号的数据采集;经过“数字滤波”、“流速解算”等状态,最后在“发送结果”状态中将测量结果发送给MSP430保存于SD卡中。
图3 数字处理FPGA状态转换
1)发射信号:构造水声信号发射形式,并控制发射电路模块向水体发射水声信号;
2)回波采集:将水声回波信号模拟信号转换为数字信号,精确时序控制保证数据的正确性;
3)数字滤波:数字带通滤波,滤除带外噪声,进一步减少噪声的影响,提高系统抗噪能力;
4)流速解算:根据采集的水声回波信号,计算出回波信号的多普勒频移,即可按式(1)推得海流的流速v。采用宽带复相关测频算法可实现高精度的频率测量[4]
(2)
MSP430和FPGA信息交互必须按严格的时序进行。图4为微处理器MPS430与FPGA的通信硬件接口。
图4 微处理器MSP430与FPGA的通信硬件接口
1)MSP430向FPGA传送信息:MSP430通知FPGA进行流速测量,具有较强的实时性,需通过脉冲形式发送,FPGA模块通过P6口获得参数,解码后控制内部的逻辑。C语言形式如下:
P6=参数信息;
P6 |= 0x80; ∥P6.7置1
P6&=0x07F; ∥P6.7清零
2)FPGA向MSP430返回结果:FPGA完成测速任务后通过al_done信号线通知MSP430获得测量结果,FPGA内部将结果数据以菊花链的方式传送。FPGA模块在MSP430的P6.0双边沿进行扫描,将结果按次传送给MSP430。获得结果y(1B)的MSP340执行C语言如下: while((P1&0x01)!=0x01); ∥等待FPGA完成任务
y=P5;∥获得1B的结果
P6^=0x01;∥P6.0取反
自容式海流计的发射信号频率f0为1.5 MHz,将接收回波信号下移频1.35 MHz,获得中心频率为150 kHz,降低系统处理的实时性能要求。
(3)
数字处理系统选用的主要器件为:TI公司MSP430F149,Xilinx公司XC6SLX45—2CSG324,AD公司AD7980[6]。
由v可知,宽带复相关测频算法的测速范围在-2.5~+2.5 m/s。数字信号处理板的实验调试中,以中心频率为150 kHz的正弦波模拟下移频1.35 MHz后的水声回波信号,并混叠高斯噪声模拟水声信道噪声进行系统的抗噪性能测试。测试数据如表1所示。无噪声时的系统测速误差小于0.1 %,信噪比10 dB时的系统测试误差小于0.94 %。
表1 实验测量结果
因此,系统测速性能较好,在室温条件下,该数字信号处理板的待机功耗为19 mW(仅MSP430F149工作),工作功耗峰值为167 mW,符合设计要求。
自容式海流计的功耗和测速实时性要求较高,本文提出了一种“微处理器+FPGA”数字信号处理体系结构,选用低功耗MSP430F149为主控处理器进行系统管理,并控制其他电路的供电电源,实现微功耗待机。FPGA作为协处理模块实现海流的实时测流,并设计了软硬件接口实现模块间通信,保证了系统的正常运行。从实验结果看,系统性能可靠、稳定、功耗低,具有较高的实用价值。