KR102652569B1 - 비용 최적화된 환경들에서 phy 레벨 하드웨어 타임스탬핑 및 시간 동기화의 수행 - Google Patents

비용 최적화된 환경들에서 phy 레벨 하드웨어 타임스탬핑 및 시간 동기화의 수행 Download PDF

Info

Publication number
KR102652569B1
KR102652569B1 KR1020217000947A KR20217000947A KR102652569B1 KR 102652569 B1 KR102652569 B1 KR 102652569B1 KR 1020217000947 A KR1020217000947 A KR 1020217000947A KR 20217000947 A KR20217000947 A KR 20217000947A KR 102652569 B1 KR102652569 B1 KR 102652569B1
Authority
KR
South Korea
Prior art keywords
timestamp
packet
synchronization
phy
subsequent
Prior art date
Application number
KR1020217000947A
Other languages
English (en)
Other versions
KR20210019531A (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 마이크로칩 테크날러지 인코포레이티드
Publication of KR20210019531A publication Critical patent/KR20210019531A/ko
Application granted granted Critical
Publication of KR102652569B1 publication Critical patent/KR102652569B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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
    • 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/0688Change of the master or reference, e.g. take-over or failure of the master
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

마이크로제어기는 패킷 매칭 회로, 하드웨어 타이머 회로, 및 프로세서를 포함한다. 패킷 매칭 회로는 수신된 패킷들의 콘텐츠를 마이크로제어기에 매칭시키도록 그리고 패킷이 수신되었는지 여부를 식별하도록 구성된다. 하드웨어 타이머 회로는 동기화 패킷이 매칭되었다는 패킷 매칭 회로로부터의 신호에 기초하여 동기화 타임스탬프를 제공하도록, 그리고 동기화 패킷의 수신 후에 후속 패킷이 매칭되었다는 패킷 매칭 회로로부터의 신호에 기초하여 후속 타임스탬프를 제공하도록 구성된다. 프로세서는 동기화 타임스탬프에 기초하여 그리고 후속 타임스탬프에 기초하여 동기화된 클록 베이스를 결정하기 위해 클록 베이스를 조정하도록 구성된다.

Description

비용 최적화된 환경들에서 PHY 레벨 하드웨어 타임스탬핑 및 시간 동기화의 수행
우선권
본 출원은 2018년 6월 14일자로 출원된 미국 가특허 출원 제62/684,806호에 대한 우선권을 주장하며, 그의 내용들은 그 전체가 본 명세서에 포함된다.
기술분야
본 발명은 네트워크형 통신(networked communication)을 위한 장치들 및 방법들에 관한 것이고, 보다 상세하게는 비용 최적화된 환경들 및 패킷 기반 네트워크들에서 PHY 레벨 하드웨어 타임스탬핑 및 시간 동기화를 수행하는 것에 관한 것이다.
10BASE-T1S(10SPE)는 현재 개정 및 개발 중에 있는 제안된 표준이다. 10SPE는 이더넷 근거리 통신망, 접속망 및 도시지역 통신망을 정의한다. 이더넷은 선택된 동작 속도로 특정되고; 공통 MAC(media access control) 사양 및 MIB(management information base)를 사용한다. CSMA/CD(Carrier Sense Multiple Access with Collision Detection) MAC 프로토콜은 공유된 매체(하프 듀플렉스) 동작뿐만 아니라 풀 듀플렉스 동작을 특정한다. 속도 특정 MII(Media Independent Interface)들은 아키텍처식 및 옵션식 구현 인터페이스를 선택된 PHY(Physical Layer entity)들에 제공한다. PHY는 송신용 프레임들을 인코딩하고, 수신된 프레임들을 디코딩하며, 이때 변조는 동작 속도, 송신 매체 및 지원된 링크 길이에 대해 명시된다. 다른 명시된 능력들은 제어 및 관리 프로토콜들, 및 선택된 트위스티드 페어 PHY 타입들에 대한 전력의 제공을 포함한다.
10SPE는 단일의 균형 트위스티드 페어 동 케이블링 상에 10 Mb/s PHY 사양들 및 동작을 위한 관리 파라미터들, 및 연관된 선택적 전력 제공을 추가하기 위해 IEEE 802.3에 대한 추가사항들 및 이의 적절한 수정사항들을 명시한다.
분산 시스템들-예컨대, IEEE 802.1AS(gPTP) 및 IEEE 1588(PTP: Precision Time Protocol)에 의해 정의되는 이들 시스템들-에서의 클록들의 시간 동기화는 높은 정확도의 동작들을 달성하기 위해 특수화된 하드웨어의 사용을 요구한다. 이러한 동작들은 정확한 클록 및 타임스탬핑 패킷들을 유지하는 것을 포함할 수 있다. 현재의 해결책들은, 일단 프레임이 MAC를 통과하면 MAC-레벨에서 패킷들의 타임스탬핑을 수행하는 전용 이더넷 MAC 유닛들을 갖는 마이크로제어기 유닛들(MCU)을 제공한다.
일부 실시예들에서, 장치는 패킷 매칭 회로, 하드웨어 타이머 회로, 및 프로세서를 포함한다. 패킷 매칭 회로는 수신된 패킷들의 콘텐츠를 장치에 매칭시키도록 그리고 패킷이 수신되었는지 여부를 식별하도록 구성된다. 하드웨어 타이머 회로는 동기화 패킷이 매칭되었다는 패킷 매칭 회로로부터의 신호에 기초하여 동기화 타임스탬프를 제공하도록, 그리고 동기화 패킷의 수신 후에 후속 패킷이 매칭되었다는 패킷 매칭 회로로부터의 신호에 기초하여 후속 타임스탬프를 제공하도록 구성된다. 프로세서는 동기화 타임스탬프에 기초하여 그리고 후속 타임스탬프에 기초하여 동기화된 클록 베이스를 결정하기 위해 클록 베이스를 조정하도록 구성된다.
다른 실시예들에서, 방법은 패킷 매칭 회로를 이용하여, 수신된 패킷들의 콘텐츠를 마이크로제어기에 매칭시키고 패킷이 수신되었는지 여부를 식별하는 단계를 포함한다. 본 방법은, 하드웨어 타이머 회로를 이용하여, 동기화 패킷이 매칭되었다는 패킷 매칭 회로로부터의 신호에 기초하여 동기화 타임스탬프를 제공하는 단계, 및 동기화 패킷의 수신 후에 후속 패킷이 매칭되었다는 패킷 매칭 회로로부터의 신호에 기초하여 후속 타임스탬프를 제공하는 단계를 추가로 포함할 수 있다. 본 방법은, 프로세서를 이용하여, 동기화 타임스탬프에 기초하여 그리고 후속 타임스탬프에 기초하여 동기화된 클록 베이스를 결정하기 위해 클록 베이스를 조정하는 단계를 추가로 포함할 수 있다.
또 다른 실시예들에서, 마이크로제어기는 패킷 매칭 회로, 하드웨어 타이머 회로, 및 프로세서를 포함한다. 패킷 매칭 회로는 수신된 패킷들의 콘텐츠를 마이크로제어기에 매칭시키도록 그리고 패킷이 수신되었는지 여부를 식별하도록 구성된다. 하드웨어 타이머 회로는 동기화 패킷이 매칭되었다는 패킷 매칭 회로로부터의 신호에 기초하여 동기화 타임스탬프를 제공하도록, 그리고 동기화 패킷의 수신 후에 후속 패킷이 매칭되었다는 패킷 매칭 회로로부터의 신호에 기초하여 후속 타임스탬프를 제공하도록 구성된다. 프로세서는 동기화 타임스탬프에 기초하여 그리고 후속 타임스탬프에 기초하여 동기화된 클록 베이스를 결정하기 위해 클록 베이스를 조정하도록 구성된다.
도 1은 본 발명의 실시예들에 따른, 예시적인 10SPE 네트워크의 일례이다.
도 2는 본 발명의 실시예들에 따른, 네트워크 제어기에서의 PHY 및 MCU의 동작의 더 상세한 도면을 예시한다.
도 3은 본 발명의 실시예들에 따른, 동기 이벤트 메시지에 적용되는 바와 같은 매칭 패턴을 예시한다.
도 4는 본 발명의 실시예들에 따른, 타이밍 및 타임스탬핑 동작들을 위한 하드웨어 보조 회로의 사용을 예시한다.
도 5는 본 발명의 실시예들에 따른, 마스터 노드의 관점에서 예시적인 노드 셋업의 흐름도를 예시한다.
도 6은 본 발명의 실시예들에 따른, 클라이언트 노드의 관점에서 예시적인 노드 셋업의 흐름도를 예시한다.
본 발명의 실시예들의 발명자는 노드당 최소 비용으로 패킷 기반 네트워크에서 고정밀 시간 동기화를 제공할 필요가 있다는 것을 발견하였다. 특히, 10SPE 네트워크 노드 상에서 PHY 레벨 하드웨어 타임스탬핑 및 시간 동기화를 수행하기 위한 해결책이 필요하다. 타임스탬핑 및 시간 동기화는 IEEE 1588 또는 IEEE 802.1AS에 따른 성능을 구현할 수 있다. 또한, PHY 레벨 하드웨어 타임스탬핑 및 시간 동기화는 PHY를 구현하는 다이 크기가 제한될 수 있기 때문에 단순한 PHY 하드웨어 상에서 수행될 수 있다. PHY는 엔드포인트 제어기를 구현할 때 PHY와 함께 작업하도록 선택될 수 있는 MCU들의 범위를 제한할 강력한 요건들 없이 구현될 수 있다.
일부 실시예들에서, PHY는 IEEE 1588 또는 IEEE 802.1AS에 의해 요구되는 바와 같이, PTP 이벤트 메시지들의 하드웨어 타임스탬핑을 지원하도록 인에이블된다. 이러한 타임스탬프 이벤트는 MCU와 같은 추가 컴포넌트로 포워딩될 수 있다. 일부 실시예들에서, MCU의 타이머/카운터 유닛의 사용은 임의의 전용 하드웨어에 대한 필요성 없이, 필요한 태스크들의 성능을 제공할 수 있다. 추가의 실시예에서, 소프트웨어 알고리즘이 사용될 수 있다.
전술한 바와 같이, 다른 해결책들은 MAC 유닛에서 타임스탬핑을 처리한다. 일부 실시예들에서 본 발명은 PHY들 및 MCU들이 협력하도록 허용한다. 일부 실시예들에서, PHY는 PTP 이벤트 타임스탬핑을 수행하지만, 이어서 이벤트를 MCU로 단순히 포워딩한다. 일부 실시예들에서, MCU는 기존 하드웨어(예컨대, (타이머/카운터 유닛)를 이용하여, 타임스탬프를 측정하는 것 및 로컬 클록의 동기화와 같은 시간 임계적 태스크들을 수행한다.
다양한 실시예들에 따르면, 공통의 MAC 유닛을 갖는 넓은 범위의 MCU들에 대해 고정밀 시간 동기화가 제공된다. 공통의 MAC 유닛은 충돌 검출 (CSMA/CD) MAC를 갖는 반송파 감지 다중 액세스를 포함할 수 있다. 일부 실시예들에서, PHY 칩에 대해 비용에 민감한 타임스탬핑 특징부가 제공될 수 있다. 일부 실시예들에서, 타임스탬프 측정 및 PTP 시간 동기화를 위한 전용 하드웨어를 갖지 않는 MCU들을 이용하기 위해 소프트웨어 알고리즘이 제공될 수 있다.
본 발명의 실시예들은 통상적으로 이용가능한 MCU들을 사용하여 종단 제어기로서 사용될 수 있게 한다. 예를 들어, 전용 IEEE 1588 하드웨어를 갖는 MCU는 필요하지 않을 수 있다. 동시에, PHY에 대한 요건들은 낮게 유지될 수 있다.
일부 실시예들은 자동차 및 서버 백플레인 애플리케이션들에서와 같이 10SPE 네트워크들에 특히 적합할 수 있다. 특히, 10SPE 네트워크들에서 그리고 일부 실시예들에서, 네트워크 노드당 최저 비용으로 시간 동기화를 수행하는 것이 요구될 수 있는데, 이는 일부 실시예들에서, 완전한 IEEE 1588 지원 없이 비용 효과적인 PHY에 대한 요건을 포함할 수 있다. 요구되지 않거나 포함되지 않을 수 있는 일부 특징부들은 고정밀 클록, 제어기, 타임스탬핑 유닛들, 또는 이벤트 생성기들을 포함할 수 있다.
IEEE 1588-인에이블된 하드웨어를 갖는 MCU들은 흔하지 않을 수 있고, 비교적 고가일 수 있다. 또한, 타임스탬핑은, PHY가 송신기(TX) 또는 수신기(RX) 경로에 가변하는 레이턴시를 추가하는 경우, 필요한 정확도로 달성가능하지 않은 MAC 레벨이다. 이러한 레이턴시들은 10SPE 네트워크 PHY들에서 발생한다. PHY 레벨 타임스탬핑이 사용될 때, 이러한 해결책들은 PHY 내로의 타임스탬핑을 위한 클록을 구현하며, 이는 이러한 클록이 외부로부터 이용될 수 있게 하는 방법에 대한 어려운 문제를 야기한다. 이것은 지나치게 크고 복잡한 PHY 설계를 빠르게 초래할 것이고, 이는 개발 및 생산 비용들을 확대시킨다. 자동차 네트워크들과 같은 환경들은 그러한 해결책들을 사용할 수 없게 하는 노드 당 최대 비용에 대한 새로운 요구를 만든다.
일부 실시예들에서, 장치는 패킷 매칭 회로, 하드웨어 타이머 회로, 및 프로세서를 포함한다. 패킷 매칭 회로는 PHY에 의해 또는 아날로그 및 디지털 회로부의 다른 적합한 조합에 의해 구현될 수 있다. 하드웨어 타이밍 회로는 타이머 또는 카운터를 포함할 수 있다. 타이머 또는 카운터는 마이크로제어기 내의 주변기기들일 수 있다. 타이머 또는 카운터 주변기기는 클록 동기화를 수행하도록 구성될 수 있다. 하드웨어 타이밍 회로는 이벤트들 또는 명령들 시에, 타이머 또는 회로의 값을 레지스터와 같은 임의의 적합한 저장소에 저장할 수 있다. 하드웨어 타이밍 회로는 패킷 매칭 회로의 하드웨어 레벨에서 구현될 수 있다. 하드웨어 타이밍 회로는 패킷 매칭 회로 내에서 부분적으로 구현될 수 있다. 패킷 매칭 회로는 수신된 패킷들의 콘텐츠를 장치에 매칭시키도록 그리고 패킷이 수신되었는지 여부를 식별하도록 구성될 수 있다. 패킷들은 동기화 패킷을, 이어서 후속 패킷을 포함할 수 있다. 하드웨어 타이머 회로는 동기화 패킷이 매칭되었다는 패킷 매칭 회로로부터의 신호에 기초하여 동기화 타임스탬프를 제공하도록, 그리고 동기화 패킷의 수신 후에 후속 패킷이 매칭되었다는 패킷 매칭 회로로부터의 신호에 기초하여 후속 타임스탬프를 제공하도록 구성될 수 있다. 후속 및 동기화 패킷들은 임의의 적합한 프로토콜에 따라 구현될 수 있다. 프로세서는 동기화 타임스탬프에 기초하여 그리고 후속 타임스탬프에 기초하여 동기화된 클록 베이스를 결정하기 위해 클록 베이스를 조정하도록 구성될 수 있다. 클록 베이스의 조정은 하기에 추가로 설명되는 바와 같이, clockMasterSyncInterval, syncEventEgressTimestamp, preciseOriginTimestamp, localTickPeriod, tr, ts, td, syncEventIngressTimestamp, syncReceiptLocalCv32, syncReceiptLocalTime, rateRatio, 및 followUpCorrectionField에 추가로 기초할 수 있다.
상기 실시예들 중 임의의 것과 조합하여, 하드웨어 타이머 회로는 패킷 매칭 회로와는 별개일 수 있다. 상기 실시예들 중 임의의 것과 조합하여,
하드웨어 타이머 회로는 프로세서를 포함하는 마이크로제어기 상의 하나 이상의 범용 입-출력 핀들을 통해 액세스가능하다. 상기 실시예들 중 임의의 것과 조합하여, 하드웨어 타이머 회로는 프로세서 상에서 실행되는 소프트웨어에 이용가능한 클록을 사용하여 PHY의 레벨에서 동기화 및 후속 타임스탬프를 생성하도록 구성될 수 있다. 상기 실시예들 중 임의의 것과 조합하여, 장치는 입력 포트 및 이벤트 타이머를 추가로 포함하고, 이벤트 타이머는 입력 포트를 통한 외부 이벤트 신호의 수신 시에 클록 카운트를 제공하도록 구성된다. 프로세서는 동기화 타임스탬프에 기초하여 그리고 후속 타임스탬프에 기초하여 클록 베이스를 조정함으로써 생성된 동기화된 클록 베이스에 기초하여 외부 이벤트 신호의 클록 카운트를 조정하도록 추가로 구성될 수 있다. 상기 실시예들 중 임의의 것과 조합하여, 동기화 패킷은 전송자 타임스탬프를 포함하도록 구성되고, 후속 패킷은 조정 타임스탬프를 포함하도록 구성되고, 프로세서는 조정 타임스탬프를 전송자 타임스탬프에 적용하는 것에 기초하여 동기화된 클록 베이스를 결정하기 위해 클록 베이스를 조정하도록 추가로 구성될 수 있다. 상기 실시예들 중 임의의 것과 조합하여, 장치는 마이크로제어기 내에 포함될 수 있다.
도 1은 본 발명의 실시예들에 따른 예시적인 10SPE 네트워크(100)의 일례이다. 네트워크(100)는 임의의 적합한 개수 및 종류의 노드들을 포함할 수 있다. 예를 들어, 네트워크(100)는 노드들(102, 104A, 104B, 104C)을 포함할 수 있다. 이들 노드들은 네트워크 또는 버스(120)를 통해 서로 통신하도록 구성될 수 있다. 네트워크 또는 버스(120)는 임의의 적합한 방식으로, 예컨대 10SPE 사양 또는 그의 변형들에 따라 구현될 수 있다.
노드(102)는 마스터 노드일 수 있다. 노드(102)는 네트워크 내의 다른 노드들을 대표하여 네트워크 할당, 배정들, 또는 다른 관리 태스크들을 수행함으로써 마스터 노드로서 작용할 수 있다.
노드들(102, 104A, 104B, 104C)은 각각 네트워크 제어기(106)를 갖고 구현될 수 있다. 네트워크 제어기(106)는 MCU(118) 및 PHY 회로(108)를 포함할 수 있다. MCU(118)는 임의의 적합한 마이크로제어기, 프로세서, 또는 다른 컴퓨팅 디바이스에 의해 구현될 수 있다. PHY 회로(108)는 디지털 또는 아날로그 회로부, 주문형 집적 회로, 필드 프로그램가능 게이트 어레이, 또는 다른 적합한 회로부의 임의의 적합한 조합에 의해 구현될 수 있다. MCU(118)는 최종 사용자 애플리케이션(110)과 같은, 노드의 다른 소프트웨어 또는 요소들과의 통신을 핸들링하도록 구성될 수 있다. PHY(108)는 네트워크 또는 버스(120)와의 물리적 인터페이싱을 핸들링하도록 구성될 수 있다.
노드들(102, 104A, 104B, 104C)은 각각 하나 이상의 엔드 사용자 애플리케이션들(110), 프로세서들(114), 및 메모리들(116)을 갖고 구현될 수 있다. 엔드 사용자 애플리케이션들(110) 및 네트워크 드라이버들 또는 스택들은 소프트웨어, 라이브러리들, 함수들, 스크립트들, 애플리케이션들, 코드, 또는 프로세서들(114)에 의한 실행을 위한 다른 명령어들을 포함할 수 있다. 명령어들은 각각의 메모리들(116) 상에 저장될 수 있다. 명령어들은, 프로세서들(114)에 의해 실행될 때, 사용자 애플리케이션들로 하여금 서로 통신하게 할 수 있다. 그러한 통신은 네트워크(100), 특히 네트워크 제어기들(106)에 의해 수행될 수 있다. 메모리들(116)은, 장기 저장소든 단기 저장소든, 임의의 적합한 구현예의 하나 이상의 메모리 요소들에 의해 구현될 수 있다. 프로세서들(114)은 임의의 적합한 프로세서, 코어, 또는 마이크로제어기 중 하나 이상에 의해 구현될 수 있다.
노드들(102, 104A, 104B, 104C)은 컴퓨터, 랩톱, 서버, 가상 기계, 모바일 디바이스, 센서 또는 액츄에이터와 같은 임의의 적합한 전자 디바이스를 구현할 수 있다. 노드들(102, 104A, 104B, 104C)은 이더넷 또는 CAN(controller area network)와 같은 임의의 적합한 네트워크 상의 임의의 적합한 전자 디바이스를 포함할 수 있다. 노드들(102, 104A, 104B, 104C)은 각각 엔드 사용자 애플리케이션들(110)의 상이한 구현예들을 포함할 수 있다. 엔드 사용자 애플리케이션들(110)은 엔드 사용자 애플리케이션들(110) 중 다른 엔드 사용자 애플리케이션들 또는 노드들(102, 104A, 104B, 104C)의 다른 엔드 사용자 애플리케이션들과의 통신을 요구할 수 있다. 그러한 통신은, 예를 들어 네트워크 또는 버스(120)를 통해 10SPE를 사용하여 수행될 수 있다.
소정 개수의 노드들이 도 1에 도시되어 있지만, 네트워크(100)는 10SPE 인에이블드 노드들과 같은 네트워크 노드들의 임의의 적합한 개수 및 조합을 포함할 수 있다.
10SPE 네트워크들, 예컨대 네트워크(100)는 마스터-대-클라이언트인 클록 분배 방향; 즉, 노드(102)로부터 노드들(104)로인 클록 분배 방향을 가질 수 있다. 또한, 시스템 내의 모든 PTP 포트들에 의해 달리 실행될 BMCA(best master clock algorithm)는 네트워크(100)의 모든 포트들에 적용가능하지 않을 수 있다. 예를 들어, BMCA는 노드(102)에 의해서만 동작될 수 있다.
도 2는 본 발명의 실시예들에 따른 네트워크 제어기에서의 PHY 및 MCU의 동작의 더 상세한 도면을 예시한다. PHY(108) 및 MCU(118)는 서로 통신하도록 구성될 수 있다. PHY(108)는 MCU(118)의 포트에 접속될 수 있다. PHY(108)는 MII(media independent interface), RMII(reduced MII), 또는 SPI(serial peripheral interface)와 같은 MCU(118)의 임의의 적합한 포트에 접속될 수 있다. PHY(108)는 이러한 포트를 통해 MCU(118)로부터 명령어들 또는 데이터를 수신할 수 있다. PHY(108)는 MCU(118)로 정보를 전송하기 위한 타이밍 포트를 포함할 수 있다. 이러한 타이밍 포트는 하나 이상의 범용 입력/출력(GPIO) 핀들로 구현될 수 있다. 일 실시예에서, 이러한 핀들은 그러한 이벤트들을 PHY(108)로부터 MCU(118)로 전송하기 위해 타이밍 또는 타임스탬핑 이벤트 핀들로서 사용되도록 구성될 수 있다. PHY(108)는 네트워크(120)의 물리적 매체와 인터페이싱하도록 구성될 수 있다.
MCU(118)는 PHY(108)를 초기화하고 구성하도록 구성될 수 있다. MCU(118)는 PHY(108)에서 타임스탬핑 특징부들을 인에이블하도록, 그리고 PHY(108)에서 하나 이상의 패킷 인식 패턴들을 구성하도록 구성될 수 있다. 일부 실시예들에 따르면, PHY(108)는 식별된 프레임 패턴들에 대해 네트워크(120) 상의 유입 또는 유출 옥텟 스트림들을 스캔하도록 구성될 수 있다. 그러한 프레임 패턴들은, 예를 들어 오프셋, 마스크, 및 값을 포함할 수 있다. 그러한 프레임 패턴의 예는, 예를 들어 프레임의 유형 및 헤더의 제1 바이트와 매칭되는 것일 수 있다. 마스크는 패턴 매칭으로 고려되지 않거나, 또는 다르게는 상관 없는 프레임의 비트들을 필터링할 수 있다. 패턴들은 유입, 유출에서, 또는 유입/유출 옥텟 데이터 스트림들에 대해 스캐닝될 수 있다. 일부 실시예들에 따르면, 패턴이 매칭될 때, PHY(108)는 이벤트 신호 MCU(118)를 발생시키도록 구성될 수 있다. 이벤트 신호는 타이밍 포트의 할당된 GPIO 핀 상에서 발생될 수 있다. 일 실시예에서, SFD(start frame delimiter)와 생성된 이벤트 신호의 인식 또는 수신 사이의 시간이 일정한 값인 것이 요구될 수 있다. 다수의 패턴들이 PHY(108)에 의해 평가될 수 있다. PHY(108)는 매칭되어 있는 특정 패턴을 식별하기 위해 상이한 GPIO 핀들 상에서, 또는 GPIO 핀들 상의 코드로 이벤트들을 발행하도록 구성될 수 있다. 상이한 패턴들을 매칭시키기 위해 상이한 GPIO 핀들이 사용될 수 있다. 더욱이, 상이한 방향들에 대해 상이한 GPIO 핀들이 사용될 수 있다. 예를 들어, 실시예에서, GPIO 핀 또는 핀들은 유입 패턴들에만 매칭시키도록 구성될 수 있고, 다른 GPIO 핀 또는 핀들은 유출 패턴들에만 매칭시키도록 구성될 수 있다. 그러한 이벤트에서, 유출 매치들 및 유입 매치들은 서로에 대하여 비동기식으로 발생할 수 있고, 유입 및 유출 매칭을 위한 별개의 이벤트 라인들의 포함은 인식된 이벤트를 적절한 메시지에 할당할 기회를 MCU(118)에 제공한다. 상이한 가능한 매치를 각각 나타내는 상이한 GPIO 핀들이 논리적으로 함께 논리합(OR)될 수 있다. 따라서, PHY(108)가 여러 가능한 패턴들 중 하나와 매칭되는 경우, 단일 입력이 MCU(118) 상에서 발생될 수 있다.
MCU(118)는 노드의 다른 요소들에 시간 동기화 이벤트들을 생성하도록 구성될 수 있다. 또한, MCU(118)는 측정되는 노드의 다른 요소들로부터 외부 이벤트들을 수신하도록 구성될 수 있다. 이들은 PHY(108)에 의해 측정될 수 있다.
도 3은 본 발명의 실시예들에 따른, IEEE 802.1AS PTP Sync 이벤트 메시지에 적용된 바와 같은 매칭 패턴을 예시한다. 제1 노드의 마스터 포트(302)(예컨대, 노드(102)의 포트) 및 클라이언트 노드(304), 예컨대 노드(104)의 포트의 동작들이 도 3에 예시되어 있다. 도 3은 또한, 노드(102)에 의해 생성될 수 있고 노드(104)로 전송될 수 있는 다양한 노드들 사이의 통신의 예시적인 프레임(306)을 예시한다. 프레임(306)은 프리-SFD 필드, 목적지 및 소스 어드레스 필드, 선택적 태그 필드, 어느 프로토콜이 프레임 내에 인캡슐링되는지를 나타내기 위한 이더타입(EtherType) 필드, PTP 헤더 필드, 페이로드, 및 FCS(frame check sequence) 필드를 포함할 수 있다. 프레임(306)은, 예를 들어 표준 이더넷 프레임을 구현할 수 있다. 페이로드는 임의의 적합한 데이터를 전송할 수 있다. 예를 들어, 페이로드는 IEEE 802.1AS에 따라 gPTP 이벤트 메시지를 전송할 수 있다. 다른 프레임 포맷들 및 페이로드들이 사용될 수 있다.
포트(302)로부터 전송되고 포트(304)에서 수신되는 예시적인 데이터가 예시되어 있다. 포트(302)는 마스터 포트일 수 있고 포트(304)는 슬레이브 포트일 수 있다. 2 단계 동작이 도시되어 있는데, 여기서 동기화 패킷(sync packet)이 전송되고, 이어서 후속 패킷이 전송된다. 따라서, 동기화 패킷은 포트(302)로부터 시간 ts에서 전송될 수 있고 시간 tr에서 포트(304)에서 수신될 수 있다. 그 후에, 후속 패킷이 전송될 수 있다. 후속 패킷은 임의의 적합한 타이밍 정보를 포함할 수 있다. 후속 패킷의 콘텐츠는 원래의 그랜드마스터 시간을 포워딩하는 데 사용될 수 있는데, 이는 동기화 패킷이 그랜드마스터 포트(포트(302)로 메시지를 전송한 포트)를 떠났던 순간, 뿐만 아니라 송신 라인들 상의 상주 시간과 (그랜드마스터와 목적지 노드 사이의 네트워크 브리지마다의) 각각의 홉에 대한 시간을 포함할 수 있다. 도 3은 단순화된 네트워크를 예시하는데, 여기서 마스터 노드 및 포트는 그랜드마스터 노드 및 포트와 동일한 것일 수 있다. 그러한 경우에, 마스터 노드는 단지 후속 패킷에서 통신하는 ts일 수 있는 반면, 모든 다른 값들은 사용되지 않는다. 그러나, 마스터 노드 및 포트가 그랜드마스터 시간 자체의 소스가 아니면, 마스터 노드는 시간 인식 브리지(time-aware bridge)에 접속될 수 있다. 동기화 패킷이 브리지를 횡단하는 동안, 상주 시간은 컴퓨터일 수 있다. 후속 패킷이 전송될 때, 이러한 상주는 후속 패킷에 포함된 보정 필드들에 추가될 수 있다. 마스터 노드는 또한, 다른 네트워크 상의 슬레이브 노드이고, 결과적으로 마스터 노드가 그 자신의 시간을 이러한 다른 네트워크로부터의 그랜드마스터 시간에 동기화시키는 것이 또한 가능하다. 이어서, 마스터 노드는 PTP 마스터로서 동작하여, 동기화된 시간을 10SPE 네트워크로 포워딩할 수 있다. 후속 패킷은 preciseOriginTimeStamp, 보정 필드, 및 IEEE 802.1AS에 따른 레이트 비율과 같은 필드들을 포함할 수 있다. 보정 필드는 네트워크 스위치들/브리지들을 통한 임의의 상주 시간(또는 전파 시간)을 포함한다. (노드(102)의) 포트(302)는 초당 8배와 같은 고정된 레이트로 PTP 동기화(sync) 메시지들을 발행할 수 있다. 이들 동기화 메시지들은 (다양한 노드들(104)의) 모든 접속된 포트들(304)로 전송될 수 있다.
PTP에 대한 다른 해결책들에서, 이웃 포트들 사이의 전파 지연을 측정하는 전파 지연 측정이 수행될 수 있다. 안정된 전파 지연은 시간 동기화에 영향을 주지 않을 수 있지만, 노드들(104)의 클록들에서 위상 정렬에 영향을 미칠 수 있다. 예를 들어, 포트(102)와 포트(104) 사이의 전파 지연이 더 정확할수록, 위상 정렬이 더 정확해질 수 있다. 안정된 전파 지연은, 지터를 포함하지 않고 또는 랜덤으로 변화시키지 않고 포트(102)와 포트(104) 사이의 물리적 매체에 대해 전파 지연이 일정한 구현들을 포함할 수 있다. 일 실시예에서, 전파 지연 측정들은 송신기 방향들에 대한 일정한 값으로 대체될 수 있다. 따라서, 전파 지연 측정들은 본 발명의 실시예들에서 10SPE 네트워크들에서 디스에이블될 수 있다.
일 실시예에서, 예시적인 패턴은 적어도 EtherType 및 후속의 제1 페이로드 바이트를 매칭시키는 것을 요구할 수 있다. 그러한 후속의 제1 페이로드 바이트는 gPTP 헤더 내부의 "mt_ts" 필드일 수 있다. IEEE 1588은 추가의 메시지 포맷들을 허용한다. MCU(118)는 그러한 메시지 포맷들을 지켜보기 위해 임의의 적합한 패턴 매칭을 적용하도록 구성될 수 있다. 메시지 포맷에 따라, 패턴은 비교적 클 수 있거나, 또는 상이한 패턴들이 병렬로 검색될 수 있다. 임의의 크기들의 임의의 적합한 패턴 마스크 및 값 필드가 사용될 수 있다. 모든 PTP 이벤트들에 대한 패턴을 갖거나, 또는 패턴을 변경하여 단일의 특정 PTP 이벤트만을 매칭시키는 것이 가능하다. 단순한 애플리케이션들에 대해, PTP Sync만이 매칭될 수 있다. 더 복잡한 애플리케이션들에 대해, Pdelay(IEEE 802.1AS에서 각각의 2개의 이웃하는 노드들 사이의 빈번하게 수행된 측정들)과 같이, 다른 PTP 이벤트들이 측정되고 매칭되도록 요구될 수 있다. 따라서, PdelayReq 및 PdelayResp 이벤트로 알려진 요청 또는 응답에서의 지연은 타임스탬핑되고 매칭될 수 있다. 일부 실시예들에서 그리고 노드(102)에서와 같은 마스터 제어기의 경우에서, 매칭 시에 PHY(108)로부터의 GPIO 신호는 시간 ts 플러스 td의 일정한 지연에서 발생할 수 있다. 일부 실시예들에서 그리고 노드(104)와 같은 클라이언트 제어기의 경우에서, 매칭 시에 PHY(108)로부터의 GPIO 신호는 시간 tr 플러스 td의 일정한 지연에서 발생할 것이다. 일부 실시예들에서, PTP 이벤트 송신의 경우, PHY(108)로부터의 GPIO 신호는 시간 ts 플러스 td의 일정한 지연에서 발생할 것이다. 일부 실시예들에서, PTP 이벤트 수신의 경우, PHY(108)로부터의 GPIO 신호는 시간 tr 플러스 td의 일정한 지연에서 발생할 것이다. PdelayReq 및 PdelayResp 이벤트 쌍의 경우, 한 쌍의 유출 요청 및 유입 응답, 또는 한 쌍의 유입 요청 및 유출 응답이 PHY(108)로부터의 동일한 GPIO 신호를 공유할 수 있는 특수한 경우가 있다. 그러한 경우에서, PdelayReq에 대한 매칭은 신호를 하이(high)로 구동할 것인 반면, PdelayResp에 대한 매칭은 신호를 차례로 제거할 것이다. 임의의 경우에서, PHY(108)로부터의 GPIO 신호는 PHY(108) 내의 로직에서의 패킷 인식을 완료하기 위해 그러한 시간들에서 발생할 수 있다. 임의의 매칭 이벤트는, 그것이 프레임 SFD일 수 있기 때문에 원하는 타임스탬핑 포인트와 관련하여 지연될 수 있지만, 이러한 시프트는 td의 일정한 값이어야 한다. 이벤트의 소비자는 측정된 이벤트 타임스탬프를 보정하기 위해 이러한 지연 값을 알 수 있다.
도 4는 본 발명의 실시예들에 따른, 타이밍 및 타임스탬핑 동작들을 위한 하드웨어 보조 회로의 사용을 예시한다.
MCU(402)는 주어진 노드 내의 요소들의 계층구조를 포함할 수 있다. 노드는 애플리케이션 계층(410)에서의 소프트웨어와 같이 MCU(402) 상에서 동작하는 요소들을 포함할 수 있다. 소프트웨어는 IEEE 1588에 대한 소프트웨어를 포함할 수 있다. 애플리케이션 계층(410)은 운영 체제(408) 및 MAC(406)를 통해 PHY(414)로 인터페이싱할 수 있다. PHY(414)는 네트워크(416)를 통해 다른 노드들과 통신할 수 있다.
일 실시예에서, 노드는 하드웨어 보조 회로(412)를 포함할 수 있다. 하드웨어 보조 회로(412)는 타임스탬핑이 수행될 수 있는 곳을 식별할 수 있고, 그러한 타임스탬프가 예를 들어 애플리케이션 계층(410) 상에서 실행되는 소프트웨어로 포워딩될 수 있다는 것을 식별할 수 있다. 추가의 실시예에서, 하드웨어 보조 회로(412)는 하드웨어에서 PHY(414)에 의해 구현될 수 있다.
다른 네트워크 해결책들과는 대조적으로, 타임스탬프들은, 일단 생성되면, PHY(414)와 같은 PHY에 의해 프로세싱되지 않을 수 있다. 대신에, PHY(414)는 타임스탬프들을 MCU(402)로 포워딩할 수 있다. MCU(402)는, 예를 들어 애플리케이션 계층(410) 상의 소프트웨어를 통해 타임스탬프 측정 및 클록 동기화를 수행할 수 있다. 따라서, MCU(402)는, 예를 들어 IEEE 1588 동작들을 수행하기 위한 전용 하드웨어를 필요로 하지 않을 수 있다. MCU(402)는 범용 타이머 또는 카운터 유닛 또는 회로를 포함할 수 있다. 그러한 회로는 외부 이벤트들의 시간 및 주파수들을 측정하도록 구성될 수 있다. 회로는 타임스탬프 측정을 수행하는 데 사용될 수 있다. 결과적으로, 타임스탬프 정보의 소프트웨어 소비자는 클록 동기화를 수행할 수 있다.
하드웨어 보조 회로(412)는 임의의 적합한 방식으로 구현될 수 있다. 하드웨어 보조 회로(412)는 MCU(402)의 타이머 또는 카운터 주변기기들을 포함할 수 있다. 하드웨어 보조 회로(412)는 PHY(414)의 시간 포트를 포함할 수 있다. 타이머 또는 카운터는, 예를 들어 자유 실행(free-running) 32-비트 카운터에 의해 구현될 수 있다. 그러한 카운터는 232에 도달 시에 그리고 0으로 복귀 시에 오버플로우할 수 있다. 그러나, 그러한 카운터는 그렇지 않으면, 증분시키는 것 이외에 그의 값을 리셋하거나 수정하지 않을 수 있다. 대신에, 하드웨어 보조 회로(412)는 이벤트를 마킹하기 위해 특정 시점에 그러한 카운터의 캡처를 수행할 수 있다. 캡처는, 예를 들어 외부 신호로부터, 예컨대 PHY(414)로부터 네거티브, 포지티브, 또는 네거티브-또는-포지티브 에지에 의해 정의될 수 있다. 이어서, 캡처된 32-비트 값은 레지스터 또는 메모리 액세스를 통해 MCU(402) 또는 제어기에 의해 액세스가능할 것이다. 다른 예들에서, 타이머 또는 카운터는, 그것이 요구에 따라 리셋될 수 있고 또는 요구에 따라 시작되거나 중단될 수 있다는 점에서 구성가능한 32-비트 카운터를 포함할 수 있다. 그러한 요구식 거동은 외부 신호로부터의, 예컨대 PHY(414) 또는 MCU(402)로부터의 예를 들어, 네거티브, 포지티브, 또는 네거티브-또는-포지티브 에지를 사용하여 수행될 수 있다. MCU(402) 상에서 실행되는 소프트웨어가 카운터로부터의 타임스탬프를 필요로 하는 경우, 소프트웨어는 최종 이벤트 이후로부터 다수의 클록 틱들을 취출(retrieve)하기 위해 현재 타이머 값을 판독할 수 있다. 또 다른 예에서, 타이머는 MCU(402) 또는 다른 소스로부터의 외부 클록을 사용할 수 있고, PHY(414)로부터의 이벤트들에 의해 게이팅될 수 있다. 이러한 예에서, 카운터는 PHY(414)로부터의 신호가 인에이블되는 동안에만 클록 틱들을 카운트할 수 있다. MCU(402)의 소프트웨어는 카운터를 판독할 수 있고 그것을 리셋할 수 있다. 임의의 그러한 경우들에서, MCU(402) 상의 입력 캡처 회로는 PHY(414) 상의 GPIO 핀들로부터 외부 이벤트의 수신에 기초하여 타이머로부터 카운터 값들을 캡처하도록 구성될 수 있다. 상승 또는 하강 에지들이 캡처를 트리거링하기 위해 사용될 수 있다. 일 실시예에서, 타이머는 그러한 외부 이벤트들에 대해 리셋하도록 구성될 수 있다. 클록 틱들에서 캡처된 타이머 값은 시간 동기화를 수행하는 데 필요한 타임스탬핑 포인트를 결정하는 데 사용될 수 있다. PHY(414)는 하드웨어 지원(412)으로 타임스탬핑을 수행하도록 구성될 수 있지만, 주어진 패턴이 매칭되기 전에는 그렇지 않다. 일 실시예에서, 타임스탬핑 포인트는 프레임의 시작(SOF) 시에 있을 수 있다. 따라서, PHY(414)로부터의 타임스탬프 이벤트가 도달할 때, 스탬핑될 시간은 이미 통과되었다. 따라서, (SOF에서의) 원하는 타임스탬핑 포인트와 (패턴이 매칭된 후의) 실제 PHY 타임스탬핑 포인트 사이의 시간 거리는 td로서 주어진 일정한 값으로서 계산되거나 가정될 수 있다. 이러한 값을 사용하여, 원래의 원하는 타임스탬핑 포인트는 그것이 수신된 후에 그것이 보고되는 경우에도 소프트웨어에서 복원될 수 있다.
타이머 또는 카운터로부터의 측정치는 다수의 클록 사이클들 또는 틱들일 수 있다. 클록 사이클 또는 틱 지속기간은 선택된 로컬 클록 소스에 차례로 좌우된다. 클록 사이클들 또는 틱들의 개수는 PHY(414)로부터의 2개의 외부 이벤트들 사이에 기록되어 있는 그러한 개수일 수 있다. 카운터 또는 타이머의 크기는, 예를 들어 오버플로우가 발생하기 전에 적어도 4초를 유지하기에 충분할 수 있다. 다른 예들에서, 카운터 또는 타이머의 크기는 특정 애플리케이션에 따라 4초 이상 또는 그 미만을 유지하도록 크기가 정해질 수 있다. 각각의 타이밍 함수에 대해 다수의 타이머들 또는 카운터들이 사용될 수 있다.
오버플로우 인터럽트가 타이머 또는 카운터의 범위를 확장하는 데 사용될 수 있다. 그렇게 하기 위해, 타이머 또는 카운터의 오버플로우 시에 인터럽트가 생성될 수 있고, 인터럽트는 소프트웨어 카운터로 하여금 증가하게 할 수 있다. 소프트웨어 카운터는 전체의, 조합된 카운터의 상부 비트들일 수 있는 반면, 하부 비트들은 하드웨어 타이머 또는 카운터일 수 있다. 후속적으로, 카운터로부터의 값들을 판독할 때, 하드웨어 및 소프트웨어에서 하부 및 상부 비트들에서의 또는 그로부터의 판독 값들 또는 리셋 값들을 동기화시키기 위해 추가적인 노력이 필요할 수 있다.
하드웨어 보조 회로(412)는 PHY(414) 내에 또는 PHY(414)의 외부에 부분적으로 구현될 수 있다. PHY(414) 내의 클록을 갖는 PHY(414) 내의 타임스탬핑을 사용하는 다른 해결책들은 PHY(414)의 외부로부터 동일한 클록을 사용할 수 없을 수도 있다. 대신에, MCU(402)의 타이머-카운터 주변기기들을 부분적으로 사용하거나 또는 사용하지 않고 구현되는 하드웨어 보조 회로(412)는 전체 마이크로제어기 시스템에 이용가능한 클록을 이용할 수 있다. 따라서, 하드웨어 보조 회로(412)에 의해 저장된 카운터들의 값들은 클록의 추가 사용을 위해 그러한 시스템 전역(system-wide) 클록을 조정하는 데 사용가능할 수 있다.
도 5는 본 발명의 실시예들에 따른, 마스터 노드의 관점에서 예시적인 노드 셋업의 흐름도(500)를 예시한다. 셋업은 2 단계 모드로 동작하는 임의의 적합한 시간 동기화 방법들에 따라 PTP 노드와 같은 임의의 적합한 노드에 대한 것일 수 있다. 각각의 하드웨어 보조 회로(412) 내의 노드의 타이머 또는 카운터는 로컬 클록 소스에 액세스하도록 구성될 수 있다. 타이머 또는 카운터는 로컬 클록 소스로부터 실행되는, 자유 실행 32 비트 카운터일 수 있다. 로컬 클록 소스는, 예를 들어 +/-100 백만분율(ppm)의 주파수 정확도를 갖는 25 ㎒의 최소값일 수 있다. 로컬 클록의 기간 및 그에 따른 주어진 클록 틱에 대한 시간은 localTickPeriod로서 주어질 수 있고, 서브-나노초의 정확도로 나노초로 표현될 수 있다. 이것은 로컬 클록 소스의 주파수로부터 도출될 수 있다.
505에서, PTP 동기화 프레임은, 1 헤르츠와 같은, clockMasterSyncInterval에 의해 주어진 고정된, 구성가능한 레이트(rate)로 개시될 수 있다. 자동차 응용들에서, 레이트는 6 또는 8 헤르츠일 수 있다. 시동 동안, 더 높은 레이트들, 예컨대 30 헤르츠가 동기화를 가속화하는 데 사용될 수 있다. 프레임은 송신 버스 상에서 다른 노드들로 전송될 수 있다. PTP 동기화 프레임들은 clockMasterSyncInterval에 의해 주어진 고정된, 구성가능한 레이트로 전송될 수 있다. 510에서, 송신된 각각의 프레임 상에서, 노드의 PHY는 동기화 프레임이 전송되고 있는 동안 인식되었다는 이벤트를 노드의 MCU에 시그널링할 수 있다. 송신된 각각의 동기화 프레임 상에서, 노드의 PHY는, 하드웨어 보조 회로의 한 부분으로서, PHY에 의해 생성된 외부 이벤트로 시그널링할 수 있다. 이벤트는 515 에서, 하드웨어 보조 회로에 의해 정확한 타임스탬프를 기록하는 데 사용될 수 있다. 타임스탬프는 카운터 값의 형태일 수 있다. 타임스탬프는 프레임이 PHY를 떠나는 시간을 나타낼 수 있다. 현재 카운터 값은 syncEventEgressTimestamp로서 기록될 수 있는데, 이는 이후에 MCU에 의해 사용되어 PHY 이벤트의 정확한 마스터 시간을 결정할 수 있다.
510 및 515와 병렬로, MCU는 송신이 행해질 때까지 송신되고 있을 수 있다. 에러가 발생하는 경우, 그것은 보고될 수 있고 동기화 메시지를 생성하는 프로세스가 반복될 수 있다. 일단 송신이 완료되면, 520이 수행될 수 있다.
520에서, PTP 동기화 프레임에 대응하는 PTP 후속 프레임이 전송될 수 있다. 후속 프레임은 캡처된 타임스탬프에 기초하여 마스터(또는, 적절할 경우, 그랜드마스터) 시간으로 전송될 수 있다. MCU에서 실행되는 소프트웨어는 이전에 캡처된 타이머 카운터 값, syncEventEgressTimestamp을 판독하고 사용할 수 있다. 이 값은, (01/01/1970 이후로부터의 시간으로서 주어진) 에포크(epoch) 이후로 나노초의 단위로, IEEE 802.1AS에 부응하는 타임스탬프로 변환될 수 있다. 그러한 변환 전에, 이 값은 단순히 임의의 다른 제로 시간에 대한 클록 틱들의 절대량일 수 있다. 후속 프레임의 시간은 사용되지 않을 수 있다. preciseOriginTimestamp 값은 PTP 후속 프레임 내부에 포함될 수 있는데, 이는 동기화 프레임의 syncEventEgressTimestamp와 유사할 수 있다. syncEventEgressTimestamp는 IEEE 802.1AS 타임스탬프로 컨버팅될 수 있는데, 이는 이어서 후속 프레임에 대한 preciseOriginTimestamp로서 사용된다. syncEventEgressTimestamp는, td만큼 타임스탬핑 포인트 오프셋 시프트를 적용함으로써 보정된, localTickPeriod 상수와 그것을 곱함으로써 그것을 나노초로 컨버팅함으로써 preciseOriginTimestamp로 컨버팅될 수 있다. 타임스탬핑 포인트 오프셋은 타임스탬핑 포인트를 보정하기 위해, 요소(306)에서 도 3에 도시된 바와 같은 시간 td 만큼의 오프셋 시프트일 수 있다. IEEE 802.1AS에 의해 요구된 타임스탬핑 포인트는 도 4에서 404에 도시될 수 있다. PHY는, 패킷이 수신기에서 인식된 후에만 매칭이 있을 것이기 때문에 타임스탬프 지연될 것이다. 이는 페이로드의 제1 바이트 동안 발생할 수 있다. 이러한 오프셋 시프트가 고정될 수 있기 때문에, 사용된 고정 비트레이트에 따라, 측정된 타임스탬프는 일정한 값 td를 감산함으로써 보정되어 그것을 요구된 타임스탬핑 포인트로 보정할 수 있다. 결과는 또한, 제로 오프셋 시프트에 따라 조정될 수 있는데, 이는 시간을 최종 시스템 시작 이후로의 시간에서부터 에포크 이후로의 시간으로 변환할 수 있다. 결과들은 PTP 타임스탬프일 수 있다. PTP 타임스탬프는 (예를 들어, 48 비트의) 초 카운터 및 (예를 들어, 30 비트의) 나노초 카운터를 포함할 수 있다. 후속 프레임 내의 모든 다른 값들은 일정할 수 있다.
흐름도(500)의 실행 동안, MCU는, 시간의 상위 절반(> 32 비트들)의 트랙을 유지하는, 핸들링 타이머 오버플로우들을 포함하는, IEEE 1588의 목적들을 위한 타이밍 및 클록킹을 관리할 수 있고, 오버플로우들 상의 타이머 인터럽트 요청 큐 내의 카운터를 증분시킬 수 있다.
도 6은 본 발명의 실시예들에 따른, 클라이언트 노드의 관점에서 예시적인 노드 셋업의 흐름도(600)를 예시한다. 셋업은 1 단계 또는 2 단계 모드에서 동작하는 IEEE 802.1AS 또는 IEEE 1588, 또는 다른 시간 동기화 방법들에 따라 PTP 노드와 같은 임의의 적합한 노드에 대한 것일 수 있다. 각각의 하드웨어 보조 회로(412) 내의 노드의 타이머 또는 카운터는 로컬 클록 소스에 액세스하도록 구성될 수 있다. 타이머 또는 카운터는 로컬 클록 소스로부터 실행되는, 자유 실행 32 비트 카운터일 수 있다. 로컬 클록 소스는, 예를 들어 +/-100 백만분율(ppm)의 주파수 정확도를 갖는 25 ㎒의 최소값일 수 있다. 로컬 클록의 기간 및 그에 따른 주어진 클릭에 대한 시간은 localTickPeriod로서 주어질 수 있고, 서브-나노초 정확도로 나노초로 표현될 수 있다. 이것은 로컬 클록 소스의 주파수로부터 도출될 수 있다.
605에서, PTP 동기화 이벤트가 클라이언트 노드의 PHY에서 수신될 수 있다. 610에서, PHY는 하드웨어 보조 회로의 한 부분으로서 신호를 MCU로 전송할 수 있다. 615에서, 하드웨어 보조 회로를 완성하기 위해 타임스탬프 값이 MCU 내의 타이머로부터 캡처될 수 있다. 동시에, PHY는 동기화 프레임의 송신을 시작할 수 있고, MCU는 620에서 메시지를 수신할 것이다.
625에서, 타임스탬프는 MCU에 의해 판독될 수 있다. 타임스탬프는 (32-비트 카운터 값이 사용된다는 것, 그것이 추가 프로세싱을 필요로 한다는 것, 및 그것이 하기에서 추가로 Cv32 값들에 의해 조작될 수 있다는 것을 나타내기 위해) syncEventIngressTimestamp 또는 syncReceiptLocalCv32로서 지칭될 수 있고, 위에서 사용된 유출 타임스탬프와 유사할 수 있다. 이 값으로부터, syncReceiptLocalTime는 정규화 후에 나노초로 도출될 수 있고(여기서, 그것은 localTickPeriod에 의해 곱해짐), 제로 오프셋 시프트 및 타임스탬핑 포인트 오프셋 시프트를 td만큼 적용하여 타임스탬핑 포인트를 보정할 수 있다.
630에서, PTP 후속 메시지가 수신될 수 있고, 635에서, 후속 메시지가 프로세싱될 수 있다. PTP 후속 프레임으로부터, 필드들 preciseOriginTimestamp, rateRatiofollowUpCorrectionField가 수신될 수 있다. 값 followUpCorrectionField는 마스터와 이러한 슬레이브 사이의 모든 브리지들을 통한 동기화 이벤트 메시지의 전파 지연을 포함한다. 각각의 홉에서, 전파 지연이 추가된다. RateRatio는 최종 노드 대 그랜드마스터의 비일 수 있다. PreciseOriginTimestamp는 전송자에서 계산되었을 수 있고, 동기화 메시지가 그랜드마스터 노드를 떠났을 때의 타임스탬프일 수 있고, 마스터 노드에서의 syncEventEgressTimestamp일 수 있다. FollowUpCorrectionField는 업스트림 지연에 관한 지연 정보를 포함할 수 있는데, 이는 우리의 로컬 syncEventIngressTimestamp에 대한 그랜드마스터 시간일 수 있다. 보정 필드 플러스 정확한 기점 타임스탬프 플러스 업스트림 지연이 정확한 시간일 수 있다.
640에서, 이전에 캡처된 시간들은, TargetClock으로서 주어진, 그 자신의 로컬 클록과의 동기화를 업데이트하기 위해 추가의 계산들을 수행하는 데 사용될 수 있다. 이들은, 예를 들어 IEEE 802.1AS에 따라 수행될 수 있다. 예를 들어,
syncReceiptTime = preciseOriginTimestamp + followUpCorrectionField + neighborPropDelay*(rateRatio/neighborRateRatio) + delayAsymmetry
IEEE 802.1AS-2011, 도 10-9에서 정의된 바와 같음. NeighborPropDelay NeighborRateRatio는 슬레이브 노드 상에서 Pdelay 측정들을 실행하는 것에서 비롯된다. 그러한 측정들은 타이머/카운터 주변기기들을 이용하여 수행될 수 있지만, 또한 상수들에 의해 대체될 수 있다. NeighborPropDelay는 로컬 포트 및 이웃하는 포트의 업스트림 지연이고, 이를 통해 sync가 통과하였다. NeighborRateRatio는 로컬 클록과 이웃하는 노드의 클록 사이의 비이고, 이를 통해 sync가 통과하였다. DelayAsymmetry는 그랜드마스터 시간 베이스에 대해 이 포트에 부착된 링크에 대한 전파 지연의 비대칭도이다.
일부 실시예들에서, 슬레이브가 Pdelay 측정들을 수행하지 않고 이에 따라 neighborPropDelayneighborRateRatio을 수집할 수 없는 경우, 이러한 계산은 다음과 같도록 단순화될 수 있다.
syncReceiptTime = preciseOriginTimestamp + followUpCorrectionField + config neighborPropDelay
여기서, config neighborPropDelay 는 서브-나노초 정확도로 구성가능한 일정한 시간 지속기간이다. 이러한 상수는 수신 경로에 대한 임의의 지연 비대칭 보정들을 미리 포함할 수 있다.
마지막으로, 슬레이브 노드는 IEEE 802.1AS에 따라 gmRateRatio에 대한 값을 연산해야 하는데, 이는 로컬 클록 엔티티의 주파수에 대한 마스터의 클록 소스의 주파수의 측정된 비율이다. 이는 연속적인 동기화 파라미터들의 시퀀스에 걸쳐 수행될 수 있는데, 각각은 아포스트로피에 의해 아래에 도시되어 있고, 여기서 아포스트로피는 후속의 동기화 파라미터 인스턴스를 나타낸다:
gmRateRatio = (syncReceiptTime' - syncReceiptTime) / (syncReceiptLocalTime' - syncReceiptLocalTime)
또는
32 비트 카운터에 대해
gmRateRatio = (syncReceiptTime' - syncReceiptTime) / ((syncReceiptLocalCv32' - syncReceiptLocalCv32) mod 2 32 ) * localTickPeriod
모듈로 연산(modulo operation)은 상이한 비트 레졸루션들이 mod 2s이도록 조정될 수 있고, 여기서 s는 카운터의 비트 크기이다. 동기화 파라미터들의 투플(tuple)은 이러한 동기화 프로세스의 결과로서 업데이트될 수 있다: (syncReceiptTime, syncReceiptLocalTime, syncReceiptLocalCv32, gmRateRatio).
일단 640에서 시간이 동기화되었으면, 동기화된 시간은 임의의 적합한 방식으로 사용될 수 있다. 동기화된 시간은 다양한 시간 관련 연산들에 적용될 수 있다. 이벤트들은 임의의 주어진 그랜드마스터 시간에 생성될 수 있거나, 이벤트들은 동기화된 클록을 사용하여 타임스탬핑될 수 있다.
예를 들어, 외부 이벤트는 동기화된 클록을 사용하여 주변기기에 의해 타임스탬핑될 수 있다. 이벤트는, 예를 들어 GPIO 핀, MCU 상의 주변기기 핀, 또는 임의의 다른 적합한 라우팅 메커니즘에 의해 주변기기로 라우팅될 수 있다. 주변기기는 이벤트를 지켜보도록 그리고 이벤트를 타임스탬핑하기 위해 동기화된 클록에 액세스하도록 구성될 수 있다. 예를 들어, 자동차 네트워크 내의 센서 제어기는 먼저 도 6의 방법들을 사용하여 외부 클록에 동기화할 수 있다. 이어서, 센서 제어기는 접속된 센서 스위치로부터의 전기 이벤트와 같은 이벤트들을 타임스탬핑할 수 있다. 정확한 타임스탬프는 네트워크 내의 다른 노드들에 대한 이벤트의 표시와 함께 전송될 수 있다. 그러한 예에서, 타이머-카운터 주변기기는 하드웨어 내의 그러한 이벤트들에 대해 모니터링하도록, 그리고 인입 신호 에지 시에, 타이머의 캡처된 값을 그랜드마스터 시간 베이스에 대한 타임스탬프로 변환하여, 다른 시간 인식 노드들이 타임스탬프를 적절히 사용할 수 있게 하도록 구성될 수 있다. 이러한 타임스탬프는 eventCaptureTime로서 제공될 수 있다.
주변기기는 이벤트 E 상에서 32-비트 카운터를 캡처하도록, 그리고 카운터 또는 타이머의 캡처된 값을 판독하고 그것을 eventCaptureLocalCv32로서 저장하기 위해 핸들러를 구현하도록 구성될 수 있다. 도 6의 클록 동기화 프로세스의 최종 업데이트로부터의 파라미터들을 사용하여, 측정된 시간을 그랜드마스터 시간에 관련시키기 위해 하기의 계산이 수행될 수 있다.
eventCaptureTime = (((eventCaptureLocalCv32 - syncReceiptLocalCv32) mod 2 32 ) * localTickPeriod * gmRateRatio) + syncReceiptTime
동기화된 이벤트 생성을 수행하기 위해, 외부 이벤트 EE에 관련된 MCU 출력 핀 상에 신호 에지를 생성함으로써, 그랜드마스터 시간 베이스와 관련하여, 주어진 eventTriggerTime에서 생성되어야 한다. 이는 카운터 비교들의 매칭 상의 출력 신호를 트리거링하도록 또는 토글링하도록 프로그래밍될 수 있는 하드웨어 보조 회로의 타이머-카운터 주변기기에 의해 수행될 수 있다. 주변기기는, 타이머 또는 클록 값이 프로그래밍된 임계치와 매칭될 때, 이벤트를 생성하는 비교기를 포함할 수 있다. eventTriggerLocalCv32로서 주어진 임계 값을 프로그래밍하기 위해, 주어진 eventTriggerTime이 먼저 변환되어야 한다:
이벤트 시간이 가까운 미래인 경우 다음과 같다.
eventTriggerLocalCv32 = (((eventTriggerTime - syncReceiptTime) / gmRateRatio / localTickPeriod) + syncReceiptLocalCv32) mod 2 32 . 타이머 또는 카운터의 값에 대한 이러한 값의 매치에서, 인터럽트가 트리거링될 수 있다. 또한, 주변기기는 다른 사용을 위해 자유롭게 될 수 있다.
일부 실시예들에서, 하이브리드 접근법이 인에이블될 수 있다. 예를 들어, 하나의 경로가 고정된 레이턴시를 갖는 경우, 그것은 MAC 계층에서 타임스탬핑될 수 있다. 가변 레이턴시를 갖는 다른 경로들이 PHY에서 타임스탬핑될 수 있다.
본 발명은 하나 이상의 실시예들의 면에서 기술되었으며, 명확히 언급된 것들과는 별개로, 많은 등가물들, 대안들, 변형들, 및 변경들이 가능하고 본 발명의 범주 내에 있다는 것을 인식한다. 본 발명이 다양한 변경들 및 대안적인 형태들을 허용하지만, 그들의 특정한 예시적인 실시예들이 도면들에 도시되었고 본 명세서에 상세히 설명되어 있다. 그러나, 특정 예시적인 실시예들의 본 명세서에서의 설명은 본 발명을 본 명세서에 개시된 특정한 형태들로 한정하는 것으로 의도되지 않는다는 것이 이해되어야 한다.

Claims (15)

  1. 장치로서,
    수신된 패킷들의 콘텐츠를 상기 장치에 매칭시키도록 그리고 패킷이 수신되었는지 여부를 식별하도록 구성된 패킷 매칭 회로;
    동기화 패킷이 매칭되었다는 상기 패킷 매칭 회로로부터의 신호에 기초하여 동기화 타임스탬프를 제공하도록; 그리고,
    상기 동기화 패킷의 수신 후에 후속 패킷이 매칭되었다는 상기 패킷 매칭 회로로부터의 신호에 기초하여 후속 타임스탬프를 제공하도록 구성된 하드웨어 타이머 회로; 및
    상기 동기화 타임스탬프에 기초하여 그리고 상기 후속 타임스탬프에 기초하여 동기화된 클록 베이스를 결정하기 위해 클록 베이스를 조정하도록 구성된 프로세서를 포함하는, 장치.
  2. 제1항에 있어서, 상기 하드웨어 타이머 회로는 상기 패킷 매칭 회로와는 별개인, 장치.
  3. 제1항 또는 제2항에 있어서, 상기 하드웨어 타이머 회로는 상기 프로세서를 포함하는 마이크로제어기 상의 하나 이상의 범용 입-출력 핀들을 통해 액세스가능한, 장치.
  4. 제1항 또는 제2항에 있어서, 집적 회로 디바이스는 PHY인, 장치.
  5. 제4항에 있어서, 상기 하드웨어 타이머 회로는 상기 프로세서 상에서 실행되는 소프트웨어에 이용가능한 클록을 사용하여 상기 PHY의 레벨에서 상기 동기화 및 상기 후속 타임스탬프를 생성하도록 구성되는, 장치.
  6. 제1항 또는 제2항에 있어서,
    상기 장치는 입력 포트 및 이벤트 타이머를 추가로 포함하고, 상기 이벤트 타이머는 상기 입력 포트를 통한 외부 이벤트 신호의 수신 시에 클록 카운트를 제공하도록 구성되고; 그리고
    상기 프로세서는 상기 동기화 타임스탬프에 기초하여 그리고 상기 후속 타임스탬프에 기초하여 상기 클록 베이스를 조정함으로써 생성된 상기 동기화된 클록 베이스에 기초하여 상기 외부 이벤트 신호의 클록 카운트를 조정하도록 추가로 구성되는, 장치.
  7. 제1항 또는 제2항에 있어서,
    상기 동기화 패킷은 전송자 타임스탬프를 포함하도록 구성되고;
    상기 후속 패킷은 조정 타임스탬프를 포함하도록 구성되고;
    상기 프로세서는 상기 조정 타임스탬프를 상기 전송자 타임스탬프에 적용하는 것에 기초하여 상기 동기화된 클록 베이스를 결정하기 위해 상기 클록 베이스를 조정하도록 추가로 구성되는, 장치.
  8. 제1항 또는 제2항의 장치를 포함하는, 마이크로제어기.
  9. 방법으로서,
    임의의 패킷 매칭 회로를 이용하여, 수신된 패킷들의 콘텐츠를 상기 패킷 매칭 회로에 매칭시키고 패킷이 수신되었는지 여부를 식별하는 단계;
    하드웨어 타이머 회로를 이용하여:
    동기화 패킷이 매칭되었다는 상기 패킷 매칭 회로로부터의 신호에 기초하여 동기화 타임스탬프를 제공하는 단계; 및
    상기 동기화 패킷의 수신 후에 후속 패킷이 매칭되었다는 상기 패킷 매칭 회로로부터의 신호에 기초하여 후속 타임스탬프를 제공하는 단계; 및
    프로세서를 이용하여, 상기 동기화 타임스탬프에 기초하여 그리고 상기 후속 타임스탬프에 기초하여 동기화된 클록 베이스를 결정하기 위해 클록 베이스를 조정하는 단계를 포함하는, 방법.
  10. 제9항에 있어서, 상기 프로세서를 포함하는 마이크로제어기 상의 하나 이상의 범용 입-출력 핀들을 통해 상기 하드웨어 타이머 회로에 액세스하는 단계를 추가로 포함하는, 방법.
  11. 제9항 또는 제10항에 있어서, 상기 하드웨어 타이머 회로는 상기 패킷 매칭 회로와 별개로 동작되는, 방법.
  12. 제9항 또는 제10항에 있어서, 집적 회로 디바이스는 PHY인, 방법.
  13. 제12항에 있어서, 상기 하드웨어 타이머 회로를 이용하여, 상기 프로세서 상에서 실행되는 소프트웨어에 이용가능한 클록을 사용하여 상기 PHY의 레벨에서 상기 동기화 및 상기 후속 타임스탬프를 생성하는 단계를 추가로 포함하는, 방법.
  14. 제9항 또는 제10항에 있어서,
    입력 포트 및 이벤트 타이머를 이용하여, 상기 입력 포트를 통한 외부 이벤트 신호의 수신 시에 클록 카운트를 제공하는 단계; 및
    상기 프로세서를 이용하여, 상기 동기화 타임스탬프에 기초하여 그리고 상기 후속 타임스탬프에 기초하여 상기 클록 베이스를 조정함으로써 생성된 상기 동기화된 클록 베이스에 기초하여 상기 외부 이벤트 신호의 클록 카운트를 조정하는 단계를 추가로 포함하는, 방법.
  15. 제9항 또는 제10항에 있어서,
    상기 동기화 패킷은 전송자 타임스탬프를 포함하고;
    상기 후속 패킷은 조정 타임스탬프를 포함하고;
    상기 방법은, 상기 프로세서를 이용하여, 상기 조정 타임스탬프를 상기 전송자 타임스탬프에 적용하는 것에 기초하여 상기 동기화된 클록 베이스를 결정하기 위해 상기 클록 베이스를 조정하는 단계를 추가로 포함하는, 방법.
KR1020217000947A 2018-06-14 2019-06-14 비용 최적화된 환경들에서 phy 레벨 하드웨어 타임스탬핑 및 시간 동기화의 수행 KR102652569B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862684806P 2018-06-14 2018-06-14
US62/684,806 2018-06-14
US16/440,775 US11050501B2 (en) 2018-06-14 2019-06-13 Performing PHY-level hardware timestamping and time synchronization in cost-sensitive environments
US16/440,775 2019-06-13
PCT/US2019/037152 WO2019241611A1 (en) 2018-06-14 2019-06-14 Performing phy-level hardware timestamping and time synchronization in cost-optimized environments

Publications (2)

Publication Number Publication Date
KR20210019531A KR20210019531A (ko) 2021-02-22
KR102652569B1 true KR102652569B1 (ko) 2024-03-28

Family

ID=68840120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217000947A KR102652569B1 (ko) 2018-06-14 2019-06-14 비용 최적화된 환경들에서 phy 레벨 하드웨어 타임스탬핑 및 시간 동기화의 수행

Country Status (6)

Country Link
US (1) US11050501B2 (ko)
JP (1) JP2021527355A (ko)
KR (1) KR102652569B1 (ko)
CN (1) CN112385183B (ko)
DE (1) DE112019002984T5 (ko)
WO (1) WO2019241611A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020024199A1 (en) * 2018-08-02 2020-02-06 Texas Instruments Incorporated High speed flexled digital interface
WO2020226685A1 (en) * 2019-05-03 2020-11-12 Microchip Technology Incorporated Media access for time-sensitive and best efforts data packets, and related systems, methods and devices
EP3863199A1 (en) * 2020-02-07 2021-08-11 Renesas Electronics Corporation Time synchronisation
CN111447030B (zh) * 2020-03-31 2021-02-19 中国科学院地质与地球物理研究所 地震采集器的网络授时精度控制方法、***及终端设备
DE112021003151T5 (de) * 2020-06-03 2023-04-13 Microchip Technology Incorporated Synchronisierung von elementen in einem netzwerk
US11552871B2 (en) * 2020-06-14 2023-01-10 Mellanox Technologies, Ltd. Receive-side timestamp accuracy
US20220123850A1 (en) * 2020-10-15 2022-04-21 Nxp B.V. Physical layer device with precision timing
CN114519017B (zh) * 2020-11-18 2024-03-29 舜宇光学(浙江)研究院有限公司 用于事件相机的数据传输方法及其***和电子设备
US11968638B2 (en) * 2021-05-07 2024-04-23 Cisco Technology, Inc. Providing a clock value to a client device
CN113708912B (zh) * 2021-07-20 2023-10-10 深圳市风云实业有限公司 一种时钟同步方法及其***
US11973855B2 (en) * 2021-08-25 2024-04-30 Siemens Canada Limited PTP transparent clock with inter-VLAN forwarding
DE102022207477B4 (de) 2022-07-21 2024-04-25 Zf Friedrichshafen Ag Sichere zeitliche Synchronisation von Steuergeräten
DE102023200155A1 (de) * 2023-01-11 2024-07-11 Robert Bosch Gesellschaft mit beschränkter Haftung Sendesignal-Auswertemodul für eine Sende-Empfangseinrichtung einer Teilnehmerstation eines seriellen Bussystems und Verfahren zum Senden einer Nachricht mit differentiellen Signalen in einem seriellen Bussystem

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010190635A (ja) 2009-02-17 2010-09-02 Sony Corp スレーブ装置、スレーブ装置の時刻同期化方法、マスタ装置および電子機器システム
US20110310901A1 (en) 2010-02-16 2011-12-22 Nec Corporation Packet forwarding apparatus, communication system, process rule update method, and program
JP2012501108A (ja) 2008-08-22 2012-01-12 マーベル ワールド トレード リミテッド 高精度時間プロトコルおよび媒体アクセス制御セキュリティをネットワークエレメントに統合する方法および装置
US20140247892A1 (en) 2011-10-07 2014-09-04 Audinate Pty Limited Systems, Methods, and Devices for Networking Over High Impedance Cabling

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7668891B2 (en) * 2005-08-09 2010-02-23 Agilent Technologies, Inc. Adjustable time accumulator
US7885296B2 (en) * 2006-07-27 2011-02-08 Cisco Technology, Inc. Maintaining consistency among multiple timestamp counters distributed among multiple devices
US9112632B2 (en) 2008-01-25 2015-08-18 Cisco Technology, Inc. Supporting efficient and accurate sync/followup timestamps
JP5369814B2 (ja) * 2009-03-26 2013-12-18 ソニー株式会社 受信装置および受信装置の時刻修正方法
WO2011025746A1 (en) 2009-08-25 2011-03-03 Semtech Corporation Measurement and adjustment of real-time values according to residence time in networking equipment without access to real time
JP5509914B2 (ja) * 2010-02-23 2014-06-04 富士通株式会社 情報通信システム及び時刻同期方法
US8913632B2 (en) * 2011-08-05 2014-12-16 Khalifa University Of Science, Technology And Research Method and system for frequency synchronization
US9698926B2 (en) 2013-03-15 2017-07-04 Microsemi Frequency And Time Corporation Distributed two-step clock
US9112631B2 (en) * 2013-09-11 2015-08-18 Khalifa University of Science, Technology, and Research Method and devices for frequency distribution
US9531395B2 (en) 2013-10-02 2016-12-27 Khalifa University Of Science, Technology And Research Method and devices for time and frequency synchronization using a phase locked loop
KR101847366B1 (ko) * 2015-06-08 2018-04-09 미쓰비시덴키 가부시키가이샤 시각 동기 장치 및 시각 동기 시스템
CN106921456B (zh) * 2015-12-24 2018-06-19 中国科学院沈阳自动化研究所 基于ptp协议的多跳无线回程网络时间同步误差补偿方法
CN107294633A (zh) 2016-04-12 2017-10-24 中兴通讯股份有限公司 时间同步方法和装置
EP3270531B1 (en) * 2016-07-11 2022-07-06 ADVA Optical Networking SE System and method of synchronizing a distributed clock in a packet-compatible network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012501108A (ja) 2008-08-22 2012-01-12 マーベル ワールド トレード リミテッド 高精度時間プロトコルおよび媒体アクセス制御セキュリティをネットワークエレメントに統合する方法および装置
JP2010190635A (ja) 2009-02-17 2010-09-02 Sony Corp スレーブ装置、スレーブ装置の時刻同期化方法、マスタ装置および電子機器システム
US20110310901A1 (en) 2010-02-16 2011-12-22 Nec Corporation Packet forwarding apparatus, communication system, process rule update method, and program
US20140247892A1 (en) 2011-10-07 2014-09-04 Audinate Pty Limited Systems, Methods, and Devices for Networking Over High Impedance Cabling

Also Published As

Publication number Publication date
US11050501B2 (en) 2021-06-29
KR20210019531A (ko) 2021-02-22
DE112019002984T5 (de) 2021-03-18
JP2021527355A (ja) 2021-10-11
WO2019241611A1 (en) 2019-12-19
CN112385183A (zh) 2021-02-19
CN112385183B (zh) 2022-06-17
US20190386763A1 (en) 2019-12-19

Similar Documents

Publication Publication Date Title
KR102652569B1 (ko) 비용 최적화된 환경들에서 phy 레벨 하드웨어 타임스탬핑 및 시간 동기화의 수행
Lee et al. Globally synchronized time via datacenter networks
US7885296B2 (en) Maintaining consistency among multiple timestamp counters distributed among multiple devices
US7835402B2 (en) Synchronization module
US11177896B2 (en) Time synchronization device and time synchronization method
Stanton Distributing deterministic, accurate time for tightly coordinated network and software applications: IEEE 802.1 AS, the TSN profile of PTP
KR100614424B1 (ko) 네트워크 노드 동기 방법
EP1525693B1 (en) Clock synchronizing method over fault-tolerant etherent
CN113497803B (zh) 使用商品nic/交换机进行tdma联网的网络元件
JP3698074B2 (ja) ネットワーク同期方法、lsi、バスブリッジ、ネットワーク機器、およびプログラム
US20120275501A1 (en) Pluggable synchronization clocks, networks, systems and methods related thereto
Kannan et al. Precise time-synchronization in the data-plane using programmable switching asics
CN101977104A (zh) 基于ieee1588精确时钟同步协议***及其同步方法
Dong et al. The design and implementation of ieee 1588v2 clock synchronization system by generating hardware timestamps in mac layer
CN115333660A (zh) 精确时间戳校正
Moreira et al. IEEE 1588 Transparent Clock architecture for FPGA-based network devices
US20230300068A1 (en) Synchronization in Distributed Communication Systems
CN214480655U (zh) 一种兼容可定义确定性通信以太网的嵌入式设备
CN214627000U (zh) 一种兼容可定义确定性通信以太网的网卡设备
Kutschera et al. IEEE 1588 clock synchronization over IEEE 802.3/10 GBit ethernet
Pandey et al. Implementation of FreeRTOS based Precision Time Protocol (PTP) application as per IEEE1588v2 standards for Xilinx Zynq UltraScale Plus MPSoC devices
Deev et al. Subnanosecond synchronization method based on the synchronous Ethernet network
Liu et al. A universal method for implementing IEEE 1588 with the 1000M Ethernet interface
US10374734B1 (en) Multi-tier time-synchronization architecture
JP2001308868A (ja) Ieee1394バス接続装置、媒体及び情報集合体

Legal Events

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