KR101903860B1 - Sequence-based Time Synchronization of Distributed Applications - Google Patents

Sequence-based Time Synchronization of Distributed Applications Download PDF

Info

Publication number
KR101903860B1
KR101903860B1 KR1020160169923A KR20160169923A KR101903860B1 KR 101903860 B1 KR101903860 B1 KR 101903860B1 KR 1020160169923 A KR1020160169923 A KR 1020160169923A KR 20160169923 A KR20160169923 A KR 20160169923A KR 101903860 B1 KR101903860 B1 KR 101903860B1
Authority
KR
South Korea
Prior art keywords
time
synchronization
local clock
clock
message
Prior art date
Application number
KR1020160169923A
Other languages
Korean (ko)
Other versions
KR20180068222A (en
Inventor
이우진
이성희
Original Assignee
경북대학교 산학협력단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 경북대학교 산학협력단 filed Critical 경북대학교 산학협력단
Priority to KR1020160169923A priority Critical patent/KR101903860B1/en
Publication of KR20180068222A publication Critical patent/KR20180068222A/en
Application granted granted Critical
Publication of KR101903860B1 publication Critical patent/KR101903860B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/10Arrangements for initial synchronisation

Abstract

본 발명은 소프트웨어-인-더-루프 시뮬레이션(Software-in-the-loop simulation)을 수행하기 위한 순서 기반의 시간 동기화 방법에 관한 발명으로써, 발명의 실시예에 따른 시간 동기화 방법은 복수의 지역 시스템 각각의 제어 주기를 수집하는 단계; 상기 복수의 제어 주기의 최대공약수를 계산하여 전역 시계의 동기화 주기를 설정하는 단계; 상기 동기화 주기 시간이 소요되면 상기 복수의 지역 시스템 중 가장 빠른 주기의 지역 시계로 동기화 메시지를 전송하는 단계; 및 상기 동기화 메시지를 수신한 상기 지역 시계의 시간을 상기 동기화 메시지의 시간만큼 더하여 동기화를 수행하는 단계;를 포함한다.The present invention relates to an order-based time synchronization method for performing a software-in-the-loop simulation, and a time synchronization method according to an embodiment of the present invention includes: Collecting each control period; Calculating a maximum common divisor of the plurality of control cycles to set a synchronization period of the global clock; Transmitting the synchronization message to the local clock of the earliest period among the plurality of local systems when the synchronization cycle time is required; And performing synchronization by adding the time of the local clock, which has received the synchronization message, by the time of the synchronization message.

Description

순서 기반의 시간 동기화 기법 {Sequence-based Time Synchronization of Distributed Applications}[0001] Sequence-based Time Synchronization of Distributed Applications [

본 발명은 순서 기반의 시간 동기화 방법에 관한 발명으로서, 보다 상세하게는, 소프트웨어-인-더-루프(Software In The Loop, SIL) 시뮬레이션을 진행하기 위하여 분산 어플리케이션의 진행 순서를 기반으로 시간 동기화를 수행하기 위한 방법에 관한 발명이다.The present invention relates to an order-based time synchronization method, and more particularly, to time-synchronized time synchronization based on a sequence of a distributed application in order to perform software-in-the-loop (SIL) The present invention relates to a method for carrying out the present invention.

임베디드 시스템은 사물인터넷의 발전으로 인해 그 규모와 범위가 커지고 있다. 특히, 분산 임베디드 시스템은 자동차, 의료기기 등 산업 전반에 걸쳐 적용되고 있다. 이러한 분산 임베디드 시스템에서 사용하는 어플리케이션들의 오작동이 발생하게 되면 인명 및 재산피해가 발생할 수 있다. Embedded systems are growing in size and scope due to the development of the Internet of things. In particular, distributed embedded systems are being applied throughout industries such as automobiles and medical devices. If a malfunction of the applications used in the distributed embedded system occurs, the damage to lives and property may occur.

따라서 분산 임베디드 시스템의 어플리케이션들은 검증되어야 한다. 임베디드 시스템을 검증하는 방법으로는 MIL(Model-in-the-loop), SIL(Software-in-the-loop), HIL(Hardware-in-the-loop) 시뮬레이션이 있다. Therefore, applications in distributed embedded systems must be verified. Model-in-the-loop (MIL), software-in-the-loop (SIL), and hardware-in-the-loop (HIL)

상기 MIL은 하드웨어가 없이 제어 모델로 수행하는 임베디드 시스템 시뮬레이션이고, SIL은 하드웨어가 없이 제어 소프트웨어로 수행하는 임베디드 시스템 시뮬레이션이며, HIL은 실제 하드웨어에 제어 소프트웨어를 업로드하여 수행하는 임베디드 시스템 시뮬레이션 방법이다. 상기 MIL과 SIL은 하드웨어의 도움 없이 소프트웨어 만을 이용하여 구동하는 시스템이며, HIL은 ECU(electronic control unit)에 제어 소프트웨어를 삽입하여 하드웨어의 복잡성 테스트를 실제로 수행하는 단계이다. 이 중 MIL과 SIL에서 제대로 된 테스트가 수행되지 않는다면 HIL을 통한 최종 검증 방법에 있어서 불필요한 자원 및 시간의 낭비가 초래될 수밖에 없어 중요한 단계로 부상하고 있다.The MIL is an embedded system simulation performed by a control model without hardware, SIL is an embedded system simulation performed by a control software without hardware, and the HIL is an embedded system simulation method by uploading control software to actual hardware. The MIL and SIL are systems that are operated using only software without the help of hardware. HIL is a step of actually performing hardware complexity test by inserting control software in an electronic control unit (ECU). If the MIL and SIL are not properly tested, the final verification method through the HIL is becoming an important step because unnecessary resources and time are wasted.

임베디드 시스템의 개발은 보통 하드웨어와 소프트웨어가 동시에 개발하게 되는데 이 때 소프트웨어는 하드웨어가 완성되기 전에 실제로 동작시켜볼 수 없기 때문에 검증하는데 많은 어려움이 있다. 이런 상황에서 개발 중인 소프트웨어를 검증하기 위해서 하드웨어 없이 SIL 시뮬레이션을 수행한다. 분산 임베디드 시스템의 SIL 시뮬레이션은 시간 동기화가 아주 중요한 요소이다. 시간 동기화가 정확하게 이루어지지 않는 시뮬레이션은 실제 환경에서 소프트웨어의 동작을 보장하기 매우 어렵다. Embedded system development usually involves hardware and software development at the same time. Software has a lot of difficulties in verifying it because it can not actually be run before hardware is completed. In this situation, SIL simulation is performed without hardware to verify the software under development. Time synchronization is a very important factor in SIL simulation of distributed embedded systems. Simulations that do not provide accurate time synchronization are very difficult to guarantee the operation of the software in a real environment.

종래의 SIL은 IEEE 1588 표준에서 분산 시스템에 대한 시간 동기화 프로토콜에 정의하고 있다. 도1을 참조하면 각각의 시스템은 각각의 지역 시계를 가지고 있으며 하나의 전역 시계를 가지고 동기화 하는 방식이다. 이렇게 분산된 시계들의 시간을 동기화하기 위해 절대적인 시계가 하나 필요하며 그 시계가 바로 전역 시계이다. 지역 시계의 시간을 계산하는 방법은 전역 시계와 지역 시계가 서로 패킷을 주고 받으면서 주고 받은 패킷의 도착시간 등의 정보를 기반으로 프로그램 함수에 따라 계산하여 전역 시계와 지역 시계의 시간 동기화를 진행한다. Conventional SIL defines the time synchronization protocol for distributed systems in the IEEE 1588 standard. Referring to FIG. 1, each system has a local clock and synchronizes with one global clock. To synchronize the time of these dispersed clocks, we need an absolute clock, which is the global clock. The method of calculating the time of the local clock is based on the program function based on information such as the arrival time of the packet transmitted and received between the global clock and the local clock, and time synchronization between the global clock and the local clock is performed.

그러나, 상기 방식의 동기화 방법에 있어서 전역 시계의 동기화 주기는 각 지역 시계의 동작 주기들의 공약수가 되어야만 가능하다. 예를 들어, 시스템 A의 지역 시계는 시스템 제어 주기가 20초이고 시스템 B의 지역 시계는 시스템 제어 주기가 30초이라고 가정하자. 이때, 전역 시계의 동기화 주기는 1초, 2초, 5초, 10초가 가능하다. 그 외의 전역 시계의 동기화 주기는 시스템 A와 시스템 B의 제어 주기를 20초, 30초로 동작하게 할 수 없다.However, in the above-described synchronization method, the synchronization period of the global clocks can only be a common divisor of the operation cycles of each local clock. For example, assume that the local clock of system A has a system control period of 20 seconds and the local clock of system B has a system control period of 30 seconds. At this time, the synchronization period of the global clock can be 1 second, 2 seconds, 5 seconds, and 10 seconds. The synchronization cycle of the other global clocks can not operate the control cycles of the system A and the system B for 20 seconds and 30 seconds.

한국 출원번호 제10-2013-0167576호Korean Application No. 10-2013-0167576

본 발명이 해결하고자 하는 과제는 개발중인 소프트웨어를 검증하기 위해서 하드웨어 없이 SIL 시뮬레이션 테스트 시 전체를 통제하는 전역 시계와 상기 전역 시계의 시간을 기반으로 동작하는 테스트 시뮬레이션 시스템 간의 상이한 시간 영역을 동기화할 수 있는 시스템간 시간 동기화 방법 및 구조를 제공하는 데 있다.It is an object of the present invention to provide a method and system for synchronizing different time zones between a global clock that controls the entire SIL simulation test without hardware and a test simulation system that operates based on the time of the global clock, And to provide a method and structure for time synchronization between systems.

상기한 목적을 달성하기 위한 본 발명은 소프트웨어-인-더-루프(SIL) 시뮬레이션의 시간 동기화를 위한 전역 시계와 지역 시계의 순서 기반의 시간 동기화 방법에 있어서, 복수의 지역 시스템 각각의 제어 주기를 수집하는 단계; 상기 복수의 제어 주기의 최대공약수를 계산하여 전역 시계의 동기화 주기를 설정하는 단계; 상기 동기화 주기 시간이 소요되면 상기 복수의 지역 시스템 중 가장 빠른 주기의 지역 시계로 동기화 메시지를 전송하는 단계; 및 상기 동기화 메시지를 수신한 상기 지역 시계의 시간을 상기 동기화 메시지의 시간만큼 더하여 동기화를 수행하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a time synchronization method of a global clock and a local clock for time synchronization of a software-in-the-loop (SIL) simulation, Collecting; Calculating a maximum common divisor of the plurality of control cycles to set a synchronization period of the global clock; Transmitting the synchronization message to the local clock of the earliest period among the plurality of local systems when the synchronization cycle time is required; And performing synchronization by adding the time of the local clock, which has received the synchronization message, by the time of the synchronization message.

바람직하게는, 상기 지역 시계를 동기화 함에 있어서, 감지 시스템과 구동 시스템이 함께 동기화되는 경우에는 구동 시스템을 우선적으로 동기화하는 것을 특징으로 한다.Preferably, in synchronizing the local clock, when the sensing system and the driving system are synchronized with each other, the driving system is preferentially synchronized.

또한, 상기 지역 시계를 동기화 함에 있어서, 상기 전역 시계를 기준으로 상기 지역 시계의 다음 시간이 상기 전역 시계의 시간보다 작거나 같으면 상기 지역 시계의 시간을 제어 주기만큼 더하여 상기 지역 시계의 시간을 제어하는 것을 특징으로 한다.In addition, when synchronizing the local clock, if the next time of the local clock is less than or equal to the time of the global clock based on the global clock, the time of the local clock is controlled by adding the time of the local clock by a control period .

상기한 목적을 달성하기 위하여 본 발명은 소프트웨어만으로 동기화가 수행되는지 테스트하기 위하여 지역 시계의 동기화 주기를 수집하고, 상기 지역 시계 동기화 시간의 최대 공약수를 계산하는 제어 주기 계산부; 상기 지역 시계를 가지는 시스템들 중 우선순위를 결정하는 우선순위 결정부; 상기 제어 주기마다 동기화 메시지를 상기 지역 시계로 전송하는 메시지 전송부; 및 상기 전송된 메시지를 수신하여 지역 시계의 시간에 상기 전송된 메시지 내에 포함된 시간만큼 상기 지역 시계의 시간에 더하여 전역 시계의 시간과 동기화시키는 시간 동기화부를 포함할 수 있다.In order to achieve the above object, according to the present invention, there is provided a control system including a control cycle calculator for collecting a synchronization cycle of a local clock and calculating a greatest common divisor of the local clock synchronization time, A priority determining unit for determining a priority among the systems having the local clock; A message transmission unit for transmitting a synchronization message to the local clock for each control period; And a time synchronization unit for receiving the transmitted message and synchronizing the time of the local clock with the time of the local clock by the time included in the transmitted message at the time of the local clock.

바람직하게는, 상기 우선순위 결정부에서, 상기 시스템들은 감지 시스템과 구동 시스템으로 구성되며, 상기 감지 시스템과 상기 구동시스템의 동기화가 동시에 진행되는 경우에는 상기 구동 시스템을 우선 진행하도록 결정하는 것을 특징으로 한다.Preferably, in the prioritization unit, the systems are constituted by a sensing system and a driving system, and when the synchronization between the sensing system and the driving system progresses at the same time, do.

본 발명에 따른 소프트웨어-인-더-루프(SIL) 시뮬레이션의 시간 동기화를 위한 전역 시계와 지역 시계의 순서 기반의 시간 동기화 방법에 있어서, 순서 기반의 시간 동기화를 수행함으로써 전역 시계와 지역 시계 사이에 주고받는 메시지 숫자를 감소시켜 시간 동기화 오버헤드를 줄임으로써 시간 동기화에 필요로 하는 딜레이가 감소되며, 또한, 딜레이 감소로 인하여 보다 빠른 시간 동기화가 가능하여 정확한 시뮬레이션 테스트가 가능하다.A method for time-based synchronization between a global clock and a local clock for time synchronization of a software-in-the-loop (SIL) simulation according to the present invention, By reducing the number of messages sent and received, the time synchronization overhead is reduced, and the delay required for time synchronization is reduced. Also, since the delay is reduced, faster time synchronization is possible and accurate simulation test is possible.

도 1은 종래의 전역 시계와 지역 시계의 시간 동기화를 위한 방법을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 시간 동기화 시뮬레이션 방법을 개략적으로 나타낸 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 시간 동기화 시뮬레이션 시스템의 구성도이다.
도 4 (a) 내지 (c)는 본 발명에서 시간 동기화 시뮬레이션에서의 전역 시계와 지역 시계의 동기화 방법의 구체적인 일 실시예를 도시한 도면이다.
1 is a diagram illustrating a method for time synchronization between a conventional global clock and a local clock.
2 is a flowchart schematically illustrating a time synchronization simulation method according to an embodiment of the present invention.
3 is a configuration diagram of a time synchronization simulation system according to an embodiment of the present invention.
4 (a) to 4 (c) illustrate a method of synchronizing a global clock and a local clock in a time synchronization simulation according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

도 1은 종래의 전역 시계와 지역 시계의 시간 동기화를 위한 방법을 도시한 도면으로서, 절대적인 전역 시계와 각각 분산된 다수의 지역 시계가 존재하며, 이를 동기화 하기 위해 각각 분산된 시스템들이 해당 시간을 전달받아 각각의 지역 시계를 증가시켜 동기화를 하게 된다. FIG. 1 is a diagram illustrating a method for time synchronization between a global clock and a local clock according to an embodiment of the present invention. In order to synchronize a global clock and an absolute global clock, Each local clock is incremented and synchronized.

상기 종래의 시간 동기화 방법의 내용을 개략적으로 설명하면, 동작을 실시한 후 t1의 시간이 지나면 전역 시계에서 지역 시계로 동기화 메시지를 송신한다. 이때, 지역 시계에서는 동기화 시작 메시지를 받기 위한 지연이 발생하며, 이와 별도로 동기화를 시작하기 이전에 오프셋이 발생하게 되며, 동기화를 위한 시간(t2)를 전역 시계에서 지역 시계로 발송하게 도면 지역 시계는 전역 시계의 메시지와 지연을 추가하여 동기화를 수행하고, 전역 시계로 지연 요청을 수행하는 메시지를 전송함으로써 하나의 동기화 사이클이 발생하게 된다.The conventional time synchronization method will be briefly described. After a time t1 after the operation is performed, the global clock transmits a synchronization message to the local clock. At this time, in the local clock, there is a delay for receiving the synchronization start message, and the offset is generated before the start of synchronization, and the time t2 for synchronization is sent from the global clock to the local clock. A synchronization cycle is generated by performing synchronization by adding a message and a delay of the global clock and transmitting a message for performing a delay request to the global clock.

상기 시간 동기화는 일반적으로 IEEE 1588 표준 설정을 따라 진행되며, 지역 시계들의 제어 주기들의 공약수 또는 최대 공약수를 구하고, 그 시간에 지연 시간 및 오프셋 시간을 별도로 계산하여 동기화를 수행하게 된다. The time synchronization is generally performed according to the IEEE 1588 standard setting. The common or greatest common divisor of the control cycles of the local clocks is obtained, and the delay time and the offset time are separately calculated at that time to perform synchronization.

상기 동기화의 수행을 위하여 전역 시계와 지역 시계가 Sync, Follow_up, Delay_Req, Delay_Resp의 4개의 메시지를 주고받으며 동기화를 시행되기 때문에 실제로 시간 동기화를 위하여 소요되는 시간의 가장 많은 부분을 메시지 전송에 주고받게 되고, 이에 의하여 불필요한 오프셋 및 지연이 발생하게 되어 이를 보상하기 위한 추가적인 데이터가 요구되게 된다. In order to perform the synchronization, the global clock and the local clock send and receive four messages of Sync, Follow_up, Delay_Req, and Delay_Resp, and synchronization is performed, so that the greatest portion of the time required for actual time synchronization is transmitted to the message transmission , Thereby generating unnecessary offsets and delays and requiring additional data to compensate.

그러나, 이러한 추가적인 데이터를 더한다 하더라도 실제 사용 환경에서는 각각의 지역 시계에서의 통신 계층의 상태에 따라 각각 다른 지연 시간 및 오프셋이 발생하게 되어 메시지를 주고받는 시간이 예측 불가능하므로 근본적으로 오차가 필수적으로 발생할 수밖에 없는 구조적 한계를 지니게 되었다.However, even if these additional data are added, since different delay times and offsets are generated according to the state of the communication layer in each local clock in actual use environment, it is impossible to predict the time to send and receive messages, I have a structural limit.

이러한 오차를 줄여 더욱 정확한 동기화를 위해 동기화 주기를 짧게 가져가거나 시스템에서 일정 수준의 오차는 허용하는 방법 등의 다양한 방법을 시도하였으나, 시간 동기화의 주기를 짧게 가져가는 경우에 최소한의 시간 동기화에 필요한 시간이 소요되므로 정확성은 높아질 수 있으나 효율성이 낮아지는 추가적인 문제가 발생하였다.In order to achieve more precise synchronization by shortening the error, various methods such as shortening the synchronization period or allowing a certain level of error in the system have been tried. However, when the time synchronization period is shortened, the time required for the minimum time synchronization The accuracy can be increased, but the additional efficiency is lowered.

상기의 문제를 해결하기 위하여 본 발명에서는 최소한의 메시지만을 이용하여 시간 동기화를 수행함으로써 시간 동기화에 필요로 하는 시간을 감소시켜 시뮬레이션의 속도 향상을 위한 방법에 대해 개시하고자 한다.In order to solve the above problems, the present invention discloses a method for speeding up simulation by reducing time required for time synchronization by performing time synchronization using only a minimum number of messages.

하드웨어 없이 제어 소프트웨어로 임베디드 시스템의 시뮬레이션을 수행하는 소프트웨어-인-더-루프 시뮬레이션에서 순서 기반의 시간 동기화를 수행함으로써 종래 대비 절반의 메시지만을 통해 시간 동기화를 수행한다.Time synchronization is performed in a software-in-the-loop simulation in which the simulation of the embedded system is performed by the control software without hardware, thereby performing time synchronization through only half of the conventional messages.

도 2는 본 발명의 일 실시예에 따른 시간 동기화 시뮬레이션 방법을 개략적으로 나타낸 흐름도이다.2 is a flowchart schematically illustrating a time synchronization simulation method according to an embodiment of the present invention.

복수의 지역 시계는 각각의 동기화에 필요한 각각의 제어 시간을 가지고 있으므로 상기 지역 시계 각각의 제어 시간을 수집한다.(S210)Since a plurality of local clocks have respective control times necessary for each synchronization, the control time of each local clock is collected (S210)

상기 수집된 지역 시계의 제어 시간에서 시간 동기화를 수행하는 횟수를 최소화하기 위하여 상기 지역 시계의 제어 시간들에 대한 최대공약수를 계산한다.(S220)In order to minimize the number of times of performing the time synchronization in the control time of the collected local clock, the greatest common divisor for the control times of the local clock is calculated (S220)

상기 최대공약수를 전역 시계에 전송하여 시간 동기화를 위한 제어 주기로 결정하며, 상기 각각의 지역 시계를 가지는 시스템들 중 제어 시간이 짧아 우선 시간 동기화를 수행하는 순서를 설정한다.(S230) 만약 동일 제어 주기를 가지는 시스템이 2개 이상 존재하는 경우에는 감지 시스템과 구동 시스템으로 구분을 수행하여 구동 시스템에 우선권을 부여하여 우선 시간 동기화를 수행한다.The maximum common divisor is transmitted to the global clock to determine a control period for time synchronization. In the case of the systems having each local clock, a control time is short to set a procedure for performing priority time synchronization (S230) If two or more systems exist, the detection system and the driving system are distinguished and priority is given to the driving system to perform priority time synchronization.

상기 구동 시스템들은 해당 작업을 수행하기 바로 직전에 감지한 값을 바탕으로 수행하기 때문에 동기화 시점에서 상기 구동 시스템들을 상기 감지 시스템보다 먼저 동기화를 진행한다. 그 뒤에 상기 감지 시스템을 동기화를 진행한다.Since the drive systems perform based on the values sensed immediately before performing the task, the drive systems are synchronized before the sensing system at the time of synchronization. Thereafter, the detection system is synchronized.

상기 설정된 제어 시간이 경과되면 동기화 순서에 따라 각 지역 시계를 가지는 시스템에 동기화를 수행하는 메시지를 전송한다.(S240)When the set control time elapses, a message for performing synchronization is transmitted to a system having a local clock according to a synchronization sequence (S240)

상기 지역 시계를 가지는 시스템은 상기 전송된 동기화 메시지에 따라 시간 동기화를 수행한다.(S250)The system having the local clock performs time synchronization according to the transmitted synchronization message (S250)

상기 시간 동기화를 수행하는 방법으로는 각 분산된 지역 시계를 가지는 시스템들에 전역 시계에서 시간 동기화 메시지를 수신하면 상기 전역 시계를 기준으로 상기 지역 시계의 다음 시간이 상기 전역 시계의 시간보다 작거나 같으면 상기 지역 시계의 시간을 각자의 제어 주기만큼 더하여 상기 지역 시계의 시간을 동기화 한다.The method of performing the time synchronization includes receiving a time synchronization message in a global clock on systems having distributed local clocks, when the next time of the local clock is less than or equal to the time of the global clock based on the global clock The time of the local clock is synchronized by adding the time of the local clock for each control period.

도 3는 본 발명의 일 실시예에 따른 시간 동기화 시뮬레이션 시스템의 구성도이다.3 is a configuration diagram of a time synchronization simulation system according to an embodiment of the present invention.

시간 동기화 시뮬레이터(300)는 제어 주기 계산부(310), 우선순위 결정부(320), 메시지 전송부(330), 시간 동기화부(340)으로 구성된다.The time synchronization simulator 300 includes a control period calculation unit 310, a priority determination unit 320, a message transmission unit 330, and a time synchronization unit 340.

이를 상세히 살펴보면, 상기 시간 동기화 시뮬레이터(300)의 상기 제어 주기 계산부(320)은 상기 각 지역 시계를 가지는 시스템들에서 상기 시스템들 각각의 제어 시간을 받은 후, 상기 각 제어 시간들간의 최대공약수를 구하여 시간 동기화를 위한 제어 주기로 설정한다.In detail, the control cycle calculator 320 of the time synchronization simulator 300 receives the control time of each of the systems in the systems having the local clocks, and then calculates the maximum common divisor between the control times And sets it as a control cycle for time synchronization.

상기 우선순위 결정부(320)는 상기 시스템들 중 동기화를 진행하는 순서를 설정하며, 상기 각 시스템들 중 동기화 시간이 짧은 것부터 진행을 실시하며, 만약 동일한 주기의 시스템들이 존재하는 경우에는 상기 동일한 주기의 시스템들을 감지 시스템과 구동 시스템으로 분류를 수행하고, 구동 시스템에 우선권을 부여하여 상기 구동 시스템이 시간 동기화를 수행한 이후에 상기 감지 시스템이 시간 동기화를 수행하도록 동기화 순서를 설정한다.The priority determining unit 320 sets a procedure for synchronizing among the systems, and proceeds from a short synchronization time among the systems, and if there are systems with the same period, The system is classified into a sensing system and a driving system, and a priority is given to the driving system to set a synchronization sequence so that the sensing system performs time synchronization after the driving system performs time synchronization.

상기 구동 시스템을 우선설정 하는 이유는 동일한 시간에 상기 감지 시스템과 상기 구동 시스템이 함께 작업을 수행하여도 상기 구동 시스템들은 해당 작업을 수행하기 바로 직전에 감지한 값을 바탕을 작업을 수행하기 때문에 동기화 시점에서 상기 모든 구동 시스템들을 상기 모든 감지 시스템보다 먼저 동기화를 진행시켜야 하기 때문이다.The reason why the drive system is set first is that even if the detection system and the drive system work together at the same time, the drive systems perform operations based on the values sensed immediately before performing the operation, It is necessary to advance all of the above drive systems before all of the above detection systems.

상기 메시지 전송부(330)는 상기 제어주기 계산부(310)에서 결정된 제어 주기에 따라 상기 전역 시계가 상기 제어 주기에 해당되는 시간이 경과되면 상기 우선순위 결정부(320)에서 결정된 우선순위의 상기 시스템에 시간 동기화를 진행하기 위한 메시지를 전송한다. 상기 메시지는 시간 동기화를 개시하라는 간단한 구조의 tick 메시지로도 가능하며, 이를 수신한 동기화를 진행하는 상기 시스템은 수신을 완료하였다는 ticked 메시지를 전역 시계에 전달하여 동기화를 실시함으로써 종래기술에 비하여 동기화에 사용되는 메시지의 수를 반으로 감소시킬 수 있다.If the time corresponding to the control period elapses in accordance with the control period determined by the control period calculator 310, the message transmission unit 330 may transmit the priority And sends a message to the system for time synchronization. The system can transmit a ticked message indicating completion of the reception to the global clock to perform synchronization. Thus, the system synchronizes with the conventional clock, The number of messages to be used by the user can be reduced by half.

상기 시간 동기화부(340)는 상기 메시지 전송부(330)에서 상기 tick 메시지를 상기 우선순위 결정부(320)을 통해 송신하면 상기 tick 메시지를 수신한 시스템은 시간 동기화를 수행한다. 시간 동기화를 수행하는 방법으로는 상기 전역 시계에서 발송된 메시지를 수신하면 메시지를 수신한 지역 시계는 현재의 시간과 상기 전역 시계의 시간을 비교하고, 비교 결과 상기 전역 시계의 시간보다 상기 지역 시계의 시간이 작거나 같으면 상기 지역 시계의 시간을 각각의 제어 주기만큼 더하여 상기 지역 시계의 시간을 제어하는 방법을 통하여 시간 동기화를 수행한다.When the time synchronization unit 340 transmits the tick message through the priority determination unit 320 in the message transmission unit 330, the system receiving the tick message performs time synchronization. The method of performing time synchronization includes: receiving a message sent from the global clock, wherein the local clock receiving the message compares the current time with the time of the global clock; comparing the time of the global clock with the current time, If the time is less than or equal to the time, the time of the local clock is added by each control period to control the time of the local clock.

본 발명은 상술한 바와 같이 SIL 시뮬레이션을 수행하기 위한 순서 기반의 시간 동기화 방법은 간단한 메시지만을 전송함으로써 동기화를 진행할 수 있으며, 이를 통해 시뮬레이션에 영향을 주지 않으면서 효율적으로 시간 동기화를 진행할 수 있다.As described above, according to the order-based time synchronization method for performing SIL simulation, synchronization can be performed by transmitting only a simple message, thereby enabling efficient time synchronization without affecting the simulation.

도 4 (a) 내지 (c)는 본 발명의 시간 동기화 방법에 따른 시간 동기화 시뮬레이션에서의 전역 시계와 지역 시계의 동기화 방법일 실시예에 대한 도면이다.4A to 4C illustrate a method of synchronizing a global clock and a local clock in a time synchronization simulation according to the time synchronization method of the present invention.

도 4 (a) 내지 (c)는 간단한 형태의 분산 시스템에 대한 예시이며, 분산 시스템은 가스 감지 시스템과 환풍기 시스템의 두 시스템이 존재한다. 상기 가스 감지 시스템의 제어주기는 10ms로 가정하고, 환풍기 시스템의 제어 주기는 30ms로 가정한다. 상기 내용과 본 발명을 대입하면 전역 시계와 2개의 전역 시계로 구성되며, 상기 2시스템은 상기 감지 시스템에 대응되며, 상기 환풍기 시스템은 상기 구동 시스템에 대응됨을 확인할 수 있다.Figures 4 (a) - (c) illustrate a simple form of a distributed system, in which there are two systems, a gas sensing system and a ventilator system. The control period of the gas sensing system is assumed to be 10 ms, and the control period of the ventilator system is assumed to be 30 ms. Substituting the above contents and the present invention, it can be confirmed that the system consists of a global clock and two global clocks, the two systems correspond to the sensing system, and the fan system corresponds to the driving system.

시뮬레이션을 처음 시작하면 모든 제어 주기는 0ms로 시작되고, 상기 가스 감지 시스템의 제어 주기 및 환풍기 시스템의 제어주기를 수집한다. 수집 결과 가스 감지 시스템의 제어 주기는 10ms, 환풍기 시스템의 제어 주기는 30ms이므로, 제어 주기 계산부(310)는 상기 두 시스템의 최대공약수인 10ms를 시스템의 시간 동기화를 위한 제어 주기로 결정한다.When the simulation is started for the first time, all control cycles start at 0 ms and collect the control period of the gas sensing system and the control period of the ventilator system. Since the control cycle of the gas detection system for collection results is 10 ms and the control cycle of the ventilator system is 30 ms, the control cycle calculation unit 310 determines 10 ms, which is the greatest common divisor of the two systems, as a control cycle for time synchronization of the system.

도 4 (a)를 참조하면, 전역 시계의 시간이 10ms가 되어 상기 시간 동기화를 위한 제어 주기에 도달하면, 우선순위 결정부(320)은 현 시간의 제어가 필요한 시스템을 감지하여 상기 가스 감지 시스템만이 제어 주기에 도달하였음을 확인하고, 상기 메시지 전송부(330)를 통해 시간 동기화를 위한 메시지를 송신한다.Referring to FIG. 4A, when the time of the global clock reaches 10 ms and reaches the control period for time synchronization, the priority determining unit 320 detects a system requiring control of the current time, And transmits a message for time synchronization through the message transmission unit 330. The message transmission unit 330 transmits the message for time synchronization.

상기 시간 동기화부(340)는 상기 가스 감지 시스템의 지역 시계의 시간(0ms)과 전역 시계의 시간(10ms)을 비교하며, 상기 가스 감지 시스템의 지역 시계의 시간(0ms)이 전역 시계의 시간(10ms)보다 작으므로 상기 시간 동기화부(340)는 상기 가스 감지 시스템의 지역 시계에 상기 가스 감지 시스템의 제어 주기(10ms)를 더하여 상기 가스 감지 시스템의 지역 시계와 상기 전역 시계의 시간을 동일하게 만족시키도록 시간 동기화를 수행한다.The time synchronization unit 340 compares the time (0 ms) of the local clock of the gas sensing system with the time of the global clock (10 ms), and the time (0 ms) 10 ms), the time synchronization unit 340 adds the control period (10 ms) of the gas sensing system to the local clock of the gas sensing system so that the local clock of the gas sensing system and the time of the global clock are equally satisfied Time synchronization.

도 4 (b)를 참조하면, 시간 동기화 2회차인 20ms에도 상기 전역 시계의 시간이 10ms의 경우와 동일한 방법으로 시간 동기화를 진행하여 상기 가스 감지 시스템의 지역 시계의 시간(20ms)와 전역 시계의 시간(20ms)를 동일하게 맞추며, 상기 환풍기 시스템은 상기 환풍기 시스템의 제어 주기(30ms)에 도달하지 못하였으므로 상기 환풍기 시스템의 지역 시간은 0ms에 정지되어 있다.Referring to FIG. 4 (b), time synchronization is performed in the same manner as in the case where the time of the global clock is 10 ms even in 20 ms, which is the time synchronization second time, so that the time (20 ms) Since the ventilator system does not reach the control period (30 ms) of the ventilator system, the local time of the ventilator system is stopped at 0 ms.

시간 동기화 3회차인 30ms에는 상기 10ms와 20ms와는 다르게 상기 가스 감지 시스템의 제어주기(10ms)와 상기 환풍기 시스템의 제어주기(30ms)가 모두 해당된다. The control cycle (10 ms) of the gas sensing system and the control cycle (30 ms) of the ventilator system are all different from the 10 ms and 20 ms in the third time synchronization 30 ms.

도 4 (c)를 참조하면, 전역 시계가 30ms에 도달하면 상기 우선순위 결정부(320)는 상기 가스 감지 시스템과 상기 환풍기 시스템의 제어주기를 받아 시간 동기화를 진행할 시스템을 분간하는데, 이 경우에는 두 시스템이 모두 해당되므로 우선순위를 설정할 필요가 있다. Referring to FIG. 4 (c), when the global clock reaches 30 ms, the priority determining unit 320 discriminates a system for time synchronization based on the control cycle of the gas sensing system and the ventilator system. In this case, Since both systems are involved, you need to set priorities.

상기 서술한 바에 의하면 감지 시스템과 구동 시스템이 동시에 시간 동기화를 진행이 필요로 하게 되는 경우, 상기 구동 시스템들은 해당 작업을 수행하기 바로 직전에 감지한 값을 바탕을 작업을 수행하기 때문에 동기화 시점에서 상기 구동 시스템은 상기 감지 시스템보다 먼저 동기화를 진행하여야 한다.According to the above description, when the detection system and the driving system need to perform time synchronization at the same time, the driving systems perform operations based on the sensed values immediately before performing the corresponding tasks, The drive system must proceed with synchronization prior to the sensing system.

그러므로, 상기 가스 감지 시스템과 상기 환풍기 시스템 중 상기 환풍기 시스템이 구동 시스템에 해당되므로 상기 우선순위 결정부(320)는 상기 환풍기 시스템에 우선순위를 부여하게 된다. 우선순위를 부여받은 상기 환풍기 시스템은 상기 메시지 전송부(330)을 통해 전역 시계의 시간(30ms)을 메시지로 받는다. 상기 시간 동기화부(340)는 상기 환풍기 시스템은 상기 메시지를 받으면 상기 전역 시계의 시간(30ms)과 상기 환풍기 시스템의 지역 시계의 시간(0ms)의 시간을 비교하고, 비교 결과 상기 전역 시계의 시간보다 상기 환풍기 시스템의 지역 시계의 시간이 작으므로 상기 시간 동기화부(340)는 상기 환풍기 시스템의 지역 시계에 상기 환풍기 시스템의 제어 시간(30ms)를 더하여 상기 전역 시계의 시간과 상기 환풍기 시스템의 지역 시계의 시간을 동일하게 함으로써 시간 동기화를 수행한다.Therefore, since the ventilation system of the gas sensing system and the ventilator system corresponds to the driving system, the prioritization unit 320 assigns priority to the ventilator system. The ventilator system, given priority, receives the time (30 ms) of the global clock through the message transmission unit 330 as a message. The time synchronizer 340 compares the time of the global clock (30 ms) with the time of the local clock (0 ms) of the fan system when the fan system receives the message, Since the time of the local clock of the fan system is small, the time synchronization unit 340 adds the control time (30 ms) of the fan system to the local clock of the fan system to calculate the time of the global clock and the local clock of the fan system Time synchronization is performed by making the time the same.

상기 환풍기 시스템의 시간 동기화가 완료되면 상기 우선순위 결정부(320)는 다음으로 감지 시스템인 상기 가스 감지 시스템의 시간 동기화를 위하여 상기 메시지 전송부(330)에 시간 동기화를 위하여 메시지 전송 신호를 인가하면 상기 메시지 전송부(330)는 상기 가스 감지 시스템에 시간 동기화를 실시하라는 메시지를 전송한다.When the time synchronization of the ventilator system is completed, the priority determination unit 320 then applies a message transmission signal to the message transmission unit 330 for time synchronization for time synchronization of the gas sensing system, which is a sensing system The message transmission unit 330 transmits a message to the gas detection system to perform time synchronization.

상기 시간 동기화부(340)는 전역 시계의 시간(30ms)과 상기 가스 감지 시스템의 지역 시계의 시간(20ms)을 비교한다. 비교 결과 상기 전역 시계의 시간(30ms)보다 상기 가스 감지 시스템의 지역 시계의 시간(20ms)가 작으므로 상기 시간 동기화부(340)는 상기 가스감지 시스템의 지역 시계에 상기 환풍기 시스템의 제어 시간(10ms)를 더하여 상기 전역 시계의 시간과 상기 환풍기 시스템의 지역 시계의 시간을 동일하게 함으로써 시간 동기화를 수행한다.The time synchronization unit 340 compares the time (30 ms) of the global clock and the time (20 ms) of the local clock of the gas sensing system. As a result of comparison, since the time (20 ms) of the local clock of the gas sensing system is smaller than the time of the global clock (30 ms), the time synchronizer 340 controls the local clock of the gas sensing system ) To perform time synchronization by making the time of the global clock equal to the time of the local clock of the ventilator system.

이후, 시간 동기화 4회차인 40ms가 되면 상기 도 4 (a)의 10ms와 동일한 상황이 되므로, 앞서 수행한 시간 동기화 순서가 동일하게 반복됨을 미루어 짐작할 수 있다.Then, when the time synchronization is 40 ms, which is the fourth time synchronization, the situation becomes the same as 10 ms of FIG. 4 (a), so that it can be guessed that the previous time synchronization sequence is repeated in the same manner.

상술한 실시예에 설명된 특징, 구조, 효과 등은 본 발명의 적어도 하나의 실시예에 포함되며, 반드시 하나의 실시예에만 한정되는 것은 아니다. 나아가, 각 실시예에서 예시된 특징, 구조, 효과 등은 실시예들이 속하는 분야의 통상의 지식을 가지는 자에 의하여 다른 실시예들에 대해서도 조합 또는 변형되어 실시 가능하다.The features, structures, effects and the like described in the foregoing embodiments are included in at least one embodiment of the present invention and are not necessarily limited to one embodiment. Further, the features, structures, effects, and the like illustrated in the embodiments may be combined or modified in other embodiments by those skilled in the art to which the embodiments belong.

따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다. 또한, 이상에서 실시예들을 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예들에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부한 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.Therefore, it should be understood that the present invention is not limited to these combinations and modifications. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be construed as limiting the scope of the present invention. It can be seen that various modifications and applications are possible. For example, each component specifically shown in the embodiments may be modified and implemented. It is to be understood that the present invention may be embodied in many other specific forms without departing from the spirit or essential characteristics thereof.

