KR101379248B1 - 이더넷 통신 시스템 및 시간 동기화 방법 - Google Patents

이더넷 통신 시스템 및 시간 동기화 방법 Download PDF

Info

Publication number
KR101379248B1
KR101379248B1 KR1020120082268A KR20120082268A KR101379248B1 KR 101379248 B1 KR101379248 B1 KR 101379248B1 KR 1020120082268 A KR1020120082268 A KR 1020120082268A KR 20120082268 A KR20120082268 A KR 20120082268A KR 101379248 B1 KR101379248 B1 KR 101379248B1
Authority
KR
South Korea
Prior art keywords
slave
time
master
value
clock
Prior art date
Application number
KR1020120082268A
Other languages
English (en)
Other versions
KR20140014918A (ko
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 KR1020120082268A priority Critical patent/KR101379248B1/ko
Publication of KR20140014918A publication Critical patent/KR20140014918A/ko
Application granted granted Critical
Publication of KR101379248B1 publication Critical patent/KR101379248B1/ko

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

이더넷 통신 시스템 및 시간 동기화 방법이 개시된다. 이더넷 통신 시스템은, 마스터; 및 지정된 주기마다 상기 마스터로부터 동기 프레임을 수신하는 슬레이브를 포함하되, 상기 슬레이브는 상기 마스터와 상기 슬레이브의 시간차(offset) 및 보정된 슬레이브의 클럭 주기를 이용하여 상기 동기 프레임이 수신되는 주기 동안 상기 슬레이브의 로컬 시스템 타임을 상기 마스터의 시스템 타임과 미리 지정된 오차 범위 내에서 일치되도록 선형적 보상을 수행하는 시간 동기화부를 포함한다.

Description

이더넷 통신 시스템 및 시간 동기화 방법{Ethernet communication system and time synchronization method}
본 발명은 이더넷 통신 시스템 및 시간 동기화 방법에 관한 것이다.
이더넷(Ethernet) 통신을 기반으로 하는 네트워크 기반 제어 시스템은 예를 들어 동기 모션 제어 등과 같은 고속의 실시간 데이터를 전송하는데 주로 사용된다. 이 시스템에서는 동기화를 위해 클럭 동기화 표준인 IEEE 1588이 사용되고 있으며, IEEE 1588은 이더캣(EtherCAT), 파워링크(PowerLINK) 등에서도 사용되고 있다.
이더캣은 이더넷을 기반으로 하는 통신 표준 가운데 하나로서, 산업용 환경이나 공장 환경 등에서 입/출력 디바이스, 센서, 프로그래머블 로직 컨트롤러(PLC)의 네트워킹 및 통신 기능 등에서 사용이 늘어나고 있다.
이더캣은 이더넷이 가지는 단점들, 예를 들어 산업용 환경에서 소량의 데이터 교환에 대해서는 충분히 효율적이지 않은 단점, 실시간 동작을 위한 결정론적 성능이 부족한 단점 등을 극복하고 자동화에 적합하고 효율적인 네트워크 기술을 제공한다.
참고로, 이더캣 통신 시스템에서의 클럭 동기화 방법을 예로 들어 설명하면 다음과 같다.
이더캣 통신에서는 시간 기반 동기화 기술 등 중의 하나인 IEEE 1588 클럭 동기화 기술을 이용하여 네트워크상에 분산된 디바이스들(즉, 마스터, 슬레이브)의 클럭을 동기화하고 있다.
IEEE 1588 클럭 동기화 기술은 네트워크 시스템 상의 디바이스들 중 하나의 디바이스를  클럭 마스터(Clock Master)로 지정하여 해당 마스터 클럭을 기준으로 하위의 디바이스들(Clock Slave)의 클럭의 오프셋(Offset)과 딜레이(Delay)를 실시간 보정하여 각 디바이스들을 동기화시키는 기술이다.
선행 논문 Design Considerations for Software Only Implementations of the IEEE 1588 Precision Time Protocol(논문 저자 Kendall Correll, Nick Barendt(VXI Technology, Inc. Cleveland, Ohio, USA) 및 Michael Branicky(EECS Dept., Case Western Reserve University, Cleveland, Ohio, USA)에서는 IEEE 1588 클럭 동기화를 위한 클럭 서보 다이어그램(Clock Servo Diagram)을 제시하고 있으며, 이는 도 1에 도시된 바와 같다.
도 1을 참조하면, 클럭 서보 다이어그램은 PI(Proportional-Integral) 컨트롤러, FIR(Finite Impulse Response) 로우 패스 필터(low-pass filter), IIR(Infinite Impulse Response) 로우 패스 필터 및 복수의 합산기를 포함하여 구성된다.
그러나, 도 1에 제시된 종래기술에 따른 클럭 동기화 방법은 복수의 로우 패스 필터, PI 컨트롤러 등을 이용하는 방식으로서 처리 과정이 복잡하고, 게인 튜닝이 요구되는 문제점이 있다.
비특허문헌1 : Design Considerations for Software Only Implementations of the IEEE 1588 Precision Time Protocol
본 발명은 실시간 동기화 제어를 위해 최대 변화 시간 설정값만을 요구하고 실시간 덧셈 연산만이 수행되어 동기화 제어를 위한 연산 복잡도가 최소화될 수 있는 실시간 이더넷 통신 시스템 및 시간 동기화 방법을 제공하기 위한 것이다.
본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.
본 발명의 일 측면에 따르면, 실시간 이더넷 통신 시스템에 있어서, 마스터; 및 지정된 주기마다 상기 마스터로부터 동기 프레임을 수신하는 슬레이브를 포함하되, 상기 슬레이브는 상기 마스터와 상기 슬레이브의 시간차(offset) 및 보정된 슬레이브의 클럭 주기(Period)를 이용하여 상기 동기 프레임이 수신되는 주기 동안 상기 슬레이브의 로컬 시스템 타임을 상기 마스터의 시스템 타임과 미리 지정된 오차 범위 내에서 일치되도록 선형적 보상을 수행하는 시간 동기화부를 포함하는 실시간 이더넷 통신 시스템이 제공된다.
상기 시간 동기화부는, 상기 마스터와 상기 슬레이브의 시간차(offset)과 보정된 슬레이브의 클럭 주기(period)를 산출하는 생성기; 상기 슬레이브의 클럭 소스에 의해 증가될 시간값(dT[n])을 산출하는 제어기; 및 상기 슬레이브의 클럭 주기마다 상기 제어기에 의해 산출된 시간값(dT[n])을 덧셈 연산하여 상기 슬레이브의 로컬 시스템 타임을 갱신하는 덧셈기를 포함할 수 있다.
상기 생성기 및 상기 제어기는 상기 동기 프레임이 수신되는 주기에 부합하도록 구동될 수 있다.
상기 선형적 보상은 하기 제1 내지 제3 조건 중 상기 슬레이브의 클럭 소스에 의해 증가될 시간값(dT[n])의 후보값(dT_c[n])이 만족하는 조건에 따라 결정된 상수의 기울기값을 가지는 직선일 수 있으며, 각 조건은 다음과 같다.
[제1 조건] If(dT_c[n]>dT[n-1]+T_tm),
기울기값 = (dT[n-1]+T_tm)/T_ps
[제2 조건] Else if(dT_c[n]<dT[n-1]-T_tm),
기울기값 = (dT[n-1]-T_tm)/T_ps
[제3 조건] Else, 기울기값 = dT_c[n]/T_ps
여기서, T_tm은 미리 지정된 최대 변화 범위 파라미터이고, T_ps는 상기 슬레이브의 클럭 주기일 수 있다.
상기 후보값(dT_c[n])은 수학식 dT_c[n]=dT_o[n]+T_p[n]에 의해 산출될 수 있다. 여기서, 상기 dT_o[n]은 n번째 시점에서의 오프셋 보상값이고, T_p[n]은 보정된 슬레이브의 클럭 주기(Period)일 수 있다.
상기 오프셋 보상값(dT_o[n])은 수학식 dT_o[n]=T_ps*T_o[n]/(T1_m[n]-T1_m[n-1])에 의해 산출될 수 있다. 여기서, T_o[n]은 상기 마스터의 시스템 타임이 전송된 n번째 시점에서의 마스터와 슬레이브간의 시간차이고, T1_m[n]과 T1_m[n-1]은 n번째 시점 또는 n-1번째 시점에서 송신한 상기 마스터의 시스템 타임일 수 있다.
상기 보정된 슬레이브의 클럭 주기(T_p[n])은 수학식 T_p[n]=T_ps*R[n]=(T1_m[n]-T1_m[n-1])/(C_s[n]-C_s[n-1])에 의해 산출될 수 있다. 여기서, R[n]은 상기 마스터와 슬레이브간의 주파수 차이이고, C_s[n]은 n시점에서의 클럭 계수값일 수 있다.
본 발명의 다른 측면에 따르면, 실시간 이더넷 통신 시스템에서 수행되는 시간 동기화 방법에 있어서, 마스터와 슬레이브 간에 지정된 주기마다 동기 프레임을 송수신하는 단계; 및 상기 슬레이브는 상기 마스터와 상기 슬레이브의 시간차(offset) 및 보정된 슬레이브의 클럭 주기(Period)를 이용하여 상기 동기 프레임이 수신되는 주기 동안 상기 슬레이브의 로컬 시스템 타임을 상기 마스터의 시스템 타임과 미리 지정된 오차 범위 내에서 일치되도록 선형적 보상을 수행하는 단계를 포함하는 시간 동기화 방법이 제공된다.
상기 선형적 보상은 하기 제1 내지 제3 조건 중 상기 슬레이브의 클럭 소스에 의해 증가될 시간값(dT[n])의 후보값(dT_c[n])이 만족하는 조건에 따라 결정된 상수의 기울기값을 가지는 직선일 수 있으며, 각 조건은 다음과 같다.
[제1 조건] If(dT_c[n]>dT[n-1]+T_tm),
기울기값 = (dT[n-1]+T_tm)/T_ps
[제2 조건] Else if(dT_c[n]<dT[n-1]-T_tm),
기울기값 = (dT[n-1]-T_tm)/T_ps
[제3 조건] Else, 기울기값 = dT_c[n]/T_ps
여기서, T_tm은 미리 지정된 최대 변화 범위 파라미터이고, T_ps는 상기 슬레이브의 클럭 주기일 수 있다.
상기 후보값(dT_c[n])은 수학식 dT_c[n]=dT_o[n]+T_p[n]에 의해 산출될 수 있다. 여기서, 상기 dT_o[n]은 n번째 시점에서의 오프셋 보상값이고, T_p[n]은 보정된 슬레이브의 클럭 주기(Period)일 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시예에 따르면, 실시간 동기화 제어를 위해 최대 변화 시간 설정값만을 요구하고 덧셈 연산만이 수행되므로 동기화 제어를 위한 연산 복잡도가 최소화될 수 있는 효과가 있다.
도 1은 종래기술에 따른 동기화 제어를 위한 PTPd(Precision Time Protocol Daemon)의 클럭 서보(clock servo)의 다이어그램.
도 2는 이더넷(Ethernet) 클럭 동기화 구조를 나타낸 도면.
도 3은 일반적인 네트워크 기반 제어 시스템의 구성을 나타낸 도면.
도 4 및 도 5는 본 발명의 일 실시예에 따른 클럭 동기화를 위한 전처리 과정을 나타낸 도면.
도 6a는 동기화를 하지 않은 경우 마스터와 슬레이브간의 시간차 및 주파수 차이를 나타낸 도면.
도 6b는 동기화를 진행한 경우 마스터와 슬레이브간의 시간차 및 주파수 차이를 나타낸 도면.
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 마스터와 슬레이브간의 시간차 및 주파수 차이에 대한 선형 보간 방법을 나타낸 도면.
도 8은 본 발명의 일 실시예에 따른 시간 동기화부의 구성을 나타낸 도면.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
또한, 명세서에 기재된 "…부", "…유닛", "…모듈", "…기" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
또한, 각 도면을 참조하여 설명하는 실시예의 구성 요소가 해당 실시예에만 제한적으로 적용되는 것은 아니며, 본 발명의 기술적 사상이 유지되는 범위 내에서 다른 실시예에 포함되도록 구현될 수 있으며, 또한 별도의 설명이 생략될지라도 복수의 실시예가 통합된 하나의 실시예로 다시 구현될 수도 있음은 당연하다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일하거나 관련된 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 2는 이더넷 클럭 동기화 구조를 나타낸 도면이다.
IEEE 1588 클럭 동기화 기술을 기반으로 하는 이더넷(Ethernet) 클럭 동기화 기술은 오프셋(Offset) 보정과 딜레이(Delay) 보정이라는 2가지 보정 기술의 구현을 통하여 분산된 디바이스들(즉, 하나 이상의 마스터와 하나 이상의 슬레이브)의 클럭을 동기화한다.
네트워크상에 분산된 디바이스들은 서로 다른 클럭들을 가지고 있으며, 이와 같이 분산된 클럭들을 동기화 하기 위해서는 기본적으로 서로 다른 클럭들 간의 시간차(Offset)를 보정해 주어야 한다. 클럭들 간의 시간차의 보정은 마스터 클럭(즉, 클럭 마스터의 클럭)의 수신을 통해 클럭들간의 차이를 계산하여 적용하는 방식이 사용된다.
그러나 실제 마스터 클럭을 가진 디바이스의 프로세스 내부 오차 요인(예를 들어, 프로토콜 스택 상에서 발생하는 딜레이(Delay), 지터(Jitter) 등)으로 인하여 어플리케이션 계층(Application layer)에서 계산된 클럭 시간과 물리적 계층(Physical layer)에서 실제 전송된 클럭 시간 간에 차이가 발생하여 분산된 슬레이브들의 정확한 클럭의 수신 및 오프셋 보정을 어렵게 한다.
이러한 어려움을 해소하기 위해, 디바이스들의 물리적 계층(Physical layer) 상에 송수신 클럭의 시간의 정확한 측정(Stamping)을 위한 메시지 디텍터가 장착되어, 실제 메시지(Sync 메시지)가 송신된 정확한 시간을 물리적 계층에서 정확하게 스탬핑하여 재전송(Follow up 메시지)하는 방식을 이용하여 오프셋을 보정한다. 딜레이(Delay) 보정 역시 이와 같은 구조를 기반으로 딜레이에 대한 측정 및 보정을 수행하고 있다.
일반적으로 오프셋과 딜레이를 산출하는 방법은 하기 수학식 1 및 2로 설명될 수 있다. 오프셋과 딜레이를 산출하는 과정 및 방법은 당업자에게 자명한 사항이므로 이에 대한 구체적인 설명은 생략한다.
Figure 112012060206719-pat00001
Figure 112012060206719-pat00002
마스터로부터 슬레이브로 데이터를 전송하는 과정에서의 시간 차이값인 MS_difference가 만일 90ms이고, 슬레이브로부터 마스터로 데이터를 전송하는 과정에서의 시간 차이값인 SM_difference가 만일 -20ms라면, 수학식 1에 의해 오프셋값은 55ms로 산출될 수 있고, 마스터로부터 슬레이브로 또는 그 역인 단방향 딜레이값은 35ms로 산출될 수 있다.
도 3은 일반적인 네트워크 기반 제어 시스템의 구성을 나타낸 도면이다.
도 3을 참조하면, 네트워크 기반 제어 시스템은 마스터(310) 및 복수의 슬레이브(320a, 320b, 320c 및 320d, 이하 별도의 구분이 필요하지 않은 경우에는 320으로 통칭함)를 포함하고, 마스터(310) 및 슬레이브(320)들 간에는 케이블에 의해 순차적으로 연결된다.
마스터(310)는 슬레이브(320)로 임의의 데이터(즉, 프레임일 수 있으며 예를 들어, 로봇 제어를 위한 데이터 등)를 전송한다.
또한 마스터(310)는 네트워크상의 디바이스들(즉, 마스터(310)와 슬레이브(320))간에 발생하는 오프셋 값 및 딜레이 값을 주기적으로 계산하여 전송하며, 클럭 동기화를 위해 네트워크상 첫번째 노드에 있는 디바이스인 마스터(310)의 시스템 타임(system time)을 주기적으로 네트워크상에 분산시킨다.
여기서, 오프셋 값은 마스터(310)가 데이터를 전송할 때의 마스터(310)의 내부 시계 값과 슬레이브(320)가 데이터를 수신했을 때의 슬레이브(320)의 내부 시계 값의 차이이다.
그리고 딜레이 값은 마스터에서 데이터를 전송하여 슬레이브가 그 데이터를 수신할 때까지 또는 그 역의 과정 등에서 걸리는 지연 시간이다.
슬레이브(320)는 마스터(310)로부터 데이터를 수신하거나, 데이터 전송 경로상에서 전단에 위치한 슬레이브(320)로부터 데이터를 수신한다.
수신된 데이터가 해당 슬레이브(320)를 대상으로 하는 데이터인 경우, 슬레이브(320)는 데이터를 읽어 데이터에 의해 지정된 처리가 처리부에 의해 수행되며, 필요한 경우 처리 결과 등을 데이터에 기재한 후 데이터 전송/회신 경로상에서 후단에 위치한 슬레이브(320) 또는 마스터(310)로 데이터를 전송한다. 슬레이브(320)가 후단의 슬레이브(320) 또는 마스터(310)로 전송하는 데이터에는 예를 들어 데이터를 송수신한 시간 및 데이터 처리 시간 등이 포함될 수 있다.
또한 슬레이브(320)는 마스터(310)로부터 수신되는 시스템 타임을 이용하여 동기화되며, 마스터(310)에 의해 계산되어 제공되는 오프셋 값 및 딜레이 값을 기반으로 자신의 로컬 시스템 타임을 보정하여 클럭을 동기화시킨다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 클럭 동기화를 위한 전처리 과정을 나타낸 도면이다. 도 4 및 도 5는 하나의 마스터(310)와 3개의 슬레이브(320)에 의해 네트워크 기반 제어 시스템이 구성된 경우를 예시하고 있다.
본 실시예에 따른 이더넷 통신 시스템의 시간 동기화 방법은 전처리 과정과 후처리 과정으로 나뉘어지며, 후처리 과정은 실시간 처리 과정과 비실시간 처리 과정으로 구분될 수 있다. 후처리 과정에 대해서는 도 7a 내지 도 8을 참조하여 상세히 설명하기로 한다.
클럭 동기화를 위한 전처리 과정이 도시된 도 4를 참조하면, 마스터(310)는 두번에 걸쳐 데이터(즉, 프레임)을 슬레이브 #1(320a)로 전송하고, 전송된 데이터는 슬레이브 #2(320b) 및 슬레이브 #3(320c)의 순서로 순차 전송된다.
마스터(310)는 첫번째 전송하는 데이터에 마스터의 시간(즉, 시스템 타임이며, T1_0)을 포함하여 전송하며, 해당 데이터가 슬레이브 #1(320a), 슬레이브 #2(320b) 및 슬레이브 #3(320c)의 순서로 순차 전송되는 과정에서 각 슬레이브(320)는 소요된 시간을 차감한 후 데이터 전송 경로상에서 직후단에 위치하는 슬레이브(320) 또는 마스터(310)로 해당 데이터를 전송한다.
예를 들어, 슬레이브 #1(320a)은 마스터(310)로부터 마스터의 시스템 타임(T1_0)이 기록된 데이터가 수신되면, 해당 데이터의 수신 시간(즉, T2_1)을 기록한다. 여기서, 데이터 수신 시간은 슬레이브 #1(320a)가 가진 클럭을 이용하여 카운트한 수신 시간이다. 그리고, 슬레이브 #1(320a)은 데이터 수신시 슬레이브 #1(320a)에서 소요된 시간이 반영된 시간(즉 T1_1이고, 이는 T1_0+(Ts_1-T2_1)로 산출됨)을 데이터에 기록하고, 해당 데이터를 후속하는 슬레이브 #2(320b)로 전송한다. 여기서, Ts_1은 슬레이브 #1(320a)에서 해당 데이터를 슬레이브 #2(320b)로 전송한 시간을 나타낸다.
전술한 과정을 통해 데이터 전송 경로에서 가장 후단에 위치하는 슬레이브 #3(320c)까지 해당 데이터가 전송되면, 해당 데이터는 데이터 전송 경로의 역경로인 데이터 회신 경로(도 3 및 도 4의 점선 경로 참조)를 따라 다시 마스터(310)로 전송된다.
데이터 회신 경로 상에서 각 슬레이브(320)는 데이터 회신 경로상에서 직전단에 배치된 슬레이브(320)로부터 데이터가 수신된 수신 시간(예를 들어 T4_2, T4_1, T4_m 등)과, 수신한 데이터를 데이터 회신 경로상에서 직후단에 배치된 슬레이브(320) 또는 마스터(310)로 전송한 시간(예를 들어, T3_2, T3_1 등)을 저장한다. 이때, 각 슬레이브(320)나 마스터(310)는 스스로의 시계를 가지고 있으며, 자신의 시계 기준으로 마스터(310)가 전송한 데이터를 회신할 때 회신 데이터에 대한 수신 시간 및 전송 시간을 저장한다.
이후, 각 마스터(310) 또는 슬레이브(320)는 데이터 전송 경로상에서 직후단에 배치된 슬레이브(320)로 회신 데이터의 수신 시간(예를 들어 T4_2, T4_1, T4_m 등)을 전송한다.
그리고, 각 슬레이브(320)는 스스로 저장한 회신 데이터 수신 시간 및 전송 시간에 관한 정보와 데이터 전송 경로상에서 직전단에 배치된 마스터(310) 또는 슬레이브(320)로부터 수신된 회신 데이터 수신 시간에 관한 정보를 참조하여 하기 수학식 3에 따른 지연 시간(Td)을 산출한다.
Figure 112012060206719-pat00003
여기서, n은 임의의 자연수로서, 데이터 전송 경로상에서의 슬레이브 배치 순서를 의미한다. 예를 들어, 슬레이브 #2(320b)에 대한 지연 시간(Td)는 Td_(2)=((T1_(1)-T4_(1))-(T2_(2)-T3_(2)))/2로서 산출될 수 있다.
이후 마스터(310)는 도 5에 도시된 바와 같이, 미리 지정된 주기(예를 들어, T1_m[n]- T1_m[n-1])마다 데이터 전송 경로상에서 직후단에 배치된 슬레이브 #1(320a)로 마스터의 시스템 타임(T1_0)이 기록된 데이터(즉, 동기 프레임)를 전송하여, 각 슬레이브(320)들이 이를 이용하여 클럭 동기화하도록 한다.
도 6a는 동기화를 하지 않은 경우 마스터와 슬레이브간의 시간차 및 주파수 차이를 나타낸 도면이고, 도 6b는 동기화를 진행한 경우 마스터와 슬레이브간의 시간차 및 주파수 차이를 나타낸 도면이다.
마스터와 슬레이브간에 시간차 및 주파수 차이를 동기화하지 않는 경우에는 도 6a에 도시된 바와 같이, 마스터(310)의 시스템 타임이 포함된 데이터의 전송 시점마다 슬레이브(320)와의 시간차 및 주파수 차이는 보다 커지는 경향을 가진다.
마스터(310)와 슬레이브(320)간에 주파수 차이는 예를 들어 시간의 기준이 되는 발진기의 정밀도 및 온도 등의 원인에 의해 발생될 수 있고, 시간 차이는 누적된 주파수 차이 및 시계의 동작 개시 기준 등의 원인에 의해 발생될 수 있다. 시계의 동작 개시 기준에 따른 시간 차이는 예를 들어 동기화되지 않은 노드가 네트워크에 연결되었을 경우 발생될 수 있으며, 이 때 비교적 큰 오차가 발생될 수 있다.
이러한 오차는 제어 장치용 네트워크의 경우 PWM 발생 등 장치 동작에 오류 발생이 가능하므로 보정의 필요가 있으며, 이러한 오차를 막기 위해 앞서 도 1을 참조하여 설명한 바와 같이 PI 컨트롤러와 같은 제어기가 사용되고 있었다.
참고로, 도 6a에서 T1_m[n]은 n번째 시점에서 송신한 마스터(310)의 시스템 타임을 의미하며, T1_m[n]을 수신하는 시간은 슬레이브(320)마다 상이할 수 있다. 이는, 앞서 설명한 바와 같이, 마스터(310)로부터 전송된 데이터를 각 슬레이브(320)가 수신할 때마다 슬레이브(320)에서 소요된 시간을 차감한 후 데이터 전송 경로상에서 직후단에 배치된 슬레이브(320)로 해당 데이터를 전송하기 때문이다.
마스터(310)와 슬레이브(320)간의 시간차(T_o_nc[n])는 하기 수학식 4에 의해 산출될 수 있고, 마스터(310)와 슬레이브(320)간의 주파수 차이(R[n])는 하기 수학식 5에 의해 산출될 수 있다.
Figure 112012060206719-pat00004
여기서, T_ps는 슬레이브(320)의 클럭 주기를 나타내고, C_s[n]은 n시점에서의 클럭 계수값을 나타낸다.
Figure 112012060206719-pat00005
이와 같이, 시간차 및 주파수 차이가 존재하는 각 디바이스들을 동기화하여 표시하면 도 6b와 같다.
각 디바이스들의 동기화를 위해, 앞서 수학식 3과 4에 의해 산출된 마스터(310)와 슬레이브(320)간의 주파수 차이(R[n])와 전처리 과정을 통해 산출된 지연 시간(Td), 마스터(310)의 시스템 타임이 전송된 n번째 시점에서의 슬레이브(320)의 로컬 시스템 타임을 이용하여 마스터와 슬레이브간 시간차(Offset) 및 보정된 슬레이브의 클럭 주기(Period)를 하기 수학식 6 및 7과 같이 산출할 수 있다. 여기서, 오프셋은 마스터(310)와 슬레이브(320)에 각각 내장된 시계들간의 시간 차이를 의미할 수 있고, 클럭 주기(period)는 마스터(310)의 시계의 움직임 속도에 따라 보정된 슬레이브(320)의 시계 움직임 속도일 수 있다.
Figure 112012060206719-pat00006
여기서, T_o[n]은 마스터(310)의 시스템 타임이 전송된 n번째 시점에서의 마스터(310)와 슬레이브(320)간의 시간차를 나타내며, T1_m[n]은 n번째 시점에서 송신한 마스터(310)의 시스템 타임을 나타내고, Ts[n]은 n번째 시점에서의 슬레이브(320)의 로컬 시스템 타임을 의미하며, Td는 앞서 설명한 수학식 3에 의해 산출된 지연 시간을 의미한다.
Figure 112012060206719-pat00007
여기서, T_p[n]은 보정된 슬레이브의 클럭 주기(Period)를 나타내며, R[n]은 앞서 수학식 5에 의해 산출된 마스터(310)와 슬레이브(320)간의 주파수 차이를 나타내고, T_ps는 슬레이브(320)의 클럭 주기를 나타내며, C_s[n]은 n시점에서의 클럭 계수값을 나타낸다.
앞서 설명한 바와 같이, 마스터(310)와 슬레이브(320)간에 시간 차이의 원인이 시계의 동작 개시 기준일 수 있으며, 이러한 시간 차이의 발생 원인을 제거하기 위해 종래에는 PI 컨트롤러와 같은 제어기가 사용되고 있었다.
그러나, 본 실시예에 따른 이더넷 통신 시스템에서는 선형 시간 차이 보상 방식으로 시간 차이의 보상 기법을 새롭게 제안하고자 한다.
도 7a 및 도 7b에는 본 발명의 일 실시예에 따른 마스터와 슬레이브간의 시간차 및 주파수 차이에 대한 선형 보간 방법이 도시되어 있다.
도 7a에는 앞서 설명한 과정을 통해 산출한 마스터(310)와 슬레이브(320)의 시간차(offset)와 보정된 슬레이브의 클럭 주기(Period, 즉 주파수 차이)를 반영하는 경우의 차이가 도시되어 있다.
참고로, 도시된 제1 보정은 마스터(310)와 슬레이브(320)의 시간차(offset)와 보정된 슬레이브(320)의 클럭 주기(Period)를 이용하여 보상하되 순간적으로 마스터(310)와 슬레이브(320)의 시간차(offset)를 보상한 경우의 특성 그래프이다. 이에 비해 제2 보정은 보정된 슬레이브(320)의 클럭 주기(Period)를 이용하여 보상하는 경우의 특성 그래프이다. 그러나 제3 보정은 마스터(310)와 슬레이브(320)의 시간차(offset)와 보정된 슬레이브(320)의 클럭 주기(Period)를 보상하되 마스터(310)가 시스템 타임을 전송하는 주기 내에 마스터(310)와 슬레이브(320)의 시간차(offset)를 보상한 경우의 특성 그래프이다.
도시된 제1 보정 내지 제3 보정 중에서 마스터(310)가 동기화 프레임의 송신 주기를 활용하여 이 시간 동안 선형적으로 보정하는 제3 보정의 방식이 가장 적절한 것으로 이해될 수 있다.
전술한 선형적인 오차 보정을 위한 적용 과정이 도 7b에 도시되어 있다.
도 7b에 도시된 바와 같이, 선형적인 오차 보정을 위한 제1 프로세스로서 마스터(310)가 동기화 프레임의 송신 주기(즉, T1_m[n]-T1_m[n-1])를 활용하여 이 시간동안 선형적으로 슬레이브(320)의 로컬 시스템 타임을 보정(즉, 마스터(310)의 시간과 슬레이브(320)의 시간 일치화)한다.
이때, 도 8을 참조하여 설명될 시간 동기화부는 n번째 시점에서의 오프셋 보상값(dT_o[n])과 슬레이브(320)의 클럭 소스에 의해 증가될 시간값의 후보값(dT_c[n])을 하기 수학식 8 및 9를 이용하여 산출한다.
하기 수학식 9에 의해 산출된 후보값은 이후 설명될 제2 프로세스 수행 과정에서 지정된 조건 범위 중 어디에 속하는지에 따라 슬레이브(320)의 클럭 소스에 의해 증가될 시간값(dT[n])으로 결정되거나, 미리 지정된 값인 최대변화범위 파라미터(T_tm)과 합산 또는 감산되어 슬레이브(320)의 클럭 소스에 의해 증가될 시간값(dT[n])을 결정하기 위한 값으로 이용될 수 있다.
Figure 112012060206719-pat00008
여기서, T_ps는 슬레이브(320)의 클럭 주기를 나타내고, T_o[n]은 마스터(310)의 시스템 타임이 전송된 n번째 시점에서의 마스터(310)와 슬레이브(320)간의 시간차(수학식 6 참조)를 나타내며, T1_m[n]과 T1_m[n-1]은 n번째 시점 또는 n-1번째 시점에서 송신한 마스터(310)의 시스템 타임을 각각 나타낸다.
Figure 112012060206719-pat00009
여기서, T_p[n]은 보정된 슬레이브의 클럭 주기(Period)를 나타낸다(수학식 7 참조).
이어서, 시간 동기화부는 제2 프로세스로서 각 디바이스들에 연결된 주변장치에 영향을 주지 않는 최대값을 미리 지정된 기준 이상으로는 변하지 못하게 하기 위해 수학식 9에 의해 산출된 후보값이 속하는 조건 범위(하기 수학식 10 참조)에 따라 슬레이브(320)의 클럭 소스에 의해 증가될 시간값(dT[n])을 결정한다.
이는, 임의의 디바이스가 모터 등을 제어한다고 가정하면 PWM(Pulse Width Modulation) 등의 주변장치를 가지게 되며, 순간적으로 PWM 주기(예를 들어 약 10KHz 주변) 수준의 시간 변화가 발생되면 순간적인 오동작이 발생될 가능성이 있기 때문이다.
Figure 112012060206719-pat00010
수학식 10 및 도 7b에서 설명되는 바와 같이, 제1 조건을 만족하는 경우 선형적인 오차 보정을 위한 기울기는 (dT[n-1]+T_tm)/T_ps의 상수값을 가지게 되고, 제2 조건을 만족하는 경우 선형적인 오차 보정을 위한 기울기는 (dT[n-1]-T_tm)/T_ps의 상수값을 가지게 되며, 제3 조건을 만족하는 경우 선형적인 오차 보정을 위한 기울기는 dT_c[n]/T_ps의 상수값을 가지게 된다. 또한 선형적 오차 보정을 수행함에 있어 미리 지정된 최대 변화 범위 파라미터(T_tm) 이내에서 제어됨을 알 수 있다.
도 8은 본 발명의 일 실시예에 따른 슬레이브(320)에 구비되는 시간 동기화부의 구성을 나타낸 도면이다.
도 8을 참조하면, 시간 동기화부는 마스터(310)와 슬레이브(320)의 시간차(offset)와 보정된 슬레이브의 클럭 주기(Period)를 생성하는 생성기(810), 슬레이브(320)의 클럭 소스에 의해 증가될 시간값(dT[n])을 산출하는 제어기(820) 및 슬레이브(320)의 클럭 주기마다 제어기(820)에 의해 산출된 시간값을 덧셈 연산하여 슬레이브(320)의 로컬 시스템 타임을 갱신하는 덧셈기(830)를 포함할 수 있다.
생성기(810)와 제어기(820)는 마스터(310)의 동기 프레임 전송 주기(예를 들어 수 ms)에 따라 동작하지만, 덧셈기(830)는 슬레이브(320)의 로컬 클럭 주기(예를 들어 수 ns)에 따라 동작하도록 설정된다. 편의상 덧셈기(830)의 처리 동작은 실시간 처리로 이해될 수 있고, 생성기(810)와 제어기(820)의 처리는 비실시간 처리로 이해될 수 있다.
덧셈기(830)의 연산 결과값(도시된 Slave Time)은 슬레이브(320)의 기준값이 되며, 예를 들어 슬레이브 기준값을 이용하여 마스터(310)는 특정 시간에 임의의 슬레이브(320)가 지정된 동작을 수행하도록 처리할 수 있을 것이다.
이와 같이, 슬레이브(320)는 마스터(310)로부터 동기 프레임이 주기적으로 수신되면, 앞서 설명한 방법에 따라 마스터 시간에 슬레이브 시간을 맞추는 동작을 수행한다. 이때, 슬레이브(320)의 보상된 클럭 주기(period)에 한계값을 두어 마스터의 동기 프레임이 수신되는 주기 이내에 오프셋의 반영이 이루어지지 않을 수도 있다. 그러나, 이는 시스템에서 시간이 급격하게 변하지 않도록 하여 시스템 오동작을 방지하기 위함이다.
상술한 이더넷 통신 시스템에서의 시간 동기화 방법은 디지털 처리 장치에 내장되거나 설치된 프로그램 등에 의해 시계열적 순서에 따른 자동화된 절차로 수행될 수도 있음은 당연하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 디지털 처리 장치가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 디지털 처리 장치에 의하여 읽혀지고 실행됨으로써 상기 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체 및 캐리어 웨이브 매체를 포함한다.
상기에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
310 : 마스터 320 : 슬레이브
810 : 생성기 820 : 제어기
830 : 덧셈기

Claims (10)

  1. 이더넷 통신 시스템에 있어서,
    마스터; 및
    지정된 주기마다 상기 마스터로부터 동기 프레임을 수신하는 슬레이브를 포함하되,
    상기 슬레이브는 상기 마스터와 상기 슬레이브의 시간차(offset) 및 보정된 슬레이브의 클럭 주기(Period)를 이용하여 상기 동기 프레임이 수신되는 주기 동안 상기 슬레이브의 로컬 시스템 타임을 상기 마스터의 시스템 타임과 미리 지정된 오차 범위 내에서 일치되도록 선형적 보상을 수행하는 시간 동기화부를 포함하되,
    상기 시간 동기화부는,
    상기 마스터와 상기 슬레이브의 시간차(offset)과 보정된 슬레이브의 클럭 주기(period)를 산출하는 생성기;
    상기 슬레이브의 클럭 소스에 의해 증가될 시간값(dT[n])을 산출하는 제어기; 및
    상기 슬레이브의 클럭 주기마다 상기 제어기에 의해 산출된 시간값(dT[n])을 덧셈 연산하여 상기 슬레이브의 로컬 시스템 타임을 갱신하는 덧셈기를 포함하는, 이더넷 통신 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 생성기 및 상기 제어기는 상기 동기 프레임이 수신되는 주기에 부합하도록 구동되는 이더넷 통신 시스템.
  4. 제1항에 있어서,
    상기 선형적 보상은 하기 제1 내지 제3 조건 중 상기 슬레이브의 클럭 소스에 의해 증가될 시간값(dT[n])의 후보값(dT_c[n])이 만족하는 조건에 따라 결정된 상수의 기울기값을 가지는 직선에 따른 보상인 이더넷 통신 시스템.
    [제1 조건] If(dT_c[n]>dT[n-1]+T_tm),
    기울기값 = (dT[n-1]+T_tm)/T_ps
    [제2 조건] Else if(dT_c[n]<dT[n-1]-T_tm),
    기울기값 = (dT[n-1]-T_tm)/T_ps
    [제3 조건] Else, 기울기값 = dT_c[n]/T_ps
    여기서, T_tm은 미리 지정된 최대 변화 범위 파라미터이고, T_ps는 상기 슬레이브의 클럭 주기임.
  5. 제4항에 있어서,
    상기 후보값(dT_c[n])은 하기 수학식에 의해 산출되는 이더넷 통신 시스템.
    dT_c[n]=dT_o[n]+T_p[n]
    여기서, 상기 dT_o[n]은 n번째 시점에서의 오프셋 보상값이고, T_p[n]은 보정된 슬레이브의 클럭 주기(Period)임.
  6. 제5항에 있어서,
    상기 오프셋 보상값(dT_o[n])은 하기 수학식에 의해 산출되는 이더넷 통신 시스템.
    dT_o[n]=T_ps*T_o[n]/(T1_m[n]-T1_m[n-1])
    여기서, T_o[n]은 상기 마스터의 시스템 타임이 전송된 n번째 시점에서의 마스터와 슬레이브간의 시간차이고, T1_m[n]과 T1_m[n-1]은 n번째 시점 또는 n-1번째 시점에서 송신한 상기 마스터의 시스템 타임임.
  7. 제5항에 있어서,
    상기 보정된 슬레이브의 클럭 주기(T_p[n])은 하기 수학식에 의해 산출되는 이더넷 통신 시스템.
    T_p[n]=T_ps*R[n]=(T1_m[n]-T1_m[n-1])/(C_s[n]-C_s[n-1])
    여기서, R[n]은 상기 마스터와 슬레이브간의 주파수 차이이고, C_s[n]은 n시점에서의 클럭 계수값임.
  8. 이더넷 통신 시스템에서 수행되는 시간 동기화 방법에 있어서,
    마스터와 슬레이브 간에 지정된 주기마다 동기 프레임을 송수신하는 단계; 및
    상기 슬레이브는 상기 마스터와 상기 슬레이브의 시간차(offset) 및 보정된 슬레이브의 클럭 주기(Period)를 이용하여 상기 동기 프레임이 수신되는 주기 동안 상기 슬레이브의 로컬 시스템 타임을 상기 마스터의 시스템 타임과 미리 지정된 오차 범위 내에서 일치되도록 선형적 보상을 수행하는 단계를 포함하되,
    상기 선형적 보상은 하기 제1 내지 제3 조건 중 상기 슬레이브의 클럭 소스에 의해 증가될 시간값(dT[n])의 후보값(dT_c[n])이 만족하는 조건에 따라 결정된 상수의 기울기값을 가지는 직선에 따른 보상인 시간 동기화 방법.
    [제1 조건] If(dT_c[n]>dT[n-1]+T_tm),
    기울기값 = (dT[n-1]+T_tm)/T_ps
    [제2 조건] Else if(dT_c[n]<dT[n-1]-T_tm),
    기울기값 = (dT[n-1]-T_tm)/T_ps
    [제3 조건] Else, 기울기값 = dT_c[n]/T_ps
    여기서, T_tm은 미리 지정된 최대 변화 범위 파라미터이고, T_ps는 상기 슬레이브의 클럭 주기임.
  9. 삭제
  10. 제8항에 있어서,
    상기 후보값(dT_c[n])은 하기 수학식에 의해 산출되는 시간 동기화 방법.
    dT_c[n]=dT_o[n]+T_p[n]
    여기서, 상기 dT_o[n]은 n번째 시점에서의 오프셋 보상값이고, T_p[n]은 보정된 슬레이브의 클럭 주기(Period)임.
KR1020120082268A 2012-07-27 2012-07-27 이더넷 통신 시스템 및 시간 동기화 방법 KR101379248B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120082268A KR101379248B1 (ko) 2012-07-27 2012-07-27 이더넷 통신 시스템 및 시간 동기화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120082268A KR101379248B1 (ko) 2012-07-27 2012-07-27 이더넷 통신 시스템 및 시간 동기화 방법

Publications (2)

Publication Number Publication Date
KR20140014918A KR20140014918A (ko) 2014-02-06
KR101379248B1 true KR101379248B1 (ko) 2014-03-28

Family

ID=50264725

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120082268A KR101379248B1 (ko) 2012-07-27 2012-07-27 이더넷 통신 시스템 및 시간 동기화 방법

Country Status (1)

Country Link
KR (1) KR101379248B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101634869B1 (ko) * 2014-10-13 2016-06-29 금오공과대학교 산학협력단 산업용 무선 통신망의 자기 동기화 시스템 및 방법
KR20190013077A (ko) * 2017-07-31 2019-02-11 한국전기연구원 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템 및 그 동기화 오차 보상방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328691A (ja) * 1995-05-29 1996-12-13 Mitsubishi Electric Corp 遠方監視制御装置における時刻同期装置
US6430241B1 (en) * 1999-08-18 2002-08-06 Siemens Aktiengesellschaft Method and configuration for synchronizing system units

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328691A (ja) * 1995-05-29 1996-12-13 Mitsubishi Electric Corp 遠方監視制御装置における時刻同期装置
US6430241B1 (en) * 1999-08-18 2002-08-06 Siemens Aktiengesellschaft Method and configuration for synchronizing system units

Also Published As

Publication number Publication date
KR20140014918A (ko) 2014-02-06

Similar Documents

Publication Publication Date Title
US7366205B2 (en) Method for synchronizing nodes of a communications system
US10284692B2 (en) Control device and communication device
US7379480B2 (en) Fast frequency adjustment method for synchronizing network clocks
US7848360B2 (en) Method for transmitting synchronization messages in a communication network
EP3289706B1 (en) Method, system and device for clock synchronization over time-varying and lossy networks
US7616560B2 (en) Bus system consisting of at least two data buses
JP2004186877A (ja) 無線アクセスネットワークシステム、無線通信方法、同期サーバ及びノード装置
US10594424B2 (en) Time synchronization slave apparatus capable of adjusting time synchronization period, and method of determining time synchronization period
Ferrari et al. Performance analysis of PROFINET networks
EP3361635B1 (en) Control system and pulse output device
EP2424136B1 (en) System and method for time synchronization in a communication network
US7362834B2 (en) Method and device for synchronizing at least one node of a bus system and a corresponding bus system
WO2019107022A1 (ja) 制御装置および制御方法
Cena et al. Synchronize your watches: Part I: General-purpose solutions for distributed real-time control
US7761634B2 (en) Method, device and system for exchanging data via a bus system
KR101379248B1 (ko) 이더넷 통신 시스템 및 시간 동기화 방법
US20220128977A1 (en) Industrial Device Supporting Multiple Time Synchronization Protocols
JP6400553B2 (ja) ユニット間での同期制御機能を有する数値制御システム
KR20170135384A (ko) 이더캣 기반의 분산 시계 동기화를 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체
KR102064575B1 (ko) 디바이스 간의 시각 동기 정밀도를 향상시키는 방법, 장치, 시스템 및 컴퓨터 프로그램
JP4493581B2 (ja) 中継ノードおよび伝送システム
KR101977014B1 (ko) 그랜드 마스터 클럭간 경쟁을 통해 정밀성을 개선한 클럭 동기 시스템
CN114375552B (zh) 在基于以太网的网络中进行时间同步的方法
JP2020030672A (ja) 制御システム、制御方法及び制御装置
US11770235B2 (en) Time synchronization of controller

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