一种面向通用服务高可靠性的总线系统的制作方法

文档序号:30141386发布日期:2022-05-24 07:56阅读:54来源:国知局
一种面向通用服务高可靠性的总线系统的制作方法

本发明涉及航空航天数据传输技术领域,特别涉及一种面向通用服务高可靠性的总线系统。

背景技术

1553B总线是于20世纪70年代由美国提出的电子系统通信标准,承担平台控制指令和数据消息的传输和分发。由于它的高可靠性与灵活性,经过多年的发展,成为航天型号应用最为广泛的平台设备接口通信方式。随着武器装备研制过程的复杂性、发射成本和运行成本的提升,总线控制器的服务通用性及数据传输的可靠性要求越来越高,总线控制器的高可靠性是影响系统关键部件或者全系统运行安全性的重要元素,同时如何设计出通用型总线控制器通信构件,面向各项复杂多变型号任务,以较短的设计研制周期满足复杂系统的可靠性和性能指标,合理调度总线消息的处理时序,是目前亟待解决的问题。

迄今为止,很少有文献面向航天型号应用的通用服务高可靠性总线控制器通信构件进行研究,国内外尚未针对航天器总线从设计阶段到研制形成软件框架的通用流程化设计的实例,因此,开发一种具有高可靠性和通用性,适用于航天器系统的通用型1553B总线控制器通信构件具有重要意义和实用价值。



技术实现要素:

本发明提供一种面向通用服务高可靠性的总线系统,能够降低软件研发成本,缩短软件研制周期,打破总线硬件与软件知识壁垒,具备高可靠性特点,能够直接应用于各航天型号1553B总线控制器系统设计流程中。

根据本公开的一方面,提出了一种面向通用服务高可靠性的总线系统,所述系统包括:总线负载计算部件和总线通信构件部件;

所述总线负载计算部件,用于读取周期性消息,对所述周期性消息排序生成总线表序列,对所述总线表序列进行处理得到总线消息排布表,输出所述总线消息排布表到所述总线通信构件部件;

所述总线通信构件部件,用于读取所述总线消息排布表,根据所述总线消息排布表生成所述总线系统接收和发送的消息,根据所述总线系统的功能函数将所述接收和发送的消息填充到缓冲区中。

在一种可能的实现方式中,所述总线负载计算部件包括数据输入模块、负载优化模块和负载计算模块;

其中,所述数据输入模块,用于读取周期性消息;

所述负载优化模块,用于根据所述周期性消息参数对所述周期性消息重新排序以生成总线表序列;

所述负载计算模块,用于根据所述负载优化后的总线表序列计算总线负载。

在一种可能的实现方式中,所述总线通信构件部件包括初始化模块,驱动层模块和应用层模块;

所述初始化模块,包括BC初始化参数和消息排布初始化函数,用于读取所述总线消息排布表和初始化总线系统功能参数,根据所述总线消息排布表生成所述总线系统接收和发送的消息;

所述驱动层模块,用于提供所述总线系统的多个功能函数;

所述应用层模块,用于根据总线系统的多个功能函数将所述接收和发送的消息填充到缓冲区中完成应用层各项功能要求。

在一种可能的实现方式中,所述周期性消息信息包括消息周期、字长、消息模式和消息优先级。

在一种可能的实现方式中,多个功能函数包括:BC启动函数、消息装载函数、消息接收函数、消息发送函数、BC停止函数、消息解析函数、负载率计算函数、堆栈切换函数、判断运行函数、消息排布填充函数、设置帧周期函数和剩余时间计算函数。

在一种可能的实现方式中,所述应用层模块包括自动填充框架和手动填充框架;

其中,所述自动填充框架,用于每隔固定时间将所述总线系统接收和发送的消息由所述总线通信构件自动填充到缓冲区中;

所述手动填充框架,用于由用户调用启动BC函数将所述总线系统接收和发送的消息填充到缓冲区中。

在一种可能的实现方式中,所述根据所述周期性消息参数对所述周期性消息重新排序,包括:

根据预先指定的周期性消息优先级排序,如果优先级排序相同,则按照每条周期性消息的周期时间从小到大排序;如果周期性消息的优先级排序和周期时间均相同,按照传输周期性消息数据字长度从小到大进行排序;如果周期性消息的优先级排序、周期时间和数据字长度均相同,按照所述周期性消息在消息列表中的序号进行排序,得到重新排序的周期性消息;

根据所有周期性消息的最大周期和最小周期的最小公倍数,以及最小周期对所述重新排序的周期性消息进行排序。

在一种可能的实现方式中,所述根据所有周期性消息的最大周期和最小周期的最小公倍数,以及最小周期对所述重新排序的周期性消息进行排序得到总线表序列,包括:

针对某个周期性消息,计算所述周期性消息的周期和最小周期的比值b,将所述比值b作为周期性消息的排序频率;

在[0,b]个小周期内,将重新排序的周期性消息的传输用时最短周期作为所述周期性消息的发送起始周期,将每隔b个周期作为所述周期性消息的传输周期;

判断所述周期性消息的传输用时和发送起始周期已使用时间的和是否大于所述最小周期时间,如果大于所述最小周期时间,则报告错误,否则,对所述周期性消息继续排序;

重复上述过程依次对重新排序的周期性消息进行处理,以得到总线表序列。

在一种可能的实现方式中,所述负载计算模块还用于根据所述总线消息排布表计算生成周期负载列表和负载率峰值图,以获取每个小周期内的周期性消息帧负载值。

在一种可能的实现方式中,所述消息模式包括自动重发模式和手动重发模式。

本公开的一种面向通用服务高可靠性的总线系统,包括总线负载计算部件和总线通信构件部件;总线负载计算部件用于读取周期性消息,对所述周期性消息排序生成总线表序列,对所述总线表序列进行处理得到总线消息排布表,输出所述总线消息排布表到所述总线通信构件部件;总线通信构件部件用于读取所述总线消息排布表,根据所述总线消息排布表生成所述总线系统接收和发送的消息,根据所述总线系统的功能函数将所述接收和发送的消息填充到缓冲区中。能够降低软件研发成本,缩短软件研制周期,打破总线硬件与软件知识壁垒,具备高可靠性特点,能够直接应用于各航天型号1553B总线控制器系统设计流程中。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。

图1示出了根据本公开一实施例的一种面向通用服务高可靠性的总线系统框图;

图2示出了根据本公开一实施例的总线负载计算部件工作流程示意图;

图3示出了根据本公开一实施例的应用层模块的自动填充框架工作流程示意图;

图4示出了根据本公开一实施例的应用层模块的手动填充框架工作流程示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1示出了根据本公开一实施例的一种面向通用服务高可靠性的总线系统框图。该总线系统可以应用在航空航天系统中不同型号航天器的通用型1553B总线控制器中,下面以1553B总线为例进行介绍。如图1所示,该总线系统可以包括:

总线负载计算部件,用于读取周期性消息,对所述周期性消息重新排序,对重新排序后的总线消息进行处理得到总线消息排布表,输出所述总线消息排布表到所述总线通信构件部件。其中,总线负载计算部件以周期性消息列表作为输入。周期性消息可以包括每个周期性消息的消息周期、字长、消息模式和消息优先级等,其中,消息模式包括自动重发模式和手动重发模式。

图2示出了根据本公开一实施例的总线负载计算部件工作流程示意图。

如图1所示,总线负载计算部件包括数据输入模块、负载优化模块和负载计算模块。

数据输入模块用于读取周期性消息。如图2所示,从输入周期性消息列表中读取总线周期性消息和发送时长等相关参数,同时并计算周期性消息指令字、控制字和数据量等形成负载优化模块可利用的数据格式。

负载优化模块可以根据周期性消息参数对周期性消息重新排序以生成总线表序列。例如,负载优化模块还根据消息参数进行总线预规划,按照消息表中提供的不同时序依据算法模型中指定规则对消息重新排序生成总线表序列。

在一示例中,如图2所示,根据周期性消息参数对所述周期性消息重新排序以生成总线表序列,可以包括:

根据预先指定的周期性消息优先级排序,如果优先级排序相同,则按照每条周期性消息的周期时间从小到大排序;如果周期性消息的优先级排序和周期时间均相同,按照传输周期性消息数据字长度从小到大进行排序;如果周期性消息的优先级排序、周期时间和数据字长度均相同,按照所述周期性消息在消息列表中的序号进行排序,得到重新排序的周期性消息;

根据所有周期性消息的最大周期和最小周期的最小公倍数,以及最小周期对所述重新排序的周期性消息进行排序得到总线表序列。具体为:针对某个周期性消息,计算所述周期性消息的周期和最小周期的比值b,将所述比值b作为周期性消息的排序频率;

在[0,b]个小周期内,将重新排序的周期性消息的传输用时最短周期作为所述周期性消息的发送起始周期,将每隔b个周期作为所述周期性消息的传输周期;

判断所述周期性消息的传输用时和发送起始周期已使用时间的和是否大于所述最小周期时间,如果大于所述最小周期时间,则报告错误,否则,对所述周期性消息继续排序;

重复上述过程依次对重新排序的周期性消息进行处理,以得到总线表序列。

负载计算模块,可以根据总线表序列生成总线消息排布表,以及根据总线消息排布表计算生成周期负载列表和负载率峰值图,以获取每个小周期内的周期性消息帧负载值,能够保障数据传输的可靠性与实时性。

基于总线负载计算部件能够构建周期性消息的静态总线表,静态总线表的排序优化算法建立在系统周期性消息的基础上,从消息中抽象出与总线序列相关的参数,如消息类型、消息周期和周期时间等,并根据这些消息参数要求进行总线预规划,形成优化后的总线周期,计算优化后的总线周期性消息带宽利用率供参考,提高系统消息设计效率,提升数据传输实时性和可靠性。

如图1所示,总线通信构件部件,用于读取总线负载计算部件生成的总线消息排布表,根据总线消息排布表生成总线系统接收和发送的消息,根据总线系统的功能函数将接收和发送的消息填充到缓冲区中。

如图1所示,初始化模块包括BC初始化参数和消息排布初始化函数。其中,BC初始化参数根据用户设定模式(自动重发模式或手动重发模式)按照用户参数配置1553BHPPI寄存器和内核寄存器,配置存储区,用于初始化总线系统功能参数(例如航天器飞行控制软件参数)以完成总线控制器初始化功能,并读取由总线负载计算部件生成的总线消息排布表。消息排布初始化函数根据总线消息排布表生成总线系统接收和发送的消息,完成飞行控制软件不同时序内每个小周期的组帧及相关参数的初始化操作。

如图1所示,驱动层模块包括BC启动函数、消息装载函数、消息接收函数、消息发送函数、BC停止函数、消息解析函数、负载率计算函数、堆栈切换函数、判断运行函数、消息排布填充函数、设置帧周期函数和剩余时间计算函数等多个总线系统功能函数。其中,BC启动函数用于通过设置总线控制器寄存器的值启动总线控制器;消息装载函数用于将当前需要发送的总线消息放在总线存储区;消息接收函数用于读取总线存储区部分当前接收指针指向的消息,获取该周期性消息相关的子地址号、数据和消息类型等;消息发送函数用于将已经放在总线存储区中的消息启动发送,根据发送指针及发送数目取消息放在总线上进行传输;BC停止函数用于分为立即停止、消息停止和帧停止,分别表示通过复位寄存器完成立即停止总线控制器;消息解析函数用于解析消息数据,按照位读取获取消息的发送或接收类型,消息发送对象的远程终端号码和子地址号、消息类型等;负载率计算函数用于根据当前5ms发送的消息类型和发送或者接收的数据字计算负载率;堆栈切换函数用于切换总线A/B堆栈;判断运行函数用于判断当前总线控制器是否在运行;消息排布填充函数用于根据消息排布表在每个5ms周期内填充需要发送的消息;设置帧周期函数用于在自动重发模式下设置帧周期;剩余时间计算函数用于当前周期内剩余可用的时间。能够提供适用于各软件(如飞行控制软件)等的通用化函数构件,降低硬件底层知识壁垒,提升系统开发效率,缩短软件研制周期,降低系统开发成本,通用化设计保障系统可靠性,同时模块划分充分考虑应用系统不同功能需求,实现高度复用型可编程型框架体系。

