一种冗余式导航分发设备设计
2024-05-17齐共新岳俊峰
潘 奇,齐共新,岳俊峰
(南京电子技术研究所,南京 210039)
0 引言
随着装备功能和性能提升需求,小型化、多功能、集成化已成为发展趋势[1]。大型电子系统功能复杂,一般由多个不同体制和功能的设备(如雷达、红外探测、光学设备等)组成,这些单独的设备工作于不同的体制,相互之间异步工作。需要工作在统一的基准信息(如时间、方向、速度、角速度、经度、维度等信息)下,才能实现各设备之间的协同工作。
以往的电子系统经常借助于千兆以太网等组网技术,通过下发周期性的以太网报文来实现多个设备间的信息同步[2]。首先,该实现方式常用的UDP等以太网协议因没有握手机制,无法在协议层避免数据丢失,这会给设备的协同工作带来不确定性,若在应用层中增加握手和确认机制则会增加传输和处理延时,降低系统信息融合的精度;其次,以太网报文的协议解析一般都需要通过CPU实现,需要占用较多的CPU时间,对于同步精度要求较高的电子系统,这些同步信息的下发将会非常频繁(例如为实现ms级的同步,至少每1 ms就要处理一次网络报文),这将大大增加CPU的开销,还会影响该设备协同处理的实时性[3];另外,单纯使用下发报文的方式只能满足同步精度要求较低的电子系统,无法实现各设备间ms级以下的同步需求[4]。
为实现多个不同体制和工作方式的电子系统之间的协同工作,需要设计高可靠的同步设备,提供高精度、低延时、高确定性的同步信息,如时间基准、位置信息及与设备工作相关的各类参数信息,实现电子设备间的微秒级的工作同步,有效发挥整个电子系统的效能。为适应各设备不同的参数和精度需求,该同步设备还需要根据不同的使用场景做到灵活配置,可根据应用需求在线调整输出信息的内容、频率等,具备较强的适应性。
1 总体方案设计
如图1所示,导航分发设备主要由输入单元、处理单元、FPGA单元、输出单元四部分组成,具体实现功能如下:
图1 冗余式导航分发设备功能框图
1)输入单元:用于基准导航信息、时间信息、标准秒脉冲信号的输入,并提供定制化的配置接口;
2)处理单元:用于导航信息的综合处理,以及导航输入接口形式的切换等;
3)FPGA单元:用于实现2路FC接口的导航信息分发、FC协议的时间服务、导航信息野值处理与推测等,同时接收标准秒脉冲信号,实现时间的精确同步,并对外提供不同量级的时间基准信号;
4)输出单元:用于实现导航信息、时间基准信号的输出。
冗余式导航分发设备用于接收外部输入的各类同步信号,包括时钟信号,RS422基准信号,以及通过串口、以太网、FC接口、RocketIO接口等形式提供的数字报文信息,包括导航信息、时码信息、各类参数信息等。
冗余式导航分发设备通过对输入的基准导航信息进行综合处理,通过双冗余FC接口为各电子系统提供统一的导航信息。通过对输入的时码信息进行综合,基于输入的秒脉冲100 kHz、1 MHz等时间基准信号进行时间信息处理,产生统一的时间基准信号,时、分、秒、年、月、日等秒及秒以上的信息通过双冗余FC接口向各电子系统统一发布,根据各电子设备的应用需求,秒以下的精确时间基准信号通过射频接口、RS422接口等形式提供,根据各设备的内部的对时精度需求,可提供秒脉冲、10 Hz、1 kHz、10 kHz、100 kHz、1 MHz等不同精度的时间基准信号。
冗余式导航分发设备采用高性能处理器和大规模FPGA组合实现导航信息、时间基准信息的融合处理与统一分发功能,通过设计双冗余嵌入式处理器、双冗余FC接口等冗余设计架构实现设备的高可用性,支持FC接口、RS422接口、射频接口等形式的数据与信号分发,送出精确的时间基准信号、导航信息、时码信息及各类参数信息。
为满足各设备的不同应用需求,冗余式导航分发设备支持通过标准以太网接口实现设备功能、参数的在线配置,具有很强的灵活性。
本设备可采用FC接口输入导航信息,并通过双冗余FC接口进行信息分发,FC即光纤通道(FC,fiber channel) 是美国国家标准委员会( ANSI) 标准,同时具备基于通道的确定性高速传输和基于网络的路由传输功能[5]。FC协议适合在实时性要求较高的场合使用,其主要特点如下:
1)带宽高,光纤通道支持4、8、16、32 Gbps;
2)低延时,交换机端口转发延时可控制在1 μs以内;
3)确定性传输,通过流控机制可实现数据帧不丢失;
4)互联拓扑多样,包括点到点、仲裁环以及交换拓扑;
5)可靠性高,可通过FPGA实现,灵活性强,占用资源少,协议解析不需要占用CPU资源,适合应用于嵌入式系统。
2 信号输入设计
冗余式导航分发设备的输入单元用于可接收外部输入的各类同步信号。
原始的基准导航信息可通过串口、以太网接口、光口等形式输入,并通过以太网输入配置信息,具体的输入和相关处理方式如下:
1)串口输入方式:由串口协议转换模块[6]实现串口报文向以太网报文的转换。串口协议转换模块主要由标准串口、以太网接口、串口到以太网协议转换电路组成。串口可支持RS232、RS422、RS485协议,以太网则使用高效率的UDP协议,以太网接口为10/100/1 000 Mbps自适应。串口到以太网的协议转换由嵌入式控制器实现,对于串口的工作模式(使用协议、波特率、数据位、停止位、校验)、以太网的IP地址、端口号等可在获取外部输入的在线配置信息后,通过更改嵌入式控制器内的配置参数实现,配置方法简单。转换后的UDP数据包可通过以太网交换芯片,使用以太网的UDP组播报文,同时送给2个PowerPC处理器。
2)以太网接口(电口)输入方式:冗余式导航分发设备可对外提供多路10/100/1 000 Mbps自适应以太网接口。基准导航信息通过该接口输入后,由以太网交换芯片同时分发给2个PowerPC处理器。另外该设备的配置信息也是通过该以太网接口输入。配置信息可由任何一台带有以太网接口的通用计算机提供,采用标准UDP协议实现。这些配置信息可在线输入到2个PowerPC处理器,实现对本设备的动态配置[7]。
3)以太网接口(光口)输入方式:输入单元中的光口可承载1 000 BASE-X光以太网、FC、RocketIO三种协议的数据流,通过对切换电路的控制,实现通道切换。当光口切换为1 000 BASE-X光以太网输入模式,网络数据通过以太网交换芯片同时分发给2个PowerPC处理器。
4)FC接口输入方式:当输入单元中的光口切换为FC接口的输入模式,基准导航信息直接输入到FPGA单元的FC IP核内。数据通过FPGA单元后再送给2个PowerPC处理器。
5)RocketIO接口输入方式:当输入单元中的光口切换为RocketIO接口的输入模式,导航基准导航信息直接输入到FPGA单元的RocketIO IP核内。RocketIO IP核由FPGA单元的硬件资源实现。数据也是经FPGA单元处理后同时送给2个PowerPC处理器。
3 导航处理设计
3.1 外部输入导航信息的处理
冗余式导航分发设备的处理单元设计了2个互为冗余的PowerPC处理器,工作时2个处理器均处于工作状态,同步对输入的导航信息、参数信息、在线配置信息等进行处理。
2个处理器用于接收和处理通过以太网或串口,或通过Local Bus总线送来的导航信息、在线配置信息。处理单元内的切换电路,分别通过2个PowerPC处理器的独立的I/O接口进行控制。根据2个处理器目前的主从状态,由主处理器根据输入的在线配置参数判断通过光口输入信号的协议格式,将光口对应的输入信号选择接入对应的接口:
1)若输入的是1 000 BASE-X的以太网接口,则将信号接入以太网交换芯片;
2)若输入的为FC协议的接口,则将信号接入FC IP核;
3)若输入的为RocketIO接口,则将信号接入RocketIO IP核。
最终通过串口、以太网接口、光口(1 000 BASE-X协议)的数据将进入2个PowerPC处理器进行处理,包括时间信息、位置信息、导航信息及与设备工作相关的各类参数等。
若外部的信息采用FC接口或RocketIO接口,数据将直接进入FC IP核或RocketIO IP核,由FPGA将数据解析后,通过两个处理器对应的Local Bus IP核,将数据送给2个PowerPC处理器进行处理。
3.2 时间信息的处理设计
通过外部时统设备输入的时码信息可通过串口、以太网、FC接口、RocketIO接口,以通用报文的形式送给冗余式导航分发设备。外部输入的报文同时交给2个PowerPC处理器进行处理。
外部时统设备送来的时码信息可通过以太网或串口数据、FC接口、RocketIO接口的形式输入到冗余式导航分发设备,外部输入的基准导航信息中包含当前的秒以上的相关时间信息,由年、月、日、时、分、秒组成,为避免外部输入的时码出现异常,需要对输入的时码信息进行有效性判别,时码处理功能如图2所示。
图2 时码处理功能框图
2个互为冗余的PowerPC处理器接收到时码报文后,首先对报文的数据进行校验,然后对连续输入的6组时码数据进行有效性判别,若6组时码数据连续有效,则判断外部的时码报文有效。同时FPGA内部的定时IP对外部输入的秒脉冲信号进行有效性检测,若外部秒脉冲信号连续6次有效,则判断为外部秒脉冲有效。
为确保秒以上信息与秒脉冲等时间基准信号的同步,若外部的时码报文和秒脉冲同时出现6次有效,则认为外部时统设备提供的时间信息有效,冗余式导航分发设备将使用外部的时码数据更新本地的时间信息。
若外部输入的时码数据无效,则由PowerPC处理器进行守时处理,将守时单元处理后的时间作为本地时间,并最终通过Local Bus IP核将当前处理后的时间信息送给数据流控制器。
PowerPC处理器守时处理的计数由内部FPGA内部守时IP提供的高精度定时器提供,确保能够提供精确的秒以下的计数信息。
通过RS422输入接口或射频接口输入的基准秒脉冲信号、基准时间信号、外部中断信号将输入到FPGA的定时IP中,据此精确产生秒以下时间,并实时提供给PowerPC处理器,具体的时间处理如图3所示。在外部秒脉冲异常或外部时码报文异常的情况下,守时IP通过内部的高精度定时器,依旧能正常输出秒脉冲等时间基准信号,处理器则根据接收到的内部秒脉冲完成本地秒及秒以上时间的同步更新。
图3 秒以下时间处理功能框图
冗余式导航分发设备可为外部电子设备提供秒脉冲、100 kHz,1 MHz等精确时间基准信号,各设备内部可按照守时IP的设计,实现设备内部的精确计时,确保外部各电子设备按照相同的时间基准开展工作。
3.3 时码信息的发布
利用FC的时间同步服务(具体见FIBRE CHANNELFRAMING AND SIGNALING-5,即FC-FS-5协议),通过FC IP核可实现本设备与各设备的时间同步。按照FC的时间同步服务协议,将该设备设置为时间服务器功能,各设备设置为时间服务客户端[8]。
本设备作为时间服务器周期性产生同步事件,通过时钟同步原语周期性地向对时设备(客户端)发送当前的时间信息[9]。对时的周期默认为1 s,可通过网络实现在线配置。对时设备(客户端)收到信息后,通过纠正时钟同步原语的传输延时后,更新本地时钟的相关信息[10]。
本设备的FC IP核在FPGA单元内由硬件实现FC报文的协议解析,实时性高。对于FC的时间服务报文的解析、处理、发送时间服务报文均通过FPGA单元内的硬件实现。各设备根据时钟同步原语及链路传输延时对本地时钟进行同步,设备的时间同步的精确度可达μs级,满足设备的时间同步精度需求。该时间同步方法简单,直接利用复用分发导航数据的FC接口即可实现。
3.4 导航信息的处理
导航信息的接收方式与时码信息相同,系统的横摇、纵摇、方向、速度、角速度、经度、维度等信息,可通过串口、以太网、FC接口、RocketIO接口,以通用报文的形式送给冗余式导航分发设备,外部输入的报文接收后,最终交给2个PowerPC处理器进行处理。
在实际工作过程中,通过导航设备采集,并经长距离链路传输的各类导航信息,受传感器性能、震动颠震等使用环境、链路传输等因素的影响,采集并传输到导航分发设备的数据有时会存在异常跳变的值,这种由测量设备或传输过程产生的严重偏离正常值的数据称为野值,野值的出现将使得用于整个电子系统同步的基准出现偏差,造成系统处理精度下降甚至功能失效。因此,剔除野值是导航信息处理的重要环节。
对于测量数据的野值剔除方法很多,国内对包括对孤立型野值、斑点型野值、连续型野值的剔除都有较多的研究。本时统导航设备采用嵌入式处理器,为满足导航数据实时处理要求,经反复测试,采用最小二乘估计野值剔除算法[11]进行数据的估值。按照莱特准则判别方法进行野值判别。按照莱特判别准则[12],当数值服从高斯分布时,数值位于其三倍方差[-3δ,3δ]区间内的概率不小于99.7%,即处于此区间外的数值不超过0.3%,莱特准则判别方法也称为3δ方法。
采用动态野值剔除方法,具体流程如下:
1)利用连续的6个测量数据,采用最小二乘估计获得第i时刻数据的估值;
2)计算第i时刻数据的标准差δ,得到3 δ方;
3)计算实际测量数据与估值的差异,若超过3 δ则判断为野值,当前的值用估值来替代。
导航信息包括横摇、纵摇、方向、速度、角速度、经度、维度等信息,通过在FPGA内部设计野值剔除IP进行硬件加速处理,单个数据的野值剔除可控制在2 μs以内,确保了导航数据处理的实时性。
若外部有2套导航采集设备提供数据,冗余式导航分发设备可根据导航采集设备的置信度,对导航数据进行加权综合,提高导航数据的精度。
同时,在因通道断开、导航采集设备故障等异常情况下出现外部导航数据失效问题,可基于运动趋势对横摇、纵摇、方向、速度、角速度、经度、维度等信息进行推测,确保在导航基准信息丢失时对外提供导航信息的稳定性和准确性。
3.5 导航信息的分发
导航信息包括横摇、纵摇、方向、速度、角速度、经度、维度等,另外用于控制各电子设备工作的各类参数信息,也将与导航信息一起封装成导航报文发送给各电子设备。
根据各电子设备内部导航信息的同步精度需求,导航信息可按照不同的周期,通过双冗余FC接口发送给各电子设备。
对于精度要求较高的设备,可按照1 kHz或者更高的频率发送封装好的导航报文。对于精度要求不高、处理能力较弱的设备,可按照100 Hz、10 Hz等频率发送导航报文。
通过FC协议的FC-AE-ASM报文格式,以点播或组播形式,通过FC交换单元发送给各电子设备。
在通过双冗余FC接口发送时,由数据流控制器对两路FC接口的状态进行检测,确保导航数据从工作状态正常的FC接口送出。
3.6 冗余设计
冗余式导航分发设备需要为多个电子设备提供高精度、低延时、确定性的同步信息,其可靠性对于整个系统来说非常关键[13]。通过对关键处理设备和通道采用冗余设计,确保了该设备的高可靠性,主要体现在如下方面:
1)对于时码、导航信息的输入,支持多种基准信息的输入,该设备可对外部输入的信息进行有效性判断,若无效可自动切换使用备份源提供的信息;
2)处理单元采用两个独立工作的PowerPC处理器同时对时码、导航数据进行处理[14],由FPGA内部的数据流控制器选择使用的数据;
3)两个PowerPC处理器通过两个Local Bus IP核;与数据流控制器进行通讯,确保2个处理器的数据能够同时访问;
4)该设备最终通过两路互为冗余的FC接口对外送出导航信息,分别由两路独立的FC IP核和两路独立的FC接口实现。
冗余功能的具体切换方式如下:
1)输入源有效性检测。考虑到时码、导航信息的重要性,外部的时统设备、导航设备一般会采用冗余设计形式,确保在主设备工作异常时,备份设备能够正常工作并输出有效的时码、导航信息及时间基准信号。
通过对时码信息有效性的连续检测,可用于判别时统设备的工作状态。冗余式导航分发设备将切换使用工作正常的时统设备,并在本地进行统计。
对于导航信息的有效性检测,则在导航信息的处理环节中实现。通过对横摇、纵摇、方向、速度、角速度、经度、维度、系统工作参数等各类信息的野值剔除进行统计,对导航采集设备的有效性进行评估,按照参数化的门限值设计,若连续多次出现野值,则将切换使用备份导航采集设备提供的导航信息。
2)PowerPC处理器工作状态的切换。为确保出现异常时,时统导航处理功能实现快速切换,初始状态时2个PowerPC处理器均处于同时工作状态,同步处理和生成导航等数据,但只有第1个处理器通过Local Bus IP核将处理后的数据送给数据流控制器,这样可确保对外送出的处理后的导航和时码数据的唯一性[15]。当检测到第1个PowerPC处理器或其互联的资源(如网络、内存、Local Bus接口等)出现故障,将由检测控制电路对该通道进行切换,选择将第2个PowerPC处理器处理后的导航数据和时码数据发送至数据流控制器,并通过BIT信息及时对外上报具体的故障信息。
3)FC输出通道的切换。为实现对外发布的导航、时码信息通道的高可靠性设计,冗余式导航分发设备对外提供了2路互为冗余的FC接口,并实现FC通道的冗余设计。FC接口通过两个独立的FC IP核实现,数据流控制器内的检测电路可实时获取2个FC IP核的状态,判断两路FC IP核是否工作正常、对外互联的光缆是否正确连接、对应的FC交换机端口是否工作正常,从而决定使用哪一路FC IP核和对应的通道进行导航数据的分发[16]。2路FC端口分别连接到2个互为备份的FC交换单元,确保任意一路FC数据均能正常送给各外部电子设备,如图4所示。
图4 双冗余FC通讯框图
2个PowerPC处理器、2个FC IP核均具备独立的状态检测和恢复机制,能够定时检测本模块的工作状态,通过单元复位等方式实现功能的自动恢复,并定时上报更新相关信息。本设备的2个PowerPC处理器能定时收集相关功能模块的状态信息,并提供冗余式导航分发设备实时运行状态的日志和查询功能。
3.7 输出接口设计
冗余式导航分发设备的对外提供2路互为冗余的FC接口,以及RS422接口和射频输出接口等。
2路FC接口用于按照FC的时间同步服务的方式为外部电子设备提供精确的对时服务,并且根据导航信息的分发要求,按照设置的周期输出各类导航报文、参数信息。
通过RS422输出接口、射频输出接口分发基准秒脉冲信号、时间基准信号,其中时间基准信号根据需求可设置,频率从10 Hz~10 MHz可调。利用基准秒脉冲信号、时间基准信号,增加必要的电路,在各设备内部可实现精度更高的时间同步,基本可达到与各设备内部子系统同量级的精确时间同步。
4 在线配置及状态上报设计
冗余式导航分发设备具有开放式配置接口,可根据实际应用需求实现在线配置,配置通过以太网接口即可完成。配置使用通用的可视化界面,该配置软件可在普通调试计算机上运行,只需要计算机上配有以太网网卡即可实现。可对本设备的如下信息进行配置:
1)基准导航信息输入的接口形式、报文内容、与导航相关的各类参数的设置;
2)输出的综合导航信息的具体内容、报文格式、输出频率等;
3)输出的时间基准信号的周期、输出通道;
4)外部输入导航、时码信息对应设备的优先级;
5)人工干预当前输出的导航信息,可任意定制当前输出的导航信息中的相关字段;
6)系统工作所需的各类参数信息。
当前的配置信息以文件的形式存储在冗余式导航分发设备内,可根据不同的应用需求存储定制化的配置信息。
另外,通过在外部计算机上运行的监测界面,可实时查看本设备当前运行的工作状态、日志信息、当前的导航信息、时码信息,以及本设备的当前的各类配置信息等[17]。
5 应用情况
如图5所示,一种冗余式导航分发设备在某大型电子系统中完成应用,外部输入的信息包括:
图5 应用框图
1)主/备份导航设备送出的导航报文,包括横摇、纵摇、方位、速度、角速度、姿态等各种导航参数信息,根据信息更新的频率,分为10 kHz、1 kHz、100 Hz、10 Hz等多种形式;
2)主/备份时统设备送出的时码报文,包含时间信息、经度、维度、海拔等信息;并提供的基准秒脉冲、1 MHz、100 kHz等时间基准信号;
3)通过配置终端提供的在线配置信息,以及系统内部工作的实时参数信息。
冗余式导航分发设备对外部输入的各类导航和时码报文进行处理,主要包括:
1)对主/备份导航设备、时统设备提供的方位、速度、角速度、姿态、经度、维度、海拔等信息进行综合处理,包括有效性判断、野值剔除、数据推算等,确保送出的导航信息的实时性、有效性;
2)对主/备份时统设备提供的时码信息进行处理,包括时间、秒脉冲有效性的判断,通过守时功能确保在时码和秒脉冲丢失的情况下,送出的时码信息、时间基准信号的精确性;
3)对主/备份时统设备提供秒脉冲、时间基准信号进行处理,实现时间同步功能,并对外提供综合后的秒脉冲、1 MHz、100 kHz等基准时间信号。各信息系统依据本设备提供的统一的秒脉冲和1 MHz、100 kHz等基准信号,按照图3的方法,产生内部的精确时间信息,实现与本设备的精确同步;
4)通过本设备提供双冗余FC接口,本设备作为时钟服务器,按照FC的时间同步服务,通过在各信息系统内部运行的时钟服务客户端,提供精度达μs级的精确对时服务;
5)本设备内部使用2个PowerPC处理器和1个大规模FPGA,实现主要功能和接口的冗余设计。采用双冗余FC接口,根据各信息系统的精度要求,按照10 kHz、1 kHz、100 Hz等不同的频率,对外提供各类导航和参数信息。
该导航分发设备通过综合外部多个同步设备提供的各类时间、导航及参数信息,为大型电子系统内部各不同体制和工作方式的信息系统提供统一的导航、时间和参数信息,实现整个电子系统内部各设备间μs级的时间、导航和参数信息同步。通过后端处理设备的信息融合,有效提高该大型电子系统的精度和效率[18-20]。
6 结束语
本文针对不同功能和体制的设备间的信息同步,提出了一种信息精确同步的方法。通过对外部多个信息源提供的时间、导航及参数信息进行信息综合处理,为电子系统内的设备提供统一的导航、时间和参数信息,实现整个电子系统内部各设备间μs级的信息同步。通过对输入/输出通道、处理器、各功能IP等进行冗余设计,大幅提高了设备的可用度,采用网络接口实现在线配置,使用灵活、方便。该设备对于已有军事装备间的同步处理、信号融合、情报综合等具有较强的指导意义,对未来装备的多功能、集成化设计具有重要参考价值。