CN111427616A - Satellite-borne software setting method for flow control data downloading - Google Patents
Satellite-borne software setting method for flow control data downloading Download PDFInfo
- Publication number
- CN111427616A CN111427616A CN202010302533.0A CN202010302533A CN111427616A CN 111427616 A CN111427616 A CN 111427616A CN 202010302533 A CN202010302533 A CN 202010302533A CN 111427616 A CN111427616 A CN 111427616A
- Authority
- CN
- China
- Prior art keywords
- data
- thread
- downloading
- setting
- semaphore
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000008713 feedback mechanism Effects 0.000 claims abstract description 8
- 230000003247 decreasing effect Effects 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 230000000903 blocking effect Effects 0.000 claims description 4
- 238000013459 approach Methods 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000010287 polarization Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000028161 membrane depolarization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Radio Relay Systems (AREA)
Abstract
The invention provides a method for setting satellite-borne software for downloading flow control data, which comprises the following steps: s1: setting a program for reading a data thread, reading load data to be downloaded according to the block size, and communicating with the data thread through semaphore; s2: setting a program of a downloading data thread, communicating with a reading data thread through a semaphore, and starting a downloading flow after the semaphore is downloaded; s3: setting a high-precision timer, setting the timing precision to be microsecond, setting the downloading control period to be T microsecond, wherein T is more than 1, and controlling the data flow in one period by utilizing the time of the timer; s4: binding a download data thread with one processor core, and binding other threads with another processor core; and S5, setting a feedback mechanism, and dynamically increasing or decreasing the download rate according to the instruction after the program of the download data thread receives the flow control signal of the data download. The method aims at the satellite-borne embedded system, can improve the data downloading precision, and provides a technical approach for realizing accurate downloading of the load data.
Description
Technical Field
The invention relates to the technical field of flow control of satellite-borne computers, in particular to a method for setting satellite-borne software for downloading flow control data.
Background
With the rapid development of the space technology in China, particularly the rapid development of the satellite remote sensing technology, an intelligent satellite system with the downloading capability needs to be constructed. Due to the influence of the polarization discrimination of the satellite and ground antennas and the influence of the space transmission link on the depolarization of electromagnetic waves, the polarization discrimination of the satellite, space transmission link and ground synthesis is reduced, the system performance is inevitably deteriorated, and the quality of received data is reduced. In order to ensure the stable operation of the satellite-ground link equipment, the jitter of the download data rate of the spaceborne computer is reduced as much as possible.
The existing procedure is poor in rate control capability due to jitter in the operating system Tick time. The satellite-borne computer can improve the overall transmission performance index of the satellite and the ground only by reducing the jitter of the sending rate.
Flow control has wide application in aerospace satellite-borne computers, and in the existing technology for reducing rate jitter, the method mainly comprises the following two implementation modes:
1. the FPGA is used for controlling the memory to realize data transmission, but the FPGA is incompatible with the interface of the existing embedded operating system, so that the flexibility of the on-satellite application software is reduced;
2. a communication transport protocol is set, but this approach reduces channel utilization.
Disclosure of Invention
The invention aims to provide a satellite-borne software setting method for high-precision flow control data downloading, which aims to solve the problems of poor flexibility and low channel utilization rate of the existing flow control.
In order to achieve the above object, the present invention provides a method for setting satellite-borne software for controlling data downloading, which comprises the following steps:
s1: setting a program for reading a data thread, reading load data to be downloaded according to the block size, and communicating with the data thread through semaphore;
s2: setting a program of a downloading data thread, communicating with the reading data thread through the semaphore, and starting a downloading flow after downloading the semaphore;
s3: setting a high-precision timer, wherein the timing precision is set to be microsecond, setting the download control period to be T microsecond, T is more than 1, and controlling the data flow in one period by utilizing the time of the timer; wherein, T is preferably 10 microseconds;
s4: binding the download data thread with one processor core, and binding other threads such as a reading thread, a processing thread, a remote control thread and a remote measuring thread with another processor core, so that the download data thread does not influence the data processing precision due to the scheduling of an operating system;
and S5, setting a feedback mechanism, and dynamically increasing or decreasing the downloading speed according to the flow control signal instruction after the program of the downloading data thread receives the flow control signal of the lower computer.
Preferably, in the data reading thread, the payload data to be downloaded is read to the memory through the file system.
Preferably, in the read data thread, the payload data is read to a circular buffer in advance, and is synchronized to the download data thread through the semaphore.
Preferably, in the data downloading thread, the data reading thread is synchronized by the semaphore.
Preferably, in the downloading data thread, the downloading data thread is in a blocking state before the arrival of the downloading semaphore, and the downloading thread started after the arrival of the downloading semaphore includes: initializing software and setting a working mode.
Preferably, in the high-precision timer, the data downloading within one period is performed by using the time difference of the timer, and the number of bytes sent within each period is N. N is preferably 1000.
Preferably, in the feedback mechanism, the period T and/or the number of bytes sent in the period are dynamically adjusted.
Compared with the prior art, the invention has the following beneficial effects:
1) aiming at a flow control system, technologies such as operating system multithreading, semaphore, a timer and a multi-core processor are used, a high-precision satellite-borne software setting method for flow control data downloading is provided, the problem that the flow control performance of the existing satellite-borne computer is limited by an FPGA (field programmable gate array) or a communication protocol is solved, and the flexibility of software setting of the satellite-borne computer and the effectiveness of data transmission are improved.
2) By utilizing semaphore synchronization and a circular buffer, the thread priority is reasonably set, the advantages of the method are exerted, and thread blockage is avoided.
The invention gives full play to the advantages of the multi-core processor and the operating system, can improve the accuracy of data downloading aiming at the satellite-borne embedded system, and provides a technical approach for realizing the accurate downloading of the load data. Meanwhile, the method aims at the flow control system, can effectively reduce the jitter of data transmission, and provides guarantee for realizing high-speed data transmission.
Drawings
FIG. 1 is a flow chart of a method for setting satellite-borne software for downloading flow control data according to a preferred embodiment of the present invention;
fig. 2 is a schematic flow chart of flow control data downloading in the method of the present invention;
FIG. 3 is a flow chart of a read data thread in the method of the present invention;
FIG. 4 is a flow chart of a download data thread in the method of the present invention.
Detailed Description
While the embodiments of the present invention will be described and illustrated in detail with reference to the accompanying drawings, it is to be understood that the invention is not limited to the specific embodiments disclosed, but is intended to cover various modifications, equivalents, and alternatives falling within the scope of the invention as defined by the appended claims.
For the convenience of understanding the embodiments of the present invention, the following description will be further explained by taking specific embodiments as examples with reference to the drawings, and the embodiments are not to be construed as limiting the embodiments of the present invention.
Referring to fig. 1, the present invention provides a method for setting satellite-borne software for downloading flow control data, including the following steps:
s1: setting a program for reading a data thread, reading load data to be downloaded according to the block size, and communicating with the data thread through semaphore;
s2: setting a program of a downloading data thread, communicating with the reading data thread through the semaphore, and starting a downloading flow after downloading the semaphore;
s3: setting a high-precision timer, wherein the timing precision is set to be microsecond, setting the download control period to be T microsecond, T is more than 1, and controlling the data flow in one period by utilizing the time of the timer;
s4: binding the download data thread with one processor core, and binding other threads (such as reading, processing, remote control, remote measurement and the like) with the other processor core, so that the download data thread does not influence the data processing precision due to the scheduling of an operating system;
and S5, setting a feedback mechanism, and dynamically increasing or decreasing the downloading speed according to the flow control signal instruction after the program of the downloading data thread receives the flow control signal of the lower computer.
The method can provide an environment for a satellite-borne embedded operating system and a multi-core processor, further improves the satellite flow control capability, has positive reference significance for reducing the jitter performance of the download rate of the satellite-borne computer, and has good practical application value in the field of aerospace engineering.
Referring to fig. 2, the embodiment is implemented by the following specific steps:
step one, a program for reading a data thread is set, load data needing to be downloaded is read according to the size of a block, and the load data is communicated with the data downloading thread through semaphore.
And in the data reading thread, reading load data to be downloaded to a memory through a file system. And reading the load data to a circular buffer area in advance, and synchronously sending the load data to a data downloading thread through semaphore.
And step two, setting a downloading data thread program, communicating with the reading thread through the semaphore, and starting a downloading flow after the semaphore is downloaded.
Here, in the data-down thread, the data-read thread is synchronized by means of semaphores. The downloading data thread is in a blocking state before the downloading semaphore arrives, so that the utilization rate of the processor is effectively reduced, and the downloading starting comprises functions of software initialization, working mode setting and the like.
Setting a high-precision timer, wherein the timing precision is microsecond, the download control period is (T is more than 1) microsecond, and controlling the data flow in one period by utilizing the time of the timer.
In the high-precision timer, the data downloading in one period is carried out by using the time difference of the timer, wherein the number of transmitting bytes in each period is N, so as to ensure that the number of transmitting bytes in each transmitting period is fixed.
And step four, binding the download data thread to one processor core, and binding other threads to the other core, so that the download data thread is ensured not to influence the data processing precision due to the scheduling of the operating system.
In the method, the downloading data thread is bound to one processor core, other threads are bound to the other core, and the downloading thread task cannot be interrupted in the scheduling process of the operating system, so that the downloading control precision is ensured.
And step five, setting a feedback mechanism, and dynamically increasing or decreasing the download rate according to the instruction after the program receives the flow control signal.
Here, the period T (T > 1) and/or the number of transmitted bytes (N) within the period can be dynamically adjusted using a feedback mechanism. T here is preferably set to 10 microseconds and N is preferably set to 1000. Of course, one skilled in the art can modify the specific values of T and N as desired.
Specifically, referring to fig. 2-4, in the data reading thread, it is first determined whether the start semaphore is blocked, then it is determined whether the file list is sent completely, and then a sending target and a sending speed are set when the working state is the downward-through mode, and if the semaphore is readable without blocking in the buffer, the file data is read to the buffer, and finally the download semaphore is sent to the download data thread. And in the data downloading thread, firstly judging whether the semaphore is blocked or not, then reading the data in the buffer area, then judging whether the working state is in a downloading mode or not, if so, starting a timer and sending the data, and if the time period of the timer is up, sending the readable semaphore in the buffer area to the data reading thread.
In summary, the invention reduces the jitter amplitude of the data downloading rate of the spaceborne computer by combining the operating system software and the multi-core processor hardware technology for the spaceborne embedded system. Compared with the flow control of the traditional satellite-borne software, the method can greatly improve the stability and effectiveness of the flow control, and has strong engineering practice value.
The embodiments in the present description are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.
Claims (8)
1. A method for setting satellite-borne software for downloading flow control data is characterized by comprising the following steps:
s1: setting a program for reading a data thread, reading load data to be downloaded according to the block size, and communicating with the data thread through semaphore;
s2: setting a program of a downloading data thread, communicating with the reading data thread through the semaphore, and starting a downloading flow after downloading the semaphore;
s3: setting a high-precision timer, wherein the timing precision is set to be microsecond, setting the download control period to be T microsecond, T is more than 1, and controlling the data flow in one period by utilizing the time of the timer;
s4: binding the download data thread with one processor core, and binding other threads including a reading thread, a processing thread, a remote control thread and a remote measuring thread with another processor core, so that the download data thread does not influence the data processing precision due to the scheduling of an operating system;
and S5, setting a feedback mechanism, and dynamically increasing or decreasing the downloading speed according to the flow control signal instruction after the program of the downloading data thread receives the flow control signal of the lower computer.
2. The method for setting on-board software for controlling data download according to claim 1, wherein in the data reading thread, load data to be downloaded is read to a memory through a file system.
3. The method as claimed in claim 1 or 2, wherein in the read data thread, the payload data is read in advance to a circular buffer and synchronized to the download data thread by the semaphore.
4. The method as claimed in claim 1, wherein the data thread is synchronized with the data thread by the semaphore.
5. The method for setting on-board software for downloading flow control data according to claim 1 or 4, wherein in the downloading data thread, the downloading data thread is in a blocking state before a downloading semaphore comes, and the downloading flow started after the downloading semaphore comes includes: initializing software and setting a working mode.
6. The method for setting on-board software for controlling data flow rate according to claim 1, wherein in the high-precision timer, the data flow rate in one period is performed by using the timer time difference, the number of bytes sent in each period is N, and N is a positive integer.
7. The method for setting on-board software for controlling data flow rate to be downloaded according to claim 1, wherein in the feedback mechanism, a period T and/or a number N of bytes sent in the period are/is dynamically adjusted.
8. The method as claimed in claim 6 or 7, wherein T is set to 10 μ s, and N is set to 1000.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010302533.0A CN111427616A (en) | 2020-04-16 | 2020-04-16 | Satellite-borne software setting method for flow control data downloading |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010302533.0A CN111427616A (en) | 2020-04-16 | 2020-04-16 | Satellite-borne software setting method for flow control data downloading |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111427616A true CN111427616A (en) | 2020-07-17 |
Family
ID=71554650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010302533.0A Pending CN111427616A (en) | 2020-04-16 | 2020-04-16 | Satellite-borne software setting method for flow control data downloading |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427616A (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101968748A (en) * | 2010-09-17 | 2011-02-09 | 北京星网锐捷网络技术有限公司 | Multithreading data scheduling method, device and network equipment |
CN102497322A (en) * | 2011-12-19 | 2012-06-13 | 曙光信息产业(北京)有限公司 | High-speed packet filtering device and method realized based on shunting network card and multi-core CPU (Central Processing Unit) |
US20140269306A1 (en) * | 2013-03-15 | 2014-09-18 | Andrew David Alsup | Ethernet traffic management apparatus |
CN105959161A (en) * | 2016-07-08 | 2016-09-21 | 中国人民解放军国防科学技术大学 | High-speed data packet construction and distribution control method and device |
CN106357761A (en) * | 2016-09-13 | 2017-01-25 | 中国电子科技集团公司第三十二研究所 | Distributed message communication middleware implementation software system based on real-time operating system |
CN109818878A (en) * | 2019-01-25 | 2019-05-28 | 杭州天谷信息科技有限公司 | Multi-channel adaptive flow control methods and system |
-
2020
- 2020-04-16 CN CN202010302533.0A patent/CN111427616A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101968748A (en) * | 2010-09-17 | 2011-02-09 | 北京星网锐捷网络技术有限公司 | Multithreading data scheduling method, device and network equipment |
CN102497322A (en) * | 2011-12-19 | 2012-06-13 | 曙光信息产业(北京)有限公司 | High-speed packet filtering device and method realized based on shunting network card and multi-core CPU (Central Processing Unit) |
US20140269306A1 (en) * | 2013-03-15 | 2014-09-18 | Andrew David Alsup | Ethernet traffic management apparatus |
CN105959161A (en) * | 2016-07-08 | 2016-09-21 | 中国人民解放军国防科学技术大学 | High-speed data packet construction and distribution control method and device |
CN106357761A (en) * | 2016-09-13 | 2017-01-25 | 中国电子科技集团公司第三十二研究所 | Distributed message communication middleware implementation software system based on real-time operating system |
CN109818878A (en) * | 2019-01-25 | 2019-05-28 | 杭州天谷信息科技有限公司 | Multi-channel adaptive flow control methods and system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20020073228A1 (en) | Method for creating accurate time-stamped frames sent between computers via a network | |
US20220321493A1 (en) | Method for transmitting data packet and apparatus for implementing the same | |
US20110150045A1 (en) | System and Method for an Intelligent Radio Frequency Receiver | |
US10762013B2 (en) | Driver for network timing systems | |
EP3930266A1 (en) | Packet scheduling system with desired physical transmission time for packets | |
KR20180023741A (en) | Modem Chip, Application Processor including the same and Operating Method of Modem Chip | |
WO2021017412A1 (en) | Phased array beam control device and control method therefor | |
US20220006548A1 (en) | Method and system for controlling network timing precision of a seismic collector, and terminal device | |
US9118611B2 (en) | Data synchronization for circuit resources without using a resource buffer | |
CN110032532B (en) | Master-slave serial port communication method based on timing interrupt triggering | |
CN111427616A (en) | Satellite-borne software setting method for flow control data downloading | |
KR20200110219A (en) | Serial peripheral interface master | |
US10896106B2 (en) | Bus synchronization system that aggregates status | |
US10733117B2 (en) | Programmable radio transceivers | |
JP5845771B2 (en) | Information transmission system and information transmission method | |
US7058149B2 (en) | System for providing a calibrated clock and methods thereof | |
CA3212940A1 (en) | System and method for enhancing throughput during data transfer | |
CN111381539B (en) | Bus real-time synchronous control device | |
Guo et al. | A novel GPP-based software-defined radio architecture | |
US11294421B2 (en) | Precision timing between systems | |
CN113659986B (en) | ADC clock system and distribution method, eight-channel number acquisition system and control method | |
WO2023087588A1 (en) | Sampling circuit, use method of sampling circuit, storage medium, and electronic device | |
CN209055875U (en) | A kind of time calibration device and computer | |
CN107846245A (en) | A kind of design method of synchronous double star GPS raw measurement datas | |
CN117118555A (en) | Multi-port multi-domain time synchronization chip and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200717 |