APP下载

某型水下航行体北斗状态监控方法与程序实现

2022-10-28张庆国

电子设计工程 2022年20期
关键词:串口航行北斗

张庆国

(昆明船舶设备研究试验中心,云南昆明 650051)

水下航行体/平台的中近程通信多为水声、光电或电磁等方式[1-2],但远程通信常依赖卫星定位导航系统,如我国自主研发的北斗卫星导航系统。北斗卫星导航系统在水下航行体/平台以及多种水下武器装备上应用极为广泛,发挥着重要作用,产生了显著的经济和社会效应[3]。在海上实际使用过程中,如航行体在浮起点规定时间内未能通过北斗卫星导航系统进行有效定位和通信,则可能会造成航行体在海上丢失或损伤,亦无法对其后续工作流程进行远程操控。因此,水下航行体的内部北斗工作状态直接影响其性能指标的实现,甚至成为该水下航行体主要功能及战技指标是否实现的关键点。

航行体在水下航行时,用于卫星导航通信的天线将被海水淹没,无线信号被屏蔽。因此,通常只在航行体浮出水面或利用水面浮标等方式短时间内完成信息传递[4-5]。即使北斗天线采用折叠或伸缩结构,在一定程度上可解决天线产生的航行阻力与无线通信效果之间的矛盾问题,但天线在水面伸出高度依然较低,距离水面较近。可见,水下航行体利用北斗卫星进行通信定位时,天线基本位于水面附近,天线随着水面浪涌摆动姿态很难准确控制[6]。同时,航行体北斗接收信号还受水面反射杂波等众多不利因素干扰[7]。另外,常规水下航行体内部空间、功耗均有一定限制,特别是航行体内部采用电池供电方案时,需着重考虑水下航行体的航程、航速等总体要求,即其内部电子系统的功耗应为小尺寸、低功耗,不能影响总体性能指标的实现。

综上所述,水下航行体的内部北斗工作状态对其安全性和可靠性影响极大,甚至对其功能和性能造成较大影响。北斗卫星导航方式在水下航行体式应用环境下,很难在规定时间内实现实时、精确且及时可靠的通信和定位。因此,有必要在航行体内对北斗工作状态进行实时监测,并在适当情况下进行介入性操控,以提高水下航行体的实航可靠性和安全性。

1 监控方案

北斗卫星导航系统是我国自主研发,可以覆盖我国及周边部分地区的全天候卫星导航系统。其基本定位原理是根据全球卫星导航系统(Global Navigation Satellite System,GNSS)接收机接收的同步卫星发送的卫星信息进行时间对标。然后解算卫星伪距并利用空间几何距离交会,实现对接收机的定位[8-9]。

“北斗一代”导航卫星由位于赤道上空的两颗地球静止卫星(东经80°和140°)、一颗在轨备份卫星(东经110.5°)组成,卫星轨道高度约为2 万千米[10],覆盖范围是北纬5°~55°、东经70°~140°之间的区域,最宽处在北纬35°左右,基本工作原理如图1 所示。

图1 北斗卫星导航系统工作原理示意图

“北斗一代”基本工作过程是,北斗用户终端通过北斗导航卫星向地面控制中心提出定位申请或通信申请,地面控制中心接收到服务申请后进行相应的处理,并将处理结果通过北斗导航卫星发送给北斗用户终端,从而实现相应的通信、定位功能。为了更好理解该方法和程序设计环境,给出某型水下航行体内部北斗结构框图,如图2 所示。

图2 某水下航行体内部北斗结构框图

如图2 所示,北斗状态监控方法与程序对应接口较多,按照功能可分为供电接口和通信接口两种。供电接口主要为水下航行体提供稳压直流供电电源;通信接口主要为控制器局域网络(Controller Area Network,CAN)、串口(如RS-232、RS-485 等)等[11-12]。其中,自检接口及状态监控接口为文中方法预留的查询及调试接口,如试后读取内部记录信息等。

2 程序设计

程序需独立对航行体内部北斗状态进行实时连续监测,并依据相关判断准则进行数据解算和预测。当判断北斗工作状态出现异常情况时,进行临时性介入操控,如单独对总线上的北斗进行重置复位、指令初始化以及单次通信或定位申请控制等操作。

