End system and method for high integrity data transmission decisions

By designing data validity analysis, cross-checking and sending decision modules in the end system of the ARINC 664 network, the delay and jitter problems caused by the high integrity cross-checking design are solved, and efficient and low-latency data transmission is achieved.

CN120034440AActive Publication Date: 2025-05-23GE AVIC CIVIL AVIONICS SYST CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202311580933.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-11-23
Publication Date
2025-05-23
Estimated Expiration
2043-11-23

AI Technical Summary

Technical Problem

In the ARINC 664 network, the high integrity cross-check design increases the latency and jitter of data transmission, affecting network performance.

Method used

An end system is designed, including a data validity analysis module, a cross-check module and a sending decision-making module. The system optimizes the data transmission process by polling the virtual link, determining the effective data status and bandwidth requirements, and cross-checking and sending decisions.

Benefits of technology

It effectively reduces network latency and jitter, improves high integrity and efficiency of data transmission, and meets the needs of 1Gbit/s bandwidth.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120034440A_ABST
    Figure CN120034440A_ABST
Patent Text Reader

Abstract

The invention discloses an end system and method for high integrity data transmission decisions. An end system for high integrity data transmission decisions, comprising: a data validity analysis module to: poll all virtual links (VLs) of the end system to determine a local data validity state; determining a local bandwidth requirement satisfaction state; determining a current time slot permission mark; the cross check module is used for sending the effective state of the local data to an opposite end system; receiving an opposite end data valid state; the local bandwidth requirement satisfaction state is sent to an opposite end system; receiving a bandwidth requirement satisfaction state of the opposite end; the sending decision module is used for determining the same VL on the end system and the opposite end system based on the local data effective state, the local bandwidth requirement satisfaction state, the opposite end data effective state, the opposite end bandwidth requirement satisfaction state and the current time slot permission mark; and transmitting the identifier of the same VL to a control command queue.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an end system and method for high-integrity data transmission decision-making, and more particularly to a low-delay and low-jitter design for cross-checking end systems. Background Art

[0002] ARINC 664 network is the mainstream network solution in avionics. Considering that the network will be upgraded to 1Gbit / s in the future, the ARINC 664 end system also needs to support 1Gbit / s bandwidth accordingly. In order to achieve this performance, the end system should be designed to increase data capacity. By introducing a high integrity cross-check design in the end system, the synchronization and cross-check of the two end systems require additional time costs, which will increase the delay of each virtual link (VL) from the source end system to the destination end system, thereby increasing the jitter of the network, which has an adverse effect on the network. Summary of the invention

[0003] It is to be understood that both the foregoing general description and the following detailed description of the present invention are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.

[0004] According to one aspect of the present invention, an end system for high-integrity data transmission decision is provided, comprising: a data validity analysis module, comprising a data validity analysis component, a modulator analysis component and a scheduling counter, wherein the data validity analysis module is used to perform a first operation for a first time window during a first time period, wherein the first operation comprises: polling all virtual links (VLs) of the end system by the data validity analysis component to determine a local data validity state, wherein the local data validity state indicates an identifier of a first VL having data to be transmitted among all VLs; determining a local bandwidth requirement satisfaction state by the modulator analysis component, wherein the local bandwidth requirement satisfaction state indicates that the first VL is fully The identifier of a VL that meets the bandwidth requirement, wherein the bandwidth requirement indicates the minimum transmission interval time between two data transmissions of the same VL; and a current time slot permission flag is determined by the scheduling counter, wherein the current time slot permission flag indicates the identifier of a second VL that is allowed to send data within the first time window among all VLs of the end system; a cross-check module, coupled to the data validity analysis module, the cross-check module includes a buffer sending management component, a buffer receiving management component, a modulator sending management component and a modulator receiving management component, the cross-check module is used to perform a second operation on the first time window during a second time period after the first time period, the second operation The method comprises: the buffer sending management component sends the local data validity status of the end system to the opposite end system; the buffer receiving management component receives the opposite end data validity status from the opposite end system, wherein the opposite end data validity status indicates the identifier of a third VL that has data to be sent among all VLs of the opposite end system; the modulator sending management component sends the local bandwidth requirement satisfaction status of the end system to the opposite end system; and the modulator receiving management component receives the opposite end bandwidth requirement satisfaction status from the opposite end system, wherein the opposite end bandwidth requirement satisfaction status indicates the identifier of a VL that meets the bandwidth requirement among the third VL; and a sending decision module. , coupled to the data validity analysis module and the cross-check module, the sending decision module is used to perform a third operation for the first time window during a third time period after the second time period, and the third operation includes: based on the local data validity status, the local bandwidth requirement satisfaction status, the peer data validity status, the peer bandwidth requirement satisfaction status and the current time slot permission flag, determine that there is data to be sent on the end system and the peer end system, the bandwidth requirement is met, and the same VL that allows data to be sent within the first time window; and transmit the identifier of the same VL to the control command queue, and the control command queue is used to control the framer to send data.

[0005] In the above-mentioned end system, the data validity analysis module is further used to: re-execute the first operation for a second time window during the second time period.

[0006] In the above end system, the cross-check module is further used to: re-execute the second operation for the second time window during the third time period.

[0007] In the above end system, the first time period is determined based on at least the number and clock frequency of all VLs of the end system.

[0008] In the above end system, the first time period, the second time period, and the third time period are the same.

[0009] In the above end system, the modulator analysis component is further used to determine the bandwidth requirement of the VL according to the bandwidth configuration table.

[0010] In the above end system, the scheduling counter is further used to determine the sending permission flag of the current time slot according to the transmission table.

[0011] According to another aspect of the present invention, a method for high-integrity data transmission decision is provided, comprising: performing a first operation for a first time window during a first time period, the first operation comprising: polling all virtual links (VLs) of a local end system to determine a local data validity state, wherein the local data validity state indicates an identifier of a first VL in all VLs that has data to be transmitted; determining a local bandwidth requirement satisfaction state, wherein the local bandwidth requirement satisfaction state indicates an identifier of a VL in the first VL that satisfies a bandwidth requirement, wherein the bandwidth requirement indicates a minimum transmission interval time between two data transmissions of the same VL; and determining a current time slot permission flag, wherein the current time slot permission flag indicates an identifier of a second VL in all VLs of the local end system that is allowed to transmit data within the first time window; performing a second operation for the first time window during a second time period after the first time period, the second operation comprising: sending the local data validity state of the local end system to the opposite end system; receiving a local data validity state from the opposite end system; and a peer data valid state of the peer system, wherein the peer data valid state indicates an identifier of a third VL that has data to be sent among all VLs of the peer system; sending the local bandwidth requirement satisfaction state of the local system to the peer system; and receiving the peer bandwidth requirement satisfaction state from the peer system, wherein the peer bandwidth requirement satisfaction state indicates an identifier of a VL that satisfies the bandwidth requirement among the third VLs; and performing a third operation for the first time window during a third time period after the second time period, the third operation comprising: determining, based on the local data valid state, the local bandwidth requirement satisfaction state, the peer data valid state, the peer bandwidth requirement satisfaction state and the current time slot permission flag, that the local system and the peer system have data to be sent, meet the bandwidth requirement, and are allowed to send the same VL within the first time window; and transmitting the identifier of the same VL to a control command queue, wherein the control command queue is used to control the framer to send data.

[0012] In the above method, it further includes: re-executing the first operation for a second time window during the second time period.

[0013] In the above method, it further includes: re-executing the second operation for the second time window during the third time period.

[0014] In the above method, the first time period is determined based on at least the number and clock frequency of all VLs of the local end system.

[0015] In the above method, the first time period, the second time period, and the third time period are the same.

[0016] In the above method, it further includes: determining the bandwidth requirement of the VL according to the bandwidth configuration table.

[0017] In the above method, it further includes: determining the sending permission flag of the current time slot according to the transmission table. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The accompanying drawings are included to provide a further understanding of the present invention, and are incorporated into and constitute a part of this application. The accompanying drawings illustrate embodiments of the present invention and together with the specification serve to explain the principles of the present invention. In the accompanying drawings:

[0019] Figure 1 A schematic diagram showing a data processing flow of a high integrity data transmission decision according to an embodiment of the present invention;

[0020] Figure 2 A schematic diagram of a transmission table according to an embodiment of the present invention is shown;

[0021] Figure 3 A block diagram of a high integrity data transmission decision unit according to an embodiment of the present invention is shown;

[0022] Figure 4 A schematic diagram showing a data processing flow of a high-integrity data transmission decision according to another embodiment of the present invention;

[0023] Figure 5 A detailed diagram showing a high integrity data transmission decision unit according to an embodiment of the present invention; and

[0024] Figure 6 A flow chart of a method for high-integrity data transmission decision according to an embodiment of the present invention is shown. DETAILED DESCRIPTION

[0025] Embodiments of the present invention will now be described in detail with reference to the accompanying drawings, but the present invention is not limited thereto but only by the claims. In the accompanying drawings, for illustrative purposes, the sizes of some of the elements may be exaggerated and not drawn to scale. Wherever possible, the same reference numerals will be used in all drawings to represent the same or similar parts.

[0026] Although the terms used in the present invention are selected from well-known and commonly used terms, some of the terms mentioned in the present invention specification may be selected by the applicant at his or her discretion, and their detailed meanings are explained in the relevant parts of the description of this article. In addition, it is required to understand the present invention not only by the actual terms used, but also by the meaning contained in each term.

[0027] In the description provided herein, numerous specific details are set forth. However, it should be understood that embodiments of the present invention may be practiced without these specific details. In other examples, well-known methods, structures, and techniques are not shown in detail to avoid obscuring an understanding of the present invention.

[0028] Figure 1 A schematic diagram of a data processing flow 100 for high integrity data transmission decision according to an embodiment of the present invention is shown. The end system can be implemented on a chip, such as a network processing chip, a protocol chip, etc. Before the end system sends the data to be transmitted to the network, the end system needs to perform a data qualification check. The data qualification check can be divided into three stages, including data validity analysis 102, cross-check 104, and transmission decision 106.

[0029] Specifically, when the end system receives data to be sent to the network from the host, at the data validity analysis 102, during the first time period, the end system may poll all its virtual links (Virtual Link, VL) for a time window to determine on which VLs there is data to be sent. The time window may be, for example, 5us. For example, it is assumed that the end system may have 256 VLs, and after polling the 256 VLs, the end system may determine on which VLs there is data to be sent. It should be understood that 256 VLs are only an example of the number of VLs, and the number of VLs of the present invention is not limited thereto.

[0030] During the first time period, the end system can check which VLs meet the bandwidth requirements among the VLs where data to be sent exists. The VL bandwidth requirement indicates the minimum sending interval time of the network data packets belonging to the VL. For example, 1000us means that after the VL sends the last message, no matter whether the VL has any messages to send, it must wait for at least 1000us. The VL bandwidth requirement is set in the bandwidth configuration table according to the network system. Since the network is a gigabit system, in order to ensure that the entire network system is not congested, it is necessary to make corresponding restrictions on the VLs that can be sent by each end system at a certain time, so as to balance between the real-time nature of the VL and the upper limit of the network bandwidth. In one embodiment, the bandwidth requirement of the VL can be determined according to the bandwidth configuration table.

[0031] During the first time period, the end system can determine which VLs of all VLs in the time window are allowed to send data, that is, the current time slot sends the permission flag. The current time slot sends the permission flag to indicate whether the VL defined in the transmission table in the time window has the permission to send. If the VL does not have the permission to send, then in the time window, even if the VL has data to be sent and meets the time interval in the bandwidth configuration table, that is, meets the bandwidth requirement, the data cannot be sent. In one embodiment, the current time slot sends the permission flag can be determined according to the transmission table.

[0032] Figure 2 A schematic diagram of a transmission table 200 according to an embodiment of the present invention is shown. Taking 64 VLs as an example, the transmission table 200 divides time into multiple time slices, and in a specified time slice (i.e., a time window), only some VLs in all VLs are allowed to send data. For example, only VL1, 2, etc. are allowed to send data during 0-5us, only VL64, etc. are allowed to send data during 5-10us, and so on. The length of the time slice (or time window) can be determined based on the number of all VLs of the end system and the clock frequency of the end system. As an example, the length of a time window here is 5us. 64 VLs are only used as an example, and the number of VLs in the transmission table can also be 256, etc. Therefore, even if a VL has data to be sent on both the local end system and the opposite end system, and meets the bandwidth requirements, if the VL does not have the permission to send within the time window, then this VL will not be sent. The transmission table can be used to smooth the peak value of sent data. If there is no transmission table for screening, if at a certain moment there are many VLs that meet the conditions other than the transmission table and are waiting to be sent, there will be a high transmission peak at that moment, which is not conducive to the design of the network subsystem. The transmission table is only an example, and the transmission table can be set according to the network, not limited to Figure 2 shown.

[0033] return Figure 1 Next, at the cross-check 104, during a second time period after the first time period, the local end system and the peer end system exchange check results with each other to implement the cross-check.

[0034] The design of cross-checking end systems is utilized, that is, there are two channels, there is a host and an end system in each of the two channels, the hosts in the two channels are synchronized, and the end systems in the two channels are also synchronized. Since the two hosts run the same program, the data sent by the two hosts to their end systems are also the same. By setting two synchronized channels, cross-checking between channels can be achieved, thereby improving the high integrity of data transmission. However, although the data to be sent received by the two end systems are the same, since the data sending behavior of the hosts cannot be completely synchronized, the time when the two end systems receive the same data may be different. Therefore, when the end system polls all VLs, the VLs with data to be sent in the two end systems may be different at the same time, and therefore the VLs with data to be sent and meeting the bandwidth requirements may also be different. Therefore, the two end systems need to exchange the results obtained at the data validity analysis 102 for cross-checking, so as to find out the data that is valid at the same time on the end systems of the two channels.

[0035] Subsequently, at the sending decision 106, during a third time period after the second time period, the end system may make a sending decision, including determining, based on the inspection results of the local end system and the opposite end system, that there is data to be sent on the local end system and the opposite end system, the same VL that meets the bandwidth requirements and allows data to be sent within the time window, and transmitting the identifier of the same VL to the control command queue to control the framer to send the data.

[0036] Finally, at the data transmission and protocol stack processing 108, the control command queue can be used to control the framer to organize the data to be transmitted on the VL into Ethernet frames containing VL information for transmission.

[0037] Figure 3 FIG. 3 is a block diagram of a high integrity data transmission decision unit 300 according to an embodiment of the present invention. The high integrity data transmission decision unit 300 may include a data validity analysis module 310 , a cross-check module 320 , and a transmission decision module 330 .

[0038] The data validity analysis module 310 may include a data validity analysis component 312, a modulator analysis component 314, and a scheduling counter 316. The data validity analysis module 310 may perform a first operation for a first time window during a first time period. The first time window may be 5us. During the first time period, the data validity analysis component 312 may poll all virtual links (VLs) of the end system to determine the local data validity state. The local data validity state may indicate the identification of the first VL (including one or more VLs) in all VLs where data to be sent exists. For example, the result of the search by the data validity analysis component 312 is that there is data to be sent on VLs 25, 29, 35, 55, and 60 of the local end system. During the first time period, the modulator analysis component 314 may determine the local bandwidth requirement satisfaction state, which may indicate the identification of the VL that meets the bandwidth requirement in the first VL in all VLs where data to be sent exists. For example, the bandwidth requirement may indicate the minimum transmission interval time between two data transmissions of the same VL. In one embodiment, the modulator analysis component 314 may determine the bandwidth requirement of the VL according to the bandwidth configuration table. For example, the result of the check by the modulator analysis component 314 is that among the previously found VLs 25, 29, 35, 55, 60 with data to be sent, VLs 25, 29, 55, 60 meet the bandwidth requirement. During the first time period, the scheduling counter 316 can determine the current time slot permission flag, which can indicate the identification of the second VL (including one or more VLs) in all VLs of the end system that is allowed to send data within the first time window. In one embodiment, the scheduling counter 316 can determine the current time slot transmission permission flag according to the transmission table. For example, the result of the check by the scheduling counter 316 is that the local end system allows VLs 25, 45, 51, 63 to send data within the first time window. In one embodiment, the first time period can be determined based on at least the number and clock frequency of all VLs of the end system. As an example, since the clock frequency of the end system is set to 125MHz and the maximum number of VLs on the end system is set to 256, the first time period consumed by the data validity analysis is 5us.

[0039] The cross-check module 320 can be coupled to the data validity analysis module 310, and the cross-check module 320 can include a buffer transmission management component 322, a buffer reception management component 324, a modulator transmission management component 326, and a modulator reception management component 328. The cross-check module 320 can perform a second operation for the first time window during a second time period after the first time period. During the second time period, the buffer transmission management component 322 can send the local data validity status of the end system to the peer end system 350 (e.g., a cross-check module of the peer end system 350). According to the above example, the buffer transmission management component 322 is used to send the identification of VL 25, 29, 35, 55, 60 to the peer end system 350. During the second time period, the buffer reception management component 324 may receive a peer data valid status from the peer end system 350 (e.g., a cross-check module of the peer end system 350), and the peer data valid status may indicate an identifier of a third VL (including one or more VLs) in all VLs of the peer end system 350 where data to be transmitted exists. For example, the buffer reception management component 324 is used to receive the identifiers of VLs 25, 35, and 60 from the peer end system 350. During the second time period, the modulator transmission management component 326 may send the local bandwidth requirement satisfaction status of the end system to the peer end system 350 (e.g., a cross-check module of the peer end system 350). For example, the modulator transmission management component 326 is used to send the identifiers of VLs 25, 29, 55, and 60 to the peer end system 350. During the second time period, the modulator reception management component 328 may receive a peer bandwidth requirement satisfaction status from the peer end system 350 (e.g., a cross-check module of the peer end system 350), and the peer bandwidth requirement satisfaction status may indicate an identification of a VL in the third VL that meets the bandwidth requirement. For example, the modulator reception management component 328 is configured to receive an identification of a VL 25, 60 of the peer end system 350 that has data to be sent and meets the bandwidth requirement.

[0040] The sending decision module 330 may be coupled to the data validity analysis module 310 and the cross-check module 320. The sending decision module 330 may perform a third operation for the first time window during a third time period after the second time period. During the third time period, the sending decision module 330 may determine that there is data to be sent on the local end system and the opposite end system, the bandwidth requirement is met, and the same VL that allows data to be sent within the first time window based on the local data valid state, the local bandwidth requirement satisfaction state, the opposite end data valid state, the opposite end bandwidth requirement satisfaction state, and the current time slot allowed flag, and transmit the identifier of the same VL to the control command queue, which is used to control the framer 340 to send data. For example, according to the above example, the sending decision module 330 can take the intersection of (1) local data valid status VL 25, 29, 35, 55, 60, (2) local bandwidth requirement satisfaction status VL 25, 29, 55, 60, (3) peer data valid status VL 25, 35, 60, (4) peer bandwidth requirement satisfaction status VL 25, 60, and (5) current time slot permission flag VL 25, 45, 51, 63 to determine that the same VL is VL 25, and send the identifier of VL 25 to the control command queue to control the framer 340 to send data.

[0041] In one embodiment, the first time period, the second time period, and the third time period may be the same. In one embodiment, the first time period, the second time period, and the third time period may be 5 us.

[0042] In order to reduce network delay, the present invention further proposes to pipeline the data processing flow of high integrity data sending decision. Figure 4 FIG. 4 is a schematic diagram showing a data processing flow 400 for high integrity data transmission decision according to another embodiment of the present invention. Figure 1 The same operations are represented by the same reference numerals. During the second time period, while the cross-check 104 for the first time window in the first round of data qualification check is being performed, the data validity analysis 402 for the second time window in the second round of data qualification check is being performed in parallel. The second time window is immediately following the first time window. During the third time period, while the sending decision 106 for the first time window in the first round of data qualification check is being performed, the cross-check 404 for the second time window in the second round of data qualification check is being performed in parallel. Further, at the sending decision 406 for the second time window in the second round of data qualification check, during a fourth time period after the third time period, the end system may make a sending decision. Finally, at the data sending and protocol stack processing 408, the control command queue may be used to control the framer to organize the data to be sent on the VL into Ethernet frames containing VL information for sending.

[0043] It should be understood that although Figure 4 Only two rounds of data qualification checking are shown, but embodiments of the present invention may include more rounds of pipelined data qualification checking.

[0044] Since the time spent on cross-checking on each end system may be different, if data validity analysis and cross-checking are performed in the same stage, the jitter of data qualification checking may be very different. In the embodiment of the present application, by splitting the data validity analysis and cross-checking into two stages, since the time consumption of data validity analysis is relatively fixed, it can be guaranteed that a new round of data validity analysis is performed every fixed period (for example, 5us), so the jitter of data qualification checking can be kept at a fixed period (i.e., 5us), thereby achieving relatively small and stable jitter.

[0045] By setting up pipelines for data qualification checks, each VL can send data every time it obtains resources, thereby reducing the buffer required by the end system to store data. By evenly allocating the time slots (i.e., time windows) allowed to be sent by each VL through the transmission table, it is possible to prevent too many VLs from being allowed to send in a certain time window of the transmission table, thereby improving the fluctuation of the total network bandwidth peak. As a result, the utilization of hardware resources is maximized and the data transmission efficiency of the end system is improved.

[0046] return Figure 3 In order to pipeline the data processing flow of the high-integrity data sending decision, in one embodiment, during the second time period, while the cross-check module 320 performs the second operation on the first window, the data validity analysis module 310 can be further used to re-execute the first operation on the second time window.

[0047] In one embodiment, during the third time period, while the sending decision module 330 performs the third operation for the first time window, the cross-check module 320 may be further configured to re-execute the second operation for the second time window.

[0048] In one embodiment, the first time period, the second time period, and the third time period may be the same. In one embodiment, the first time period, the second time period, and the third time period may be 5 us.

[0049] Figure 5 FIG. 3 shows a detailed diagram of a high integrity data transmission decision unit 300 according to an embodiment of the present invention. The circle with an arrow in the figure indicates that the component operates with a periodic polling of, for example, 5 us. Figure 3The same components are represented by the same reference numerals. In the first round of data qualification check, the data validity analysis component 312, the regulator analysis component 314, and the SCH (scheduling) counter 316 run in the first time cycle of the pipeline (for example, the first 5us). The BUF (buffer) transmission management component 322, the BUF (buffer) reception management component 324, the REG (modulator) transmission management component 326, and the REG (modulator) reception management component 328 run in the second time cycle of the pipeline (for example, the second 5us). The transmission decision module 330 runs in the third time cycle of the pipeline (for example, the third 5us).

[0050] During the first time period of the pipeline (e.g., the first 5us), the data validity analysis component 312 is used to poll all virtual links of the local end system for the first time window (e.g., 5us) to find which VLs of all VLs have data to be sent. The Regulator analysis component 314 is used to check which VLs of the VLs with data to be sent meet the waiting time exceeding the sending time interval specified for the VL in the bandwidth configuration table (i.e., meet the bandwidth requirement). The SCH (scheduling) counter 316 is used to check which VLs of all VLs are allowed to send data within the first time window according to the transmission table.

[0051] During the second time period of the pipeline (e.g., the second 5us), the BUF (buffer) sending management component 322 is used to send the identification of the VL in the local VL that has data to be sent within the first time window (i.e., the result of the search by the data validity analysis component 312) to the peer end system. The BUF (buffer) receiving management component 324 is used to receive the identification of the VL in the peer end system that has data to be sent within the first time window. The REG (modulator) sending management component 326 is used to send the identification of the VL in the local VL that has data to be sent within the first time window and meets the bandwidth requirement (i.e., the result of the check by the Regulator (modulator) analysis component 314) to the peer end system. The REG (modulator) receiving management component 328 is used to receive the identification of the VL in the peer end system that has data to be sent within the first time window and meets the bandwidth requirement.

[0052] During the second time cycle of the pipeline, while the BUF (buffer) sending management component 322, the BUF (buffer) receiving management component 324, the REG (modulator) sending management component 326, and the REG (modulator) receiving management component 328 are performing operations for the first time window, in the second round of data qualification check, the data validity analysis component 312, the Regulator (modulator) analysis component 314, and the SCH (scheduling) counter 316 can re-perform operations for the second time window.

[0053] During the third time period of the pipeline (for example, the third 5us), the sending decision module 330 is used to determine the same VL on the local end system and the opposite end system for the first time window, where there is data to be sent and the bandwidth requirements are met and the data is allowed to be sent, based on the operating results of the BUF (buffer) sending management component 322, the BUF (buffer) receiving management component 324, the Regulator (modulator) analysis component 314, the REG (modulator) receiving management component 328, and the SCH (scheduling) counter 316, and send the identifier of the same VL to the control command queue to control the framer to send data.

[0054] During the third time cycle of the pipeline, while the sending decision module 330 performs operations for the first time window, in the second round of data qualification check, the BUF (buffer) sending management component 322, the BUF (buffer) receiving management component 324, the REG (modulator) sending management component 326, and the REG (modulator) receiving management component 328 can re-execute operations for the second time window.

[0055] Through the pipeline operation of the present invention, the delay can be reduced from 150us of the ARINC664 standard to 15us, and the jitter of 40+us of the ARINC664 standard can be reduced to 5us, and the scale of logic gates does not increase significantly.

[0056] Figure 6 A flow chart of a method 600 for high integrity data transmission decision according to an embodiment of the present invention is shown.

[0057] At step 602, a first operation may be performed for a first time window during a first time period. The first operation may include: polling all virtual links (VLs) of the local end system to determine a local data validity state, wherein the local data validity state indicates an identifier of a first VL in all VLs that has data to be sent; determining a local bandwidth requirement satisfaction state, wherein the local bandwidth requirement satisfaction state indicates an identifier of a VL in the first VL that satisfies a bandwidth requirement, and the bandwidth requirement indicates a minimum transmission interval time between two data transmissions of the same VL; and determining a current time slot permission flag, wherein the current time slot permission flag indicates an identifier of a second VL in all VLs of the local end system that is allowed to send data within the first time window. In one embodiment, the first time period may be determined based at least on the number and clock frequency of all VLs in the local end system. For example, the first time period may be 5us.

[0058] At step 604, a second operation may be performed for the first time window during a second time period after the first time period. The second operation may include: sending a local data validity status of the local end system to the peer end system; receiving a peer data validity status from the peer end system, wherein the peer data validity status indicates an identifier of a third VL having data to be sent among all VLs of the peer end system; sending a local bandwidth requirement satisfaction status of the local end system to the peer end system; and receiving a peer bandwidth requirement satisfaction status from the peer end system, wherein the peer bandwidth requirement satisfaction status indicates an identifier of a VL that satisfies the bandwidth requirement among the third VLs.

