基于双ARM 的水声信号采集潜标控制系统设计
2021-02-11李广胜秦华俊冯师军谢旭良冀石磊
李广胜 秦华俊 冯师军 田 甜 谢旭良 冀石磊
(*中国电子科技集团公司第三研究所 北京100015)
(**中国人民解放军32069 部队 北京100091)
0 引言
水声信号采集潜标系统又称水下浮标系统,能够在恶劣的海洋环境条件下定点、无人值守、隐蔽地对海底信号进行采集[1-3]。作为一种探测水下信号的重要技术装备,潜标系统具有其他探测设备不可替代的作用,被广泛应用于国防建设、海洋科学研究、海洋综合利用等各个领域[4]。
潜标技术的研究始于20 世纪50 年代的美国,随后,世界海洋强国相继开展类似的研究和应用。经过70 多年的发展,潜标在基础理论、新技术、新材料、新工艺等方面取得了长足进展[5]。目前,美国、日本、澳大利亚、俄罗斯等国家都在积极发展潜标系统[6]。其中,美国在各类潜标装备技术方面的研究始终保持领先地位。当前潜标的代表性成果主要有以下两个:其一是美国伍兹霍尔海洋研究所和日本NGK OCEAN 公司研制的海洋潜标观测系统[7]。1994 年美国建成的“百慕大试验站锚泊系统”,通过感应式调制解调器耦合方式,潜标利用一根锚泊缆可将水下传感器数据传到海面浮标,然后经由卫星传送至岸站[8]。其二是2000 年法国海洋开发研究所与MARTEC 集团合作研制的Provor CT,可在水下2 km 深度收集海洋环境数据,且能够定期自动上浮至海面通过卫星将数据进行回收[9]。
与欧美等发达国家相比,我国在潜标系统装备技术方面的研究起步较晚,开始于20 世纪80 年代初,经过40 多年的发展,至今已经掌握了潜标系统关键核心技术并取得了丰硕的成果。目前,作为国内潜标系统的主要研制单位,中船重工710 所与715 所、国家海洋技术中心、中科院声学所与海洋所以及山科院海仪所等单位通过技术创新、自主研发,形成了从近岸到深远海的各种类型潜标装备,并积累了丰富的工程实践经验[10]。比如,“六五”期间,国家海洋技术中心立项研制FSS1-1 型千米测流潜标系统,自主解决了系泊缆、锚链、声学应答释放等核心问题,并于1986 年完成FSS1-2 研制工作。此后,国家海洋技术中心相继开展H/HQB 型海洋潜标系统研发工作,解决了潜标主浮体以上浅表层海流测量问题。“十五”及“十一五”期间,在“863”等课题支持下中船重工710 所开展了实时传输海洋潜标系统的研制工作,通过水面浮标与卫星的双向通讯,攻克了深海潜标数据的实时传输问题[11]。另外,山科院海仪所通过定时释放小型通信浮体的方式将数据发送到指定终端,成功研制了潜标定时传输系统。2010 年,中科院海洋研究所研发了6000 m海洋潜标观测系统,可通过仿真模拟软件实现对潜标的锚系系统的精准定位布放进行数值计算。此后,在中科院先导科技专项的支持下,2015 年中科院海洋研究所又成功研制了基于卫星通信的实时传输潜标观测系统,并实现了系统在西太平洋海域规模化的应用。
此外,国内其他一些研究机构和高校也开展了潜标系统的研究工作。比如,1998 年哈尔滨工程大学研制了海洋矢量声场观测用浮标与潜标系统平台,通过无线收发终端,能够实现浮标与潜标的远程控制[12]。在“863”计划支持下,中国海洋大学开展了深水定时卫星通信潜标系统的自主研发工作,在2015 年12 月进行了系列海试并顺利实现观测数据的定时回传[13]。2017 年,西北工业大学与多所科研单位联合研制深海潜标系统,并在马里亚纳海沟9000 m 处进行了成功布放与回收。同年,中科院海洋所研发垂直剖面实时测量潜标系统,通过数据耦合的方式将观测数据传输到海面通讯浮标。此外,中国电科第三研究所于2019 年针对于水下特殊信号探测需求成功研制了多款潜浮标系统,并于2020年在南海相关海域投入实际使用。
近年来,随着国内外对水下探测设备的需求日益增加,对于潜标系统的性能要求越来越严格,这也对潜标控制系统提出了更高的要求[14]。除了低成本、高性能、长工作时间、大数据存储容量等要求外,还要求潜标操作便捷、工作模式多样、数据存储灵活,并能够提供更多的辅助信息以便减少其他辅助设备[15-16]。为此,本文从实际应用需求出发,以模块化方法设计并实现一种基于双ARM 的水声信号采集潜标控制系统,可以有效满足潜标长期低功耗运行、大容量信号采集与数据存储以及多工作模式与任务管理等需求。
1 系统总体设计
1.1 系统架构
本文设计的水声信号采集潜标系统硬件主要包括主控模块、信号采集模块、数据存储模块、水声通信模块、电源管理模块5 部分。其中,主控模块作为潜标控制系统的核心,运行ARM 嵌入式控制软件,主要完成系统逻辑控制、通信指令与数据交互、系统状态监测等功能;信号采集模块主要负责水声信号的采集、调理与模数转换;数据存储模块主要根据控制指令并按照预定的格式要求完成数据存储、导出、删除等操作;水下通信模块主要完成潜标与其他通信设备之间的水声通信;电源管理模块具有多路电源输出能力,且能够根据控制指令完成电源的开关控制。
潜标系统硬件体系结构如图1 所示。
图1 潜标系统硬件体系结构
在系统硬件设计中,主控模块与信号采集模块、电源管理模块、数据存储模块和水声通信模块之间通过USART 串口进行通信指令与数据传输;主控模块与深度传感器和便携端之间通过RS232 串口进行交互。此外,信号采集模块与存储模块、主控模块之间分别通过LVDS 接口、单通道A/D 接口进行数据传输。
1.2 系统工作原理
当潜标上电后,通过RS232 串口可与便携端进行通信指令与数据交互,实现对潜标的系统参数设置、任务配置、状态查询、自检等操作。其中,系统参数设置主要包括潜标ID、RTC 时间、电池容量、通信波特率、恢复出厂设置等参数设置;任务配置主要根据不同的应用需求,添加、删除、更新不同工作模式下的工作任务,以及查询当前工作模式与任务、任务配置参数与个数等信息;状态查询主要实现潜标深度信息、存储容量信息、电量、姿态等信息查询操作;自检主要完成潜标系统各个功能模块工作状态的检查。当潜标的系统参数、工作模式与任务等参数配置完毕以及自检通过后,可进行潜标的布放操作。
当潜标布设完毕后,主控模块按照配置的工作模式与任务进行水声信号采集与数据存储工作,以及进行水声通信同步信号的实时监测。首先,主控模块读取任务列表并根据其配置信息进行当前工作模式与任务的设置与切换,以及对应地执行信号采集与数据存储任务。其次,主控模块进行单通道A/D检测,实时监测水声通信同步信号。若检测到水声通信同步信号,则主控模块开启水声通信模块电源并使能水声通信功能。最后,潜标系统定时监测与分析系统运行状态,如深度、电量、存储容量等,并完成状态信息的日志记录。
当潜标打捞完成后,通过RS232 串口与网口可对潜标进行存储数据的导出与删除、日志导出、状态查询等操作。
1.3 系统工作模式
潜标系统工作模式主要有固定时间信号采集模式、信号触发采集模式和待机模式,3 种工作模式相对独立且可以相互切换。
(1)固定时间信号采集模式
主控模块根据当前任务的设定时间(开始时间与结束时间)进行信号采集与数据存储操作。若当前任务开始时间已到达,则开启信号采集模块、数据存储模块和姿态传感器电源,并使能数据存储功能;若当前任务结束时间已到达,则关闭上述模块与外设电源并停止信号采集与数据存储操作。
(2)信号触发采集模式
与固定时间信号采集模式相比,信号触发采集模式下的数据存储操作需要满足特定的触发条件才会被执行,即当主控模块检测到采集信号的频域能量满足一定的阈值条件后,开启上述与数据存储相关的模块和外设电源,并使能数据存储功能。
(3)待机模式
主控模块开启单通道A/D 检测功能,仅进行水声通信同步信号检测,保持最低功耗的值班状态。
2 控制系统硬件设计
综合考虑潜标系统的外设接口需求以及最大程度地降低系统功耗,除了选择低功耗控制芯片等器件外,还对主控模块的硬件架构进行模块化、低功耗、扩展性设计[17],提出一种基于双ARM 架构的潜标控制系统硬件设计方案。
主控模块硬件系统主要由值班ARM 单元、控制ARM 单元及其外围电路构成,两单元之间采用USART 串口通信。其中,值班ARM 作为主控制器,一方面负责系统值班、工作模式与任务管理、信号采集与数据存储控制以及系统运行状态监测,另一方面完成与便携端、深度传感器、信号采集模块、电源管理模块的通信指令与数据交互。控制ARM 作为协处理器,主要完成与值班ARM、姿态传感器、水声通信模块、数据存储等模块之间的通信指令以及数据的收发或转发操作。外围电路主要包括高精度RTC 时钟模块、温湿压传感器、RS232 串口、TF 卡、Flash 等。
主控模块硬件系统组成框图如图2 所示。
图2 主控模块硬件系统组成框图
值班与控制ARM 芯片均采用ST 公司推出的基于Cortex-M4 内核的高性能、低成本、低功耗STM32L4XX 系列芯片,其内部集成丰富的IO、USART、A/D、I2C、SPI 等接口。通过接口扩展以及搭配相应的接口电路,能够匹配多种不同通信接口的传感器,非常适用于外设接口多、功能丰富的潜标控制系统。
主控模块硬件板卡实物如图3 所示。
图3 主控模块硬件板卡
2.1 值班ARM 单元设计
值班ARM 单元通过接口扩展组成最小值班系统,其接口主要包括1 路I2C、1 路A/D、2 路SPI、3 路USART 和2 路RS232 接口。
通过I2C 接口,可与温湿压传感器进行通信,获取潜标电子舱内的工作温度、湿度和压力信息;通过RS232 接口,可与便携端、深度传感器进行通信指令与数据交互,分别实现潜标的系统参数设置、任务下载与更新、状态查询、自检等操作,以及获取潜标工作深度信息;通过A/D 接口,可进行单通道A/D 检测,实现水声通信同步信号的实时监测;通过USART 串口,可与电源管理模块、控制ARM 单元和高精度RTC 模块进行通信,分别完成不同模块电源的开关控制、通信指令与数据交互,以及获取高精度时间戳信息;通过SPI 接口,可与Flash、TF 卡进行通信,分别实现系统工作参数、任务列表的存储和系统运行状态信息的日志记录功能。
2.2 控制ARM 单元设计
控制ARM 单元硬件接口主要包括2 路SPI、3路USART 和1 路RS232。
通过RS232 接口,可与姿态传感器进行通信,获取潜标系统姿态信息;通过USART 串口,可与值班ARM 单元、水声通信模块和数据存储模块进行通信,实现通信指令与数据交互;通过SPI 接口,可与Flash、TF 卡进行数据传输,分别实现系统工作参数的存储和运行状态信息的日志记录功能。
3 控制系统软件设计
潜标控制系统采用模块化的软件设计思想,每个功能模块均为一个独立的软件模块。潜标系统功能模块主要有主控模块、单通道A/D 检测模块、工作模式与任务管理模块、信号采集与数据存储模块、电源管理模块以及状态监测模块。
3.1 主控模块软件构架
主控模块作为潜标系统的控制中心,为了完成不同的任务控制需求和信号采集与数据存储工作,确保潜标系统稳定可靠、低功耗地工作,需要将潜标系统各个功能模块集成在一起,同时开启看门狗功能。
主控模块初始化完成后,接收换能器信号经过信号采集模块的放大与滤波后输出至主控模块值班电路。首先,值班ARM 进行单通道A/D 检测,判断是否收到水声通信同步信号;若检测到同步信号,则开启通信模块电源并使能水声通信功能,同时接收与处理来自水声通信模块的通信指令与数据。其次,工作模式与任务管理模块根据任务列表的配置信息实现当前工作模式和任务的设置与切换。若在当前工作模式和任务下,单通道检测结果满足数据存储条件,则开启信号采集模块与数据存储模块电源,并使能数据存储功能。接着,状态监测模块对潜标系统的深度、电量、存储容量等信息进行定时监测。最后,为防止系统发生严重错误(如进入死循环、跑飞等)不能恢复,在主控程序每个循环周期内进行喂狗操作。
主控模块软件工作流程如图4 所示。
图4 主控模块软件流程
3.2 单通道A/D 检测
单通道A/D 检测模块作为值班电路中非常重要的一部分,始终处于工作状态,主要实现合作信号与非合作信号检测。其中,合作信号为水声通信同步信号或握手信号;非合作信号为信号强度满足一定阈值条件的目标信号。
接收换能器信号进入信号采集模块的调理电路(放大电路和滤波电路)后,信号分成两路输出,一路信号输出至值班ARM 的A/D 接口,进行合作与非合作信号检测;另一路信号经过信号采集模块内部的A/D 电路后,直接输出至数据存储模块和水声通信模块。单通道A/D 检测电路信号流如图5 所示。
图5 单通道A/D 信号流
信号传输至值班ARM 的单通道A/D 检测模块后,值班电路首先根据信号的频域和脉宽(信号宽度、间隔)检测结果,判断该信号是否为合作信号。若检测结果均满足合作信号要求,则值班ARM 开启水声通信相关板卡电源,并启动水声通信处理线程进行通信指令与数据的接收、解析、执行与反馈。若不满足合作信号条件,则值班电路进行信号频域能量检测,判断该信号是否为非合作信号,若满足非合作信号条件,则值班ARM 开启信号采集与数据存储模块电源并使能数据存储功能。
3.3 工作模式与任务管理
工作模式与任务管理模块主要根据任务列表中的任务配置信息实现潜标系统在不同工作模式下的工作流程控制和任务管理功能。任务列表在潜标布设前可通过便携端进行配置,也可在潜标布设完毕后通过水声通信的方式进行设置。每个任务需指定系统工作模式、任务开始与结束时间以及其他工作参数。
为实现多个任务按照设定的顺序和配置参数正确执行,工作模式与任务管理模块采用基于时间分配机制的多任务分时控制策略。首先,在初始化阶段,待执行任务被组织为任务列表;然后,根据任务时间配置参数为每个任务分配的运行时间段,并按照时间先后完成任务执行优先级排序。最后,按照优先级依次执行各个任务并实现不同任务之间的切换。
多任务分时控制策略通过合理的时间分配与任务调度,将ARM 的运行时间合理分配给各个任务,每次只执行一个任务,待任务结束之后迅速切换至下一个任务,以此循环往复,从而实现对潜标系统的多工作模式与多任务的分时控制。
工作模式与任务管理模块软件工作流程如图6所示。
图6 工作模式与任务管理模块软件工作流程
3.4 信号采集与数据存储
信号采集与数据存储模块作为潜标系统核心功能的一部分,主要实现接收换能器信号的A/D 转换,并根据主控模块控制指令完成采集数据、时间戳信息与姿态数据的打包存储功能。
信号采集与数据存储模块软件工作流程如图7所示。
图7 信号采集与数据存储软件工作流程
当检测到非合作信号后,首先主控模块查询当前存储容量和电量信息。若当前剩余存储容量和剩余电量均大于设定阈值,则主控模块开启控制ARM、信号采集模块、数据存储模块和姿态传感器的电源,同时使能数据存储功能;否则,关闭与数据存储相关模块电源。其次,主控模块向存储模块发送高精度时间戳信息,进行授时操作。接着,主控模块定时获取姿态信息并发送给数据存储模块进行姿态信息的更新。最后,当任务结束、剩余存储容量或剩余电量不满足预设条件时,则关闭与数据存储相关模块电源。
3.5 电源管理
由于潜标电池容量有限,主控模块需要配合电源管理模块对潜标系统的工作电源进行管理。电源管理模块主要完成多路电源转换,以及根据低功耗策略实现不同功能模块的电源输出控制功能。
(1)电源转换与输出控制
电源管理模块能够对输入的48 V 电池电压进行转换,并根据外设电源需求输出2 路3.3 V 和5 路5.5 V 的电源。潜标系统电源输出与可控情况如图8所示。
图8 电源管理模块电源转换输出与可控框图
如上图所示,值班ARM 和信号采集模块的调理电路电源均为不可控输出电源,即保持电源输出状态,从而确保值班电路始终处于工作状态;控制ARM、信号采集模块的A/D 电路、水声通信模块、数据存储模块和姿态传感器的电源均为可控输出电源,可通过主控模块控制指令进行电源开关控制。
(2)低功耗控制策略
潜标系统低功耗控制策略主要涉及电源管理和休眠处理。
电源管理是对不同模块的电源输出进行控制,即根据系统当前工作模式与任务执行的不同工作流程,合理有序地对不同模块的电源输出进行控制,尽可能开启满足功能的最少外设电源以及关闭不必要的外设电源,从而达到既满足设计功能又降低功耗的目的。
休眠处理主要根据实际工作状态将相关功能模块处于休眠状态来降低功耗。例如,当控制ARM在一定时间内未收到任何通信指令或数据时,将关闭外部晶振电路以及采用低功耗的片内振荡器提供时钟,进入休眠模式。同时,控制ARM 对外部中断事件进行实时监测,一旦触发中断将快速唤醒并回到正常工作状态,或者通过定时程序唤醒方式来达到降低系统整体功耗目的。
3.6 状态监测
状态监测主要用于实时监测潜标系统运行状态信息,主要包括电池电量监测、存储容量监测和深度监测3 部分。为实现以上监测功能,主控模块软件中设有定时器固定节拍中断,该节拍作为状态监测模块的计时基准,能够满足最快状态监测任务执行频度需要。
电池电量监测主要完成各个功能模块电量消耗统计与剩余电量评估;存储容量监测主要实现数据存储模块已用存储容量查询和剩余存储容量统计,为信号采集与数据存储的控制提供参考依据;深度监测主要负责潜标工作深度的定时查询,以便分析潜标系统工作状态。
4 试验验证
为验证潜标控制系统性能是否符合设计指标要求,将控制系统硬件集成在某型潜标系统的电子舱内并开展一系列水池与近海试验。其中,近海试验地点为中国某浅海海域,平均深度大约为60 m,试验周期为7 d,试验内容主要包括多工作模式与任务管理、信号采集与数据存储、状态监测以及水声通信等。
试验所用潜标硬件系统与电子舱实物如图9 所示。
图9 潜标硬件系统与电子舱
(1)多工作模式与任务管理试验
试验任务设置了3 种不同工作模式,共64 个配置任务。通过任务配置列表、日志记录、数据存储记录等信息,对试验配置任务执行数量、任务开始时间、任务结束时间、工作模式切换次数等进行比对验证。
验证结果表明64 个配置任务的工作模式与任务切换全部正常、任务的开始与结束控制准确,潜标控制系统能够实现在不同工作模式下的工作流程控制和任务管理功能。
(2)信号采集与数据存储试验
根据上述试验任务,通过对比任务配置列表、试验日志记录、数据存储记录等信息,首先对数据存储文件数量、数据存储文件时间长度、数据存储文件信息齐套性进行验证;然后,对存储数据的正确性进行分析验证。
验证结果表明,在所有执行的任务中,潜标控制系统的数据存储功能正常、存储的信息(数据、姿态、时间戳)齐全。此外,数据分析结果表明存储的数据精度高、噪声较低、通道一致性较好。
(3)状态监测试验
根据上述试验任务,通过查验任务配置列表与日志记录内容,对潜标系统运行中的电量、存储容量、深度等状态信息进行分析验证。
验证结果表明,潜标系统的状态监测模块运行正常,电量信息、深度信息、存储容量信息以及其他运行状态信息记录齐全,且记录内容符合实际潜标运行情况。
(4)水声通信试验
水声通信声源采用鱼唇系统,布放深度15 m,与潜标水平距离约为5 km,通信内容为任务下载、状态查询等。通过试验记录结果分析以及查验日志记录内容,对试验中的水声通信同步信号检测结果、水声通信内容、通信内容执行与反馈结果等信息进行进一步分析验证,试验分析结果如图10 所示。
由图10 可知,在浅海多途效应的影响下,潜标控制系统的单通道A/D 检测模块仍能以较高成功率检测到水声通信同步信号,完成水声通信指令的收发;同时,控制系统能够正确执行接收到的每条指令与反馈结果。试验结果表明,潜标控制系统的单通道A/D 检测模块工作正常,能够检测到同步信号并使能水声通信模块,可实现潜标与甲板便携端之间的水声通信指令与数据交互。
(5)低功耗控制策略
为进一步验证低功耗控制策略的有效性,在水池中对潜标控制系统执行信号采集与数据存储任务的功耗进行对比试验,分别比较采用低功耗策略与不采取低功耗策略的潜标连续工作时间。试验中,潜标电池总容量为7.5 kWh,工作模式为固定时间信号采集模式,单个任务周期为24 h,相邻任务间隔为5 min,任务数量为40 个。试验任务以潜标电池剩余电量为0 作为终止条件,试验对比结果如表1所示。
由表1 可知,采用低功耗控制策略的潜标系统连续工作时长可达624 h,其连续工作时间相对于不采用低功耗控制策略的潜标提高了近152%。因此,低功耗控制策略可以有效提高潜标系统水下连续工作时间。
表1 潜标连续工作时间比较结果
综上所述,通过水池与近海试验结果可知,潜标控制系统的各项功能模块均正常工作,可以完成不同工作模式正常切换与任务正确执行、水声信号高精度采集与数据有效存储和水声通信等控制功能,能够实现工作深度、存储容量和电量等状态信息定时监测,以及实现潜标系统的超低功耗运行,展示了基于双ARM 的潜标控制系统的可靠性和稳定性,能够满足水声信号采集潜标系统的设计指标要求。
5 结论
本文设计并实现了一种基于双ARM 控制架构的嵌入式潜标控制系统。合理的工作模式与任务分时控制方法、低功耗电源管理策略以及状态定时监测等措施,使水声信号采集潜标系统具有工作模式多样、数据存储灵活、功耗低、可靠性高等特点。同时,通过水声通信方式进行通信指令与数据的交互,提高了潜标系统的使用灵活性和隐蔽性。试验结果表明,所设计的控制系统运行效果良好,各项功能均满足指标设计要求,具备水下长期工作的能力,具有较好的工程应用价值。