300 : 시간 동기화부
310 : 제어 주기 계산부
320 : 우선순위 결정부
330 : 메시지 전송부
340 : 시간 동기화부
300: time synchronization unit
310: control cycle calculation unit
320: Priority determining section
330:
340: time synchronization unit

Claims (6)

시간 동기화 방법에 있어서,
복수의 지역 시스템 각각의 제어 주기를 수집하는 단계;
상기 복수의 제어 주기의 최대공약수를 계산하여 전역 시계의 동기화 주기를 설정하는 단계;
상기 동기화 주기 시간이 소요되면 상기 복수의 지역 시스템 중 가장 빠른 주기의 지역 시계로 동기화 메시지를 전송하는 단계; 및
상기 동기화 메시지를 수신한 상기 지역 시계의 시간을 상기 동기화 메시지의 시간만큼 더하여 동기화를 수행하는 단계;
를 포함하며,
상기 동기화를 수행하는 단계에 있어서 상기 전역 시계를 기준으로 상기 지역 시계의 다음 시간이 상기 전역 시계의 시간보다 작거나 같으면 상기 지역 시계의 시간을 제어 주기만큼 더하여 상기 지역 시계의 시간을 제어하고,
상기 시간 동기화 방법은 소프트웨어-인-더-루프 시뮬레이션에서 이루어지는 것을 특징으로 하는 순서 기반의 시간 동기화 방법.
In a time synchronization method,
Collecting a control period of each of the plurality of local systems;
Calculating a maximum common divisor of the plurality of control cycles to set a synchronization period of the global clock;
Transmitting the synchronization message to the local clock of the earliest period among the plurality of local systems when the synchronization cycle time is required; And
Performing synchronization by adding the time of the local clock that received the synchronization message for the duration of the synchronization message;
/ RTI >
Wherein when the next time of the local clock is less than or equal to the time of the global clock based on the global clock, the time of the local clock is controlled by adding the time of the local clock by a control period,
Wherein the time synchronization method is performed in a software-in-the-loop simulation.
삭제delete 제1항에 있어서,
상기 지역 시계를 동기화 함에 있어서,
감지 시스템과 구동 시스템이 함께 동기화되는 경우에는 구동 시스템을 우선적으로 동기화하는 것을 특징으로 하는 순서 기반의 시간 동기화 방법.
The method according to claim 1,
In synchronizing the local clock,
And wherein the drive system is preferentially synchronized when the sensing system and the drive system are synchronized together.
삭제delete 시간 동기화 시스템에 있어서,
지역 시계의 동기화 주기를 수집하고, 상기 지역 시계 동기화 시간의 최대 공약수를 계산하는 제어 주기 계산부;
상기 지역 시계를 가지는 시스템들 중 우선순위를 결정하는 우선순위 결정부;
상기 제어 주기마다 동기화 메시지를 상기 지역 시계로 전송하는 메시지 전송부; 및
상기 전송된 메시지를 수신하여 지역 시계의 시간에 상기 전송된 메시지 내에 포함된 시간만큼 상기 지역 시계의 시간에 더하여 전역 시계의 시간과 동기화시키는 시간 동기화부;
를 포함하며,
상기 시간 동기화부는 상기 전역 시계를 기준으로 상기 지역 시계의 다음 시간이 상기 전역 시계의 시간보다 작거나 같으면 상기 지역 시계의 시간을 제어 주기만큼 더하여 상기 지역 시계의 시간을 제어하고,
상기 시간 동기화 시스템은 소프트웨어-인-더-루프 시뮬레이션에서 이루어지는 것을 특징으로 하는 시간 동기화 시스템.
In a time synchronization system,
A control cycle calculation unit for collecting a synchronization cycle of the local clock and calculating a greatest common divisor of the local clock synchronization time;
A priority determining unit for determining a priority among the systems having the local clock;
A message transmission unit for transmitting a synchronization message to the local clock for each control period; And
A time synchronization unit for receiving the transmitted message and synchronizing the time of the local clock with the time of the local clock by the time included in the transmitted message at the time of the local clock;
/ RTI >
Wherein the time synchronization unit controls the time of the local clock by adding the time of the local clock by a control period if the next time of the local clock is less than or equal to the time of the global clock based on the global clock,
Wherein the time synchronization system is performed in a software-in-the-loop simulation.
제5항에 있어서,
상기 우선순위 결정부에서,
상기 시스템들은 감지 시스템과 구동 시스템으로 구성되며,
상기 감지 시스템과 상기 구동 시스템의 동기화가 동시에 진행되는 경우에는 상기 구동 시스템을 우선 진행하도록 결정하는 것을 특징으로 하는 시간 동기화 시스템.
6. The method of claim 5,
In the priority determining unit,
The systems consist of a sensing system and a driving system,
Wherein the controller determines to advance the drive system if synchronization between the sensing system and the drive system is simultaneously performed.
KR1020160169923A 2016-12-13 2016-12-13 Sequence-based Time Synchronization of Distributed Applications KR101903860B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160169923A KR101903860B1 (en) 2016-12-13 2016-12-13 Sequence-based Time Synchronization of Distributed Applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160169923A KR101903860B1 (en) 2016-12-13 2016-12-13 Sequence-based Time Synchronization of Distributed Applications

