CN109547310B - 一种模块化的总线数据接收方法 - Google Patents
一种模块化的总线数据接收方法 Download PDFInfo
- Publication number
- CN109547310B CN109547310B CN201811311324.1A CN201811311324A CN109547310B CN 109547310 B CN109547310 B CN 109547310B CN 201811311324 A CN201811311324 A CN 201811311324A CN 109547310 B CN109547310 B CN 109547310B
- Authority
- CN
- China
- Prior art keywords
- data
- bus
- partition
- mask
- receiving
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/4028—Bus for use in transportation systems the transportation system being an aircraft
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于航空总线数据接收分发技术,涉及一种便捷的模块化总线数据接收方法。本发明通过建立总线接收表,将数据包分发目的地按照发送掩码的形式进行编码,通过与分区掩码比对的方式实现数据的自动分发。本发明将数据接收与分发的核心部分模块化,当数据包内容、数量或者分发需求有变化时只需要更新维护总线接收表即可,主体软件程序不需要改动,相比于传统的方法,该方法逻辑简单,代码量少,提高了代码的编写维护效率,同时降低了软件代码大量更改带来的风险,提高系统安全性。
Description
技术领域
本发明属于航空总线数据接收分发技术,涉及一种便捷的模块化总线数据接收方法。
背景技术
随着航空电子化与数字化技术的大力发展,航空机电总线已成为机电系统的神经中枢,具有非常重要的地位,机电系统功能交联越来越复杂,总线上传输的数据量也在逐步增加,在项目研制初期,总线数据内容与分发需求更改频繁,如何快速有效地进行总线数据接收和分发是机电系统设计的关键技术之一。
机电系统中总线数据收发模块需要从总线上获取其他系统发送的数据包,并按照系统功能需求将数据分发给各目的地分区进行后续的数据处理工作。传统方法是通过对每个具体的数据报文进行判断,接收完成后按照系统需求将数据分发至各目的地分区,当数据包数量、内容或分发需求有变化时,需要反复修改设计代码,更改量大,且代码不可移植复用。
发明内容
本发明的目的是:提出一种逻辑简单,代码量少,维护方便的模块化总线数据接收方法。
本发明的技术解决方案:一种模块化的总线数据接收方法,其通过建立总线接收表,将数据包分发目的地,按照发送掩码的形式对目的地进行编码,通过与目的地自身的分区掩码比对的方式实现数据包目的地的分发。
所述总线接收表中对总线上传输的每个数据包建立数据分发单元,数据分发单元中包含逻辑号、发送掩码和报文ID三部分;逻辑号是总线接收函数的输入参数,根据逻辑号可以从总线上取得指定的数据报文;发送掩码是一组二进制编码,每一位对应一个目的地分区;报文ID是接口控制文件中指定的数据报文的唯一标识。
对于该数据分发单元中的数据报文,若需要发送至该分区,则发送掩码中该分区对应位为1,否则为0。
所述的模块化的总线数据接收方法,其具体过程如下:
步骤1:根据系统总线接口控制文件建立总线接收表;
步骤2:对各数据包发送目的地分区建立自己的用于指示各自地址的分区掩码;
步骤3:调用总线接收函数,依据总线接收表中当前数据分发单元的逻辑号接收所需报文,并将报文ID与数据组合形成待发送报文;
步骤4:读取当前数据分发单元中的发送掩码与第一个分区的分区掩码进行按位与比较操作,若按位与的结果为0,则代表该分区不需要这一包数据,不做任何操作;若按位与的结果不为0,则代表该分区需要这一包数据,此时,调用分区发送函数将待发送报文发送至该分区。
步骤5:重复步骤4,将发送掩码与第二分区进行按位与比较操作。直至所有目的地分区都比较完。
步骤6:重复步骤3-5,接收总线接收表中下一个数据分发单元中的数据报文,并检测发送,直至总线接收表中所有数据分发单元都接收分发完成。
所述分区掩码只有1位为1其余位为零,各目的地的分区掩码分别为:0x0001、0x0002、0x0004、0x0008、0x0010、0x0020、0x0040、0x0080、0x0100、0x0200。
所述的模块化的总线数据接收方法,其步骤3-步骤5固化成主体程序,在增加数据包或数据包分发目的有变化时,仅需通过修改总线接收表,而主体程序不需额外变动,主体程序调用更新后的数据接收表即可实现数据包分发。
本发明的优点和积极效果:本发明模块化的总线数据接收方法通过遍历总线接收表中数据分发单元的方式将所有总线数据发送至指定的分区,该方法的优势在于当总线数据量大,且需求变化频繁时,采用该方法设计的总线接收模块只需要在数据需求有变化时更新维护总线接收表即可,主体软件程序不需要改动,该方法逻辑简单,代码量少,相比于传统的方法,提高了代码的编写维护效率,同时降低了软件代码大量更改带来的风险,提高系统安全性。
附图说明
图1是本发明数据接收分发流程示意图。
具体实施方式
下面对本发明作进一步详细说明。
本发明模块化总线数据接收方法通过建立总线接收表,将数据包分发目的地按照发送掩码的形式进行编码,通过将发送掩码与目的地分区的分区掩码按位与比较的方式实现数据的自动分发。其主要调度工作流程如图1所示:
步骤1:根据系统总线接口控制文件建立总线接收表
设系统接口控制文件中总线数据报文共有N个,首先建立总线接收表,表中共有N个数据分发单元,每个数据分发单元中包含逻辑号【logicNum】、发送掩码【deliverMask】和报文ID三部分。逻辑号是总线接收函数的输入参数,根据逻辑号可以从总线上取得指定的数据报文,发送掩码是一组二进制编码,每一位对应一个目的地分区,对于该分发单元中的数据报文,若需要发送至该分区,则发送掩码中该分区对应位为1,否则为0;报文ID是接口控制文件中指定的数据报文的唯一标识。
步骤2:对各目的地分区建立自己的分区掩码:
分区掩码只有1位为1其余位为零。设系统中共有M个目的地分区,则各目的地分区的分区掩码分别为M1、M2……Mn……Mm共M个:0x0001、0x0002、0x0004、0x0008、0x0010……。
步骤3:调用总线接收函数,依据总线接收表中当前数据分发单元的逻辑号【logicNum】接收所需报文,并将报文ID与数据组合形成待发送报文【PackBuff】。
步骤4:发送当前数据分发单元中的发送掩码与目的地的分区掩码进行比对
读取当前数据分发单元中的发送掩码【deliverMask】与第一个分区的分区掩码M1进行按位与比较操作,若按位与的结果为0,则代表该分区不需要这一包数据,不做任何操作;若按位与的结果不为0,则代表该分区需要这一包数据,此时,调用分区发送函数将待发送报文【PackBuff】发送至该分区。
步骤5:重复步骤4(M次)将当前数据分发单元中的发送掩码【deliverMask】与下一个分区的分区掩码Mn进行按位与比较操作。直至所有目的地分区都比较完。该数据分发单元中的数据分发完成。
步骤6:重复作为主体程序的步骤3-5(N次),接收总线接收表中下一个数据分发单元中的数据报文,并与各目的地分区的分区掩码进行比较操作,完成自动检测分发,直至总线接收表中N个数据分发单元都接收分发完成为止。
综上所述本发明模块化的总线数据接收方法通过建立总线接收表,将数据包分发目的地按照发送掩码的形式进行编码,通过与分区掩码比对的方式实现数据的自动分发。本发明将数据接收与分发的核心部分(步骤3-5)模块化,当数据包内容、数量或者分发需求有变化时只需要更新维护总线接收表即可,主体软件程序不需要改动,相比于传统的方法,该方法逻辑简单,代码量少,提高了代码的编写维护效率,同时降低了软件代码大量更改带来的风险,提高系统安全性。
Claims (5)
1.一种模块化的总线数据接收方法,其特征在于,通过建立总线接收表,将数据包分发目的地,按照发送掩码的形式对目的地进行编码,通过与目的地自身的分区掩码比对的方式实现数据包目的地的分发;
所述总线接收表中对总线上传输的每个数据包建立数据分发单元,数据分发单元中包含逻辑号、发送掩码和报文ID三部分;逻辑号是总线接收函数的输入参数,根据逻辑号可以从总线上取得指定的数据报文;发送掩码是一组二进制编码,每一位对应一个目的地分区;报文ID是接口控制文件中指定的数据报文的唯一标识。
2.根据权利要求1所述的模块化的总线数据接收方法,其特征在于,对于该数据分发单元中的数据报文,若需要发送至该分区,则发送掩码中该分区对应位为1,否则为0。
3.根据权利要求1所述的模块化的总线数据接收方法,其特征在于,具体过程如下:
步骤1:根据系统总线接口控制文件建立总线接收表;
步骤2:对各数据包发送目的地分区建立自己的用于指示各自地址的分区掩码;
步骤3:调用总线接收函数,依据总线接收表中当前数据分发单元的逻辑号接收所需报文,并将报文ID与数据组合形成待发送报文;
步骤4:读取当前数据分发单元中的发送掩码与第一个分区的分区掩码进行按位与比较操作,若按位与的结果为0,则代表该分区不需要这一包数据,不做任何操作;若按位与的结果不为0,则代表该分区需要这一包数据,此时,调用分区发送函数将待发送报文发送至该分区;
步骤5:重复步骤4,将发送掩码与第二分区进行按位与比较操作;直至所有目的地分区都比较完;
步骤6:重复步骤3-5,接收总线接收表中下一个数据分发单元中的数据报文,并检测发送,直至总线接收表中所有数据分发单元都接收分发完成。
4.根据权利要求3所述的模块化的总线数据接收方法,其特征在于,
所述分区掩码只有1位为1其余位为零,各目的地的分区掩码分别为:0x0001、0x0002、0x0004、0x0008、0x0010、0x0020、0x0040、0x0080、0x0100、0x0200。
5.根据权利要求4所述的模块化的总线数据接收方法,其特征在于,步骤3-步骤5固化成主体程序,在增加数据包或数据包分发目的有变化时,仅需通过修改总线接收表,而主体程序不需额外变动,主体程序调用更新后的数据接收表即可实现数据包分发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811311324.1A CN109547310B (zh) | 2018-11-05 | 2018-11-05 | 一种模块化的总线数据接收方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811311324.1A CN109547310B (zh) | 2018-11-05 | 2018-11-05 | 一种模块化的总线数据接收方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109547310A CN109547310A (zh) | 2019-03-29 |
CN109547310B true CN109547310B (zh) | 2021-06-01 |
Family
ID=65845043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811311324.1A Active CN109547310B (zh) | 2018-11-05 | 2018-11-05 | 一种模块化的总线数据接收方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109547310B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143212B (zh) * | 2019-12-24 | 2023-06-23 | 中国航空工业集团公司西安飞机设计研究所 | 一种模块集成式软件架构下的功能逻辑函数库验证方法 |
CN113141289B (zh) * | 2021-05-18 | 2022-07-26 | 卡斯柯信号有限公司 | 一种用于轨旁安全平台的总线数据传输方法 |
CN116129681B (zh) * | 2023-04-07 | 2023-06-20 | 南京莱斯信息技术股份有限公司 | 基于区域网格化管理的民航电报分流处理系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145897A (zh) * | 2007-10-19 | 2008-03-19 | 中兴通讯股份有限公司 | 一种基于通信硬件平台减少传送时钟线路的方法及其系统 |
CN101876957A (zh) * | 2009-11-27 | 2010-11-03 | 珠海许继电气有限公司 | 一种总线外扩抗干扰加密的方法 |
CN102377664A (zh) * | 2010-08-27 | 2012-03-14 | 武汉烽火网络有限责任公司 | 一种基于tcam的区域匹配装置和方法 |
CN105045635A (zh) * | 2015-08-11 | 2015-11-11 | 中国航空工业集团公司西安飞机设计研究所 | 配置表文件的生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8605894B2 (en) * | 2011-07-14 | 2013-12-10 | Apple Inc. | Cryptographic process execution protecting an input value against attacks |
-
2018
- 2018-11-05 CN CN201811311324.1A patent/CN109547310B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145897A (zh) * | 2007-10-19 | 2008-03-19 | 中兴通讯股份有限公司 | 一种基于通信硬件平台减少传送时钟线路的方法及其系统 |
CN101876957A (zh) * | 2009-11-27 | 2010-11-03 | 珠海许继电气有限公司 | 一种总线外扩抗干扰加密的方法 |
CN102377664A (zh) * | 2010-08-27 | 2012-03-14 | 武汉烽火网络有限责任公司 | 一种基于tcam的区域匹配装置和方法 |
CN105045635A (zh) * | 2015-08-11 | 2015-11-11 | 中国航空工业集团公司西安飞机设计研究所 | 配置表文件的生成方法 |
Non-Patent Citations (1)
Title |
---|
《基于iSCSI协议的加密存储区域网模型设计与实现》;任星;《计算机工程与设计》;20090228;第30卷(第4期);第876-879页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109547310A (zh) | 2019-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109547310B (zh) | 一种模块化的总线数据接收方法 | |
KR890702392A (ko) | 감지와 양방향 통신 및 제어를 제공하기 위한 네트워크 및 지능셀 | |
CN102231728A (zh) | 列车控制数据的通信方法、设备及系统 | |
CN103608795A (zh) | 动态可重新配置电接口 | |
CN114553799B (zh) | 基于可编程数据平面的组播转发方法、装置、设备及介质 | |
CN110166857B (zh) | 一种光纤通道交换机动态配置的实现方法 | |
CN101515889B (zh) | 一种组播报文的复制处理方法和装置 | |
CN103167441B (zh) | 一种短消息的下发方法、装置及系统 | |
CN101534298B (zh) | 航空器下传数据链电报的分发方法和装置 | |
CN104486250A (zh) | 一种面向Deadline满足时间确定性的调度方法 | |
CN117097753B (zh) | 基于工业互联网标识的数据采集系统 | |
CN101163258B (zh) | 对大容量小区广播业务进行处理的方法和系统 | |
CN111010353A (zh) | 一种基于光纤通道的自适应无忧网络实现方法 | |
CN114338569B (zh) | 报文复制转发方法及装置 | |
CN111614612B (zh) | 通讯协议实现方法、装置、网管服务器和存储介质 | |
CN101415128B (zh) | 信令消息负荷分担方法、装置及信令传输系统 | |
CN104144134A (zh) | 一种队列调度方法及装置 | |
CN1300977C (zh) | 一种开放式的超远距离工业监控信息集成方法及系统 | |
CN109787888B (zh) | 支持多设备消息分发储存系统和方法及存储介质 | |
CN106657264A (zh) | 分布式系统及其数据同步方法 | |
CN101909283B (zh) | 一种m2m平台及大容量下载的负荷分担实现方法 | |
CN101510901A (zh) | 一种分布式设备间的通信方法、通信设备和通信系统 | |
CN101360061B (zh) | 一种实现公务电话和用户透明通道路由的方法及装置 | |
CN117278627A (zh) | 一种dds通信系统及在autosar cp中集成dds方法 | |
CN113660341A (zh) | 一种机载cmu与无线电通信电台之间的通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |