KR20190013077A - 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템 및 그 동기화 오차 보상방법 - Google Patents

이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템 및 그 동기화 오차 보상방법 Download PDF

Info

Publication number
KR20190013077A
KR20190013077A KR1020170097064A KR20170097064A KR20190013077A KR 20190013077 A KR20190013077 A KR 20190013077A KR 1020170097064 A KR1020170097064 A KR 1020170097064A KR 20170097064 A KR20170097064 A KR 20170097064A KR 20190013077 A KR20190013077 A KR 20190013077A
Authority
KR
South Korea
Prior art keywords
time
slave
master
synchronization error
slaves
Prior art date
Application number
KR1020170097064A
Other languages
English (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 KR1020170097064A priority Critical patent/KR20190013077A/ko
Priority to PCT/KR2017/012306 priority patent/WO2019027099A1/ko
Publication of KR20190013077A publication Critical patent/KR20190013077A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0095Arrangements for synchronising receiver with transmitter with mechanical means
    • 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/08Speed or phase control by synchronisation signals the synchronisation signals recurring cyclically

Abstract

본 발명은 마스터와 슬레이브들 간의 동기화 오차를 추정하고 보상하여 이더캣 네트워크에 연결된 모든 슬레이브들과 마스터가 보다 정밀하게 동기화될 수 있게 하는 동기화 오차 보상시스템 및 그 동기화 오차 보상방법에 관한 것이다.
또한, 본 발명은 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템으로서, 상기 마스터는, 복수의 슬레이브 중 동기화 기준이 되는 첫 번째 슬레이브인 참조 슬레이브로부터 상기 참조 슬레이브의 참조 시간과 상기 마스터의 시스템 시간 간의 시간 차이값과 오프셋 시간을 주기적으로 수집하고, 상기 참조 슬레이브 이외의 슬레이브들로부터 오프셋 시간을 주기적으로 수집하는 수집부와, 상기 수집부로부터 복수의 시간 차이값이 수집되면, 상기 수집된 시간 차이값들의 평균값을 동기화 오차로 계산하는 동기화 오차 계산부 및 상기 동기화 오차 계산부로부터 계산된 동기화 오차와 상기 수집부로부터 수집된 오프셋 시간을 이용하여 신규 오프셋 시간을 계산하고, 상기 계산된 신규 오프셋 시간을 상기 참조 슬레이브를 포함하는 각 슬레이브로 전송하여 동기화 오차를 보상하게 하는 동기화 오차 보상부를 포함하는 동기화 오차 보상시스템을 제공한다.

Description

이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템 및 그 동기화 오차 보상방법{Clock synchronization error compensation system and method for compensating clock synchronization error between master and slave in EtherCAT networks}
본 발명은 마스터와 슬레이브들 간의 동기화 오차를 추정하고 보상하여 이더캣 네트워크에 연결된 모든 슬레이브들과 마스터가 보다 정밀하게 동기화될 수 있게 하는 동기화 오차 보상시스템 및 그 동기화 오차 보상방법에 관한 것이다.
최근, 공장 자동화 분야나 모션 제어 분야에서 산업용 이더넷 네트워크의 이용이 급격히 증가하고 있다. 특히, 이더캣(EtherCAT)은 산업용 이더넷 네트워크의 한 종류로서, 일반적인 네트워크 카드를 사용하여 구현되는 마스터와 이더캣 슬레이브 컨트롤러라고 불리는 특수한 하드웨어로 구현되는 복수 개의 슬레이브로 이루어진다.
종래의 이더캣 네트워크는 복수 개의 슬레이브들 간의 정밀한 시간 동기화를 위해 분산 클럭(Distributed Clock) 동기화 기능을 제공하고 있다. 즉, 이더캣 네트워크에서 마스터는, 모든 슬레이브들이 연결되면 각각의 로컬 시간을 전송받아 마스터의 시간과 각 슬레이브의 로컬 시간과의 차이인 오프셋 시간을 계산하고, 계산한 오프셋 시간을 각 슬레이브로 전송하게 된다. 그러면, 각 슬레이브에서는 자신의 로컬 시간과 오프셋 시간을 더한 값을 시스템 시간으로 설정함으로써, 마스터의 시간에 맞게 동기화 될 수 있다.
또한, 이더캣 네트워크에 연결된 각 슬레이브는 네트워크 라인 지연만큼의 오차를 가지므로, 이러한, 지연 시간을 계산하기 위해 마스터는, 모든 슬레이브로 특정 명령을 전송하고, 각각의 슬레이브에서는 해당 명령을 수신한 시간을 고유의 로컬 시간을 기준으로 측정하며, 모든 슬레이브를 순환하여 다시 해당 슬레이브로 돌아온 시간도 측정한다. 그 이후, 이더캣 네트워크의 마스터는 측정된 두 시간을 이용하여 각 슬레이브 사이의 지연 시간을 계산하고, 계산된 지연 시간을 각 슬레이브로 전송하여 저장하게 한다.
이러한, 지연 시간은 각 슬레이브가 시간 추이를 계산할 때 적용될 수 있는데, 이더캣 네트워크의 마스터는, 주기적으로 자신의 시스템 시간을 첫 번째 슬레이브로 보내고, 첫 번째 슬레이브의 시스템 시간인 참조 시간을 다른 슬레이브들로 전송한다. 이를 전송받은 각 슬레이브들은, 자신이 전송받은 시간을 기준으로 자신의 시스템 시간과 지연 시간을 이용하여 시간 추이를 계산하고 계산된 시간 추이에 따라 자신의 로컬 시간을 조절할 수 있다.
예컨대, 첫 번째 슬레이브는 마스터의 시간을 주기적으로 전달받아 그 시간을 기준으로 자신의 로컬 시간의 속도를 가/감속시키고, 첫 번째 슬레이브를 제외한 다른 슬레이브들은 첫 번째 슬레이브의 참조 시간을 주기적으로 전달받아 참조 시간을 기준으로 자신의 로컬 시간의 속도를 가/감속시켜 모든 슬레이브의 로컬 시간이 마스터의 시간에 맞게 동기화될 수 있다.
한편, 종래의 이더캣 네트워크는, 슬레이브들 간의 동기화는 상대적으로 높은 정밀도를 보이지만 마스터와 슬레이브들 간의 동기화는 상대적으로 낮은 정밀도를 갖는 문제점이 있다.
즉, 종래의 이더캣 네트워크의 슬레이브들에는 특수한 하드웨어인 이더캣 슬레이브 컨트롤러가 구비되어 동기화된 시계가 관리되고 그 동기화된 시계에 맞춰 동기화된 동작을 수행할 수 있는 반면에, 마스터에는 이더캣 슬레이브 컨트롤러와 같은 특수한 하드웨어가 없고 일반적인 네트워크 카드만을 사용하기 때문에, 상대적으로 마스터의 동기화 정밀도가 낮게 형성된다.
이러한, 마스터의 낮은 동기화 정밀도는, 이더캣 네트워크 전반의 동기화 성능을 저해하는 한 요인으로 작용하고 있다.
본 발명은 상기와 같은 문제점을 감안하여 안출된 것으로, 이더캣 네트워크에 연결된 모든 슬레이브들과 마스터 간의 동기화를 보다 정밀하게 함으로써, 이더캣 네트워크 전반의 동기화 성능을 향상시킬 수 있는 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템 및 그 동기화 오차 보상방법을 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위한 본 발명은 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템으로서, 상기 마스터는, 복수의 슬레이브 중 동기화 기준이 되는 첫 번째 슬레이브인 참조 슬레이브로부터 상기 참조 슬레이브의 참조 시간과 상기 마스터의 시스템 시간 간의 시간 차이값과 오프셋 시간을 주기적으로 수집하고, 상기 참조 슬레이브 이외의 슬레이브들로부터 오프셋 시간을 주기적으로 수집하는 수집부; 상기 수집부로부터 복수의 시간 차이값이 수집되면, 상기 수집된 시간 차이값들의 평균값을 동기화 오차로 계산하는 동기화 오차 계산부; 및 상기 동기화 오차 계산부로부터 계산된 동기화 오차와 상기 수집부로부터 수집된 오프셋 시간을 이용하여 신규 오프셋 시간을 계산하고, 상기 계산된 신규 오프셋 시간을 상기 참조 슬레이브를 포함하는 각 슬레이브로 전송하여 동기화 오차를 보상하게 하는 동기화 오차 보상부;를 포함하는 동기화 오차 보상시스템을 제공한다.
바람직한 실시예에 있어서, 상기 마스터는 고유의 시스템 시간을 주기적으로 상기 참조 슬레이브에 전송하고, 상기 참조 슬레이브는, 상기 마스터로부터 시스템 시간을 수신할 때마다, 상기 마스터의 시스템 시간과 상기 참조 슬레이브 자체의 시스템 시간인 참조 시간 간의 차이에 따른 시간 차이값을 계산하는 시간 차이 계산부; 및 상기 시간 차이 계산부로부터 계산된 시간 차이값을 상기 마스터에 주기적으로 전송하는 시간 차이 전송부;를 포함한다.
바람직한 실시예에 있어서, 상기 참조 슬레이브를 포함하는 각 슬레이브는, 상기 마스터에 오프셋 시간을 주기적으로 전송하는 오프셋 시간 전송부; 상기 마스터로부터 신규 오프셋 시간을 수신하여, 과거의 오프셋 시간을 신규 오프셋 시간으로 갱신하는 오프셋 시간 갱신부; 및 상기 갱신된 신규 오프셋 시간에 기초하여, 과거의 참조 시간 또는 시스템 시간을 갱신하는 시스템 시간 갱신부;를 포함한다.
바람직한 실시예에 있어서, 상기 참조 슬레이브는, 상기 시스템 시간 갱신부로부터 참조 시간이 갱신되면, 상기 갱신된 참조 시간과 상기 마스터로부터 수신한 시스템 시간과의 차이를 계산하고 상기 계산된 차이만큼 로컬 시간을 가속 또는 감속시키는 로컬 시간 설정부;를 더 포함한다.
바람직한 실시예에 있어서, 상기 마스터는 상기 참조 슬레이브의 참조 시간을 주기적으로 상기 참조 슬레이브 이외의 슬레이브들에 전송하고, 상기 참조 슬레이브 이외의 슬레이브들은, 상기 시스템 시간 갱신부로부터 시스템 시간이 갱신되면, 상기 갱신된 시스템 시간과 상기 마스터로부터 수신한 참조 시간과의 차이를 계산하고 상기 계산된 차이만큼 로컬 시간을 가속 또는 감속시키는 로컬 시간 설정부;를 더 포함한다.
바람직한 실시예에 있어서, 상기 동기화 오차 보상부는, 상기 참조 슬레이브를 포함하는 슬레이브들 각각의 오프셋 시간에서 상기 동기화 오차 계산부로부터 계산된 동기화 오차를 뺀 값을 각 슬레이브의 신규 오프셋 시간으로 계산한다.
바람직한 실시예에 있어서, 상기 동기화 오차 계산부는, 지수가중이동평균 필터를 이용하여, 상기 수집된 복수의 시간 차이값 중에서 과거의 시간 차이값에는 상대적으로 낮은 가중치를 부여하고 최근의 시간 차이값에는 상대적으로 높은 가중치를 부여하여 평균값을 계산하는 방식으로 동기화 오차인 평균값을 계산한다.
또한, 본 발명은 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템에서 수행되는 동기화 오차 보상방법으로서, (3) 상기 마스터가, 복수의 슬레이브 중 동기화 기준이 되는 첫 번째 슬레이브인 참조 슬레이브로부터 상기 참조 슬레이브의 참조 시간과 상기 마스터의 시스템 시간 간의 시간 차이값과 오프셋 시간을 주기적으로 수집하고, 상기 참조 슬레이브 이외의 슬레이브들로부터 오프셋 시간을 주기적으로 수집하는 단계; (4) 상기 마스터가, 복수의 시간 차이값이 수집되면 상기 수집된 시간 차이값들의 평균값을 동기화 오차로 계산하는 단계; 및 (5) 상기 마스터가, 상기 계산된 동기화 오차와 상기 수집된 오프셋 시간을 이용하여 신규 오프셋 시간을 계산하고, 상기 계산된 신규 오프셋 시간을 상기 참조 슬레이브를 포함하는 각 슬레이브로 전송하는 단계;를 포함하는 동기화 오차 보상방법을 제공한다.
바람직한 실시예에 있어서, 상기 마스터는, 고유의 시스템 시간을 주기적으로 상기 참조 슬레이브에 전송하고, 상기 제 (3)단계 이전에, (1) 상기 참조 슬레이브가, 상기 마스터로부터 시스템 시간을 수신할 때마다, 상기 마스터의 시스템 시간과 상기 참조 슬레이브 자체의 시스템 시간인 참조 시간 간의 차이에 따른 시간 차이값을 계산하는 단계; 및 (2) 상기 참조 슬레이브가, 상기 계산된 시간 차이값을 상기 마스터에 주기적으로 전송하는 단계;를 더 포함한다.
바람직한 실시예에 있어서, 상기 제 (2)단계에서 상기 참조 슬레이브를 포함하는 각 슬레이브는, 상기 마스터에 오프셋 시간을 주기적으로 전송하고, 상기 제 (5)단계 이후에, (6) 상기 참조 슬레이브를 포함하는 각 슬레이브가, 상기 마스터로부터 신규 오프셋 시간을 수신하여 과거의 오프셋 시간을 신규 오프셋 시간으로 갱신하는 단계; 및 (7) 상기 참조 슬레이브를 포함하는 각 슬레이브가, 상기 갱신된 신규 오프셋 시간에 기초하여 과거의 참조 시간 또는 시스템 시간을 갱신하는 단계;를 더 포함한다.
바람직한 실시예에 있어서, 상기 제 (7)단계 이후에, (8) 상기 참조 슬레이브가, 상기 갱신된 참조 시간과 상기 마스터로부터 수신한 시스템 시간과의 차이를 계산하고 상기 계산된 차이만큼 로컬 시간을 가속 또는 감속시키는 단계;를 더 포함한다.
바람직한 실시예에 있어서, 상기 마스터는, 상기 참조 슬레이브의 참조 시간을 주기적으로 상기 참조 슬레이브 이외의 슬레이브들에 전송하고, 상기 제 (7)단계 이후에, (9) 상기 참조 슬레이브 이외의 각 슬레이브가, 상기 갱신된 시스템 시간과 상기 마스터로부터 수신한 참조 시간과의 차이를 계산하고 상기 계산된 차이만큼 로컬 시간을 가속 또는 감속시키는 단계;를 더 포함한다.
바람직한 실시예에 있어서, 상기 제 (5)단계에서 상기 마스터는, 상기 참조 슬레이브를 포함하는 슬레이브들 각각의 오프셋 시간에서 동기화 오차를 뺀 값을 각 슬레이브의 신규 오프셋 시간으로 계산한다.
바람직한 실시예에 있어서, 상기 제 (4)단계에서 상기 마스터는, 지수가중이동평균 필터를 이용하여 상기 수집된 복수의 시간 차이값 중에서 과거의 시간 차이값에는 상대적으로 낮은 가중치를 부여하고 최근의 시간 차이값에는 상대적으로 높은 가중치를 부여하여 평균값을 계산하는 방식으로 동기화 오차인 평균값을 계산한다.
전술한 과제해결 수단에 의해 본 발명은 특수한 하드웨어가 구비된 슬레이브들과 전술한 하드웨어가 구비되지 않은 마스터 사이에서 지속적으로 발생되는 동기화 오차를 보상함으로써, 이더캣 네트워크에 연결된 모든 슬레이브들이 정밀하게 동기화됨은 물론이고, 마스터와 슬레이브들이 정밀하게 동기화될 수 있는 효과가 있다.
또한, 본 발명은 이더캣 네트워크에서 마스터의 동기화를 정밀하게 함으로써, 이더캣 네트워크 전반의 동기화 성능을 향상시킬 수 있는 효과가 있다.
도 1은 본 발명의 일실시예에 따른 동기화 오차 보상시스템을 설명하기 위한 도면.
도 2는 동기화 오차 보상시스템에서 수행되는 동기화 오차 보상 과정을 설명하기 위한 도면.
도 3은 분산 클럭 동기화 기능에 따른 마스터와 참조 슬레이브의 시스템 시간 편차의 분포를 나타내는 도면.
도 4는 본 발명의 동기화 오차 보상시스템에 따른 마스터와 참조 슬레이브의 시스템 시간 편차의 분포를 나타내는 도면.
도 5는 분산 클럭 동기화 기능에 따른 마스터와 비참조 슬레이브의 시스템 시간 편차의 분포를 나타내는 도면.
도 6은 본 발명의 동기화 오차 보상 시스템에 따른 마스터와 비참조 슬레이브의 시스템 시간 편차의 분포를 나타내는 도면.
도 7은 본 발명의 일실시예에 따른 동기화 오차 보상방법을 설명하기 위한 도면.
하기의 설명에서 본 발명의 특정 상세들이 본 발명의 전반적인 이해를 제공하기 위해 나타나 있는데, 이들 특정 상세들 없이 또한 이들의 변형에 의해서도 본 발명이 용이하게 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도 1 내지 도 7을 참조하여 상세히 설명하되, 본 발명에 따른 동작 및 작용을 이해하는데 필요한 부분을 중심으로 설명한다.
도 1은 본 발명의 일실시예에 따른 동기화 오차 보상시스템을 설명하기 위한 도면이고, 도 2는 동기화 오차 보상시스템에서 수행되는 동기화 오차 보상 과정을 설명하기 위한 도면이다.
도 1 및 도 2를 참조하면, 본 발명의 일실시예에 따른 동기화 오차 보상시스템은, 이더캣(EtherCAT) 기반의 네트워크에서 구현되며, 적어도 하나의 마스터(100)와, 참조 슬레이브(200) 및 복수의 슬레이브(300)를 포함하여 구성될 수 있다.
아울러, 상기 마스터(100)는 수집부(110), 동기화 오차 계산부(120) 및 동기화 오차 보상부(130)를 포함하여 구성되고, 상기 참조 슬레이브(200)는 시간 차이 계산부(210), 시간 차이 전송부(220), 오프셋 시간 전송부(230), 오프셋 시간 갱신부(240), 시스템 시간 갱신부(250) 및 로컬 시간 설정부(260)를 포함하여 구성되며, 상기 참조 슬레이브(200)를 제외한 상기 복수의 슬레이브(300)는 오프셋 시간 전송부(330), 오프셋 시간 갱신부(340), 시스템 시간 갱신부(350) 및 로컬 시간 설정부(360)를 포함하여 구성될 수 있다.
여기서, 마스터(100)는 기본적으로 분산 클럭(Distributed Clock, DC) 동기화 기능을 이용하여 참조 슬레이브(200)를 포함하는 모든 슬레이브(200, 300)를 제어 및 동기화할 수 있다. 그리고, 마스터(100)는 고유의 시스템 시간을 주기적으로 참조 슬레이브(200)에 전송하고, 참조 슬레이브(200)의 참조 시간을 주기적으로 참조 슬레이브(200) 이외의 슬레이브들(300)에 전송하게 된다.
덧붙여, 참조 슬레이브(200)는 복수의 슬레이브(300) 중 동기화 기준이 되는 첫 번째 슬레이브를 뜻하고, 시스템 시간은 이더캣의 분산 클럭 동기화 기능에 의해 관리되는 전역 시간을 뜻하며, 후술할 참조 시간은 참조 슬레이브(200)의 시스템 시간을 뜻하며, 후술할 오프셋 시간은 마스터(100)의 시스템 시간과 각 슬레이브의 로컬 시간 간의 시간 차이를 뜻한다.
한편, 본 발명의 일실시예에 따른 동기화 오차 보상시스템에서 참조 슬레이브(200)이외의 슬레이브(300)가 하나인 것으로 편의상 도시되어 있으나, 실제로는 복수 개로 이루어지게 된다.
이하에서는, 본 발명의 일실시예에 따른 동기화 오차 보상시스템에 구성되는 마스터(100)의 세부 구성에 대해 구체적으로 설명한다.
전술한 바와 같이, 본 발명의 일실시예에 따른 동기화 오차 보상시스템의 마스터(100)는 수집부(110), 동기화 오차 계산부(120) 및 동기화 오차 보상부(130)를 포함하여 구성될 수 있다.
상기 수집부(110)는 시간 차이값과 오프셋 시간을 수집하기 위한 것으로, 참조 슬레이브(200)로부터 참조 시간과 마스터(100)의 시스템 시간 간의 시간 차이값과 오프셋 시간을 주기적으로 수집하고, 참조 슬레이브(200) 이외의 슬레이브들(300)로부터 오프셋 시간을 주기적으로 수집하는 기능을 수행한다.
이때, 전술한 시간 차이값은 참조 슬레이브(200)로부터 계산되어 마스터(100)로 전송되는 것으로, 전술한 바와 같이, 마스터(100)로부터 고유의 시스템 시간이 주기적으로 참조 슬레이브(200)에 전송되면, 참조 슬레이브(200)가 고유의 참조 시간과의 차이를 계산함으로써 산출될 수 있다.
상기 동기화 오차 계산부(120)는 동기화 오차를 계산하기 위한 것으로, 수집부(110)로부터 복수의 시간 차이값이 수집되면, 그 수집된 시간 차이값들의 평균값을 동기화 오차로 계산하는 기능을 수행한다.
바람직하게, 동기화 오차 계산부(120)는 복수의 시간 차이값 중에서 과거의 시간 차이값에는 상대적으로 낮은 가중치를 부여하고 최근의 시간 차이값에는 상대적으로 높은 가중치를 부여하여 평균값을 계산하는 방식으로 동기화 오차를 계산할 수 있다.
예컨대, 동기화 오차 계산부(120)는 아래의 수학식 1과 같이, 지수가중이동평균 필터를 이용하여 동기화 오차를 계산할 수 있다.
[수학식 1]
Figure pat00001
여기서, ΔTk는 k번째 동기화 오차이고, Δtk는 k번째 시간 차이값이며, α는 0 에서 1 사이의 특정값을 갖는 가중치이다.
즉, 동기화 오차 계산부(120)는 복수의 시간 차이값의 평균값을 계산하는 방식으로, 마스터(100)와 참조 슬레이브(200) 간의 시간 차이에 따른 동기화 오차를 계산할 수 있고, 과거의 시간 차이에 비해 상대적으로 최근의 시간 차이에 높은 가중치를 부여함으로써, 동기화 오차를 보다 정밀하게 계산할 수 있다.
상기 동기화 오차 보상부(130)는 동기화 오차의 보상을 위한 신규 오프셋을 계산하는 것으로, 동기화 오차 계산부(120)로부터 계산된 동기화 오차와 수집부(110)로부터 수집된 오프셋 시간을 이용하여 신규 오프셋 시간을 계산하는 기능을 수행한다.
바람직하게, 동기화 오차 보상부(130)는 참조 슬레이브(200)를 포함하는 모든 슬레이브(200, 300) 각각의 오프셋 시간에서 동기화 오차 계산부(120)로부터 계산된 동기화 오차를 뺀 값을 각 슬레이브(200, 300)의 신규 오프셋 시간으로 계산한다.
또한, 동기화 오차 보상부(130)는 아래의 수학식 2를 이용하여 각 슬레이브(200, 300)의 신규 오프셋 시간을 계산할 수 있다.
[수학식 2]
Figure pat00002
여기서, tnew _offset은 신규 오프셋 시간을 뜻하고, toffset은 수집부(110)로부터 수집된 슬레이브들(200, 300)의 오프셋 시간을 뜻하며, ΔTk는 동기화 오차 계산부(120)로부터 계산된 동기화 오차를 뜻한다.
아울러, 동기화 오차 보상부(130)는 신규 오프셋이 계산되면, 그 신규 오프셋 시간을 참조 슬레이브(200)를 포함하는 모든 슬레이브(200, 300)로 각각 전송함으로써, 참조 슬레이브(200)를 포함하는 모든 슬레이브(200, 300)가 신규 오프셋 시간을 이용하여 시스템 시간을 갱신하고 로컬 시간을 조절할 수 있게 한다.
이하에서는, 본 발명의 일실시예에 따른 동기화 오차 보상시스템에 구성되는 참조 슬레이브(200)의 세부 구성에 대해 구체적으로 설명한다.
상기 참조 슬레이브(200)는 모든 슬레이브들(200, 300) 중 동기화 기준이 되는 첫 번째 슬레이브로서, 시간 차이 계산부(210), 시간 차이 전송부(220), 오프셋 시간 전송부(230), 오프셋 시간 갱신부(240), 시스템 시간 갱신부(250) 및 로컬 시간 설정부(260)를 포함하여 구성될 수 있다.
상기 시간 차이 계산부(210)는 시간 차이값을 계산하기 위한 것으로, 마스터(100)로부터 고유의 시스템 시간을 주기적으로 수신하고, 마스터(100)의 시스템 시간이 수신될 때마다 참조 슬레이브(200) 자체의 시스템 시간인 참조 시간과 마스터(100)의 시스템 시간 간의 차이를 시간 차이값으로 계산하는 기능을 수행한다.
상기 시간 차이 전송부(220)는 시간 차이 계산부(210)로부터 계산된 시간 차이값을 마스터(100)에 전송하기 위한 것으로, 전술한 시간 차이값이 계산될 때마다 마스터(100)에 전송하거나, 사전에 설정된 주기에 따라 주기적으로 마스터(100)에 시간 차이값을 전송하도록 구비될 수 있다.
상기 오프셋 시간 전송부(230)는 오프셋 시간을 전송하기 위한 것으로, 참조 슬레이브(200)에 기저장된 오프셋 시간을 마스터(100)에 주기적으로 전송하는 기능을 수행한다.
이때, 오프셋 시간 전송부(230)로부터 마스터(100)에 전송되는 오프셋 시간은, 마스터(100)로부터 계산된 신규 오프셋 시간 이전의 오프셋 시간으로서, 예컨대, 과거의 오프셋 시간이라 할 수 있다.
상기 오프셋 시간 갱신부(240)는 오프셋 시간을 갱신하기 위한 것으로, 마스터(100)로부터 계산된 신규 오프셋 시간을 수신하고, 과거의 오프셋 시간을 상기 수신된 신규 오프셋 시간으로 갱신하는 기능을 수행한다.
다만, 전술한 마스터(100)로부터 별도의 신규 오프셋 시간이 수신되지 않을 경우에는, 별도로 오프셋 시간이 갱신되지 않을 수도 있다.
상기 시스템 시간 갱신부(250)는 참조 슬레이브(200)의 시스템 시간인 참조 시간을 갱신하기 위한 것으로, 오프셋 시간 갱신부(240)로부터 갱신된 신규 오프셋 시간에 기초하여 신규 참조 시간을 계산하고, 과거의 참조 시간을 상기 계산된 신규 참조 시간으로 갱신하는 기능을 수행한다.
이때, 시스템 시간 갱신부(250)는 참조 슬레이브(200) 고유의 로컬 시간과 상기 갱신된 신규 오프셋 시간을 더한 값으로 신규 참조 시간을 계산할 수 있다.
상기 로컬 시간 설정부(260)는 참조 슬레이브(200) 고유의 로컬 시간을 조절하기 위한 것으로, 전술한 시스템 시간 갱신부(250)로부터 참조 시간이 갱신되면, 상기 갱신된 참조 시간과 상기 마스터(100)로부터 수신한 시스템 시간과의 차이를 계산하고, 상기 계산된 차이만큼 로컬 시간을 가속 또는 감속시키는 기능을 수행한다.
이로 인해, 참조 슬레이브(200)의 로컬 시간이 조절되어, 마스터(100)와 참조 슬레이브(200) 간의 시간 편차가 감소하고 마스터(100)와 참조 슬레이브(200)의 시스템 시간이 정밀하게 동기화될 수 있다.
한편, 마스터(100)로부터 신규 오프셋 시간을 전송받아 시스템 시간과 로컬 시간을 갱신하는 과정은 참조 슬레이브(200)를 제외한 슬레이브들(300)에서도 동일하게 수행될 수 있다.
이를 위해, 참조 슬레이브(200)를 제외한 복수의 슬레이브(300)의 경우에도, 오프셋 시간 전송부(330), 오프셋 시간 갱신부(340), 시스템 시간 갱신부(350) 및 로컬 시간 설정부(360)를 포함하여 구성될 수 있다. 참고로, 전술한 참조 슬레이브(200)와 비교하면, 참조 슬레이브(200)를 제외한 복수의 슬레이브(300)에는 시간 차이 계산부(210) 및 시간 차이 전송부(220)가 구비되지 않을 수도 있다.
여기서, 참조 슬레이브(200)를 제외한 복수의 슬레이브(300)에 각각 구성되는 오프셋 시간 전송부(330), 오프셋 시간 갱신부(340), 시스템 시간 갱신부(350) 및 로컬 시간 설정부(360)는, 실질적으로, 전술한 참조 슬레이브(200)에 구성된 오프셋 시간 전송부(230), 오프셋 시간 갱신부(240), 시스템 시간 갱신부(250) 및 로컬 시간 설정부(260)와 거의 동일한 기능을 수행하므로, 그 차이가 있는 점에 대해서만 간략하게 설명하고자 한다.
상기 오프셋 시간 전송부(330)는 슬레이브에 기저장된 오프셋 시간, 즉, 과거의 오프셋 시간을 마스터(100)에 주기적으로 전송하는 기능을 수행한다. 즉, 복수의 슬레이브(300)로부터 각각의 오프셋 시간이 마스터(100)에 전송되게 된다.
그리고, 상기 오프셋 시간 갱신부(340)는 과거의 오프셋 시간을 마스터(100)로부터 수신한 신규 오프셋 시간으로 갱신하는 기능을 수행하고, 상기 시스템 시간 갱신부(350)는 오프셋 시간 갱신부(340)로부터 갱신된 신규 오프셋 시간에 기초하여 신규 시스템 시간을 계산하고, 과거의 시스템 시간을 상기 계산된 신규 시스템 시간으로 갱신하는 기능을 수행한다.
상기 로컬 시간 설정부(360)는 각 슬레이브 고유의 로컬 시간을 조절하기 위한 것으로, 시스템 시간 갱신부(350)로부터 시스템 시간이 갱신되면, 마스터(100)로부터 수신한 참조 슬레이브(200)의 참조 시간과 상기 갱신된 시스템 시간 간의 차이를 계산한 후 상기 계산된 차이만큼 로컬 시간을 가속 또는 감속시키는 기능을 수행한다.
이로 인해, 참조 슬레이브(200) 이외의 슬레이브들(300)의 로컬 시간도 전술한 마스터(100)와 참조 슬레이브(200)에 맞춰 조절됨으로써, 마스터(100)와 참조 슬레이브(200)를 포함하는 모든 슬레이브들(200, 300)의 시간 편차가 감소하고 마스터(100)와 모든 슬레이브들(200, 300)의 시스템 시간이 정밀하게 동기화될 수 있게 된다.
이하에서는, 본 발명의 일실시예에 따른 동기화 오차 보상시스템을 적용하였을 때 이더캣 네트워크에서의 시간 편차와, 종래의 분산 클럭 동기화 기능만을 적용하였을 때의 시간 편차를 비교하여 설명한다.
도 3은 분산 클럭 동기화 기능에 따른 마스터와 참조 슬레이브의 시스템 시간 편차의 분포를 나타내는 도면이고, 도 4는 본 발명의 동기화 오차 보상시스템에 따른 마스터와 참조 슬레이브의 시스템 시간 편차의 분포를 나타내는 도면이며, 도 5는 분산 클럭 동기화 기능에 따른 마스터와 비참조 슬레이브의 시스템 시간 편차의 분포를 나타내는 도면이고, 도 6은 본 발명의 동기화 오차 보상 시스템에 따른 마스터와 비참조 슬레이브의 시스템 시간 편차의 분포를 나타내는 도면이다.
먼저, 도 3에 도시된 바와 같이, 분산 클럭 동기화 기능 만을 적용하였을 경우 마스터와 참조 슬레이브의 시스템 시간 편차는 15 us 내지 40 us이며, 그 평균값은 약 25 us로 나타나는 것을 확인할 수 있다.
반면에, 도 4에 도시된 바와 같이, 본 발명의 동기화 오차 보상시스템에 따른 마스터와 참조 슬레이브의 시스템 시간 편차는 5 us 내지 25 us로 나타나고, 그 평균값은 약 10 us로 나타남으로써, 시간 편차가 현저하게 적다는 것을 확인할 수 있다.
여기서, 전술한 도 3 및 도 4에 도시된, X축(Clock deviation)은 마스터의 시스템 시간과 참조 슬레이브의 참조 시간 간의 차이를 뜻하고, Y축(Number of Samples)은 시간 차이에 따른 샘플의 개수를 나타내는데, X축 상의 ‘0’에 인접한 샘플이 많을수록 마스터와 참조 슬레이브 간의 시간 차이가 ‘0’에 가깝고 동기화 성능이 높다 할 수 있으나, X축 상의 ‘0’에서 멀어진 샘플이 많을수록 마스터와 참조 슬레이브 간의 시간 차이가 크고 동기화 성능이 낮아진다 할 수 있다.
즉, 본 발명의 동기화 오차 보상시스템에 따른 마스터와 참조 슬레이브의 시스템 시간 편차와 그 평균값이 현저하게 적게 나타나면서 ‘0’에 인접한 샘플이 상대적으로 많다는 점을 감안하면, 마스터와 참조 슬레이브 간의 동기화 오차가 보상됨으로써, 시간 편차가 감소하였고, 마스터와 참조 슬레이브 간의 동기화 성능이 향상될 수 있다는 것을 확인할 수 있다.
또한, 도 5에 도시된 바와 같이, 분산 클럭 동기화 기능 만을 적용하였을 경우 참조 슬레이브 이외의 슬레이브들과 마스터 간의 시스템 시간 편차는 20 us 내지 45 us이며, 그 평균값은 약 30 us로 나타나는 것을 확인할 수 있다.
반면에, 도 6에 도시된 바와 같이, 본 발명의 동기화 오차 보상시스템에 따른 참조 슬레이브 이외의 슬레이브들과 마스터 간의 시스템 시간 편차는 0 us 내지 30 us로 나타나고, 그 평균값은 약 15 us로 나타남으로써, 시간 편차가 현저하게 적다는 것을 확인할 수 있다.
이때, 전술한 도 5 및 도 6에 도시된, X축(Clock deviation)은 마스터의 시스템 시간과 슬레이브들 간의 시스템 시간 간의 차이를 뜻하고, Y축(Number of Samples)은 시간 차이에 따른 샘플의 개수를 나타낸다.
그리고, 본 발명의 동기화 오차 보상시스템에 따른 참조 슬레이브를 제외한 슬레이브들과 마스터 간의 시스템 시간 편차와 그 평균값이 현저하게 적게 나타나면서 ‘0’에 인접한 샘플이 상대적으로 많게 확인됨으로써, 마스터와 슬레이브들 간의 동기화 오차가 보상되어 시간 편차가 감소하였고, 마스터와 참조 슬레이브 간의 동기화 성능이 향상될 수 있다는 것을 확인할 수 있다.
도 7은 본 발명의 일실시예에 따른 동기화 오차 보상방법을 설명하기 위한 도면이다.
도 7을 참조하여, 본 발명의 일실시예에 따른 동기화 오차 보상시스템에서 수행되는 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상방법을 설명한다.
다만, 도 7에 도시된 동기화 오차 보상방법에서 수행되는 기능은 모두 도 1 내지 도 6을 참조하여 설명한 동기화 오차 보상시스템에서 수행되므로, 명시적인 설명이 없어도, 도 1 내지 도 6을 참조하여 설명한 모든 기능은 본 발명의 바람직한 실시예에 따른 동기화 오차 보상방법에서 수행되고, 도 7을 참조하여 설명하는 모든 기능은 본 발명의 바람직한 실시예에 따른 동기화 오차 보상시스템에서 그대로 수행됨을 주의해야 한다.
먼저, 모든 슬레이브 중 동기화 기준이 되는 첫 번째 슬레이브인 참조 슬레이브가, 마스터로부터 시스템 시간을 수신하여 마스터의 시스템 시간과 참조 슬레이브 자체의 시스템 시간인 참조 시간 간의 차이에 따른 시간 차이값을 계산한다(S110).
이때, 마스터는 고유의 시스템 시간을 주기적으로 참조 슬레이브에 전송하게 되는데, 이러한 시스템 시간을 참조 슬레이브에서 주기적으로 수신할 수 있다.
한편, 전술한 마스터는 참조 슬레이브로부터 참조 시간을 수신하여, 상기 수신한 참조 시간을 주기적으로 참조 슬레이브 이외의 슬레이브들로 전송할 수도 있다.
다음, 참조 슬레이브가 상기 계산된 시간 차이값을 마스터에 전송한다(S120).
이때, 참조 슬레이브는 전술한 시간 차이값과 함께 오프셋 시간을 마스터에 전송하고, 참조 슬레이브 이외의 슬레이브들은 오프셋 시간을 마스터에 전송하게 된다. 이러한, 전송 과정은 참조 슬레이브를 포함하는 모든 슬레이브들에서 주기적으로 수행될 수 있다.
그 다음, 마스터가 참조 슬레이브로부터 참조 시간과 마스터의 시스템 시간 간의 시간 차이값과 오프셋 시간을 주기적으로 수집하고, 참조 슬레이브 이외의 슬레이브들로부터 오프셋 시간을 주기적으로 수집한다(S130).
그 다음에는, 마스터가 복수의 시간 차이값이 수집된 후, 상기 수집된 시간 차이값들의 평균값을 동기화 오차로 계산한다(S140).
이때, 마스터는 지수가중이동평균 필터를 이용하여 평균값을 계산하는 방식으로 동기화 오차를 계산하게 되는데, 이에 의해, 복수의 시간 차이값 중에서 과거의 시간 차이값에는 상대적으로 낮은 가중치가 부여되고 최근의 시간 차이값에는 상대적으로 높은 가중치를 부여되어 평균값이 계산되게 된다.
또한, 마스터는 아래의 수학식 3을 이용하여 동기화 오차를 계산할 수 있다.
[수학식 3]
Figure pat00003
여기서, ΔTk는 k번째 동기화 오차이고, Δtk는 k번째 시간 차이값이며, α는 0 에서 1 사이의 특정값을 갖는 가중치이다.
그 다음에는, 마스터가 상기 계산된 동기화 오차와 기수집된 오프셋 시간을 이용하여 신규 오프셋 시간을 계산하고, 상기 계산된 신규 오프셋 시간을 참조 슬레이브를 포함하는 모든 슬레이브로 각각 전송한다(S150).
이때, 마스터는 참조 슬레이브를 포함하는 슬레이브들 각각의 오프셋 시간에서 동기화 오차를 뺀 값을 각 슬레이브의 신규 오프셋 시간으로 계산할 수 있다.
예컨대, 마스터는 아래의 수학식 4를 이용하여 각 슬레이브의 신규 오프셋 시간을 계산한다.
[수학식 4]
Figure pat00004
여기서, tnew _offset은 신규 오프셋 시간을 뜻하고, toffset은 슬레이브들로부터 각각 수집된 오프셋 시간을 뜻하며, ΔTk는 동기화 오차를 뜻한다.
그 다음에는, 참조 슬레이브를 포함하는 각 슬레이브가, 마스터로부터 신규 오프셋 시간을 수신하여 과거의 오프셋 시간을 신규 오프셋 시간으로 갱신하고(S160), 상기 갱신된 신규 오프셋 시간에 기초하여 과거의 참조 시간 또는 시스템 시간을 갱신한다(S170).
이때, 참조 슬레이브의 경우에는 고유의 로컬 시간과 신규 오프셋 시간을 더한 값으로 신규 참조 시간을 계산하고, 과거의 참조 시간을 상기 계산된 신규 참조 시간으로 갱신하며, 참조 슬레이브 이외의 슬레이브들은 각각의 로컬 시간과 신규 오프셋 시간을 더한 값으로 신규 시스템 시간을 계산하고, 과거의 시스템 시간을 상기 계산된 신규 시스템 시간으로 갱신하게 된다.
그 다음에는, 참조 슬레이브가 상기 갱신된 참조 시간과 마스터로부터 수신한 시스템 시간과의 차이를 계산하여 그 계산된 차이만큼 로컬 시간을 가속 또는 감속시키고(S180), 참조 슬레이브 이외의 각 슬레이브가, 상기 갱신된 시스템 시간과 마스터로부터 수신한 참조 시간과의 차이를 계산하고 그 차이만큼 로컬 시간을 가속 또는 감속시키게 된다(S190).
이로 인해, 참조 슬레이브를 포함하는 모든 슬레이브의 로컬 시간이 마스터에 맞춰 조절됨으로써, 마스터와 모든 슬레이브 간의 시간 편차, 즉, 동기화 오차가 감소하고 보다 정밀한 동기화가 이루어지게 된다.
한편, 전술한 제 190단계까지 완료되면, 전술한 제 110단계부터 다시 반복되어, 참조 슬레이브를 포함하는 모든 슬레이브와 마스터 간의 동기화 오차를 보상하게 되며, 이러한 과정이 주기적으로 반복됨으로써, 이더캣 네트워크 전반의 동기화 성능이 향상될 수 있다.
이상에서는 본 발명의 바람직한 실시예를 예시적으로 설명하였으나, 본 발명의 범위는 이와 같은 특정 실시예에만 한정되는 것은 아니며, 특허청구범위에 기재된 범주 내에서 적절하게 변경 가능한 것이다.
100 : 마스터 200 : 참조 슬레이브
300 : 슬레이브
110 : 수집부
120 : 동기화 오차 계산부
130 : 동기화 오차 보상부
210 : 시간 차이 계산부
220 : 시간 차이 전송부
230, 330 : 오프셋 시간 전송부
240, 340 : 오프셋 시간 갱신부
250, 350 : 시스템 시간 갱신부
260, 360 : 로컬 시간 설정부

Claims (14)

  1. 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템으로서,
    상기 마스터는,
    복수의 슬레이브 중 동기화 기준이 되는 첫 번째 슬레이브인 참조 슬레이브로부터 상기 참조 슬레이브의 참조 시간과 상기 마스터의 시스템 시간 간의 시간 차이값과 오프셋 시간을 주기적으로 수집하고, 상기 참조 슬레이브 이외의 슬레이브들로부터 오프셋 시간을 주기적으로 수집하는 수집부;
    상기 수집부로부터 복수의 시간 차이값이 수집되면, 상기 수집된 시간 차이값들의 평균값을 동기화 오차로 계산하는 동기화 오차 계산부; 및
    상기 동기화 오차 계산부로부터 계산된 동기화 오차와 상기 수집부로부터 수집된 오프셋 시간을 이용하여 신규 오프셋 시간을 계산하고, 상기 계산된 신규 오프셋 시간을 상기 참조 슬레이브를 포함하는 각 슬레이브로 전송하여 동기화 오차를 보상하게 하는 동기화 오차 보상부;를 포함하는 동기화 오차 보상시스템.
  2. 제 1항에 있어서,
    상기 마스터는 고유의 시스템 시간을 주기적으로 상기 참조 슬레이브에 전송하고,
    상기 참조 슬레이브는,
    상기 마스터로부터 시스템 시간을 수신할 때마다, 상기 마스터의 시스템 시간과 상기 참조 슬레이브 자체의 시스템 시간인 참조 시간 간의 차이에 따른 시간 차이값을 계산하는 시간 차이 계산부; 및
    상기 시간 차이 계산부로부터 계산된 시간 차이값을 상기 마스터에 주기적으로 전송하는 시간 차이 전송부;를 포함하는 것을 특징으로 하는 동기화 오차 보상시스템.
  3. 제 2항에 있어서,
    상기 참조 슬레이브를 포함하는 각 슬레이브는,
    상기 마스터에 오프셋 시간을 주기적으로 전송하는 오프셋 시간 전송부;
    상기 마스터로부터 신규 오프셋 시간을 수신하여, 과거의 오프셋 시간을 신규 오프셋 시간으로 갱신하는 오프셋 시간 갱신부; 및
    상기 갱신된 신규 오프셋 시간에 기초하여, 과거의 참조 시간 또는 시스템 시간을 갱신하는 시스템 시간 갱신부;를 포함하는 것을 특징을 하는 동기화 오차 보상시스템.
  4. 제 3항에 있어서,
    상기 참조 슬레이브는,
    상기 시스템 시간 갱신부로부터 참조 시간이 갱신되면, 상기 갱신된 참조 시간과 상기 마스터로부터 수신한 시스템 시간과의 차이를 계산하고 상기 계산된 차이만큼 로컬 시간을 가속 또는 감속시키는 로컬 시간 설정부;를 더 포함하는 것을 특징으로 하는 동기화 오차 보상시스템.
  5. 제 3항에 있어서,
    상기 마스터는 상기 참조 슬레이브의 참조 시간을 주기적으로 상기 참조 슬레이브 이외의 슬레이브들에 전송하고,
    상기 참조 슬레이브 이외의 슬레이브들은,
    상기 시스템 시간 갱신부로부터 시스템 시간이 갱신되면, 상기 갱신된 시스템 시간과 상기 마스터로부터 수신한 참조 시간과의 차이를 계산하고 상기 계산된 차이만큼 로컬 시간을 가속 또는 감속시키는 로컬 시간 설정부;를 더 포함하는 것을 특징으로 하는 동기화 오차 보상시스템.
  6. 제 1항에 있어서,
    상기 동기화 오차 보상부는,
    상기 참조 슬레이브를 포함하는 슬레이브들 각각의 오프셋 시간에서 상기 동기화 오차 계산부로부터 계산된 동기화 오차를 뺀 값을 각 슬레이브의 신규 오프셋 시간으로 계산하는 것을 특징으로 하는 동기화 오차 보상시스템.
  7. 제 1항에 있어서,
    상기 동기화 오차 계산부는,
    지수가중이동평균 필터를 이용하여, 상기 수집된 복수의 시간 차이값 중에서 과거의 시간 차이값에는 상대적으로 낮은 가중치를 부여하고 최근의 시간 차이값에는 상대적으로 높은 가중치를 부여하여 평균값을 계산하는 방식으로 동기화 오차인 평균값을 계산하는 것을 특징으로 하는 동기화 오차 보상시스템.
  8. 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템에서 수행되는 동기화 오차 보상방법으로서,
    (3) 상기 마스터가, 복수의 슬레이브 중 동기화 기준이 되는 첫 번째 슬레이브인 참조 슬레이브로부터 상기 참조 슬레이브의 참조 시간과 상기 마스터의 시스템 시간 간의 시간 차이값과 오프셋 시간을 주기적으로 수집하고, 상기 참조 슬레이브 이외의 슬레이브들로부터 오프셋 시간을 주기적으로 수집하는 단계;
    (4) 상기 마스터가, 복수의 시간 차이값이 수집되면 상기 수집된 시간 차이값들의 평균값을 동기화 오차로 계산하는 단계; 및
    (5) 상기 마스터가, 상기 계산된 동기화 오차와 상기 수집된 오프셋 시간을 이용하여 신규 오프셋 시간을 계산하고, 상기 계산된 신규 오프셋 시간을 상기 참조 슬레이브를 포함하는 각 슬레이브로 전송하는 단계;를 포함하는 동기화 오차 보상방법.
  9. 제 1항에 있어서,
    상기 마스터는, 고유의 시스템 시간을 주기적으로 상기 참조 슬레이브에 전송하고,
    상기 제 (3)단계 이전에,
    (1) 상기 참조 슬레이브가, 상기 마스터로부터 시스템 시간을 수신할 때마다, 상기 마스터의 시스템 시간과 상기 참조 슬레이브 자체의 시스템 시간인 참조 시간 간의 차이에 따른 시간 차이값을 계산하는 단계; 및
    (2) 상기 참조 슬레이브가, 상기 계산된 시간 차이값을 상기 마스터에 주기적으로 전송하는 단계;를 더 포함하는 것을 특징으로 하는 동기화 오차 보상방법.
  10. 제 9항에 있어서,
    상기 제 (2)단계에서 상기 참조 슬레이브를 포함하는 각 슬레이브는, 상기 마스터에 오프셋 시간을 주기적으로 전송하고,
    상기 제 (5)단계 이후에,
    (6) 상기 참조 슬레이브를 포함하는 각 슬레이브가, 상기 마스터로부터 신규 오프셋 시간을 수신하여 과거의 오프셋 시간을 신규 오프셋 시간으로 갱신하는 단계; 및
    (7) 상기 참조 슬레이브를 포함하는 각 슬레이브가, 상기 갱신된 신규 오프셋 시간에 기초하여 과거의 참조 시간 또는 시스템 시간을 갱신하는 단계;를 더 포함하는 것을 특징을 하는 동기화 오차 보상방법.
  11. 제 10항에 있어서,
    상기 제 (7)단계 이후에,
    (8) 상기 참조 슬레이브가, 상기 갱신된 참조 시간과 상기 마스터로부터 수신한 시스템 시간과의 차이를 계산하고 상기 계산된 차이만큼 로컬 시간을 가속 또는 감속시키는 단계;를 더 포함하는 것을 특징으로 하는 동기화 오차 보상방법.
  12. 제 10항에 있어서,
    상기 마스터는, 상기 참조 슬레이브의 참조 시간을 주기적으로 상기 참조 슬레이브 이외의 슬레이브들에 전송하고,
    상기 제 (7)단계 이후에,
    (9) 상기 참조 슬레이브 이외의 각 슬레이브가, 상기 갱신된 시스템 시간과 상기 마스터로부터 수신한 참조 시간과의 차이를 계산하고 상기 계산된 차이만큼 로컬 시간을 가속 또는 감속시키는 단계;를 더 포함하는 것을 특징으로 하는 동기화 오차 보상방법.
  13. 제 8항에 있어서,
    상기 제 (5)단계에서 상기 마스터는, 상기 참조 슬레이브를 포함하는 슬레이브들 각각의 오프셋 시간에서 동기화 오차를 뺀 값을 각 슬레이브의 신규 오프셋 시간으로 계산하는 것을 특징으로 하는 동기화 오차 보상방법.
  14. 제 8항에 있어서,
    상기 제 (4)단계에서 상기 마스터는, 지수가중이동평균 필터를 이용하여 상기 수집된 복수의 시간 차이값 중에서 과거의 시간 차이값에는 상대적으로 낮은 가중치를 부여하고 최근의 시간 차이값에는 상대적으로 높은 가중치를 부여하여 평균값을 계산하는 방식으로 동기화 오차인 평균값을 계산하는 것을 특징으로 하는 동기화 오차 보상방법.
KR1020170097064A 2017-07-31 2017-07-31 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템 및 그 동기화 오차 보상방법 KR20190013077A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170097064A KR20190013077A (ko) 2017-07-31 2017-07-31 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템 및 그 동기화 오차 보상방법
PCT/KR2017/012306 WO2019027099A1 (ko) 2017-07-31 2017-11-02 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템 및 그 동기화 오차 보상방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170097064A KR20190013077A (ko) 2017-07-31 2017-07-31 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템 및 그 동기화 오차 보상방법

Publications (1)

Publication Number Publication Date
KR20190013077A true KR20190013077A (ko) 2019-02-11

Family

ID=65234005

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170097064A KR20190013077A (ko) 2017-07-31 2017-07-31 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템 및 그 동기화 오차 보상방법

Country Status (2)

Country Link
KR (1) KR20190013077A (ko)
WO (1) WO2019027099A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210026241A (ko) 2019-08-29 2021-03-10 주식회사 효원파워텍 이더캣 네트워크 기반의 외부프로세서 시계 동기화 시스템 및 방법
KR20230091351A (ko) * 2021-12-16 2023-06-23 현대오토에버 주식회사 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치
KR20230091357A (ko) * 2021-12-16 2023-06-23 현대오토에버 주식회사 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235172B (zh) * 2020-09-27 2022-01-18 深圳市微秒控制技术有限公司 一种EtherCAT总线位置补偿方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101379248B1 (ko) * 2012-07-27 2014-03-28 삼성중공업 주식회사 이더넷 통신 시스템 및 시간 동기화 방법
KR101481542B1 (ko) * 2012-12-27 2015-01-13 성균관대학교산학협력단 단말간 직접 통신 시스템에서의 타이밍 동기화 장치, 방법 및 시스템
JP6261822B2 (ja) * 2015-06-08 2018-01-17 三菱電機株式会社 時刻同期装置及び時刻同期システム及び時刻同期方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210026241A (ko) 2019-08-29 2021-03-10 주식회사 효원파워텍 이더캣 네트워크 기반의 외부프로세서 시계 동기화 시스템 및 방법
KR20230091351A (ko) * 2021-12-16 2023-06-23 현대오토에버 주식회사 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치
KR20230091357A (ko) * 2021-12-16 2023-06-23 현대오토에버 주식회사 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치

Also Published As

Publication number Publication date
WO2019027099A1 (ko) 2019-02-07

Similar Documents

Publication Publication Date Title
KR20190013077A (ko) 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템 및 그 동기화 오차 보상방법
US7848360B2 (en) Method for transmitting synchronization messages in a communication network
CN1300951C (zh) 用于对无线通信系统中的多个基站进行时间同步处理的方法
US8913633B2 (en) System and method for time synchronization in a communication network
US20070147435A1 (en) Removing delay fluctuation in network time synchronization
TWI427955B (zh) 具有步階延遲預先補償之適應性時脈回復
EP0991216A2 (en) Organization of time synchronization in a distributed system
JP2011511368A5 (ko)
CN101196731A (zh) 运动控制定时模型
US10187280B2 (en) Using a two-way active measurement protocol to calculate one-way delay
KR20150085701A (ko) 무선 통신 시스템에서 단말의 타이밍을 제어하기 위한 방법 및 그 전자 장치
CN105519021B (zh) 测定通信网络中的频率偏差的位置的方法和设备
KR101771612B1 (ko) 이더캣 기반의 동기화 오차 보상 시스템 및 그 방법
CN109557371A (zh) 一种用于配电网相量测量的同步授时守时方法
US8670491B2 (en) Device and method for time synchronization in a communication network
US20230023970A1 (en) Control system
CN111812970B (zh) 一种基于ieee1588协议的双补偿时钟同步方法
US11201685B2 (en) In-vehicle network system
CN114423073B (zh) 基于事件触发的平均一致性时间同步方法
CN108512722B (zh) 一种多级数字总线控制系统相位频率特性测量优化方法
JPH08263397A (ja) ネットワークの時刻同期方式
CN114584246A (zh) 基于fpga的无线自组网时间同步方法、系统及介质
CN111183688B (zh) 用于无线接入网的无线接入网控制器和相关方法
WO2022031586A1 (en) State estimation for time synchronization
US20210357271A1 (en) Synchronization of data processing in a calculating system