[0059] At step 606, a third operation may be performed for the first time window during a third time period after the second time period. The third operation may include: determining that there is data to be sent on the local end system and the opposite end system, the bandwidth requirement is met, and the same VL that is allowed to send data within the first time window based on the local data valid state, the local bandwidth requirement satisfaction state, the opposite end data valid state, the opposite end bandwidth requirement satisfaction state, and the current time slot allowed flag; and transmitting the identifier of the same VL to the control command queue, the control command queue is used to control the framer to send data.

[0060] In one embodiment, the method 600 may further include: re-performing the first operation for a second time window during a second time period.

[0061] In one embodiment, the method 600 may further include: re-performing the second operation for the second time window during a third time period.

[0062] In one embodiment, the first time period, the second time period, and the third time period may be the same. In one embodiment, the first time period, the second time period, and the third time period may be 5 us.

[0063] In one embodiment, the method 600 may further include: determining a bandwidth requirement of the VL according to the bandwidth configuration table.

[0064] In one embodiment, the method 600 may further include: determining a transmission permission flag for the current time slot according to the transmission table.

[0065] By setting the transmission logic of the end system in a pipelined manner, the buffer required for storing data in the end system can be reduced, the workload of configuring the transmission table can be reduced, the data transmission efficiency of the end system can be improved, and the delay and jitter specified by the ARINC664 standard can be reduced. At the same time, the number of required logic gates can be reduced, and the utilization rate of hardware resources can be improved.

[0066] References throughout this specification to "one embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. Thus, the phrases "in one embodiment" or "in an embodiment" appearing in various places throughout this specification are not necessarily all references to the same embodiment, but may refer to the same embodiment. Furthermore, in one or more embodiments, as will be apparent to one of ordinary skill in the art from this disclosure, the particular features, structures, or characteristics may be combined in any suitable manner.

[0067] Similarly, it should be appreciated that in the description of exemplary embodiments of the invention, for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects, the various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof. However, this method of disclosure should not be interpreted as reflecting an intention that the claimed invention requires more features than those expressly recited in each claim. On the contrary, as reflected in the appended claims, the inventive aspects lie in fewer features than all of the features of a single preceding disclosed embodiment. Therefore, the claims appended hereto are hereby expressly incorporated into this detailed description, with each claim itself representing a separate embodiment of the invention.

[0068] In addition, although some embodiments described herein include some features included in other embodiments but do not include other features included in other embodiments, the combination of features of different embodiments is intended to fall within the scope of the present invention and form different embodiments as will be understood by those skilled in the art. For example, in the appended claims, any of the claimed embodiments may be used in any combination.

[0069] As used herein, the term module may include a packaged functional hardware unit designed to be used with other components, a set of instructions executable by a controller (e.g., a processor executing software or firmware), a processing circuit configured to perform a specific function, and a self-contained hardware or software component that interfaces with a larger system. For example, a module may include an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a circuit, a digital logic circuit, an analog circuit, a discrete circuit, a gate, and a combination or combination of other types of hardware. In other embodiments, a module may include a memory that stores instructions that can be executed by a controller to implement the features of the module.

[0070] It will be apparent to those skilled in the art that various modifications and variations may be made to the above exemplary embodiments of the present invention without departing from the spirit and scope of the present invention. Therefore, it is intended that the present invention covers modifications and variations of the present invention that fall within the scope of the appended claims and their equivalent technical solutions.

Claims

1. An end system for high integrity data transmission decisions, include: A data validity analysis module, comprising a data validity analysis component, a modulator analysis component and a scheduling counter, wherein the data validity analysis module is used to perform a first operation for a first time window during a first time period, wherein the first operation comprises: The data validity analysis component polls all virtual links (VLs) of the end system to determine a local data validity state, wherein the local data validity state indicates an identifier of a first VL among all VLs that has data to be sent; Determining, by the modulator analysis component, a local bandwidth requirement satisfaction status, wherein the local bandwidth requirement satisfaction status indicates an identifier of a VL in the first VL that satisfies a bandwidth requirement, and the bandwidth requirement indicates a minimum transmission interval time between two data transmissions of the same VL; and Determining a current time slot permission flag by the scheduling counter, wherein the current time slot permission flag indicates an identifier of a second VL in all VLs of the end system that is allowed to send data within the first time window; a cross-check module, coupled to the data validity analysis module, the cross-check module comprising a buffer sending management component, a buffer receiving management component, a modulator sending management component and a modulator receiving management component, the cross-check module being configured to perform a second operation on the first time window during a second time period after the first time period, the second operation comprising: The buffer sending management component sends the local data validity status of the end system to the opposite end system; The buffer receiving management component receives a peer data validity status from the peer end system, wherein the peer data validity status indicates an identifier of a third VL having data to be sent among all VLs of the peer end system; The modem sending management component sends the local bandwidth requirement satisfaction status of the end system to the opposite end system; and The modulator reception management component receives a peer bandwidth requirement satisfaction status from the peer end system, wherein the peer bandwidth requirement satisfaction status indicates an identifier of a VL in the third VL that meets the bandwidth requirement; and a sending decision module, coupled to the data validity analysis module and the cross-checking module, the sending decision module being configured to perform a third operation on the first time window during a third time period after the second time period, the third operation comprising: Determine, based on the local data valid state, the local bandwidth requirement satisfied state, the peer data valid state, the peer bandwidth requirement satisfied state and the current time slot allowed flag, that the end system and the peer end system have data to be sent, meet the bandwidth requirement, and allow the same VL for sending data within the first time window; and The identifier of the same VL is transmitted to a control command queue, where the control command queue is used to control a framer to send data.

2. The end system according to claim 1, It is characterized in that The data validity analysis module is further used to: re-execute the first operation for a second time window during the second time period.

3. The end system according to claim 2, It is characterized in that The cross-check module is further configured to: re-execute the second operation for the second time window during the third time period.

4. The end system according to claim 1, It is characterized in that The first time period is determined based on at least the number and clock frequency of all VLs of the end system.

5. The end system according to claim 1, It is characterized in that The first time period, the second time period, and the third time period are the same.

6. The end system according to claim 1, It is characterized in that The modulator analysis component is further configured to determine a bandwidth requirement of the VL according to a bandwidth configuration table.

7. The end system according to claim 1, It is characterized in that The scheduling counter is further used to determine the sending permission flag of the current time slot according to the transmission table.

8. A method for high integrity data transmission decision, include: Performing a first operation for a first time window during a first time period, the first operation comprising: Polling all virtual links (VLs) of the local end system to determine a local data validity state, wherein the local data validity state indicates an identifier of a first VL among all VLs that has data to be sent; Determine a local bandwidth requirement satisfaction state, wherein the local bandwidth requirement satisfaction state indicates an identifier of a VL in the first VL that satisfies a bandwidth requirement, and the bandwidth requirement indicates a minimum transmission interval time between two data transmissions of the same VL; and Determine a current time slot permission flag, wherein the current time slot permission flag indicates an identifier of a second VL in all VLs of the local end system that is allowed to send data within the first time window; perform a second operation on the first time window during a second time period after the first time period, the second operation comprising: Sending the local data validity status of the local end system to the peer end system; Receiving a peer data validity status from the peer end system, wherein the peer data validity status indicates an identifier of a third VL having data to be sent among all VLs of the peer end system; Sending the local bandwidth requirement satisfaction status of the local end system to the peer end system; and receiving a peer bandwidth requirement satisfaction status from the peer end system, wherein the peer bandwidth requirement satisfaction status indicates an identifier of a VL in the third VL that meets the bandwidth requirement; and Performing a third operation on the first time window during a third time period after the second time period, the third operation comprising: Determine, based on the local data valid state, the local bandwidth requirement satisfied state, the peer data valid state, the peer bandwidth requirement satisfied state and the current time slot allowed flag, that the local end system and the peer end system have data to be sent, meet the bandwidth requirement, and allow the same VL for sending data within the first time window; and The identifier of the same VL is transmitted to a control command queue, where the control command queue is used to control a framer to send data.

9. The method according to claim 8, It is characterized in that Further including: The first operation is re-performed for a second time window during the second time period.

10. The method according to claim 9, It is characterized in that Further including: The second operation is re-performed for the second time window during the third time period.

11. The method according to claim 8, It is characterized in that The first time period is determined based on at least the number and clock frequency of all VLs of the local end system.

12. The method according to claim 8, It is characterized in that The first time period, the second time period, and the third time period are the same.

13. The method according to claim 8, It is characterized in that Further including: Determine the bandwidth requirements of the VL according to the bandwidth configuration table.

14. The method according to claim 8, It is characterized in that Further including: The sending permission flag of the current time slot is determined according to the transmission table.

Citation Information

Patent Citations

  • Data frame scheduling method based on virtual links

    CN104717149A

  • Module for supporting high-integrity redundancy management on AFDX terminal

    CN113422714A

  • AFDX bus data scheduling method and device

    CN114726678A

  • Methods, systems, and apparatuses for enhanced parallelism of time-triggered ethernet traffic using interference-cognizant network scheduling

    US20220200931A1