Subscription type bus data receiving and transmitting method and system based on signal partition mask

By adopting a subscription bus data transmission and reception method based on signal partition mask in aircraft electromechanical systems, the problems of useless data waste and frequent code modification in bus data distribution are solved, and efficient and accurate data distribution and simplified code maintenance are achieved.

CN119652696AActive Publication Date: 2025-03-18XIAN AIRCRAFT DESIGN INST OF AVIATION IND OF CHINA
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202411873322.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-18
Publication Date
2025-03-18
Estimated Expiration
2044-12-18

AI Technical Summary

Technical Problem

In the prior art, when bus data is distributed in aircraft electromechanical systems, a large amount of useless data will be wasted, and the code modification is frequent and cannot be portable.

Method used

The subscription-based bus data transmission and reception method based on signal partition mask is adopted, and the data distribution unit and partition mask are established to realize automatic distribution and precise data grabbing by hierarchically dismantling the data packets.

Benefits of technology

It effectively reduces the transmission of useless data, improves the accuracy and efficiency of data distribution, simplifies code maintenance, reduces the risk of change, and supports cross-platform applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119652696A_ABST
    Figure CN119652696A_ABST
Patent Text Reader

Abstract

The invention belongs to the field of aviation bus data receiving and distribution, and particularly relates to a subscription type bus data receiving and transmitting method and system based on signal partition masks, and the method comprises the steps: carrying out the hierarchical disassembly of a data packet, defining the offset of data words, the offset of signal bits, the signal width, and other information, and carrying out the data transmission. And coding each signal distribution destination contained in the data packet in the bus receiving table according to the form of a sending mask, and realizing automatic distribution of the data in a manner of comparing with a partition mask. A core part for realizing data receiving and distribution is completely decoupled from a bus interface design, and when a signal arrangement mode, content, quantity or distribution requirements contained in a data packet are changed, a function partition software design part can be kept unchanged, and only the interface needs to be verified. The method is simple in logic and small in code quantity, the code writing and maintaining efficiency is improved, meanwhile, the risk caused by a large number of changes of software codes is reduced, and cross-platform application is easier to achieve.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of aviation bus data reception and distribution, and in particular, relates to a subscription-based bus data reception and transmission method and system based on a signal partition mask. Background Art

[0002] Aircraft electromechanical systems include dozens of subsystems such as power systems, fuel systems, hydraulic systems, landing gear systems, and environmental control systems. Modern aircraft use a distributed architecture combined with integrated control management technology to achieve integrated control of various electromechanical systems. At the same time, the design of electromechanical system data acquisition equipment is becoming more and more universal and standardized. As the nerve center of the electromechanical system, the aviation electromechanical bus plays a very important role. The functional interconnection of the electromechanical system is becoming more and more complex, and the amount of data transmitted on the bus is also gradually increasing. In the early stages of project development, the bus data content and distribution requirements change frequently. How to quickly and effectively receive and distribute bus data is one of the key technologies in the design of electromechanical systems.

[0003] In the design of traditional aircraft electromechanical systems, each electromechanical subsystem is usually equipped with a dedicated data acquisition device, and the system core logic solution module is also divided according to the system function. Therefore, the bus data transceiver module does not need to unpack the data packet, but only needs to obtain the data packet sent by other systems from the bus, and distribute the data packet to each functional partition for subsequent data processing according to the system function requirements. The existing modular bus data receiving method can easily solve this type of problem. However, with the improvement of the degree of aircraft integration, the electromechanical system data acquisition equipment of modern aircraft is usually used across systems, that is, a data packet may contain data content from multiple systems. Therefore, when data transmission and reception are implemented according to the existing method, the functional partition will receive a large amount of useless data, wasting computer computing resources. If unpacking is performed in the bus data transceiver module, when the data packet content or distribution requirements change, the design code needs to be modified repeatedly, the amount of changes is large, and the code cannot be transplanted and reused.

[0004] Therefore, how to achieve automatic distribution of data accurately, efficiently and effectively is a problem that needs to be solved. Summary of the invention

