掌桥专利:专业的专利平台
掌桥专利
首页

1553B总线通信网络中的RTMT功能的实现方法

文献发布时间:2024-04-18 19:52:40


1553B总线通信网络中的RTMT功能的实现方法

技术领域

本发明属于计算机通信技术领域,具体涉及一种1553B总线通信网络中的RTMT功能的实现方法。

背景技术

1553B总线网络主要由BC和RT组成,但作为网络监控功能的MT却经常扮演关键的角色,利用其记录的总线数据作分析分析,作为第三方可用于表决BC或RT的故障。在传统的1553B总线网络中,基本没有MT功能的设备终端,大多都是通过外置的监控卡来对总线数据进行监控,并且大多都是单一的角色功能,缺乏一体化设计。当一个节点即有RT自身的功能角色,又有MT强大的监控功能,就会使得网络终端设备同样具备强大的总线侦听功能。

发明内容

本发明的目的是提供一种1553B总线通信网络中的RTMT功能的实现方法,解决了1553B总线网络中网络节点功能单一化的问题。

本发明所采用的技术方案是,1553B总线通信网络中的RTMT功能的实现方法,具体按照以下步骤实施:

步骤1、总线表的设计:在总线表中设置MT消息刷新标志管理表,当1553B总线接口模块作为选择消息监控模式或者RT/MT组合消息监控模式工作的时候,将监控的消息命令字和数据字重新组合成一条新的消息;

步骤2、RTMT的初始化:对增强Mini-ACE进行初始化时,首先初始化RTMT功能,然后进行RT相关的初始化,最后配置选择消息监控选项,选定需要监控的RT、发送/接收类型、子地址、数据字计数进行消息监控配置;

步骤3、消息的监控:当协议芯片监控消息中断发生时,监控到的总线指令字已被Mini-ACE写入到监控命令栈中,监控到的数据字和状态字被写入到监控数据栈中;根据RT命令栈指针的变化和监控命令栈指针的变化,确定当前消息为RT消息还是监控的消息,如果是RT消息,按照常规RT消息管理方式进行管理;如果是监控消息,需要按照消息类型进行处理,如果是RT到RT消息类型,则按接收命令字加发送命令的方式进行处理;如果是BC输出消息,按照接收命令字的方式进行管理;如果是BC输入消息,按照发送命令字的方式进行管理,在1553B总线网络协议中,消息的发送和接接收都是相对于RT而言的。例如一条RT到BC的消息,对应的命令字就是发送命令字,对BC来说就是输入消息。

本发明的特点还在于,

步骤1中MT消息刷新标志管理表定义格式如下:

rcvRefID[m][n]={{msgID,refreshFlag},……,{}};

tmtRefID[m][n]={{msgID,refreshFlag},……,{}};

其中,rcvRef表示对应所有接收子地址消息;tmtRef表示对应是所有发送子地址消息;m表示该消息对应的RT地址和子地址个数,值为32*32;n表示MT消息刷新标志管理表所包含的元素个数,值为2;msgID表示消息对应的逻辑号,0xFFFF表示消息未定义;refreshFlag表示消息对应的刷新标志位定义,高字节表示对应的字,低字节表示对应的位定义;0xFFFF表示消息未定义或无刷新要求。

步骤2中初始化RTMT功能即配置RT消息栈、同时配置监控命令栈指针、数据栈指针、命令栈大小、数据栈大小。

步骤2中进行RT相关的初始化包括初始化栈、初始化选择方式命令中断表、初始化RT方式命令数据字、初始化查找表、重构查找表、设置忙位、设置命令非法化表。

步骤3中RT到RT消息类型处理过程为:

步骤3.1、将接收到的消息接收命令字写入到消息块中;

步骤3.2、获得消息的发送命令字,并将发送命令字以及发送命令字回绕写入消息缓冲区;

步骤3.3、从发送命令字中解析出发送RT地址并获得发送RT的状态字;

步骤3.4、记录发送RT的状态字,将发送状态字写入到消息块中;

步骤3.5、将数据转移到消息实际缓冲区;

步骤3.6、最后需要检查是否是广播消息,如果是广播消息,则需要获得接收RT的状态字并记录RT状态字。

步骤3中如果是BC输出消息,则监控BC输出消息流程具体为:首先记录消息接收命令字,接着从监控数据栈将数据搬移到消息对应的缓冲区,将最后回绕的数据字写入到消息缓冲区,最后检查是否是广播消息,如果是广播消息,则获得接收RT的状态字并记录RT状态字。

步骤3中如果是BC输入消息,则监控BC输入消息流程具体为:首先发送命令字和命令字回绕,其次获得并发送RT状态字,最后依次从监控数据栈中将数据字写到BC消息块中。

步骤3中监控消息的处理流程如下:

步骤a、根据ACE栈指针获得监控的状态字,监控数据指针以及接收到的命令字;

步骤b、获得MT状态字;

步骤c、判断消息是否出错,对于错误消息,不进行处理;

步骤d、获得消息的相关信息,包括RT地址、子地址、发送接收类型、数据个数、逻辑号;

步骤e、判断该消息是否在总线表中,对于不是总线表中定义的消息,直接退出;

步骤f、记录消息传输当前通道,获得消息缓冲区的地址和消息的命令类型;

步骤g、获得对应的数据缓冲区的地址;

步骤h、检查消息是否是RT到RT的消息,如果是RT到RT的消息且如果消息有效,并且定义了刷新标志位,则设置消息刷新标志;如果不是RT到RT的消息进行步骤i操作;

步骤i、检查是否是方式命令,对于方式命令不进行监控,只监控非方式命令,对于BC广播命令字或接收命令,如果消息有效,并且定义了刷新标志位,则设置消息刷新标志;对于非BC广播的发送命令,如果消息有效,并且定义了刷新标志位,则设置消息刷新标志;

步骤j、设置新数据标志;

步骤k、获得主机使用的消息缓冲区地址,交换消息缓冲区指针。

本发明的有益效果是,1553B总线通信网络中的RTMT功能的实现方法,第一个优势体现在管理先进:针对总线表中的消息,才从监控命令栈和数据栈中重新组织到BC消息缓冲区中,提交给应用,实现监控消息栈和BC消息栈的统一管理;第二个优势体现在实时监控:将总线上的命令字和数据字实时存放在监控命令栈和监控数据栈中,并采用环形缓冲管理,只要主机适时取数据,4KW的命令栈和16KW的数据栈可存放大量的监控数据,实现实时监控。

附图说明

图1是RTMT初始化流程图;

图2是监控RT到RT传输的消息的流程图;

图3是监控BC输出消息的流程图;

图4是监控BC输入消息的流程图;

图5是处理监控消息的流程图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

本发明1553B总线通信网络中的RTMT功能的实现方法,具体按照以下步骤实施:

步骤1、总线表的设计:在总线表中设置MT消息刷新标志管理表,当1553B总线接口模块作为选择消息监控模式或者RT/MT组合消息监控模式工作的时候,将监控的消息命令字和数据字重新组合成一条新的消息;

步骤2、如图1所示,RTMT的初始化:对增强Mini-ACE(多功能小型化1553B总线协议芯片)进行初始化时,首先初始化RTMT功能,然后进行RT相关的初始化,最后配置选择消息监控选项,选定需要监控的RT、发送/接收类型、子地址、数据字计数进行消息监控配置;

步骤3、消息的监控:当协议芯片监控消息中断发生时,监控到的总线指令字已被Mini-ACE写入到监控命令栈中,监控到的数据字和状态字被写入到监控数据栈中;根据RT命令栈指针的变化和监控命令栈指针的变化,确定当前消息为RT消息还是监控的消息,如果是RT消息,按照常规RT消息管理方式进行管理;如果是监控消息,需要按照消息类型进行处理,如果是RT到RT消息类型,则按接收命令字加发送命令的方式进行处理;如果是BC输出消息,按照接收命令字的方式进行管理;如果是BC输入消息,按照发送命令字的方式进行管理,在1553B总线网络协议中,消息的发送和接接收都是相对于RT而言的。例如一条RT到BC的消息,对应的命令字就是发送命令字,对BC来说就是输入消息。

总线表的设计:

首先在总线表中设置MT消息刷新标志管理表,用于当MBI模块作为选择消息监控模式或者RT/MT组合消息监控模式工作的时候,用来将监控的消息命令字和数据字重新组合成一条新的消息。

其定义格式如下:

rcvRefID[m][n]={{msgID,refreshFlag},……,{}};

tmtRefID[m][n]={{msgID,refreshFlag},……,{}};

rcvRef——表示对应所有接收子地址消息;

tmtRef——表示对应是所有发送子地址消息;

m——表示该消息对应的RT地址和子地址个数,值为32*32;

n——表示MT消息刷新标志管理表所包含的元素个数,值为2;

msgID——表示消息对应的逻辑号,0xFFFF表示消息未定义;

refreshFlag——表示消息对应的刷新标志位定义,高字节表示对应的字,低字节表示对应的位定义;0xFFFF表示消息未定义或无刷新要求。

第二部分:RTMT的初始化

对增强Mini-ACE进行初始化时,初始化RTMT功能,配置好RT消息栈、同时要配置好监控命令栈指针、数据栈指针、命令栈大小、数据栈大小等。然后,进行RT相关的初始化,包括初始化栈、初始化选择方式命令中断表、初始化RT方式命令数据字、初始化查找表、重构查找表、设置忙位、设置命令非法化表等,然后要配置选择消息监控选项,选定需要监控的RT、发送/接收类型、子地址、数据字计数等进行消息监控配置。

其中,初始化ACE作为RTMT相关的寄存器位定义和说明,如下表1。

表1RTMT模式ACE寄存器初始化

/>

第三部分:消息的监控

当协议芯片监控消息中断发生时,监控到的总线指令字已被Mini-ACE写入到监控命令栈中,监控到得数据字和状态字被写入到监控数据栈中。

根据RT命令栈指针的变化和监控命令栈指针的变化,确定当前消息为RT消息还是监控的消息。

如果是RT消息,按照常规RT消息管理方式进行管理;如果是监控消息,需要按照消息类型进行处理。如果是RT到RT消息类型,按照图2中的方法进行管理。

具体流程如下:

步骤3.1、将接收到的消息接收命令字写入到消息块中;

步骤3.2、获得消息的发送命令字,并将发送命令字以及发送命令字回绕写入消息缓冲区;

步骤3.3、从发送命令字中解析出发送RT地址并获得发送RT的状态字;

步骤3.4、记录发送RT的状态字,将发送状态字写入到消息块中;

步骤3.5、将数据转移到消息实际缓冲区;

步骤3.6、最后需要检查是否是广播消息,如果是广播消息,则需要获得接收RT的状态字并记录RT状态字

如果是BC输出消息,按照图3中的方法进行管理;如果是BC输入消息,按照图4中的方法进行管理。

监控BC输出消息流程:首先记录消息接收命令字,接着从监控数据栈将数据搬移到消息对应的缓冲区,将最后回绕的数据字写入到消息缓冲区,最后需要检查是否是广播消息,如果是广播消息需要获得接收RT的状态字并记录RT状态字。

监控BC输入消息流程:首先发送命令字和命令字回绕,其次获得并发送RT状态字,最后依次从监控数据栈中将数据字写到BC消息块中。

监控消息的处理流程见图5,所示具体流程如下:

第一步:根据ACE栈指针获得监控的状态字,监控数据指针以及接收到的命令字;

第二步:获得MT状态字;

第三步:判断消息是否出错,对于错误消息,不进行处理;

第四步:获得消息的相关信息(包括RT地址,子地址,发送接收类型,数据个数,逻辑号等);

第五步:判断该消息是否在总线表中,对于不是总线表中定义的消息,直接退出。

第六步:记录消息传输当前通道,获得消息缓冲区的地址和消息的命令类型;

第七步:获得对应的数据缓冲区的地址;

第八步:检查消息是否是RT到RT的消息。如果是RT到RT的消息。如果消息有效,并且定义了刷新标志位,则设置消息刷新标志;如果不是RT到RT的消息进行第九步操作;

第九步:检查是否是方式命令,对于方式命令,不进行监控。只监控非方式命令,对于BC广播命令字或接收命令,如果消息有效,并且定义了刷新标志位,则设置消息刷新标志;对于非BC广播的发送命令,如果消息有效,并且定义了刷新标志位,则设置消息刷新标志;

第十步:设置新数据标志;

第十一步:获得主机使用的消息缓冲区地址,交换消息缓冲区指针。

相关技术
  • 一种1553B总线通信网络中的实现RTMT功能的监控方法
  • 一种通过电力线实现1553B总线通信协议的方法
技术分类

06120116332757