KR102154246B1 - Satellite and the method for analyzing its software time - Google Patents
Satellite and the method for analyzing its software time Download PDFInfo
- Publication number
- KR102154246B1 KR102154246B1 KR1020180169907A KR20180169907A KR102154246B1 KR 102154246 B1 KR102154246 B1 KR 102154246B1 KR 1020180169907 A KR1020180169907 A KR 1020180169907A KR 20180169907 A KR20180169907 A KR 20180169907A KR 102154246 B1 KR102154246 B1 KR 102154246B1
- Authority
- KR
- South Korea
- Prior art keywords
- task
- time
- telemetry
- processor
- software
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64G—COSMONAUTICS; VEHICLES OR EQUIPMENT THEREFOR
- B64G1/00—Cosmonautic vehicles
- B64G1/10—Artificial satellites; Systems of such satellites; Interplanetary vehicles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64G—COSMONAUTICS; VEHICLES OR EQUIPMENT THEREFOR
- B64G1/00—Cosmonautic vehicles
- B64G1/22—Parts of, or equipment specially adapted for fitting in or to, cosmonautic vehicles
- B64G1/66—Arrangements or adaptations of apparatus or instruments, not otherwise provided for
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- B64G2700/00—
Abstract
본 발명은 인공위성 및 이의 소프트웨어 수행시간 분석 방법에 관한 것으로서, 더욱 구체적으로는 인공위성의 소프트웨어의 수행 시간을 하드웨어를 통해 측정하는 방법에 관한 것이다.
본 발명의 인공위성의 소프트웨어(software) 수행시간 측정 방법은, 적어도 하나의 태스크(task)를 수행하는 단계, 적어도 하나의 태스크의 시작 시간 및 종료 시간을 하드웨어(hardware)에 기록하는 단계, 하드웨어에 기록된 시작 시간 및 종료 시간을 바탕으로, 적어도 하나의 태스크에 대한 수행시간 데이터를 생성하는 단계 및 수행시간 데이터를 저장하는 단계를 포함한다.The present invention relates to an artificial satellite and a method of analyzing the execution time of the software thereof, and more particularly, to a method of measuring the execution time of the software of the artificial satellite through hardware.
The method of measuring software execution time of an artificial satellite of the present invention includes performing at least one task, recording a start time and an end time of at least one task in hardware, and recording in hardware And generating execution time data for at least one task and storing execution time data based on the set start time and end time.
Description
본 발명은 인공위성 및 이의 소프트웨어 수행시간 분석 방법에 관한 것으로서, 더욱 구체적으로는 인공위성의 소프트웨어의 수행 시간을 하드웨어를 통해 측정하는 방법에 관한 것이다.The present invention relates to an artificial satellite and a method of analyzing the execution time of the software thereof, and more particularly, to a method of measuring the execution time of the software of the artificial satellite through hardware.
오늘날 다양한 목적과 임무를 위해 우주로 인공위성들이 발사되고 있다. 이러한 인공위성들은 목적과 임무의 달성을 위한 소프트웨어가 탑재된다. 인공위성에 탑재된 소프트웨어는 위성의 모든 상태, 동작을 관리, 제어하며 위성 본연의 임무 수행을 하는데 필수적이다. Today, satellites are being launched into space for a variety of purposes and missions. These satellites are equipped with software to achieve their purpose and mission. The software installed on the satellite manages and controls all the states and motions of the satellite, and is essential for performing the satellite's original mission.
이러한 인공위성의 소프트웨어는 실시간성을 만족해야 하며, 이는 위성의 안전 및 성능에 영향을 미치게 된다. 실시간성의 만족은 주어진 태스크(task)가 정해진 스케줄에 따라 제한된 시간 안에 수행을 마칠 때 이루어질 수 있다. The software of these satellites must satisfy real-time, which will affect the safety and performance of the satellite. Satisfaction with real-time performance can be achieved when a given task is completed within a limited time according to a predetermined schedule.
일반적인 인공위성에는 시스템 기준 클럭에 따라 값이 순차적으로 증가하는 클록 카운터(Clock Counter)가 구현되어 있다. 소프트웨어는 이 클럭카운터를 이용하여 마이너 사이클마다 수행 시간을 측정하는데, 일반적인 텔레메트리 주기 (정지궤도 위성: 10 마이너 사이클 = 1초, 저궤도 위성: 8 마이너 사이클 = 1초)로는 해당 결과를 지상으로 전송하기 어렵다. 이에 따라, 종래에는 MCS (Minor Cycle Sampling) 등 별도의 방법을 적용하여 지상으로 전송하였다. In general satellites, a clock counter is implemented in which the value increases sequentially according to the system reference clock. The software uses this clock counter to measure the execution time for each minor cycle. With a typical telemetry period (geostationary satellites: 10 minor cycles = 1 second, LEO satellites: 8 minor cycles = 1 second), the result is transferred to the ground. Difficult to transmit Accordingly, conventionally, a separate method such as Minor Cycle Sampling (MCS) was applied to transmit the data to the ground.
다만, 종래에는, MCS 방법을 사용함에 있어서 마이너 사이클(minor cycle)의 수만큼 저장공간을 확보하여 한다는 문제점이 있었고, 소프트웨어가 각각의 수행 시간을 계산하는 과정에서 딜레이가 발생하며, 소프트웨어의 불필요한 복잡성이 초래된다는 문제점이 있어 왔다.However, conventionally, there was a problem in that the MCS method was used to secure storage space as many as the number of minor cycles, and a delay occurred in the process of calculating each execution time by the software, and unnecessary complexity of the software. There has been a problem that this is caused.
본 발명은 상술한 문제점을 해결하기 위한 필요성에 따른 것으로 본 발명이 해결하고자 하는 일 과제는, 인공위성에 탑재된 소프트웨어가 수행 시간의 시작 및 종료 시점의 카운트 값을 확인할 필요 없이, 시작 및 종료 시점을 알려주어 하드웨어의 주소를 액세스함으로써 단순화된 소프트웨어를 제공하는 것이다.The present invention is in accordance with the necessity for solving the above-described problems, and one problem to be solved by the present invention is that the software mounted on the satellite does not need to check the count values of the start and end times of the execution time, It tells you to provide a simplified software by accessing the address of the hardware.
본 발명의 일 실시 예에 따른 인공위성의 소프트웨어(software) 수행시간 측정 방법은, 적어도 하나의 태스크(task)를 수행하는 단계; 상기 적어도 하나의 태스크의 시작 시간 및 종료 시간을 하드웨어(hardware)에 기록하는 단계; 상기 하드웨어에 기록된 상기 시작 시간 및 종료 시간을 바탕으로, 상기 적어도 하나의 태스크에 대한 수행시간 데이터를 생성하는 단계; 및 상기 수행시간 데이터를 저장하는 단계;를 포함할 수 있다. According to an embodiment of the present invention, a method for measuring execution time of software of an artificial satellite may include performing at least one task; Recording a start time and an end time of the at least one task in hardware; Generating execution time data for the at least one task based on the start time and end time recorded in the hardware; And storing the execution time data.
또한, 상기 기록하는 단계는, 상기 적어도 하나의 태스크 중 제1 태스크에 가 수행되는 경우, 상기 하드웨어의 제1 주소에 액세스(access)하여 상기 제1 태스크의 시작 시간 및 종료 시간을 기록하는 것일 수 있다. In addition, the recording may be to record the start time and end time of the first task by accessing the first address of the hardware when is performed on the first task among the at least one task. have.
또한, 상기 기록하는 단계는, 상기 적어도 하나의 태스크 중 상기 제1 태스크와 유형 및 소 주기(minor cycle)가 서로 상이한 제2 태스크가 수행되는 경우, 상기 하드웨어의 제2 주소에 액세스하여 상기 제2 태스크의 시작 시간 및 종료 시간을 기록하는 것일 수 있다. In addition, the recording may include accessing the second address of the hardware and performing the second task when a second task having a type and a minor cycle different from the first task among the at least one task is performed. It may be to record the start time and end time of the task.
또한, 상기 생성하는 단계는, 텔레메트리(Telemetry) 생성 규칙에 기초하여, 상기 시작 시간 및 종료 시간을 포함하는 텔레메트리 프레임을 상기 수행시간 데이터로 생성하는 것일 수 있다.In addition, the generating may be to generate a telemetry frame including the start time and end time as the execution time data based on a telemetry generation rule.
또한, 상기 수행시간 측정 방법은, 저장된 상기 수행시간 데이터를 지상으로 전송하는 단계;를 더 포함할 수 있다.In addition, the execution time measurement method may further include transmitting the stored execution time data to the ground.
한편, 본 발명의 일 실시 예에 따른 컴퓨터를 이용하여 인공위성의 소프트웨어(software) 수행시간 측정 방법은 상술한 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램을 이용할 수 있다.Meanwhile, the method of measuring the execution time of software for an artificial satellite using a computer according to an embodiment of the present invention may use a computer program stored in a medium to execute the above-described method.
한편, 본 발명의 일 실시 예에 따른 인공위성은 메모리; 및 프로세서;를 포함하고, 상기 프로세서는, 적어도 하나의 태스크(task)를 수행하고, 상기 적어도 하나의 태스크의 시작 시간 및 종료 시간을 하드웨어(hardware)에 기록하고, 상기 하드웨어에 기록된 상기 시작 시간 및 종료 시간을 바탕으로, 상기 적어도 하나의 태스크에 대한 수행시간 데이터를 생성하고, 상기 수행시간 데이터를 상기 메모리에 저장할 수 있다. On the other hand, the satellite according to an embodiment of the present invention includes a memory; And a processor; wherein the processor performs at least one task, records a start time and an end time of the at least one task in hardware, and the start time recorded in the hardware And execution time data for the at least one task may be generated based on an end time, and the execution time data may be stored in the memory.
또한, 상기 프로세서는, 상기 적어도 하나의 태스크 중 제1 태스크에 가 수행되는 경우, 상기 하드웨어의 제1 주소에 액세스(access)하여 상기 제1 태스크의 시작 시간 및 종료 시간을 기록할 수 있다. In addition, the processor may access a first address of the hardware and record a start time and an end time of the first task when is performed on the first task among the at least one task.
또한, 상기 프로세서는, 상기 적어도 하나의 태스크 중 상기 제1 태스크와 유형 및 소 주기(minor cycle)가 서로 상이한 제2 태스크가 수행되는 경우, 상기 하드웨어의 제2 주소에 액세스하여 상기 제2 태스크의 시작 시간 및 종료 시간을 기록할 수 있다.In addition, when a second task having a type and a minor cycle different from the first task among the at least one task is performed, the processor accesses the second address of the hardware Start time and end time can be recorded.
또한, 상기 프로세서는, 텔레메트리(Telemetry) 생성 규칙에 기초하여, 상기 시작 시간 및 종료 시간을 포함하는 텔레메트리 프레임을 상기 수행시간 데이터로 생성할 수 있다. .In addition, the processor may generate a telemetry frame including the start time and end time as the execution time data based on a telemetry generation rule. .
또한, 상기 인공위성은, 통신부;를 더 포함하고, 상기 프로세서는, 저장된 상기 수행시간 데이터를 지상으로 전송하도록 상기 통신부를 제어할 수 있다.In addition, the satellite may further include a communication unit, and the processor may control the communication unit to transmit the stored execution time data to the ground.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.Other aspects, features, and advantages other than those described above will become apparent from the following drawings, claims, and detailed description of the invention.
본 발명에 따르면, 소프트웨어는 하드웨어에 시작 및 종료 시점을 알려주는 역할만 수행함으로써 소프트웨어가 단순화될 수 있으며, 시간 측정을 위한 부가적인 처리가 줄어들게 된다.According to the present invention, the software can be simplified by only informing the hardware of the start and end times, and additional processing for time measurement is reduced.
또한, 시간측정데이터를 지상으로 전송하기 위해 MCS(Minor Cycle Sampling) 와 같은 별도의 방법을 사용하였으나, 본 발명을 이용하면 기존의 텔레메트리(telemetry) 처리 방법을 그대로 적용할 수 있어서, 소프트웨어의 구현 및 운영이 용이해진다.In addition, a separate method such as Minor Cycle Sampling (MCS) was used to transmit the time measurement data to the ground. However, by using the present invention, the existing telemetry processing method can be applied as it is. It becomes easy to implement and operate.
도 1은 본 발명의 일 실시 예에 따른 인공위성에 포함된 구성을 설명하기 위한 블록도이다.
도 2는 종래의 인공위성 소프트웨어가 counter를 이용하여 태스크의 수행 시간을 측정하는 것을 설명하기 위한 도면이다.
도 3은 종래의 인공위성 소프트웨어의 수행시간 측정결과를 전송하기 위한 MCS(minor cycle sampling) 방법을 도시한 도면이다.
도 4는 본 발명의 일 실시 예에 따른, 인공위성의 소프트웨어 수행 시간을 측정하는 방법을 설명하기 위한 도면이다.1 is a block diagram illustrating a configuration included in an artificial satellite according to an embodiment of the present invention.
2 is a diagram for explaining how a conventional satellite software measures a task execution time using a counter.
3 is a diagram showing a minor cycle sampling (MCS) method for transmitting a result of measuring an execution time of a conventional satellite software.
4 is a diagram for describing a method of measuring a software execution time of an artificial satellite according to an embodiment of the present invention.
이하, 본 문서의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.Hereinafter, various embodiments of the present document will be described with reference to the accompanying drawings. However, this is not intended to limit the techniques described in this document to specific embodiments, and it should be understood that various modifications, equivalents, and/or alternatives of the embodiments of this document are included. In connection with the description of the drawings, similar reference numerals may be used for similar elements.
또한, 본 문서에서 사용된 "제 1," "제 2," 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제 1 사용자 기기와 제 2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 바꾸어 명명될 수 있다.In addition, expressions such as "first," "second," etc. used in this document can modify various elements regardless of their order and/or importance, and to distinguish one element from other elements. It is used only and does not limit the components. For example, a first user device and a second user device may represent different user devices regardless of order or importance. For example, without departing from the scope of the rights described in this document, a first component may be referred to as a second component, and similarly, a second component may be renamed to a first component.
어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.Some component (eg, a first component) is "(functionally or communicatively) coupled with/to)" to another component (eg, a second component) or " When referred to as "connected to", it should be understood that the certain component may be directly connected to the other component, or may be connected through another component (eg, a third component). On the other hand, when a component (eg, a first component) is referred to as being “directly connected” or “directly connected” to another component (eg, a second component), the component and the It may be understood that no other component (eg, a third component) exists between the different components.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.Terms used in this document are only used to describe a specific embodiment, and may not be intended to limit the scope of other embodiments. Singular expressions may include plural expressions unless the context clearly indicates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by one of ordinary skill in the technical field described in this document. Among the terms used in this document, terms defined in a general dictionary may be interpreted as having the same or similar meanings as those in the context of the related technology, and unless explicitly defined in this document, an ideal or excessively formal meaning Is not interpreted as. In some cases, even terms defined in this document cannot be interpreted to exclude embodiments of this document.
이하에서, 첨부된 도면을 이용하여 본 발명의 다양한 실시 예들에 대하여 구체적으로 설명한다. Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시 예에 따른 인공위성의 구성을 설명하기 위한 블록도이다. 본 발명에서 '인공위성'은 3차원 공간상에서 이동하는 다양한 장치일 수 있다. 가령 인공위성은 지구 및/또는 다른 행성의 주위를 공전하거나 이동하면서 지상국과 데이터를 송수신하는 장치일 수 있다. 이러한 경우 인공위성은 발사체 등에 탑재되어 발사대를 통하여 발사될 수 있다. 이때 인공위성에는 소정의 목적 및/또는 용도에 따른 소프트웨어가 탑재될 수 있다.1 is a block diagram illustrating a configuration of an artificial satellite according to an embodiment of the present invention. In the present invention, the'artificial satellite' may be various devices that move in a three-dimensional space. For example, an artificial satellite may be a device that transmits and receives data to and from a ground station while orbiting or moving around the Earth and/or other planets. In this case, the satellite may be mounted on a launch vehicle and launched through the launch pad. In this case, software according to a predetermined purpose and/or purpose may be mounted on the satellite.
또한, 인공위성은 대기권 내에서 소정의 목적 및/또는 용도에 따라 비행하는 비행체일 수도 있다. 이러한 경우 인공위성은 발사체 및/또는 발사대 없이도 이륙 및/또는 착륙할 수 있다. 다만, 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다.In addition, the satellite may be a flying vehicle in the atmosphere according to a predetermined purpose and/or use. In this case, the satellite can take off and/or land without a launch vehicle and/or launch pad. However, this is an example and the spirit of the present invention is not limited thereto.
본 발명의 일 실시예에 따른 인공위성은 소정의 시간 간격마다 신호를 지상국으로 전송할 수 있다. 즉 인공위성은 일정한 시간 주기로 신호를 지상국으로 전송할 수 있다. 예를 들면 인공위성은 5초 주기로 신호를 지상국으로 전송할 수 있다.The satellite according to an embodiment of the present invention may transmit a signal to a ground station at predetermined time intervals. In other words, the satellite can transmit signals to the ground station at a certain period of time. For example, a satellite can transmit a signal to a ground station every 5 seconds.
이때 인공위성이 지상국으로 전송하는 신호는 텔레메트리(Telemetry)로써, 프레임(Frame) 및/또는 패킷(Packet)단위로 전송될 수 있다. 따라서 인공위성은 소정의 시간 간격마다 프레임 및/또는 패킷을 지상국으로 전송할 수 있다. In this case, a signal transmitted by the satellite to the ground station is telemetry, and may be transmitted in a frame and/or packet unit. Accordingly, the satellite can transmit frames and/or packets to the ground station at predetermined time intervals.
인공위성이 지상국으로 전송하는 프레임 및/또는 패킷에는 해당 프레임 및/또는 패킷의 순번에 관한 정보가 포함될 수 있다. 가령 인공위성이 지상국에 10번째로 보내는 프레임 및/또는 패킷의 경우, 해당 프레임 및/또는 패킷 내에 해당 프레임 및/또는 패킷이 10번째로 전송되는 것임을 식별할 수 있는 정보가 포함될 수 있다. The frame and/or packet transmitted by the satellite to the ground station may include information on the sequence number of the frame and/or packet. For example, in the case of a frame and/or packet that the satellite sends to the ground station for the tenth time, information for identifying that the frame and/or packet is transmitted for the tenth time may be included in the frame and/or packet.
물론 상술한 순번 정보 외에, 프레임 및/또는 패킷에는 소정의 규칙 및/또는 규격에 따른 다양한 데이터들(가령 인공위성의 상태에 관한 데이터 등)이 더 포함될 수 있다.Of course, in addition to the above-described sequence number information, the frame and/or packet may further include various data (eg, data related to the state of the satellite) according to a predetermined rule and/or standard.
본 발명의 일 실시 예에 따른 인공위성은 텔레메트리 처리부(150)를 포함하는 프로세서(100), 클럭카운터(Clock Counter, 110), 시간측정부(120), 결과기록부(130), 텔레메트리 생성부(140) 및 설정부(160)를 포함할 수 있다.The satellite according to an embodiment of the present invention includes a
클럭카운터(110)는 시스템 기준 클럭에 따라 1 틱마다 값이 1이 증가하는 카운터이다. 구체적으로, 틱은 기설정된 시간 간격으로 결정될 수 있고, 또는 시스템이 동작을 제어하기 위한 시스템 이벤트를 기준으로 결정될 수도 있다. 클럭카운터(110)는 기설정된 틱이 도과할 때마다 카운터 값을 1씩 증가시킬 수 있고, 프로세서(100)는 카운터 값을 기준으로 소프트웨어의 수행 시간을 획득할 수 있다. The
시간측정부(120)는 프로세서(100)에서 수행되는 소프트웨어로부터 신호를 받으면, 클럭카운터(110)를 통해 시간측정을 수행하고, 결과 값을 결과 기록부(130)로 전송할 수 있다. When receiving a signal from software performed by the
결과기록부(130)는 시간측정부(120)로부터 전송된 측정결과를 정해진 방법에 따라 기록하는 장치로, 태스크(Task) 종류, 소 주기(Minor Cycle) 순서 등에 따라 기록을 관리할 수 있다. The
텔레메트리 생성부(140)는 결과기록부에 저장된 시간 측정데이터를 소프트웨어의 요청에 따라 텔레메트리 처리를 위한 데이터를 생성하는 장치이다.The
설정부(160)는 시간 측정 및 기록, 자료 형식 등 처리에 필요한 다양한 기초 데이터를 설정하고 저장하기 위한 구성이며, 기초 데이터 값은 기설정된 값일 수도 있으나, 상황 별로 프로세서(100)에 의해 변경될 수 있다. The
도 1에는 클럭카운터(110), 시간측정부(120), 결과기록부(130), 텔레메트리 생성부(140) 및 설정부(160)가 별개의 장치로 구현한 것을 도시하였지만, 상술한 복수의 장치들은 하나의 장치로 구현될 수 있다. 바꾸어 말하면 복수의 장치(110, 120, 130, 140, 160)는 물리적으로 각각 또는 일부 집합으로 분리된 별개의 장치일 수도 있고, 동일한 프로세서에 의해 구동되는 별개의 어플리케이션, 프로세스, 태스크 중 어느 하나일 수도 있다. 다만, 이하에서는 설명의 편의를 위하여 복수의 장치가 별개의 장치임을 전제로 설명한다. 1 shows that the
한편, 텔레메트리 처리부(150)는 프로세서(100)에 포함될 수 있다. 텔레메트리 처리부(150)는 프로세서(100)에서의 소프트웨어 수행을 위한 소프트웨어 컴포넌트일 수 있다. Meanwhile, the
텔레메트리 처리부(150)는 프로세서(100)에서의 태스크 수행 결과 기록을 텔레메트리 생성부(140)에 요청하여 획득하고, 이를 지상으로 전송할 프레임(Frame)에 기록하는 역할을 수행한다. 이때, 지상으로 전송할 프레임은 소프트웨어 수행이 시작되거나 종료될 때 하드웨어의 특정 주소가 액세스된 시간 정보를 포함하는 텔레메트리 프레임일 수 있다. The
본 발명의 일 실시 예에 따른 프로세서(100)는, 소프트웨어를 통해 태스크를 수행할 때 시간측정부(120)로 시작 및 종료를 알리는 신호를 전달할 수 있다. 예를 들면, 프로세서(100)는 소프트웨어 태스크 1(170)을 실행할 때 시간측정부(120)로 시작 신호를 전송할 수 있고, 시간측정부(120)는 클럭카운터(110)의 클럭을 이용하여 소프트웨어 태스크 1(170)의 시작 시간을 획득할 수 있다. 또한 프로세서(100)는 소프트웨어 태스크 1(170)을 종료할 때 시간측정부(120)로 종료 신호를 전송할 수 있고, 시간측정부(120)는 클럭카운터(110)의 클럭을 이용하여 소프트웨어 태스크 1(170)의 종료 시간을 획득할 수 있다. 이는 프로세서(100)가 소프트웨어 태스크 1(170)과 상이한 소프트웨어 태스크2(180)를 수행할 때도 마찬가지이다. When performing a task through software, the
이때, 프로세서(100)는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(Microprocessor), 중앙처리장치(Central Processing Unit: CPU), 프로세서 코어(Processor Core), 멀티프로세서(Multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.In this case, the
예를 들어, 프로세서(100)는 램(RAM), 롬(ROM), 시스템 버스를 포함할 수 있다. 여기서, 롬은 시스템 부팅을 위한 명령어 세트가 저장되는 구성이고, CPU는 롬에 저장된 명령어에 따라 메모리(미도시)에 저장된 운영체제를 램에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, CPU는 메모리에 저장된 각종 애플리케이션을 램에 복사하고, 실행시켜 각종 동작을 수행할 수 있다. For example, the
이상에서는 프로세서(100)가 하나의 CPU만을 포함하는 것으로 설명하였지만, 구현 시에는 복수의 CPU(또는 DSP, SoC 등)으로 구현될 수 있다.In the above, it has been described that the
한편, 도 1에서는 도시하지 않았지만, 본 발명의 인공위성은 메모리 및 통신부를 더 포함할 수 있다. Meanwhile, although not shown in FIG. 1, the satellite of the present invention may further include a memory and a communication unit.
특히, 메모리는 본 발명의 일 실시 예에 따라, 프로세서(100)에 의해 할당된 특정 주소 값에 소프트웨어의 수행이 시작되거나 종료될 때의 시각을 기록하거나, 다른 구성요소에 기록된 시간 정보를 바탕으로 생성한 데이터를 저장할 수 있다. 이때, 생성된 데이터는 시작 또는 종료할 때의 시각을 포함하는 ??레메트리 처리를 위한 데이터일 수 있다. 즉, 메모리는 결과기록부(130)를 포함하고 있을 수 있으나, 이에 한정하지 않고 별도의 구성으로 구현될 수도 있다. In particular, the memory records the time when the execution of software starts or ends in a specific address value allocated by the
메모리는 프로세서(100)의 처리 또는 제어를 위한 프로그램 등 인공위성의 전반의 동작을 위한 다양한 데이터를 저장할 수 있다. 메모리는 인공위성에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 인공위성의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한, 이러한 응용 프로그램 중 적어도 일부는, 인공위성의 기본적인 기능을 위하여 제작 당시부터 인공위성 상에 존재할 수 있다. 응용 프로그램은, 메모리에 저장되고, 프로세서(100)에 의하여 인공위성의 동작(또는 기능)을 수행하도록 구동될 수 있다. The memory may store various data for overall operation of the satellite, such as a program for processing or controlling the
메모리는 SGM(Semi-Global-Matching), TCM의 형태로 구현될 수 있다. 다만, 이에 한정하지 않으며, 메모리는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리는 프로세서(100)에 의해 액세스 되며, 프로세서(100)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리, 프로세서(100) 내 ROM, RAM 또는 장착 가능한 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다. The memory may be implemented in the form of Semi-Global-Matching (SGM) or TCM. However, the present invention is not limited thereto, and the memory may be implemented as a nonvolatile memory, a volatile memory, a flash-memory, a hard disk drive (HDD), or a solid state drive (SSD). The memory is accessed by the
한편, 통신부는 지상의 지상국과 신호를 송수신하기 위한 구성이다. 구체적으로 인공위성은 통신부를 통해 인공위성에서 생성한 소프트웨어 수행시간에 대한 정보를 포함하는 텔레메트리 프레임을 지상국으로 송신할 수 있다. On the other hand, the communication unit is a configuration for transmitting and receiving signals with a ground station on the ground. Specifically, the satellite may transmit a telemetry frame including information on the execution time of software generated by the satellite to the ground station through the communication unit.
본 발명에서 지상국(미도시)은 인공위성과 신호를 송수신하고, 인공위성으로부터 수신된 텔레메트리로부터 위성의 상태를 분석하며, 이에 기초하여 인공위성을 제어하는 장치를 의미할 수 있다. 이에 따라 지상국은 신호를 송수신 하기 위한 안테나와, 이러한 안테나의 각도 조절을 위한 안테나 구동부를 포함할 수 있다. 물론 지상국은 전술한 구성 외에도, 프로세서 등을 더 포함할 수 있다.In the present invention, a ground station (not shown) may refer to a device that transmits and receives signals to and from an artificial satellite, analyzes the state of the satellite from telemetry received from the satellite, and controls the satellite based thereon. Accordingly, the ground station may include an antenna for transmitting and receiving signals and an antenna driver for adjusting the angle of the antenna. Of course, the ground station may further include a processor or the like in addition to the above-described configuration.
한편, 본 발명의 일 실시예에 따른 프로세서(100)는 전술한 인공위성 및 지상국과 별도로 구비될 수 있다. 예를 들면, 인공위성은 다른 구성을 전반적으로 제어하는 프로세서(미도시)를 포함하면서도, 소프트웨어의 수행시간을 측정하기 위한 프로세서(100)를 별도의 구성으로 포함할 수 있다.Meanwhile, the
도 2는 종래의 인공위성 소프트웨어가 카운터를 이용하여 태스크의 수행 시간을 측정하는 것을 설명하기 위한 도면이다. 2 is a diagram for explaining how a conventional satellite software measures a task execution time using a counter.
도 2를 참조하면, 소프트웨어는 클럭카운터를 이용하여 시간 측정을 하고자 하는 태스크(Task)의 시작과 끝부분에서 각각 카운터 값을 획득하고, 이 두 값의 차이를 이용하여 수행시간을 측정할 수 있다. Referring to FIG. 2, the software obtains a counter value at the start and end of a task to measure time using a clock counter, and can measure execution time by using the difference between these two values. .
구체적으로, 인공위성의 소프트웨어는 각 마이너 사이클(minor cycle)마다 태스크를 수행할 수 있다. 즉, 소프트웨어는 제1 소 주기 동안 제1 태스크(210)의 수행 시작 시간(start time)을 기록하고, 수행 종료 시간(end time)을 기록할 수 있다. 소프트웨어는 기록된 시작 시간과 종료 시간을 처리하여 수행 시간(elapsed time)을 계산할 수 있다. 즉, 상술한 방법에 의해 소프트웨어는 제1 minor cycle 동안 제1 태스크가 수행된 수행시간(211)을 측정할 수 있다. 마찬가지로 소프트웨어는 제1 minor cycle 동안 제2 태스크(220)의 수행시간(221)을 측정할 수 있다. Specifically, the satellite's software can perform a task in each minor cycle. That is, the software may record the execution start time of the
즉, 인공위성의 소프트웨어는 각 마이너 사이클(minor cycle)에서의 각각의 태스크에 대한 수행시간(211, 212, 213, 221, 222, 223)을 측정하고 소 주기 프레임(minor cycle frame)을 생성할 수 있다. That is, the satellite's software can measure the execution time (211, 212, 213, 221, 222, 223) for each task in each minor cycle and generate a minor cycle frame. have.
다만, 상술한 바와 같이 소프트웨어가 각각의 태스크에 대한 수행 시작시간과 종료시간을 기록하고 계산하여 수행시간을 측정하는 경우, 프로세스를 수행하고 단순히 수행 시작 및 종료를 알리는 경우에 비해 상대적으로 복잡하게 구현되어야 한다. However, as described above, when the software records and calculates the execution start time and end time for each task to measure the execution time, it is implemented relatively more complicated than the case of performing the process and simply notifying the execution start and end. Should be.
또한, 기존의 일반적인 텔레메트리 주기 (정지궤도 위성: 10 마이너 사이클 = 1초, 저궤도 위성: 8 마이너 사이클 = 1초)로는 해당 결과를 지상으로 전송하기 어렵다. 이에 따라, 종래에는 도 3과 같이 MCS (Minor Cycle Sampling) 등 별도의 방법을 적용하여 지상으로 전송하였다.In addition, it is difficult to transmit the result to the ground with the conventional telemetry period (geostationary satellite: 10 minor cycles = 1 second, low orbit satellite: 8 minor cycles = 1 second). Accordingly, conventionally, as shown in FIG. 3, a separate method such as Minor Cycle Sampling (MCS) was applied to transmit the data to the ground.
도 3은 종래의 인공위성 소프트웨어의 수행시간 측정결과를 전송하기 위한 MCS(minor cycle sampling) 방법을 도시한 도면이다. 3 is a diagram showing a minor cycle sampling (MCS) method for transmitting a result of measuring an execution time of a conventional satellite software.
도 3을 참조하면, 인공위성의 소프트웨어는 1초 동안 10번의 마이너 사이클(minor cycle)을 포함할 수 있다. 예를 들면, 인공위성 소프트웨어는 N 초에서 N+1초 동안 10 minor cycle 를 포함하고, 이에 따라 D0 내지 D9, 10번의 태스크를 수행할 수 있다. Referring to FIG. 3, the satellite software may include 10 minor cycles for 1 second. For example, the satellite software includes 10 minor cycles for N seconds to N+1 seconds, and accordingly, D0 to D9, 10 tasks can be performed.
종래의 인공위성 소프트웨어는 마이너 사이클(minor cycle) 별 태스크에 대한 측정 결과를 MCS(minor cycle sampling) 데이터프레임에 샘플링하여 각각의 결과를 누락하지 않고 지상(ground)로 전송하였다. Conventional satellite software samples the measurement results for tasks for each minor cycle in a minor cycle sampling (MCS) data frame and transmits the results to the ground without omission.
즉, MCS(minor cycle sampling) 처리하여 지상으로 전송하는 경우, 초기 마이너 사이클(minor cycle)에 따른 결과 값이 삭제되는 것을 방지하기 위해 각각의 minor cycle마다 각각 정해진 저장공간으로 별도로 할당하여야 한다. 즉, 기존의 방법에 의하면, 과도하게 많은 저장공간이 소비될 수 있다는 단점이 있다. In other words, when MCS (minor cycle sampling) is processed and transmitted to the ground, a storage space must be separately allocated for each minor cycle in order to prevent deletion of a result value according to an initial minor cycle. That is, according to the conventional method, there is a disadvantage in that an excessively large amount of storage space may be consumed.
도 4는 본 발명의 일 실시 예에 따른, 인공위성의 소프트웨어 수행 시간을 측정하는 방법을 설명하기 위한 도면이다. 4 is a diagram for describing a method of measuring a software execution time of an artificial satellite according to an embodiment of the present invention.
도 4를 참조하면, 프로세서(100)는 인공위성 소프트웨어에서의 제1 태스크 시작 신호를 하드웨어로 전송하기 위해 시작 명령어(410)를 실행할 수 있다. 이때, 하드웨어는 시간측정부(120)와 같이, 소프트웨어를 구동하기 위한 프로세서(100)와 별도의 구성 요소일 수 있다. 다만, 이에 한정하지 않고, 하드웨어는 프로세서(100)에 포함된 구성 중 소프트웨어를 수행하기 구성을 제외한 구성일 수도 있다. Referring to FIG. 4, the
시작 명령어(410)를 통한 제1 태스크 수행 시작 신호를 수신하면, 하드웨어는 클럭카운터(110)의 카운터 값을 통해 시작 시각을 획득할 수 있다. 이후, 프로세서(100)는 제1 태스크에 대응하는 결과기록부(130)의 특정 주소를 읽거나(read), 쓰는(write) 방법을 통해 액세스할 수 있다. 프로세서(100)는 액세스 시각을 바탕으로 인공위성 소프트웨어가 제1 태스크 수행을 시작한 시각을 프레임에 기록하도록 텔레메트리 생성부(140)를 제어할 수 있다. 이때, 프레임은 인공위성에서 지상으로 전송하기 위한 텔레메트리 처리를 위한 데이터일 수 있으나, 이에 한정하지 않는다. When receiving the first task execution start signal through the
달리 말하면, 프로세서(100)는 하드웨어의 특정 주소에 대한 액세스(access) 시각에 대응하는 클럭카운터의 카운터 값을 기록할 수 있다. 여기서 클럭카운터는 시스템 기준 클럭에 따라 1 틱마다 값이 1씩 증가하는 카운터일 수 있다. 즉, 프로세서(100)는 제1 태스크에 대응하는 하드웨어의 특정 주소를 읽거나(read), 쓸(write) 때의 카운터 값을 통해 기록하여 소프트웨어의 수행 시작 시각을 획득할 수 있다. In other words, the
한편, 프로세서(100)는 인공위성 소프트웨어가 제1 태스크를 수행하기 위한 종료 명령어(411)를 실행할 수 있다. 또한, 인공위성의 소프트웨어가 제1 태스크 수행을 종료할 때, 프로세서(100)는 인공위성 소프트웨어에서의 제1 태스크 종료 신호를 하드웨어로 전송하기 위해 명령어(412)를 실행할 수 있다. 종료 명령어(412)를 통한 제1 태스크 수행 종료 신호를 수신하면, 프로세서(100)는 제1 태스크에 대응하는 결과기록부(130)의 특정 주소를 읽거나(read), 쓸 수(write) 있다. 프로세서(100)는 하드웨어의 특정 주소에 대한 액세스(access) 시각을 획득할 수 있고, 액세스 시각을 통해 인공위성의 소프트웨어가 제1 태스크 수행 종료 시각을 프레임에 기록할 수 있다.Meanwhile, the
이후, 프로세서(100)는 다음 마이너 사이클(minor cycle)이 시작되면, 곧바로 제1 태스크를 수행하기 위한 시작 명령어(410)를 실행할 수 있다(S413). Thereafter, when the next minor cycle starts, the
또한, 프로세서(100)는 제2 태스크에 대하여 동일한 프로세스를 수행할 수 있다. 즉, 프로세서(100)는 제2 태스크의 시작을 알리기 위한 시작 명령어(420), 제2 태스크의 수행을 위한 명령어(421), 제2 태스크의 종료를 알리기 위한 종료 명령어(422)를 실행할 수 있다. 또한, 프로세서(100)는 제2 태스크의 시작 및 종료 신호에 대응하여, 하드웨어의 특정 주소를 액세스함으로써, 제2 태스크 수행 시작 및 종료 시각을 프레임에 기록할 수 있다. 마찬가지로, 프로세서(100)는 다음 마이너 사이클(minor cycle)이 시작되면, 제2 태스크를 수행하기 위한 시작 명령어(420)를 실행할 수 있다(S423). 이때, 프로세서(100)는 제1 태스크와 제2 태스크를 동일한 소 주기에 수행할 수 있고, 동시에 수행할 수도 있다. Also, the
즉, 프로세서(100)는 하나의 마이너 사이클(minor cycle)에서 태스크를 수행할 때, 추가적인 계산 프로세스 소프트웨어의 시작 및 종료에 대한 신호만을 하드웨어(본 실시 예에서는 시간측정부)로 전송할 수 있다. 이에 따라, 본 발명의 인공위성 소프트웨어는 추가적인 연산 부분 없이 효율적으로 태스크를 수행할 수 있다는 효과가 있다. That is, when performing a task in one minor cycle, the
상술한 설명에서는 프로세서(100)가 제1 태스크와 제2 태스크를 수행하는 것만을 설명하였으나, 이는 예시에 불과하며 동일한 마이너 사이클(minor cycle) 동안 2개 이상의 태스크를 동시에 수행할 수 있다. In the above description, only the
또한, 이에 한정하지 않으며, 프로세서(100)는 태스크(task)의 종류, 마이너 사이클(minor cycle)의 순서에 따라 기록을 관리할 수 있다. 구체적으로, 프로세서(100)는 상이한 종류의 태스크에 대하여 하드웨어의 상이한 주소에 기록하여 구분하여 관리할 수 있다. 이때 하드웨어는 결과기록부(130)일 수 있으나, 이에 한정하지 않는다. Further, the present invention is not limited thereto, and the
또한, 프로세서(100)는 상이한 minor cycle에서의 동일한 태스크에 대하여 하드웨어의 동일한 주소에 기록할 수 있다. 즉, 프로세서(100)는 복수의 마이너 사이클(minor cycle)에 대하여도 동일한 태스크인 경우, 동일한 주소에 각각의 마이너 사이클(minor cycle)에서의 결과를 시각 정보를 기록할 수 있다. 이후, 인공위성은 해당 주소 값에 저장된 정보를 바탕으로 생성한 텔레메트리 정보를 지상으로 전송할 수 있다. 이에 따라, 본 발명을 통해, 동일한 텔레메트리 전송 주기 내에서의 복수의 동일한 태스크에 대하여, 수행시간 정보를 상실하지 않으면서도 저장공간을 효율적으로 사용할 수 있다는 효과가 있다. 다만, 이는 일 실시 예에 불과하며, 프로세서(100)는 상이한 태스크에 대하여 하나의 하드웨어 주소에 상이한 값을 read하거나 write함으로써 구분하여 기록할 수도 있다. Further, the
본 발명의 일 실시 예에 따르면, 프로세서(100)는 시간 측정 및 기록, 자료 형식 등 처리에 필요한 다양한 기초 데이터를 설정할 수 있다. 기설정된 기초 데이터는 소프트웨어의 태스크 수행함에 있어서 변경될 수 있다. According to an embodiment of the present invention, the
본 발명의 또 다른 실시 예에 따르면, 프로세서(100)는 RTC, 1 PPS 등 기준이 되는 하드웨어 시간을 입력으로 하여 태스크 수행 시간 측정을 종료할 수 있다. 또한 프로세서(100)는 기설정된 방법으로 텔레메트리 데이터를 처리할 수 있고, 새로운 태스크 수행 시간 측정을 시작하도록 초기화 할 수 있다.According to another embodiment of the present invention, the
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.In addition, although the preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the claims. In addition, various modifications are possible by those of ordinary skill in the art, and these modifications should not be individually understood from the technical spirit or prospect of the present invention.
따라서, 본 발명의 사상은 앞에서 설명된 실시 예들에 국한하여 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위가 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention is not limited to the embodiments described above, and not only the claims to be described later, but also all ranges equivalent to or equivalently changed from the scope of the present invention. It will be said to belong to.
100: 프로세서
110: 클럭 카운터
120: 시간측정부
130: 결과기록부
140: 텔레메트리 생성부
150: 텔레메트리 처리부
160: 설정부100: processor
110: clock counter
120: time measurement unit
130: result record book
140: Telemetry generator
150: telemetry processing unit
160: setting unit
Claims (10)
통신부;
적어도 하나의 태스크에 대응하는 하드웨어 주소를 포함하고, 상기 하드웨어 주소에 액세스하는 시간을 기록하는 결과기록부;
소프트웨어를 실행시켜 적어도 하나의 태스크(task)를 시작 또는 종료하고, 상기 적어도 하나의 태스크 중 제1 태스크를 시작 또는 종료하면 상기 제1 태스크에 대응하는 제1 하드웨어 주소에 액세스하고, 상기 적어도 하나의 태스크 중 제2 태스크를 시작 또는 종료하면 제2 태스크에 대응하는 제2 하드웨어 주소에 액세스하고 프로세서;
시스템 기준 클럭에 따라 1틱 씩 증가하는 클럭카운터(clock counter)의 카운터 값을 이용하여 상기 프로세서가 상기 결과기록부에 액세스하는 액세스 시각을 획득하는 시간측정부; 및
상기 액세스 시각이 기록된 프레임을 기초로 상기 적어도 하나의 태스크에 대한 텔레메트리 데이터를 생성하는 텔레메트리 생성부;를 포함하고,
상기 시간측정부는,
상기 프로세서가 상기 제1 태스크를 시작하여 상기 제1 하드웨어 주소에 액세스하는 제1 액세스 시각을 획득하고, 상기 제1 태스크를 종료하여 상기 제1 하드웨어 주소에 액세스하는 제2 액세스 시각을 획득하고, 상기 제2 태스크를 시작하여 상기 제2 하드웨어 주소에 액세스하는 제3 액세스 시각을 획득하고, 상기 제2 태스크를 종료하여 상기 제2 하드웨어 주소에 액세스하는 제4 액세스 시각을 획득하고,
상기 결과기록부는 상기 제1 액세스 시각 내지 제4 액세스 시각을 기록하고,
상기 텔레메트리 생성부는 상기 결과기록부에 기록된 상기 제1 액세스 시각 내지 제4 액세스 시각을 상기 프레임에 기록하여 텔레메트리 데이터를 생성하고,
상기 통신부는 상기 텔레메트리 데이터를 지상으로 전송하는 인공위성.In an artificial satellite for measuring the execution time of software mounted on the satellite using hardware,
Communication department;
A result recording unit including a hardware address corresponding to at least one task and recording an access time of the hardware address;
When at least one task is started or terminated by executing software, and a first task among the at least one task is started or terminated, a first hardware address corresponding to the first task is accessed, and the at least one task When starting or ending a second task among the tasks, the processor accesses a second hardware address corresponding to the second task;
A time measuring unit for acquiring an access time for the processor to access the result recording unit by using a counter value of a clock counter increasing by one tick according to a system reference clock; And
Including; a telemetry generating unit for generating telemetry data for the at least one task based on the frame in which the access time is recorded, and
The time measurement unit,
The processor starts the first task to obtain a first access time for accessing the first hardware address, and ending the first task to obtain a second access time for accessing the first hardware address, and the Starting a second task to obtain a third access time for accessing the second hardware address, ending the second task to obtain a fourth access time for accessing the second hardware address,
The result recording unit records the first access time to the fourth access time,
The telemetry generation unit generates telemetry data by recording the first access time to the fourth access time recorded in the result recording unit in the frame,
The communication unit is an artificial satellite that transmits the telemetry data to the ground.
상기 텔레메트리 생성부는 텔레메트리(Telemetry) 생성 규칙에 기초하여, 시작 시간 및 종료 시간을 포함하는 텔레메트리 프레임을 상기 텔레메트리 데이터로 생성하는 인공위성.The method of claim 1,
The telemetry generating unit generates a telemetry frame including a start time and an end time as the telemetry data based on a telemetry generation rule.
상기 시간측정부, 상기 결과기록부, 상기 텔레메트리 생성부 및 상기 결과기록부는 상기 프로세서와 상이한 별도의 하드웨어 칩으로 구현되는 인공위성.The method of claim 1,
The time measurement unit, the result recording unit, the telemetry generation unit, and the result recording unit are implemented as a separate hardware chip different from the processor.
프로세서에 의해, 소프트웨어를 실행시켜 적어도 하나의 태스크(task) 중 제1 태스크를 시작 또는 종료하고, 상기 제1 태스크에 대응하는 결과기록부 상 제1 하드웨어 주소에 액세스하는 단계;
시간측정부에 의해, 상기 제1 태스크를 시작하여 상기 제1 하드웨어 주소에 액세스하는 제1 액세스 시각을 획득하고, 상기 제1 태스크를 종료하여 상기 제1 하드웨어 주소에 액세스하는 제2 액세스 시각을 획득하는 단계;
프로세서에 의해, 소프트웨어를 실행시켜 적어도 하나의 태스크(task) 중 제2 태스크를 시작 또는 종료하고, 상기 제2 태스크에 대응하는 상기 결과기록부 상 제2 하드웨어 주소에 액세스하는 단계;
시간측정부에 의해, 상기 제2 태스크를 시작하여 상기 제2 하드웨어 주소에 액세스하는 제3 액세스 시각을 획득하고, 상기 제1 태스크를 종료하여 상기 제1 하드웨어 주소에 액세스하는 제4 액세스 시각을 획득하는 단계;
상기 제1 액세스 시각 내지 제4 액세스 시각을 프레임에 기록하여 텔레메트리 데이터를 생성하는 단계; 및
상기 텔레메트리 데이터를 지상으로 전송하는 단계; 를 포함하는 수행시간 측정 방법.In the satellite's software (software) execution time measurement method,
Starting or ending a first task among at least one task by executing software, by a processor, and accessing a first hardware address on a result recording unit corresponding to the first task;
A time measurement unit obtains a first access time for accessing the first hardware address by starting the first task, and obtaining a second access time for accessing the first hardware address by ending the first task Step to do;
Starting or ending a second task among at least one task by executing software, by a processor, and accessing a second hardware address on the result recording unit corresponding to the second task;
A time measurement unit obtains a third access time for accessing the second hardware address by starting the second task, and obtaining a fourth access time for accessing the first hardware address by ending the first task Step to do;
Generating telemetry data by recording the first to fourth access times in a frame; And
Transmitting the telemetry data to the ground; A method of measuring a running time comprising a.
상기 생성하는 단계는 텔레메트리(Telemetry) 생성 규칙에 기초하여, 시작 시간 및 종료 시간을 포함하는 텔레메트리 프레임을 상기 텔레메트리 데이터로 생성하는 수행시간 측정 방법.The method of claim 6,
In the generating step, a telemetry frame including a start time and an end time is generated as the telemetry data based on a telemetry generation rule.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180169907A KR102154246B1 (en) | 2018-12-26 | 2018-12-26 | Satellite and the method for analyzing its software time |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180169907A KR102154246B1 (en) | 2018-12-26 | 2018-12-26 | Satellite and the method for analyzing its software time |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200080045A KR20200080045A (en) | 2020-07-06 |
KR102154246B1 true KR102154246B1 (en) | 2020-09-21 |
Family
ID=71571655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180169907A KR102154246B1 (en) | 2018-12-26 | 2018-12-26 | Satellite and the method for analyzing its software time |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102154246B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100738330B1 (en) | 2006-09-28 | 2007-07-12 | 한국전자통신연구원 | System and method of using unified satellite operation data |
JP2008310748A (en) * | 2007-06-18 | 2008-12-25 | Honda Motor Co Ltd | Task execution time recording device, task execution time recording method, and task execution recording program |
KR101526468B1 (en) | 2013-12-17 | 2015-06-09 | 한국항공우주연구원 | Verification system and operating method for Satellite Flight Software |
KR101651647B1 (en) * | 2015-09-09 | 2016-08-26 | 한국항공우주연구원 | Time synchronization method between satellite and ground equipment, and satellite system thereof |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10034459A1 (en) * | 2000-07-15 | 2002-01-24 | Bosch Gmbh Robert | Method and device for measuring the runtime of a task in a real-time system |
-
2018
- 2018-12-26 KR KR1020180169907A patent/KR102154246B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100738330B1 (en) | 2006-09-28 | 2007-07-12 | 한국전자통신연구원 | System and method of using unified satellite operation data |
JP2008310748A (en) * | 2007-06-18 | 2008-12-25 | Honda Motor Co Ltd | Task execution time recording device, task execution time recording method, and task execution recording program |
KR101526468B1 (en) | 2013-12-17 | 2015-06-09 | 한국항공우주연구원 | Verification system and operating method for Satellite Flight Software |
KR101651647B1 (en) * | 2015-09-09 | 2016-08-26 | 한국항공우주연구원 | Time synchronization method between satellite and ground equipment, and satellite system thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20200080045A (en) | 2020-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9483189B2 (en) | Systems and methods for scheduling write requests for a solid state storage device | |
US8719559B2 (en) | Memory tagging and preservation during a hot upgrade | |
EP2335145B1 (en) | Methods to communicate a timestamp to a storage system | |
US9164785B2 (en) | Predicting performance of a consolidated virtualized computing environment | |
US5630102A (en) | In-circuit-emulation event management system | |
US7320126B2 (en) | Implementation of in system programming to update firmware on memory cards | |
US7409330B2 (en) | Method and system for software debugging using a simulator | |
WO2017059721A1 (en) | Information storage method, device and server | |
JPH06168084A (en) | Apparatus and method for decision of costmetrics | |
CN112035397B (en) | Electronic system including FPGA and method of operating the same | |
US6983234B1 (en) | System and method for validating processor performance and functionality | |
US9418181B2 (en) | Simulated input/output devices | |
CN109213439B (en) | System and method for reducing write latency | |
US20150278032A1 (en) | Providing services on system being recovered | |
US20130151647A1 (en) | Method for rewriting program, reprogram apparatus, and electronic control unit | |
US20130013283A1 (en) | Distributed multi-pass microarchitecture simulation | |
KR102154246B1 (en) | Satellite and the method for analyzing its software time | |
US7739633B2 (en) | Verification of highly optimized synchronous pipelines via random simulation driven by critical resource scheduling system and program product | |
CN111310192B (en) | Data processing method, device, storage medium and processor | |
JP3531225B2 (en) | Data processing device | |
US20210026800A1 (en) | Method for Delaying Fundamental Reset in Power Loss Protection (PLP) Enabled Devices | |
CN109101456B (en) | Data interactive communication method and device in simulation SSD and terminal | |
US10740002B1 (en) | System status log | |
CN106802847B (en) | Method and apparatus for emulating a slow storage disk | |
US10073762B2 (en) | Debug device, debug method, and debug program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |