KR101912135B1 - 저속 버스 타임 스탬프 방법 및 회로부 - Google Patents

저속 버스 타임 스탬프 방법 및 회로부 Download PDF

Info

Publication number
KR101912135B1
KR101912135B1 KR1020187005002A KR20187005002A KR101912135B1 KR 101912135 B1 KR101912135 B1 KR 101912135B1 KR 1020187005002 A KR1020187005002 A KR 1020187005002A KR 20187005002 A KR20187005002 A KR 20187005002A KR 101912135 B1 KR101912135 B1 KR 101912135B1
Authority
KR
South Korea
Prior art keywords
clock signal
communication link
slave device
time
information
Prior art date
Application number
KR1020187005002A
Other languages
English (en)
Other versions
KR20180023024A (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 KR20180023024A publication Critical patent/KR20180023024A/ko
Application granted granted Critical
Publication of KR101912135B1 publication Critical patent/KR101912135B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

저속 버스 타임 스탬핑 및 트리거링을 위한 방법들 및 회로부가 본 개시에 제공된다. 마스터 디바이스 및 슬레이브 디바이스들은 데이터 라인 및 클럭 라인을 포함하는 통신 링크를 통해 인터페이스될 수 있다. 마스터 디바이스는 클럭 라인 상에 클럭 신호를 생성하고 제어하며, 데이터 라인을 통해 슬레이브 디바이스들로 동기화 명령을 전송한다. 동기화 명령에 응답하여, 마스터 디바이스는 각각의 슬레이브 디바이스에서 검출된 이벤트의 타임스탬프 정보를 수신한다. 마스터 디바이스는 클럭 신호의 천이들 및 주파수들을 추적하며, 타임스탬프 정보, 추적된 천이들 및 주파수들에 기초하여 이벤트의 시간을 결정한다. 마스터 디바이스는, 그 슬레이브 디바이스에서 클럭 신호의 천이들, 동기화 명령 및 지연 설정 정보에 기초하여 트리거 신호를 생성하기 위한 지연 설정 정보를 각각의 슬레이브 디바이스로 더 전송할 수 있다.

Description

저속 버스 타임 스탬프 방법 및 회로부
본 개시는 전반적으로 저속 버스 메시지 프로토콜에 관한 것으로서, 더 구체적으로는, 저속 버스 타임 스탬핑(time stamping) 및 트리거링(triggering)을 위한 방법들 및 회로부에 관한 것이다.
집적 회로간(Inter-Integrated Circuit; I2C) 인터페이스는 전형적으로 저속 주변 집적 회로(IC)들을 더 높은 속도의 프로세서들 및 마이크로제어기들에 부착하기 위하여 사용된다. 저속 주변 IC들은 일반적으로 슬레이브(slave) 디바이스들로서 지칭되며, 반면 더 높은 속도의 프로세서 또는 마이크로제어기는 일반적으로 마스터(master) 디바이스로서 지칭된다. 흔히, 슬레이브 디바이스는 센서, 자이로스코프, 컴퍼스, 마이크로폰, 및 유사한 것과 같은 주변 디바이스에 결합될 수 있다. 슬레이브 디바이스는 슬레이브 디바이스에 결합된 주변 디바이스의 동작들을 모니터링하거나 및/또는 제어하도록 구성될 수 있다.
I2C 메시지 프로토콜에 있어서, 2개 이상의 슬레이브 디바이스들에 의한 동시 동작은 I2C 저속 직렬 버스에 독립적인 (예를 들어, 마스터 디바이스에 의해 생성되는) 공통 트리거 신호를 사용할 수 있다. 유사하게, 이벤트(예를 들어, 슬레이브 디바이스에 결합된 주변 디바이스에 의해 수행되는 측정)가 발생된 때를 결정하기 위하여, 각각의 슬레이브 디바이스는 이벤트가 발생하는 시간을 마스터 디바이스로 시그널링(signal)하기 위하여 마스터 디바이스로 피드백하는 전용 라인을 사용한다. 각각의 슬레이브 디바이스에 대하여, 마스터 디바이스는, 마스터 디바이스가 슬레이브 디바이스로부터 이벤트 마커(marker) 신호를 수신할 때 실제 시간(real time) 클럭의 상태(즉, 이벤트의 시간 또는 이벤트의 타임스탬프(timestamp))를 캡처(capture)할 수 있다. 이러한 접근 방식의 단점은 마스터 디바이스와 슬레이브 디바이스 사이에 다수의 추가적인 통신 라인들(즉, 보드 트레이스(trace)들) 및 추가적인 신호 핀들이 요구된다는 것이다.
본 개시의 특정 실시예들은 시스템을 제공한다. 시스템은 전반적으로, 통신 링크에 결합된 마스터 디바이스로서, 마스터 디바이스는 통신 링크를 통해 클럭 신호 및 동기화 명령(command)을 송신하는, 상기 마스터 디바이스 및 통신 링크에 결합된 하나 이상의 슬레이브 디바이스들로서, 각각의 슬레이브 디바이스는 동기화 명령과 그 슬레이브 디바이스에서 검출된 이벤트 사이의 클럭 신호의 선택된 천이(transition)들의 수를 추적하고, 동기화 명령과 그 슬레이브 디바이스에서 검출된 이벤트 사이의 경과된 시간에 대한 정보를 생성하며, 이 정보는 그 슬레이브 디바이스에서 추적된 클럭 신호의 선택된 천이들의 수에 기초하는, 상기 하나 이상의 슬레이브 디바이스들을 포함하며, 마스터 디바이스는 경과된 시간에 대한 정보를 획득하고 이벤트가 그 슬레이브 디바이스에서 검출되었던 시간을 도출(derive)한다.
본 개시의 특정 실시예들은 장치를 제공한다. 장치는 전반적으로, 통신 링크에 결합하기 위한 인터페이스 회로로서, 상기 인터페이스 회로는 통신 링크를 통해 클럭 신호 및 동기화 명령을 송신하고 통신 링크를 통해 동기화 명령과 이벤트가 슬레이브 디바이스에서 검출되는 순간의 시간 사이에 경과되는 클럭 신호의 선택된 천이들의 수를 나타내는 타임스탬프 정보를 수신하는, 상기 인터페이스 회로, 동기화 명령과 동기화 명령 이후에 발생하는 클럭 신호들의 주파수 변화들 사이의 클럭 신호의 선택된 천이들의 카운트(count)를 추적하는 시간 추적 회로(time tracking circuit), 및 타임스탬프 정보 및 클럭 신호의 선택된 천이들의 카운트들에 기초하여 슬레이브 디바이스에서 검출된 이벤트의 시간을 결정하는 시간 계산 회로를 포함한다.
본 개시의 특정 실시예들은 장치를 제공한다. 장치는 전반적으로, 클럭 신호를 운반하는 통신 링크에 결합하기 위한 인터페이스 회로, 및 통신 링크를 통해 수신된 동기화 명령과 이벤트의 검출 사이의 통신 링크 상의 클럭 신호의 선택된 천이들의 수를 추적하기 위한 제어 회로를 포함하며, 인터페이스 회로는 통신 링크를 통해 동기화 명령과 이벤트의 검출 사이의 경과된 시간에 관한 정보를 송신하고, 정보는 클럭 신호의 선택된 천이들의 수에 기초한다.
본 개시의 특정 실시예들은 방법을 제공한다. 방법은 전반적으로, 클럭 신호 및 동기화 명령을 생성하는 단계, 통신 링크를 통해 클럭 신호 및 동기화 명령을 송신하는 단계, 통신 링크를 통해 동기화 명령과 이벤트가 슬레이브 디바이스에서 검출되는 순간의 시간 사이에 경과되는 클럭 신호의 선택된 천이들의 수를 나타내는 타임스탬프 정보를 수신하는 단계, 동기화 명령과 동기화 명령 이후에 발생하는 클럭 신호들의 주파수 변화들 사이의 클럭 신호의 선택된 천이들의 카운트를 추적하는 단계, 및 타임스탬프 정보 및 클럭 신호의 선택된 천이들의 카운트들에 기초하여 슬레이브 디바이스에서 검출된 이벤트의 시간을 결정하는 단계를 포함한다.
본 개시의 특정 실시예들은 장치를 제공한다. 장치는 전반적으로, 클럭 신호를 운반하는 통신 링크에 결합하기 위한 인터페이스로서, 상기 인터페이스는 통신 링크를 통해 동기화 명령 및 제 1 지연 설정 정보를 수신하는, 상기 인터페이스, 및 상기 동기화 명령 이후에 클럭 신호의 선택된 천이들의 수를 추적하며 선택된 천이들의 수가 제 1 지연 설정 정보에 의해 표시된 지연 설정에 도달하는 것에 응답하여 트리거 신호를 생성하는 제어 회로를 포함한다.
본 개시의 특정 실시예들은 방법을 제공한다. 방법은 전반적으로, 클럭 신호를 운반하는 통신 링크를 통해, 동기화 명령 및 제 1 지연 설정 정보를 수신하는 단계, 동기화 명령 이후의 클럭 신호의 선택된 천이들의 수를 추적하는 단계, 및 선택된 천이들의 수가 제 1 지연 설정 정보에 의해 표시된 지연 설정에 도달하는 것에 응답하여 트리거 신호를 생성하는 단계를 포함한다.
본 개시의 특정 실시예들은 장치를 제공한다. 장치는 전반적으로, 통신 링크에 결합하기 위한 인터페이스 회로로서, 상기 인터페이스 회로는 통신 링크를 통해 클럭 신호 및 동기화 명령을 송신하며, 통신 링크를 통해, 통신 링크에 결합된 하나 이상의 슬레이브 디바이스들에서 동기화 명령과 트리거 신호의 생성 사이에 발생할 클럭 신호들의 선택된 천이들의 수를 나타내는 지연 설정 정보를 송신하는, 상기 인터페이스 회로를 포함한다.
본 개시의 특정 실시예들은 방법을 제공한다. 방법은 전반적으로, 마스터 디바이스로부터 통신 링크를 통해 클럭 신호 및 동기화 명령을 송신하는 단계, 및 통신 링크에 결합된 하나 이상의 슬레이브 디바이스들에서 트리거 신호의 생성과 동기화 명령 사이에 발생할 클럭 신호들의 선택된 천이들의 수를 나타내는 지연 설정 정보를 통신 링크를 통해 송신하는 단계를 포함한다.
도 1은 본 개시의 실시예들에 따른, I3C 기반 통신 링크를 통해 다수의 슬레이브 디바이스들과 인터페이스되는 I3C 디바이스를 예시하는 개략도이다.
도 2는 본 개시의 실시예들에 따른, 타임 스탬핑 및 지연된 트리거링을 가능하게 하기 위한 I3C 기반 통신 링크를 통해 슬레이브 디바이스와 인터페이스되는 마스터 디바이스를 포함하는 시스템의 개략도이다.
도 3은 본 개시의 실시예들에 따른, 타임 스탬프 동기화 명령과 관련하여 I3C 직렬 버스들을 구동하는 예시적인 타임 스탬프 동기화 명령 및 신호들의 파형들을 예시한다.
도 4는 본 개시의 실시예들에 따른, 슬레이브 디바이스에서 시간 동기화를 구현하기 위한 회로부의 예시적인 개략도이다.
도 5는 본 개시의 실시예들에 따른, 시간 동기화의 분해능(resolution)을 개선하기 위해 슬레이브 디바이스에서 구현될 수 있는 발진기 회로의 예시적인 개략도이다.
도 6은 본 개시의 실시예들에 따른, 슬레이브 디바이스에서 구현될 수 있는 타임-스탬핑의 구현을 위한 회로부의 예시적인 개략도이다.
도 7은, 본 개시의 실시예들에 따른 마스터 디바이스에 의한 다수의 슬레이브 디바이스들로부터 이벤트들의 시간을 캡처하고 판독하는 예시적인 도면이다.
도 8은 본 개시의 실시예들에 따른, 마스터 디바이스 및/또는 모니터 디바이스에 의한 다수의 슬레이브 디바이스들로부터 이벤트들의 시간을 캡처하고 판독하는 예시적인 도면이다.
도 9는 본 개시의 실시예들에 따른, 발진기 회로(예를 들어, 도 5로부터의 발진기 회로)가 없는 슬레이브 디바이스에서의 타임-스탬핑의 구현을 위한 회로부의 예시적인 개략도이다.
도 10은 본 개시의 실시예들에 따른, 슬레이브 디바이스에서의 지연된 트리거링의 구현을 위한 회로부의 예시적인 개략도이다.
도 11은 본 개시의 실시예들에 따른, 다수의 슬레이브 디바이스들에서 마스터 디바이스에 의해 이벤트의 시간을 제어하는 예시적인 도면이다.
도 12는 본 개시의 실시예들에 따른, 타임 스탬핑을 지원하기 위한 마스터 디바이스에서 구현될 수 있는 회로부의 예시적인 개략도이다.
도 13은 본 개시의 실시예들에 따른, 기준 클럭 신호의 변화들을 타임 스탬핑하기 위해 마스터 디바이스에서 수행되는 방법을 예시하는 도면이다.
도 14는 본 개시의 실시예들에 따른, 마스터 디바이스에서 수행될 수 있는 타임 스탬핑을 위한 방법을 예시하는 순서도이다.
도 15는 본 개시의 실시예들에 따른, 슬레이브 디바이스에서 수행될 수 있는 지연된 트리거링을 위한 방법을 예시하는 순서도이다.
도 16은 본 개시의 실시예들에 따른, 마스터 디바이스에서 수행될 수 있는 지연된 트리거링을 위한 방법을 예시하는 순서도이다.
도면들은 오로지 예시의 목적들을 위하여 본 개시의 실시예들을 도시한다. 당업자는 다음의 설명으로부터, 본원에서 예시되는 구조들 및 방법들의 대안적인 실시예들이 본원에서 설명되는 본 개시의 논의되는 원리들, 또는 이점들로부터 벗어나지 않고 이용될 수 있다는 것을 용이하게 인식할 것이다.
본 개시의 실시예들은, 집적 회로 간(Inter-Integrated Circuit; I2C) 메시지 프로토콜의 개량된 버전인 I3C 메시지 프로토콜과 같은 메시징 프로토콜에 따라 마스터 디바이스와 함께 동작하는 다수의 슬레이브 디바이스들을 동기화시키는 것에 관한 것이다. 본원에서 제공되는 다수의 슬레이브 디바이스들의 동기화는 다수의 슬레이브 디바이스들에서의 지연된 트리거된 이벤트들의 효율적인 개시뿐만 아니라 슬레이브 디바이스들에서 검출된 이벤트들의 정확한 타임 스탬핑을 제공한다.
본 개시의 특정 실시예들은 슬레이브 디바이스들에 결합된 주변 디바이스들의 동시 판독들/동작들의 개시를 지원한다. 예를 들어, 본원에서 제공되는 방법들 및 회로부는, 자이로스코프 및 자기 컴퍼스가 회전하는 물체 상에 위치되어 있는 동안 (슬레이브 디바이스들의 쌍에 결합된) 자이로스코프와 자기 컴퍼스 사이의 측정들을 동기화시킬 수 있다. 이러한 본 개시에서 제공되는 방법들 및 회로부는 또한 단층촬영(tomography)에 유용할 수 있는 다수의 슬레이브 디바이스들 상에서 지연 트리거된 이벤트들을 개시할 수 있다.
본 개시의 실시예들에 따르면, 다수의 슬레이브 디바이스들은 이하에서 더 상세하게 논의되는 바와 같이 I3C 시간 동기화를 통해 동시 동작들(예를 들어, 측정들)을 개시할 수 있다. 이러한 방식으로, 이벤트들을 동기화시키기 위한 사이드 채널에 대한 필요성이 제거될 수 있다. 모든 슬레이브 디바이스들이 동시에 트리거될 수 있기 때문에 시간 단위(time unit)들 또는 로컬 클럭 신호들에 대한 염려가 존재하지 않는다. 더 일반적으로, 본 개시의 실시예들은, 각각의 슬레이브 디바이스에서 미리-결정된 시간 기간의 끝에서 이벤트를 트리거하는 타이머를 시작하는 시간 동기화 명령(command)의 사용을 지원한다. 각각의 슬레이브 디바이스에서의 트리거링 이벤트에 대한 시간 지연은 시간 동기화 명령에 선행할 수 있는 지시 명령(directed command)에 의해 설정될 수 있다.
본 개시의 예시적인 실시예에 있어서, 휴대폰 기반 단층촬영이 고려될 수 있다. 각각의 슬레이브 디바이스는 (예를 들어, 셀룰러 폰의 후면에 위치된) 트랜스듀서(transducer)들의 어레이의 하나의 트랜스듀서를 구동(drive)할 수 있으며, 여기에서 트랜스듀서는 (예를 들어, 빔-형성에 대한 위상을 제어하기 위하여) 전술된 개별적인 시간 지연 간격의 끝에서 (예를 들어, 슬레이브 디바이스로부터의 트리거 신호에 기초하여) 음향 펄스를 생성한다. 그 이후에 바로, 각각의 트랜스듀서는 반사된 파형을 수신할 수 있으며, 여기에서 (예를 들어, 이전의 명령에 의해 정의된 바와 같은, 미리 설정된 시간 개구(time aperture) 내의 그리고 현재 크기/도함수(derivative)/2차 도함수 한계들 내에 있는) 반사된 파형의 각각의 특징이 타임-스탬핑될 수 있으며, 이는 슬레이브 디바이스에서 레지스터에 기록된다. 그런 다음, 마스터 디바이스는 각각의 슬레이브 디바이스를 폴링(poll)하고 저장된 타임-스탬핑된 데이터를 다시 판독할 수 있다. 예를 들어, 특정한 수의 트리거링/타임-스탬핑 동작들 이후에, 복부의 내부(또는 어떤 다른 내부 장기)의 이미지를 만들기에 충분한 동작이 존재한다.
본 개시의 실시예들에 따르면, 그들의 판독들을 타임-스탬핑하기 위하여 사용되는 상이한 슬레이브 디바이스들 내의 독립적인 클럭 신호들 및 카운터 회로들이 동기화될 수 있다. 이러한 방식으로, 상이한 센서들로부터의 이벤트들이 시간적으로 정확하게 상관될 수 있다. 예를 들어, I3C 마이크로폰들의 어레이에 의해 생성된 복수의 측정들은 사운드(예를 들어, "클랩(clap)")이 발원하는 방향을 결정하기 위하여 상관될 수 있으며, 여기에서 어레이 내의 각각의 마이크로폰은 그 자체의 클럭 신호를 가질 수 있다.
본 개시의 실시예들은 새로운 공통 명령 코드(common command code; CCC) 직렬 버스 명령, 즉, 시간 동기화를 위한 "시간 동기화(Time Sync)" 명령의 사용을 지원한다. 일부 실시예들에 있어서, 모든 슬레이브 디바이스들을 직렬 클럭 라인(Serial Clock Line; SCL) 버스를 구동하는 클럭 신호의 특정한 선택된 천이(예를 들어, 하강 에지)에 동기화시키기 위하여 시간 동기화 CCC를 발행할 수 있다. 각각의 슬레이브 디바이스는 시간 동기화 CCC가 검출된 이후에 SCL 신호의 모든 선택된 천이들을 카운트(count)하도록 구성될 수 있으며, 이벤트들을 타임-스탬핑하기 위한 시간 마커(marker)들로서 SCL 클럭 신호의 선택된 천이들을 사용할 수 있다. 마스터 디바이스는 시간동기화 CCC의 검출 이후에 SCL 클럭 신호들의 모든 선택된 천이들을 카운트할 수 있으며, 동시에 (안정적인) 타임 베이스(time base)에 대하여 SCL 클럭 신호의 천이들의 주기(period)를 모니터링할 수 있다. 마스터 디바이스는 또한 타임-스탬프 데이터에 대한 버스 트래픽을 모니터링하고, 타임-스탬프 데이터를 수집하며, 타임 베이스에 대하여 슬레이브 디바이스들에서 검출된 이벤트들(예를 들어, 센서 측정들)의 타이밍을 결정하기 위한 계산들을 수행할 수 있다. 다른 실시예들에 있어서, 마스터 디바이스와는 별개의 모니터 디바이스가 SCL 천이들의 카운팅 및 타임 스탬핑된 데이터의 수집을 수행할 수 있다.
본 개시의 실시예들은 정확한 타임-스탬핑 및 트리거링을 가능하게 한다. 하나 이상의 실시예들에 있어서, 타임-스탬핑을 위하여, 슬레이브 디바이스는 센서를 모니터링하고 센싱되는 이벤트가 발생하는 시간(카운트)을 기록할 수 있다. 하나 이상의 다른 실시예들에 있어서, 트리거링을 위하여, 마스터 디바이스는 그룹 내의 모든 슬레이브 디바이스들에 대하여 정확한 시간(카운트)에 특정 동작들을 개시하기 위한 명령을 발행할 수 있다. 이는 그 이후에 액션(action)이 일어나는 시간-지연의 개시일 수 있으며, 여기에서 시간-지연은 슬레이브 디바이스마다 상이한 지연 값들로 미리 설정될 수 있다는 것을 주의해야만 한다.
도 1은 본 개시의 실시예들에 따른, 다수의 슬레이브 디바이스들(104)과 인터페이스되는 마스터 디바이스(102)를 예시하는 개략도(100)이다. 하나 이상의 실시예들에 있어서, 각각의 슬레이브 디바이스(104)는 더 낮은 속도의 주변 집적 회로(IC)일 수 있으며, 반면 마스터 디바이스(102)는 더 높은 속도의 프로세서 또는 마이크로제어기일 수 있다. 일 실시예에 있어서, 마스터 디바이스(102)는, 마스터 디바이스(102)에 대한 클럭 신호(108)를 생성하는 실제 시간 클럭 소스(106)에 결합될 수 있다. 다른 실시예에 있어서, 마스터 디바이스(102)는 클럭 신호를 생성하기 위한 내부 클럭 신호 소스를 포함할 수 있다.
도 1에 예시된 바와 같이, 마스터 디바이스(102)는 통신 링크(110)를 통해 슬레이브 디바이스들(104)과 인터페이스될 수 있다. 일부 실시예들에 있어서, 통신 링크(110)는 직렬 데이터 라인(serial data line; SDA) 버스(112) 및 SCL 버스(114)를 포함하는 2 와이어(wire) 통신 링크이다. SDA 버스(112)는 I3C와 같은 통신 프로토콜에 따라 단일 종단 신호들을 사용하여 마스터 디바이스(102)와 슬레이브 디바이스들(104) 사이에서 명령들 및/또는 데이터를 전달하기 위해 이용될 수 있는 단일 와이어이다. SCL 버스(114)는, 마스터 디바이스(102)에 의해 생성되거나 및/또는 제어될 수 있는 단일-종단 클럭 신호(예를 들어, 클럭 신호(108))를 전달하기 위하여 사용될 수 있는 단일 와이어 버스이다. 클럭 신호(108)는 SDA 버스(112) 상에서 명령들 및/또는 데이터를 송신하고 수신하기 위한 타이밍 기준으로서 사용된다. 각각의 슬레이브 디바이스(104)는 그 슬레이브 디바이스(104)에 의해 제어되는 주변 디바이스(예를 들어, 트랜스듀서, 마이크로폰, 센서, 및 유사한 것)에 결합될 수 있다.
일부 실시예들에 있어, 이하에서 더 상세하게 논의되는 바와 같이, 마스터 디바이스(102)는, 슬레이브 디바이스들(104)에 결합된 디바이스들(예를 들어, 센서들)로부터의 판독들(이벤트들)을 정확하게 타임-스탬핑하기 위하여 상이한 슬레이브 디바이스들(104) 내의 클럭 신호들의 선택된 천이들(예를 들어, 클럭 신호들의 하강 에지들)의 로컬 카운트들을 동기화시키기 위하여 SDA 버스(112)를 통해 시간 동기화 명령을 발행할 수 있다. 각각의 슬레이브 디바이스(104)에 로컬적으로 저장된 타임-스탬핑된 이벤트들은 각 이벤트의 실제 시간 발생의 계산을 위하여 (예를 들어, SDA 버스(112)를 통해) 마스터 디바이스(102)로 제공될 수 있으며, 여기에서 전역 실제 시간(global real time)이 클럭 신호(108)(예를 들어, SCL 버스(114)에 의해 전달되는 신호)의 천이들에 기초하여 마스터 디바이스(102)에 의해 정확하게 추적될 수 있다. 이러한 방식으로, 상이한 슬레이브 디바이스들(104)에 결합된 상이한 센서들로부터의 이벤트들(예를 들어, 측정들)이 마스터 디바이스(102)에서 시간적으로 정확하게 상관될 수 있다.
일부 다른 실시예들에 대하여, 이하에서 더 상세하게 논의되는 바와 같이, 다수의 슬레이브 디바이스들(104)은 (예를 들어, SDA 버스(112)를 통해 적절한 명령을 전송함으로써) 마스터 디바이스(102)에 의해 제어되는 시간 동기화 트리거링을 통해 동기화된 동작들(예를 들어, 측정들)을 개시할 수 있다. 따라서, 동작들(이벤트들)의 동기화를 위한 마스터 디바이스(102)와 슬레이브 디바이스들(104) 사이의 사이드 통신 채널들에 대한 필요성이 제거될 수 있다.
도 2는 본 개시의 실시예들에 따른, 타임 스탬핑 및 지연된 트리거링을 가능하게 할 수 있는 통신 링크(205)를 통해 슬레이브 디바이스(204)와 인터페이스되는 마스터 디바이스(202)를 포함하는 시스템(200)의 개략도이다. 일부 실시예들에 대하여, 마스터 디바이스(202)는 도 1에 도시된 마스터 디바이스(102)에 대응할 수 있으며, 슬레이브 디바이스(204)는 도 1에 도시된 슬레이브 디바이스들(104) 중 임의의 슬레이브 디바이스에 대응할 수 있다. 도 2에 하나의 슬레이브 디바이스(204)가 예시되지만, 본 개시의 실시예들은 마스터 디바이스(202)에 대하여 다수의 슬레이브 디바이스들(204)을 인터페이스하는 것을 지원한다. 도 2에 예시된 바와 같이, 통신 링크(205)는 SDA 버스(206) 및 SCL 버스(208)를 포함할 수 있다. 도 2에 추가로 예시된 바와 같이, 마스터 디바이스(202) 및 슬레이브 디바이스(204) 둘 모두가 SDA 버스(206)를 구동할 수 있으며, 반면 오로지 마스터 디바이스(202)만이 SCL 버스(208)에 의해 전달될 수 있는 클럭 신호(이하에서 SCL 클럭 신호(208)로서 지칭됨)를 제공하고 제어할 수 있다. 슬레이브 디바이스(204)는 SDA 버스(206)를 통해 마스터 디바이스(202)와 통신할 수 있으며, 슬레이브 디바이스(204)는 슬레이브 디바이스(204)에 의해 검출되는 이벤트를 타임-스탬핑하기 위하여 및/또는 동기화된 지연된 트리거링을 하기 위하여 SCL 클럭 신호(208)를 사용할 수 있으며, 이는 이하에서 더 상세하게 논의된다.
일부 실시예들에 있어서, 마스터 디바이스(204)는 SDA 버스(206)를 통해 단일 데이터 레이트(Single Data Rate; SDR) 명령(210)을 슬레이브 디바이스(204)로 방송(broadcast)할 수 있다. 하나 이상의 실시예들에 있어서, SDR 명령(210)은 시간 동기화 CCC를 포함할 수 있다. (예를 들어, 디코딩 로직(212)에 의해) SDR 명령(210)을 디코딩하면, 슬레이브 디바이스(204)는 디코딩된 SDR 명령(210)에 따라 동작할 수 있다. 일 실시예에 있어서, 시간 동기화 CCC는 시간 추적/트리거 제어 회로(214)에서 검출될 수 있다. 검출된 시간 동기화 CCC에 기초하여, 이하에서 더 상세하게 논의되는 바와 같이, 이벤트가 발생하고 검출될 때까지 시간 동기화 및 시간 추적의 시작을 위한 시간 동기화 마커(Time Sync Marker)(미도시)가 시간 추적/트리거 제어 회로(214)에 의해 생성될 수 있다. 도 2에 예시된 바와 같이, 슬레이브 디바이스(204)는 환경 속성의 측정을 나타내는 센서 출력 신호(218)를 생성하는 센서(216)에 결합될 수 있다. 이벤트 검출기 회로(220)는 센서 출력 신호(218)로부터 이벤트의 발생을 검출하고, 이벤트가 검출될 때 로우(low) 로직 레벨로부터 하이(high) 로직 레벨로 전환되는 이벤트 검출 신호(222)를 생성한다.
일부 실시예들에 있어서, 시간 추적/트리거 제어 회로(214)는, 시간 동기화 마커(미도시)에 의해 표시될 수 있는 시간 동기화의 시작을 참조하여 이벤트(예를 들어, 센서 측정)(222)의 발생을 타임-스탬핑하도록 구성될 수 있다. 이하에서 더 상세하게 논의되는 바와 같이, 시간 추적/트리거 제어 회로(214)는, 적어도 부분적으로 마스터 디바이스(202)에 의해 생성되고 제어될 수 있는 SCL 클럭 신호(208)(즉, 기준 클럭 신호)의 선택된 천이들에 기초하여 이벤트(222)의 타임-스탬핑을 수행할 수 있다. 시간 추적/트리거 제어 회로(214)는 이벤트(222)의 타임 스탬프(224)를 저장할 수 있다. 도 2에 예시되고 이하에서 더 상세하게 논의되는 바와 같이, 통신 로직(226)이 타임 스탬프(224)의 값을 판독하고, (예를 들어, SDA 버스(206)에 다른 트래픽이 없을 때) 타임 스탬프 값(224)을 SDA 버스(206)로 제공할 수 있다. 도 2에 추가로 예시된 바와 같이, 통신 로직(226) 및 디코딩 로직(212)은 슬레이브 디바이스(204)를 SDA 버스(206)에 결합하는 인터페이스(228)를 나타낸다.
일부 실시예들에 있어서, 시간 동기화 CCC를 갖는 SDR 명령(210)을 방송하기 이전에, 마스터 디바이스(202)는, 슬레이브 디바이스(204)에 의한 트리거 신호의 생성에 대한 시간 지연을 결정하는 지연 설정 정보를 갖는 다른 SDR 명령(들)을 (예를 들어, SDA 버스(206)를 통해) 슬레이브 디바이스(204)로 통신할 수 있다. 도 2에 예시된 바와 같이, 트리거 지연 설정 회로(230)는 지연 설정 정보(232)를 생성하며, 이는 슬레이브 디바이스(204)에서 시간 동기화 CCC를 갖는 SDR 명령(210)과 트리거 신호의 생성 사이에 일어날 SCL 클럭 신호(208)의 선택된 천이들이 수의 형태로 트리거 지연을 나타낸다. 일 실시예에 있어서, 트리거 지연 설정 회로(230)는, 시간 동기화 CCC를 갖는 SDR 명령(210) 이후에 발생할 SCL 클럭 신호(208)의 예상되는 주파수 변화들에 기초하여 지연 설정 정보(232)를 생성한다. SCL 클럭 신호(208)의 예상되는 주파수 변화들에 관한 정보는 마스터 디바이스(202)에서 알려져 있다. 마스터 디바이스 통신 인터페이스(236)의 인코더(234)는 지연 설정 정보(232)를 SDR 명령(210) 내에 인코딩한다. 그런 다음, 인코딩된 지연 설정 정보(232)를 갖는 SDR 명령(210)은 지연된 트리거를 개시하기 위하여 SDA 버스(206)를 통해 하나 이상의 슬레이브 디바이스들(204)로 방송된다. 도 2에 추가로 예시된 바와 같이, 일단 슬레이브 디바이스(204)의 디코딩 로직(212)이 SDR 명령(210) 내의 마스터 디바이스(202)에 의해 제공된 지연 설정 정보(예를 들어, 거친(coarse) 지연 설정 및 미세(fine) 지연 설정)를 디코딩하고 그 다음 다른 SDR 명령(210) 내에 인코딩된 시간 동기화 CCC의 검출이 이어지면, 시간 추적/트리거 제어 회로(214)는 제공된 지연 설정 정보에 기초하여 결정된 시간 지연을 가지고 지연된 트리거 신호(238)를 생성하도록 구성될 수 있으며, 이는 이하에서 더 상세하게 논의된다. 일 실시예에 있어서, 지연된 트리거 신호(238)는 슬레이브 디바이스(204)에 결합된 주변 디바이스의 동작(예를 들어, 측정), 예를 들어, 슬레이브 디바이스(204)에 결합된 출력 트랜스듀서(240)의 동작을 개시할 수 있다.
일부 실시예들에 있어서, 도 2에 예시된 마스터 디바이스(202)의 시간 추적 회로(242)는 동기화 신호(244) 상에서 생성된 시간 동기화 마커로부터 시작하는 실제 시간을 추적하도록 구성될 수 있다. 인코더(234)는 시간 동기화 CCC를 갖는 SDR 명령(210)을 생성하기 위하여 동기화 신호(244)를 인코딩하며, 이는 그럼 다음 시간 동기화를 개시하기 위하여 하나 이상의 슬레이브 디바이스들(204)로 SDA 버스(206)를 통해 방송될 수 있다. 동기화 CCC 방송(246)(즉, 시간 동기화 CCC)은 또한 시간 추적 회로(242) 내에서 검출될 수 있으며, 그러면 이는 SCL 클럭 신호(208)의 선택된 천이들의 수를 추적하는 것에 기초하여 마스터 디바이스(202)에서의 시스템 기준 시간의 추적의 시작을 나타내는 시간 동기화 마커를 생성할 수 있다.
일부 실시예들에 있어서, 시간 추적 회로(242) 내의 카운터 회로(248)는 SCL 클럭 신호(208)의 선택된 천이들(예를 들어, 하강 에지들)의 수의 추적을 유지하도록 구성될 수 있다. SCL 클럭 신호(208)의 각각의 주파수에 대하여, (예를 들어, 도 2에서 SCL 카운트 C0으로 표시된) SCL 신호(208)의 선택된 천이들의 수는 래치(latch)(250) 내에 저장될 수 있으며, 이는 주파수 변화(change of frequency; COF) 신호(252)에 의해 제어될 수 있다. 이하에서 더 상세하게 논의되는 바와 같이, SCL 카운트 C0은 시간 동기화 마커와 SCL 클럭 신호(208)의 주파수의 변화 이전의 SCL 클럭 신호(208)의 마지막 선택된 천이(예를 들어, 하강 에지) 사이의 SCL 클럭 신호(208)의 선택된 천이들의 수를 나타낼 수 있다. SCL 클럭 신호(208)의 주파수의 각각의 변화 이후에, 갱신된 SCL 카운트 C0이 래치(250)에 저장될 수 있으며, 이는 COF 신호(252)에 의해 제어된다. 갱신된 SCL 카운트 C0은 시간 동기화 마커와 SCL 클럭 신호(208)의 주파수의 변화 이전의 SCL 클럭 신호(208)의 마지막 선택된 천이 사이의 SCL 클럭 신호(208)의 선택된 천이들의 수를 나타낼 수 있다. SCL 클럭 주파수(208)의 주파수의 각각의 변화 시에 그리고 대응하는 COF 신호(252)에 기초하여, SCL 카운트 C0의 이전의 (오래된) 값이 레지스터 파일(예를 들어, 룩-업(look-up) 테이블)(254)에 또한 저장될 수 있다. 따라서, 레지스터 파일(254)은 SCL 클럭 신호(208)의 N개의 상이한 주파수들에 대응하는 SCL 카운트 C0의 상이한 값들(예를 들어, 값들 CNT_1, CNT_2, ..., CNT_N)을 포함할 수 있다. 레지스터 파일(254)에 저장된 각각의 값 CNT_i는 또한 SCL 클럭 신호(208)의 각각의 주파수의 주기를 인코딩하는 값 Ti와 연관될 수 있다. 따라서, 레지스터 파일(254)에 저장된 CNT_i 및 Ti의 값들(i=1, ..., N)은 시간 동기화 마커로부터 시스템 기준 시간에 대한 정보를 제공할 수 있다.
일부 실시예들에 있어서, 마스터 디바이스(202)는 SDA 버스(206)를 통해 슬레이브 디바이스(204)에서 검출된 이벤트(222)의 타임 스탬프(224)에 관한 정보를 수신할 수 있다. 마스터 디바이스(202)는, 이벤트(222)의 발생의 정확한 전역 (시스템) 시간(258)을 결정하기 위하여 (예를 들어, 실제 시간 계산 회로(256)에서) 이를 타임 스탬프(224)와 상관시키기 위해 시간 동기화 마커의 개시로부터 추적된 시스템 기준 시간에 관한 레지스터 파일(254)에 저장된 정보를 사용할 수 있다. 계산된 시간(258)은 마스터 디바이스(202)에서 시간 동기화 마커의 개시로부터 시작하는 SCL 클럭 신호(208)의 선택된 천이들의 수에 기초하여 측정된 전역 시간을 나타낸다. 일 실시예에 있어서, SCL 클럭 신호(208)는, SCL 클럭 신호(208)의 희망되는 주기에 관한 표시(262)(예를 들어, 표시 Ti)에 기초하여 SCL 클럭 신호(208)의 주파수를 제공할 수 있는 조정가능 클럭 생성기(260)에 의해 마스터 디바이스(202)에서 생성될 수 있다.
이상에서 논의된 바와 같이, 본 개시의 실시예들은 새로운 타임 스탬프 동기화(Time Stamp Sync) CCC 방송 명령을 메시지 프로토콜 내에 추가하는 것을 지원한다. 마스터 디바이스(202)는 SCL 버스를 구동하는 클럭 신호의 특정한 선택된 천이(예를 들어, 하강 에지)에 SDA 버스(206)에 결합된 하나 이상의 슬레이브 디바이스들(204)을 동기화시키기 위하여 SDA 버스(206)를 통해 타임 스탬프 동기화 명령을 발행할 수 있다. 도 3은 본 개시의 실시예들에 따른, 타임 스탬프 동기화 명령(300)과 관련하여 SDA 및 SCL 버스들을 구동하는 예시적인 타임 스탬프 동기화 명령(300) 및 신호들의 파형들을 예시한다. 타임 스탬프 동기화 명령(300)은 마스터 디바이스(202)에 의해 개시되어 SDA 버스(206)를 통해 하나 이상의 슬레이브 디바이스들(204)로 방송될 수 있다. 도 3에 예시된 바와 같이, 타임 스탬프 동기화 명령(300)의 시작 부분(302) 다음에 값 0x7E로 표시된 방송 부분(304)이 이어질 수 있다. 방송 부분(304)을 끝을 향하여, 마스터 디바이스는 슬레이브 디바이스(들)로 기입 동작('W')을 시그널링(signal)할 수 있으며, 여기에서 적어도 하나의 슬레이브 디바이스는 타임 스탬프 동기화 명령(300)의 방송 부분(304)의 수신을 수신확인(acknowledge)하기 위하여 수신확인(Acknowledgement)(ACK)를 가지고 SDA 버스 상에서 기입 명령('w')에 응답할 수 있다.
도 3에 예시된 바와 같이, 타임 스탬프 동기화 명령(300)의 SDR 명령 CCC 부분(306)이 방송 부분(304) 다음에 이어질 수 있다. 명령 코드 0x28은 타임 스탬프 동기화 명령에 대응한다. 부분(308)(예를 들어, 'T' 비트)은 SDA 버스 상에서 특정 신호 파형(310)과 연관될 수 있다. 타임 스탬프 동기화 명령(300)의 'T' 비트 동안, SCL 클럭 신호의 제 1 선택된 천이(예를 들어, 상승 에지) 상에서, 슬레이브 디바이스(204)는 시간 동기화 CCC(312)를 검출할 수 있다. SCL 클럭 신호의 다음 선택된 천이(예를 들어, 하강 에지)는 시간 동기화 마커(314)를 나타낼 수 있으며, 이는 또한 슬레이브 디바이스(204)에서 검출된다. 이하에 더 상세하게 논의되는 바와 같이, 시간 동기화 마커(314)는 마스터 디바이스(202)에 의해 생성된 시스템 기준 타임 베이스를 가지고 하나 이상의 슬레이브 디바이스들(204)의 동기화가 시작하는 시점을 나타낼 수 있다. 도 3에 추가로 예시된 바와 같이, 타임 스탬프 동기화 명령(300)은 SDA 버스를 통해 슬레이브 디바이스들(204)로부터 데이터 판독을 개시하는 부분(316)으로 끝날 수 있다.
일부 실시예들에 있어서, 이하에서 더 상세하게 논의되는 바와 같이, 시간 동기화 마커(314)는 다수의 슬레이브 디바이스들이 이벤트들을 타임스탬핑하기 위해 동기화하기 위한 수단을 제공한다. 시간 동기화 마커(314)는 또한 다수의 슬레이브 디바이스들이 시간 동기화 트리거링(Time Sync Triggering)을 통해 동시 동작들(예를 들어, 측정들)을 개시하는 것을 가능하게 한다. 결과적으로, 이벤트들을 동기화시키기 위한 마스터 디바이스와 슬레이브 디바이스들 사이의 사이드 채널들에 대한 필요성이 제거될 수 있다. 트리거링 경우에 있어서, 모든 슬레이브 디바이스들이 동시에 트리거되기 때문에 시간 단위들 또는 로컬 클럭 신호들에 대한 염려가 존재하지 않는다는 것을 주의해야만 한다.
일부 실시예들에 있어서, 슬레이브 디바이스에서 검출된 이벤트의 타임-스탬핑은 시간 동기화 마커(314)에 기초하여 지원될 수 있다. 이하에서 더 상세하게 논의되는 바와 같이, 슬레이브 디바이스 내의 제어 회로는 시간 동기화 마커(314)에 기초하여 개시될 수 있으며, SCL 클럭 신호의 선택된 천이들의 수를 추적하도록 구성될 수 있다. 일단 이벤트가 검출되면, SCL 클럭 신호의 추적된 선택된 천이들의 수는 이후의 시점에 마스터 디바이스에 의해 다시 판독되기 위하여 슬레이브 디바이스의 로컬 메모리에 저장될 수 있다. SCL 클럭 신호를 생성하고 제어하는 마스터 디바이스는 또한 SCL 클럭 신호의 선택된 천이들의 수의 추적을 유지할 수 있으며, 이벤트의 발생의 전역 시스템 시간을 결정하기 위하여 그것의 카운트를 슬레이브 디바이스로부터 다시 판독된 저장된 타임 스탬프 카운트와 상관시킬 수 있다.
도 4는 본 개시의 실시예들에 따른, 슬레이브 디바이스(204)와 같은 슬레이브 디바이스에서 시간 동기화를 구현하기 위한 회로부(400)의 예시적인 개략도이다. 일부 실시예들에 있어서, 회로부(400)는 도 2에 예시된 시간 추적/트리거 제어 회로(214)의 일 부분일 수 있다. 플립 플롭(flip flop)(420)은, (시간) 동기화 CCC가 검출될 때, 즉, 펄스(406)의 상승 에지가 검출될 때 동기화 펄스(402)를 리셋 라인(404) 상으로 출력한다. 다시 도 2를 참조하면, 동기화 CCC 검출 펄스(406)는 시간 동기화 명령(210)의 검출 시에 슬레이브 디바이스(204)의 디코딩 로직(212)에 의해 생성될 수 있다. 도 4에 도시된 바와 같이 하강 에지(408)인 동기화 펄스(402)의 선택된 천이는 시간 동기화 마커를 나타낼 수 있다. 다시 도 3을 참조하면, 시간 동기화 마커(314)는 시간 동기화 CCC의 검출에 뒤이어 타임 스탬프 동기화 명령(300)의 'T' 비트 동안 SCL 클럭 신호의 선택된 천이와 정렬될 수 있다. 따라서, 도 4에 예시된 바와 같이, 시간 동기화 마커는 동기화 CCC의 검출을 나타내는 펄스(406)의 상승 에지 다음에 SCL 클럭 신호(412)의 선택된 천이(410)와 정렬될 수 있다.
일부 실시예들에 있어서, 리셋 라인(404)에 제공된 동기화 펄스(402)는 카운터(414)의 출력에서 파형들(416)에 의해 예시되는 바와 같이 카운터(414)를 모두 0으로 리셋할 수 있다. 모두 0으로 리셋된 이후에 카운터(414)는 SCL 클럭 신호(412)의 선택된 천이마다(예를 들어, 하강 에지마다) 증가한다. (마스터 디바이스에 의해 제어될 수 있는) SCL 클럭 신호의 선택된 천이와 정렬된 시간 동기화 마커 및 동기화 펄스(402)에 기초하는 도 4에 예시되고 본원에서 제공되는 접근 방식이 도 4에 도시된 회로부(400)를 포함하는 모든 슬레이브 디바이스들에 걸쳐 균일한 시간 기준을 제공한다는 것이 주목될 수 있다.
일부 실시예들에 있어서, 버스트 발진기(burstoscillator)가 타임-스탬핑 및 지연된 트리거링의 분해능을 개선하기 위하여 슬레이브 디바이스에서 이용될 수 있다. 도 5는 본 개시의 실시예들에 따른, 시간 동기화의 분해능을 개선하기 위해 슬레이브 디바이스(204)에서 구현될 수 있는 발진기 회로(500)의 예시적인 개략도이다. 하나 이상의 실시예들에 있어서, 발진기 회로(500)는 도 2에 도시된 슬레이브 디바이스(204)의 시간 추적/트리거 제어 회로(214)의 일 부분일 수 있다.
도 5에 예시된 바와 같이, 발진기 회로(500)는 버스트 발진기(502) 및 카운터(504)를 포함할 수 있다. 버스트 발진기(502)는, 인에이블(enable) 신호(508)가 하이 로직 레벨일 때 고속 클럭 신호(506)를 생성하는 몇몇의 직렬로 연결된 인버터(inverter)들을 포함한다. 고속 클럭 신호(506)의 주파수는 SCL 클럭 신호의 주파수보다 더 높다. 리셋 신호(510)에 의해 개시 시에, 카운터(504)는 고속 클럭 신호(506)의 선택된 천이들을 카운팅하는 것을 시작한다. 버스트 발진기(502)의 출력 F(0) 및 카운터(504)의 m 비트 출력들 F(1:m)이 발진기 회로(500)의 출력(512)을 형성한다. 하나 이상의 실시예들에 있어서, 버스트 발진기(502)는 이벤트의 검출 다음에 특정한 수의 측정들(예를 들어, 1개 또는 2개의 측정들)을 수행하기에 충분한 제한된 양의 시간 동안 동작하도록 구성될 수 있다. 따라서, 버스트 발진기(502)는 제한된 양의 전력을 소비한다.
일 실시예에 있어서, 슬레이브 디바이스들에 결합된 특정 유형의 센서들(예를 들어, 가속도계, 자이로)은 본질적으로 상대적으로 안정적인 타임 베이스를 가지며, 타임-스탬핑 및 지연된 트리거링의 분해능을 개선하기 위하여 사용될 수 있는 클럭 신호를 제공하기 위하여 이러한 타임 베이스를 사용할 수 있다. 다른 센서들은 안정적인 타임 베이스를 갖지 않을 수 있으며, 로컬 클럭 신호를 생성하기 위하여 로컬 발진기를 이용해야만 할 수 있다. 일 실시예에 있어서, 슬레이브 디바이스에서의 로컬 발진기는, SCL 클럭 신호보다 더 높은 주파수의 동기화되고 안정적인 로컬 클럭을 생성하기 위하여 기준 클럭으로서 SCL 클럭 신호를 사용하는 위상 고정 루프(Phase Locked Loop; PLL) 디바이스에 기반할 수 있다. 그러나, 이러한 접근 방식은 연속적인 전력 및 큰 실리콘 면적을 소비하는 단점을 갖는다.
도 6은 본 개시의 실시예들에 따른, 슬레이브 디바이스(204)에서 타임-스탬핑의 구현을 위한 회로부(600)의 예시적인 개략도이다. 회로부(600)는 도 2에 도시된 슬레이브 디바이스(204)의 시간 추적/트리거 제어 회로(214)의 일 부분일 수 있다. 도 6에 예시된 바와 같이, 회로부(600)는 도 4로부터의 회로부(400) 및 도 5로부터의 발진기 회로(500)를 포함할 수 있다. 일부 실시예들에 있어서, 회로부(600)는 슬레이브 디바이스(204)에서 타임 스탬프를 구현하도록 구성될 수 있으며, 발진기 회로(500)는 타임 스탬프에 대하여 SCL 클럭 신호의 선택된 천이들의 카운트만을 이용하는 것에 비하여 타임 스탬프의 분해능을 증가시키기 위해 사용된다.
도 4에 예시된 회로부(400)를 참조하여 이상에서 논의된 바와 같이, 리셋 라인(602)에 제공되는 동기화 펄스(예를 들어, 도 4에 도시된 동기화 펄스(402))는, (시간) 동기화 CCC가 검출될 때, 즉, 도 4에 도시된 펄스(406)의 상승 에지가 입력(604)에서 검출될 때 생성될 수 있다. 동기화 펄스(예를 들어, 도 4에 도시된 동기화 펄스(402))의 하강 에지는, 입력(604)에서 동기화 CCC의 검출 이후에 타임 스탬프 동기화 명령(예를 들어, 도 2에 도시된 마스터 디바이스(202)로부터의 SDR 시간 동기화 명령(210) 방송, 도 3에 도시된 타임 스탬프 동기화 명령(300))의 'T' 비트 동안의 SCL 클럭 신호(606)의 선택된 천이(예를 들어, 도 4에 도시된 하강 에지(410))와 정렬되는 시간 동기화 마커를 나타낼 수 있다. 리셋 라인(602)에 제공되는 동기화 펄스는 카운터(608)를 모두 0으로 리셋할 수 있다. 일 실시예에 있어서, 카운터(608)는 도 4에 도시된 회로부(400)의 동일한 카운터(414)일 수 있다. 카운터(608)는 SCL 클럭 신호(606)의 매 선택된 천이(예를 들어, 하강 에지)마다 증가하도록 구성될 수 있으며, 모든 슬레이브 디바이스들(예를 들어, 도 1에 예시된 슬레이브 디바이스들(104), 도 2에 도시된 다수의 슬레이브 디바이스들(204))에 걸쳐 균일한 시간 기준을 제공할 수 있고, 여기에서 SCL 클럭 신호(606)는 마스터 디바이스(예를 들어, 도 1에 도시된 마스터 디바이스(102), 도 2에 도시된 마스터 디바이스(202))에 의해 생성되고 제어될 수 있다.
일부 실시예들에 있어서, 이벤트(610)는 적어도 부분적으로 카운터(608)의 값(612)에 기초하여 타임 스탬핑될 수 있다. 이벤트(610)의 발생의 검출 시에, 시간 동기화 마커와 이벤트(610)의 검출 이전의 SCL 클럭 신호(606)의 마지막 선택된 천이(614) 사이의 SCL 클럭 신호(606)의 선택된 천이들의 수를 나타내는 값(612)이 래치(616)에 저장될 수 있다(예를 들어, 도 6에 도시된 값 C0이 래치(616)에 저장될 수 있다).
일부 실시예들에 있어서, 논의된 바와 같이, 발진기 회로(500)는 타임-스탬핑에 대한 더 미세한 분해능을 제공하기 위하여 카운터(608)와 함께 사용될 수 있다. 도 5로부터의 버스트 발진기(502)를 포함하는 발진기 회로(500)는 SCL 클럭 신호(606)의 주파수보다 더 높은 주파수를 갖는 주기적인 발진기 신호를 생성하도록 구성될 수 있다. 도 6에 예시된 바와 같이, 이벤트(610)의 검출 시에, 플립 플롭(618)은 발진기 회로(500) 내의 버스트 발진기(502)를 활성화시키는 인에이블 신호(620)를 생성한다. 인에이블 신호(620)에 기초한 활성화 시에, 발진기 회로(500)의 버스트 발진기(502)는 고속 클럭 신호(발진기 신호)(506)를 생성할 수 있으며, 발진기 회로(500)의 카운터(504)는 발진기 신호(506)의 선택된 천이들(예를 들어, 하강 에지들)의 수의 추적을 유지할 수 있다.
하나 이상의 실시예들에 있어서, 이벤트(610)의 검출 바로 다음의 SCL 클럭 신호(606)의 제 1 선택된 천이(622)는, 플립 플롭(624)의 출력이 하이가 되게 하여 발진기 & 카운터 회로(500)의 출력에서의 값(626)이 래치(628) 내에 저장되는 것을 개시한다. 이러한 값은 C1로 도시된다. C1의 값은, 이벤트(610)의 검출과 이벤트(610)의 검출 다음의 SCL 클럭 신호(606)의 제 1 선택된 천이(622) 사이의 발진기 신호(506)의 선택된 천이들의 수의 형태로 지연을 나타낸다.
제 1 선택된 천이(622) 다음의 SCL 클럭 신호(606)의 다음 선택된 천이(630)는 플립 플롭(632)의 출력이 하이가 되게끔 한다. 결과적으로, 이는 발진기 & 카운터 회로(500)의 출력에서의 새로운 값(626)이 래치(634) 내에 저장되는 것을 개시한다. 이러한 값은 C2로서 도시된다. C2의 값은, 이벤트(610)의 검출과 제 1 선택된 천이(622) 다음의 SCL 클럭 신호(606)의 제 2 선택된 천이(630) 사이의 발진기 신호(506)의 선택된 천이들의 수의 형태로 지연을 나타낸다.
일부 실시예들에 있어서, 시간 동기화 마커와 이벤트(610)의 검출(즉, 이벤트(610)의 타임 스탬프) 사이의 경과된 시간에 관한 정보는 저장된 값들 C0, C1 및 C2에 기초할 수 있다. 하나 이상의 실시예들에 있어서, 도 2로부터의 타임 스탬프(224)는 하기의 식 (1)과 같이 도 6에 도시된 타임 스탬프 계산 회로(636)에 의해 슬레이브 디바이스(204)에서 계산될 수 있다:
Figure 112018017824230-pct00001
(1)
식 (1)에서, T0은 타임 스탬프(224)를 나타낸다. 이벤트(610)의 타임 스탬프에 관한 정보는, SDA 버스(206)가 이용이 가능할 때 슬레이브 디바이스(204)의 인터페이스(228)를 통해 마스터 디바이스(202)로 통신될 수 있다. 일 실시예에 있어서, 도 6에 예시된 바와 같이, 식 (1)에 의해 정의되는 타임 스탬프 값 T0은 마스터 디바이스(202)로 통신되기 이전에 지연 레지스터(638)에 또한 저장될 수 있다. 지연 레지스터(638)는, SDA 버스(206)가 이용이 가능해질 때까지 타임 스탬프 값 T0을 유지할 수 있다.
도 7은, 본 개시의 실시예들에 따른 마스터 디바이스(702)에 의한 다수의 슬레이브 디바이스들(704 및 706)로부터 이벤트들의 시간을 캡처하고 판독하는 예시적인 도면(700)이다. 마스터 디바이스(702)는 도 2에 도시된 마스터 디바이스(202)에 대응할 수 있으며, 슬레이브 디바이스들(704 및 706)의 각각은 도 2에 도시된 슬레이브 디바이스(204)에 대응할 수 있다. 도 7에 예시된 바와 같이, 마스터 디바이스(702)는 슬레이브 디바이스들(704, 706)로 시간 동기화 CCC(708)를 방송할 수 있다. 슬레이브 디바이스들(704, 706)은, 동기화 CCC(708)가 슬레이브 디바이스들(704, 706)에서 검출될 때 생성되는 시간 동기화 마커(도 7에 미도시)와 각각의 슬레이브 디바이스에서의 이벤트의 검출 사이의 시간 지연들(710, 712)을 추적할 수 있다. 이벤트(714)가 슬레이브 디바이스(704)에서 검출되고 이벤트(716)가 슬레이브 디바이스(706)에서 검출될 때, 각각의 슬레이브 디바이스에서 추적되는 SCL 클럭 신호(도 7에 미도시)의 선택된 천이들의 수로서 표현되는 시간 지연이 래치되며, 즉, 이벤트가 각각의 슬레이브 디바이스에서 타임-스탬핑되고 지연 레지스터에 저장된다. 도 7에 예시된 바와 같이, 슬레이브 디바이스(704)는 추적된 지연(710)을 이벤트(714)의 타임 스탬프로서 지연 레지스터(718) 내에 저장할 수 있으며; 슬레이브 디바이스(706)는 추적된 지연(712)을 이벤트(716)의 타임 스탬프로서 지연 레지스터(720) 내에 저장할 수 있다. 하나 이상의 실시예들에 있어서, 슬레이브 디바이스(704)의 지연 레지스터(718) 및 슬레이브 디바이스(706)의 지연 레지스터(720)는 도 6에 예시된 지연 레지스터(638)에 대응할 수 있다.
일부 실시예들에 있어서, 도 2에 도시된 슬레이브 디바이스(204)는, 슬레이브 디바이스가 도 2에 도시된 마스터 디바이스(202)에 대한 인터럽트(interrupt)를 개시할 수 있기 이전에 SDA 버스(206) 상에서 버스가 빈 상태(bus free condition)가 되는 것을 기다려야 할 필요가 있을 수 있다. 도 7에 예시된 바와 같이, 슬레이브 디바이스들(704, 706)은, SDA 버스 상의 트래픽(722)이 완료될 때까지 기다려야만 할 수 있다. 그런 다음, 슬레이브 디바이스(706)는, 이벤트(716)의 타임 스탬프(712)가 마스터 디바이스(702)에 의해 판독될 수 있다는 것을 마스터 디바이스(702)로 시그널링하는 대역-내 인터럽트(in-band interrupt; IBI)를 개시할 수 있다. IBI(724)의 수신 시에, 마스터 디바이스(702)는, 슬레이브 디바이스(706)의 지연 레지스터(720)에 저장된 이벤트(716)의 타임 스탬프(712)에 관한 정보를 판독하는 것을 요청하는 요청(726)을 SDA 버스를 통해 슬레이브 디바이스(706)로 전송할 수 있다. 요청(726)의 수신 시에, 슬레이브 디바이스(706)는 지연 레지스터(720)로부터 타임 스탬프(712)를 판독하고, SDA 버스를 통해 이벤트(716)의 타임 스탬프(712)에 관한 정보를 마스터 디바이스(702)로 제공할 수 있다. 그 이후에, 마스터 디바이스(702)는, 이벤트(714)의 타임 스탬프(710)에 관한 정보를 저장하는 슬레이브 디바이스(704)의 지연 레지스터(720)로부터 다른 판독(730)을 개시할 수 있다. 그런 다음, 이벤트(714)의 타임 스탬프(710)에 관한 정보가 SDA 버스를 통해 마스터 디바이스(702)로 제공될 수 있다.
도 7에 도시된 예시적인 실시예에 있어서, 슬레이브 디바이스(706)는 슬레이브 디바이스(704)보다 더 높은 우선순위(priority)를 가질 수 있다. 슬레이브 디바이스(704)가 또한 IBI를 개시할 수 있지만, 이러한 경우에 있어서, 마스터 디바이스(702)가 슬레이브 디바이스(706)로부터 수신된 IBI(724)에 응답하여 자동으로 이벤트(714)의 타임 스탬프(710)를 판독할 것을 결정하기 때문에 슬레이브 디바이스(704)가 그렇게 할 기회가 존재하지 않는다. 동기화 CCC(708) 다음의 트래픽(722) 때문에, SCL 클럭 신호(도 7에 미도시)이 검출된 이벤트들(714, 716) 앞뒤로 연속적으로 토글(toggle)할 수 있으며, 따라서 슬레이브 디바이스들(704, 706)이 참조하기 위한 연속적인 타임 베이스를 제공한다는 것을 또한 주목해야만 한다.
도 8은 본 개시의 실시예들에 따른, 마스터 디바이스(802) 및/또는 모니터 디바이스(808)에 의한 다수의 슬레이브 디바이스들(804 및 806)로부터 이벤트들의 시간을 캡처하고 판독하는 예시적인 도면(800)이다. 일부 실시예들에 있어서, 모니터 디바이스(808)는 SDA 버스 및 SCL 버스를 통해 슬레이브 디바이스들(804 및 806)과 인터페이스될 수 있다. 마스터 디바이스(802)와는 달리, 모니터 디바이스(808)는 어떠한 명령들도 발행하지 않으며 어떠한 클럭 신호들을 생성하거나/제어하지도 않는다. 그 대신, 모니터 디바이스(808)는 단순히 SDA 버스 상의 트래픽을 모니터링하고 마스터 디바이스(802) 및/또는 슬레이브 디바이스들(804, 806)에 의해 SDA 버스 상에서 통신되는 대응하는 정보를 수집할 수 있다. 마스터 디바이스(802)는 도 2로부터의 마스터 디바이스(202)에 대응할 수 있으며, 각각의 슬레이브 디바이스(804, 806)는 도 2로부터의 슬레이브 디바이스(204)에 대응할 수 있다.
도 8에 예시된 바와 같이, 마스터 디바이스(802)는, 동기화 CCC(810)가 슬레이브 디바이스들(804, 806)에서 검출될 때 생성되는 시간 동기화 마커(도 8에 미도시)와 각각의 슬레이브 디바이스에서의 이벤트의 검출 사이의 시간 지연들(812, 814)을 추적하는 시간 동기화 CCC(810)를 슬레이브 디바이스들(804, 806)로 방송할 수 있다. 동기화 CCC(810)는 또한 모니터 디바이스(808)에 의해 검출될 수 있다. 이벤트(816)가 슬레이브 디바이스(804)에서 검출되고 이벤트(818)가 슬레이브 디바이스(806)에서 검출될 때, 각각의 슬레이브 디바이스에서 추적되는 시간 지연이 래치되며, 즉, 이벤트가 각각의 슬레이브 디바이스에서 타임-스탬핑되고 지연 레지스터에 저장된다. 도 8에 예시된 바와 같이, 슬레이브 디바이스(804)는 시간 동기화 마커와 이벤트(816)의 검출 사이의 추적된 지연(812)을 지연 레지스터(820) 내에 저장할 수 있으며; 슬레이브 디바이스(806)는 시간 동기화 마커와 이벤트(818)의 검출 사이의 추적된 지연(814)을 지연 레지스터(822) 내에 저장할 수 있다. 하나 이상의 실시예들에 있어서, 슬레이브 디바이스(804)의 지연 레지스터(820) 및 슬레이브 디바이스(806)의 지연 레지스터(822)는 도 6에 예시된 지연 레지스터(638)에 대응할 수 있다.
도 8에 추가로 예시된 바와 같이, 다른 트래픽(824)이 마스터 디바이스(802)에 의해 SDA 버스 상에 제공될 수 있다. 동일한 트래픽(824)이 또한 모니터 디바이스(808)에 의해 모니터링될 수 있다. 일부 실시예들에 있어서, 각각의 슬레이브 디바이스는, 슬레이브 디바이스가 마스터 디바이스에 대한 인터럽트를 개시할 수 있기 이전에 SDA 버스 상에서 버스가 빈 상태가 되는 것을 기다려야 할 필요가 있을 수 있다. 도 8에 예시된 바와 같이, 슬레이브 디바이스들(804, 806)은, SDA 버스 상의 트래픽(824)이 완료될 때까지 기다려야 할 필요가 있을 수 있다. 그런 다음, 슬레이브 디바이스(806)는, 이벤트(818)의 타임 스탬프(814)가 판독될 수 있다는 IBI 시그널링(826)을 SDA 버스를 통해 개시할 수 있다. SDA 버스를 통해 전송되는 동일한 인터럽트(826)가 마스터 디바이스(802) 및 모니터 디바이스(808) 둘 모두에 의해 수신될 수 있다. 인터럽트(826)의 수신 시에, 마스터 디바이스(802)는, 슬레이브 디바이스(806)의 지연 레지스터(822)에 저장된 이벤트(818)의 타임 스탬프(814)에 관한 정보를 판독하는 것을 요청하는 슬레이브 디바이스(806)의 어드레스를 갖는 요청(828)을 슬레이브 디바이스(806)로 제공할 수 있다. 슬레이브 디바이스(806)의 어드레스를 포함하는 요청(828)은 또한 모니터 디바이스(808)에 의해 수신될 수 있다.
요청(828)의 수신 시에, 슬레이브 디바이스(806)는 지연 레지스터(822)로부터 타임 스탬프(814)를 판독하고(830), SDA 버스를 통해 이벤트(818)의 타임 스탬프(814)에 관한 정보를 마스터 디바이스(802)로 제공할 수 있다. 동시에, 이벤트(818)의 타임 스탬프(814)에 관한 정보가 SDA 버스에서 이용이 가능하기 때문에, 모니터 디바이스(808)는 또한 이벤트(818)의 타임 스탬프(814)를 획득할 수 있다. 그 이후에, 마스터 디바이스(802)는, 슬레이브 디바이스(804)의 어드레스를 갖는 요청(832)을 전송함으로써, 이벤트(816)의 타임 스탬프(812)에 관한 정보를 저장하는 지연 레지스터(820)로부터 다른 판독(834)을 개시할 수 있다. 슬레이브 디바이스(804)의 어드레스(832)는 또한 SDA 버스 상의 모든 트래픽을 모니터링하는 모니터 디바이스(808)에 의해 수신될 수 있다. 그런 다음, 이벤트(816)의 타임 스탬프(812)에 관한 정보가 SDA 버스를 통해 마스터 디바이스(802) 및 모니터 디바이스(808)로 제공될 수 있다. 슬레이브 디바이스(804 및 806) 각각으로부터 타임 스탬프 데이터(812 및 814)의 수신 시에, 도 2 및 도 12와 관련하여 본원에서 더 상세하게 논의된 바와 같이, 마스터 디바이스(802)는 전역 시스템 기준 클럭 신호, 즉, 마스터 디바이스(802)에 의해 생성되고 제어되는 SCL 클럭 신호(도 8에 미도시)를 참조하여 이벤트들(816 및 818)의 이벤트들의 시간을 계산한다.
일부 실시예들에 있어서, 마스터 디바이스(802)는 타임 스탬프 데이터(812, 814)를 프로세싱하는 것이 불가능하며, 즉, 마스터 디바이스(802)가 전역 시스템 기준 클럭 신호를 참조하여 타임 스탬프 데이터(812, 814)를 이벤트들의 실제 시간들로 변환(convert)하는 것을 지원하지 않는다. 이러한 경우에 있어서, 모니터 디바이스(808)는 슬레이브 디바이스들(804, 806)로부터 수신된 타임 스탬프 데이터(812, 814)의 프로세싱을 핸들링(handle)하도록 구성될 수 있으며, 그에 따라서 타임-스탬핑을 지원하지 않는 마스터 디바이스의 사용을 가능하게 한다. 이러한 구성에 있어서, 마스터 디바이스(802)는, 이상에서 논의된 바와 같이 여전히 SDA 버스 및 SCL 버스를 제어할 뿐만 아니라, 슬레이브 디바이스들(804, 806)로부터의/로의 판독들/기입들/인터럽트들을 핸들링할 수 있다. 그러나, 마스터 디바이스(802)는 타임-스탬핑의 복잡한 사항들을 핸들링하지 않는다. 그 대신에, 모니터 디바이스(808)가 전역 시스템 기준 클럭 신호를 참조하여 수신된 타임 스탬프 데이터(812, 814)를 이벤트들(816, 818)의 시간들로 변환하도록 구성된다. 모니터 디바이스(808)는, 도 2 및 도 12와 관련하여 더 상세하게 논의되는 바와 같이, 마스터 디바이스(802)가 했던 것과 동일한 방식으로, SCL 클럭 신호의 선택된 천이들의 추적을 계속하고 SCL 클럭 신호의 천이들을 그 자체의 정확한 타임 베이스에 대하여 타이밍(time)하도록 구성된다.
슬레이브 디바이스(806)가 트래픽(824)이 완료된 이후에 버스-아이들(bus-idle) 상태 동안 SDA 버스를 풀 다운(pull down)함으로써 IBI(826)를 개시할 때, 마스터 디바이스(802)는 SCL 클럭 신호를 토글함으로써 응답하고 요청(828)을 전송함으로써 슬레이브 디바이스로부터 타임 스탬프 정보(814)를 다시 판독하는 것을 개시한다. 그러나, 마스터 디바이스(802)는 수신된 타임 스탬프 정보(814)를 무시할 수 있다. 그 대신에, 마스터 디바이스(802)는 동일한 타임 스탬프 데이터(814)를 또한 판독하고 슬레이브 디바이스(806)에서 검출된 이벤트(818)의 실제 시간을 계산하기 위하여 타임 스탬프(814)를 사용하기 위해 모니터 디바이스(808)에 의존할 수 있다. 유사하게, 모니터 디바이스(808)는 슬레이브 디바이스(804)로부터 수신된 타임 스탬프(812)를 사용하고 슬레이브 디바이스(804)에서 검출된 이벤트(816)의 시간을 계산한다. 이후의 시점에, 모니터 디바이스(808)는 이벤트들(816, 818)의 시간들에 관한 정보를 마스터 디바이스(802)로 전송할 수 있다.
도 8에 도시된 예시적인 실시예에 있어서, 슬레이브 디바이스(806)는 슬레이브 디바이스(804)보다 더 높은 우선순위를 가질 수 있다. 슬레이브 디바이스(804)가 또한 IBI를 개시할 수 있지만, 이러한 경우에 있어서, 마스터 디바이스(802)가 슬레이브 디바이스(806)로부터 수신된 IBI(826)에 응답하여 자동으로 이벤트(816)의 타임 스탬프(812)를 판독할 것을 결정하기 때문에 슬레이브 디바이스(804)가 그렇게 할 기회가 존재하지 않는다. 동기화 CCC(810) 다음의 트래픽(824) 때문에, SCL 클럭 신호(도 8에 미도시)이 검출된 이벤트들(816, 818) 앞뒤로 연속적으로 토글할 수 있으며, 따라서 슬레이브 디바이스들(804, 806)이 참조하기 위한 연속적인 타임 베이스를 제공한다는 것을 주의해야만 한다.
도 9는 본 개시의 실시예들에 따른, 도 6에 도시된 타임-스탬핑 회로부(600)의 일 부분으로서 도시된 도 5로부터의 발진기 회로(500) 없이 도 2에 도시된 슬레이브 디바이스(204)와 같은 슬레이브 디바이스에서 타임-스탬핑의 구현을 위한 회로부(900)의 예시적인 개략도이다. 회로부(900)는 도 2에 도시된 슬레이브 디바이스(204)의 시간 추적/트리거 제어 회로(214)의 일 부분일 수 있다.
도 4에 예시된 회로부(400)를 참조하여 이상에서 논의된 바와 같이, 리셋 라인(902)에 제공되는 동기화 펄스(402)는, (시간) 동기화 CCC가 검출될 때, 즉, 도 4에 도시된 펄스(406)의 상승 에지가 입력(904)에서 검출될 때 생성될 수 있다. 동기화 펄스(402)의 하강 에지는, 입력(904)에서 동기화 CCC의 검출 이후에 타임 스탬프 동기화 명령(예를 들어, 도 2에 도시된 마스터 디바이스(202)로부터의 SDR 시간 동기화 명령(210) 방송, 도 3에 도시된 타임 스탬프 동기화 명령(300))의 'T' 비트 동안의 SCL 클럭 신호(906)의 선택된 천이(410)와 정렬되는 시간 동기화 마커를 나타낼 수 있다. 리셋 라인(902)에 제공되는 동기화 펄스는 카운터(908)를 모두 0으로 리셋할 수 있다. 카운터(908)는 도 4에 도시된 회로부(400)의 카운터(414)에 대응할 수 있다. 카운터(908)는 SCL 클럭 신호(906)의 매 선택된 천이마다 증가하도록 구성될 수 있으며, SCL 클럭 신호(906)가 마스터 디바이스에 의해 생성되고 제어되는 동안 모든 슬레이브 디바이스들에 걸쳐 균일한 시간 기준을 제공할 수 있다.
일부 실시예들에 있어서, 이벤트(910)는 적어도 부분적으로 카운터(908)의 값(912)에 기초하여 타임 스탬핑될 수 있다. 이벤트(910)의 발생의 검출 시에, 시간 동기화 마커와 이벤트(910)의 검출 이전의 SCL 클럭 신호(906)의 마지막 선택된 천이 사이의 SCL 클럭 신호(906)의 선택된 천이들의 수를 나타내는 값(912)이 래치(914)에 저장될 수 있다. 도 9에 예시된 바와 같이, 시간 동기화 마커와 이벤트(910)의 검출 사이의 SCL 클럭 신호(906)의 선택된 천이들의 수를 나타내는 값 C0이 래치(914)에 저장된다.
도 5로부터의 버스터 발진기(502)를 포함하는 발진기 회로(500)가 도 9에 예시된 회로부(900) 내에 포함되지 않기 때문에, 타임-스탬핑의 더 미세한 분해능과 연관된 C1 및 C2의 값들은 플레이스-홀더(place-holder)들이며 0으로 설정된다. 이벤트(910)의 시간과 연관된 래치(914)에 저장된 C0의 값으로 주어진 타임-스탬프 데이터(224)를 판독한 이후에, 도 2에 예시된 마스터 디바이스(202)는, 실제 시간 계산 유닛(256)에 의해, C0+1의 값 및 C0+2의 값 각각을 각각의 값에 대한 시스템 기준 시간으로, 즉, 실제 시간들 T1 및 T2로 변환(translate)할 수 있다. 일부 실시예들에 있어서, C0+1의 값은 시간 동기화 마커와 이벤트(910) 다음의 SCL 클럭 신호(906)의 제 1 선택된 천이 사이의 SCL 클럭 신호(906)의 선택된 천이들의 수를 나타내며, C0+2의 값은 시간 동기화 마커와 이벤트(910) 다음의 SCL 클럭 신호(906)의 제 2 선택된 천이 사이의 SCL 클럭 신호(906)의 선택된 천이들의 수를 나타낸다. 그런 다음, 마스터 디바이스(202)는 T1 및 T2에 따라서 이벤트(910)의 시스템 기준 (실제) 시간 T를 결정할 수 있다. 따라서 하기와 같다:
Figure 112018017824230-pct00002
, 여기에서 C2>C1 또는 T = T1. (2)
도 9에 도시된 예시적인 실시예에 있어서, C1 및 C2의 값들 둘 모두가 0으로 설정되며, 이벤트(910)의 실제 시간 T는 오직 C0+1의 값에만 기초하여 결정될 수 있고, 즉, 이벤트(910)의 실제 시간 T는 T1과 동일할 수 있다.
이상에서 논의된 바와 같이, 본 개시의 실시예들에 따르면, 다수의 슬레이브 디바이스들은 SDA 버스를 통해 마스터 디바이스에 의해 제어되는 시간 동기화 트리거링에 기초하여 동시 동작들(예를 들어, 측정들)을 개시할 수 있다. 이러한 접근 방식에 기초하면, 마스터 디바이스와 슬레이브 디바이스 사이의 추가적인 통신 채널들이 제거될 수 있다. 본 개시의 실시예들은, 미리-결정된 시간 기간의 끝에서 이벤트(예를 들어, 측정)를 트리거하는 타이머를 각각의 슬레이브 디바이스에서 시작할 수 있는, 마스터 디바이스에 의한 시간 동기화 명령 방송의 사용을 지원한다. 하나 이상의 실시예들에 있어서, 각각의 슬레이브 디바이스에서의 트리거링 이벤트에 대한 시간 지연은 시간 동기화 명령에 선행할 수 있는, SDA 버스를 통해 마스터 디바이스에 의해 통신되는 명령에 의해 설정될 수 있다.
도 10은 본 개시의 실시예들에 따른, 도 2에 예시된 슬레이브 디바이스(204)에서의 지연된 트리거링의 구현을 위한 회로부(1000)의 예시적인 개략도이다. 회로부(1000)는 도 2에 도시된 슬레이브 디바이스(204)의 시간 추적/트리거 제어 회로(214)의 일 부분일 수 있다. 일부 실시예들에 있어서, 도 2에 예시된 마스터 디바이스(202)는 각각의 슬레이브 디바이스(204)에서 생성되는 트리거의 정확한 시간을 제어할 수 있다.
플립 플롭(1040)은, 입력(1004)에서 (시간) 동기화 CCC가 검출될 때, 즉, 시간 동기화 명령이 검출될 때 동기화 펄스를 리셋 라인(1002) 상에 생성한다. 동기화 펄스의 하강 에지는, 입력(1004)에서 시간 동기화 명령의 검출 이후에 타임 스탬프 동기화 명령(예를 들어, 도 2에 도시된 마스터 디바이스(202)로부터의 SDR 타임 동기화 명령(210) 방송)의 'T' 비트 동안의 SCL 클럭 신호(1008)의 선택된 천이와 정렬되는 시간 동기화 마커(1006)를 나타낼 수 있다. 리셋 라인(1002)에 제공되는 동기화 펄스는 카운터(1010)를 모두 0으로 리셋할 수 있다. 일 실시예에 있어서, 카운터(1010)는 도 4에 도시된 회로부(400)의 카운터(414)에 대응할 수 있다. 카운터(1010)는 SCL 클럭 신호(1010)의 매 선택된 천이마다 증가하며, 모든 슬레이브 디바이스들(204)에 걸쳐 균일한 시간 기준을 제공할 수 있고, 여기에서 SCL 클럭 신호(1008)는 마스터 디바이스(202)에 의해 생성되고 제어될 수 있다.
도 10에 예시된 회로(1000)는 전반적으로, 시간 동기화 명령이 검출된 이후에 SCL 클럭 신호(1008)의 선택된 천이들의 수를 추적하고, SCL 클럭 신호(1008)의 선택된 천이들의 수가 마스터 디바이스(202)에 의해 지연 레지스터(1014) 내로 제공될 수 있는 지연 설정 정보(1012)에 의해 표시되는 지연 설정에 도달하는 것에 응답하여 트리거 신호를 생성하도록 구성될 수 있다. 일부 실시예들에 있어서, 지연 설정 정보(1012)는, 시간 동기화 명령을 방송하기 이전에 SDA 버스를 통해 마스터 디바이스(202)에 의해 통신되는 명령 내에 설정될 수 있는 거친 지연 설정 정보(1016) 및 미세 지연 설정 정보(1018)를 포함할 수 있다. 거친 지연 설정 정보(1016)는, 시간 동기화 마커(1006)와 트리거 신호의 생성 사이에 발생할 SCL 클럭 신호(1008)의 선택된 천이들의 수의 형태로 트리거 지연을 나타낸다. 도 10에 예시된 바와 같이, 비교기(1020)는, 거친 지연 설정 정보(1016)와 시간 동기화 마커(1006) 이후에 발생된 SCL 클럭 신호(1008)의 선택된 천이들의 수를 나타내는 카운터(1010)의 값(1022)을 비교하도록 구성될 수 있다. 카운터(1010)의 값(1022)이 거친 지연 설정 정보(1016)와 동일하고 SCL 클럭 신호(1008)의 선택된 천이들의 추적된 수가 거친 지연 설정 정보(1016)에 도달할 때, 비교기(1024)의 출력은 논리적으로 '1'이 된다. 결과적으로, 플립 플롭(1050)은 인에이블 신호(1026)가 논리적으로 '1'이 되게끔 하며, 발진기 및 카운터 회로(1028)의 동작을 인에이블한다. 발진기 및 카운터 회로(1028)는 지연된 트리거링에 대한 더 미세한 분해능을 제공하기 위하여 카운터(1010) 및 비교기(1024)와 함께 사용될 수 있다.
일부 실시예들에 대하여, 발진기 및 카운터 회로(1028)는 버스터 발진기(502) 및 카운터(504)를 포함하는 도 5에 예시된 발진기 회로(500)에 대응할 수 있다. 인에이블 신호(1026)에 의해 인에이블될 때, 발진기 및 카운터 회로(1028)는 SCL 클럭 신호(1008)의 주파수보다 더 높은 주파수를 갖는 버스트 발진기 신호(1030)를 내부적으로 생성한다. 도 10에 예시된 바와 같이, 인에이블 신호(1026)에 의한 발진기 및 카운터 회로(1028)의 활성화 시에, 발진기 및 카운터 회로(1028) 내의 버스터 발진기는 버스트 발진기 신호(1030)를 생성할 수 있으며, 반면 발진기 및 카운터 회로(1028) 내의 카운터는 버스터 발진기 신호(1030)의 선택된 천이들의 수의 추적을 계속할 수 있다. 미세 지연 설정 정보(1018)는, 인에이블 신호(1026)와 트리거 신호의 생성 사이에 발생할 버스트 발진기 신호(1030)의 선택된 천이들의 수의 형태로 트리거 지연을 나타낸다. 일단 발진기 및 카운터 회로(1028)의 출력에서 신호(1032)에 의해 표현되는 버스트 발진기 신호(1030)의 선택된 천이들의 수가 미세 지연 설정(1018)에 도달하면, 비교기(1034)는 트리거 신호(1036)의 로직 레벨이 논리적으로 '1'이 되게끔 한다. 트리거 신호(1036)는 거친 및 미세 지연 설정 정보에 기초하여 마스터 디바이스(202)에 의해 제어되는 정확한 순간에 로직 상태를 스위칭한다. 도 10에 예시된 회로부(1000)에 의해 생성되는 트리거 신호(1036)는 도 2에 도시된 슬레이브 디바이스(204)의 시간 추적/트리거 제어 회로(214)에 의해 생성되는 지연된 트리거 신호(238)에 대응할 수 있다. 지연된 트리거 신호(238)는 슬레이브 디바이스(204)에 결합된 트랜스듀서(240)의 동작을 마스터 디바이스(202)에 의해 제어되는 정확한 순간에 개시할 수 있다.
도 11은 본 개시의 실시예들에 따른, 다수의 슬레이브 디바이스들에서 마스터 디바이스에 의해 이벤트들의 시간을 제어하는 예시적인 도면(1100)이다. 도 11에 예시된 바와 같이, 마스터 디바이스(1102)가 슬레이브 디바이스들(1104 및 1106)에 지연 설정 정보를 제공할 수 있으며, 즉, 지연 설정 정보(1108)는 슬레이브 디바이스(1104)의 지연 레지스터(1110)에 저장될 수 있고, 지연 설정 정보(1112)는 슬레이브 디바이스(1106)의 지연 레지스터(1114)에 저장될 수 있다. 슬레이브 디바이스(1104)의 지연 레지스터(1110) 및 슬레이브 디바이스(1106)의 지연 레지스터(1114)는 도 10에 예시된 지연 레지스터(1014)에 대응할 수 있다. 일부 실시예들에 있어서, 논의된 바와 같이, 지연 설정 정보(1108 및 1112)는 마스터 디바이스(1102)로부터 전송되는 SDR 명령들을 통해 슬레이브 디바이스들(1104 및 1106)로 SDA 버스를 통해 통신될 수 있다. 마스터 디바이스(1102)는 도 2로부터의 마스터 디바이스(202)에 대응할 수 있으며, 각각의 슬레이브 디바이스(1104, 1106)는 도 2로부터의 슬레이브 디바이스(204)에 대응할 수 있다.
도 11에 추가로 예시된 바와 같이, 지연 설정 정보(1108 및 1112)의 통신 다음에, 마스터 디바이스(1102)는 시간 동기화 명령, 즉, 동기화 CCC(1116)을 SDA 버스를 통해 방송할 수 있다. 슬레이브 디바이스들(1104 및 1106)에서의 동기화 CCC(1116)의 검출 시에, 시간 동기화 마커(도 11에 미도시)가 각각의 슬레이브 디바이스에서 생성될 수 있으며, 즉, 슬레이브 디바이스(1104 및 1106)가 그들의 개별적인 카운터들을 소거(clear)함으로써 동기화될 수 있다. 시간 동기화 마커로부터 시작하여, 슬레이브 디바이스들(1104 및 1106)은 SCL 클럭 신호를 통해 마스터 디바이스(1102)에 의해 제공될 수 잇는 기준 시간을 추적할 수 있다. 슬레이브 디바이스(1104)에서 추적되는 시간이 지연 설정 정보(1108)에 도달할 때, 슬레이브 디바이스(1104)는 시간 동기화 마커로부터 지정된 기준 시간(1120)만큼 지연될 수 있는 트리거 이벤트(1118)의 형태로 트리거를 생성할 수 있다. 유사하게, 슬레이브 디바이스(1106)에서 추적되는 시간이 지연 설정 정보(1112)에 도달할 때, 슬레이브 디바이스(1106)는 시간 동기화 마커로부터 지정된 기준 시간(1124)만큼 지연될 수 있는 트리거 이벤트(1122)의 형태로 트리거를 생성할 수 있다.
일부 실시예들에 있어서, 논의된 바와 같이, 도 2에 예시된 마스터 디바이스(202)는, 슬레이브 디바이스(204)에서 검출된 이벤트의 타임 스탬프를 마스터 디바이스(202)에 의해 생성되고 제어되는 전역 클럭 신호를 참조하여 시스템 (실제) 시간으로 변환하기 위하여, 시간 동기화 명령에 의해 표시되는 시간 동기화 마커로부터 시작하여 시스템 기준 시간을 추적할 수 있다. 도 12는 본 개시의 실시예들에 따른, 타임 스탬핑을 지원하기 위하여 마스터 디바이스(202)에서 구현되는 회로부(1200)의 예시적인 개략도이다. 도 12에 예시된 회로부(1200)는 도 2에 도시된 마스터 디바이스(202)의 시간 추적 회로(234)에 대응할 수 있다.
플립 플롭(1202)은, 동기화 CCC 방송이 하이 로직 레벨을 갖는 입력(1206)에서의 신호에 의해 표시될 때, 리셋 라인(1204) 상에 동기화 펄스를 생성한다. 동기화 펄스의 하강 에지는, 입력(1206)에서 검출된 시간 동기화 명령의 'T' 비트 동안의 SCL 클럭 신호(1208)의 선택된 천이와 정렬되는 시간 동기화 마커를 나타낼 수 있다. 리셋 라인(1204)에 제공되는 동기화 펄스는 카운터(1210)를 모두 0으로 리셋할 수 있다. 카운터(1210)는 도 2에 도시된 마스터 디바이스(202)의 카운터 회로(248)에 대응할 수 있다. 카운터(1210)는 SCL 클럭 신호(1208)의 매 선택된 천이마다 증가하며, 마스터 디바이스와 모든 슬레이브 디바이스들에 사이에 균일한 시간 기준을 제공할 수 있다. 일 실시예에 있어서, 마스터 디바이스가 (예를 들어, SDR 및 듀얼 데이터 레이트(Dual Data Rate; DDR) 모드들로와 같이) SCL 버스를 제어할 때, SCL 클럭 신호(1208)는 도 2로부터의 클럭 생성기(260)에 의한 기준 클럭으로부터 얻어지고 마스터 디바이스(202)에 의해 제어될 수 있다.
일부 실시예들에 있어서, SCL 클럭 신호(1208)의 주파수 변화들이 카운터(1210)의 값(1212)을 사용하여 스탬핑될 수 있다. 일단 SCL 클럭 신호(1208)의 주파수의 변화를 나타내는 주파수 변화(COF) 신호(1214)가 논리적으로 '1'이 되면, 도 12에서 값 C0으로 표시되는 바와 같은 카운터(1210)의 값(1212)이 래치(1216) 내에 저장될 수 있다. 일 실시예에 있어서, C0의 값은 시간 동기화 마커와 SCL 클럭 신호(1208)의 주파수의 제 1 변화 이전의 SCL 클럭 신호(1208)의 마지막 선택된 천이 사이의 SCL 클럭 신호(1208)의 선택된 천이들의 수를 나타낸다. 다시 도 2를 참조하면, 도 12에서 래치(1216) 내에 저장되는 값 C0은 COF 신호(252)가 하이가 될 때 마스터 디바이스(202)의 래치(250) 내에 저장된 SCL 카운트 C0에 대응할 수 있다.
일부 실시예들에 있어서, 레지스터 또는 룩-업 테이블(1218)은 SCL 클럭 신호(1208)의 상이한 주파수들과 연관된 상이한 주기들에 관한 정보를 저장할 수 있다. 예를 들어, 도 12에 예시된 바와 같이, 비트들 T(1,0)은 SCL 클럭 신호(1208)가 12 MHz일 때의 주기의 지속기간을 인코딩할 수 있으며; 비트들 T(0,1)은 SCL 클럭 신호(1208)가 1 MHz일 때의 주기의 지속기간을 인코딩할 수 있고; 및 비트들 T(0,0)은 SCL 클럭 신호(1208)가 400 KHz일 때의 주기의 지속기간을 인코딩할 수 있다. 레지스터(1218)의 출력에서의 비트들 T(0:m)에 의해 인코딩된 값(1220)은, SCL 클럭 신호(1208)의 선택된 천이들의 수와 실제 시간 기준 사이의 관계를 제공하기 위하여 래치(1216)에 저장된 C0의 값과 함께 사용될 수 있다. 일단 SCL 클럭 신호(1208)의 주파수의 변화를 나타내는 COF 신호(1214)가 논리적으로 '1'이 되면, 레지스터(1218)의 출력에서의 비트들 T(0:m)에 의해 인코딩된 값(1220)은 값 C1로서 표시되는 바와 같이 래치(1222) 내에 저장될 수 있다. 따라서, C1의 값은 SCL 클럭 신호(1208)의 주파수의 변화 이전의 SCL 클럭 신호(1208)의 주기를 나타낼 수 있다. C0 및 C1의 래치된 값들은 시간 동기화 마커와 COF 사이의 시스템 시간 기준에 관한 정보를 제공할 수 있다.
일부 실시예들에 있어서, 도 12에 예시된 바와 같이, 시간 동기화 마커와 SCL 클럭 신호(1208)의 주파수의 변화 사이의 SCL 클럭 신호(1208)의 선택된 천이들의 수를 나타내는 값(1212) 및 주파수의 변화 이전의 SCL 클럭 신호(1208)의 주파수의 인코딩된 주기를 나타내는 값(1220)이 각기 값들 C0 및 C1으로 저장될 때, SCL 클럭 신호(1208)의 다음 선택된 천이는 플립 플롭(1224)이 값들 C0 및 C1의 캐시 또는 레지스터 파일 내로의 저장을 개시하는 인터럽트(interrupt; INT) 신호(1226)를 생성하게끔 할 수 있다. 그 이후에, 소거 신호(1128)이 펄싱(pulse)될 수 있으며, 이는 래치들(1216 및 1222)를 리셋할 수 있고, 즉, 래치된 값들 C0 및 C1은 INT 신호(1226)에 기초하여 캐시 또는 레지스터 파일에 저장된 이후에 소거된다. 다시 도 2를 참조하면, 캐시 또는 레지스터 파일 내에 저장된 C0 및 C1의 값들은, COF 신호들(252)이 하이가 될 때 도 2에 도시된 마스터 디바이스(202)의 레지스터 파일(254)에 저장된 CNT_1 및 T1 값들에 대응할 수 있다.
다시 도 12를 참조하면, 래치들(1216, 1222)이 리셋된 이후에, 회로부(1200)는, SCL 클럭 신호(1208)의 주파수의 제 1 변화 다음에 SCL 클럭 신호(1208)의 주파수의다음 변화까지 SCL 클럭 신호(1208)의 선택된 천이들의 수를 추적하는 것을 계속할 수 있다. 도 12에서 래치된 값들 C0 및 C1은 COF 신호(1214)에 의해 표시되는 SCL 클럭 신호(1208)의 주파수의 다음 변화와 시간 동기화 마커 사이의 기준 시간에 관한 정보를 제공할 수 있다. 이러한 방식으로, 도 2의 마스터 디바이스(202)는 시간 동기화 마커에서 시작하는 마스터 디바이스(202)에 의해 생성되고 제어되는 SCL 클럭 신호(1208)에 기초하여 기준 시간을 추적할 수 있으며, 슬레이브 디바이스(204)에서 검출된 이벤트의 발생의 SCL 클럭 신호(1208)를 참조하여 실제 시간의 계산을 위하여 슬레이브 디바이스(204)에서 검출된 이벤트의 타임 스탬프를 이것과 상관시키기 위하여 이러한 기준 시간 정보를 사용할 수 있다.
시간 동기화 마커에 의해 표현되는 동기화의 시간으로부터 시작하여, 마스터 디바이스(202)는 시간 동기화 마커의 시간을 저장하고 SCL 클럭 신호(1208)의 각각의 선택된 천이를 카운터(1210)에 의해 카운트한다. 마스터 디바이스(202)는, 래치들(1222 및 1216) 내에, SCL 클럭 신호(1208)의 주파수를 나타내는 측정치(1220)(즉, 값 C1) 및 COF 신호(1214)에 의해 표시되는 SCL 클럭 신호(1208)의 주파수 변화가 발생하는 SCL 클럭 신호(1208)의 선택된 천이들의 카운트(1212)(즉, 값 C0)를 저장한다. COF 신호(1214)에 의해 INT(1226)이 개시될 때, C0 및 C1의 저장된 값들이 래치들(1216, 1222)로부터 캐시 또는 레지스터 파일 내로 전달될 수 있다. 다시 도 2를 참조하면, 캐시 또는 레지스터 파일 내로 전달되는 C0 및 C1의 값들은 각기 CNT_i 및 Ti 값들에 대응할 수 있으며, 이들은 COF 신호(252)가 하이가 될 때마다 마스터 디바이스(202)의 레지스터 파일(254) 내에 저장되어 기준 시간 정보를 제공한다. 일부 실시예들에 있어서, 논의된 바와 같이, 마스터 디바이스(202)는 SDA 버스(206)를 통해 슬레이브 디바이스(204)에서 검출된 이벤트(222)의 타임 스탬프(224)를 수신할 수 있다. 마스터 디바이스(202)는, 각각의 이러한 천이의 시간을 실제로 저장하지 않고 SCL 클럭 신호의 임의의 선택된 천이의 시간 순간을 재구성하기 위하여 레지스터 파일(254)에 저장된 기준 시간 정보, 즉, CNT_i 및 Ti 값들을 사용할 수 있다. 마스터 디바이스(202)가 슬레이브 디바이스(204)에서 검출된 이벤트(222)의 SCL 클럭 신호 카운트 또는 타임 스탬프(224)를 수신할 때, 마스터 디바이스(202)는 시스템 기준 클럭에 대한 이벤트(222)의 정확한 시간 순간(258)을 결정하기 위하여 실제 시간 계산 유닛(256)에서 타임 스탬프(224)와 레지스터 파일(254)의 기준 시간 정보를 상관시킨다.
도 13은 본 개시의 실시예들에 따른, 도 12의 회로부(1200)에 의해 수행될 수 있는 SCL 클럭 신호의 변화들을 타임 스탬핑하기 위한 도 2에 예시된 마스터 디바이스(202)에서 수행되는 방법을 예시하는 도면(1300)이다. 도 13에 예시된 바와 같이, SCL 버스를 구동하는 SCL 클럭 신호(1302)는 그것의 주파수를 변화시킬 수 있으며, 이는 마스터 디바이스(202)에 의해 제어될 수 있다. 추가로, 시간의 어떤 기간 동안, SCL 클럭 신호(1302)는 어떠한 천이들을 가지지 않을 수 있으며, 이는 버스가 빈 상태에 대응한다. 따라서, 도 13에 예시된 바와 같이, SCL 클럭 신호(1302)는 버스가 빈 상태인 동안 시간의 특정 기간 동안 주기적이지 않으며, 반면 SCL 클럭 신호(1302)가 다시 주기적이 될 수 있다. 도 12에 예시된 회로부(1200)와 관련하여 이상에서 논의된 바와 같이, 마스터 디바이스(202)는 SCL 클럭 신호(1302)의 주파수의 변화 이전에 SCL 클럭 신호(1302)의 마지막 선택된 천이를 타임 스탬핑할 수 있다. 도 13에 예시된 바와 같이, SCL 클럭 신호(1302)의 이전 클럭 주파수(1306)에 관한 선택된 마지막 천이(1304)는 시간 동기화 마커(미도시)에 대하여 타임-스탬핑될 수 있다. 그 이후, 다음 클럭 주파수(1308)에 대하여 SCL 클럭 신호(1302)의 마지막 선택된 천이가 또한 타임-스탬핑되며, 즉, 버스가 빈 상태(1312) 이전의 SCL 클럭 신호(1302)의 마지막 하이-대-로우 천이(1310)가 타임-스탬핑된다. 타임 스탬프(1310)는 타임 스탬프(1304)와 함께 SCL 클럭 신호(1302)의 주파수의 2개의 연속적인 변화들 사이의 시간을 나타낸다. SCL 클럭 신호(1302)가 주기적이지 않을 때의 버스가 빈 상태(1312)가 또한, SCL 클럭 신호(1302)의 주파수가 실제로 0이 아닌 주파수(1308)로부터 0으로 변화함에 따라 SCL 클럭 신호(1302)의 주파수의 변화로서 간주될 수 있다는 것을 주목해야만 한다. 따라서, 버스가 빈 상태(1312)로부터 새로운 클럭 주파수(1316)으로 천이할 때 SCL 클럭 신호(1302)의 하이-대-로우 천이(1314)가 또한 타임-스탬핑된다. 타임 스탬프(1314)는 타임 스탬프(1310)와 함께 버스가 빈 상태(1312)의 지속기간을 나타낸다.
일부 실시예들에 있어서, 논의된 바와 같이, 도 2에 예시된 마스터 디바이스(202)는, 슬레이브 디바이스(204)가 검출한 임의의 타임-스탬핑된 이벤트의 시스템 기준 시간을 결정하기 위하여 SCL 클럭 신호(1302)의 타임-스탬핑된 선택된 천이들(예를 들어, 타임-스탬핑된 천이들(1304, 1310, 1314, 등등))을 사용할 수 있다. 타임 스탬프들(1304, 1310, 1314)은 마스터 디바이스(202)의 레지스터 파일(254)에 저장된 값들 CNT_i에 대응할 수 있다. 마스터 디바이스(204)는 SCL 클럭 신호의 주기들 Ti에 관한 정보를 포함하는 SCL 클럭 신호의 타임-스탬핑된 천이들(1304, 1310, 1314)과 슬레이브 디바이스(204)에서 검출된 이벤트(222)의 타임-스탬프(224)를 상관시킬 수 있으며, 실제 시간 계산 회로(256)에 의해 이벤트의 시스템 기준 시간(258)을 결정할 수 있다.
본 개시의 실시예들은 타임 스탬핑 및 지연된 트리거링을 위하여 마스터 디바이스에서의 시스템 타임 베이스를 슬레이브 디바이스에서의 로컬 타임 베이스로 변환하기 위한 방법에 관한 것이다. 다시 도 2를 참조하면, 마스터 디바이스(202)는, 하나 이상의 슬레이브 디바이스들(204)에서 이용이 가능한 기준 SCL 클럭 신호(208)를 생성하도록 구성될 수 있다. 하나 이상의 실시예들에 있어서, 기준 SCL 클럭 신호(208)는 특정 분해능을 가질 수 있으며 시스템 시간으로 변환될 수 있다. 그러면, 마스터 디바이스(202)는 도 2 및 도 3에 도시된 시간 동기화 명령들(210 및 300)의 형태로 동기화의 표시를 SDA 버스(206) 상에 제공할 수 있다. 동기화의 표시를 제공함으로써, 마스터 디바이스(202)는 또한 SDA 버스(206) 상에 기준점을 설정할 수 있으며, 이는 시간 동기화 명령 동안 기준 SCL 클럭 신호(208)의 선택된 천이에 대응할 수 있다. 마스터 디바이스(202)에 의해 제공되는 기준점은 각각의 슬레이브 디바이스(204)에서 기준 SCL 클럭 신호(208)의 선택된 천이와 정렬되는 시간 동기화 마커로서 수신될 수 있다. 일부 실시예들에 있어서, 논의된 바와 같이, 기준점을 수신하는 것을 응답하여, 각각의 슬레이브 디바이스(204)는 로컬 시간 기준에서 경과되는 시간의 양을 추적할 수 있다. 슬레이브 디바이스(204)에서 이벤트를 검출하는 것에 응답하여, 이벤트가 검출되었을 때 경과된 로컬 시간의 양의 표시가 레지스터 내로 로딩(load)될 수 있거나 또는 SDA 버스(206)로 전송될 수 있다. 이에 더하여, 마스터 디바이스(202)에 의해 제공되는 기준점 및 기준 SCL 클럭 신호(208)에 기초하여, 각각의 슬레이브 디바이스(204)는 마스터 디바이스(202)에 의해 직접적으로 제어되며 시스템 타임 베이스에 기초하여 참조되는 시간 순간에 트리거 신호를 생성할 수 있다.
본 개시의 실시예들은 추가로 타임 스탬핑을 위하여 슬레이브 디바이스에서의 로컬 타임 베이스를 마스터 디바이스에서의 시스템 타임 베이스로 변환하기 위한 방법에 관한 것이다. 하나 이상의 슬레이브 디바이스들(204)은 이벤트의 발생에 대하여 모니터링할 수 있다. 각각의 슬레이브 디바이스(204)에서, 논의된 바와 같이, 이벤트의 발생은 로컬 타임 베이스에 마킹될 수 있으며, 이벤트의 타임 스탬프가 슬레이브 디바이스(204)에서 래치될 수 있다. 이벤트의 발생에 대한 모니터링을 시작하기 이전에, 각각의 슬레이브 디바이스(204)는 SDA 버스(206)를 통해 시간 동기화 마커의 형태로 기준점 신호를 마스터 디바이스(202)로부터 수신할 수 있다. 시간 동기화 마커는 마스터 디바이스(202)에서 생성되고 제어되는 SCL 클럭 신호(208)와 같은 기준 클럭에 기초할 수 있으며, 따라서 시스템-와이드 타임 베이스(system-wide time base)로 변환이 가능할 수 있다. 각각의 슬레이브 디바이스(204)에서, 시간 동기화 마커가 슬레이브 디바이스(204)에서 수신된 시간과 이벤트의 발생이 로컬 타임 베이스에서 검출되는 시간 사이의 레이턴시(latency)가 결정될 수 있다. 레이턴시는 로컬 타임 베이스에서의 이벤트의 시간에 대응할 수 있으며, 마스터 디바이스(202)로 보고될 수 있다. 일부 실시예들에 있어서, 논의된 바와 같이, 마스터 디바이스(202)는 슬레이브 디바이스들(204)에서의 이벤트들의 각각의 발생의 개별적인 시간들을 시스템-와이드 타임 베이스에서 결정할 수 있다.
도 14는 본 개시의 실시예들에 따른, 도 2에 예시된 마스터 디바이스(202)에서 수행될 수 있는 타임 스탬핑을 위한 방법(1400)을 예시하는 순서도이다.
방법(1400)의 동작들은, 클럭 신호(예를 들어, SCL 클럭 신호(208)) 및 시간 동기화 명령(210)과 같은 동기화 명령을 생성하는 마스터 디바이스(202)에 의해 시작할 수 있다(1402).
마스터 디바이스(202)는, SCL 라인(208) 및 SDA 라인(206)을 포함하는 도 2에 예시된 통신 링크(205)와 같은 통신 링크를 통해 클럭 신호 및 동기화 명령을 송신한다(1404).
마스터 디바이스(202)는 통신 링크를 통해 타임스탬프 정보(예를 들어, 타임 스탬프(224))를 수신하며(1406), 타임스탬프 정보는 동기화 명령과 슬레이브 디바이스에서 이벤트(예를 들어, 슬레이브 디바이스(204)에서 검출되는 이벤트(222))가 검출되는 시간 순간 사이에 경과된 클럭 신호의 선택된 천이들의 수를 나타낸다.
도 12에서 회로부(1200)로서 더 상세하게 도시된 마스터 디바이스(202)의 시간 추적 회로(234)는 동기화 명령과 동기화 명령 이후에 발생하는 클럭 신호의 주파수 변화들 사이의 클럭 신호의 선택된 천이들의 카운트들을 추적한다(1408).
마스터 디바이스(202)의 실제 시간 계산 유닛(256)은 타임스탬프 정보 및 클럭 신호의 선택된 천이들의 카운트들에 기초하여 슬레이브 디바이스에서 검출된 이벤트의 시간을 결정한다(1410).
도 15는 본 개시의 실시예들에 따른, 도 2에 예시된 슬레이브 디바이스(204)에서 수행될 수 있는 지연된 트리거링을 위한 방법(1500)을 예시하는 순서도이다.
방법(1500)의 동작들은, 클럭 신호(예를 들어, SCL 클럭 신호(208)), 동기화 명령(예를 들어, 시간 동기화 명령(210)) 및 시간 동기화 명령 이전에 마스터 디바이스(202)에 의해 생성된 SDR 명령(210)에 의해 제공될 수 있는 지연 설정 정보를 전달하는 통신 링크를 통해 수신하는 슬레이브 디바이스(204)에 의해 시작할 수 있다(1502). 일부 실시예들에 있어서, 논의된 바와 같이, 통신 링크는 SDA 라인(206) 및 SCL 라인(208)을 포함하는 통신 링크(205)에 대응할 수 있다.
도 10에서 회로부(1000)로서 더 상세하게 도시된 슬레이브 디바이스(202)의 시간 추적/트리거 회로(214)는 동기화 명령 이후의 클럭 신호의 선택된 천이들(예를 들어, SCL 클럭 신호(208)의 하강 에지들)의 수를 추적한다(1504).
슬레이브 디바이스(204)는, 선택된 천이들의 수가 지연 설정 정보에 의해 표시된 지연 설정에 도달하는 것에 응답하여 지연된 트리거(238)와 같은 트리거 신호를 생성한다(1506).
도 16은 본 개시의 실시예들에 따른, 도 2에 예시된 마스터 디바이스(202)에서 수행될 수 있는 지연된 트리거링을 위한 방법(1600)을 예시하는 순서도이다.
방법(1600)의 동작들은, 통신 링크를 통해 클럭 신호(예를 들어, SCL 클럭 신호(208)) 및 동기화 명령(예를 들어, 시간 동기화 명령(210))을 송신하는 마스터 디바이스(202)에 의해 시작할 수 있다(1602). 일부 실시예들에 있어서, 논의된 바와 같이, 통신 링크는 SDA 라인(206) 및 SCL 라인(208)을 포함하는 통신 링크(205)에 대응할 수 있다.
마스터 디바이스(202)는 통신 링크에 결합된 하나 이상의 슬레이브 디바이스들(204)에서 동기화 명령과 트리거 신호(예를 들어, 지연된 트리거(238))의 생성 사이에 발생할 클럭 신호들의 선택된 천이들의 수를 나타내는 지연 설정 정보를 송신한다(1604). 일부 실시예들에 있어서, 논의된 바와 같이, 지연 설정 정보는 동기화 명령 이전에 마스터 디바이스(202)에 의해 생성된 SDR 명령(210) 내에 위치된 거친 및 미세 지연 설정 정보를 포함할 수 있다.
본 개시의 실시예들의 전술한 설명은 예시의 목적들을 위해 제공되었으며, 개시된 정확한 형태로 본 개시를 제한하거나 또는 철저하게 만들도록 의도되지 않는다. 관련 기술 분야의 당업자들은 이상의 개시내용을 고려하여 다수의 수정들 및 변형들이 가능하다는 것을 이해할 것이다.
본 개시의 일부 부분들은 정보에 대한 동작들의 알고리즘들 및 심볼적 표현들과 관련하여 본 개시의 실시예들을 설명한다. 이러한 알고리즘적 설명들 및 표현들은 효율적으로 그들의 작업의 내용을 당해 기술분야의 다른 당업자들에게 전달하기 위해 데이터 프로세싱 기술분야의 당업자들에 의해 일반적으로 사용된다. 기능적으로, 컴퓨터적으로, 또는 논리적으로 설명되지만, 이러한 동작들은 컴퓨터 프로그램들 또는 동등한 전기 회로들, 마이크로코드, 또는 유사한 것에 의해 구현될 수 있다는 것이 이해될 것이다. 추가로, 때때로 동작들의 이러한 배열들을 모듈들로서 지칭하는 것이 보편성을 상실하지 않고 편리하다는 것이 또한 증명되었다. 설명된 동작들 및 그들의 연관된 모듈들은 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 임의의 조합들로 구현될 수 있다.
본원에서 설명된 단계들, 동작들, 또는 프로세스들 중 임의의 것은, 단독으로 또는 다른 디바이스들과 조합되어, 하나 이상의 하드웨어 또는 소프트웨어 모듈들을 가지고 수행되거나 또는 구현될 수 있다. 일 실시예에 있어서, 소프트웨어 모듈은, 설명된 단계들, 동작들, 또는 프로세스들 중 일부 또는 전부를 수행하기 위하여 컴퓨터 프로세서에 의해 실행될 수 있는 컴퓨터 프로그램 코드를 포함하는 컴퓨터-판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로 구현된다.
본 개시의 실시예들은 또한 본원의 동작들을 수행하기 위한 장치와 관련된다. 이러한 장치는 요구되는 목적들을 위해 특별하게 구성될 수 있거나, 및/또는 이는 컴퓨터 내에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 또는 재구성되는 범용 컴퓨팅 디바이스를 포함할 수 있다. 이러한 컴퓨터 프로그램은 비일시적이고, 유형적인 컴퓨터 판독가능 저장 매체 또는 전자 명령어들을 저장하기에 적절한 임의의 유형의 매체 내에 저장될 수 있으며, 이는 컴퓨터 시스템 버스에 결합될 수 있다. 추가로, 본 명세서에서 언급된 임의의 컴퓨팅 시스템들은 단일 프로세서를 포함할 수 있거나 또는 증가된 컴퓨팅 성능을 위하여 다중 프로세서 설계들을 이용하는 아키텍처들일 수 있다.
마지막으로, 본 명세서에서 사용되는 언어는 원칙적으로 가독성 및 교육적 목적들을 위해 선택되었으며, 본 발명의 내용을 제한하거나 또는 묘사하도록 선택되지 않았을 수 있다. 따라서, 본 개시의 범위는 이러한 상세한 설명에 의해 제한되는 것이 아니라, 본 명세서에 기초한 출원에 대해 제기된 임의의 청구항들에 의해 제한되는 것으로 의도된다. 따라서, 실시예들의 개시내용은 다음의 청구항들에 기술되는 본 개시의 범위를 제한하는 것이 아니라 예시하도록 의도된다.

Claims (42)

  1. 시스템으로서,
    통신 링크에 결합된 마스터(master) 디바이스로서, 상기 마스터 디바이스는 통신 링크를 통해 클럭 신호 및 동기화 명령을 송신하는, 상기 마스터 디바이스; 및
    상기 통신 링크에 결합된 하나 이상의 슬레이브(slave) 디바이스들로서, 각각의 슬레이브 디바이스는,
    상기 동기화 명령과 그 슬레이브 디바이스에서 검출된 이벤트 사이의 상기 클럭 신호의 선택된 천이들의 수를 추적하고, 및
    상기 동기화 명령과 그 슬레이브 디바이스에서 검출된 상기 이벤트 사이에 경과된 시간에 관한 정보를 생성하되, 상기 정보는 그 슬레이브 디바이스에서 추적된 상기 클럭 신호의 선택된 천이들의 수에 기초하는, 경과된 시간에 관한 정보를 생성하는, 상기 하나 이상의 슬레이브 디바이스들을 포함하며,
    상기 마스터 디바이스는 상기 경과된 시간에 관한 상기 정보를 획득하고 상기 정보에 기초하여 상기 이벤트가 그 슬레이브 디바이스에서 검출되었던 시간을 도출하는, 시스템.
  2. 청구항 1에 있어서,
    상기 마스터 디바이스는 상기 경과된 시간에 관한 상기 정보를 수신하고, 상기 경과된 시간에 관한 상기 수신된 정보 및 상기 마스터 디바이스에서 추적된 상기 클럭 신호의 주파수 변화들 사이에 발생한 상기 클럭 신호의 선택된 천이들이 수에 기초하여 상기 이벤트가 상기 슬레이브 디바이스에서 검출되었던 시간을 결정하는, 시스템.
  3. 청구항 1에 있어서,
    상기 통신 링크는 상기 클럭 신호를 전달하는 단일 클럭 라인 및 상기 동기화 명령을 전달하는 단일 데이터 라인을 포함하는, 시스템.
  4. 청구항 1에 있어서,
    상기 하나 이상의 슬레이브 디바이스들은 복수의 슬레이브 디바이스들을 포함하며,
    상기 복수의 슬레이브 디바이스들의 각각의 슬레이브 디바이스는 대응하는 센서에 결합되고, 슬레이브 디바이스에서 검출되는 상기 이벤트는 상기 대응하는 센서에 의한 물리적인 현상의 검출에 대응하는, 시스템.
  5. 청구항 1에 있어서,
    각각의 슬레이브 디바이스는 상기 클럭 신호보다 더 높은 주파수를 갖는 발진기 신호를 생성하기 위한 발진기 회로를 포함하며, 및
    각각의 슬레이브 디바이스는 상기 이벤트가 상기 슬레이브 디바이스에서 검출된 이후에 발생하는 상기 발진기 신호의 선택된 천이들을 수를 카운트(count)하고, 상기 발진기 신호의 선택된 천이들의 상기 수에 기초하여 상기 경과된 시간에 관한 상기 정보를 생성하는, 시스템.
  6. 청구항 1에 있어서,
    상기 슬레이브 디바이스는 상기 슬레이브 디바이스에서의 상기 이벤트의 검출에 응답하여 인터럽트(interrupt)를 생성하며;
    상기 마스터 디바이스는, 상기 인터럽트에 응답하여, 상기 슬레이브 디바이스의 레지스터로부터 상기 경과된 시간에 관한 상기 정보를 판독하기 위한 요청을 생성하고;
    상기 슬레이브 디바이스는, 상기 요청에 응답하여, 상기 마스터 디바이스에 대한 상기 경과된 시간에 관한 상기 정보를 생성하며; 및
    상기 마스터 디바이스는, 상기 마스터 디바이스의 레지스터에, 상기 통신 링크를 통해 상기 슬레이브 디바이스로부터 획득된 상기 경과된 시간에 관한 상기 정보를 저장하는, 시스템.
  7. 청구항 1에 있어서,
    상기 슬레이브 디바이스는 상기 슬레이브 디바이스에서의 상기 이벤트의 검출에 응답하여 인터럽트를 생성하며;
    상기 마스터 디바이스는, 상기 인터럽트에 응답하여, 상기 슬레이브 디바이스의 레지스터로부터 상기 경과된 시간에 관한 상기 정보를 판독하기 위한 요청을 생성하고, 상기 하나 이상의 슬레이브 디바이스들 중 다른 슬레이브 디바이스의 레지스터로부터 다른 타임스탬프(timestamp) 정보를 판독하기 위한 다른 요청을 생성하며;
    상기 슬레이브 디바이스는, 상기 요청에 응답하여, 상기 마스터 디바이스에 대한 상기 경과된 시간에 관한 상기 정보를 생성하고;
    상기 다른 슬레이브 디바이스는, 상기 다른 요청에 응답하여, 상기 마스터 디바이스에 대한 상기 다른 타임스탬프 정보를 생성하며;
    상기 마스터 디바이스는, 상기 마스터 디바이스의 레지스터에, 상기 통신 링크를 통해 상기 슬레이브 디바이스로부터 획득된 상기 경과된 시간에 관한 상기 정보를 저장하고; 및
    상기 마스터 디바이스는, 상기 마스터 디바이스의 다른 레지스터에, 상기 통신 링크를 통해 상기 다른 슬레이브 디바이스로부터 획득된 상기 다른 타임스탬프 정보를 저장하는, 시스템.
  8. 청구항 7에 있어서,
    상기 시스템은,
    상기 통신 링크에 결합된 모니터 디바이스로서, 상기 모니터 디바이스는,
    상기 경과된 시간에 관한 상기 정보를 수신하고, 상기 경과된 시간에 관한 상기 정보를 상기 모니터 디바이스의 레지스터 내에 저장하며;
    상기 다른 타임스탬프 정보를 수신하고, 상기 다른 타임스탬프 정보를 상기 모니터 디바이스의 다른 레지스터 내에 저장하며; 및
    상기 경과된 시간에 관한 상기 정보 및 상기 다른 타임스탬프 정보를 상기 마스터 디바이스로 전송하는, 상기 모니터 디바이스를 더 포함하는, 시스템.
  9. 장치로서,
    통신 링크에 결합하기 위한 인터페이스 회로로서, 상기 인터페이스 회로는,
    상기 통신 링크를 통해 클럭 신호 및 동기화 명령을 송신하며; 및
    상기 통신 링크를 통해 상기 동기화 명령과 슬레이브 디바이스에서 이벤트가 검출되는 시간 순간 사이에 경과된 상기 클럭 신호의 선택된 천이들의 수를 나타내는 타임 스탬프 정보를 수신하는, 상기 인터페이스 회로;
    상기 동기화 명령과 상기 동기화 명령 이후에 발생하는 상기 클럭 신호의 주파수 변화들 사이의 상기 클럭 신호의 선택된 천이들의 카운트들을 추적하는 시간 추적 회로; 및
    상기 타임스탬프 정보 및 상기 클럭 신호의 상기 선택된 천이들의 상기 카운트들에 기초하여 상기 슬레이브 디바이스에서 검출된 상기 이벤트의 시간을 결정하는 시간 계산 회로를 포함하는, 장치.
  10. 청구항 9에 있어서,
    상기 시간 추적 회로는 상기 동기화 명령과 상기 클럭 신호의 주파수의 제 1 변화 사이의 상기 클럭 신호의 선택된 천이들의 제 1 수를 카운트하고, 상기 동기화 명령과 상기 클럭 신호의 주파수의 제 2 변화 사이의 상기 클럭 신호의 선택된 천이들의 제 2 수를 카운트하며, 및
    상기 시간 계산 회로는 상기 클럭 신호의 선택된 천이들의 상기 제 1 수 및 상기 클럭 신호의 선택된 천이들의 상기 제 2 수에 기초하여 상기 이벤트의 상기 시간을 결정하는, 장치.
  11. 청구항 10에 있어서,
    상기 시간 추적 회로는 상기 클럭 신호의 주파수의 상기 제 1 변화 이전의 상기 클럭 신호의 제 1 주기(period)에 관한 정보를 저장하고, 상기 클럭 신호의 주파수의 상기 제 2 변화 이전의 상기 클럭 신호의 제 2 주기에 관한 정보를 저장하며, 및
    상기 시간 계산 회로는 상기 클럭 신호의 상기 제 1 주기 및 상기 클럭 신호의 상기 제 2 주기에 추가로 기초하여 상기 이벤트의 상기 시간을 결정하는, 장치.
  12. 청구항 9에 있어서,
    상기 통신 링크는 상기 클럭 신호를 전달하는 단일 와이어 클럭 라인 및 상기 동기화 명령을 전달하는 단일 와이어 데이터 라인을 포함하며, 상기 인터페이스 회로는 상기 단일 와이어 클럭 라인 및 상기 단일 와이어 데이터 라인에 결합하도록 구성되는, 장치.
  13. 청구항 9에 있어서,
    상기 인터페이스 회로는,
    상기 통신 링크를 통해 상기 슬레이브 디바이스로부터 인터럽트를 수신하며;
    상기 수신된 인터럽트에 응답하여 상기 통신 링크를 통해, 상기 슬레이브 디바이스의 레지스터로부터 상기 타임스탬프 정보를 판독하기 위한 요청을 송신하고; 및
    상기 통신 링크를 통해 획득된 상기 타임스탬프 정보를 상기 장치의 레지스터에 저장하는, 장치.
  14. 청구항 9에 있어서,
    상기 인터페이스 회로는,
    상기 통신 링크를 통해 상기 슬레이브 디바이스로부터 인터럽트를 수신하고;
    상기 수신된 인터럽트에 응답하여 상기 통신 링크를 통해, 상기 슬레이브 디바이스의 레지스터로부터 상기 타임스탬프 정보를 판독하기 위한 요청 및 다른 슬레이브 디바이스의 레지스터로부터 다른 타임스탬프 정보를 판독하기 위한 다른 요청을 송신하며;
    상기 통신 링크를 통해, 상기 요청에 응답하는 상기 슬레이브 디바이스로부터 상기 타임스탬프 정보 및 상기 다른 요청에 응답하는 상기 다른 슬레이브 디바이스로부터 상기 다른 타임스탬프 정보를 수신하고;
    상기 장치의 레지스터에, 상기 통신 링크를 통해 획득된 상기 타임스탬프 정보를 저장하며; 및
    상기 장치의 다른 레지스터에, 상기 통신 링크를 통해 획득된 상기 다른 타임스탬프 정보를 저장하는, 장치.
  15. 장치로서,
    클럭 신호를 전달하는 통신 링크에 결합하기 위한 인터페이스 회로; 및
    상기 통신 링크를 통해 수신된 동기화 명령과 이벤트의 검출 사이의 상기 통신 링크 상의 상기 클럭 신호의 선택된 천이들의 수를 추적하기 위한 제어 회로를 포함하며,
    상기 인터페이스 회로는, 상기 통신 링크를 통해, 상기 동기화 명령과 상기 이벤트의 검출 사이에 경과된 시간에 관한 정보를 송신하며, 상기 정보는 상기 클럭 신호의 선택된 천이들의 상기 수에 기초하는, 장치.
  16. 청구항 15에 있어서,
    상기 제어 회로는,
    상기 동기화 명령에 기초하여, 상기 클럭 신호의 선택된 천이들과 정렬되는 선택된 천이를 갖는 동기화 펄스를 생성하기 위한 동기화 펄스 회로;
    상기 동기화 펄스에 의한 초기화(initialization) 이후에, 상기 클럭 신호의 선택된 천이마다 카운터 회로의 값을 증가시키기 위한 카운터 회로; 및
    상기 이벤트에 응답하여, 상기 카운터 회로의 상기 값을 저장하기 위한 래치(latch) 회로로서, 상기 경과된 시간에 관한 상기 정보는 상기 카운터 회로의 상기 값에 적어도 부분적으로 기초하는, 상기 래치 회로를 더 포함하는, 장치.
  17. 청구항 15에 있어서,
    상기 제어 회로는,
    상기 클럭 신호보다 더 높은 주파수를 갖는 발진기 신호를 생성하기 위한 발진기 회로를 더 포함하며,
    상기 제어 회로는 상기 이벤트 이후에 발생하는 상기 발진기 회로의 선택된 천이들의 제 1 수를 추적하고, 및
    상기 경과된 시간에 관한 상기 정보는 선택된 천이들의 상기 제 1 수에 더 기초하는, 장치.
  18. 청구항 15에 있어서,
    상기 제어 회로는,
    상기 클럭 신호보다 더 높은 주파수를 갖는 발진기 신호를 생성하기 위한 발진기 회로를 더 포함하며,
    상기 제어 회로는 상기 이벤트의 상기 검출과 상기 이벤트 이후의 상기 클럭 신호의 제 1 선택된 천이 사이의 상기 발진기 신호의 선택된 천이들의 제 1 수를 추적하고,
    상기 제어 회로는 상기 이벤트의 상기 검출과 상기 클럭 신호의 상기 제 1 선택된 천이 이후의 상기 클럭 신호의 제 2 선택된 천이 사이의 상기 발진기 신호의 선택된 천이들의 제 2 수를 추적하며, 및
    상기 경과된 시간에 관한 상기 정보는 선택된 천이들의 상기 제 1 수 및 선택된 천이들의 상기 제 2 수에 추가로 기초하는, 장치.
  19. 청구항 15에 있어서,
    상기 장치는 상기 장치와 연관된 센서 입력으로부터 상기 이벤트를 검출하기 위한 이벤트 검출기를 더 포함하는, 장치.
  20. 청구항 15에 있어서,
    상기 통신 링크는 상기 클럭 신호를 전달하는 단일 와이어 클럭 라인 및 상기 동기화 명령을 전달하는 단일 와이어 데이터 라인을 포함하며, 상기 인터페이스 회로는 상기 단일 와이어 클럭 라인 및 상기 단일 와이어 데이터 라인에 결합하도록 구성되는, 장치.
  21. 청구항 15에 있어서,
    상기 인터페이스 회로는,
    상기 이벤트의 검출 시에 상기 통신 링크를 통해 인터럽트를 전송하고;
    상기 경과된 시간에 관한 상기 정보를 판독하기 위하여 상기 인터럽트에 응답하여 송신된 요청을 상기 통신 링크를 통해 수신하며; 및
    상기 요청에 응답하여 상기 통신 링크를 통해 상기 경과된 시간에 관한 상기 정보를 전송하는, 장치.
  22. 마스터 디바이스에 의해 수행되는 방법으로서,
    상기 마스터 디바이스의 클럭 생성기에 의해 클럭 신호를 생성하는 단계;
    상기 마스터 디바이스의 인코더에 의해 동기화 명령을 생성하는 단계;
    상기 마스터 디바이스의 인터페이스로부터 슬레이브 디바이스로 통신 링크를 통해 상기 클럭 신호 및 상기 동기화 명령을 송신하는 단계;
    상기 마스터 디바이스의 상기 인터페이스에서 상기 통신 링크를 통해 상기 슬레이브 디바이스로부터 상기 동기화 명령과 슬레이브 디바이스에서 이벤트가 검출되는 시간 순간 사이에 경과된 상기 클럭 신호의 선택된 천이들의 수를 나타내는 타임 스탬프 정보를 수신하는 단계;
    상기 마스터 디바이스의 시간 추적 회로에 의해 상기 동기화 명령과 상기 동기화 명령 이후에 발생하는 상기 클럭 신호의 주파수 변화들 사이의 상기 클럭 신호의 선택된 천이들의 카운트들을 추적하는 단계; 및
    상기 시간 추적 회로에 의해 상기 타임스탬프 정보 및 상기 클럭 신호의 상기 선택된 천이들의 상기 카운트들에 기초하여 상기 슬레이브 디바이스에서 검출된 상기 이벤트의 시간을 결정하는 단계를 포함하는, 방법.
  23. 청구항 22에 있어서,
    상기 방법은,
    상기 동기화 명령과 상기 클럭 신호의 주파수의 제 1 변화 사이의 상기 클럭 신호의 선택된 천이들의 제 1 수를 카운트하는 단계;
    상기 동기화 명령과 상기 클럭 신호의 주파수의 제 2 변화 사이의 상기 클럭 신호의 선택된 천이들의 제 2 수를 카운트하는 단계; 및
    상기 클럭 신호의 선택된 천이들의 상기 제 1 수 및 상기 클럭 신호의 선택된 천이들의 상기 제 2 수에 기초하여 상기 이벤트의 상기 시간을 결정하는 단계를 더 포함하는, 방법.
  24. 청구항 23에 있어서,
    상기 방법은,
    상기 클럭 신호의 주파수의 상기 제 1 변화 이전의 상기 클럭 신호의 제 1 주기에 관한 정보를 저장하는 단계;
    상기 클럭 신호의 주파수의 상기 제 2 변화 이전의 상기 클럭 신호의 제 2 주기에 관한 정보를 저장하는 단계; 및
    상기 클럭 신호의 상기 제 1 주기 및 상기 클럭 신호의 상기 제 2 주기에 추가로 기초하여 상기 이벤트의 상기 시간을 결정하는 단계를 더 포함하는, 방법.
  25. 청구항 22에 있어서,
    상기 방법은,
    마스터 디바이스에서 상기 통신 링크를 통해 상기 슬레이브 디바이스로부터 인터럽트를 수신하는 단계;
    상기 수신된 인터럽트에 응답하여 상기 통신 링크를 통해, 상기 슬레이브 디바이스의 레지스터로부터 상기 타임스탬프 정보를 판독하기 위한 요청을 송신하는 단계; 및
    상기 마스터 디바이스의 레지스터에, 상기 통신 링크를 통해 획득된 상기 타임스탬프 정보를 저장하는 단계를 더 포함하는, 방법.
  26. 청구항 22에 있어서,
    상기 방법은,
    상기 통신 링크를 통해 상기 슬레이브 디바이스로부터 인터럽트를 수신하는 단계;
    상기 수신된 인터럽트에 응답하여 상기 통신 링크를 통해, 상기 슬레이브 디바이스의 레지스터로부터 상기 타임스탬프 정보를 판독하기 위한 요청 및 다른 슬레이브 디바이스의 레지스터로부터 다른 타임스탬프 정보를 판독하기 위한 다른 요청을 송신하는 단계;
    상기 통신 링크를 통해, 상기 요청에 응답하는 상기 슬레이브 디바이스로부터 상기 타임스탬프 정보 및 상기 다른 요청에 응답하는 상기 다른 슬레이브 디바이스로부터 상기 다른 타임스탬프 정보를 수신하는 단계;
    마스터 디바이스의 레지스터에, 상기 통신 링크를 통해 획득된 상기 타임스탬프 정보를 저장하는 단계; 및
    상기 마스터 디바이스의 다른 레지스터에, 상기 통신 링크를 통해 획득된 상기 다른 타임스탬프 정보를 저장하는 단계를 더 포함하는, 방법.
  27. 장치로서,
    클럭 신호를 전달하는 통신 링크에 결합하기 위한 인터페이스로서, 상기 인터페이스는 상기 통신 링크를 통해 동기화 명령 및 제 1 지연 설정 정보를 수신하는, 상기 인터페이스; 및
    상기 동기화 명령 이후의 상기 클럭 신호의 선택된 천이들의 수를 추적하며, 선택된 천이들의 수가 상기 제 1 지연 설정 정보에 의해 표시된 지연 설정에 도달하는 것에 응답하여 트리거(trigger) 신호를 생성하기 위한 제어 회로를 포함하는, 장치.
  28. 청구항 27에 있어서,
    상기 제어 회로는,
    상기 동기화 명령의 검출에 응답하여 리셋되며 상기 클럭 신호의 선택된 천이마다 증가되는 값을 갖는 카운터 회로; 및
    상기 카운터 회로의 상기 값과 상기 제 1 지연 설정 정보를 비교하기 위한 비교기 회로로서, 상기 트리거 신호는 상기 비교에 기초하여 생성되는, 상기 비교기 회로를 더 포함하는, 장치.
  29. 청구항 27에 있어서,
    상기 인터페이스는 상기 통신 링크를 통해 제 2 지연 설정 정보를 더 수신하며, 상기 제어 회로는,
    상기 클럭 신호보다 더 높은 주파수를 갖는 발진기 신호를 생성하기 위한 발진기 회로를 더 포함하고,
    상기 제어 회로는 상기 클럭 신호의 선택된 천이들의 수가 상기 제 1 지연 설정 정보에 의해 표시되는 상기 지연 설정에 도달한 이후에 발생하는 상기 발진기 신호의 선택된 천이들의 수를 추적하며,
    상기 제어 회로는 상기 발진기 신호의 선택된 천이들의 수가 상기 제 2 지연 설정 정보에 의해 표시되는 지연 설정에 도달하는 것에 추가로 응답하여 상기 트리거 신호를 생성하는, 장치.
  30. 청구항 27에 있어서,
    상기 트리거 신호는 상기 장치와 연관된 트랜스듀서의 동작을 트리거하는, 장치.
  31. 슬레이브 디바이스에 의해 수행되는 방법으로서,
    상기 슬레이브 디바이스의 인터페이스에 의해, 클럭 신호를 전달하는 통신 링크를 통해 동기화 명령 및 제 1 지연 설정 정보를 수신하는 단계;
    상기 슬레이브 디바이스의 시간 추적 및 트리거 제어 회로에 의해, 상기 동기화 명령 이후의 상기 클럭 신호의 선택된 천이들의 수를 추적하는 단계; 및
    상기 슬레이브 디바이스의 상기 시간 추적 및 트리거 제어 회로에 의해, 상기 선택된 천이들의 수가 상기 제 1 지연 설정 정보에 의해 표시되는 지연 설정에 도달하는 것에 응답하여 트리거 신호를 생성하는 단계를 포함하는, 방법.
  32. 청구항 31에 있어서,
    상기 방법은,
    상기 동기화 명령의 검출에 응답하여 값을 리셋하는 단계;
    상기 클럭 신호의 선택된 천이마다 상기 값을 증가시키는 단계;
    상기 값과 상기 제 1 지연 설정 정보를 비교하는 단계; 및
    상기 비교에 기초하여 상기 트리거 신호를 생성하는 단계를 더 포함하는, 방법.
  33. 청구항 31에 있어서,
    상기 방법은,
    상기 통신 링크를 통해 제 2 지연 설정 정보를 수신하는 단계;
    상기 클럭 신호보다 더 높은 주파수를 갖는 발진기 신호를 생성하는 단계;
    상기 클럭 신호의 선택된 천이들의 수가 상기 제 1 지연 설정 정보에 의해 표시되는 상기 지연 설정에 도달한 이후에 발생하는 상기 발진기 신호의 선택된 천이들의 수를 추적하는 단계; 및
    상기 발진기 신호의 선택된 천이들의 수가 상기 제 2 지연 설정 정보에 의해 표시되는 지연 설정에 도달하는 것에 추가로 응답하여 상기 트리거 신호를 생성하는 단계를 더 포함하는, 방법.
  34. 장치로서,
    통신 링크에 결합하기 위한 인터페이스 회로로서, 상기 인터페이스 회로는,
    상기 통신 링크를 통해 클럭 신호 및 동기화 명령을 송신하며; 및
    상기 동기화 명령과 상기 통신 링크에 결합된 하나 이상의 슬레이브 디바이스들에서의 트리거 신호의 생성 사이에 발생할 상기 클럭 신호들의 선택된 천이들의 수를 나타내는 지연 설정 정보를 상기 통신 링크를 통해 송신하는, 상기 인터페이스 회로를 포함하는, 장치.
  35. 청구항 34에 있어서,
    상기 인터페이스 회로는, 상기 통신 링크를 통해, 상기 동기화 명령을 송신하기 이전에 상기 지연 설정 정보를 포함하는 명령을 송신하는, 장치.
  36. 청구항 34에 있어서,
    상기 지연 설정 정보는 상기 트리거 신호를 생성하기 위한 거친(coarse) 시간 분해능(resolution) 및 미세 시간 분해능을 나타내는 거친 지연 설정 정보 및 미세 지연 설정 정보를 포함하는, 장치.
  37. 청구항 34에 있어서,
    상기 인터페이스 회로는,
    상기 동기화 명령과 상기 하나 이상의 슬레이브 디바이스들 중 제 1 슬레이브 디바이스에서의 제 1 트리거 신호의 생성 사이에 발생할 상기 클럭 신호들의 선택된 천이들의 수를 나타내는 제 1 지연 설정 정보를 상기 통신 링크를 통해 송신하며, 및
    상기 동기화 명령과 상기 하나 이상의 슬레이브 디바이스들 중 제 2 슬레이브 디바이스에서의 제 2 트리거 신호의 생성 사이에 발생할 상기 클럭 신호들의 선택된 천이들의 수를 나타내는 제 2 지연 설정 정보를 상기 통신 링크를 통해 송신하는, 장치.
  38. 청구항 34에 있어서,
    상기 장치는, 상기 동기화 명령 이후에 발생할 상기 클럭 신호의 예상된 주파수 변화들에 기초하여 상기 지연 설정 정보를 생성하기 위한 트리거 지연 설정 회로를 더 포함하는, 장치.
  39. 마스터 디바이스에 의해 수행되는 방법으로서,
    상기 마스터 디바이스의 인터페이스로부터 슬레이브 디바이스로 통신 링크를 통해 클럭 신호 및 동기화 명령을 송신하는 단계; 및
    상기 동기화 명령과 상기 통신 링크에 결합된 하나 이상의 슬레이브 디바이스들에서의 트리거 신호의 생성 사이에 발생할 상기 클럭 신호들의 선택된 천이들의 수를 나타내는 지연 설정 정보를 상기 마스터 디바이스의 상기 인터페이스로부터 상기 슬레이브 디바이스로 상기 통신 링크를 통해 송신하는 단계를 포함하는, 방법.
  40. 청구항 39에 있어서,
    상기 지연 설정 정보를 송신하는 단계는,
    상기 통신 링크를 통해, 상기 동기화 명령을 송신하기 이전에 상기 지연 설정 정보를 포함하는 명령을 송신하는 단계를 포함하는, 방법.
  41. 청구항 39에 있어서,
    상기 지연 설정 정보는 상기 트리거 신호를 생성하기 위한 거친 시간 분해능 및 미세 시간 분해능을 나타내는 거친 지연 설정 정보 및 미세 지연 설정 정보를 포함하는, 방법.
  42. 청구항 39에 있어서,
    상기 방법은, 상기 동기화 명령 이후에 발생할 상기 클럭 신호의 예상된 주파수 변화들에 기초하여 상기 지연 설정 정보를 생성하는 단계를 더 포함하는, 방법.
KR1020187005002A 2015-07-20 2016-07-18 저속 버스 타임 스탬프 방법 및 회로부 KR101912135B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201562194733P 2015-07-20 2015-07-20
US62/194,733 2015-07-20
US201562208041P 2015-08-21 2015-08-21
US62/208,041 2015-08-21
US201562209999P 2015-08-26 2015-08-26
US62/209,999 2015-08-26
US201562217180P 2015-09-11 2015-09-11
US62/217,180 2015-09-11
PCT/US2016/042827 WO2017015222A1 (en) 2015-07-20 2016-07-18 Low-speed bus time stamp methods and circuitry

Publications (2)

Publication Number Publication Date
KR20180023024A KR20180023024A (ko) 2018-03-06
KR101912135B1 true KR101912135B1 (ko) 2018-10-26

Family

ID=57834566

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187005002A KR101912135B1 (ko) 2015-07-20 2016-07-18 저속 버스 타임 스탬프 방법 및 회로부

Country Status (6)

Country Link
US (2) US10466738B2 (ko)
EP (2) EP3657344B1 (ko)
JP (2) JP6449518B2 (ko)
KR (1) KR101912135B1 (ko)
CN (2) CN112650355A (ko)
WO (1) WO2017015222A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6846111B2 (ja) * 2016-02-26 2021-03-24 オムロン株式会社 マスタ装置、スレーブ装置、情報処理装置、イベントログ収集システム、マスタ装置の制御方法、スレーブ装置の制御方法、および制御プログラム
US10872055B2 (en) * 2016-08-02 2020-12-22 Qualcomm Incorporated Triple-data-rate technique for a synchronous link
US20180224887A1 (en) * 2017-02-06 2018-08-09 Qualcomm Incorporated Apparatus and method for asynchronous event timestamping
US20180285292A1 (en) * 2017-03-28 2018-10-04 Qualcomm Incorporated System and method of sending data via additional secondary data lines on a bus
DE102017209132A1 (de) * 2017-05-31 2018-12-06 Robert Bosch Gmbh Sensordaten-Verarbeitungseinrichtung
US10863469B2 (en) * 2017-10-11 2020-12-08 Google Llc System and method for accurate timestamping of virtual reality controller data
TWI654521B (zh) * 2018-04-26 2019-03-21 技嘉科技股份有限公司 照明假卡模組
US10969821B2 (en) * 2018-05-29 2021-04-06 Xilinx, Inc. Latency synchronization across clock domains
GB201810478D0 (en) * 2018-06-26 2018-08-08 Nordic Semiconductor Asa Precision timing between systems
EP3814785B1 (en) * 2018-06-28 2023-09-27 Synaptec Limited Methods and apparatus for making a time-synchronised phasor measurement
US10824188B2 (en) * 2019-01-14 2020-11-03 Groq, Inc. Multichip timing synchronization circuits and methods
US11277253B2 (en) * 2019-04-22 2022-03-15 Mitsubishi Electric Corporation Time synchronization system, master device, slave device, and program
AT522764B1 (de) 2019-08-29 2021-01-15 Plasser & Theurer Export Von Bahnbaumaschinen Gmbh Verfahren und Messfahrzeug zur Ermittlung einer Ist-Lage eines Gleises
EP3839695A1 (en) 2019-12-19 2021-06-23 Microsoft Technology Licensing, LLC Method and apparatus for synchronizing two systems
US11405173B2 (en) 2020-01-30 2022-08-02 Roku, Inc. Receiver for high precision synchronization in a shared medium
US10999176B1 (en) * 2020-02-16 2021-05-04 Mellanox Technologies Tlv Ltd. Burst score
US11513994B2 (en) * 2021-01-14 2022-11-29 Qualcomm Incorporated Timed-trigger synchronization enhancement
CN113009248A (zh) * 2021-02-08 2021-06-22 天津云遥宇航科技有限公司 测试方法、测试设备和测试系统
TWI748892B (zh) * 2021-03-08 2021-12-01 瑞昱半導體股份有限公司 時脈同步系統及操作時脈同步系統的方法
JP2022144019A (ja) * 2021-03-18 2022-10-03 ローム株式会社 電源システム
CN114114210B (zh) * 2021-11-25 2022-08-26 武汉市聚芯微电子有限责任公司 时间戳数据读写电路以及测距系统
EP4258124A1 (en) * 2022-04-08 2023-10-11 Melexis Technologies SA Synchronous electronic circuit devices
US11929750B2 (en) 2022-08-05 2024-03-12 Ams-Osram Ag Device with clock terminal and method for operating a device
CN117155530A (zh) * 2023-09-19 2023-12-01 成都立思方信息技术有限公司 一种级联触发系统的触发同步精度提升方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110019698A1 (en) 2009-07-24 2011-01-27 Yuuki Akae Clock synchronization system, method, and apparatus for communication
US20130223577A1 (en) 2009-09-30 2013-08-29 Huawei Technologies Co., Ltd. Method, apparatus, and system for time synchronization
US20140351359A1 (en) 2013-05-24 2014-11-27 Arm Limited Data processing apparatus and method for communicating between a master device and an asychronous slave device via an interface
US9042274B2 (en) 2008-05-30 2015-05-26 Continental Teves Ag & Co. Ohg Serial peripheral interface having a reduced number of connecting lines

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4986183A (en) * 1989-10-24 1991-01-22 Atlas Powder Company Method and apparatus for calibration of electronic delay detonation circuits
US6512990B1 (en) * 2000-01-05 2003-01-28 Agilent Technologies, Inc. Distributed trigger node
JP2001267890A (ja) 2000-03-22 2001-09-28 Hitachi Ltd クロック発生装置、バスインタフェース制御装置及び情報処理装置
US20030084360A1 (en) * 2001-08-21 2003-05-01 Grant David Alexander Method of synchronizing and phase staggering two or more sampled data systems
US6759911B2 (en) * 2001-11-19 2004-07-06 Mcron Technology, Inc. Delay-locked loop circuit and method using a ring oscillator and counter-based delay
US6687185B1 (en) * 2002-08-29 2004-02-03 Micron Technology, Inc. Method and apparatus for setting and compensating read latency in a high speed DRAM
US6727740B2 (en) * 2002-08-29 2004-04-27 Micron Technology, Inc. Synchronous mirror delay (SMD) circuit and method including a ring oscillator for timing coarse and fine delay intervals
DE10333934A1 (de) * 2003-07-25 2005-02-17 Robert Bosch Gmbh Synchronisation von datenverarbeitenden Einheiten
US7660963B2 (en) * 2004-06-14 2010-02-09 Nxp B.V. Interface device for debugging and/or tracing a computer system comprising one or multiple masters and one or multiple slaves working together
GB2424093B (en) * 2005-03-08 2007-01-17 Elan Digital Systems Ltd Instrument and communications controller for instrument
US7170819B2 (en) * 2005-05-04 2007-01-30 Infineon Technologies Ag Integrated semiconductor memory device for synchronizing a signal with a clock signal
US7461190B2 (en) * 2005-08-11 2008-12-02 P.A. Semi, Inc. Non-blocking address switch with shallow per agent queues
US7558156B2 (en) * 2006-01-06 2009-07-07 Agilent Technologies, Inc. Acoustic location and enhancement
JP5166203B2 (ja) * 2008-10-24 2013-03-21 株式会社日立製作所 センサネットワークシステム、センサノード、及び基地局
US8224602B2 (en) 2008-11-11 2012-07-17 Nxp B.V. Automatic on-demand prescale calibration across multiple devices with independent oscillators over an I2C Bus interface
US8205017B2 (en) * 2009-11-17 2012-06-19 Aptina Imaging Corporation Systems and methods for addressing and synchronizing multiple devices
JP5430469B2 (ja) 2010-03-31 2014-02-26 三菱電機株式会社 マスタ装置及びスレーブ装置及び時刻同期方法及びプログラム
US8868960B2 (en) * 2010-07-02 2014-10-21 International Business Machines Corporation Synchronous clock stop in a multi nodal computer system
US8731002B2 (en) 2011-03-25 2014-05-20 Invensense, Inc. Synchronization, re-synchronization, addressing, and serialized signal processing for daisy-chained communication devices
CN103959664B (zh) * 2011-10-07 2017-02-22 奥迪耐特有限公司 用于通过高阻抗电缆布线的组网的系统、方法和装置
DE102012207138A1 (de) * 2012-04-27 2013-10-31 Robert Bosch Gmbh Sensorzeit-Synchronisation
US20140003564A1 (en) * 2012-06-27 2014-01-02 Broadcom Corporation Multichip synchronization system
WO2014127519A1 (en) * 2013-02-22 2014-08-28 Telefonaktiebolaget L M Ericsson(Publ) Time synchronous pluggable transceiver
US9436214B2 (en) * 2013-11-12 2016-09-06 Qualcomm Incorporated System and methods of reducing energy consumption by synchronizing sensors
US20170041688A1 (en) * 2013-11-12 2017-02-09 Qualcomm Incorporated Apparatus and methods for timestamping in a system synchronizing controller and sensors
JP6018040B2 (ja) 2013-12-26 2016-11-02 Necプラットフォームズ株式会社 クロック供給システム、クロックバッファ群および制御方法
CN104155640B (zh) * 2014-08-15 2016-08-17 中国科学院上海技术物理研究所 一种具备采样点时间定位的激光雷达回波全波形采集器
US10764026B2 (en) * 2015-07-20 2020-09-01 Lattice Semiconductor Corporation Acoustic gesture recognition systems and methods
CN109891843B (zh) * 2016-09-08 2022-03-08 美国莱迪思半导体公司 计算机实现的方法和执行计算机实现的方法的系统
US20180224887A1 (en) * 2017-02-06 2018-08-09 Qualcomm Incorporated Apparatus and method for asynchronous event timestamping

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9042274B2 (en) 2008-05-30 2015-05-26 Continental Teves Ag & Co. Ohg Serial peripheral interface having a reduced number of connecting lines
US20110019698A1 (en) 2009-07-24 2011-01-27 Yuuki Akae Clock synchronization system, method, and apparatus for communication
US20130223577A1 (en) 2009-09-30 2013-08-29 Huawei Technologies Co., Ltd. Method, apparatus, and system for time synchronization
US20140351359A1 (en) 2013-05-24 2014-11-27 Arm Limited Data processing apparatus and method for communicating between a master device and an asychronous slave device via an interface

Also Published As

Publication number Publication date
EP3657344A1 (en) 2020-05-27
JP6731996B2 (ja) 2020-07-29
EP3326073A1 (en) 2018-05-30
EP3326073B1 (en) 2020-04-08
JP2019061709A (ja) 2019-04-18
US10884452B2 (en) 2021-01-05
WO2017015222A1 (en) 2017-01-26
EP3326073A4 (en) 2019-03-20
CN107851081B (zh) 2021-01-15
JP2018523236A (ja) 2018-08-16
CN112650355A (zh) 2021-04-13
EP3657344B1 (en) 2024-04-10
US20200019209A1 (en) 2020-01-16
US20180196465A1 (en) 2018-07-12
KR20180023024A (ko) 2018-03-06
US10466738B2 (en) 2019-11-05
CN107851081A (zh) 2018-03-27
JP6449518B2 (ja) 2019-01-09

Similar Documents

Publication Publication Date Title
KR101912135B1 (ko) 저속 버스 타임 스탬프 방법 및 회로부
JP2018523236A5 (ko)
US8762762B2 (en) Distributed synchronization and timing system for generating local clock signal based on a desired clock signal embedded in USB data stream
US10863469B2 (en) System and method for accurate timestamping of virtual reality controller data
US20150134864A1 (en) Synchronisation of a system of distributed computers
KR20170027730A (ko) 네트워크 클록 비교 시스템들 및 방법들
KR20180074684A (ko) 제어기와 센서들을 동기화하기 위한 장치 및 방법들
WO2010132938A1 (en) Compound universal serial bus architecture providing precision synchronisation to an external timebase
EP2064628B1 (en) A method for time-stamping messages
CN111917532A (zh) 用于数据测试环境中的设备和系统以及设备测试的方法
TWI488047B (zh) 單線信號傳輸裝置及傳輸方法
DE60015939D1 (de) Verfahren und schaltung um an zwei enden getakten daten zu empfangen
US20130346022A1 (en) Physical quantity measuring apparatus and physical quantity measuring method
JP6612006B1 (ja) 時刻同期装置、通信システム、時刻同期方法および時刻同期プログラム
US20070297546A1 (en) Signal synchronization system
CN201444295U (zh) 一种基于主机处理的电子白板系统
JP5383856B2 (ja) 送信回路
JP7149974B2 (ja) マスター装置、スレーブ装置、及びシリアル伝送システム
JP2000138588A (ja) パルス幅信号変換回路
TWI497309B (zh) 資料傳輸裝置及方法
JP2021150912A (ja) データ送出装置
JP2004199707A (ja) Scsiバス中継装置
JPS59174784A (ja) 時刻装置
JP2012124824A (ja) データ送信装置及びデータ転送装置並びにデータ転送方法

Legal Events

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