Satellite data channel control system and method
By directly transmitting control information in the data channel of the low-Earth orbit satellite communication system and dynamically adjusting the control frame insertion time and data volume, the problem of slow response to changes in satellite links is solved, transmission efficiency and reliability are improved, and hardware complexity is reduced.
Patent Information
- Application Number
- CN202211444889.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-18
- Publication Date
- 2026-02-06
- Estimated Expiration
- 2042-11-18
AI Technical Summary
In low-Earth orbit satellite communication systems, existing technologies cannot respond quickly to changes in satellite links, resulting in decreased data channel transmission efficiency and high hardware interface complexity.
By directly transmitting control information in the data channel, using a data flow control module and a control frame receiving queue, the insertion time and data volume of control frames are dynamically adjusted to achieve combined transmission of control frames and service data frames, reducing the interaction links between upper and lower layers of devices.
It improves the dynamic control speed of the satellite transceiver data channel, adapts to rapid changes in the satellite link, enhances data transmission efficiency and reliability, and reduces the complexity of the hardware interface.
Smart Images

Figure CN116131901B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of satellite communication technology, and in particular to a satellite data channel control system and method. BACKGROUND
[0002] In a satellite ground station system, the path for transmitting data plane information between a satellite transceiver device and a ground network is generally a data channel between the satellite transceiver and the ground network. The devices in the data channel mainly include a satellite transceiver, a data plane protocol conversion device, and a ground segment network device, etc. The data channel realizes conversion of satellite signals into ground network data, which is then transmitted to ground network element devices. At the same time, data from the ground network side is transmitted to the satellite transceiver, converted into satellite air interface data frames, and then sent to the satellite.
[0003] In a high-orbit satellite communication system, because the satellite position is relatively static, the satellite communication link can remain fixed for a long time, and the data channel parameters do not need to be adjusted frequently. Moreover, because the resources of each satellite need to be allocated to a large number of ground stations, the transmission bandwidth of each ground station is relatively low, and therefore the response speed requirement for the control of the data channel is not high. In such a system, the control method for the data channel is generally realized through the interaction of upper network protocol interfaces. This technology needs to configure special control entities and control interfaces on the satellite transceiver and related network control devices. The control entities are connected through general network transmission protocols such as TCP / UDP / IP to interact control information. The feedback of the control information is via a transmission path of “bottom layer-upper layer-upper layer”, and the issuance of the control signaling is via a transmission path of “upper layer to upper layer and then to bottom layer”. Each control closed loop needs to perform multiple sub-processes of interaction between the upper layers of the devices and between the upper and lower layers of the devices, and the information transmission links are more, and the closed loop time is longer.
[0004] However, in a low-orbit satellite communication system, because the satellite orbit position is low, it moves at high speed relative to the ground station, and the satellite-ground communication link is always in a state of rapid change. Moreover, because the available bandwidth resource is higher, the data path needs to carry higher transmission rate and more complex services, and the entire system will have higher real-time requirements for the response of the data channel control.
[0005] Currently, the control of the data channel between the satellite transceiver and the ground network mostly adopts an upper network interfacing method. This method has a large response time delay, and in a low-orbit satellite application scenario, it can cause the data channel to fail to adjust in time according to the satellite link change, thereby causing a decrease in transmission efficiency. This method also does not consider transmitting real-time high-demand control information directly through the data plane transmission channel at the network bottom layer. In addition, this method also needs to configure a special physical interface, which will increase the hardware interface complexity in a satellite multi-channel application scenario. SUMMARY
[0006] The application provides a data channel control method and system, which is mainly used for controlling the data channel between a broadband satellite transceiver and a ground network, so as to solve the problem of controlling the response speed of the data channel in the scene of high-speed satellite data transmission, and to enable the data channel to quickly adapt to the change of the satellite link.
[0007] In order to solve the above technical problems, in a first aspect, the embodiments of the application provide a satellite data channel control system, which comprises:
[0008] a data protocol conversion device, wherein,
[0009] the data protocol conversion device specifically comprises:
[0010] a control interface module, which is used for generating a control frame and sending the control frame to a data interface unit in the broadband satellite transceiver through a data channel;
[0011] a data flow control module, which is used for controlling the combined transmission of the control frame and a data frame at the network bottom layer;
[0012] a control frame receiving queue, which is used for receiving and storing the control frame from the broadband satellite transceiver,
[0013] a control frame sending queue, which is used for storing the control frame sent to the broadband satellite transceiver and the data flow control module.
[0014] Specifically, the interface control module generates a new uplink control frame according to the downlink control frame receiving information or the user signaling of the upper computer, and the uplink control frame mainly comprises control parameters of the data channel, the control parameters comprising a sending period, a queue capacity and a network interface rate, which are used for adjusting the working state of the data channel.
[0015] Further, the data flow control module is further used for:
[0016] in the uplink transmission channel, according to the current transmission state of the data service data frame, checking the current control frame sending window, calculating the time of the control frame transmission and the data volume of the data service frame, and writing the control frame into the satellite side sending queue; and in the downlink data channel, reading the transmission frame from the satellite side, reading the frame type information and the control frame unique word information, if it is a control frame type, then writing the corresponding frame into the control frame receiving queue.
[0017] Further preferably, the data flow control module controls the frame insertion into the service data flow according to a fixed time period, so as to realize the combined transmission of the control frame and the data service data frame at the network bottom layer, and specifically comprises:
[0018] a first unit for calling a system function to obtain a current system clock count value SCC cur .
[0019] The second unit compares the difference of the count value with a preset processing period value, and performs the following operations:
[0020] When SCC cur - SCC prev ≥ SCC period , SCC cur is taken as the starting time of the next processing period, and enters the third unit;
[0021] When SCC cur - SCC prew < SCC period , no operation is performed, and the process ends;
[0022] Wherein, SCC cur is the current system clock count value, obtained from the first unit; SCC prev is the starting time of the last processing period, updated in the fourteenth unit of the last period; and SCC period is the count value corresponding to the processing period time;
[0023] The third unit is used to count the data amount of the data service data frames waiting to be sent in the current data plane protocol processing module;
[0024] The fourth unit is used to calculate the service data frame sending window value applied to the current processing period, and the calculation method of the fourth unit is as follows:
[0025]
[0026] Wherein:
[0027] W data is the sending window value of the current period service data, in byte;
[0028] R sat_link is the transmission rate of the current satellite link, in byte / s;
[0029] R eth_link is the transmission rate of the current ground network interface, in byte / s;
[0030] T proc is the data processing period value, in second;
[0031] S data is the total data amount of the current to-be-processed service data, in byte, which is obtained from the third unit;
[0032] W adjThe window value is adjusted in bytes, and its value depends on the frame transmission of the service data plane and control plane in the last period, which is set in the thirteenth unit of the last period;
[0033] The fifth unit is used to write the service data frames in batches into the satellite side transmission queue according to the service data frame transmission window value;
[0034] The sixth unit is used to count the total length of the control frames, i.e. the current data amount in the satellite side transmission queue, in bytes, and the length of the control frames in the queue is denoted as CFL i , wherein the subscript i represents the serial number of the control frame in the queue, and the total length of the control frames is denoted as i = 1 represents the first frame of the queue, and i = n represents the last frame of the queue;
[0035] The seventh unit is used to calculate the transmission window value of the control frames, and the calculation method of the seventh unit is shown as follows:
[0036]
[0037] Wherein:
[0038] W ctrl is the transmission window value of the control frames, in bytes;
[0039] When n > 0 and , the out-of-queue operation is performed on all the control frames in the queue, the frame buffer space is applied, the frame pointer is generated and written into the satellite side transmission queue;
[0040] When n > 0 and , the eighth unit is used to perform the out-of-queue operation on the first k control frames satisfying and ;
[0041] The ninth unit is used to judge whether the head frame in the current control frame queue is waiting for timeout, and if not, the transmission operation in the current period is ended, and the twelfth unit is executed; if yes, the tenth unit is executed;
[0042] The tenth unit is used to execute the eleventh unit if the length S extra of the additional transmitted timeout control frame does not exceed half of the control transmission window, and otherwise, the eleventh unit is executed;
[0043] The eleventh unit is used to perform the out-of-queue operation on the current head control frame, and add the frame length to S extra , and return to the ninth unit for execution;
[0044] The twelfth unit is used to perform the queue update, discard all the unsent timeout control frames in the queue, and increase the waiting time T wait of all the remaining non-timeout control frames by Tproc twelfth unit of the first aspect;
[0045] to update the adjustment window value W adj of the next period to S extra thirteenth unit of the first aspect;
[0046] to update the SCC prev to SCC cur fourteenth unit of the first aspect.
[0047] In a second aspect, to solve the technical problems of the embodiments of the present application, the embodiments of the present application further provide a satellite data channel control method, which comprises the following steps:
[0048] S201, a control interface module generates a new uplink control frame according to downlink control frame receiving information or user signaling of a host computer, wherein the uplink control frame comprises control parameters of a data channel, and the control parameters comprise a sending period, a queue capacity and a network interface rate to adjust the working state of the data channel;
[0049] S202, the control interface module accesses a control frame sending queue, if the control frame sending queue is full, discards a control frame at a queue head, retreats a queue head pointer by one position, and then writes a new control frame at a queue tail;
[0050] S203, a data flow control module checks a current control frame sending window according to a current transmission state of a data service, and calculates a time when the control frame is dequeued and a data service amount transmitted;
[0051] S204, the data flow control module encapsulates the uplink control frame in an Ethernet frame format, applies a memory space to a frame buffer management module and stores, generates a frame address pointer, and performs an enqueuing operation of a satellite side sending queue;
[0052] S205, the satellite side sending queue extracts a control frame corresponding to the frame buffer management module according to the frame address pointer to transmit to a multi-rate network card in a direct memory access mode, and sends to a data interface unit of a satellite transceiver.
[0053] Further, the S203 specifically comprises the following steps:
[0054] S401, a system function is called to obtain a current system clock count value SCC cur ;
[0055] S402, a difference value of the count value is compared with a preset processing period value, and the following operations are performed:
[0056] when SCC cur - SCC prev ≥ SCC period , SCCcur As the starting time of the next processing cycle, enter S403;
[0057] When SCC cur -SCC prev <SCC period , no operation is performed, and the process ends;
[0058] Wherein, SCC cur is the current system clock count value, obtained in S401; SCC prev is the starting time of the last processing cycle, updated in S414 of the last cycle; and SCC period is the count value corresponding to the processing cycle time;
[0059] S403, count the amount of data frames of service data waiting to be sent in the current data plane protocol processing module;
[0060] S404, calculate the service data frame sending window value applied to the current processing cycle, and the calculation method is as follows:
[0061]
[0062] Wherein:
[0063] W data is the sending window value of the current cycle service data, in bytes;
[0064] R sat_link is the transmission rate of the current satellite link, in bytes / second;
[0065] R eth_link is the transmission rate of the current ground network interface, in bytes / second, for example, if a gigabit Ethernet interface is used, the parameter is 125M bytes / second;
[0066] T proc is the data processing cycle value, in seconds;
[0067] S data is the total data frame amount of the current service data to be processed, in bytes, which is obtained from S403;
[0068] W adj is the adjustment window value, in bytes, and its value depends on the frame sending situation of the service data plane and the control plane in the last cycle, which is set in S413 of the last cycle;
[0069] S405, write the service data frames in batches into the satellite side sending queue according to the service data frame sending window value;
[0070] S406, statistics sending control frame total length, that is, the current data amount in the sending queue, unit is byte, the control frame length in the queue is recorded as CFL i , subscript i represents the serial number of the control frame in the queue, then the control frame total length is recorded as i=1 represents the first frame of the queue, i=n is the last frame of the queue;
[0071] S407, the sending window value of the control frame is calculated, the calculation method is as follows:
[0072]
[0073] Among them:
[0074] W ctrl is the sending window value of the control frame, unit is byte;
[0075] S408, when n>0 and , the out-of-queue operation is performed on all control frames in the queue, the frame buffer space is applied, the frame pointer is generated and written into the satellite side sending queue;
[0076] When n>0 and , the first k control frames satisfying and are executed out of the queue,
[0077] S409, judge whether the head frame in the current control frame queue is waiting timeout, if not timeout, the current period sending operation is ended, turn to S412; if timeout, turn to S410,
[0078] S410, if the length of the additional sending timeout control frame S extra does not exceed half of the control sending window, turn to S412, otherwise turn to S411;
[0079] S411, the current head control frame is out of the queue, and the frame length is added to S extra , return to S409;
[0080] S412, execute queue update, discard all unsent timeout control frames in the queue, and increase the waiting time T wait of all remaining non-timeout control frames by T proc ;
[0081] S413, then update the adjustment window value W adj of the next period to S extra ;
[0082] S414, update SCC prev to SCC cur .
[0083] Further, the method further comprises:
[0084] S301, the data interface unit of the satellite transceiver writes the current satellite link working state parameters including modulation and coding mode, signal bandwidth, and channel number into the information field of the control frame, fills the frame header information to generate a downlink control frame, and sends the downlink control frame to the data protocol conversion device;
[0085] S302, the data protocol conversion device receives the control frame through the multi-rate network card and stores the control frame into the frame management module;
[0086] S303, the frame management module checks the Ethernet frame header address, type, and length information of the control frame, generates a frame descriptor, and writes an address pointer into the satellite side receiving queue;
[0087] S304, the data stream control module reads the data frame from the satellite side receiving queue, reads the frame type information and the control frame unique word information, and if the frame is of the control frame type, writes the frame into the control frame receiving queue;
[0088] S305, the control interface module obtains the control frame from the control frame receiving queue through polling, reads the address, type, unique word, and length fields of the frame, compares the fields with the preset parameter table to judge the correctness of the received control frame, reads the satellite link parameters in the information field, and saves the parameters into a local parameter list.
[0089] Compared with the prior art, the above technical scheme of the present application has the following advantages: the speed of dynamic control of the data channel of the satellite transceiver is improved, the satellite transceiver can adapt to the rapid change of the satellite link, and the overall data transmission efficiency and reliability are improved. At the same time, since the control information is directly transmitted in the data channel, no additional dedicated high-speed control interface is needed, and the hardware interface complexity is further reduced. BRIEF DESCRIPTION OF DRAWINGS
[0090] The specific embodiments of the present application will be described below with reference to the accompanying drawings.
[0091] Figure 1 FIG. 1 is a schematic diagram of a satellite data channel control system according to an embodiment of the present application;
[0092] Figure 2 FIG. 2 is a flowchart of a satellite data channel control method according to an embodiment of the present application;
[0093] Figure 3 FIG. 3 is another flowchart of a satellite data channel control method according to an embodiment of the present application;
[0094] Figure 4 FIG. 4 is another flowchart of a satellite data channel control method according to an embodiment of the present application. Detailed Implementation
[0095] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit its scope.
[0096] This invention proposes a control method for the data path between a broadband satellite transceiver and a terrestrial network. By inserting control frames between the satellite transceiver and upper-layer network devices into the data acceleration channel and combining them with service data for transmission, the method enables rapid adjustment of the operating parameters of each device on the data path, allowing the upper-layer network devices to respond quickly to changes in the satellite link.
[0097] To achieve the objective of this invention, embodiments of this invention provide a satellite data channel control system, the system comprising:
[0098] A data protocol conversion device, wherein,
[0099] The data protocol conversion device specifically includes:
[0100] The control interface module is used to generate control frames and send them to the data interface unit in the broadband satellite transceiver via the data channel.
[0101] The data flow control module is used to control the combined transmission of control frames and data frames at the network layer.
[0102] The control frame receive queue is used to receive and store control frames from the direction of the broadband satellite transceiver.
[0103] The control frame transmission queue is used to store control frames destined for the broadband satellite transceiver and the data flow control module.
[0104] Specifically, the interface control module generates a new uplink control frame based on the downlink control frame reception information or the user signaling from the host computer. The uplink control frame mainly includes control parameters of the data channel, including the transmission period, queue capacity, and network interface rate, which are used to adjust the working state of the data channel.
[0105] Furthermore, the data flow control module is also used for:
[0106] In the uplink transmission channel, according to the current transmission state of the data service data frame, the current control frame sending window is checked, the time for control frame transmission and the data amount of the data service frame are calculated, and the control frame is written into the satellite side sending queue; and in the downlink data channel, the transmission frame is read from the satellite side, the frame type information and the control frame unique word information are read, if it is a control frame type, the corresponding frame is written into the control frame receiving queue.
[0107] Further preferably, the data flow control module controls the frame insertion into the service data flow in a fixed time period to realize the combined transmission of the control frame and the data service data frame in the network bottom layer, and specifically includes:
[0108] a first unit for calling a system function to obtain a current system clock count value SCC cur ;
[0109] a second unit for comparing the difference of the count values with a preset processing period value and performing the following operations:
[0110] when SCC cur - SCC prev ≥ SCC period , SCC cur is taken as the starting time of the next processing period, and the third unit is executed;
[0111] when SCC cur - SCC prev < SCC period , no operation is performed, and the process is ended;
[0112] wherein SCC cur is the current system clock count value obtained by the first unit; SCC prev is the starting time of the last processing period updated by the fourteenth unit of the last period; and SCC period is the count value corresponding to the processing period time;
[0113] a third unit for counting the data amount of the data service data frame waiting to be sent in the current data plane protocol processing module;
[0114] a fourth unit for calculating the service data frame sending window value applied to the current processing period, and the calculation method of the fourth unit is as follows:
[0115]
[0116] wherein:
[0117] W data is the sending window value of the current period service data, in byte;
[0118] Rsat_link is the transmission rate of the current satellite link, in bytes per second;
[0119] R eth_link is the transmission rate of the current ground network interface, in bytes per second;
[0120] T proc is the data processing period value, in seconds;
[0121] S data is the total data amount of the current to-be-processed service data, in bytes, which is obtained from the third unit;
[0122] W adj is the adjustment window value, in bytes, and its value depends on the frame sending situation of the service data plane and the control plane in the last period, which is set in the thirteenth unit in the last period;
[0123] is used to write the service data frames in batches into the satellite-side sending queue according to the service data frame sending window value;
[0124] is used to count the total length of the sending control frames, that is, the current data amount in the satellite-side sending queue, in bytes, and the length of the control frames in the queue is denoted as CFL i , where the subscript i represents the serial number of the control frame in the queue, and the total length of the control frames is denoted as i = 1 represents the first frame of the queue, and i = n represents the last frame of the queue;
[0125] is used to calculate the sending window value of the control frames, and the calculation method of the seventh unit is as follows:
[0126]
[0127] wherein:
[0128] W ctrI is the sending window value of the control frames, in bytes;
[0129] is used to perform the out-of-queue operation on all the control frames in the queue, apply frame buffer space, generate a frame pointer, and write into the satellite-side sending queue when n > 0 and ;
[0130] is used to perform the out-of-queue operation on the first k control frames that satisfy and when n > 0 and ;
[0131] is used to judge whether the head frame in the current control frame queue is waiting for timeout, and if not, the sending operation in this period is ended, and the twelfth unit is executed; if yes, the tenth unit is executed.
[0132] to update the length S of the additional sent timeout control frame extra if the half of the control sending window is not exceeded, go to the tenth unit to execute, otherwise go to the eleventh unit to execute;
[0133] to remove the current head control frame from the queue and add the frame length to S extra , return to the eleventh unit to execute;
[0134] to execute the queue update, discard all unsent timeout control frames in the queue, and increase the waiting time T of all remaining non-timeout control frames wait T proc twelfth unit;
[0135] to update the adjustment window value W of the next period adj to S extra thirteen unit;
[0136] to update the SCC prev to SCC cur fourteenth unit.
[0137] Here, in order to facilitate the understanding of the control method of satellite data channel transmission in the embodiment of the application, as shown in Figure 1 , the relevant service modules in the entire satellite data channel are introduced as follows:
[0138] The wideband satellite transceiver 101, as a communication device interacting with the space segment satellite, on the one hand, receives data frames from the ground network device, performs digital processing processes such as frame disassembly, baseband frame assembly, encoding, and modulation, and then converts them into satellite sending data frames and sends them to the space segment satellite; on the other hand, it receives data frames from the space segment satellite, performs digital processing processes such as demodulation, decoding, baseband frame disassembly, and frame assembly, and then converts them into network data frames and sends them to the ground network device;
[0139] The wideband satellite transceiver 101 comprises:
[0140] The digital baseband processing unit 102 completes the digital baseband processing process of the satellite uplink and downlink signals, including modulation and demodulation, coding and decoding, clock and carrier synchronization, etc.
[0141] The data interface unit 103 completes the conversion process between the network device data frame and the satellite baseband data frame;
[0142] The data protocol conversion device 201 is an intermediate conversion device of the data channel, which is a front-end network device of the wideband satellite transceiver on the ground network side, used to complete the data face protocol conversion between the ground network and the satellite network, and to control the data channel.
[0143] The data protocol conversion device 201 specifically comprises:
[0144] The control interface module 203 is configured to parse the information fed back by the wideband satellite transceiver 101, generate a control frame and send the control frame to the data interface unit 103 in the wideband satellite transceiver 101 through a data channel, and control and adjust respective network bottom layer parameters to adapt to changes in the link, while maintaining a control interface with the upper computer: on one hand, the control interface module 203 feeds back information of the data channel to the upper computer for user interface presentation; on the other hand, the control interface module 203 receives control strategy parameters of the data channel and updates a local control parameter set;
[0145] The data flow control module 206 is configured to implement combined transmission of two data flows in the control plane and the data plane in the network bottom layer, and implement the combined process of the two flows through a multi-queue polling scheduling method.
[0146] The control frame receiving queue 204 is configured to receive and store the control frame from the wideband satellite transceiver 101, and the data flow control module 206 controls the writing operation and part of the parameter adjustment of the control frame receiving queue 204, and the control interface module 203 controls the reading operation of the control frame receiving queue 204.
[0147] The control frame sending queue 205 is configured to store the control frame sent to the wideband satellite transceiver 101 and the data flow control module 206, and the data flow control module 206 controls the reading operation and part of the parameter adjustment of the control frame sending queue 205, and the control interface module 203 controls the writing operation of the control frame sending queue 205.
[0148] The data plane protocol processing module 207 is configured to convert the service data flow from a ground network format into a satellite network format in the uplink direction, and convert the service data flow in the opposite direction in the downlink direction.
[0149] The frame buffer management module 202 is configured to manage a physical storage area of an Ethernet data frame, and provide an address space of an Ethernet data frame entity for the frame management module 213, the data flow control module 206 and the data plane protocol processing module 207.
[0150] The satellite side receiving queue 208 is configured to complete queued storage of the Ethernet data frame from the wideband satellite transceiver 101, and provide an application layer access interface.
[0151] The satellite side sending queue 209 is configured to complete queued storage of the Ethernet data frame from the application layer and sent to the wideband satellite transceiver 101, and provide an application layer access interface.
[0152] The ground network side receiving queue 210 is configured to complete queued storage of the Ethernet data frame from the ground network device.
[0153] The ground network side sends a queue 211, which completes queuing and storing of Ethernet data frames from the application layer to the ground network device;
[0154] A multi-rate network card 212 completes the process of the physical layer and the data link layer of the Ethernet interface;
[0155] A frame management module 213 completes generation of a frame descriptor of the Ethernet data frame, frame data buffering, frame header analysis, frame classification and enqueuing of the satellite side receiving queue on the receiving channel; and completes dequeuing of the satellite side sending queue, frame check and sending to the multi-rate network card on the sending channel;
[0156] A host computer 301 runs a user side control program of the broadband satellite transceiver 101, and is used for receiving user instructions to generate satellite transceiver control information and processing corresponding feedback information;
[0157] A ground network switch 401 is located in a satellite communication system ground station, and is used for connecting the ground network device and the satellite device, and is an access point of the ground network and the satellite network.
[0158] Different from the control method of the traditional satellite ground station data channel, the embodiment of the application transmits the control frame and the service data by the method of combining and transmitting on the network data acceleration channel bottom layer, adjusts the time of inserting the control plane information and the data volume of inserting dynamically, so that the control plane information insertion operation is "insensitive" to the data plane transmission. Meanwhile, in the case of instantaneous high speed of high speed service data, proper avoidance is carried out, so that the control plane information can be transmitted normally.
[0159] The working process given by the embodiment of the application includes an uplink channel direction, i.e., from the data protocol conversion device to the satellite transceiver, and a downlink channel direction, i.e., from the satellite transceiver to the data protocol conversion device.
[0160] The working process of the uplink channel direction is as shown in the following table: Figure 2
[0161] S201, the control interface module generates a new uplink control frame according to the downlink control frame receiving information or the user signaling of the host computer, and the uplink control frame mainly includes control parameters of the data channel, the control parameters including a sending period, a queue capacity, a network interface rate and the like, which are used to adjust the working state of each sub-module of the data channel;
[0162] On one hand, new control parameters are generated according to the satellite link parameter change conditions such as the satellite channel bandwidth and the modulation and coding mode in the downlink control frame, and the uplink control frame is generated; on the other hand, the user signaling packet of the host computer is received, the corresponding control parameters are read to generate the uplink control frame, and the format of the control frame is as shown in the following table:
[0163] Destination Address (6 bytes) Source Address (6 bytes) Frame Type (2 bytes) Control Frame Unique Word (4 bytes) Frame Length (2 bytes) Control Information (40-1024 bytes) Check Field (4 bytes)
[0164] Wherein, the target address length is 6 bytes, and the filling content can adopt the MAC address of the data network port of the destination device;
[0165] The source address length is 6 bytes, and the filling content can adopt the MAC address of the data network port of the source device;
[0166] The frame type length is 2 bytes, and the filling content is 0x8A, 0x01;
[0167] The control frame unique word: the length is 4 bytes, and the filling content is 0xA3, 0xB5, 0xC5, 0xAD;
[0168] The frame length: the length is 2 bytes, and the unit is byte, which identifies the length of the control information frame;
[0169] The control information: the length is variable, ranging from 40 to 1024 bytes, and the filling data channel in the uplink channel fills the control parameters of each sub-module of the data channel, and the filling satellite link parameters in the downlink channel and the state information of each sub-module of the data channel.
[0170] The above is only one example of the control frame, and the format can be adjusted according to the actual implementation needs.
[0171] S202, the control interface module accesses the control frame sending queue, if the control frame sending queue is full, the control frame at the head of the queue is discarded, the head pointer of the queue is returned to one position, and then the new control frame is written to the tail of the queue;
[0172] S203, the data flow control module checks the current control frame sending window according to the current transmission state of the data plane service, calculates the time and data volume of the control frame out of the queue;
[0173] S204, the data flow control module encapsulates the uplink control frame according to the Ethernet frame format, applies memory space to the frame buffer management module and stores, and generates a frame address pointer, and performs the enqueue operation of the satellite side sending queue;
[0174] S205, the satellite side sending queue extracts the control frame corresponding to the frame buffer management module according to the frame address pointer to transmit to the multi-rate network card in the direct memory access mode, and sends to the data interface unit of the satellite transceiver.
[0175] For the working process of the downlink channel direction, as shown in Figure 3
[0176] S301, the data interface unit of the satellite transceiver writes current satellite link working state parameters, such as modulation and coding mode, signal bandwidth, channel number and the like, into the information field of the control frame, fills in the frame header information such as address and length to generate a downlink control frame and sends it to the data protocol conversion device;
[0177] S302, the data protocol conversion device receives the control frame through the multi-rate network card and stores it into the frame management module;
[0178] S303, the frame management module checks the Ethernet frame header address, type and length information of the control frame, generates a frame descriptor and writes it into the satellite side receiving queue;
[0179] S304, the data stream control module reads the data frame from the satellite side receiving queue, reads the frame type information and the control frame unique word information, and if it is a control frame type, writes the frame into the control frame receiving queue;
[0180] S305, the control interface module obtains the control frame from the control frame receiving queue through polling, reads the address, type, unique word and length and the like field information of the frame, compares it with the preset parameter table to judge the correctness of the received control frame, reads the satellite link parameters in the information field and saves them into the local parameter list.
[0181] The data stream control module is used to control the network bottom layer combined transmission process of the control plane and the data plane two kinds of data streams, dynamically adjusts the number of inserted control information by monitoring the instantaneous change of the data stream sent to the satellite side, processes the process of inserting the control frame into the service data stream according to a fixed time period, and in each processing period, first processes the service data forwarding in the data protocol conversion module, and then forwards the control frame, and the working process is as shown in Figure 4
[0182] S401, a system function is called to obtain the current system clock count value SCC cur ;
[0183] S402, the difference value of the count value is compared with the preset processing period value, and the following operations are performed:
[0184] When SCC cur - SCC prev ≥ SCC period , SCC cur is taken as the starting time of the next processing period, and S403 is entered;
[0185] When SCC cur - SCC prev < SCC period , no operation is performed, and the process is ended;
[0186] SCCcur is the current system clock count value, obtained in S401; SCC prev is the start time of the last processing period, updated in S414 of the last period; SCC period is the count value corresponding to the processing period time;
[0187] S403, count the amount of service data frame data waiting to be sent in the current data plane protocol processing module;
[0188] S404, calculate the service data frame sending window value applied to this processing period, the calculation method is as follows:
[0189]
[0190] Among them:
[0191] W data is the sending window value of the current period service data, in bytes;
[0192] R sat_link is the transmission rate of the current satellite link, in bytes / second;
[0193] R eth_link is the transmission rate of the current ground network interface, in bytes / second, such as using a gigabit Ethernet interface, the parameter is 125M bytes / second;
[0194] T proc is the data processing period value, in seconds;
[0195] S data is the total amount of data of the current service data to be processed, in bytes, which is obtained from S403;
[0196] W adj is the adjustment window value, in bytes, its value depends on the frame sending situation of the service data plane and the control plane in the last period, which is set in S413 of the last period;
[0197] S405, write the service data frames in batches into the satellite side sending queue according to the service data frame sending window value;
[0198] S406, count the total length of the sending control frame, that is, the current data amount in the sending queue, in bytes, the length of the control frame in the queue is recorded as CFL i , subscript i represents the serial number of the control frame in the queue, then the total length of the control frame is i=1 represents the first frame of the queue, and i=n represents the last frame of the queue;
[0199] S407, calculate the sending window value of the control frame, the calculation method is as follows:
[0200]
[0201] wherein:
[0202] W ctrl is the sending window value of the control frame, in byte;
[0203] S408, when n>0 and , then perform the out-of-queue operation for all control frames in the queue, apply frame buffer space, generate frame pointer and write into the satellite side sending queue;
[0204] when n>0 and , first perform the out-of-queue operation for the first k control frames satisfying and , then
[0205] S409, judge whether the head frame in the current control frame queue is waiting timeout, if not, then the current period sending operation ends, and turn to S412; if yes, then turn to S410,
[0206] S410, if the length S extra of the extra sent timeout control frame does not exceed half of the control sending window, then turn to S412, otherwise turn to S411;
[0207] S411, perform the out-of-queue operation for the current head control frame, and add the frame length to S extra , and return to S409;
[0208] S412, perform the queue update, discard all unsent timeout control frames in the queue, and increase the waiting time T wait of all remaining non-timeout control frames by T proc ;
[0209] S413, then update the adjustment window value W adj of the next period to S extra ;
[0210] S414, update the SCC prev to SCC cur .
[0211] Compared with the prior art, the above technical scheme of the present application has the following advantages: the speed of dynamic control of the satellite transceiver data channel is improved, so that it can adapt to the situation of rapid change of satellite link, thereby improving the overall data transmission efficiency and reliability. At the same time, since the control information is directly transmitted in the data channel, there is no need to additionally increase a dedicated high-speed control interface, further reducing the complexity of the hardware interface.
[0212] The embodiment only illustrates the patent, and does not limit the protection scope of the patent. The person skilled in the art can also make partial changes, as long as the changes do not exceed the spirit and essence of the patent, and are within the protection scope of the patent.
Claims
1. A satellite data channel control system, characterized in that, The system includes: A data protocol conversion device, wherein, The data protocol conversion device specifically includes: The control interface module is used to generate control frames and send them to the data interface unit in the broadband satellite transceiver via the data channel. A data flow control module is used to control the combined transmission of control frames and service data frames at the network layer. Specifically, the data flow control module controls the insertion of frames into the service data stream at fixed time periods to achieve the combined transmission of control frames and service data frames at the network layer. The aforementioned data flow control module specifically includes: Used to call system functions and obtain the current system clock count value SCC cur The first unit; The second unit is used to compare the difference in count values with a preset processing cycle value and perform the following operations: When SCC cur -SCC prev ≥SCC period At that time, SCC cur As the starting point of the next processing cycle, the third unit will begin execution; When SCC cur -SCC prev <SCC period If no operation is performed, the process ends. Among them, SCC cur The current system clock count value is obtained from the first unit; SCC prev This is the start time of the previous processing cycle, updated from the fourteenth unit of the previous cycle; SCC period The count value corresponding to the processing cycle time; The third unit is used to count the amount of data in the business data frames waiting to be sent in the current data plane protocol processing module. The fourth unit, used to calculate the service data frame transmission window value applied to this processing cycle, is calculated as follows: in: W data This is the sending window value for the current period's business data, in bytes. R sat_link This represents the current satellite link transmission rate, expressed in bytes per second. R eth_link This represents the current transmission rate of the terrestrial network interface, expressed in bytes per second. T proc This is the data processing cycle value, in seconds; S data This is the total amount of business data currently pending processing, in bytes. This parameter is obtained from the third unit. W adj To adjust the window value, the unit is bytes, and its value depends on the frame transmission status of the service data plane and control plane in the previous cycle. It is set in the thirteenth unit of the previous cycle. The fifth unit is used to write service data frames in batches into the satellite-side transmission queue according to the service data frame transmission window value; The sixth unit, measured in bytes, is used to count the total length of control frames transmitted, which is the current data volume in the satellite-side transmission queue. The length of the control frames in the queue is denoted as CFL. i The subscript i represents the sequence number of the control frame in the queue, and the total length of the control frame is denoted as . i=1 represents the first frame of the queue, and i=n represents the last frame of the queue; The seventh unit is used to calculate the transmission window value of the control frame. The calculation method for the seventh unit is as follows: in: W ctrl The sending window value for the control frame, in bytes; Used when n>0 and When the time comes, a dequeue operation is performed for all control frames in the queue, frame buffer space is requested, frame pointers are generated and written to the satellite-side transmission queue; When n>0 and At that time, first satisfy and The eighth unit executes the dequeue operation in the first k control frames; Used to determine whether the first frame in the current control frame queue has timed out. If it has not timed out, the current cycle transmission operation ends and proceeds to the twelfth unit for execution; if it has timed out, it proceeds to the ninth unit for execution of the tenth unit. Used to determine if an additional timeout control frame of length S is sent. extra If the control sending window is not more than halfway through, proceed to the twelfth unit for execution; otherwise, proceed to the tenth unit of the eleventh unit for execution. Used to dequeue the current head control frame and accumulate the frame length to S. extra Return to Unit 11, which is executed from Unit 9; Used to perform queue updates, discarding all unsent timed-out control frames in the queue, and setting the waiting time T for all remaining non-timed-out control frames. wait Increase T proc Unit 12; Used to adjust the window value W for the next cycle. adj Updated to S extra Unit 13; Used to SCC prev Updated to SCC cur Unit Fourteen; The control frame receive queue is used to receive and store control frames from the direction of the broadband satellite transceiver. The control frame transmission queue is used to store control frames destined for the broadband satellite transceiver and the data flow control module.
2. The satellite data channel control system as described in claim 1, characterized in that, The control interface module generates a new uplink control frame based on the downlink control frame received information or the user signaling from the host computer. The uplink control frame mainly includes control parameters of the data channel, including the transmission period, queue capacity, and network interface rate, which are used to adjust the working state of the data channel.
3. The satellite data channel control system as described in claim 2, characterized in that, The data flow control module is also used for: In the uplink transmission channel, based on the current transmission status of the service data frame, the current control frame transmission window is checked, the timing of the control frame transmission and the data volume of the service data frame are calculated, and the control frame is written into the satellite-side transmission queue. In the downlink data channel, the transmission frame is read from the satellite-side receive queue, and the frame type information and control frame unique word information are read. If it is a control frame type, the corresponding frame is written into the control frame receive queue.
4. A satellite data channel control method, characterized in that, The method includes: S201. The control interface module generates a new uplink control frame based on the downlink control frame received information or the user signaling from the host computer. The uplink control frame includes control parameters of the data channel, including transmission period, queue capacity, and network interface rate, to adjust the working state of the data channel. S202. The control interface module accesses the control frame sending queue. If the control frame sending queue is full, the control frame at the head of the queue is discarded, the queue head pointer is pushed back one position, and then a new control frame is written to the tail of the queue. S203. The data flow control module checks the current control frame sending window based on the current transmission status of the data service, and calculates the time when the control frame is dequeued and the amount of data service transmitted. S204. The data flow control module encapsulates the uplink control frame in Ethernet frame format, requests memory space from the frame buffer management module and stores it, generates a frame address pointer, and performs the enqueue operation of the satellite side transmission queue. S205. The satellite-side transmission queue extracts the control frame corresponding to the frame buffer management module according to the frame address pointer and transmits it to the multi-rate network card in the direct memory access mode, and then sends it to the data interface unit of the satellite transceiver. Specifically, S203 includes: S401. Call the system function to obtain the current system clock count value SCC. cur ; S402. Compare the difference in count values with the preset processing cycle value, and perform the following operations: When SCC cur -SCC prev ≥SCC period At that time, SCC cur As the start time of the next processing cycle, proceed to S403; When SCC cur -SCC prev <SCC period If no operation is performed, the process ends. Among them, SCC cur The current system clock count value, obtained from S401; SCC prev This is the start time of the previous processing cycle, updated in S414 of the previous cycle; SCC period The count value corresponding to the processing cycle time; S403. Count the number of service data frames waiting to be sent in the current data plane protocol processing module; S404. Calculate the service data frame transmission window value applicable to this processing cycle. The calculation method is as follows: in: W data This is the sending window value for the current period's business data, in bytes. R sat_link This represents the current satellite link transmission rate, expressed in bytes per second. R eth_link This is the transmission rate of the current terrestrial network interface, in bytes per second. For example, if a gigabit Ethernet interface is used, this parameter is 125 megabytes per second. T proc This is the data processing cycle value, in seconds; S data This is the total number of business data frames currently pending processing, in bytes. This parameter is obtained from S403. W adj To adjust the window value, the unit is bytes, and its value depends on the frame transmission status of the service data plane and control plane in the previous cycle, and is set in S413 of the previous cycle. S405. Write service data frames in batches into the satellite-side transmission queue according to the service data frame transmission window value. S406. Calculate the total length of control frames to be transmitted, i.e., the current amount of data in the transmission queue, in bytes. Record the length of control frames in the queue as CFL. i The subscript i represents the sequence number of the control frame in the queue, and the total length of the control frame is denoted as . i=1 represents the first frame of the queue, and i=n represents the last frame of the queue; S407. Calculate the transmission window value of the control frame. The calculation method is as follows: in: W ctrl The sending window value for the control frame, in bytes; S408, when n>0 and When the time comes, a dequeue operation is performed for all control frames in the queue, frame buffer space is requested, frame pointers are generated and written to the satellite-side transmission queue; When n>0 and At that time, first satisfy and The first k control frames perform the dequeue operation. S409. Determine if the first frame in the current control frame queue has timed out. If not, end the current transmission cycle and proceed to S412; otherwise, proceed to S410. S410, If the length of the additional timeout control frame sent is S extra If the control sending window is not more than half full, proceed to S412; otherwise, proceed to S411. S411, Remove the current head control frame from the queue and add its frame length to S. extra Return to S409; S412. Perform queue update, discarding all unsent timed-out control frames in the queue, and setting the waiting time T for all remaining non-timed-out control frames. wait Increase T proc ; S413, then adjust the window value W for the next cycle. adj Updated to S extra ; S414, SCC prev Updated to SCC cur .
5. The satellite data channel control method as described in claim 4, characterized in that, The method further includes: S301, the data interface unit of the satellite transceiver writes the current satellite link working status parameters into the information field of the control frame. The working status parameters include the modulation and coding scheme, signal bandwidth, and number of channels. The unit then fills in the frame header information to generate a downlink control frame and sends it to the data protocol conversion device. S302, the data protocol conversion device receives control frames through a multi-rate network card and stores them in the frame management module; S303. The frame management module checks the Ethernet frame header address, type, and length information of the control frame, generates a frame descriptor, and writes it into the satellite-side receive queue. S304. The data flow control module reads service data frames from the satellite-side receive queue, reads frame type information and control frame unique word information. If it is a control frame type, it writes the frame into the control frame receive queue. S305 The control interface module obtains control frames from the control frame receiving queue through polling, reads the address, type, unique word and length fields of the frame, compares them with the preset parameter table to determine the correctness of the received control frame, reads the satellite link parameters in the information fields and saves them to the local parameter list.
Citation Information
Patent Citations
Network management
CN101030887A
A Method and An Apparatus for Use in a Satellite Communications Network
US20210036766A1