分布式信号源主控仲裁算法设计

2019-10-14 08:36胡琪
声学与电子工程 2019年3期
关键词:新机信号源报文

胡琪

(第七一五研究所,杭州,310023)

1 基本框架介绍

多通道信号源是声呐发射机架构的重要分支。它可以将实时信号产生任务分配到多个处理器中完成,实现复杂的发射任务;还可以扩充发射通道,实现多通道发射任务。多通道信号源通常被设计成为“一个主控,多个节点”的结构,如图1所示。主控机与上位机通信,然后将工作参数下发给各个信号源节点,由各个节点单独完成功能。多通道信号源有时也被设计成如图2所示的结构,所有信号源节点采用相同的硬件设计,通过设定拨码等方式,在特定位置的信号源节点上实现主控功能,省去了主控硬件。

图1 多通道发射机框架(含专用主控硬件)

图2 多通道发射机框架(不含专用主控硬件)

无论是独立主控板或是承担主控功能的信号源板,在整个系统中都非常重要,一旦故障或下线,将严重影响设备正常功能。在图2框架的基础上,如果所有在线信号源节点都能被灵活的配置成主控节点,承担主控任务,就能有效降低失去主控的风险。本文设计了一种主控仲裁算法,使系统中主控机可以在线进行智能变更,每个在线的信号源节点都能承担主控任务,使系统中的主控始终保持在线[1,2]。

2 算法原理与设计

分布式信号源主要包含信号源节点和网络连接。仲裁算法是在网络连接基础上各个信号源节点之间的交互过程,为了实现节点间交互也需要对节点进行一些设计,所以软件设计从节点设计和算法设计两方面考虑。

2.1 节点设计

在整个网络中,每个信号源节点具有3个属性:信息版本号、节点地址、节点权限。节点信息是节点携带的可以共享给其它节点的信息,如工作参数、固件等。在本文的分布式网络中规定,节点信息只能由主控节点分发,所有信息都有对应版本号(如工作参数的接收时戳、固件的软件版本号等),主控节点需保证携带信息的版本号为全网最新。节点地址是每个节点区别于其它节点的唯一标识,因为所有节点可能采用同一固件,所以需要通过硬件或软件方式对每个节点进行区分(如硬件拨码、IP设置等)。节点权限是用来控制节点行为的标志。通过节点权限设置,可以将节点分为四类:主机、备用主机、从机、新机,各个权限下可以进行的操作如表1所示。节点权限可以控制所有节点的行为,减少网内通讯量,提升仲裁算法的效率。

表1 节点权限与操作对应表

2.2 仲裁算法设计

当多个节点同时存在时,根据 “信息版本号>节点地址” 的优先级规则进行节点排序,当信息版本号不同时,版本号高的节点排序靠前;当信息版本号相同时,节点地址小的节点排序靠前。仲裁过程是在一个特定初始状态下,通过几轮交互排序,确定网内唯一主机的过程。本设计中,主机还要推送新信息到从机,保持每个节点都携带最新信息。网络达到稳定状态:一个主机,多个备用主机。下面针对几种常见的初始状态说明此算法的运行方式。

(1)初始状态。系统中所有节点都是新机。新机以广播的方式发送节点交流报文(包含信息版本和节点地址两个属性),并接收其它节点的交流报文,确定自身在网络中的权限。各个节点根据节点排序被分级为主机、备用主机、从机。

(2)分级完成状态。当网络中分级完成后(唯一主机确定,没有新机),主机定时发送主机心跳报文,心跳报文中包含主机节点地址和主机信息版本号。从机接收到主机心跳报文后发出信息更新请求报文,主机对全网的从机进行信息更新。从机更新完毕后,权限变为新机,之后的过程等同于新机入网的过程。

(3)新机加入状态。当有新节点加入时,新节点向全网发布节点交流报文并接收主机心跳。所有已在网机与新机比对信息版本号,如果都低于新机的信息版本号,则全网降级为从机,新机升级为主机。如果新机信息版本号低于主机,则新机权限变为从机。如果新机信息版本号与主机相同,则进行节点排序确认新主机。

(4)主机退出状态。当现有主机节点退出后,主机心跳消失。所有备用主机节点开始发送交流报文,进行节点排序选出新主机节点。

(5)并网状态。当两个各自到达稳定状态的网络合并,两个主机互相交流心跳,最终确定唯一主机。如果两个网络信息版本有差异,版本较低的网络全网降级为从机并申请升级。

各个节点的权限转换关系如图3所示。节点与外界交互过程中,如果满足转换关系图上的转换关系时,节点权限会进行调整。

图3 权限转换关系图

权限转换条件:C1,新机参与节点排序,排名第一,变为主控;C2,主控与其它主控或新机信息版本相同,但节点排序非第一,变为备用主控;C3,主机下线后,备用主控重新节点排序,排名第一,变为主控;C4,主控与其它主控或新机信息版本不同,节点排序非第一,变为备用主控;C5,新机与主控节点排序,排名非第一,信息版本不同,变为从机;C6,从机进行信息更新后,变为新机;C7,新机与主控节点排序,排名非第一,信息版本相同,变为备用主机。

3 功能验证

本文选择进行功能验证的硬件平台核心是TI公司的F28M35芯片,它包含ARM Cotex-M3+C2000双核,ARM核中带一个百兆EMac模块,可满足组网的需求,C2000则是工业中常用的控制芯片,可以用来产生PWM信号[3]。通过GPIO输入2位拨码区别节点IP,并接到交换机实现一个4节点组网,如图4所示(根据各节点IP末位,以下简称41、42、43、44节点)。预先给41号节点烧写1.1版本程序,其它节点为1.0版本程序,所有节点在组播地址230.9..9.1中进行交流。开机后用计算机抓包监控所有组播的UDP报文,得到结果如图5所示。报文各帧的含义解析见表2。

图4 节点连接关系图

图5 测试环境抓包

表2 报文对应表

4 结论

本文针对联网架构的信号源设计了一种主控仲裁算法,节点间通过信息交互实现主控权限仲裁转移。经过软硬件开发和抓包实验,验证了在各种初始条件下,系统最终都能够收敛到单主控状态。该算法能将设备对单一主控硬件依赖性的风险分散到所有节点上,即使现有主控下线也不会影响整体功能。该方法既可为系统设计提供参考,也可广泛用于具有类似分布式架构的系统,提升系统的可靠性。

猜你喜欢
新机信号源报文
传承经典 焕发新机
基于J1939 协议多包报文的时序研究及应用
VR技术在船舶通信系统天线信号源驻波检测中的应用
追江赶海让体育旅游“+”出新机
CTCS-2级报文数据管理需求分析和实现
新新机甲研究室
浅析反驳类报文要点
一切以“大” 方向发展 20周年影音系统变迁史(信号源篇)
聚焦4K视频播放展望未来信号源发展
ATS与列车通信报文分析