Publications (2)

Publication Number Publication Date
KR20180068222A KR20180068222A (en) 2018-06-21
KR101903860B1 true KR101903860B1 (en) 2018-10-02

Family

ID=62806457

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160169923A KR101903860B1 (en) 2016-12-13 2016-12-13 Sequence-based Time Synchronization of Distributed Applications

Country Status (1)

Country Link
KR (1) KR101903860B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102275238B1 (en) * 2019-02-07 2021-07-12 한국철도기술연구원 Method and apparatus of acquiring periodic individual information for mission cricical system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016046767A (en) * 2014-08-26 2016-04-04 株式会社東芝 Communication device and communication system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5458178A (en) 1992-10-27 1995-10-17 Nakamura Co., Ltd. Lattice and security device for emergency escape

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016046767A (en) * 2014-08-26 2016-04-04 株式会社東芝 Communication device and communication system

Also Published As

Publication number Publication date
KR20180068222A (en) 2018-06-21

Similar Documents

Publication Publication Date Title
CN105577308B (en) The method and apparatus of In-vehicle networking time synchronization is provided using redundancy master clock
JP6404975B2 (en) Slave, serial communication system, and communication method of serial communication system
US11693998B2 (en) Method for providing a real-time-capable simulation for control unit development, and simulation device for control unit development
KR102291573B1 (en) Synchronization method and system among multiple MCUs in EtherCAT-based slave system
CN106483866A (en) Guidance and control semi-matter simulating system timing method and system
KR101903860B1 (en) Sequence-based Time Synchronization of Distributed Applications
Steiner et al. The TTEthernet synchronisation protocols and their formal verification
CN109450763B (en) Bus expansion method, gateway and bus expansion system
Guo et al. A formal method for evaluating the performance of tsn traffic shapers using uppaal
JP4961589B2 (en) Network system and slave synchronization method
WO2015111142A1 (en) System analysis device, design defect analysis device, failure mode analysis device, failure tree analysis device, autonomous action device, and autonomous action control system
JP6400553B2 (en) Numerical control system with synchronous control function between units
KR101690948B1 (en) Method for verifying software using input output event scenario of time-line based aircraft apparatus and System thereof
US11610034B2 (en) Method and device for synchronizing a simulation with a real-time system
CN111381937A (en) Experimental scene snapshot generating system and method based on time base line
CN107241234B (en) AS5643 network simulation method and system
TWI571712B (en) Multiple modular redundant fault tolerant control system and synchronization method thereof
KR101498561B1 (en) System and method for can communication based tdma digital technology for global synchronization
JP2017174471A (en) System analyzer, design defect analyzer, fault mode analyzer, fault tree analyzer, autonomous operation device, and autonomous operation control system
CN110109372B (en) Apparatus and method for simulating a machine or installation to be controlled
Cardoso et al. Modeling timed systems
Lozoya et al. Analysis and design of networked control loops with synchronization at the actuation instants
Kim et al. System-level development and verification of the FlexRay communication controller model based on SystemC
US20220222394A1 (en) Root cause analysis in the synchronization of partial simulations with and without real-time capability
KR101382992B1 (en) Master device for calculating synchronized actuation time of multiple slave devices and method for controlling the same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant