树人论文网一个专业的学术咨询网站!!!
树人论文网

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

来源: 树人论文网发表时间:2020-01-16
简要:摘要为提升多通道发射机的可靠性和通用性,设计一种分布式信号源主控仲裁算法。在一个采用分布式架构的信号源中,各个节点通过网络交互,选出唯一主控,统一管理所有节点的工

  摘要为提升多通道发射机的可靠性和通用性,设计一种分布式信号源主控仲裁算法。在一个采用分布式架构的信号源中,各个节点通过网络交互,选出唯一主控,统一管理所有节点的工作参数、固件版本等内容。当现有主控下线或有新节点加入时,节点通过交互选出新主控,整个系统不受影响。功能验证符合设计要求。

  关键词:多通道信号源;分布式系统;主控仲裁;F28m35

电子技术与软件工程

  《电子技术与软件工程》(半月刊)创刊于2012年,由中国电子学会主办。旨在全方位推广信息时代下电气、电力、电工科学意识;关注电子各专业技术以及最新科研成果和进展;介绍软件工程、科技、信息技术在社会各领域的应用,关注科技传播与公民科学文化素质的提升。

  1基本框架介绍

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

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

  2算法原理与设计

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

  2.1节点设计

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

  2.2仲裁算法设计

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

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

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

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

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

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

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

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

  3功能验证

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

  4结论

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