为了进一步简化硬件结构尺寸和功耗,在程序设计中除了常规进行选择性休眠外,采用软件方式进行部分通信监视接口的模拟实现。具体采用软件模拟通用异步收发传输器(Universal Asynchronous Receiver and Transmitter,UART)方法实现常规通信功能[13-14],该方法可在节省硬件资源和处理器带宽的前提下,模拟硬件UART 的功能。

2.1 程序框架及流程

程序主要负责对某型水下航行体北斗状态数据进行实时解算,并对自身硬件平台工作参数进行实时监测,综合上述测量信息进行北斗状态的综合评价。当满足判断条件时,对北斗处理器进行干预处理。程序组成与接口如图3 所示。

图3 程序组成与接口示意图

如图3 所示,虚线框内为监控软件对应部分。该软件主要接口有三种,分别对应不同的监控功能:1)内部工作状态测量接口,如内部工作电压、电流、通信状态以及内部记录存储等;2)航行体总线接口,如CAN、供电等;3)北斗处理器接口,如CAN、RS-232等。程序主要处理步骤如下:

1)监控软件初始化,含嵌入式处理器内部串口、软件UART、AD 采样、外部中断等;

2)对北斗卡信息进行实时解算与存储。按照约定解密算法进行信息包拆解,获得北斗卡当前接收到的正确信息包,信息包实时存储后,经相应计算获得北斗处理器控制所需信息包;

3)规定动作执行,如硬件负载开关默认打开,发送北斗处理器初始化指令信息等;

4)实时监控总线及接口信息,进行实时解算和判断。根据总线信息对当前点位的北斗卫星状态进行预先解算,并对北斗处理器的原始输出接口进行定时监测;

5)对北斗处理器进行实时介入性操控,如北斗处理器长时间(如10 s 以上)输出信息不正常,则对北斗处理器进行操控;

6)试后查询及调试等功能,如试后可按约定加密指令,实现单独调试或内部Flash记录信息读取等。

监控程序软件流程如图4 所示。

图4 监控程序软件流程图

如图4 所示,t和T分别为与北斗工作相关的时间参数,通常以秒为单位。其中,Flash 内部区块检查及标记是为了通过校验的方式,确保每次工作前明确获得用于内部信息记录的Flash 状态,防止偶发性Flash 内部个别“坏点”造成记录数据错误或失效[15]。记录信息1 主要是当前时间、北斗工作电压、电流以及卫星定位经纬度、波束等信息。记录信息2 主要是当前时间、北斗处理器瞬间工作电流、当前接收点卫星波束以及介入性操控次数等信息。

2.2 通信口的软件模拟设计

硬件UART 通过连接处理并行对北斗处理器的串口发送及接收端进行监测和控制,软件UART 并联在北斗处理器的串口发送端上,进行当前并行串口数据监测,避免并行发送数据造成数据紊乱,导致故障报错。软件模拟UART 主要是为了降低硬件复杂度,同时降低整体功耗,利用通用I/O 口模拟串口对航行体北斗串口进行监测。

软件UART 设计需要在硬件占用和速度/效率之间权衡,使用较多硬件的设计可能消耗较小的处理器带宽并允许较高的位速率。常规设计中多采用定时器方式,虽然定时器带有自动重载功能,可减少软件开销并降低或消除中断延迟问题,但软件控制需考虑随机的中断延迟带来的累加问题。结合硬件平台实际情况进行综合考虑,文中主要利用嵌入式硬件内部可编程计数器阵列(Programmable Counter Array,PCA)来实现软件UART。软件模拟UART 主要软件流程如图5 所示。

如图5 所示,UART 的接收和发送均采用中断方式,需要注意的是,接收中断对时间要求较高,即对时间延迟比较敏感。因此,软件UART 的接收中断需要较高优先级。

图5 软件模拟UART软件流程图

3 试验测试

依据国家标准GB/T25000.51-2016《系统与软件工程系统与软件质量要求和评价(SQuaRE)第51 部分:就绪可用软件产品(RUSP)的质量要求和测试细则》,对软件功能性和可靠性程度进行第三方测试。测试通过后,利用标准测试设备对运行该监控软件的系统进行试验测试,具体为环境试验和电磁兼容性试验。

