KR20230091351A - 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치 - Google Patents

복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치 Download PDF

Info

Publication number
KR20230091351A
KR20230091351A KR1020210180389A KR20210180389A KR20230091351A KR 20230091351 A KR20230091351 A KR 20230091351A KR 1020210180389 A KR1020210180389 A KR 1020210180389A KR 20210180389 A KR20210180389 A KR 20210180389A KR 20230091351 A KR20230091351 A KR 20230091351A
Authority
KR
South Korea
Prior art keywords
time
slave node
time domain
layer
ptp
Prior art date
Application number
KR1020210180389A
Other languages
English (en)
Other versions
KR102585141B1 (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 KR1020210180389A priority Critical patent/KR102585141B1/ko
Priority to US18/078,541 priority patent/US20230198651A1/en
Priority to CN202211595010.5A priority patent/CN116266773A/zh
Priority to DE102022213697.7A priority patent/DE102022213697A1/de
Publication of KR20230091351A publication Critical patent/KR20230091351A/ko
Priority to KR1020230117343A priority patent/KR20230134456A/ko
Application granted granted Critical
Publication of KR102585141B1 publication Critical patent/KR102585141B1/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
    • H04L7/0033Correction by delay
    • H04L7/0037Delay of clock signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0664Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0682Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • 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
    • H04L7/0033Correction by delay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0091Transmitter details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • H04J3/0697Synchronisation in a packet node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/0055Synchronisation arrangements determining timing error of reception due to propagation delay

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 마스터 노드와 슬레이브 노드 사이에 복수의 타임 도메인의 시간을 동기화하는 방법은, 상기 슬레이브 노드의 PTP 레이어가, 상기 마스터 노드와 메시지를 주고받을 때 발생하는 전파 지연 값을 계산하고 저장하는 단계, 상기 마스터 노드의 PTP 레이어가, 상기 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간을 상기 슬레이브 노드의 PTP 레이어로 전송하는 단계, 상기 슬레이브 노드의 PTP 레이어가, 상기 슬레이브 노드의 하드웨어 클럭을 상기 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간에 동기화하는 단계, 상기 마스터 노드의 PTP 레이어가, 상기 복수의 타임 도메인 중 제1 타임 도메인의 오프셋(θ1)을 상기 기준 시간에 더하여 계산된 상기 제1 타임 도메인의 시간 값을 상기 슬레이브 노드의 PTP 레이어로 전송하는 단계, 상기 슬레이브 노드의 PTP 레이어가, 상기 제1 타임 도메인의 시간 값과 상기 저장된 전파 지연값을 이용하여, 상기 제1 타임 도메인의 오프셋(θ1)을 계산하는 단계, 및 상기 슬레이브 노드의 PTP 레이어가, 상기 계산된 제1 타임 도메인의 오프셋(θ1)을 상기 슬레이브 노드의 상기 하드웨어 클럭이 가리키는 기준 시간에 적용하여 상기 제1 타임 도메인의 시간을 획득하는 단계를 포함한다.

Description

복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치{METHOD FOR SYNCHRONIZING TIME IN MULTIPLE TIME DOMAINS, AND APPARATUS IMPLEMENTING THE SAME METHOD}
본 발명은 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치에 관한 것으로서, 보다 자세하게는 네트워크를 구성하는 복수의 노드들 간 복수의 타임 도메인의 시간을 동기화하기 위한 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치에 관한 것이다.
NTP(Network Time Protocol)는 패킷 교환 및 가변 대기 시간 데이터 네트워크를 통해 컴퓨터 시스템 간의 클럭 동기화를 위한 네트워킹 프로토콜이다.
PTP(Precision Time Protocol)는 마스터-슬레이브(Master-Slave) 계층 구조를 사용하여 네트워크 장치의 클럭을 동기화하는 프로토콜로, 하드웨어 타임 스탬프(hardware time stamp)를 사용하여 NTP 대비 더 높은 수준의 클럭 정확도를 제공하여 1 microsecond 미만으로 클럭을 동기화할 수 있다.
PTP는 NTP에서 사용하는 것과 유사한 마스터(master) 및 슬레이브(slave) 계층을 사용하는데, 사용 가능한 가장 정확한 클럭을 마스터 클럭(master clock)이라고 하며 슬레이브 장치는 마스터 장치의 신호를 사용하여 자체 클럭을 동기화한다.
기존의 802.1AS-2011(gPTP) 표준에 정의되어 있는 PTP는 다중 타임 도메인의 동기화와 관련한 사양을 포함하고 있지 않다.
종래의 PTP는 네트워크 전체가 한 개의 타임 도메인에 속해 있는 상황에서 네트워크 내의 노드들이 여러 개의 시간대가 필요한 경우, 시간 동기화를 위해 별도의 하드웨어 장치를 추가하여 물리적으로 네트워크를 재구성하는 방법을 사용하였다. 따라서, PTP를 이용하여 다중 타임 도메인의 시간을 동기화하기 위해서는 많은 비용과 리소스가 소모되는 단점이 있다.
따라서, 이미 구축되어 있는 네트워크 내에서, 별도의 하드웨어 추가 없이 소프트웨어의 기능 만으로 다중 타임 도메인의 시간을 동기화할 수 있는 방법이 요구된다.
본 발명이 해결하고자 하는 기술적 과제는, PTP를 이용하여 마스터 노드와 슬레이브 노드 간의 다중 타임 도메인의 시간을 동기화할 수 있는 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 기존의 802.1AS-2100(gPTP) 표준에 포함되어 있지 않은 다중 타임 도메인의 동기화와 관련된 사양이 추가된 새로운 PTP 표준을 제공할 수 있는 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 자율 주행 플랫폼 구현 시, 다중 타임 도메인을 지원하는 차량 네트워크를 안정적이고 유동성 있게 구축할 수 있는 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 마스터 노드와 슬레이브 노드 사이에 복수의 타임 도메인의 시간을 동기화하는 방법은, 상기 슬레이브 노드의 PTP 레이어가, 상기 마스터 노드와 메시지를 주고받을 때 발생하는 전파 지연 값을 계산하고 저장하는 단계, 상기 마스터 노드의 PTP 레이어가, 상기 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간을 상기 슬레이브 노드의 PTP 레이어로 전송하는 단계, 상기 슬레이브 노드의 PTP 레이어가, 상기 슬레이브 노드의 하드웨어 클럭을 상기 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간에 동기화하는 단계, 상기 마스터 노드의 PTP 레이어가, 상기 복수의 타임 도메인 중 제1 타임 도메인의 오프셋(θ1)을 상기 기준 시간에 더하여 계산된 상기 제1 타임 도메인의 시간 값을 상기 슬레이브 노드의 PTP 레이어로 전송하는 단계, 상기 슬레이브 노드의 PTP 레이어가, 상기 제1 타임 도메인의 시간 값과 상기 저장된 전파 지연값을 이용하여, 상기 제1 타임 도메인의 오프셋(θ1)을 계산하는 단계, 및 상기 슬레이브 노드의 PTP 레이어가, 상기 계산된 제1 타임 도메인의 오프셋(θ1)을 상기 슬레이브 노드의 상기 하드웨어 클럭이 가리키는 기준 시간에 적용하여 상기 제1 타임 도메인의 시간을 획득하는 단계를 포함한다.
일 실시예로서, 상기 마스터 노드의 PTP 레이어가, 상기 복수의 타임 도메인 중 제2 타임 도메인의 오프셋(θ2)을 상기 기준 시간에 더하여 계산된 상기 제2 타임 도메인의 시간 값을 상기 슬레이브 노드의 PTP 레이어로 전송하는 단계, 및 상기 슬레이브 노드의 PTP 레이어가, 상기 제2 타임 도메인의 시간 값과 상기 저장된 전파 지연값을 이용하여, 상기 제2 타임 도메인의 오프셋(θ2)을 계산하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 슬레이브 노드의 PTP 레이어가, 상기 마스터 노드와 메시지를 주고받을 때 발생하는 전파 지연 값을 계산하고 저장하는 단계는, 상기 슬레이브 노드의 PTP 레이어에서, 기준 시간 t1에 관한 정보를 포함하는 Pdelay_Req 신호를 상기 마스터 노드로 전송하는 단계, 상기 마스터 노드의 PTP 레이어가 상기 Pdelay_Req 신호를 수신한 기준 시간 T2에 관한 정보와, 상기 슬레이브 노드의 PTP 레이어로 상기 Pdelay_Req 신호에 대응하는 Pdelay_Resp 신호를 전송한 기준 시간 T3에 관한 정보를 획득하는 단계, 상기 슬레이브 노드의 PTP 레이어에서, 상기 마스터 노드로부터 상기 Pdelay_Resp 신호를 수신한 기준 시간 t4에 관한 정보를 획득하는 단계, 및 상기 기준 시간 t1과 t4의 차이 값과, 상기 T2와 T3의 차이 값을 이용하여 상기 전파 지연 값을 계산하는 단계를 포함할 수 있다.
일 실시예로서, 상기 제1 타임 도메인의 시간 값을 상기 슬레이브 노드의 PTP 레이어로 전송하는 단계는, 상기 마스터 노드의 PTP 레이어에서, 상기 제1 타임 도메인의 시간 값을 Sync 패킷 및 Follow_up 패킷을 통해 상기 슬레이브 노드의 PTP 레이어로 전송하는 단계를 포함할 수 있다.
일 실시예로서, 상기 Sync 패킷 및 상기 Follow_up 패킷의 타임 도메인 필드는 상기 제1 타임 도메인에 대응하는 숫자로 설정될 수 있다.
일 실시예로서, 상기 마스터 노드의 PTP 레이어에서, 상기 제1 타임 도메인의 오프셋(θ1)이 변경되는 경우, 상기 변경된 오프셋(θ1)이 적용된 제1 타임 도메인의 시간 값을 상기 Sync 패킷 및 상기 Follow_up 패킷을 통해 상기 슬레이브 노드의 PTP 레이어로 전송하는 단계, 및 상기 슬레이브 노드의 PTP 레이어에서, 상기 전송된 제1 타임 도메인의 시간 값과 상기 저장된 전파 지연 값을 이용하여 상기 변경된 제1 타임 도메인의 오프셋을 계산하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 PTP 레이어는, 상기 각 타임 도메인별 시간 값의 설정 및 획득, 상기 각 타임 도메인별 오프셋의 설정 및 획득을 위한 인터페이스를 상기 PTP 레이어의 상위 레이어에 해당하는 애플리케이션 레이어로 제공할 수 있다.
일 실시예로서, 상기 마스터 노드의 어플리케이션 레이어가 setTime(1, T) 함수를 호출하면, 상기 마스터 노드의 PTP 레이어가 상기 제1 타임 도메인의 시간 값인 T를 상기 슬레이브 노드의 PTP 레이어로 전송하는 단계, 및 상기 슬레이브 노드의 어플리케이션 레이어가 getTime(1) 함수를 호출하면, 상기 슬레이브 노드의 PTP 레이어에서 획득된 상기 제1 타임 도메인의 시간을 반환하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 마스터 노드의 PTP 레이어가 setOffset(1, θ1) 함수를 호출하면, 상기 제1 타임 도메인의 오프셋을 θ1로 설정하는 단계, 및 상기 슬레이브 노드의 PTP 레이어가 getOffset(1) 함수를 호출하면, 상기 제1 타임 도메인의 시간 값과 상기 저장된 전파 지연값을 이용하여 계산된 θ1을 상기 제1 타임 도메인의 오프셋으로서 반환하는 단계를 더 포함할 수 있다.
일 실시예로서, 상기 마스터 노드와 상기 슬레이브 노드는 각각 전자 제어 유닛(ECU) 또는 네트워크 스위치일 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 컴퓨터 판독 가능한 비일시적 기록 매체는, 컴퓨터로 하여금 상기 방법을 수행하도록 하는 컴퓨터 프로그램을 저장할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 마스터 노드와 슬레이브 노드 사이에 복수의 타임 도메인의 시간을 동기화하는 컴퓨팅 장치는, 하나 이상의 프로세서, 외부장치와 통신하는 통신 인터페이스, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리, 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되, 상기 컴퓨터 프로그램은, 상기 슬레이브 노드의 PTP 레이어가, 상기 마스터 노드와 메시지를 주고받을 때 발생하는 전파 지연 값을 계산하고 저장하는 동작, 상기 마스터 노드의 PTP 레이어가, 상기 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간을 상기 슬레이브 노드의 PTP 레이어로 전송하는 동작, 상기 슬레이브 노드의 PTP 레이어가, 상기 슬레이브 노드의 하드웨어 클럭을 상기 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간에 동기화하는 동작, 상기 마스터 노드의 PTP 레이어가, 상기 복수의 타임 도메인 중 제1 타임 도메인의 오프셋(θ1)을 상기 기준 시간에 더하여 계산된 상기 제1 타임 도메인의 시간 값을 상기 슬레이브 노드의 PTP 레이어로 전송하는 동작, 상기 슬레이브 노드의 PTP 레이어가, 상기 제1 타임 도메인의 시간 값과 상기 저장된 전파 지연값을 이용하여, 상기 제1 타임 도메인의 오프셋(θ1)을 계산하는 동작, 및 상기 슬레이브 노드의 PTP 레이어가, 상기 계산된 제1 타임 도메인의 오프셋(θ1)을 상기 슬레이브 노드의 상기 하드웨어 클럭이 가리키는 기준 시간에 적용하여 상기 제1 타임 도메인의 시간을 획득하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함한다.
도 1은 본 발명의 일 실시예에 따른 PTP 기반 다중 타임 도메인 동기화를 위한 시스템 구성도이다.
도 2는 본 발명의 일 실시예에 따른 차량용 네트워크 장치의 구성을 도시한 예이다.
도 3은 본 발명의 일 실시예에 따른 마스터 노드와 슬레이브 노드 간 복수의 타임 도메인의 시간을 동기화하는 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 몇몇 실시예에 따른 마스터 노드와 슬레이브 노드 간 메시지 전송 시 발생되는 전파 지연 값을 계산하는 예이다.
도 5는 본 발명의 몇몇 실시예에 따른 슬레이브 노드의 하드웨어 클럭을 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간에 동기화하는 예이다.
도 6은 본 발명의 몇몇 실시예에 따른 각 타임 시간대의 오프셋을 계산하고, 이를 이용하여 각 타임 도메인의 시간을 획득하는 예이다.
도 7은 본 발명의 다른 실시예에 따른 PTP 기반 오프셋 클럭 레이어를 이용한 다중 타임 도메인 동기화를 위한 시스템 구성도이다.
도 8은 본 발명의 다른 실시예에 따른 차량용 네트워크 장치의 구성을 도시한 예이다.
도 9는 본 발명의 다른 실시예에 따른 마스터 노드와 슬레이브 노드 간 복수의 타임 도메인의 시간을 동기화하는 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 몇몇 실시예에 따른 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 개시의 바람직한 실시 예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 개시를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 개시의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
이하, 본 개시의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
도 1은 본 발명의 실시예에 따른 PTP 기반 다중 타임 도메인 동기화를 위한 시스템 구성도이다. 도 1을 참조하면, 본 발명의 시스템은 PTP 기반 네트워크 장치인 마스터 노드(11)와 슬레이브 노드(12)를 포함한다.
마스터 노드(11)와 슬레이브 노드(12)는 PTP 기반으로 복수의 타임 도메인 각각의 시간을 동기화 하기 위한 PTP 레이어의 구성을 포함한다.
슬레이브 노드(12)의 PTP 레이어(120)는 마스터 노드(11)와의 메시지 송수신 시 발생되는 전파 지연 값(propagation delay)을 계산하고, 이를 이용하여 슬레이브 노드(12)의 하드웨어 클럭을 마스터 노드(11)의 하드웨어 클럭이 가리키는 기준 시간에 동기화한다.
또한, 슬레이브 노드(12)의 PTP 레이어(120)는 마스터 노드(11)의 PTP 레이어(110)로부터 전송되는 각 타임 도메인의 시간 값과 미리 계산된 전파 지연 값을 이용하여 각 타임 도메인의 오프셋을 산출한다. 이 때, 슬레이브 노드(12)는 각 타임 도메인의 오프셋을 슬레이브 노드(12)의 하드웨어 클럭에 적용하여 각 타임 도메인의 시간을 획득할 수 있다.
이에 따라, 상기와 같은 PTP 기반 마스터 노드와 슬레이브 노드의 구성을 이용하여, 복수의 타임 도메인의 시간을 동기화할 수 있다.
도 2는 본 발명의 일 실시예에 따른 차량용 네트워크 장치의 구성을 도시한 예이다. 도 2를 참조하면, 차량용 네트워크 장치는 복수의 전자 제어 유닛(ECU_1, ECU_2, ECU_3, ECU_4)(21, 22, 23, 24)과 복수의 전자 제어 유닛 사이에서 데이터를 송수신하는 네트워크 스위치(Switch)(25)를 포함한다. 복수의 전자 제어 유닛(21, 22, 23, 24)과 네트워크 스위치(25) 각각은 마스터 노드 또는 슬레이브 노드로 설정될 수 있다.
복수의 전자 제어 유닛(21, 22, 23, 24)은 어플리케이션 레이어(210, 220, 230, 240)와 PTP 레이어(211, 221, 231, 241)를 포함하고, 네트워크 스위치(25)는 PTP 레이어(251)를 포함한다. PTP 레이어(211, 221, 231, 241)는 상위 레이어에 해당하는 어플리케이션 레이어(210, 220, 230, 240)로 각 타임 도메인의 시간 값의 설정 및 획득, 오프셋의 설정 및 획득을 위한 함수 호출 기능을 포함하는 인터페이스를 제공할 수 있다.
각각의 PTP 레이어(211, 221, 231, 241, 251)는 마스터 노드와 슬레이브 노드 간 하드웨어 클럭이 가리키는 기준 시간(213, 223, 233, 243)을 동기화하고, 복수의 타임 도메인의 오프셋(212, 222, 232, 242)의 설정 및 획득을 제어하여, 마스터 노드와 슬레이브 노드 간 복수의 타임 도메인의 시간을 동기화할 수 있다.
상기와 같은 본 발명의 차량용 네트워크 장치의 구성에 의하면, 복수의 전자 제어 유닛(ECU)과 네트워크 스위치에서 다중 타임 도메인을 지원하는 차량 네트워크를 안정적이고 유동성 있게 구축할 수 있다.
도 3은 본 발명의 일 실시예에 따른 마스터 노드와 슬레이브 노드 간 복수의 타임 도메인의 시간을 동기화하는 방법을 설명하기 위한 흐름도이다. 도 3에 도시된 각 동작은 도 2의 구성에 의해 수행될 수 있다.
도 3을 참조하면, 먼저 동작 S31에서, 슬레이브 노드의 PTP 레이어가, 상기 마스터 노드와 메시지를 주고받을 때 발생하는 전파 지연 값을 계산하고 저장한다.
예로서, 도 4에 도시된 바와 같이, 마스터 노드(GM_p)가 ECU1이고 슬레이브 노드(S_p)가 Switch인 경우, 슬레이브 노드(S_p)의 PTP 레이어에서 전파 지연 값(d)을 계산하고 이를 저장할 수 있다.
구체적으로, 슬레이브 노드(S_p)의 PTP 레이어가, 하드웨어 클럭이 가리키는 기준 시간 t1에 관한 정보를 포함하는 Pdelay_Req 신호를 마스터 노드(GM_p)로 전송할 수 있다.
이 때, 슬레이브 노드(S_p)의 PTP 레이어는 마스터 노드(GM_p)의 PTP 레이어가 상기 Pdelay_Req 신호를 수신한 기준 시간 T2에 관한 정보와, 슬레이브 노드(S_p)의 PTP 레이어로 상기 Pdelay_Req 신호에 대응하는 Pdelay_Resp 신호를 전송한 기준 시간 T3에 관한 정보를 획득할 수 있다. 또한, 슬레이브 노드(S_p)의 PTP 레이어는 마스터 노드(GM_p)로부터 상기 Pdelay_Resp 신호를 수신한 기준 시간 t4에 관한 정보를 획득할 수 있다.
이에 따라, 슬레이브 노드(S_p)의 PTP 레이어는 기준 시간 t1과 t4의 차이 값과, 상기 T2와 T3의 차이 값을 이용하여 전파 지연 값(d)을 계산하고 이를 저장함에 의해, 이후에 복수의 타임 도메인 각각의 오프셋을 산출하는 데 저장된 전파 지연 값(d)을 이용할 수 있도록 한다.
다음으로, 동작 S32에서, 마스터 노드의 PTP 레이어가, 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간을 슬레이브 노드의 PTP 레이어로 전송하고, 동작 S33에서, 슬레이브 노드의 PTP 레이어가, 슬레이브 노드의 하드웨어 클럭을 전송된 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간에 동기화한다.
예로서, 도 5에 도시된 바와 같이, 마스터 노드(GM_p)가 ECU1이고 슬레이브 노드(S_p)가 Switch인 경우, 마스터 노드(GM_p)의 PTP 레이어가 마스터 노드(GM_p)의 하드웨어 클럭이 가리키는 기준 시간을 슬레이브 노드(S_p)의 PTP 레이어로 전송하고, 슬레이브 노드(S_p)의 PTP 레이어가 슬레이브 노드(S_p)의 하드웨어 클럭을 전송된 마스터 노드(GM_p)의 하드웨어 클럭이 가리키는 기준 시간에 동기화할 수 있다.
구체적으로, 마스터 노드(GM_p)의 PTP 레이어가, 하드웨어 클럭이 가리키는 기준 시간 T1에 슬레이브 노드(S_p)로 Sync 패킷을 전송한 후, 기준 시간 T1에 관한 정보를 포함하는 Follow_up 패킷을 슬레이브 노드(S_p)로 전송할 수 있다.
이 때, 슬레이브 노드(S_p)의 PTP 레이어는 마스터 노드(GM_p)로부터 Sync 패킷을 수신한 기준 시간 t2와, 전송된 Follow_up 패킷에 포함된 마스터 노드(GM_p)의 기준 시간 T1 값, 및 앞서 도 4의 예에서 미리 계산되어 저장되어 있는 전파 지연 값(d)을 이용하여 마스터 노드(GM_p)와 슬레이브 노드(S_p) 간 시간 차이(α)를 계산할 수 있다.
이에 따라, 슬레이브 노드(S_p)의 PTP 레이어는 슬레이브 노드(S_p)의 하드웨어 클럭에 계산된 시간 차이(α)를 적용하는 선보정을 수행함에 의해, 슬레이브 노드(S_p)의 하드웨어 클럭을 마스터 노드(GM_p)의 하드웨어 클럭이 가리키는 기준 시간에 동기화할 수 있다.
다음으로, 동작 S34에서, 마스터 노드의 PTP 레이어가, 복수의 타임 도메인 중 제1 타임 도메인의 오프셋(θ1)을 상기 기준 시간에 더하여 계산된 상기 제1 타임 도메인의 시간 값을 슬레이브 노드의 PTP 레이어로 전송하고, 동작 S35에서, 슬레이브 노드의 PTP 레이어가, 제1 타임 도메인의 시간 값과 상기 저장된 전파 지연값을 이용하여, 제1 타임 도메인의 오프셋(θ1)을 계산한다.
마지막으로, 동작 S35에서, 슬레이브 노드의 PTP 레이어가, 계산된 제1 타임 도메인의 오프셋(θ1)을 상기 슬레이브 노드의 하드웨어 클럭이 가리키는 기준 시간에 적용하여 제1 타임 도메인의 시간을 획득한다.
이 때, 마스터 노드의 PTP 레이어가, 제2 타임 도메인의 오프셋(θ2)을 기준 시간에 더하여 계산된 제2 타임 도메인의 시간 값을 슬레이브 노드의 PTP 레이어로 전송하는 동작과, 슬레이브 노드의 PTP 레이어가, 제2 타임 도메인의 시간 값과 상기 저장된 전파 지연값을 이용하여, 제2 타임 도메인의 오프셋(θ2)을 계산하고, 이를 기준 시간에 적용하여 제2 타임 도메인의 시간을 획득하는 동작이 추가적으로 수행될 수 있다. 마찬가지로, 복수의 타임 도메인 중 제1 타임 도메인과 제2 타임 도메인 외에 나머지 타임 도메인들 각각의 오프셋을 계산하고, 이를 적용하여 각 타임 도메인의 시간을 구하는 동작이 수행될 수 있다.
예로서, 도 6에 도시된 바와 같이, 마스터 노드(GM_p)가 ECU1이고 슬레이브 노드(S_p)가 Switch인 경우, 마스터 노드(GM_p)의 PTP 레이어가 복수의 타임 도메인 각각의 오프셋을 기준 시간에 더하여 계산된 각 타임 도메인의 시간 값을 슬레이브 노드(S_p)의 PTP 레이어로 전송하고, 슬레이브 노드(S_p)의 PTP 레이어가, 각 타임 도메인의 시간 값과 앞서 도 4의 예에서 계산하여 저장된 전파 지연 값(d)를 이용하여, 각 타임 도메인의 오프셋을 산출할 수 있다.
구체적으로, 마스터 노드(GM_p)의 PTP 레이어가, 하드웨어 클럭이 가리키는 기준 시간 t1에 슬레이브 노드(S_p)로 Sync 패킷을 전송한 후, 복수의 타임 도메인 중 제n 타임 도메인의 오프셋(θn)을 기준 시간 t1에 더하여 계산된 제n 타임 도메인의 시간 값(t1+ θn)을 포함하는 Follow_up 패킷을 슬레이브 노드(S_p)로 전송할 수 있다.
이 때, 슬레이브 노드(S_p)의 PTP 레이어는 마스터 노드(GM_p)로부터 Sync 패킷을 수신한 기준 시간 t2와, 전송된 Follow_up 패킷에 포함된 제n 타임 도메인의 시간 값(t1+ θn), 및 앞서 도 4의 예에서 미리 계산되어 저장되어 있는 전파 지연 값(d)을 이용하여 제n 타임 도메인의 오프셋(θn)을 계산할 수 있다.
이에 따라, 슬레이브 노드(S_p)의 PTP 레이어는 복수의 타임 도메인 각각의 오프셋(θn)을 산출하여 이를 하드웨어 클럭이 가리키는 기준 시간에 적용하는 후보정을 수행함에 의해, 슬레이브 노드(S_p)에서의 제n 타임 도메인의 시간 값을 얻을 수 있게 된다.
일 실시예로서, PTP 레이어는, 각 타임 도메인별 시간 값의 설정 및 획득, 각 타임 도메인별 오프셋의 설정 및 획득을 위한 인터페이스를 PTP 레이어의 상위 레이어에 해당하는 애플리케이션 레이어로 제공할 수 있다.
예로서, 마스터 노드의 어플리케이션 레이어가 setTime(1, T) 함수를 호출하면, 마스터 노드의 PTP 레이어가 제1 타임 도메인의 시간 값을 슬레이브 노드의 PTP 레이어로 전송하고, 슬레이브 노드의 어플리케이션 레이어가 getTime(1) 함수를 호출하면, 슬레이브 노드의 PTP 레이어에서 획득된 상기 제1 타임 도메인의 시간을 반환할 수 있다.
또한, 마스터 노드의 PTP 레이어가 setOffset(1, θ1) 함수를 호출하면, 제1 타임 도메인의 오프셋(θ1)을 설정하고, 슬레이브 노드의 PTP 레이어가 getOffset(1) 함수를 호출하면, 제1 타임 도메인의 시간 값과 상기 저장된 전파 지연 값을 이용하여 계산된 상기 제1 타임 도메인의 오프셋(θ1)을 반환할 수 있다.
상기와 같은 본 발명의 실시예에 따른 방법에 의하면, PTP를 이용하여 마스터 노드와 슬레이브 노드 간의 다중 타임 도메인의 시간을 동기화할 수 있다. 또한, 기존의 802.1AS-2100(gPTP) 표준에 포함되어 있지 않은 다중 타임 도메인의 동기화와 관련된 사양이 추가된 새로운 PTP 표준을 제공할 수 있다.
도 7은 본 발명의 다른 실시예에 따른 PTP 기반 오프셋 클럭 레이어를 이용한 다중 타임 도메인 동기화를 위한 시스템 구성도이다. 도 7을 참조하면, 본 발명의 시스템은 PTP 기반 네트워크 장치인 마스터 노드(11)와 슬레이브 노드(12)를 포함한다.
마스터 노드(11)와 슬레이브 노드(12)는 PTP 기반으로 복수의 타임 도메인 각각의 시간을 동기화 하기 위한 PTP 레이어와, PTP 레이어의 상위 레이어에 해당하는 오프셋 클럭 레이어의 구성을 포함한다. 즉, 도 7의 구성은 앞서 설명한 도 1의 구성과 대비하여 오프셋 클럭 레이어의 구성을 더 포함한다,
마스터 노드(11)의 PTP 레이어(110)는 하드웨어 클럭이 가리키는 기준 시간을 슬레이브 노드(12)의 PTP 레이어(120)로 전송하고, 이에 따라 슬레이브 노드(12)의 PTP 레이어(120)는 슬레이브 노드(12)의 하드웨어 클럭을 전송된 마스터 노드(11)의 하드웨어 클럭이 가리키는 기준 시간에 동기화한다.
마스터 노드(11)와 슬레이브 노드(12)는 각 타임 도메인의 오프셋 값을 PTP 레이어들 간의 패킷 통신을 이용하여 계산하지 않고, 오프셋 클럭 레이어들 간 오프셋을 송수신하는 방식으로 오프셋을 획득할 수 있다.
구체적으로, 마스터 노드(11)의 오프셋 클럭 레이어(111)는 각 타임 도메인의 오프셋을 슬레이브 노드(12)의 오프셋 클럭 레이어(121)로 전송한다. 이 때, 슬레이브 노드(12)의 PTP 레이어(120)는 슬레이브 노드(12)의 오프셋 클럭 레이어(121)로 전송된 각 타임 도메인의 오프셋을 슬레이브 노드(12)의 하드웨어 클럭이 가리키는 기준 시간에 적용하여 각 타임 도메인의 시간을 획득할 수 있다.
이에 따라, 상기와 같이 오프셋 클럭 레이어가 추가된 PTP 기반 마스터 노드와 슬레이브 노드의 구성을 이용하여 복수의 타임 도메인의 시간을 동기화할 수 있다.
도 8은 본 발명의 다른 실시예에 따른 차량용 네트워크 장치의 구성을 도시한 예이다. 도 8을 참조하면, 차량용 네트워크 장치는 복수의 전자 제어 유닛(ECU_1, ECU_2, ECU_3, ECU_4)(71, 72, 73, 74)과 복수의 전자 제어 유닛 사이에서 데이터를 송수신하는 네트워크 스위치(Switch)(75)를 포함한다. 복수의 전자 제어 유닛(71, 72, 73, 74)과 네트워크 스위치(75) 각각은 마스터 노드 또는 슬레이브 노드로 설정될 수 있다.
복수의 전자 제어 유닛(71, 72, 73, 74)은 어플리케이션 레이어(710, 720, 730, 740)와 오프셋 클럭 레이어(711, 721, 731, 741), 및 PTP 레이어(712, 722, 732, 742)를 포함하고, 네트워크 스위치(75)는 PTP 레이어(752)를 포함한다. 오프셋 클럭 레이어(711, 721, 731, 741)는 상위 레이어에 해당하는 어플리케이션 레이어(710, 720, 730, 740)로 각 타임 도메인의 시간 값의 설정 및 획득, 오프셋의 설정 및 획득, 각 타임 도메인의 클럭 모드 설정 및 획득을 위한 함수 호출 기능을 포함하는 인터페이스를 제공할 수 있다.
각각의 PTP 레이어(712, 722, 732, 742, 752)는 마스터 노드와 슬레이브 노드 간 하드웨어 클럭이 가리키는 기준 시간(t)를 동기화할 수 있다.
각각의 오프셋 클럭 레이어(711, 721, 731, 741)는 마스터 노드와 슬레이브 노드 간 복수의 타임 도메인의 오프셋(θ1, θ2, ??, θn)의 설정 및 획득을 제어하여, 마스터 노드와 슬레이브 노드에 대한 각 타임 도메인의 클럭 모드 설정 및 획득을 제어할 수 있다. 이 때, 오프셋 클럭 레이어(711, 721, 731, 741)는 각 타임 도메인의 클럭 모드를 마스터 모드 또는 슬레이브 모드로 설정할 수 있다. 여기서, 각 타임 도메인의 클럭 모드의 설정은 PTP 레이어(712, 722, 732, 742)의 마스터/슬레이브 여부와 관계 없이 독립적으로 설정될 수 있다.
예로서, 마스터 노드에 해당하는 제1 전자 제어 유닛(ECU_1)에서 PTP 레이어(712)는 이더넷 포트(GM_P)를 마스터로 설정할 수 있다. 이 때, 오프셋 클럭 레이어(711)의 제1 타임 도메인의 클럭 모드는 이더넷 포트(GM_P)와 동일하게 마스터 모드로 설정되지만, 제n 타임 도메인의 클럭 모드는 이더넷 포트(GM_P)와 다르게 슬레이브 모드로 설정될 수 있다.
한편, 슬레이브 노드에 해당하는 제4 전자 제어 유닛(ECU_4)에서 PTP 레이어(742)는 이더넷 포트(S_P)를 슬레이브로 설정할 수 있다. 이 때, 오프셋 클럭 레이어(741)의 제1 타임 도메인의 클럭 모드는 이더넷 포트(S_P)와 동일하게 슬레이브 모드로 설정되지만, 제n 타임 도메인의 클럭 모드는 이더넷 포트(S_P)와 다르게 마스터 모드로 설정될 수 있다.
즉, PTP 레이어와 오프셋 클럭 레이어를 이용하여 복수의 타임 도메인의 시간을 동기화함에 있어, PTP 레이어의 마스터/슬레이브 역할과, 오프셋 클럭 레이어에서의 각 타임 도메인의 마스터/슬레이브 역할은 독립적으로 수행될 수 있다.
도 9는 본 발명의 다른 실시예에 따른 마스터 노드와 슬레이브 노드 간 복수의 타임 도메인의 시간을 동기화하는 방법을 설명하기 위한 흐름도이다. 도 9에 도시된 각 동작은 도 8의 구성에 의해 수행될 수 있다.
도 9을 참조하면, 먼저 동작 S81에서, 마스터 노드의 PTP 레이어가, 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간을 슬레이브 노드의 PTP 레이어로 전송하고, 동작 S82에서, 슬레이브 노드의 PTP 레이어가, 슬레이브 노드의 하드웨어 클럭을 상기 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간에 동기화한다.
다음으로, 동작 S82에서, 마스터 노드의 오프셋 클럭 레이어가, 상기 복수의 타임 도메인 중 제1 타임 도메인의 오프셋(θ1)을 슬레이브 노드의 오프셋 클럭 레이어로 전송한다.
마지막으로, 동작 S83에서, 슬레이브 노드의 PTP 레이어가, 슬레이브 노드의 오프셋 클럭 레이어로 전송된 제1 타임 도메인의 오프셋(θ1)을 상기 슬레이브 노드의 상기 하드웨어 클럭이 가리키는 기준 시간에 적용하여 제1 타임 도메인의 시간을 획득한다.
이 때, 마스터 노드의 오프셋 클럭 레이어가, 제2 타임 도메인의 오프셋(θ2)을 슬레이브 노드의 오프셋 클럭 레이어로 전송하는 동작과, 슬레이브 노드의 PTP 레이어가, 전송된 제2 타임 도메인의 오프셋(θ2)을 상기 슬레이브 노드의 상기 하드웨어 클럭이 가리키는 기준 시간에 적용하여 제2 타임 도메인의 시간을 획득하는 동작이 추가적으로 수행될 수 있다. 마찬가지로, 복수의 타임 도메인 중 제1 타임 도메인과 제2 타임 도메인 외에 나머지 타임 도메인들 각각의 오프셋을 적용하여 각 타임 도메인의 시간을 구하는 동작이 수행될 수 있다.
일 실시예로서, 오프셋 클럭 레이어의 각 타임 도메인별 클럭 모드를 마스터 모드 또는 슬레이브 모드로 설정하는 동작이 수행될 수 있다. 이 때, 마스터 노드의 오프셋 클럭 레이어에서 제1 타임 도메인의 클럭 모드가 마스터 모드로 설정되는 경우, 슬레이브 노드의 오프셋 클럭 레이어에서 제1 타임 도메인의 클럭 모드는 슬레이브 모드로 설정될 수 있다. 또한, 슬레이브 노드의 오프셋 클럭 레이어에서 제n 타임 도메인의 클럭 모드가 마스터 모드로 설정되는 경우, 마스터 노드의 오프셋 클럭 레이어에서 제n 타임 도메인의 클럭 모드는 슬레이브 모드로 설정될 수 있다.
즉, PTP 레이어와 오프셋 클럭 레이어의 마스터/슬레이브 관계는 일치할 필요가 없고, 서로 독립적으로 설정될 수 있다.
일 실시예로서, 오프셋 클럭 레이어는, 각 타임 도메인별 시간 값의 설정 및 획득, 각 타임 도메인별 오프셋의 설정 및 획득, 각 타임 도메인별 클럭 모드의 설정 및 획득을 위한 인터페이스를 오프셋 클럭 레이어의 상위 레이어에 해당하는 상기 어플리케이션 레이어로 제공할 수 있다.
예로서, 마스터 노드의 어플리케이션 레이어가 setTime(1, T) 함수를 호출하면, 마스터 노드의 PTP 레이어가 제1 타임 도메인의 시간 값을 상기 슬레이브 노드의 PTP 레이어로 전송할 수 있다. 이 때, 슬레이브 노드의 어플리케이션 레이어가 getTime(1) 함수를 호출하면, 슬레이브 노드의 PTP 레이어에서 획득된 제1 타임 도메인의 시간을 반환할 수 있다.
또한, 마스터 노드의 오프셋 클럭 레이어가 setOffset(1, θ1) 함수를 호출하면, 제1 타임 도메인의 오프셋(θ1)을 상기 슬레이브 노드의 오프셋 클럭 레이어로 전송하고, 슬레이브 노드의 오프셋 클럭 레이어가 getOffset(1) 함수를 호출하면, 전송된 제1 타임 도메인의 오프셋(θ1)을 반환할 수 있다.
또한, 마스터 노드의 오프셋 클럭 레이어가 setMode(1) 함수를 호출하면, 제1 타임 도메인의 클럭 모드를 마스터 모드로 설정하고, 슬레이브 노드의 제1 타임 도메인의 클럭 모드를 슬레이브 모드로 설정할 수 있다. 이 때, 오프셋 클럭 레이어가 getMode(1) 함수를 호출하면, 설정된 제1 타임 도메인의 클럭 모드를 반환할 수 있다.
한편, 각 타임 도메인별 시간 값의 설정과 각 타임 도메인별 오프셋의 설정을 위한 함수 호출은, 오프셋 클럭 레이어의 각 타임 도메인별 클럭 모드가 마스터 모드인 경우에 한하여 실행될 수 있다.
도 10은 본 발명의 몇몇 실시예에 따른 방법들을 구현할 수 있는 예시적인 컴퓨팅 장치의 하드웨어 구성도이다. 도 10에 도시된 바와 같이, 컴퓨팅 장치(100)는 하나 이상의 프로세서(101), 버스(107), 네트워크 인터페이스(102), 프로세서(101)에 의하여 수행되는 컴퓨터 프로그램(105)을 로드(load)하는 메모리(103)와, 컴퓨터 프로그램(105)를 저장하는 스토리지(104)를 포함할 수 있다. 다만, 도 10에는 본 발명의 실시예와 관련 있는 구성요소들 만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 10에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
컴퓨팅 장치(100)는 예컨대 자동차에 장착되는 전자 장치들의 일부로서 구현될 수 있다.
프로세서(101)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(101)는 예컨대 자동차에 장착되는 ECU(Electronic Control Unit)일 수 있다.
또한, 프로세서(101)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수도 있다. 또한, 프로세서(101)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(103)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(103)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(104)로부터 하나 이상의 프로그램(105)을 로드(load) 할 수 있다. 예를 들어, 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 로직(또는 모듈)이 메모리(103) 상에 구현될 수 있다. 메모리(103)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.
버스(107)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(107)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
네트워크 인터페이스(102)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 네트워크 인터페이스(102)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 네트워크 인터페이스(102)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(104)는 하나 이상의 컴퓨터 프로그램(105)을 비임시적으로 저장할 수 있다. 스토리지(104)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(105)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 컴퓨터 프로그램(105)이 메모리(103)에 로드 되면, 프로세서(101)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
일 실시예로서, 컴퓨터 프로그램(105)은, 슬레이브 노드의 PTP 레이어가, 마스터 노드와 메시지를 주고받을 때 발생하는 전파 지연 값을 계산하고 저장하는 동작, 상기 마스터 노드의 PTP 레이어가, 상기 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간을 상기 슬레이브 노드의 PTP 레이어로 전송하는 동작, 상기 슬레이브 노드의 PTP 레이어가, 상기 슬레이브 노드의 하드웨어 클럭을 상기 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간에 동기화하는 동작, 상기 마스터 노드의 PTP 레이어가, 상기 복수의 타임 도메인 중 제1 타임 도메인의 오프셋(θ1)을 상기 기준 시간에 더하여 계산된 상기 제1 타임 도메인의 시간 값을 상기 슬레이브 노드의 PTP 레이어로 전송하는 동작, 상기 슬레이브 노드의 PTP 레이어가, 상기 제1 타임 도메인의 시간 값과 상기 저장된 전파 지연값을 이용하여, 상기 제1 타임 도메인의 오프셋(θ1)을 계산하는 동작, 및 상기 슬레이브 노드의 PTP 레이어가, 상기 계산된 제1 타임 도메인의 오프셋(θ1)을 상기 슬레이브 노드의 상기 하드웨어 클럭이 가리키는 기준 시간에 적용하여 상기 제1 타임 도메인의 시간을 획득하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함할 수 있다.
지금까지 도 1 내지 도 10을 참조하여 본 발명의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 발명의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
지금까지 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (12)

  1. 마스터 노드와 슬레이브 노드 사이에 복수의 타임 도메인의 시간을 동기화하는 방법으로서,
    상기 슬레이브 노드의 PTP 레이어가, 상기 마스터 노드와 메시지를 주고받을 때 발생하는 전파 지연 값을 계산하고 저장하는 단계;
    상기 마스터 노드의 PTP 레이어가, 상기 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간을 상기 슬레이브 노드의 PTP 레이어로 전송하는 단계;
    상기 슬레이브 노드의 PTP 레이어가, 상기 슬레이브 노드의 하드웨어 클럭을 상기 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간에 동기화하는 단계;
    상기 마스터 노드의 PTP 레이어가, 상기 복수의 타임 도메인 중 제1 타임 도메인의 오프셋(θ1)을 상기 기준 시간에 더하여 계산된 상기 제1 타임 도메인의 시간 값을 상기 슬레이브 노드의 PTP 레이어로 전송하는 단계;
    상기 슬레이브 노드의 PTP 레이어가, 상기 제1 타임 도메인의 시간 값과 상기 저장된 전파 지연값을 이용하여, 상기 제1 타임 도메인의 오프셋(θ1)을 계산하는 단계; 및
    상기 슬레이브 노드의 PTP 레이어가, 상기 계산된 제1 타임 도메인의 오프셋(θ1)을 상기 슬레이브 노드의 상기 하드웨어 클럭이 가리키는 기준 시간에 적용하여 상기 제1 타임 도메인의 시간을 획득하는 단계
    를 포함하는,
    복수의 타임 도메인의 시간을 동기화하는 방법.
  2. 제1 항에 있어서,
    상기 마스터 노드의 PTP 레이어가, 상기 복수의 타임 도메인 중 제2 타임 도메인의 오프셋(θ2)을 상기 기준 시간에 더하여 계산된 상기 제2 타임 도메인의 시간 값을 상기 슬레이브 노드의 PTP 레이어로 전송하는 단계; 및
    상기 슬레이브 노드의 PTP 레이어가, 상기 제2 타임 도메인의 시간 값과 상기 저장된 전파 지연값을 이용하여, 상기 제2 타임 도메인의 오프셋(θ2)을 계산하는 단계
    를 더 포함하는,
    복수의 타임 도메인의 시간을 동기화하는 방법.
  3. 제1 항에 있어서,
    상기 슬레이브 노드의 PTP 레이어가, 상기 마스터 노드와 메시지를 주고받을 때 발생하는 전파 지연 값을 계산하고 저장하는 단계는,
    상기 슬레이브 노드의 PTP 레이어에서, 기준 시간 t1에 관한 정보를 포함하는 Pdelay_Req 신호를 상기 마스터 노드로 전송하는 단계;
    상기 마스터 노드의 PTP 레이어가 상기 Pdelay_Req 신호를 수신한 기준 시간 T2에 관한 정보와, 상기 슬레이브 노드의 PTP 레이어로 상기 Pdelay_Req 신호에 대응하는 Pdelay_Resp 신호를 전송한 기준 시간 T3에 관한 정보를 획득하는 단계;
    상기 슬레이브 노드의 PTP 레이어에서, 상기 마스터 노드로부터 상기 Pdelay_Resp 신호를 수신한 기준 시간 t4에 관한 정보를 획득하는 단계; 및
    상기 기준 시간 t1과 t4의 차이 값과, 상기 T2와 T3의 차이 값을 이용하여 상기 전파 지연 값을 계산하는 단계
    를 포함하는,
    복수의 타임 도메인의 시간을 동기화하는 방법.
  4. 제1 항에 있어서,
    상기 제1 타임 도메인의 시간 값을 상기 슬레이브 노드의 PTP 레이어로 전송하는 단계는,
    상기 마스터 노드의 PTP 레이어에서, 상기 제1 타임 도메인의 시간 값을 Sync 패킷 및 Follow_up 패킷을 통해 상기 슬레이브 노드의 PTP 레이어로 전송하는 단계
    를 포함하는,
    복수의 타임 도메인의 시간을 동기화하는 방법.
  5. 제4 항에 있어서,
    상기 Sync 패킷 및 상기 Follow_up 패킷의 타임 도메인 필드는 상기 제1 타임 도메인에 대응하는 숫자로 설정되는,
    복수의 타임 도메인의 시간을 동기화하는 방법.
  6. 제1 항에 있어서,
    상기 마스터 노드의 PTP 레이어에서, 상기 제1 타임 도메인의 오프셋(θ1)이 변경되는 경우, 상기 변경된 오프셋(θ1)이 적용된 제1 타임 도메인의 시간 값을 상기 Sync 패킷 및 상기 Follow_up 패킷을 통해 상기 슬레이브 노드의 PTP 레이어로 전송하는 단계; 및
    상기 슬레이브 노드의 PTP 레이어에서, 상기 전송된 제1 타임 도메인의 시간 값과 상기 저장된 전파 지연 값을 이용하여 상기 변경된 제1 타임 도메인의 오프셋을 계산하는 단계
    를 더 포함하는,
    복수의 타임 도메인의 시간을 동기화하는 방법.
  7. 제1 항에 있어서,
    상기 PTP 레이어는, 상기 각 타임 도메인별 시간 값의 설정 및 획득, 상기 각 타임 도메인별 오프셋의 설정 및 획득을 위한 인터페이스를 상기 PTP 레이어의 상위 레이어에 해당하는 애플리케이션 레이어로 제공하는,
    복수의 타임 도메인의 시간을 동기화하는 방법.
  8. 제7 항에 있어서,
    상기 마스터 노드의 어플리케이션 레이어가 setTime(1, T) 함수를 호출하면, 상기 마스터 노드의 PTP 레이어가 상기 제1 타임 도메인의 시간 값인 T를 상기 슬레이브 노드의 PTP 레이어로 전송하는 단계; 및
    상기 슬레이브 노드의 어플리케이션 레이어가 getTime(1) 함수를 호출하면, 상기 슬레이브 노드의 PTP 레이어에서 획득된 상기 제1 타임 도메인의 시간을 반환하는 단계
    를 더 포함하는,
    복수의 타임 도메인의 시간을 동기화하는 방법.
  9. 제7 항에 있어서,
    상기 마스터 노드의 PTP 레이어가 setOffset(1, θ1) 함수를 호출하면, 상기 제1 타임 도메인의 오프셋을 θ1로 설정하는 단계; 및
    상기 슬레이브 노드의 PTP 레이어가 getOffset(1) 함수를 호출하면, 상기 제1 타임 도메인의 시간 값과 상기 저장된 전파 지연값을 이용하여 계산된 θ1을 상기 제1 타임 도메인의 오프셋으로서 반환하는 단계
    를 더 포함하는,
    복수의 타임 도메인의 시간을 동기화하는 방법.
  10. 제1 항에 있어서,
    상기 마스터 노드와 상기 슬레이브 노드는 각각 전자 제어 유닛(ECU) 또는 네트워크 스위치인,
    복수의 타임 도메인의 시간을 동기화하는 방법.
  11. 컴퓨터로 하여금 제1 항 내지 제10 항 중 어느 한 항의 방법을 수행하도록 하는 컴퓨터 프로그램이 저장된,
    컴퓨터 판독 가능한 비일시적 기록 매체.
  12. 마스터 노드와 슬레이브 노드 사이에 복수의 타임 도메인의 시간을 동기화하는 컴퓨팅 장치에 있어서,
    하나 이상의 프로세서;
    외부장치와 통신하는 통신 인터페이스;
    상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및
    상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
    상기 컴퓨터 프로그램은,
    상기 슬레이브 노드의 PTP 레이어가, 상기 마스터 노드와 메시지를 주고받을 때 발생하는 전파 지연 값을 계산하고 저장하는 동작,
    상기 마스터 노드의 PTP 레이어가, 상기 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간을 상기 슬레이브 노드의 PTP 레이어로 전송하는 동작,
    상기 슬레이브 노드의 PTP 레이어가, 상기 슬레이브 노드의 하드웨어 클럭을 상기 마스터 노드의 하드웨어 클럭이 가리키는 기준 시간에 동기화하는 동작,
    상기 마스터 노드의 PTP 레이어가, 상기 복수의 타임 도메인 중 제1 타임 도메인의 오프셋(θ1)을 상기 기준 시간에 더하여 계산된 상기 제1 타임 도메인의 시간 값을 상기 슬레이브 노드의 PTP 레이어로 전송하는 동작,
    상기 슬레이브 노드의 PTP 레이어가, 상기 제1 타임 도메인의 시간 값과 상기 저장된 전파 지연값을 이용하여, 상기 제1 타임 도메인의 오프셋(θ1)을 계산하는 동작, 및
    상기 슬레이브 노드의 PTP 레이어가, 상기 계산된 제1 타임 도메인의 오프셋(θ1)을 상기 슬레이브 노드의 상기 하드웨어 클럭이 가리키는 기준 시간에 적용하여 상기 제1 타임 도메인의 시간을 획득하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함하는,
    컴퓨팅 장치.
KR1020210180389A 2021-12-16 2021-12-16 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치 KR102585141B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020210180389A KR102585141B1 (ko) 2021-12-16 2021-12-16 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치
US18/078,541 US20230198651A1 (en) 2021-12-16 2022-12-09 Method for synchronizing time in multiple time domains, and apparatus implementing the same method
CN202211595010.5A CN116266773A (zh) 2021-12-16 2022-12-13 对多个时域的时间进行同步的方法、计算装置及存储介质
DE102022213697.7A DE102022213697A1 (de) 2021-12-16 2022-12-15 Verfahren zum synchronisieren von zeit in mehreren zeitdomänen, und einrichtung, welche das nämliche verfahren implementiert
KR1020230117343A KR20230134456A (ko) 2021-12-16 2023-09-05 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210180389A KR102585141B1 (ko) 2021-12-16 2021-12-16 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230117343A Division KR20230134456A (ko) 2021-12-16 2023-09-05 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치

Publications (2)

Publication Number Publication Date
KR20230091351A true KR20230091351A (ko) 2023-06-23
KR102585141B1 KR102585141B1 (ko) 2023-10-04

Family

ID=86606597

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210180389A KR102585141B1 (ko) 2021-12-16 2021-12-16 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치
KR1020230117343A KR20230134456A (ko) 2021-12-16 2023-09-05 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230117343A KR20230134456A (ko) 2021-12-16 2023-09-05 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치

Country Status (4)

Country Link
US (1) US20230198651A1 (ko)
KR (2) KR102585141B1 (ko)
CN (1) CN116266773A (ko)
DE (1) DE102022213697A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015099983A (ja) * 2013-11-18 2015-05-28 東日本電信電話株式会社 時刻同期システム、時刻同期方法及びコンピュータプログラム
KR20160014157A (ko) * 2014-07-28 2016-02-11 주식회사 오이솔루션 광 트랜시버
KR20190013077A (ko) * 2017-07-31 2019-02-11 한국전기연구원 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템 및 그 동기화 오차 보상방법
JP2019080288A (ja) * 2017-10-27 2019-05-23 富士通株式会社 ネットワーク装置の時刻同期方法、ネットワーク装置、及び、ネットワークシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015099983A (ja) * 2013-11-18 2015-05-28 東日本電信電話株式会社 時刻同期システム、時刻同期方法及びコンピュータプログラム
KR20160014157A (ko) * 2014-07-28 2016-02-11 주식회사 오이솔루션 광 트랜시버
KR20190013077A (ko) * 2017-07-31 2019-02-11 한국전기연구원 이더캣 네트워크의 마스터와 슬레이브들 간의 동기화 오차 보상을 위한 동기화 오차 보상시스템 및 그 동기화 오차 보상방법
JP2019080288A (ja) * 2017-10-27 2019-05-23 富士通株式会社 ネットワーク装置の時刻同期方法、ネットワーク装置、及び、ネットワークシステム

Also Published As

Publication number Publication date
US20230198651A1 (en) 2023-06-22
DE102022213697A1 (de) 2023-06-22
KR20230134456A (ko) 2023-09-21
KR102585141B1 (ko) 2023-10-04
CN116266773A (zh) 2023-06-20

Similar Documents

Publication Publication Date Title
US11609598B2 (en) Network card, time synchronization methods and devices, and computer storage media
EP3016306B1 (en) Method and apparatus for providing in-vehicle network time synchronization using redundant grandmaster
US10110367B2 (en) High precision timer in CPU cluster
JPS62271540A (ja) クロックを同期する方法及び装置
JP6404975B2 (ja) スレーブ、シリアル通信システム、および、シリアル通信システムの通信方法
KR20090067152A (ko) 클러스터 커플러 유닛, 클러스터 동기화 방법 및 네트워크
KR102291573B1 (ko) 이더캣 기반의 슬레이브 시스템에 포함된 복수의 마이크로 프로세서간 동기화 방법 및 시스템
EP3098987A1 (en) Time slot synchronization training method for optical burst transport network node, node device and network
CN105308570A (zh) 用于对分布式实时系统中的周期性任务传送时间正确的数据的方法和装置
US11336510B2 (en) Information processing system, information processing method, and non-transitory recording medium
WO2019000398A1 (zh) 事务调度方法、处理器、分布式系统和无人机
JP6261822B2 (ja) 時刻同期装置及び時刻同期システム及び時刻同期方法
US11689347B2 (en) Communication apparatus, communication system, communication method, and computer readable medium
KR102585141B1 (ko) 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치
KR102598744B1 (ko) 복수의 타임 도메인의 시간을 동기화하는 방법, 그리고 이를 구현하기 위한 장치
KR20170135384A (ko) 이더캣 기반의 분산 시계 동기화를 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체
JP2018088644A (ja) 無線接続された複数端末間の時刻同期方法及び時刻同期システム
CN116800366A (zh) 一种时钟同步方法、设备及存储介质
CN111726185A (zh) 外部设备与本地计算设备的系统时钟的同步方法
CN110912634B (zh) 基于spi实现时钟同步的方法、存储介质及终端设备
KR101498561B1 (ko) 글로벌 동기화를 위한 tdma 기반의 can 통신시스템 및 방법
CN109274451B (zh) 一种时间获取方法、装置和设备
CN111638749A (zh) 一种仿真系统同步方法、仿真设备及系统
EP3767407B1 (en) Field bus system diagnosis using propagation delay measurements
JP2017063363A (ja) 通信システムおよびパケット交換装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant