logo好方法网

一种GJB289A总线消息动态映射方法


技术摘要:
本发明提供了一种GJB289A总线消息动态映射方法,涉及动态映射领域,实现了GJB289A总线消息特征信息与消息映射程序的解耦合,通过设计一种总线消息特征信息表,将消息类型对应的消息代码及其含义总结划分,同时获取GJB289A总线底层硬件中包括消息类型和总线数据的消息原  全部
背景技术:
随着飞行平台任务复杂程度的不断加深,机载设备之间多以航电总线的形式进行 信息交互,目前应用广泛的航电总线有GJB289A总线、1394b总线等。GJB289A总线通过调度 机制实现通信资源的分时复用,能够在一条总线中传输上百种不同类型的消息,GJB289A消 息类型通过总线调度命令以及消息标志信息加以区分。目前,处理GJB289A总线数据的软件 通常将调度命令以及消息标志信息固化在软件代码中以实现消息区分的功能,这种方法需 要编写大量的代码加以实现,并且在总线结构或者消息类型发生变化时需要修改软件代 码,代码维护工作量大,这种缺陷在GJB289A总线移植到相似系统的情况下尤为显著。 目前急需一种GJB289A总线消息动态映射方法,以实现GJB289A总线消息特征信息 与消息映射程序的解耦合。
技术实现要素:
本发明的目的在于:提供了一种GJB289A总线消息动态映射方法,实现了GJB289A 总线消息特征信息与消息映射程序的解耦合,不需要将调度命令以及消息标志信息固化在 软件代码中,能够大大提高GJB289A总线消息应用软件的开发效率,降低代码维护量,且在 总线结构发生变化时仅需要调整总线消息特征信息表即可适配,比原有方式节省了大量工 时。 本发明采用的技术方案如下: 一种GJB289A总线消息动态映射方法,主要包括依次进行的以下步骤: 步骤S1:设计总线消息特征信息表,表头内容项主要包括消息类型、发送RT地址、 发送RT子地址、接收RT地址、接收RT子地址; 步骤S2:从GJB289A总线底层硬件中获取完整的消息原始二进制数据,包括消息类 型和总线数据,并且根据消息类型将总线数据分解为发送指令字、接收指令字、发送状态 字、接收状态字、数据字; 步骤S3:解析指令字与状态字中的RT地址与RT子地址; 步骤S4:根据消息类型,检查指令字与状态字中的RT地址是否能够对应,若不对应 则跳过此条消息; 步骤S5:遍历总线消息特征信息表,根据消息类型检查从总线消息数据中解析出 的RT地址与RT子地址是否与总线消息特征信息表中某一行完全一致,若一致,则输出该行 的消息代码以及该条消息的数据字源码。 为了更好地实现本方案,进一步地,所述步骤S1中各表头内容项具体如下: 消息类型:表示GJB289A消息类型的代码; 发送RT地址:表示消息发送方的RT地址; 4 CN 111556034 A 说 明 书 2/8 页 发送RT子地址:表示消息发送方的RT子地址; 接收RT地址:表示消息接收方的RT地址; 接收RT子地址:表示消息接收方的RT子地址; 数据块号偏移地址:表示消息的数据块号相对数据起始字节的偏移地址; 数据块号:表示消息的数据块号; 消息代码:表示能够区分消息的唯一编码。 如表1所示,是对应的各消息类型下的发送RT地址、发送RT子地址、接收RT地址、接 收RT子地址和对应的消息代码,而表2中则表示了各个消息类型下的代码含义。 消息类型 发送RT地址 发送RT子地址 接收RT地址 接收RT子地址 消息代码 0xE0 -1 -1 1 1 0x55 0xE1 1 2 -1 -1 0xB1 0xE2 3 1 2 1 0x2C 0xE6 -1 -1 31 12 0x60 0xE7 7 4 31 9 0x89 表1 消息类型 含义 说明 0xE0 BC→RT消息 发送RT地址无效、发送RT子地址无效 0xE1 RT→BC消息 接收RT地址无效、接收RT子地址无效 0xE2 RT→RT消息 总线消息特征均需使用 0xE6 BC广播 发送RT地址无效、发送RT子地址无效、接收RT地址为31 0xE7 RT广播 总线消息特征均需使用、接收RT地址为31 表2 为了更好地实现本方案,进一步地,所述步骤S2中的消息类型为1字节,发送指令 字、接收指令字、发送状态字、接收状态字、单个的数据字的长度均为2字节,数据字个数n为 对应的指令字、状态字的低5位,所述字节数均为二进制字节数。 为了更好地实现本方案,进一步地,所述各种消息类型对应的数据结构为: 0xE0:消息类型 接收指令字 数据字*n 接收状态字; 0xE1:消息类型 发送指令字 发送状态字 数据字*n; 0xE2:消息类型 接收指令字 发送指令字 发送状态字 数据字*n 接收状态字; 0xE6:消息类型 接收指令字 数据字*n; 0xE7:消息类型 接收指令字 发送指令字 发送状态字 数据字*n。 如表3,表中为GJB289A总线不同消息类型对应的数据结构, 5 CN 111556034 A 说 明 书 3/8 页 表3 为了更好地实现本方案,进一步地,所述步骤S3中的解析方法为: RT地址:取二进制的指令字与状态字中的11至15位,以最低位为第0位; RT子地址:取二进制的指令字中的5至9位,以最低位为第0位。 为了更好地实现本方案,进一步地,所述步骤S4中RT地址与RT子地址的检查条件 为: 0xE0:接收指令字中的RT地址=接收状态字中的RT地址; 0xE1:发送指令字中的RT地址=发送状态字中的RT地址; 0xE2:接收指令字中的RT地址=接收状态字中的RT地址, 且发送指令字中的RT地址=发送状态字中的RT地址; 0xE6:无; 0xE7:发送指令字中的RT地址=发送状态字中的RT地址。 如表4所示是RT地址和RT子地址的检查条件 表4 为了更好地实现本方案,进一步地,所述步骤S5中检查从总线消息数据中解析出 的RT地址与RT子地址是否与总线消息特征信息表中某一行完全一致时,只检查有效数据。 现有技术中,通常将调度命令以及消息标志信息固化在软件代码中以实现消息区 6 CN 111556034 A 说 明 书 4/8 页 分的功能,而这种方法需要编写大量的代码加以实现,并且在总线结构或者消息类型发生 变化时需要修改软件代码,代码维护工作量大,这种缺陷在使用GJB289A总线移植到相似系 统的情况下尤为显著,本方案通过设计一种总线消息特征信息表,将消息类型对应的消息 代码及其含义总结划分,同时获取GJB289A总线底层硬件中包括消息类型和总线数据的消 息原始二进制数据,然后对其进行解析,对解析后的消息按照消息类型进行RT地址检查,只 检查有效数据,若和表1中的某一行完全一致,则说明该总线消息数据符合要求,可以输出 该行的消息代码及该条消息的数据字源码,供下一步数据处理模块使用。 综上所述,由于采用了上述技术方案,本发明的有益效果是: 1.本发明一种GJB289A总线消息动态映射方法,实现了GJB289A总线消息特征信息 与消息映射程序的解耦合,不需要将调度命令以及消息标志信息固化在软件代码中,能够 大大提高GJB289A总线消息应用软件的开发效率,降低代码维护量; 2.本发明一种GJB289A总线消息动态映射方法,实现了GJB289A总线消息特征信息 与消息映射程序的解耦合,不需要将调度命令以及消息标志信息固化在软件代码中,且在 总线结构发生变化时仅需要调整总线消息特征信息表即可适配,比原有方式节省了大量工 时 附图说明 为了更清楚地说明本技术方案,下面将对实施例中所需要使用的附图作简单地介 绍,应当理解,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 这些附图获得其他相关的附图,其中: 图1是本发明的原理流程框图。
下载此资料需消耗2积分,
分享到:
收藏