[0005] The purpose of the present application is to provide a subscription-based bus data receiving and sending method and system based on signal partition mask to solve the problem that a large amount of useless data will appear in the existing data distribution.

[0006] The technical solution of the present application is: a subscription-based bus data receiving and sending method based on signal partition mask, comprising:

[0007] It is necessary to establish a bus data receiving table according to the system bus interface control file, and to hierarchically disassemble the signal of each data packet transmitted on the bus into three levels, namely data packet, data word, and signal; establish a data distribution unit for each independent signal; and establish corresponding partition masks according to each functional partition;

[0008] Call the bus driver function to read all the data packets on the bus. If the length of the read data packet is consistent with the message length in the data packet information description, the data packet is considered to have passed the verification, and the data packet content is updated to the specified global variable;

[0009] Traverse the bus data receiving table, select a data distribution unit, read the sending partition mask in the current data distribution unit and perform a bitwise AND comparison operation with the partition mask of the first functional partition to determine whether the functional partition has subscribed to the signal;

[0010] The signal is accurately captured in the specified global variable through the data information in the current data distribution unit, and the signal value is assigned to the corresponding signal variable in the partition data distribution structure;

[0011] Perform a bitwise AND comparison operation on the sent partition mask and the second partition. After the bitwise AND comparison is completed, perform a bitwise AND comparison operation on the next partition until all functional partitions are compared; obtain the subscription information of all partitions of the data distribution unit; process the next data distribution unit in the bus data table until all data distribution units are distributed to the corresponding data distribution structure; send the processed functional partition data distribution structure to the corresponding functional partition through the inter-partition communication port to realize data subscription distribution.

[0012] Preferably, the data information in each data distribution unit includes a message ID, a message length, a data word offset, a signal variable name, a signal bit offset, a signal width and a signal sending partition mask.

[0013] Preferably, the data packet information description in the data distribution unit includes a message ID and a message length. The reception of the data packet is indexed according to the message ID. The software reads the specified message data packet by calling a corresponding driver function. The message length is used to verify the correctness of the reception of the data packet.

[0014] Preferably, the data word information description in the data distribution unit includes a data word offset, indicating the position of the current data word in the data packet.

[0015] Preferably, the signal information description in the data distribution unit includes the signal variable name, signal bit offset, signal width and signal sending partition mask, wherein the signal variable name should be unique and can be used for structure variable definition of data sending and receiving in the software, the signal bit offset and signal width indicate the bit attribute position of the current signal in the data word, and the signal sending partition mask is a set of binary codes, and each bit corresponds to a functional partition.

[0016] Preferably, the method for judging whether the functional partition has subscribed to the signal is as follows: if the result of the bitwise AND comparison operation is 0, it means that the partition has not subscribed to the signal and no operation is performed; if the result of the bitwise AND comparison operation is not 0, it means that the functional partition has subscribed to the signal.

[0017] As a specific implementation, a subscription-based bus data transceiver system based on a signal partition mask includes a data preparation module, a data packet verification module, a subscription information judgment module, a signal capture module, and a partition data sending module;

[0018] The data preparation module is used to establish a bus data receiving table according to the system bus interface control file, and to hierarchically disassemble the signal of each data packet transmitted on the bus into three levels, namely, data packet, data word, and signal; establish a data distribution unit for each independent signal; and establish corresponding partition masks according to each functional partition;

[0019] The data packet verification module is used to call the bus driver function to read all the data packets on the bus. If the length of the read data packet is consistent with the message length in the data packet information description, the data packet verification is considered to have passed, and the data packet content is updated to the specified global variable;

[0020] The subscription information judgment module is used to traverse the bus data receiving table, select a data distribution unit, read the sending partition mask in the current data distribution unit and the partition mask of the first functional partition for bitwise AND comparison operation to determine whether the functional partition has subscribed to the signal; and can perform bitwise AND comparison operation on the sending partition mask and the second partition, and after the bitwise AND comparison is completed, perform bitwise AND comparison operation on the next partition until all functional partitions are compared; obtain subscription information of all partitions of the data distribution unit; process the next data distribution unit in the bus data table until all data distribution units are distributed to the corresponding data distribution structure;

[0021] The signal capture module is used to accurately capture the signal in the specified global variable through the data information in the current data distribution unit, and assign the signal value to the corresponding signal variable in the partition data distribution structure;

[0022] The partition data sending module is used to send the processed data distribution structure of each functional partition to the corresponding functional partition through the inter-partition communication port to realize data subscription distribution.

[0023] Preferably, the data information in each data distribution unit includes a message ID, a message length, a data word offset, a signal variable name, a signal bit offset, a signal width and a signal sending partition mask.

[0024] Preferably, the data packet information description in the data distribution unit includes a message ID and a message length. The reception of the data packet is indexed according to the message ID. The software reads the specified message data packet by calling a corresponding driver function. The message length is used to verify the correctness of the reception of the data packet.

[0025] Preferably, the data word information description in the data distribution unit includes a data word offset, indicating the position of the current data word in the data packet.

[0026] Preferably, the signal information description in the data distribution unit includes the signal variable name, signal bit offset, signal width and signal sending partition mask, wherein the signal variable name should be unique and can be used for structure variable definition of data sending and receiving in the software, the signal bit offset and signal width indicate the bit attribute position of the current signal in the data word, and the signal sending partition mask is a set of binary codes, and each bit corresponds to a functional partition.

[0027] Preferably, the method for judging whether the functional partition has subscribed to the signal is as follows: if the result of the bitwise AND comparison operation is 0, it means that the partition has not subscribed to the signal and no operation is performed; if the result of the bitwise AND comparison operation is not 0, it means that the functional partition has subscribed to the signal.

[0028] The subscription-based bus data transceiver method and system based on signal partition mask of the present application, by disassembling the data packet in a hierarchical manner (data packet-data word-signal), defining the offset of the data word and the offset of the signal bit, signal width and other information, encoding each signal distribution destination contained in the data packet in the bus receiving table in the form of a sending mask, and realizing automatic distribution of data by comparing with the partition mask. The core part of realizing data reception and distribution is completely decoupled from the bus interface design. When the arrangement, content, quantity or distribution requirements of the signals contained in the data packet change, the functional partitioning software design part can remain unchanged, and only the interface needs to be verified. The functions are more cohesive. Compared with the traditional method, this method has simple logic and less code, which improves the efficiency of code writing and maintenance, while reducing the risks brought by a large number of changes in software code, and is easier to implement cross-platform applications. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] In order to more clearly illustrate the technical solution provided by the present application, the following is a brief introduction to the accompanying drawings. Obviously, the accompanying drawings described below are only some embodiments of the present application.

[0030] Figure 1 This is a schematic diagram of the overall process of this application;

[0031] Figure 2 This is a structural diagram of multiple data distribution units in this application. DETAILED DESCRIPTION

[0032] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0033] A subscription bus data receiving and sending method based on signal partition mask, such as Figure 1 As shown, the following steps are included:

[0034] Step S100, it is necessary to establish a bus data receiving table according to the system bus interface control file, and to disassemble the signal of each data packet transmitted on the bus into three levels (data packet-data word-signal), namely, data packet, data word, and signal. Among them, the signal is the smallest unit in the bus data receiving table, and the various levels are inclusive, that is, each data packet contains a number of data words; each data word contains a number of signals.

[0035] A data distribution unit is established for each independent signal. The data information in each data distribution unit includes information such as message ID, message length, data word offset, signal variable name, signal bit offset, signal width, signal sending partition mask, etc.

[0036] Corresponding partition masks are established according to each functional partition.

[0037] Preferably, combined Figure 2 ,The data for three levels in the data distribution unit are described as follows:

[0038] The data packet information description includes the message ID and message length. The reception of the data packet is indexed according to the message ID. The software can read the specified message data packet by calling the corresponding driver function. The message length can be used to verify the correctness of the reception of the data packet.

[0039] The data word information description includes a data word offset, which indicates the position of the current data word in the data packet.

[0040] The signal information description includes information such as signal variable name, signal bit offset, signal width, signal sending partition mask, etc. The signal variable name should be unique and can be used for the structure variable definition of data transmission and reception in the software. The signal bit offset and signal width can indicate the bit attribute position of the current signal in the data word. The signal sending partition mask is a set of binary codes, each bit corresponds to a functional partition. For the signal in the distribution unit, if it needs to be sent to the partition, it means that the partition has subscribed to the signal, and the corresponding bit of the partition in the sending partition mask is 1, otherwise it is 0. The same signal can be subscribed by one or more functional partitions.

[0041] Step S200, perform data packet verification: call the bus driver function to read all data packets on the bus. If the length of the read data packet is consistent with the message length in the data packet information description, the data packet verification is considered to have passed, and the data packet content is updated to the specified global variable. Otherwise, the data packet is considered to be erroneous and reported.

[0042] Step S300, determine the subscription information of each functional partition through the partition mask: traverse the bus data receiving table, select a data distribution unit, read the sending partition mask in the current data distribution unit and perform a bitwise AND comparison operation with the partition mask of the first functional partition to determine whether the functional partition has subscribed to the signal.

[0043] Specifically: if the result of the bitwise AND comparison operation is 0, it means that the partition has not subscribed to the signal and no operation is performed; if the result of the bitwise AND comparison operation is not 0, it means that the functional partition has subscribed to the signal and the next step is executed.

[0044] Step S400: accurately capture the signal in the specified global variable through the data information in the current data distribution unit, and assign the signal value to the corresponding signal variable in the partition data distribution structure.

[0045] Step S500, performing a bitwise AND comparison operation on the sent partition mask and the second partition, and after the bitwise AND comparison is completed, performing a bitwise AND comparison operation on the next partition until all functional partitions are compared; and obtaining subscription information of all partitions of the data distribution unit.

[0046] Process the next data distribution unit in the bus data table until all data distribution units are distributed to the corresponding data distribution structures.

[0047] Step S600: Send the processed data distribution structure of each functional partition to the corresponding functional partition through the inter-partition communication port to realize data subscription distribution.

[0048] Through the above design, the data packet is hierarchically disassembled (data packet-data word-signal), the data word offset and signal bit offset, signal width and other information are defined, and each signal distribution destination contained in the data packet is encoded in the form of a sending mask in the bus receiving table, and the automatic distribution of data is achieved by comparing with the partition mask. The core part of realizing data reception and distribution is completely decoupled from the bus interface design. When the arrangement, content, quantity or distribution requirements of the signals contained in the data packet change, the functional partitioning software design part can remain unchanged, and only the interface needs to be verified. The functions are more cohesive. Compared with the traditional method, this method has simple logic and less code, which improves the efficiency of code writing and maintenance, while reducing the risks brought by a large number of changes in software code, making it easier to implement cross-platform applications.

[0049] As a specific implementation, it also includes a subscription-based bus data transceiver system based on a signal partition mask, including a data preparation module, a data packet verification module, a subscription information judgment module, a signal capture module and a partition data sending module;

[0050] The data preparation module is used to establish a bus data receiving table according to the system bus interface control file, and to hierarchically disassemble the signal of each data packet transmitted on the bus into three levels, namely, data packet, data word, and signal; establish a data distribution unit for each independent signal; and establish corresponding partition masks according to each functional partition;

[0051] The data packet verification module is used to call the bus driver function to read all the data packets on the bus. If the length of the read data packet is consistent with the message length in the data packet information description, the data packet verification is considered to have passed, and the data packet content is updated to the specified global variable;

[0052] The subscription information judgment module is used to traverse the bus data receiving table, select a data distribution unit, read the sending partition mask in the current data distribution unit and the partition mask of the first functional partition for bitwise AND comparison operation to determine whether the functional partition has subscribed to the signal; and can perform a bitwise AND comparison operation on the sending partition mask and the second partition. After the bitwise AND comparison is completed, the bitwise AND comparison operation of the next partition is performed until all functional partitions are compared; obtain the subscription information of all partitions of the data distribution unit; process the next data distribution unit in the bus data table until all data distribution units are distributed to the corresponding data distribution structure;

[0053] The signal capture module is used to accurately capture the signal in the specified global variable through the data information in the current data distribution unit, and assign the signal value to the corresponding signal variable in the partition data distribution structure;

[0054] The partition data sending module is used to send the processed data distribution structure of each functional partition to the corresponding functional partition through the inter-partition communication port to realize data subscription distribution.

[0055] Preferably, the data information in each data distribution unit includes a message ID, a message length, a data word offset, a signal variable name, a signal bit offset, a signal width and a signal sending partition mask.

[0056] Preferably, the data packet information description in the data distribution unit includes a message ID and a message length. The reception of the data packet is indexed according to the message ID. The software reads the specified message data packet by calling a corresponding driver function. The message length is used to verify the correctness of the reception of the data packet.

[0057] Preferably, the data word information description in the data distribution unit includes a data word offset, indicating the position of the current data word in the data packet.

[0058] Preferably, the signal information description in the data distribution unit includes the signal variable name, signal bit offset, signal width and signal sending partition mask, wherein the signal variable name should be unique and can be used for structure variable definition of data sending and receiving in the software, the signal bit offset and signal width indicate the bit attribute position of the current signal in the data word, and the signal sending partition mask is a set of binary codes, and each bit corresponds to a functional partition.

[0059] Preferably, the method for judging whether the functional partition has subscribed to the signal is as follows: if the result of the bitwise AND comparison operation is 0, it means that the partition has not subscribed to the signal and no operation is performed; if the result of the bitwise AND comparison operation is not 0, it means that the functional partition has subscribed to the signal.

[0060] Finally, it should be noted that: the drawings of the embodiments disclosed in the present invention only involve structures related to the embodiments disclosed in the present invention, and other structures can refer to the general design. In the absence of conflict, the same embodiment and different embodiments of the present invention can be combined with each other;

[0061] Finally: The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the protection scope of the present invention.

Claims

1. A subscription bus data receiving and sending method based on signal partition mask, characterized in that: include: It is necessary to establish a bus data receiving table according to the system bus interface control file, and to hierarchically disassemble the signal of each data packet transmitted on the bus into three levels, namely data packet, data word, and signal; establish a data distribution unit for each independent signal; and establish corresponding partition masks according to each functional partition; Call the bus driver function to read all the data packets on the bus. If the length of the read data packet is consistent with the message length in the data packet information description, the data packet is considered to have passed the verification, and the data packet content is updated to the specified global variable; Traverse the bus data receiving table, select a data distribution unit, read the sending partition mask in the current data distribution unit and perform a bitwise AND comparison operation with the partition mask of the first functional partition to determine whether the functional partition has subscribed to the signal; The signal is accurately captured in the specified global variable through the data information in the current data distribution unit, and the signal value is assigned to the corresponding signal variable in the partition data distribution structure; The sent partition mask is compared with the second partition in a bitwise AND operation. After the bitwise AND comparison is completed, the next partition is compared in a bitwise AND operation until all functional partitions are compared; Obtain subscription information for all partitions of the data distribution unit; process the next data distribution unit in the bus data table until all data distribution units are distributed to the corresponding data distribution structures; send the processed data distribution structures of each functional partition to the corresponding functional partition through the inter-partition communication port to realize data subscription distribution.

2. The subscription-based bus data receiving and sending method based on signal partition mask according to claim 1, characterized in that: The data information in each data distribution unit includes message ID, message length, data word offset, signal variable name, signal bit offset, signal width and signal sending partition mask.

3. The subscription-based bus data receiving and sending method based on signal partition mask according to claim 2, characterized in that: The data packet information description in the data distribution unit includes the message ID and message length. The reception of the data packet is indexed according to the message ID. The software reads the specified message data packet by calling the corresponding driver function. The message length is used to verify the correctness of the reception of the data packet.

4. The subscription-based bus data receiving and sending method based on signal partition mask according to claim 2, characterized in that: The data word information description in the data distribution unit includes a data word offset, indicating the position of the current data word in the data packet.

5. The subscription-based bus data receiving and sending method based on signal partition mask according to claim 2, characterized in that: The signal information description in the data distribution unit includes the signal variable name, signal bit offset, signal width and signal sending partition mask, where the signal variable name should be unique and can be used for structure variable definition of data sending and receiving in the software. The signal bit offset and signal width indicate the bit attribute position of the current signal in this data word. The signal sending partition mask is a set of binary codes, and each bit corresponds to a functional partition.

6. The subscription-based bus data receiving and sending method based on signal partition mask according to claim 1, characterized in that: The method for judging whether the functional partition has subscribed to the signal is as follows: if the result of the bitwise AND comparison operation is 0, it means that the partition has not subscribed to the signal and no operation is performed; if the result of the bitwise AND comparison operation is not 0, it means that the functional partition has subscribed to the signal.

7. A subscription bus data transceiving system based on signal partition mask, using the data transceiving method according to any one of claims 1 to 6, characterized in that: It includes a data preparation module, a data packet verification module, a subscription information judgment module, a signal capture module and a partition data sending module; The data preparation module is used to establish a bus data receiving table according to the system bus interface control file, and to hierarchically disassemble the signal of each data packet transmitted on the bus into three levels, namely, data packet, data word, and signal; establish a data distribution unit for each independent signal; and establish corresponding partition masks according to each functional partition; The data packet verification module is used to call the bus driver function to read all the data packets on the bus. If the length of the read data packet is consistent with the message length in the data packet information description, the data packet verification is considered to have passed, and the data packet content is updated to the specified global variable; The subscription information judgment module is used to traverse the bus data receiving table, select a data distribution unit, read the sending partition mask in the current data distribution unit and perform a bitwise AND comparison operation with the partition mask of the first functional partition to determine whether the functional partition has subscribed to the signal; and can perform a bitwise AND comparison operation on the sending partition mask and the second partition. After the bitwise AND comparison is completed, the bitwise AND comparison operation of the next partition is performed until all functional partitions are compared; Obtain subscription information of all partitions of the data distribution unit; process the next data distribution unit in the bus data table until all data distribution units are distributed to the corresponding data distribution structure; The signal capture module is used to accurately capture the signal in the specified global variable through the data information in the current data distribution unit, and assign the signal value to the corresponding signal variable in the partition data distribution structure; The partition data sending module is used to send the processed data distribution structure of each functional partition to the corresponding functional partition through the inter-partition communication port to realize data subscription distribution.

8. The subscription-based bus data transceiver system based on signal partition mask according to claim 7, characterized in that: The data information in each data distribution unit includes message ID, message length, data word offset, signal variable name, signal bit offset, signal width and signal sending partition mask.

9. The subscription-based bus data transceiver system based on signal partition mask according to claim 8, characterized in that: The data packet information description in the data distribution unit includes the message ID and message length. The reception of the data packet is indexed according to the message ID. The software reads the specified message data packet by calling the corresponding driver function. The message length is used to verify the correctness of the reception of the data packet.

10. The subscription-based bus data transceiver system based on signal partition mask according to claim 8, characterized in that: The data word information description in the data distribution unit includes a data word offset, indicating the position of the current data word in the data packet.

11. The subscription-based bus data transceiver system based on signal partition mask according to claim 8, characterized in that: The signal information description in the data distribution unit includes the signal variable name, signal bit offset, signal width and signal sending partition mask, where the signal variable name should be unique and can be used for structure variable definition of data sending and receiving in the software. The signal bit offset and signal width indicate the bit attribute position of the current signal in this data word. The signal sending partition mask is a set of binary codes, and each bit corresponds to a functional partition.

12. The subscription-based bus data transceiver system based on signal partition mask according to claim 7, characterized in that: The method for judging whether the functional partition has subscribed to the signal is as follows: if the result of the bitwise AND comparison operation is 0, it means that the partition has not subscribed to the signal and no operation is performed; if the result of the bitwise AND comparison operation is not 0, it means that the functional partition has subscribed to the signal.

Citation Information

Patent Citations

  • Release subscription method and system based on AFDX bus

    CN106533871A

  • Modularized bus data receiving method

    CN109547310A

  • Service engine scheduling method based on configuration table

    CN114489832A

  • A664 network data subscribing and publishing method for IMA system

    CN116527744A

  • Electromechanical communication partition data service method based on configuration table

    CN117319484A