End systems and methods for making high-integrity data transmission decisions
By introducing data validity analysis, cross-checking, and transmission decision modules into the ARINC 664 network and adopting pipelined processing, the network latency and jitter problems caused by the high integrity cross-checking design were solved, achieving efficient data transmission and resource utilization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GE AVIC CIVIL AVIONICS SYST CO LTD
- Filing Date
- 2023-11-23
- Publication Date
- 2026-04-17
AI Technical Summary
After the ARINC 664 network was upgraded to 1Gbit/s speed, the high integrity cross-check design of the end system increased network latency and jitter, affecting network performance.
The system employs a data validity analysis module, a cross-checking module, and a transmission decision module. Data qualification checks are performed in stages over time periods, including data validity analysis, cross-checking, and transmission decision-making. Data transmission is optimized using transmission tables and bandwidth configuration tables to achieve pipelined processing.
It reduces network latency and jitter, improves data transmission efficiency, reduces hardware resource requirements, and optimizes network bandwidth peak fluctuations.
Smart Images

Figure CN120034440B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to end systems and methods for making decisions on high-integrity data transmission, and more particularly to low-latency, low-jitter designs for cross-checking end systems. Background Technology
[0002] ARINC 664 networking is a mainstream network solution in avionics. Considering future network upgrades to 1Gbit / s speeds, ARINC 664 end systems also need to support 1Gbit / s bandwidth. To achieve this performance, the end systems should be designed to increase data capacity. Introducing a high-integrity cross-check design into the end systems requires additional time costs for synchronization and cross-checking between the two end systems. This increases the latency of each virtual link (VL) from the source end system to the destination end system, thereby increasing network jitter and negatively impacting the network. Summary of the Invention
[0003] It should be understood that the above general description and the following detailed description of the invention are exemplary and illustrative, and are intended to provide further explanation of the invention as described in the claims.
[0004] According to one aspect of the present invention, an end system for high-integrity data transmission decision-making is provided, comprising: a data validity analysis module, including a data validity analysis component, a modulator analysis component, and a scheduling counter, wherein the data validity analysis module is configured to perform a first operation for a first time window during a first time period, the first operation comprising: polling all virtual links (VLs) of the end system by the data validity analysis component to determine a local data validity status, wherein the local data validity status indicates an identifier of a first VL containing data to be transmitted; and determining a local bandwidth requirement satisfaction status by the modulator analysis component, wherein the local bandwidth requirement satisfaction status indicates that the first VL is full. The system includes: an identifier for a VL that meets the bandwidth requirement, the bandwidth requirement indicating the minimum transmission interval between two data transmissions of the same VL; a current time slot allow flag determined by the scheduling counter, wherein the current time slot allow flag indicates the identifier of the second VL among all VLs of the end system that is allowed to transmit data within the first time window; and a cross-checking module coupled to the data validity analysis module, the cross-checking module including a buffer transmit management component, a buffer receive management component, a modulator transmit management component, and a modulator receive management component, the cross-checking module being used to perform a second operation for the first time window during a second time period following the first time period, the second operation... This includes: the buffer transmit management component transmitting the local data validity status of the end system to the peer end system; the buffer receive management component receiving the peer data validity status from the peer end system, wherein the peer data validity status indicates the identifier of a third VL (Volume Level) containing data to be transmitted among all VLs (Volume Levels) of the peer end system; the modulator transmit management component transmitting the local bandwidth requirement satisfied status of the end system to the peer end system; and the modulator receive management component receiving the peer bandwidth requirement satisfied status from the peer end system, wherein the peer bandwidth requirement satisfied status indicates the identifier of the VL (Volume Level) that meets the bandwidth requirement among the third VLs; and a transmit decision module. Coupled to the data validity analysis module and the cross-checking module, the transmission decision module is used to perform a third operation for the first time window during a third time period after the second time period. The third operation includes: determining, 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 allow flag, that there is the same VL (Vacuum Level) on the end system and the peer end system that has data to be transmitted, meets the bandwidth requirement, and is allowed to transmit data within the first time window; and transmitting the identifier of the same VL to the control command queue, which is used to control the framer to transmit data.
[0005] In the aforementioned terminal system, the data validity analysis module is further configured to: re-execute the first operation for a second time window during the second time period.
[0006] In the aforementioned terminal system, the cross-checking module is further configured to: re-execute the second operation for the second time window during the third time period.
[0007] In the aforementioned terminal system, the first time period is determined at least based on the number of all VLs and the clock frequency of the terminal system.
[0008] In the aforementioned terminal system, the first time period, the second time period, and the third time period are the same.
[0009] In the aforementioned terminal system, the modulator analysis component is further used to determine the bandwidth requirements of VL based on the bandwidth configuration table.
[0010] In the aforementioned terminal system, the scheduling counter is further used to determine the current time slot transmission permission flag based on 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 status, wherein the local data validity status indicates an identifier of a first VL among all VLs that has data to be transmitted; determining a local bandwidth requirement satisfaction status, wherein the local bandwidth requirement satisfaction status indicates an identifier of a VL among the first VLs that meets the bandwidth requirement, the bandwidth requirement indicating the minimum transmission interval time between two data transmissions of the same VL; and determining a current time slot allow flag, wherein the current time slot allow flag indicates an identifier of a second VL among 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: transmitting the local data validity status of the local end system to a peer end system; receiving data from the peer end system; and performing a second operation for the first time window during a second time period after the first time period, the second operation comprising: transmitting the local data validity status of the local end system to a peer end system; and ... The system considers the following: a peer data validity status, where the peer data validity status indicates the identifier of a third VL (Variable Level) containing data to be transmitted among all VLs (Variable Levels) of the peer system; sending the local bandwidth requirement satisfied status of the local system to the peer system; receiving the peer bandwidth requirement satisfied status from the peer system, where the peer bandwidth requirement satisfied status indicates the identifier of a VL (Variable Level) among the third VLs that meets the bandwidth requirement; and performing a third operation for the first time window during a third time period following the second time period, the third operation including: determining, based on the local data validity status, the local bandwidth requirement satisfied status, the peer data validity status, the peer bandwidth requirement satisfied status, and the current time slot allow flag, that the local system and the peer system have the same VL containing data to be transmitted, meet the bandwidth requirement, and are allowed to transmit data within the first time window; and transmitting the identifier of the same VL to a control command queue, the control command queue being used to control the framer to transmit data.
[0012] The method described above further includes: re-executing the first operation for a second time window during the second time period.
[0013] The method described above 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 at least based on the number of all VLs and the clock frequency of the local terminal system.
[0015] In the above method, the first time period, the second time period, and the third time period are the same.
[0016] The above method further includes: determining the bandwidth requirements of the VL based on the bandwidth configuration table.
[0017] The method described above further includes: determining the current time slot transmission permission flag based on the transmission table. Attached Figure Description
[0018] The accompanying drawings are included to provide a further understanding of the invention; they are incorporated into and constitute a part of this application. The drawings illustrate embodiments of the invention and, together with this specification, serve to explain the principles of the invention. In the drawings:
[0019] Figure 1 A schematic diagram of the data processing flow for high-integrity data transmission decision-making according to an embodiment of the present invention is shown;
[0020] Figure 2 A schematic diagram of a transfer 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 of the data processing flow for high-integrity data transmission decision-making according to another embodiment of the present invention is shown;
[0023] Figure 5 A detailed diagram of a high-integrity data transmission decision unit according to an embodiment of the present invention is shown; and
[0024] Figure 6 A flowchart of a method for making high-integrity data transmission decisions according to an embodiment of the present invention is shown. Detailed Implementation
[0025] Embodiments of the invention will now be described in detail with reference to the accompanying drawings, but the invention is not limited thereto but is defined solely by the claims. In the drawings, some elements may be enlarged and drawn out of scale for illustrative purposes. Wherever possible, the same reference numerals will be used in all drawings to denote the same or similar parts.
[0026] Although the terminology used in this invention is selected from commonly known and used terms, some terms mentioned in this specification may have been chosen by the applicant in his or her judgment, and their detailed meanings are explained in the relevant sections of the description herein. Furthermore, the invention should be understood not only by the actual terms used, but also by the meaning implied by each term.
[0027] Numerous specific details are set forth in the description provided herein. However, it should be understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of the invention.
[0028] Figure 1 A schematic diagram of a data processing flow 100 for high-integrity data transmission decision-making 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, 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-checking 104, and transmission decision 106.
[0029] Specifically, when the end system receives data from the host to be sent over the network, during data validity analysis 102, in the first time period, the end system can poll all its virtual links (VLs) for a time window to determine which VLs contain data to be sent. This time window can be, for example, 5 µs. For example, assuming the end system can have 256 VLs, and after polling 256 VLs, the end system can determine which VLs contain data to be sent. It should be understood that 256 VLs is merely an example of the number of VLs, and the number of VLs in this invention is not limited to this.
[0030] During the first time period, the end system can check which VLs (Volume Levels) with pending data meet the bandwidth requirements. The VL bandwidth requirement indicates the minimum transmission interval for network packets belonging to that VL. For example, 1000µs means that after the VL has sent its previous message, regardless of whether there are any more messages to send, it must wait at least 1000µs. The VL bandwidth requirement is based on the bandwidth configuration table set by the network system. Since the network is a gigabit system, to prevent congestion, it is necessary to impose corresponding restrictions on the VLs that each end system can send at a given time, balancing the real-time nature of VLs with the network bandwidth limit. In one embodiment, the VL bandwidth requirement can be determined based on the bandwidth configuration table.
[0031] During the first time period, the end system can determine which VLs (Volumes) among all VLs in that time window are allowed to send data, i.e., the current time slot transmission permission flag. The current time slot transmission permission flag indicates whether the VL defined in the transmission table has transmission permission for that time window. If the VL does not have transmission permission, then even if there is data to be sent in that VL and the time interval in the bandwidth configuration table is met (i.e., the bandwidth requirement is satisfied), the data cannot be sent during that time window. In one embodiment, the current time slot transmission permission flag can be determined based on 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. Within a specified time slice (i.e., a time window), only certain VLs among all VLs are allowed to send data. For example, only VL1, 2, etc., are allowed to send data during the 0-5µs period, and only VL64, etc., are allowed to send data during the 5-10µs period, and so on. The length of the time slice (or time window) can be determined based on the number of all VLs in the end system and the clock frequency of the end system. As an example, the length of a time window here is 5µs. 64 VLs are only an example; the number of VLs in the transmission table can also be 256, etc. Therefore, even if a certain VL has data to be sent on both the local end system and the peer end system, and the bandwidth requirements are met, if the VL does not have transmission permission within the time window, then this VL will not be sent. The transmission table can be used to smooth out peak transmission data. Without a transmission table for filtering, if many Virtual Loads (VLs) simultaneously meet conditions other than those listed in the transmission table and are ready to be sent, there will be a very high transmission peak at that moment, which is detrimental to the design of the network subsystem. This transmission table is merely an example; the transmission table can be configured according to the network and is not limited to this. Figure 2 As shown.
[0033] return Figure 1 Next, at cross-check 104, during the second time period following the first time period, the local end system and the peer end system exchange check results to achieve cross-check.
[0034] The design utilizes a cross-checking end-system, where two channels exist, each containing a host and an end system. The hosts and end systems in both channels are synchronized. Since both hosts run the same program, the data they send to their respective end systems is identical. By setting up two synchronized channels, cross-checking between channels can be implemented, thereby improving the high integrity of data transmission. However, although the two end systems receive the same data to be sent, the timing of receiving the same data may differ because the hosts' data transmission behavior is not perfectly synchronized. Therefore, when the end system polls all VLs (Values Listed), the VLs containing data to be sent in the two end systems may differ at the same time, and consequently, the VLs containing data to be sent and meeting the bandwidth requirements may also differ. Therefore, the two end systems need to exchange the results obtained at data validity analysis 102 to perform cross-checking to identify data that is valid simultaneously on both end systems in both channels.
[0035] Subsequently, at transmission decision 106, during the third time period following the second time period, the end system can make a transmission decision, including determining, based on the check results of the local end system and the peer end system, that there is data to be transmitted on the local end system and the peer end system, that meets the bandwidth requirements, and that data transmission is allowed within the time window, and transmitting the identifier of the same VL to the control command queue to control the framer to transmit data.
[0036] Finally, at 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 A block diagram of a high-integrity data transmission decision unit 300 according to an embodiment of the present invention is shown. The high-integrity data transmission decision unit 300 may include a data validity analysis module 310, a cross-checking 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 5 µs. 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 status. The local data validity status may indicate the identifier of the first VL (including one or more VLs) with data to be transmitted among all VLs. For example, the data validity analysis component 312 may find that data to be transmitted exists 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 status, which may indicate the identifier of the VL that meets the bandwidth requirement among the first VLs with data to be transmitted. For example, the bandwidth requirement may indicate the minimum transmission interval between two data transmissions of the same VL. In one embodiment, the modulator analysis component 314 may determine the bandwidth requirement of a VL based on a bandwidth configuration table. For example, the modulator analysis component 314 checks and finds that among the previously found VLs 25, 29, 35, 55, and 60 containing data to be transmitted, VLs 25, 29, 55, and 60 meet the bandwidth requirements. During the first time period, the scheduling counter 316 can determine the current time slot permission flag, which indicates the identifier of the second VL (including one or more VLs) among all VLs of the end system that is allowed to transmit data within the first time window. In one embodiment, the scheduling counter 316 can determine the current time slot transmission permission flag based on the transmission table. For example, the scheduling counter 316 checks and finds that the local end system allows VLs 25, 45, 51, and 63 to transmit data within the first time window. In one embodiment, the first time period can be determined at least based on the number of all VLs of the end system and the clock frequency. 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 for data validity analysis is 5µs.
[0039] The cross-checking module 320 can be coupled to the data validity analysis module 310. The cross-checking module 320 may include a buffer transmit management component 322, a buffer receive management component 324, a modulator transmit management component 326, and a modulator receive management component 328. The cross-checking module 320 can perform a second operation for a first time window during a second time period following a first time period. During the second time period, the buffer transmit management component 322 can send the local data validity status of the end system to the peer end system 350 (e.g., the cross-checking module of the peer end system 350). According to the above example, the buffer transmit management component 322 is used to send the identifiers of VL 25, 29, 35, 55, and 60 to the peer end system 350. During the second time period, the buffer receive management component 324 may receive a peer data validity status from the peer end system 350 (e.g., the cross-checking module of the peer end system 350). This peer data validity status may indicate the presence of a third VL (including one or more VLs) with data to be transmitted among all VLs of the peer end system 350. For example, the buffer receive management component 324 may receive the identifiers of VLs 25, 35, and 60 from the peer end system 350. During the second time period, the modulator transmit management component 326 may send a local bandwidth requirement fulfillment status of the end system to the peer end system 350 (e.g., the cross-checking module of the peer end system 350). For example, the modulator transmit management component 326 may send the identifiers of VLs 25, 29, 55, and 60 to the peer end system 350. During the second time period, the modulator receive management component 328 may receive a peer bandwidth requirement fulfillment status from the peer end system 350 (e.g., the cross-checking module of the peer end system 350), which may indicate the identifier of the VL in the third VL that meets the bandwidth requirement. For example, the modulator receive management component 328 is used to receive the identifiers of VLs 25 and 60 in the peer end system 350 that have data to be transmitted and whose bandwidth requirements are met.
[0040] The transmission decision module 330 can be coupled to the data validity analysis module 310 and the cross-checking module 320. The transmission decision module 330 can perform a third operation for the first time window during a third time period following the second time period. During the third time period, the transmission decision module 330 can determine, 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 allow flag, that there is data to be transmitted on both the local and peer end systems, that meets the bandwidth requirements, and that data transmission is permitted within the first time window. The module then transmits the identifier of the same VL to the control command queue, which is used to control the framer 340 to transmit data. For example, based on the above example, the sending decision module 330 can take the intersection of (1) local data valid state VL 25, 29, 35, 55, 60, (2) local bandwidth requirement satisfied state VL 25, 29, 55, 60, (3) peer data valid state VL 25, 35, 60, (4) peer bandwidth requirement satisfied state VL 25, 60, and (5) current time slot allow 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 can be the same. In another embodiment, the first time period, the second time period, and the third time period can be 5µs.
[0042] To reduce network latency, this invention further proposes to pipeline the data processing flow for high-integrity data transmission decisions. Figure 4 A schematic diagram of a data processing flow 400 for high-integrity data transmission decision-making according to another embodiment of the present invention is shown. Figure 1 The same operations are indicated by the same reference numerals. During the second time period, the data validity analysis 402 for the second time window in the second round of data qualification checks is performed in parallel with the cross-check 104 for the first time window in the first round of data qualification checks. The second time window immediately follows the first time window. During the third time period, the cross-check 404 for the second time window in the second round of data qualification checks is performed in parallel with the transmission decision 106 for the first time window in the first round of data qualification checks. Furthermore, at the transmission decision 406 for the second time window in the second round of data qualification checks, the end system can make a transmission decision during the fourth time period following the third time period. Finally, at the data transmission and protocol stack processing 408, 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.
[0043] It should be understood that, although Figure 4 Only two rounds of data compliance checks are shown, but embodiments of the present invention may include more rounds of automated data compliance checks.
[0044] Since the time spent on cross-checking may vary on each end system, performing data validity analysis and cross-checking in the same stage can lead to significant differences in jitter during data compliance checks. In the embodiments of this application, by separating data validity analysis and cross-checking into two stages, and given that the time spent on data validity analysis is relatively fixed, a new round of data validity analysis can be performed every fixed period (e.g., 5µs). Therefore, the jitter during data compliance checks can be kept at a fixed period (i.e., 5µs), resulting in relatively small and stable jitter.
[0045] By pipelining the data qualification check, each Virtual License (VL) can send data every time it acquires resources, thus reducing the buffer required for data storage in the end system. Evenly allocating the allowed transmission slots (i.e., time windows) for each VL using a transmission table prevents excessive VL transmission permissions from being granted within a single time window, thereby improving the fluctuation of total network bandwidth peaks. As a result, hardware resource utilization is maximized, improving the data transmission efficiency of the end system.
[0046] return Figure 3 In order to streamline the data processing flow for sending high-integrity data to decisions, in one embodiment, during the second time period, while the cross-checking module 320 performs the second operation for the first window, the data validity analysis module 310 can be further used to re-execute the first operation for 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-checking module 320 can be further used 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 can be the same. In another embodiment, the first time period, the second time period, and the third time period can be 5µs.
[0049] Figure 5 A detailed diagram of a high-integrity data transmission decision unit 300 according to an embodiment of the present invention is shown. Circles with arrows in the diagram indicate that the component operates by polling at a period of, for example, 5 µs. Figure 3The same components are indicated by the same reference numerals. In the first round of data qualification checking, the data validity analysis component 312, the regulator analysis component 314, and the SCH counter 316 operate in the first time cycle of the pipeline (e.g., the first 5µs). The BUF transmit management component 322, the BUF receive management component 324, the REG transmit management component 326, and the REG receive management component 328 operate in the second time cycle of the pipeline (e.g., the second 5µs). The transmit decision module 330 operates in the third time cycle of the pipeline (e.g., the third 5µs).
[0050] During the first time period of the pipeline (e.g., the first 5µs), the data validity analysis component 312 polls all virtual links of the local end system for the first time window (e.g., 5µs) to find which VLs have data to be transmitted. The regulator analysis component 314 checks which VLs with data to be transmitted meet the requirement that the waiting time exceeds the transmission time interval specified for that VL in the bandwidth configuration table (i.e., meet the bandwidth requirement). The SCH (scheduling) counter 316 checks the transmission table to determine which VLs are allowed to transmit data within the first time window.
[0051] During the second time cycle of the pipeline (e.g., the second 5µs), the BUF (Buffer) transmit management component 322 sends the identifiers of VLs with data to be transmitted within the first time window in the local VL (i.e., the result of the lookup by the data validity analysis component 312) to the peer system. The BUF (Buffer) receive management component 324 receives the identifiers of VLs with data to be transmitted within the first time window from the peer system. The REG (Modulator) transmit management component 326 sends the identifiers of VLs with data to be transmitted within the first time window and meeting the bandwidth requirements in the local VL (i.e., the result of the check by the Regulator analysis component 314) to the peer system. The REG (Modulator) receive management component 328 receives the identifiers of VLs with data to be transmitted within the first time window and meeting the bandwidth requirements from the peer system.
[0052] During the second time cycle of the pipeline, while the BUF (buffer) transmit management component 322, BUF (buffer) receive management component 324, REG (modulator) transmit management component 326, and REG (modulator) receive management component 328 are performing operations for the first time window, in the second round of data qualification checks, the data validity analysis component 312, the regulator 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 (e.g., the third 5µs), the transmission decision module 330 determines, based on the operation results of the BUF (Buffer) transmission management component 322, the BUF (Buffer) reception management component 324, the Regulator (Modulator) analysis component 314, the REG (Modulator) reception management component 328, and the SCH (Schedule) counter 316, the same VL (Value Level) that exists for the first time window and meets the bandwidth requirements, allowing data transmission, on both the local end system and the peer end system. The module then sends the identifier of the same VL to the control command queue to control the framer to transmit data.
[0054] During the third time cycle of the pipeline, while the sending decision module 330 is performing operations for the first time window, in the second round of data qualification checks, 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-perform operations for the second time window.
[0055] Through the pipelined operation of this invention, the delay can be reduced from 150us in the ARINC664 standard to 15us, and the jitter of 40+us in the ARINC664 standard can be reduced to 5us, without a significant increase in the size of the logic gates.
[0056] Figure 6 A flowchart of a method 600 for high-integrity data transmission decision-making 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 status, wherein the local data validity status indicates the identifier of a first VL among all VLs that has data to be transmitted; determining a local bandwidth requirement satisfaction status, wherein the local bandwidth requirement satisfaction status indicates the identifier of a VL among the first VLs that meets the bandwidth requirement, and the bandwidth requirement indicates the minimum transmission interval between two data transmissions of the same VL; and determining a current timeslot permission flag, wherein the current timeslot permission flag indicates the identifier of a second VL among all VLs of the local end system that is allowed to transmit data within the first time window. In one embodiment, the first time period may be determined at least based on the number of all VLs of the local end system and the clock frequency. For example, the first time period may be 5 µs.
[0058] At step 604, a second operation can be performed for the first time window during a second time period following the first time period. The second operation may include: sending a local data validity status from 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 the identifier of a third VL (Volume Level) containing data to be sent among all VLs (Volume Levels) of the peer end system; sending a local bandwidth requirement satisfied status from the local end system to the peer end system; and receiving a peer bandwidth requirement satisfied status from the peer end system, wherein the peer bandwidth requirement satisfied status indicates the identifier of the VL (Volume Level) that meets the bandwidth requirement among the third VLs.
[0059] At step 606, a third operation can be performed for the first time window during a third time period following the second time period. The third operation may include: determining, 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 allow flag, that there is the same VL (Vacuum Level) on both the local and peer end systems that has data to be transmitted, meets the bandwidth requirement, and is allowed to transmit data within the first time window; and transmitting the identifier of the same VL to the control command queue, which is used to control the framer to transmit data.
[0060] In one embodiment, method 600 may further include: re-executing the first operation for a second time window during a second time period.
[0061] In one embodiment, method 600 may further include: re-executing the second operation for the second time window during the third time period.
[0062] In one embodiment, the first time period, the second time period, and the third time period can be the same. In another embodiment, the first time period, the second time period, and the third time period can be 5µs.
[0063] In one embodiment, method 600 may further include: determining the bandwidth requirements of the VL based on a bandwidth configuration table.
[0064] In one embodiment, method 600 may further include: determining a current timeslot transmission permission flag based on a transmission table.
[0065] By pipelining the transmission logic of the end system in this application, the buffer required for storing data in the end system can be reduced, the workload of configuring the transmission table can be lessened, the data transmission efficiency of the end system can be improved, and the latency 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] Throughout this specification, the reference to "an embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with that embodiment is included in at least one embodiment of the invention. Therefore, the phrases "in one embodiment" or "in an embodiment" appearing in various places throughout this specification do not necessarily all refer to the same embodiment, but may refer to the same embodiment. Furthermore, in one or more embodiments, as will be apparent to those skilled in the art from this disclosure, particular features, structures, or characteristics may be combined in any suitable manner.
[0067] Similarly, it should be understood that in the description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, drawing, or description for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, this method of disclosure should not be construed as reflecting an intention to claim more features than are expressly recited in each claim. Rather, as reflected in the appended claims, the inventive aspect lies in fewer features than all the features of a single foregoing disclosed embodiment. Therefore, the appended claims are thus explicitly incorporated into this specific embodiment, wherein each claim itself represents a separate embodiment of the invention.
[0068] Furthermore, although some embodiments described herein include some features included in other embodiments but not others, combinations of features from different embodiments are intended to fall within the scope of the invention and form different embodiments as will be understood by those skilled in the art. For example, any embodiment of the claimed embodiments in the appended claims may be used in any combination.
[0069] As used herein, the term "module" can include packaged functional hardware units designed for use with other components, a set of instructions executable by a controller (e.g., a processor executing software or firmware), processing circuitry configured to perform a specific function, and self-contained hardware or software components that interface with a larger system. For example, a module can include application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), circuits, digital logic circuits, analog circuits, discrete circuits, gates, and combinations or combinations of other types of hardware. In other embodiments, a module can include memory storing instructions executable 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 can be made to the exemplary embodiments described above without departing from the spirit and scope of the invention. Therefore, it is intended that this invention cover modifications and variations falling within the scope of the appended claims and their equivalents.
Claims
1. An end system for making high-integrity data transmission decisions, comprising: The data validity analysis module includes a data validity analysis component, a modulator analysis component, and a scheduling counter. The data validity analysis module is used to perform a first operation for a first time window during a first time period. The first operation includes: The data validity analysis component polls all virtual links (VLs) of the end system to determine the local data validity status, wherein the local data validity status indicates the identifier of the first VL among all VLs where data to be sent exists; The modulator analysis component determines a local bandwidth requirement satisfaction status, wherein the local bandwidth requirement satisfaction status indicates the identifier of the VL in the first VL that meets the bandwidth requirement, and the bandwidth requirement indicates the minimum transmission interval between two data transmissions within the same VL; and The current time slot permission flag is determined by the scheduling counter, wherein the current time slot permission flag indicates the identifier of the second VL among all VLs of the end system that is allowed to send data within the first time window; A cross-checking module, coupled to the data validity analysis module, includes a buffer transmit management component, a buffer receive management component, a modulator transmit management component, and a modulator receive management component. The cross-checking module is configured to perform a second operation on the first time window during a second time period following the first time period. The second operation includes: The buffer sending management component sends the local data validity status of the end system to the peer end system; The buffer receive management component receives peer data validity status from the peer system, wherein the peer data validity status indicates the identifier of a third VL with data to be sent among all VLs of the peer system; The modulator transmission management component sends the local bandwidth requirement satisfied status of the end system to the peer end system; and The modulator receive management component receives a peer bandwidth requirement satisfaction status from the peer system, the peer bandwidth requirement satisfaction status indicating the identifier of the VL in the third VL that meets the bandwidth requirement; and A decision-making module, coupled to the data validity analysis module and the cross-checking module, is configured to perform a third operation on the first time window during a third time period following the second time period. 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 allow flag, it is determined that both the end system and the peer end system have the same VL (Volume Limit) that contains data to be transmitted, meets the bandwidth requirement, and is allowed to transmit data within the first time window; and The identifier of the same VL is transmitted to the control command queue, which is used to control the framer to send data.
2. The terminal system as described in claim 1, 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 terminal system as described in claim 2, characterized in that, The cross-checking module is further configured to: re-execute the second operation for the second time window during the third time period.
4. The terminal system as described in claim 1, characterized in that, The first time period is determined based at least on the number of all VLs and the clock frequency of the end system.
5. The terminal system as described in claim 1, characterized in that, The first time period, the second time period, and the third time period are the same.
6. The terminal system as described in claim 1, characterized in that, The modulator analysis component is further used to determine the bandwidth requirements of the VL based on the bandwidth configuration table.
7. The terminal system as described in claim 1, characterized in that, The scheduling counter is further used to determine the current time slot allow flag based on the transmission table.
8. A method for making high-integrity data transmission decisions, comprising: During a first time period, a first operation is performed for a first time window, the first operation including: Poll all virtual links (VLs) of the local end system to determine the local data validity status, wherein the local data validity status indicates the identifier of the first VL among all VLs where data to be sent exists; Determine a local bandwidth requirement satisfaction status, wherein the local bandwidth requirement satisfaction status indicates the identifier of the VL in the first VL that meets the bandwidth requirement, and the bandwidth requirement indicates the minimum transmission interval between two data transmissions within the same VL; and Determine the current time slot permission flag, wherein the current time slot permission flag indicates the identifier of the second VL among all VLs of the local terminal system that is allowed to send data within the first time window; A second operation is performed on the first time window during a second time period following the first time period, the second operation including: Send the local data validity status of the local terminal system to the peer terminal system; Receive peer data validity status from the peer system, wherein the peer data validity status indicates the identifier of a third VL with data to be sent among all VLs of the peer system; The local end system sends the local bandwidth requirement satisfaction status to the peer end system; and Receive a peer bandwidth requirement satisfied status from the peer system, the peer bandwidth requirement satisfied status indicating the identifier of the VL in the third VL that meets the bandwidth requirement; and A third operation is performed on the first time window during a third time period following the second time period, the third operation including: 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 allow flag, it is determined that the local end system and the peer end system have the same VL (Volume Limit) where data to be sent exists, the bandwidth requirement is met, and data transmission is allowed within the first time window; and The identifier of the same VL is transmitted to the control command queue, which is used to control the framer to send data.
9. The method as described in claim 8, characterized in that, Further includes: The first operation is re-executed for the second time window during the second time period.
10. The method as described in claim 9, characterized in that, Further includes: The second operation is re-executed for the second time window during the third time period.
11. The method as described in claim 8, characterized in that, The first time period is determined at least based on the number of all VLs and the clock frequency of the local terminal system.
12. The method as described in claim 8, characterized in that, The first time period, the second time period, and the third time period are the same.
13. The method as described in claim 8, characterized in that, Further includes: Determine the bandwidth requirements of the VL based on the bandwidth configuration table.
14. The method as described in claim 8, characterized in that, Further includes: The current time slot permission flag is determined based on the transmission table.
Citation Information
Patent Citations
Data frame scheduling method based on virtual links
CN104717149A
AFDX bus data scheduling method and device
CN114726678A