3.1 环境试验

环境试验测试主要依据国内某型号水下航行体的专用环境试验要求,进行综合环境试验测试。供电采用标准稳压电源,接口均为通用标准通信接口,模拟航行体北斗工作状态数据,定时发送至该监控系统。具体环境试验项目涉及低温、温度变化、湿热、冲击以及振动等试验。振动及冲击测试结果如图6 所示。

图6 振动及冲击试验测试数据曲线图

如图6 所示,冲击试验波形为半正弦波,峰值加速度为20g,脉冲持续时间为8~10 ms,冲击方向为垂直轴正向,冲击次数为10 次。振动试验带宽为10~500 Hz,功率谱密度为0.015 g2/Hz(10Hz)、0.015g2/Hz(40 Hz)、0.000 15g2/Hz(500 Hz),总均方根加速度为1.04g,3 个正交轴向,每轴向振动30 min。

综合环境试验测试项目相关结果如表1 所示。

表1 环境试验测试项目相关结果

3.2 电磁兼容性试验

相关电磁兼容性测试主要依据《GJB151B-2013军用设备和分系统电磁发射和敏感度要求与测量》相关要求[16],对该方法相关核心部分(含硬件及软件)检测了CE101(25 Hz~10 kHz 电源线传导发射)、CE102(10 kHz~10 MHz 电源线传导发射)和CS101(25 Hz~150 kHz电源线传导敏感度)、RS103(10 kHz~1 GHz电场辐射敏感度)测试项目,测试结果如图7 和表2 所示。

表2 电磁兼容性测试表

图7 电磁环境试验测试数据曲线图

3.3 实航试验

采用搭载方式,利用某型水下航行体在国内某深水湖进行了实航测试。实航测试时,航行体设定航路中水面浮起点(即北斗卫星通信及定位点)为3~5 个,在每个点位,北斗定位及通信完成规定动作后继续下潜航行。

实航试验中发现,在某点位时出现短时航行体北斗状态异常后又恢复正常,即在规定时间范围内仍较长时间(分钟级别)未能及时定位,等待一段时间后收到相应信息。回收水下航行体后,通过试后读取安装在航行体内本监控方法电路内部记录数据可知,在上述点位航行体北斗状态出现异常,使用该方法介入操控,并重新实现该点位的航行体北斗规定动作与功能。

由此可见,该方法可在水下航行体规定时间内进行连续解算和判别,一旦航行体内部出现北斗异常,及时进行总线级介入性操控,解决某型水下航行体北斗偶发故障问题,进一步提高航行体北斗通信及定位有效率和可靠性。

4 结论

某型水下航行体北斗状态监控方法在航行体内部空间、功耗等受限条件下,摒弃常规的隔离电源和继电器等大尺寸元件构建方案,采用微型芯片加负载开关等方法实现硬件接口隔离,以满足实际的安装、功耗以及电磁兼容性等要求。

在程序设计中,提出一种基于软件模拟UART方式对通信总线数据进行并行监测,并利用多个UART 进行串口并行数据流监控的方法,避免并行串口监测过程两个发送端同时发送数据出现故障的问题。结合硬件平台进行环境试验和电磁兼容性试验,试验结果表明,该方法及程序设计满足实际使用要求,并满足航行体内部结构及电子环境等要求,在航行体内部复杂工况下,实现内部北斗状态的实时监测与及时操控等功能。另外,在国内某深水湖完成该型水下航行体的实航验证。

该方法与程序结合北斗处理器输出数据进行实时处理解算,根据当前点位的北斗卫星状态进行分析判断,从而在航行体北斗工作异常时进行相应操控,进一步提高水下航行体北斗工作的可靠性,从而提高水下航行体实航安全性,具有较高的工程实用价值。

猜你喜欢

串口航行北斗
基于北斗三号的人防警报控制系统及应用
基于混合网格的水下航行器系统航行特性研究
海洋美景
第六章 邂逅“胖胖号”
一步之遥
“北斗”离我们有多远
‘중국 별’을 더욱 빛나게 해야 한다
潜艇
MCS—51单片机中的多串口通讯技术的应用
全国计算机等级考试机房准备工作探讨