应用层模块用于根据总线系统的多个功能函数将接收和发送的消息填充到缓冲区中。其中,应用层模块在驱动层提供的各项功能函数的基础上,根据各项型号任务的特点,提供如图2所示的自动填充框架和手动填充框架两种方案。自动填充框架每隔固定时间(例如5ms)将需要发送的总线系统周期性消息(接收和发送消息)由构件自动填充到待发送缓冲区中。手动填充框架可以由用户调用启动BC函数将总线系统接收和发送的消息填充到缓冲区中。

图3示出了根据本公开一实施例的应用层模块的自动填充框架工作流程示意图。

如图3所示,在自动重发框架中,在第一个5ms周期中生成当前周期发送序列,装载当前周期消息完毕,在第二个5ms周期中启动BC函数发送上一个5ms周期装载的消息,再切换堆栈装载本周期(第二个5ms周期)的数据,第三个5ms周期开始解析上一个周期(第二个5ms周期)发送的数据,以此类推,生成当前周期发送序列,当当前周期消息装载未完成,赋值需要发送的消息并重新装在消息,否则周期计数器加1,以完成总线系统接收和发送的消息的自动填充。

图4示出了根据本公开一实施例的应用层模块的手动填充框架工作流程示意图。

如图4所示,在手动重发框架中,在5ms周期中首先装载本周期消息,停止调用启动BC函数。然后,根据本周期消息指针启动BC函数,判断上周期消息数是否遍历完毕,如果没有遍历完,接收上周期装载的周期性消息,用户根据上周期装载的总线系统的发送或者接收的消息数目解析消息,可以在周期内随时停止BCBC函数,重新装载消息并启动BC函数,完成总线系统接收和发送的消息的手动填充。

通过总线通信构件部件提供两种端到端一体化流程总线设计框架,分别针对周期自动填充总线消息和用户自,由调度总线消息设计。一体化流程实现从消息列表到可应用的总线程序的全自动流程,在此基础上,总线通信构件部件根据应用场景不同,针对性提供两种设计模式,提升编码灵活性和适应性。设计框架分为驱动层、应用层和初始化层,读取总线表,应用层根据需求结合驱动层提供的总线相关函数,实现可编程可控制的总线设计框架。

本公开的面向通用服务高可靠性的总线系统,针对航天器型号中总线控制器通信构件,以通用化实现总线控制器软件为研究对象,首先建立优化目标数学模型实现总线消息的均匀分布,提供优化后的总线负载计算结果,其次通信构件中实现通用化函数功能,例如总线控制器启动、停止、消息接收等,实现模块化函数接口,提供两种基于端到端的可编程全流程自动化的总线设计框架,分别针对周期自动填充总线消息和用户自由调度总线消息设计。相较于针对型号任务特定设计软件的方式,降低软件研发成本,缩短软件研制周期,打破总线硬件与软件知识壁垒,同时由于通用构件应用于不同型号,历经型号任务考核,具备高可靠性特点,能够直接应用于各航天型号1553B总线控制器系统设计流程中。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1