KR20230066378A - 통신 장치, 통신 시스템 및 통신 방법 - Google Patents

통신 장치, 통신 시스템 및 통신 방법 Download PDF

Info

Publication number
KR20230066378A
KR20230066378A KR1020237010997A KR20237010997A KR20230066378A KR 20230066378 A KR20230066378 A KR 20230066378A KR 1020237010997 A KR1020237010997 A KR 1020237010997A KR 20237010997 A KR20237010997 A KR 20237010997A KR 20230066378 A KR20230066378 A KR 20230066378A
Authority
KR
South Korea
Prior art keywords
gpio
sampling
information
packet
signal
Prior art date
Application number
KR1020237010997A
Other languages
English (en)
Inventor
준야 야마다
토시히사 햐쿠다이
Original Assignee
소니 세미컨덕터 솔루션즈 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 세미컨덕터 솔루션즈 가부시키가이샤 filed Critical 소니 세미컨덕터 솔루션즈 가부시키가이샤
Publication of KR20230066378A publication Critical patent/KR20230066378A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/022Capturing of monitoring data by sampling
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

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

Abstract

[과제]
효율적으로 시리얼 통신을 행할 수가 있다.
[해결 수단]
통신 장치는, 시작점이 되는 타임 스탬프와, 상기 시작점을 기점으로 하는 상기 타임 스탬프의 단위 주기를 결정하는 컨트롤러와, 상기 단위 주기마다, Master로부터의 GPIO(General Purpose Input/Output) 신호를, 상기 타임 스탬프에 동기시켜서, 일정한 샘플링 주기 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 주기로 샘플링하고, 샘플링된 데이터를 포함하는 소정의 통신 프로토콜의 패킷을 생성하는 인캡슐레이터와, 상기 패킷을 통신 상대 장치에 송신하는 LINK를 구비한다.

Description

통신 장치, 통신 시스템 및 통신 방법
본 개시는, 통신 장치, 통신 시스템 및 통신 방법에 관한 것이다.
Master와 Slave의 사이에서 데이터 통신을 행하는 경우에, Master용의 SerDes(이하, M_SerDes)와 Slave용의 SerDes(이하, S_SerDes)의 사이에서, 시리얼 통신을 행하는 기술이 제안되어 있다. 2개의 SerDes 사이의 시리얼 통신은, 소정의 통신 프로토콜에 의한 패킷을 송수(送受)하여 행해진다.
이에 대해, Master와 M_SerDes의 사이, 및 Slave와 S_SerDes의 사이에서는, 예를 들면 GPIO(General Purpose Input/Output) 통신이 행해진다.
특허 문헌 1: 특개2011-239011호 공보
Master로부터 GPIO 통신으로 데이터를 수신한 M_SerDes는, 수신한 데이터를 샘플링하여 소정의 통신 프로토콜의 패킷으로 변환하고 나서 S_SerDes에 송신한다. 그렇지만, GPIO 통신으로 수신된 데이터가 방대한 양을 갖는 경우, 일정한 주기로 샘플링하면, 샘플링의 데이터량이 커진다.
GPIO 통신으로 수신되는 데이터에는, 신호 논리가 드물게 밖에 변화하지 않는 경우도 있는데, 이와 같은 데이터도 일정한 주기로 샘플링하는 한은, 샘플링 후의 데이터량을 줄일 수 없어, M_SerDes와 S_SerDes 사이에서 송수되는 패킷의 총량이 증대해 버린다.
그래서, 본 개시에서는, 효율적으로 시리얼 통신을 행하는 것이 가능한 통신 장치, 통신 시스템 및 통신 방법을 제공하는 것이다.
상술한 과제를 해결하기 위해, 본 개시에 의하면, 시작점이 되는 타임 스탬프와, 상기 시작점을 기점으로 하는 상기 타임 스탬프의 단위 주기를 결정하는 컨트롤러와,
상기 시작점을 기점으로 하여, Master로부터의 GPIO(General Purpose Input/Output) 신호를, 상기 타임 스탬프에 동기시켜서, 일정한 샘플링 주기로 샘플링된 모든 샘플링 데이터 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 제1 GPIO 패킷을 생성하는 인캡슐레이터와,
상기 제1 GPIO 패킷을 포함하는 Up link 패킷을 생성하는 LINK와,
상기 Up link 패킷을 포함하는 소정의 통신 프로토콜에 준거한 전송 신호를 통신 상대 장치에 송신하는 PHY를 구비하는, 통신 장치가 제공된다.
상기 컨트롤러는, 제1 모드 또는 제2 모드를 지정하는 샘플링 모드 정보와 타임 스탬프와 샘플링 주기를 포함하는 GPIO 설정 정보를 상기 Master로부터 수신하고,
상기 인캡슐레이터는,
상기 제1 모드에서는, 상기 시작점을 기점으로 하는 상기 샘플링 주기로, 상기 Master로부터 수신한 제1 GPIO 신호를 샘플링한 모든 상기 샘플링 데이터를 포함하는 상기 제1 GPIO 패킷을 생성하고,
상기 제2 모드에서는, 제1 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터의 값이, 상기 제1 샘플링 타이밍으로부터 상기 샘플링 주기가 경과한 제2 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터의 값과 다른 경우에, 상기 제2 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터와, 상기 제2 샘플링 타이밍을 나타내는 제1 시간 정보를 포함하는 상기 제1 GPIO 패킷을 생성해도 좋다.
제2 GPIO 신호를 재생하여 상기 Master에 송신하는 디인캡슐레이터를 더 구비하고,
상기 PHY는, 상기 소정의 통신 프로토콜에 준거한 전송 신호를 상기 통신 상대 장치로부터 수신하고,
상기 LINK는, 제2 GPIO 패킷을 상기 전송 신호로부터 분리하고,
상기 디인캡슐레이터는, 상기 모드 정보와 상기 시작점과 상기 샘플링 주기와 상기 제2 GPIO 패킷에 의거하여, 상기 제2 GPIO 신호를 재생해도 좋다.
상기 디인캡슐레이터는,
상기 제1 모드에서는, 1 이상의 샘플링 데이터가 상기 제2 GPIO 패킷에 포함되어 있고, 상기 시작점을 기점으로 하여 상기 샘플링 주기가 경과할 때마다 샘플링하는 샘플링 데이터의 각각에, 상기 제2 GPIO 패킷에 포함되는 샘플링 데이터의 각각을 할당하여, 상기 제2 GPIO 신호를 재생하고,
상기 제2 모드에서는, 1 이상의 샘플링 데이터의 각각이 샘플링 타이밍을 나타내는 제2 시간 정보와 연관시켜서 상기 제2 GPIO 패킷에 포함되어 있고, 상기 제2 시간 정보가 나타내는 샘플링 타이밍에서, 상기 제2 시간 정보에 대응하는 상기 샘플링 데이터를 할당하여, 상기 제2 GPIO 패킷 내의 다음의 상기 제2 시간 정보의 샘플링 타이밍까지는, 상기 샘플링 주기마다 동일한 상기 샘플링 데이터를 할당하는 처리를 반복하여, 상기 제2 GPIO 신호를 재생해도 좋다.
상기 Master 내의 제1 타이머와 동기한 시간 정보를 출력하는 제2 타이머를 구비하고,
상기 디인캡슐레이터는, 상기 제2 GPIO 신호를 기억하는 메모리를 가지고,
상기 제2 GPIO 패킷은, 상기 제2 GPIO 신호의 출력 타이밍에 관한 타임 스탬프 정보를 포함하고 있고,
상기 디인캡슐레이터는, 상기 타임 스탬프 정보가 제1 값일 때는, 상기 제2 GPIO 신호를 상기 메모리에 기억하는 일 없이 상기 Master에 송신하고, 상기 타임 스탬프 정보가 제2 값일 때는, 상기 제2 GPIO 신호를 상기 메모리에 기억하고, 상기 제2 타이머의 시간 정보가 상기 제2 GPIO 패킷 내의 상기 타임 스탬프 정보의 후에 삽입되는 시간 정보와 일치하면, 상기 메모리로부터 상기 제2 GPIO 신호를 판독하여, 상기 Master에 송신해도 좋다.
상기 컨트롤러는, 상기 Master와의 GPIO 통신을 시작하기 전에, 상기 Master로부터 GPIO 통신과는 다른 통신 방식으로 송신된 상기 GPIO 설정 정보에 의거하여, 상기 인캡슐레이터가 상기 패킷을 생성하는 제어를 행해도 좋다.
상기 GPIO 설정 정보는, 상기 GPIO 신호의 샘플링 주파수 정보와, GPIO 핀 설정 정보와, GPIO 구성 정보와, 상기 샘플링된 데이터의 데이터 길이 정보의 적어도 하나를 포함해도 좋다.
상기 인캡슐레이터는, 상기 샘플링 모드 정보와, 상기 샘플링 주파수 정보와, 상기 GPIO 핀 설정 정보와, GPIO 구성 정보와, 상기 데이터 길이 정보의 적어도 하나를 포함하는 헤더 정보를 포함하는 상기 제1 GPIO 패킷을 생성해도 좋다.
상기 GPIO 구성 정보는, GPIO 통신을 행하는 핀의 수와, 상기 GPIO 핀 설정 정보와, GPIO 통신 정보를 격납하는 타임 슬롯을 포함해도 좋다.
상기 인캡슐레이터는, 상기 샘플링된 데이터를 포함하는 패킷을 상기 통신 상대 장치에 송신하기 전에, 상기 샘플링된 데이터를 포함하지 않고 상기 헤더 정보를 포함하는 상기 제1 GPIO 패킷을 생성해도 좋다.
상기 인캡슐레이터는, 상기 샘플링된 데이터를 포함하지 않고 상기 헤더 정보를 포함하는 상기 제1 GPIO 패킷과, 상기 헤더 정보와 상기 샘플링된 데이터를 포함하는 상기 제1 GPIO 패킷과, 상기 헤더 정보를 포함하지 않고 상기 샘플링된 데이터를 포함하는 상기 제1 GPIO 패킷의 적어도 하나를 생성해도 좋다.
상기 인캡슐레이터는, 상기 제1 GPIO 패킷에 타임 스탬프 정보와 오류 검지 정보의 적어도 일방을 부가해도 좋다.
상기 통신 프로토콜은, TDD(Time Division Duplex) 통신 방식의 통신 프로토콜이고,
상기 단위 주기는, 상기 TDD 통신 방식의 1프레임 기간이라도 좋다.
본 개시에 의하면, 소정의 통신 프로토콜에 준거한 전송 신호를 통신 상대 장치로부터 수신하는 PHY와,
시각 제어 명령을 포함하는 제1 GPIO 패킷을 상기 전송 신호로부터 분리하는 LINK와
상기 시각 제어 명령에 의거하여 시작점을 결정하는 컨트롤러와,
상기 제1 GPIO 패킷 내의 헤더 정보에 포함되는 샘플링 모드 정보가, Master로부터 송신된 GPIO(General Purpose Input/Output) 신호를 일정한 샘플링 주기로 샘플링한 모든 샘플링 데이터를 포함하는 것을 나타내는 제1 모드인지, 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 것을 나타내는 제2 모드인지를 판별하여, 상기 제1 GPIO 패킷을 제1 GPIO 신호로 변환하여 Slave에 송신하는 디인캡슐레이터를 구비하는, 통신 장치가 제공된다.
상기 디인캡슐레이터는,
상기 제1 모드에서는, 1 이상의 샘플링 데이터가 상기 제1 GPIO 패킷에 포함되어 있고, 상기 시작점을 기점으로 하여 상기 샘플링 주기가 경과할 때마다 샘플링하는 샘플링 데이터의 각각에, 상기 제1 GPIO 패킷에 포함되는 샘플링 데이터의 각각을 할당하여, 상기 제1 GPIO 신호를 재생하고,
상기 제2 모드에서는, 1 이상의 샘플링 데이터의 각각이 샘플링된 샘플링 타이밍을 나타내는 제1 시간 정보와 연관시켜서 상기 제1 GPIO 패킷에 포함되어 있고, 상기 제1 시간 정보가 나타내는 샘플링 타이밍으로, 상기 제1 시간 정보에 대응하는 상기 샘플링 데이터를 할당하여, 상기 제1 GPIO 패킷 내의 다음의 상기 제1 시간 정보의 샘플링 타이밍까지는, 상기 샘플링 주기마다 동일한 상기 샘플링 데이터를 할당하는 처리를 반복하여, 상기 제1 GPIO 신호를 재생해도 좋다.
상기 Master 내의 제1 타이머와 동기한 시간 정보를 출력하는 제2 타이머를 구비하고,
상기 디인캡슐레이터는, 상기 제1 GPIO 신호를 기억하는 메모리를 가지고,
상기 제1 GPIO 패킷은, 상기 제1 GPIO 신호의 출력 타이밍에 관한 타임 스탬프 정보를 포함하고 있고,
상기 디인캡슐레이터는, 상기 타임 스탬프 정보가 제1 값일 때는, 상기 제1 GPIO 신호를 상기 메모리에 기억하는 일 없이 상기 Slave에 송신하고, 상기 타임 스탬프 정보가 제2 값일 때는, 상기 제1 GPIO 신호를 상기 메모리에 기억하고, 상기 제2 타이머의 시간 정보가 상기 제1 GPIO 패킷 내의 상기 타임 스탬프 정보의 후에 삽입되는 시간 정보와 일치하면, 상기 메모리로부터 상기 제1 GPIO 신호를 판독하여, 상기 Slave에 송신해도 좋다.
시작점을 기점으로 하여, 상기 Slave로부터의 제2 GPIO 신호를, 일정한 샘플링 주기 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 제2 GPIO 패킷을 생성하는 인캡슐레이터를 구비해도 좋다.
상기 인캡슐레이터는,
상기 제1 모드에서는, 상기 시작점을 기점으로 하는 상기 샘플링 주기로, 상기 Slave로부터 수신한 상기 제2 GPIO 신호를 샘플링한 모든 상기 샘플링 데이터를 포함하는 상기 제2 GPIO 패킷을 생성하고,
상기 제2 모드에서는, 제1 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터의 값이, 상기 제1 샘플링 타이밍으로부터 상기 샘플링 주기가 경과한 제2 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터의 값과 다른 경우에, 상기 제2 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터와, 상기 제2 샘플링 타이밍을 나타내는 시간 정보를 포함하는 상기 제2 GPIO 패킷을 생성해도 좋다.
상기 컨트롤러는, 상기 Slave와 GPIO 통신을 시작하기 전에, 상기 Master로부터 상기 통신 상대 장치를 통하여 송신된 GPIO 핀 설정 정보에 의거하여, GPIO 핀의 입출력 제어를 행해도 좋다.
상기 헤더 정보는, 샘플링 주파수 정보와, GPIO 핀 설정 정보와, GPIO 구성 정보와, 상기 샘플링된 데이터의 데이터 길이 정보의 적어도 하나를 포함해도 좋다.
상기 통신 프로토콜은, TDD(Time Division Duplex) 통신 방식의 통신 프로토콜이라도 좋다.
본 개시에 의하면, 소정의 통신 프로토콜에 의해 시리얼 통신을 행하는 Master SerDes 및 Slave SerDes를 구비하고,
상기 Master SerDes는,
시작점이 되는 타임 스탬프와, 상기 시작점을 기점으로 하는 상기 타임 스탬프의 단위 주기를 결정하는 제1 컨트롤러와,
상기 시작점을 기점으로 하여, Master로부터의 GPIO(General Purpose Input/Output) 신호를, 상기 타임 스탬프에 동기시켜서, 일정한 샘플링 주기로 샘플링된 모든 샘플링 데이터 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 제1 GPIO 패킷을 생성하는 제1 인캡슐레이터와,
상기 제1 GPIO 패킷을 포함하는 Up link 패킷을 생성하는 제1 LINK와,
상기 Up link 패킷을 포함하는 소정의 통신 프로토콜에 준거한 전송 신호를 통신 상대 장치에 송신하는 제1 PHY를 가지고,
상기 Slave SerDes는,
상기 소정의 통신 프로토콜에 준거한 전송 신호를 통신 상대 장치로부터 수신하는 제2 PHY와,
시각 제어 명령을 포함하는 제2 GPIO 패킷을 상기 전송 신호로부터 분리하는 제2 LINK와,
시각 제어 명령에 의거하여 시작점을 결정하는 제2 컨트롤러와,
상기 제2 GPIO 패킷 내의 헤더 정보에 포함되는 샘플링 모드 정보가, Master로부터 송신된 제2 GPIO 신호를 일정한 샘플링 주기로 샘플링한 모든 샘플링 데이터를 포함하는 것을 나타내는 제1 모드인지, 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 것을 나타내는 제2 모드인지를 판별하여, 상기 제2 GPIO 패킷을 상기 제2 GPIO 신호로 변환하여 Slave에 송신하는 제1 디인캡슐레이터를 갖는, 통신 시스템이 제공된다.
본 개시에 의하면, Master SerDes 및 Slave SerDes가 소정의 통신 프로토콜에 의해 시리얼 통신을 행하는 통신 방법으로서,
상기 Master SerDes는,
시작점이 되는 타임 스탬프와, 상기 시작점을 기점으로 하는 상기 타임 스탬프의 단위 주기를 결정하고,
상기 시작점을 기점으로 하여, Master로부터의 GPIO 신호를, 상기 타임 스탬프에 동기시켜서, 일정한 샘플링 주기로 샘플링된 모든 샘플링 데이터 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 제1 GPIO 패킷을 생성하고,
상기 제1 GPIO 패킷을 포함하는 Up link 패킷을 생성하고,
상기 Up link 패킷을 포함하는 소정의 통신 프로토콜에 준거한 전송 신호를 상기 Slave SerDes에 송신하고,
상기 Slave SerDes는,
상기 소정의 통신 프로토콜에 준거한 전송 신호를 통신 상대 장치로부터 수신하고,
시각 제어 명령을 포함하는 제2 GPIO 패킷을 상기 전송 신호로부터 분리하고,
시각 제어 명령에 의거하여 시작점을 결정하는 제2 컨트롤러와,
상기 제2 GPIO 패킷에 포함되는 헤더 정보에 포함되는 샘플링 모드 정보가, Master로부터의 제2 GPIO 신호를 일정한 샘플링 주기로 샘플링된 모든 샘플링 데이터를 포함하는 것을 나타내는 제1 모드인지, 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 것을 나타내는 제2 모드인지를 판별하여, 상기 제2 GPIO 패킷을 상기 제2 GPIO 신호로 변환하여 Slave에 송신하는, 통신 방법이 제공된다.
도 1은 한 실시 형태에 관한 통신 장치를 구비한 통신 시스템의 개략 구성을 도시하는 블록도.
도 2A는 M_SerDes(100) 내의 인캡슐레이터(150)의 내부 구성을 도시하는 블록도.
도 2B는 M_SerDes(100) 내의 디인캡슐레이터(160)의 내부 구성을 도시하는 블록도.
도 3은 복수의 M_SerDes와 복수의 S_SerDes를 구비하는 통신 시스템의 개략 구성을 도시하는 블록도.
도 4는 TDD 사이클과 M_SerDes 내의 Enc의 샘플링 주기와의 관계를 도시하는 도면.
도 5는 풀 샘플링을 상세히 설명하는 도면.
도 6은 에지 샘플링을 상세히 설명하는 도면.
도 7은 샘플링 위치를 단위 주기 내에서의 절대 시간 또는 상대 시간으로 나타낸 예를 도시하는 도면.
도 8은 GPIO 헤더 정보의 한 예를 도시하는 도면.
도 9A는 GPIO 헤더 정보만을 포함하는 패킷의 데이터 구성도.
도 9B는 샘플링 데이터만을 포함하는 패킷의 데이터 구성도.
도 9C는 GPIO 헤더 정보와 샘플링 데이터만을 포함하는 패킷의 데이터 구성도.
도 10은 풀 샘플링을 행하는 경우의 GPIO 헤더 정보와 데이터의 상세를 도시하는 도면.
도 11은 에지 샘플링을 행하는 경우의 GPIO 헤더 정보와 데이터의 상세를 도시하는 도면.
도 12는 핀 배치의 상세를 설명하는 도면.
도 13은 M_SerDes의 내부 구성을 도시하는 블록도에 신호의 전송 순서(1)∼(10)를 가한 도면.
도 14는 풀 샘플링시의 M_SerDes의 샘플링 파형, GPIO 패킷, 및 UP(Down) Link 패킷을 도시하는 도면.
도 15은 에지 샘플링시의 M_SerDes(100)의 샘플링 파형, GPIO 패킷, 및 UP(Down) Link 패킷을 도시하는 도면.
도 16은 S_SerDes의 내부 구성을 도시하는 블록도에 신호의 전송 순서(1)∼(11)를 가한 도면.
도 17은 풀 샘플링시에 S_SerDes가 송수하는 UP(Down) Link 패킷을 도시하는 도면.
도 18은 에지 샘플링시에 S_SerDes가 송수하는 UP(Down) 패킷을 도시하는 도면.
도 19는 디인캡슐레이터(260)에 입력되는 패킷의 데이터 구성을 도시하는 도면.
도 20은 Master 내의 타이머와 M_SerDes 내의 타이머와 S_SerDes 내의 타이머와의 시각 동기를 행하는 순서(1)∼(6)를 도시하는 도면.
도 21은 Master 내의 타이머와 M_SerDes 내의 타이머와 S_SerDes 내의 타이머와의 시각 동기를 행하는 순서(7)∼(12)를 도시하는 도면.
이하, 도면을 참조하여, 통신 장치, 통신 시스템 및 통신 방법의 실시 형태에 관해 설명한다. 이하에서는, 통신 장치, 통신 시스템 및 통신 방법의 주요한 구성 부분을 중심으로 설명하는데, 통신 장치, 통신 시스템 및 통신 방법에는, 도시 또는 설명되지 않은 구성 부분이나 기능이 존재할 수 있다. 이하의 설명은, 도시 또는 설명되지 않은 구성 부분이나 기능을 제외하는 것이 아니다.
도 1은 한 실시 형태에 관한 통신 장치를 구비한 통신 시스템의 개략 구성을 도시하는 블록도이다. 도 1의 통신 시스템은, 예를 들면 ADAS(Advanced Driver Assistance System)의 일부의 시스템인 카메라 영상 인식 시스템이다.
도 1의 통신 시스템(1)은, Master(10)와, Master SerDes(M_SerDes)(100)와, Slave와 Slave SerDes(S_SerDes)(200)를 구비하고 있다. 이 중, M_SerDes(100)와 S_SerDes(200)의 적어도 일방이, 본 개시의 한 실시 형태에 관한 통신 장치이다.
M_SerDes(100)와 S_SerDes(200)는, 소정의 통신 규격(이후에는, 「통신 규격X」이라고 부른다)에 의해 서로 통신 가능하게 접속된다. 소정의 통신 규격X으로는, 예를 들면 FPD-Link Ⅲ, A-phy, ASA 등이 있고, 한정되는 것이 아니다. M_SerDes(100)와 S_SerDes(200)의 각각은, 본 실시 형태에 의한 통신 장치에 해당한다. 본 명세서에서는, M_SerDes(100)와 S_SerDes(200)가 TDD 방식으로 시리얼 신호 전송을 행하는 예를 주로 설명한다.
Master(10)와 M_SerDes(100)는, 적어도 GPIO(General Purpose Input/Output) 통신으로 시리얼 신호를 송수할 수 있다. 또한, Master(10)와 M_SerDes(100)는, GPIO 통신 외에, I2C(Inter-Integrated Circuit) 통신이나 SPI(Serial Peripheral Interface) 통신 등으로 시리얼 신호를 송수하는 기능을 구비하고 있어도 좋다.
도 1에서는, S_SerDes(200)로부터 M_SerDes(100)에 정보를 시리얼 신호 전송하는 전송 경로(케이블)(6)상의 신호 경로를 Down Link라고 부르고, M_SerDes(100)로부터 S_SerDes(200)에 정보를 시리얼 신호 전송하는 전송 경로(6)상의 신호 경로를 UP Link라고 부른다.
도 1의 Master(10)는, 컨트롤러(11)와, 타이머(12)와, GPIO 통신용의 입출력 버퍼(13, 14)를 갖는다. 도 1에는, Master(10) 내부의 GPIO 통신에 관련되는 블록 구성만이 도시되어 있다. Master(10)는, GPIO 통신 이외의 기능을 갖고 있어도 좋지만, 도 1에서는 생략하고 있다. 컨트롤러(11)는, M_SerDes(100)에 송신하여야 할 GPIO 신호의 생성과, 입출력 버퍼(13, 14)를 통하여 GPIO 신호를 송수하는 제어를 행한다. 타이머(12)는, 후술하는 바와 같이, M_SerDes(100), Slave(20), 및 S_SerDes(200)와 시각 동기를 취하기 위해 사용된다.
M_SerDes(100)는, 컨트롤러(101)와, 인캡슐레이터(Enc)(150)와, Link Layer Block(이하, DLL 또는 LINK라고 부르는 일도 있다)(120)과, PHY Layer Block(PHY)(110)과, 디인캡슐레이터(DeEnc)(160)와, 타이머(102)와, 입출력 버퍼(103, 104)를 갖는다.
컨트롤러(101)는, 타이머(102)로부터의 시간 정보에 의거하여, 시작점이 되는 타임 스탬프와, 시작점을 기점으로 하는 타임 스탬프의 단위 주기를 결정한다. 이 밖에, 컨트롤러(101)는, Enc(150)가 UP Link 패킷을 생성하는 제어나, DeEnc(160)가 Down Link 패킷으로부터를 취출하는 제어를 행한다. 또한, 컨트롤러(101)는, I2C 통신에서, Master(10)로부터의 GPIO 설정 정보나 단위 주기, 샘플링 주기의 설정치를 취득한다. 즉, 컨트롤러(101)는, Master(10)와의 I2C 컨트롤러 기능을 포함한다. 또한, 컨트롤러(101)는, S_SerDes(200)로부터 수신된 Down Link 패킷으로부터 발출(拔出)된 GPIO 패킷 내의 헤더 정보에 의거하여, 수신된 GPIO 패킷 내의 데이터가 일정한 샘플링 주기로 샘플링된 모든 샘플링 데이터를 포함하는지, 또는 GPIO 신호의 논리 변화에 응한 샘플링 간격으로 샘플링된 샘플링 데이터와 샘플링 위치를 포함하는지를 판단한다.
여기서, 단위 주기란, 타임 스탬프의 시간 간격이다. M_SerDes(100)와 S_SerDes(200)는 미리 단위 주기를 설정 정보로서 부여되어 있어도 좋다. 또는, Master(10)는, I2C 통신으로, M_SerDes(100) 내의 컨트롤러(101)와 S_SerDes(200) 내의 컨트롤러(201)에 단위 주기의 정보를 송신해도 좋다.
인캡슐레이터(150)는, 컨트롤러(101)로부터 지정된 단위 주기마다, Master(10)로부터의 GPIO 신호를, 타임 스탬프에 동기시켜서, 일정한 샘플링 주기로 샘플링된 모든 샘플링 데이터 또는 GPIO 신호의 논리 변화에 응한 샘플링 간격으로 샘플링된 샘플링 데이터와 샘플링 위치를 포함하는 소정의 통신 프로토콜의 패킷을 생성한다. 인캡슐레이터(150)는, 풀 샘플링 모드(제1 모드)에서는, 시작점을 기점으로 하는 샘플링 주기로, Master로부터 수신한 제1 GPIO 신호를 샘플링한 모든 샘플링 데이터를 포함하는 제1 GPIO 패킷을 생성한다. 인캡슐레이터(150)는, 에지 샘플링 모드(제2 모드)에서는, 제1 샘플링 타이밍에서 샘플링한 샘플링 데이터의 값이, 제1 샘플링 타이밍으로부터 샘플링 주기가 경과한 제2 샘플링 타이밍에서 샘플링한 샘플링 데이터의 값과 다른 경우에, 제2 샘플링 타이밍에서 샘플링한 샘플링 데이터와, 제2 샘플링 타이밍을 나타내는 제1 시간 정보를 포함하는 제1 GPIO 패킷을 생성한다.
DLL(120)은, Enc가 생성한 패킷(GPIO 패킷이라고도 부른다)을 다른 전송 패킷과 통합하여 UP Link 패킷을 생성한다. 또한, DLL(120)은, Down Link를 통하여 S_SerDes(200)로부터 송신된 Down Link 패킷을 수신하여, Down Link 패킷으로부터 GPIO 패킷을 발출하여 디인캡슐레이터(160)에 송신한다.
PHY(110)는, DLL(120)로부터의 UP Link 패킷을 TDD에 의한 UP Link 출력 타이밍에 따라, 전송 경로에 출력한다. 또한, PHY(110)는, S_SerDes(200)로부터 송신된 Down Link 패킷을 수신하여, DLL(120)에 송신한다.
디인캡슐레이터(160)는, 컨트롤러(101)의 제어 하에, DLL(120)이 Down Link 패킷으로부터 발출한 GPIO 패킷을 수신하여, GPIO 신호로 변환한다. 디인캡슐레이터(160)는, 변환한 GPIO 신호를 입출력 버퍼를 통하여 Master(10)에 송신한다. 디인캡슐레이터(160)는, 모드 정보와 상기 시작점과 샘플링 주기와 제2 GPIO 패킷에 의거하여, 제2 GPIO 신호를 재생한다. 보다 상세하게는, 디인캡슐레이터(160)는, 모드 정보와 시작점과 샘플링 주기와 제2 GPIO 패킷에 의거하여, 제2 GPIO 신호를 재생한다. 보다 구체적으로는, 디인캡슐레이터(160)는, 풀 샘플링 모드(제1 모드)에서는, 1 이상의 샘플링 데이터가 제2 GPIO 패킷에 포함되어 있고, 시작점을 기점으로 하여 샘플링 주기가 경과할 때마다 샘플링하는 샘플링 데이터의 각각에, 제2 GPIO 패킷에 포함되는 샘플링 데이터의 각각을 할당하여, 제2 GPIO 신호를 재생한다. 인캡슐레이터(150)는, 에지 샘플링 모드(제2 모드)에서는, 1 이상의 샘플링 데이터의 각각이 샘플링 타이밍을 나타내는 제2 시간 정보와 연관시켜서 제2 GPIO 패킷에 포함되어 있고, 제2 시간 정보가 나타내는 샘플링 타이밍에서, 제2 시간 정보에 대응하는 샘플링 데이터를 할당하여, 제2 GPIO 패킷 내의 다음의 제2 시간 정보의 샘플링 타이밍까지는, 샘플링 주기마다 동일한 샘플링 데이터를 할당하는 처리를 반복하여, 제2 GPIO 신호를 재생한다.
타이머(102)는, 시간 정보를 출력한다. 타이머(102)로부터의 시간 정보는 컨트롤러(101), 인캡슐레이터(150), 및 디인캡슐레이터(160)에 입력된다. 후술하는 바와 같이, 인캡슐레이터(150)는, 타이머(102)로부터의 시간 정보에 의거하여, GPIO 패킷에 타임 스탬프 정보나 시간 정보를 부가한다.
Slave(20)는, 컨트롤러(21)와, 타이머(22)와, 입출력 버퍼(23, 24)를 갖는다. 도 1에는, Slave(20) 내부의 GPIO 통신에 관련되는 블록 구성만이 도시되어 있다. Slave(20)는, GPIO 통신 이외의 기능을 갖고 있어도 좋지만, 도 1에서는 생략하고 있다. 컨트롤러(21)는, 입출력 버퍼(23, 24)를 통하여 S_SerDes(200)와의 사이에서 GPIO 신호를 송수하는 제어를 행한다. 타이머(22)는, 후술하는 바와 같이, S_SerDes(200), Master(10), 및 M_SerDes(100)와 시각 동기를 취할 수 있다.
S_SerDes(200)는, 컨트롤러(201)와, 인캡슐레이터(Enc)(250)와, Link Layer Block(DLL)(220)과, PHY Layer Block(PHY)(210)과, 디인캡슐레이터(DeEnc)(260)와, 타이머(202)와, 입출력 버퍼(203, 204)와, I2C 컨트롤러(270)를 갖는다.
컨트롤러(201)는, M_SerDes(100)로부터 수신된 UP Link 패킷으로부터 발출된 GPIO 패킷 내의 헤더 정보에 의거하여, 수신된 GPIO 패킷 내의 데이터가 일정한 샘플링 주기로 샘플링된 모든 샘플링 데이터를 포함하는지, 또는 GPIO 신호의 논리 변화에 응한 샘플링 간격으로 샘플링된 샘플링 데이터와 샘플링 위치를 포함하는지를 판단한다. 또한, 컨트롤러(201)는, Enc(250)가 패킷을 생성하는 제어나, DeEnc(260)가 패킷으로부터 GPIO 신호를 취출하는 제어를 행한다. 컨트롤러(201)는, I2C 컨트롤러(270)를 통하여 Slave(20)와의 사이에서 I2C 통신을 행하는 기능을 갖는다. I2C 컨트롤러(270)의 기능은, 컨트롤러(201)에 포함되어 있어도 좋다.
Enc(250)는, 단위 주기마다, Slave(20)로부터의 GPIO 신호를, 타임 스탬프에 동기시켜서, 일정한 샘플링 주기로 샘플링된 모든 샘플링 데이터, 또는 GPIO 신호의 논리 변화에 응한 샘플링 간격으로 샘플링된 샘플링 데이터와 샘플링 위치를 포함하는 소정의 통신 프로토콜의 패킷(GPIO 패킷)를 생성한다.
DLL(220)은, Enc(250)가 생성한 GPIO 패킷을 다른 전송 패킷과 통합하여 Down Link 패킷을 생성한다. 또한, DLL(220)은, UP Link를 통하여 M_SerDes(100)로부터 수신된 UP Link 패킷으로부터 GPIO 패킷을 발출하여 DeEnc(260)에 송신한다.
PHY(210)는, DLL(220)로부터의 Down Link 패킷을 TDD에 의한 Down Link 출력 타이밍에 따라, 전송 경로에 출력한다. 또한, PHY(210)는, M_SerDes(100)로부터 송신된 UP Link 패킷을 수신하여, DLL(220)에 송신한다.
DeEnc(260)는, 컨트롤러(201)의 제어 하에, DLL(220)이 UP Link 패킷으로부터 발출한 GPIO 패킷을 수신하여, GPIO 신호로 변환한다. DeEnc(260)는, 변환한 GPIO 신호를 입출력 버퍼(203, 204)를 통하여 Slave(20)에 송신한다.
타이머(202)는, 시간 정보를 출력한다. 타이머(202)로부터의 시간 정보는 컨트롤러, Enc(250), 및 DeEnc(260)에 입력된다. 후술하는 바와 같이, Enc(250)는, 타이머(202)로부터의 시간 정보에 의거하여, GPIO 패킷에 타임 스탬프를 부가한다.
도 2A는 M_SerDes(100) 내의 인캡슐레이터(150)의 내부 구성을 도시하는 블록도이다. 또한, S_SerDes(200) 내의 Enc(250)의 내부 구성도 도 2A와 마찬가지이다. 도 2A에 도시하는 바와 같이, 인캡슐레이터(150)는, 샘플러(53)와, 인코더(52)와, Enc 코어(51)를 갖는다.
샘플러(53)는, Master(10)로부터 송신된 GPIO 신호를 일정한 샘플링 주기로 샘플링하여, 샘플링된 모든 샘플링 데이터를 전송하는지, 또는 GPIO 신호의 논리 변화에 응한 샘플링 간격으로 샘플링된 샘플링 데이터와 샘플링 위치를 전송한다. 후술하는 바와 같이, 본 명세서에서는, GPIO 신호를 일정한 샘플링 주기로 샘플링하는 것을 풀 샘플링이라고 부르고, GPIO 신호의 논리 변화에 응한 샘플링 간격으로 샘플링하는 것을 에지 샘플링이라고 부른다. 보다 상세하게는, 풀 샘플링에서는, GPIO 신호를 샘플링 주기마다 샘플링하고, 샘플링된 모든 샘플링 데이터를 전송한다. 에지 샘플링에서는, GPIO 신호를 샘플링 주기마다 샘플링하고, 그 중에서, GPIO 신호가 논리 변화한 샘플링 간격으로 샘플링된 샘플링 데이터와 샘플링 위치를 조(組)로 하여 전송한다.
인코더(52)는, 샘플러(53)가 샘플링한 데이터를 부호화한다. Enc 코어(51)는, 인코더(52)가 부호화한 부호화 데이터에 헤더 정보나 타입 스탬프를 부가하여 GPIO 패킷을 생성한다. Enc 코어(51)가 생성한 GPIO 패킷은, DLL(120)에 송신된다.
도 2B는 M_SerDes(100) 내의 디인캡슐레이터(160)의 내부 구성을 도시하는 블록도이다. 또한, S_SerDes(200) 내의 DeEnc(260)의 내부 구성도 도 2B와 마찬가지이다. 도 2B에 도시하는 바와 같이, 디인캡슐레이터(160)는, DeEnc 코어(61)와, 디코더(62)와 메모리(mem)(63)와, 셀렉터(sel)(64)를 갖는다.
DeEnc 코어(61)는, 전송 경로를 통하여 S_SerDes(200)로부터 수신된 Down Link 패킷으로부터 DLL이 발출한 GPIO 패킷을 분리하여 부호화 데이터를 출력한다. 디코더(62)는, DeEnc 코어(61)로부터 출력된 부호화 데이터를 부호화 전의 샘플링 데이터로 복호하여, 메모리(63)에 일단 기억한다. 셀렉터(64)는, 메모리(63)에 기억된 샘플링 데이터와 디코더(62)에서 복호된 샘플링 데이터에 의거하여, 원래의 GPIO 신호를 복원한다. 셀렉터(64)로부터 출력된 GPIO 신호는, 입출력 버퍼(103, 104)를 통하여 Master(10)에 송신된다.
도 1에서는, Master(10)가 하나의 M_SerDes(100)와 GPIO 통신을 행하고, Slave(20)가 하나의 S_SerDes(200)와 GPIO 통신을 행하는 예를 나타냈지만, Master(10)가 복수의 M_SerDes(100)와 GPIO 통신을 행하고, 복수의 Slave(20)가 복수의 S_SerDes(200)와 GPIO 통신을 행하는 것도 상정될 수 있다. 즉, 1대(臺)의 Master(10)는, 복수의 M_SerDes(100)와 복수의 S_SerDes(200)를 통하여, 복수의 Slave(20)와 시리얼 신호 전송을 행할 수가 있다.
도 3은, Master(10)와 GPIO 통신을 행하는 복수의 M_SerDes(100, 400)와, 복수의 Slave(20, 90)와 GPIO 통신을 행하는 복수의 S_SerDes(200, 500)를 구비하는 통신 시스템(1)의 개략 구성을 도시하는 블록도이다. 각 M_SerDes(100, 400)의 내부 구성과, 각 S_SerDes(200, 500)의 내부 구성과, 각 Slave(20, 90)의 내부 구성은 도 1과 마찬가지이다. Master(10)는 복수의 M_SerDes(100, 400)와 적어도 GPIO 통신을 행한다. 복수의 M_SerDes(100, 400)의 각각은, 복수의 S_SerDes(200, 500) 중의 하나와 예를 들면 TDD 방식으로 시리얼 신호 전송을 행한다. 복수의 Slave(20, 90)의 각각은, 복수의 S_SerDes(200, 500) 중의 하나와 적어도 GPIO 통신을 행한다.
도 4는 TDD 사이클과 M_SerDes(100) 내의 인캡슐레이터(150)의 샘플링 주기와의 관계를 도시하는 도면이다. 또한, S_SerDes(200) 내의 Enc(250)의 샘플링 주기도, M_SerDes(100) 내의 인캡슐레이터(150)의 샘플링 주기와 마찬가지이다.
M_SerDes(100) 내의 컨트롤러(101)는, GPIO 신호를 샘플링하기 위한 시작점인 타임 스탬프를, 타이머(102)로부터의 시간 정보에 의해 설정한다. 또한, 컨트롤러(101)는, TDD 방식의 TDD 사이클(단위 구간)마다 타입 스탬프를 설정한다. 도 4에는, 한 예로서, 3개의 타임 스탬프가 도시되어 있고, 이들 타임 스탬프의 시간 간격이 TDD 사이클과 일치한다.
인캡슐레이터(150) 내의 샘플러(53)는, 컨트롤러(101)가 설정한 타임 스탬프와 동기하여 GPIO 신호의 샘플링을 행한다. 상술한 바와 같이, M_SerDes(100)는, Master(10)로부터의 GPIO 설정 정보에 의거하여, 풀 샘플링을 행하는지, 에지 샘플링을 행하는지를 선택한다. 보다 상세하게는, 컨트롤러(101)는, Master(10)로부터 I2C 통신으로 송신된 GPIO 설정 정보를 취득하고, 취득된 GPIO 설정 정보에 의거하여, M_SerDes(100)에 대해, 풀 샘플링을 행하는지, 에지 샘플링을 행하는지를 지시한다. GPIO 설정 정보는, GPIO 신호의 샘플링 주파수 정보와, GPIO 핀 설정 정보와, GPIO 구성 정보와, 샘플링된 데이터의 데이터 길이 정보의 적어도 하나를 포함하고 있다. GPIO 구성 정보는, GPIO 통신을 행하는 핀의 수와, GPIO 핀 설정 정보와, GPIO 통신 정보를 격납하는 타임 슬롯을 포함하고 있다.
M_SerDes(100)가 풀 샘플링을 행하는 경우는, 인캡슐레이터(150) 내의 샘플러(53)는, 타임 스탬프에 동기하여 샘플링을 시작하고, 그 후, 일정한 주기로 GPIO 신호를 샘플링한다. 보다 상세하게는, 샘플러(53)는, 풀 샘플링을 행하는 경우에는, 타임 스탬프에 동기한 부도시한 클록의 상승 에지 또는 하강 에지에 동기하여, GPIO 신호를 샘플링한다.
또한, 샘플러(53)는, 에지 샘플링을 행하는 경우에는, 타임 스탬프에 동기하여 샘플링을 시작하고, 샘플링 주기마다 샘플링을 행하는 점에서는 풀 샘플링과 같지만, GPIO 신호에 논리 변화가 있은 때의 샘플링 데이터를, 샘플링 위치와 함께 전송한다. 따라서, 도 4의 후반 기간에 도시하는 바와 같이, 1TDD 사이클 내에 GPIO 신호의 논리가 변화하지 않는 경우에는, 샘플링 데이터가 전송되지 않기 때문에, 샘플링 데이터의 데이터량을 삭감할 수 있다.
Master(10)는, M_SerDes(100)와 S_SerDes(200)가 GPIO 신호를 풀 샘플링하는지, 에지 샘플링하는지를 GPIO 설정 정보에 지정한다. 후술하는 바와 같이, GPIO 설정 정보는, GPIO 모드 정보를 포함하고 있고, GPIO 모드 정보가 풀 샘플링 모드이면, M_SerDes(100)와 S_SerDes(200)는 풀 샘플링을 행하고, GPIO 모드 정보가 에지 샘플링 모드이면, M_SerDes(100)와 S_SerDes(200)는 에지 샘플링을 행한다.
도 5는 풀 샘플링을 상세히 설명하는 도면이다. Master(10)가 풀 샘플링 모드를 설정한 경우에는, M_SerDes(100)와 S_SerDes(200)는 풀 샘플링을 행한다. 풀 샘플링에서는, 인접하는 2개의 타임 스탬프의 사이에, 일정한 시간 간격으로 GPIO 신호를 샘플링한다. M_SerDes(100)와 S_SerDes(200)가 TDD 방식으로 시리얼 신호 전송을 행하는 경우, 인접하는 2개의 타임 스탬프의 간격은 1TDD 사이클이다. 샘플러(53)는, 시작점이 되는 타임 스탬프에 동기하여 GPIO 신호의 샘플링을 시작한다.
도 5의 예에서는, 선두의 타임 스탬프에 동기하여 샘플링을 시작하고, 샘플링 데이터(data0)를 취득한다. 샘플링 데이터는, 0이나 1의 1비트 데이터이다. 이후, 1TDD 사이클 내에 예를 들면 합계 500회 샘플링한다. 샘플링된 500개의 샘플링 데이터(data0, data10, …, data4990)가 차례로 배치되어 500비트의 시리얼 데이터를 포함하는 패킷이 생성된다. 후술하는 바와 같이, 실제의 패킷은, 도 5에 도시하는 시리얼 데이터 외에, 헤더 정보나 타임 스탬프가 부가된다.
샘플러(53)의 샘플링 주파수는, 후술하는 바와 같이, Master(10)가 GPIO 설정 정보에서 지정한다. 샘플링 주파수가 높을수록, GPIO 신호를 보다 정밀도 좋게 샘플링할 수 있지만, 샘플링 데이터의 데이터량이 증가하고, M_SerDes(100)와 S_SerDes(200)의 사이에서 송수되는 패킷량이 많아진다. Master(10)는, GPIO 신호에 적합한 최적의 샘플링 주파수를 설정한다.
또한, 도 5의 예에서는, 500개의 샘플링 데이터를 차례로 배치하여 패킷을 생성하고 있는데, 각 샘플링 데이터의 위치 정보와 샘플링 데이터를 포함하는 패킷을 생성해도 좋다. 또한, 샘플러(53)는, 클록의 상승 에지에서 GPIO 신호를 샘플링하여도 좋고, 하강 에지에서 GPIO 신호를 샘플링하여도 좋다.
도 6은 에지 샘플링을 상세히 설명하는 도면이다. Master(10)가 에지 샘플링 모드를 설정한 경우에는, M_SerDes(100)와 S_SerDes(200)는 에지 샘플링을 행한다. 에지 샘플링에서는, 인접하는 2개의 타임 스탬프의 사이에, GPIO 신호의 논리 변화가 일어난 타이밍에서 샘플링된 샘플링 데이터를 샘플링 위치와 함께 전송한다. 보다 상세하게는, 시작점이 되는 타임 스탬프(a)에 동기하여 샘플링을 시작하고, 샘플링 데이터(data0)를 취득한다. 그 후는, 일정한 샘플링 주기로 샘플링이 행해지는데, GPIO 신호의 논리가 변화한 때만((b), (c), (d), (e)), 샘플링 데이터와 샘플링 위치를 조(組)로 하여 전송된다. 도 6의 예에서는, 인접하는 2개의 타임 스탬프의 시간 간격은 1TDD 사이클이고, 이 1TDD 사이클 내에 일정 간격의 샘플링 주기가 마련된다. 복수의 샘플링 데이터 중, GPIO 신호의 논리가 변화한 타이밍의 직후에 위치하는 샘플링 타이밍에서의 샘플링 데이터가 샘플링 위치와 함께 전송된다. 도 6에서는, GPIO 신호의 논리 변화가 생긴 샘플링 타이밍을 실선 화살표선으로 나타내고, 논리 변화가 생기지 않는 샘플링 타이밍을 파선 화살표선으로 나타내고 있다. GPIO 신호의 샘플링은, 클록의 상승 에지에서 행해도 좋고, 하강 에지에서 행해도 좋다.
도 6에서는, 샘플링 위치와 샘플링 데이터를 조로 하여 나열한 시리얼 데이터를 생성하는 예를 나타내고 있다. 선두의 타임 스탬프에 동기한 샘플링 위치는, GPIO 신호에 논리 변화가 없어도 샘플링 데이터를 전송한다. 즉, 샘플링 위치(pos0)와 샘플링 데이터(data0)를 조로 하여 전송한다. 그 후는, GPIO 신호에 논리 변화가 있던 타이밍(POS2, POS4, …, POS499)에 한하여, 각 샘플링 위치와 샘플링 데이터를 조로 하여 시리얼 데이터를 생성한다. 도 6의 시리얼 데이터에 타임 스탬프 정보나 헤더 정보를 부가함으로써, GPIO 패킷이 생성된다.
또한, 샘플링 위치와 샘플링 데이터를 조로 하는 대신에, 샘플링 타이밍의 시간 정보와 샘플링 데이터를 조로 하여 패킷을 생성해도 좋다. 샘플링 타이밍의 시간 정보는 절대 시간일 필요는 없고, 샘플링 시작 시간으로부터의 상대 시간이라도 좋다.
도 7은 샘플링 위치를 단위 주기 내에서의 절대 시간 또는 상대 시간으로 나타낸 예를 도시하는 도면이다. 도 7에는, 2종류의 데이터 형식이 도시되어 있다. 상단의 데이터 형식은 시간 정보를 16비트의 절대 시간으로 한 예를 나타내고, 하단의 데이터 형식은 시간 정보를 8비트의 상대 시간으로 한 예를 나타내고 있다. 상대 시간은, 샘플링 시작 시간부터의 차분(差分)의 시간이다. 또는, 상대 시간은, 절대 시간을 나타내는 비트열 중, 하위측의 일부의 비트열이라도 좋다. 상대 시간으로 시간 정보를 나타냄으로써, 패킷 내의 시리얼 데이터의 데이터량을 대폭적으로 줄일 수 있다.
상술한 바와 같이, M_SerDes(100)와 S_SerDes(200)가 전송 경로를 통하여 송수하는 패킷은, 도 5∼도 7에 도시하는 데이터 형식의 시리얼 데이터 외에, 타임 스탬프 정보와 GPIO 헤더 정보를 포함하고 있다. 도 8은 GPIO 헤더 정보의 한 예를 도시하는 도면이다. 도 8의 GPIO 헤더 정보는, 후에 상세히 기술하는 바와 같이, 풀 샘플링시와 에지 샘플링시에서는 다르지만, 도 8에는 양 샘플링시의 GPIO 헤더 정보에 포함되는 개개의 정보를 정리하여 도시하고 있다.
도 8에 도시하는 바와 같이, GPIO 헤더 정보는, GPIO 모드(GPIO mode (T))와, GPIO 핀 정보(GPIO Pin info (U) 또는 (R))와, 데이터 배치 정보(Data placement (W))를 포함하고 있다.
타임 스탬프 정보(t_stamp (S))는 1비트이고, 0이면 타임 스탬프가 존재하지 않는 것을 나타내고, 1이면 타임 스탬프 정보(t_stamp (S))의 직후에 시간 정보가 새롭게 삽입되는 것을 나타낸다.
GPIO 모드(T)는, 예를 들면 3비트의 정보이고, 최상위 비트가 0이면 풀 샘플링을 나타내고, 최상위 비트가 1이면 에지 샘플링을 나타낸다. GPIO 모드(T)의 3비트 중 하위측 2비트가 00이면, GPIO 헤더 정보 중에 GPIO의 구성 정보(configuration)와 데이터 정보를 포함하는 것을 나타낸다. 하위측 2비트가 01이면, GPIO 헤더 정보 중에 GPIO의 구성 정보를 포함하지만, 데이터 정보를 포함하지 않는 것을 나타낸다. 하위측 2비트가 10이면, GPIO 헤더 정보 중에 데이터 정보를 포함하지만, GPIO의 구성 정보를 포함하지 않는 것을 나타낸다. 하위측 2비트가 11이면, GPIO 헤더 정보가 유저 정의 정보(User define)를 포함하는 것을 나타낸다.
GPIO 핀 정보((U) 또는 (R))는, 핀 번호를 포함한다. 핀 번호는, 예를 들면 GPIO 헤더 정보의 4비트째부터 7비트째까지의 4비트로 표시된다. 또한, GPIO 헤더 정보의 하위측 2비트는, 핀이 디세이블 상태인지, 신호 입력인지, 하이 임피던스 상태의 신호 입력인지, 신호 출력인지를 나타낸다.
데이터 배치 정보(W)는, 2비트의 정보이고, 00이면 하나의 핀으로 8개의 타임 슬롯을 사용하여 시리얼 데이터를 전송하는 것을 나타내고, 01이면 최대 2개의 핀으로 각 핀이 4개의 타임 슬롯을 사용하여 시리얼 데이터를 전송하는 것을 나타낸다. 10이면 최대 4개의 핀으로 각 핀이 2개의 타임 슬롯을 사용하여 시리얼 데이터를 전송하는 것을 나타낸다. 11이면 최대 16개의 핀으로 각 핀이 하나의 타임 슬롯을 사용하여 시리얼 데이터를 전송하는 것을 나타낸다. 본 데이터 배치 정보(W)의 구체례는, 후술하는 도 12에 도시한다.
도 8에 도시하는 개개의 정보 중에서, 풀 샘플링시의 GPIO 헤더 정보는, 도 8의 (T), (U)를 포함하고, 에지 샘플링시의 GPIO 헤더 정보는, 도 8의 (T), (R)을 포함한다.
도 9A, 도 9B 및 도 9C는 M_SerDes(100) 또는 S_SerDes(200)가 전송하는 패킷의 데이터 구성을 도시하는 도면이다.
도 9A는, GPIO 헤더 정보만을 포함하는 패킷을 송신하는 경우이고, 이 경우의 패킷은, 타임 스탬프 정보와, 헤더 정보와, 오류 검지 신호인 CRC를 포함한다. 도 9A의 패킷은 데이터를 포함하지 않는다.
도 9B는, 샘플링 데이터만을 포함하는 패킷을 송신하는 경우이고, 이 경우의 패킷은, 타임 스탬프 정보와, 풀 샘플링 또는 에지 샘플링의 데이터와, CRC를 포함한다. 도 9B는, GPIO 헤더 정보를 포함하지 않는다.
도 9C는, GPIO 헤더 정보와 샘플링 데이터를 포함하는 패킷을 송신하는 경우이고, 이 경우의 패킷은, 타임 스탬프 정보와, GPIO 헤더 정보와, 풀 샘플링 또는 에지 샘플링의 데이터와, CRC를 포함한다. 이와 같이, 도 9C의 패킷은, GPIO 헤더 정보와 데이터를 조합시켜서 전송하는 경우에 사용된다.
도 9B와 도 9C의 패킷은, 풀 샘플링시에는 복수의 샘플링 데이터를 차례로 나열한 시리얼 데이터를 포함하고 있고, 에지 샘플링시에는 샘플링 위치 정보와 샘플링 데이터를 조로 하여 복수조를 차례로 나열한 시리얼 데이터를 포함하고 있다. 도 9A, 도 9B 및 도 9C의 패킷은, 타임 스탬프 정보(t_stamp (S))가 0인 예를 나타내고 있다. 타임 스탬프 정보(t_stamp (S))가 1인 경우에는, 도 9A의 패킷에서는, 타임 스탬프 정보(t_stamp (S))와 GPIO 헤더 정보의 사이에 시간 정보가 삽입되고, 도 9B의 패킷에서는, 타임 스탬프 정보(t_stamp (S))와 샘플링 정보의 사이에 시간 정보가 삽입되고, 도 9C의 패킷에서는, 타임 스탬프 정보(t_stamp (S))와 GPIO 헤더 정보의 사이에 시간 정보가 삽입된다.
도 10 및 도 11은 M_SerDes(100) 내의 인캡슐레이터(150) 또는 S_SerDes(200) 내의 Enc(250)가 생성하는 GPIO 패킷에 포함되는 GPIO 헤더 정보의 상세를 도시하는 도면이다.
(풀 샘플링시의 GPIO 헤더 정보)
도 10은 풀 샘플링을 행하는 경우의 GPIO 헤더 정보를 나타내고, 도 11은 에지 샘플링을 행하는 경우의 GPIO 헤더 정보를 나타내고 있다. 도 10과 도 11을 비교하면 알 수 있는 바와 같이, UP Link로 전송되는 GPIO 패킷과 Down Link로 전송되는 GPIO 패킷에서는, GPIO 헤더 정보가 일부 다르다. 또한, 풀 샘플링인지 에지 샘플링인지에 의해서도, GPIO 헤더 정보가 다르다.
M_SerDes(100) 내의 인캡슐레이터(150)가 생성하는 GPIO 패킷의 헤더 정보는, 도 10의 UP Link로 기재된 8바이트이다. 도 10의 UP Link용의 GPIO 패킷의 헤더 정보는, 후술하는 바와 같이 2타임 슬롯을 선택한 예를 나타내고 있다. 2타임 슬롯이란, 최대 4개의 핀(Pin1∼Pin4)을 사용하고, 각 핀이 1비트씩 동시 병행으로 전송함으로써, 2개의 타임 슬롯으로 1바이트의 데이터를 전송하는 것이다. 또한, 타임 슬롯이란, 동시에 몇개의 GPIO 신호의 샘플링 데이터를 전송하는지를 나타낸다.
도 10의 UP Link용의 GPIO 패킷의 헤더 정보의 1바이트째는, GPIO 모드(T)이고, 비트[7]와, 비트[1:0]가 사용된다. 비트[7]가 0이면 풀 샘플링, 1이면 에지 샘플링이다. 비트[1:0]가 00이면 2바이트째 이후에 GPIO의 구성 정보와 데이터 정보를 포함하는 것을 나타낸다. 비트[1:0]가 01이면 2바이트째 이후에 GPIO의 구성 정보만을 포함하는 것을 나타낸다. 비트[1:0]가 10이면 2바이트째 이후에 데이터 정보만을 포함하는 것을 나타낸다. 비트[1:0]가 11이면 2바이트째 이후에 유저 정의 정보를 포함하는 것을 나타낸다.
2바이트째는, GPIO 핀 정보(U)이다. 비트[1:0]는 Pin1의 정보, 비트[3:2]는 Pin2의 정보, 비트[5:4]는 Pin3의 정보, 비트[7:6]는 Pin4의 정보이다. 이와 같이, Pin1∼Pin4의 각 핀의 정보는 2비트로 표시되고, 00은 디세이블 상태, 01은 신호 입력, 10은 하이 임피던스 상태의 신호 입력, 11은 신호 출력을 나타내고 있다.
2타임 슬롯인 경우, 최대 4개의 핀을 신호 입력 또는 신호 출력용으로서 사용할 수 있다. 도 10의 예에서는, Pin1∼Pin3를 신호 입력용으로서 이용하고, Pin4를 신호 출력용으로서 이용하는 것을 나타내고 있다. 즉, UP Link용으로 Pin1∼Pin3를 이용하고, Down Link으로 Pin4를 이용하는 것을 나타내고 있다.
3바이트째는, 핀의 구성 정보의 일부(V)인 샘플링 주파수이다. 예를 들면, 3바이트째가 0x01이면 샘플링 주파수는 250㎒(샘플링 주기가 4nsec)이고, 0xFA이면 샘플링 주파수는 1㎒(샘플링 주기가 1μsec)이다.
4바이트째는, 핀의 구성 정보의 일부(W)인 핀 배치(pin pattern)이다. 예를 들면, 4바이트째가 0x00이면 8타임 슬롯, 0x01이면 4타임 슬롯, 0x02면 2타임 슬롯, 0x03이면 1타임 슬롯, 0x04면 하프타임 슬롯이다. 도 10의 예에서는, 2타임 슬롯을 나타내는 0x02가 기술되어 있다.
도 12는 핀 배치의 상세를 설명하는 도면이다. 헤더 정보의 4바이트째가 8타임 슬롯인 경우는, 1개의 핀을 사용하여 1비트씩 시리얼 신호 전송하기 때문에, 1바이트의 데이터를 전송하는데 8타임 슬롯을 필요로 한다. 4타임 슬롯인 경우는, 2개의 핀을 사용하여 각 핀이 1비트씩 시리얼 신호 전송하기 때문에, 1바이트의 데이터를 전송하는데 4타임 슬롯을 필요로 한다. 2타임 슬롯인 경우는, 4개의 핀을 사용하여 각 핀이 1비트씩 시리얼 신호 전송하기 때문에, 1바이트의 데이터를 전송하는데 2타임 슬롯을 필요로 한다. 1타임 슬롯인 경우는, 8개의 핀을 사용하여 각 핀이 1비트씩 시리얼 신호 전송하기 때문에, 1바이트의 데이터를 전송하는데 1타임 슬롯을 필요로 한다. 하프타임 슬롯은, 16개의 핀을 사용하여 각 핀이 1비트씩 시리얼 신호 전송하기 때문에, 2바이트의 데이터를 전송하는데 하프타임 슬롯을 필요로 한다.
패킷 내의 데이터의 논리가 변화하지 않는 경우, 선택한 타임 슬롯에 응한 각 핀의 전위를 하이 전위 또는 로우 전위로 고정하면 좋다.
도 10에 되돌아와, UP Link용의 GPIO 패킷의 헤더 정보의 5∼7바이트째 (X), (Y)는 데이터 정보이다. 5바이트째는 데이터 길이이다. 도 10의 예에서는, 0x02로 기재되어 있고, 2바이트인 것을 나타내고 있다. 6∼7바이트째는 UP Link로 송신되는 데이터의 각 핀의 데이터 배치를 나타내고 있다. 도 10의 예에서는, Pin1∼Pin3이 4종류의 데이터 Data0∼Data3를 병행하여 송신하는 것을 나타내고 있다. 구체적으로는, Pin1∼Pin3이 Data0를 1비트씩 송신한 후, Pin1∼Pin3이 Data1를 1비트씩 송신하고, 다음에, Pin1∼Pin3이 Data2를 1비트씩 송신하고, 최후에 Pin1∼Pin3이 Data3를 1비트씩 송신하는 예를 나타내고 있다.
UP Link용의 GPIO 패킷의 8바이트째(Q)는, 오류 검지 정보(CRC)이다. 패킷의 수신측에서는, 수신된 패킷에 부가된 CRC를 이용함으로써, 수신 패킷에 비트 오류가 있는지의 여부를 검지할 수 있다.
도 10의 Down Link용의 GPIO 패킷의 헤더 정보의 1바이트째는, GPIO 모드이고, UP Link용의 GPIO 모드와 같다. 2바이트째는, GPIO 핀 정보이고, UP Link용의 GPIO 핀 정보와 같다. 도 10의 예에서는, Down Link용으로서 Pin4이 할당되어 있다. 3∼4바이트째는, 핀의 구성 정보이다. 도 10의 예에서는, 4바이트째가 0x00이고, 8타임 슬롯인 것을 나타내고 있다. 5바이트째는, 데이터 길이이다. 6바이트째는 데이터 정보이다. 도 10의 예에서는, Pin4을 이용하여, 4종류의 데이터(Data0∼Data3)를 차례로 전송하는 것을 나타내고 있다. 7바이트째는, CRC이다.
(에지 샘플링시의 GPIO 헤더 정보)
도 11은 에지 샘플링을 행하는 경우의 GPIO 패킷의 GPIO 헤더 정보를 나타내고 있다. 도 11의 UP Link용의 GPIO 패킷의 헤더 정보의 1바이트째는 GPIO 모드(T)이고, 도 10의 헤더 정보의 GPIO 모드와 같다.
2바이트째는, GPIO 핀 정보(R)이다. 비트[7]가 0이면 패킷 전송의 계속을 나타내고, 1이면 패킷 전송의 종료를 나타낸다. 비트[5:4]가 00이면 디세이블 상태, 01이면 신호 입력, 하이 임피던스 상태의 신호 입력, 11은 신호 출력을 나타내고 있다. 2바이트째의 비트[3:0]는, 핀 번호이다. 핀 번호로서, 0x01로 기술되어 있는데, 이것은 Pin1을 나타내고 있다.
또한, 2바이트째는, 샘플링 주파수 정보(V)를 지정하는 것도 가능하다. 샘플링 주파수 정보는, 도 10의 3바이트째와 마찬가지이다. 3바이트째는, 도 10의 5바이트째와 마찬가지로, 데이터 길이이다.
3∼7바이트째는, 데이터 정보(X), (Z)이다. 에지 샘플링인 경우는, 타임 슬롯의 선택은 없다. 그 이유는, 에지 샘플링인 경우는, 각 신호의 논리 변화점만을 전송하고, 전송하는 데이터 수가 데이터의 시간 경과를 나타내지 않기 때문이다. 따라서, 신호마다 논리 변화점의 타이밍 정보를 전송한다.
도 11의 예에서는, UP Link용으로 Pin1과 Pin2을 할당하고, Down Link용으로 Pin4을 할당하는 예를 나타내고 있다. Pin3은, don't care이다. 도 11의 UP Link의 4∼7바이트째에는 Pin1의 정보가 기술되어 있다. 보다 상세하게는, 4∼5바이트째에는, Pin1의 1회째의 논리 변화점의 정보가 기술되고, 6∼7바이트째에는, Pin2의 2회째의 논리 변화점의 정보가 기술된다.
도 11의 UP Link의 8∼11바이트째에는 Pin2의 정보가 기술되어 있다. 도 11의 예에서는, Pin1은 2회 논리 변화점이 있었음에 대해, Pin2은 1회 논리 변화점이 있었기 때문에, Pin2에 관해서는 1회째의 논리 변화점의 정보가 9∼11바이트째에 기술되어 있다. 12바이트째(Q)는 CRC의 정보이다.
도 11의 Down Link의 1바이트째는 GPIO 모드 정보, 2바이트째는 GPIO 핀 정보이다. GPIO 핀 정보로서 0x04로 기술되어 있는데, 이것은 Pin4를 나타내는 핀 번호이다. 4∼5바이트째에 Pin4의 논리 변화점의 정보가 기술된다. 6바이트째는 CRC의 정보이다.
(풀 샘플링시의 M_SerDes(100)의 동작)
다음에, 풀 샘플링시의 M_SerDes(100)의 동작을 설명한다. 도 13은 M_SerDes(100)의 내부 구성을 도시하는 블록도에 신호의 전송 순서(1)∼(10)를 가한 도면이다. 도 14는 풀 샘플링시의 M_SerDes(100)의 샘플링 파형, GPIO 패킷, 및 UP(Down) Link 패킷을 도시하는 도면이다.
Master(10)는, M_SerDes(100) 내의 컨트롤러(101)에, I2C 등의 프로토콜을 이용하여 GPIO 헤더 정보((R), (T), (U), (V), (W)), 타이머(102)의 시각 제어 명령, GPIO 설정 정보를 송신하는 기능을 갖는다. 예를 들면, Master(10)는, I2C 프로토콜로 컨트롤러(101)의 해당 레지스터에 GPIO 헤더 정보나 시각 제어 명령으로서, 타이머(102)의 새로운 설정 시간을 기록한다. 컨트롤러(101)는, 새로운 설정 시간이 기록되면, 타이머(102)에 반영함으로써, Master(10) 내의 타이머(12)와, M_SerDes(100) 내의 타이머(102)의 시각을 동기시킬 수 있다. 마찬가지로, Master(10)는 I2C 프로토콜로 컨트롤러(101)의 해당 레지스터에 GPIO 설정 정보((U) 또는 (R))를 기록하면, 컨트롤러(101)는 GPIO 설정을 행한다.
M_SerDes(100)는, 컨트롤러(101)와, 타이머(102)와, 입출력 버퍼(103, 104)와, 인캡슐레이터(150)와, 디인캡슐레이터(160)와, LINK(120) 및 PHY(110)를 갖는다.
컨트롤러(101)는, 타이머(102), 입출력 버퍼(103, 104), 인캡슐레이터(150), 및 디인캡슐레이터(160)를 제어한다.
인캡슐레이터(150)는, 타이머(102)로부터 입력되는 시간 정보와, 컨트롤러(101)로부터 송신되는 GPIO 헤더 정보((T)∼(X))로 Master(10)로부터의 GPIO 신호(1)를 지정된 샘플링 주기(V)로 샘플링하고(2), 지정된 GPIO 모드(T)로 인코드 함(3)으로써 샘플링 데이터(Y)로 변환하고, 샘플링 데이터(Y)에 GPIO 헤더 정보((T)∼(X))와 컨트롤러(101)로부터 송신되는 시간 정보에 관한 타임 스탬프 정보(t_stamp (S))를 캡슐화하여 CRC(Q)를 붙여서 LINK(120)에 패킷(4)을 송신하는 기능을 갖는다. 상술한 바와 같이, 타임 스탬프 정보(t_stamp (S))는 0이나 1의 1비트 정보이다.
인캡슐레이터(150)는, Master(10)로부터 I2C 통신으로 송신된 시각 제어 명령을 데이터로서 포함하는 GPIO 패킷을 생성하여 S_SerDes(200)에 송신할 수 있다. 이 GPIO 패킷을 수신한 S_SerDes(200)는, GPIO 패킷 내의 시각 제어 명령을 복원하여, 타이머(202)에 설정함으로써, Master(10), M_SerDes(100), 및 S_SerDes(200)를 동기화할 수 있다.
디인캡슐레이터(160)는, LINK(120)로부터의 입력 신호(5)를 컨트롤러(101)로부터 송신되는 GPIO 헤더 정보((T)∼(W))로 캡슐화의 해제를 행하여, 샘플링 데이터(Y)를 취출하고(6), 샘플링 데이터(Y)의 패킷으로부터 원래의 GPIO 신호로 복원하고(8), 필요에 응하여 메모리(63)에 기록한다.
디인캡슐레이터(160)는, 수신한 GPIO 패킷 내의 타임 스탬프 정보(t_stamp (S))가 0인 경우, 타이머(102)로부터 입력되는 시간 정보에서 GPIO 신호의 출력 타이밍을 결정한다. 이 경우, 복원된 GPIO 신호를 메모리(63)에 기록하는 일 없이 셀렉터(64)에 보낸다.
한편, 디인캡슐레이터(160)는, 수신한 GPIO 패킷 내의 타임 스탬프 정보(t_stamp (S))가 1인 경우, 그 직후의 시간 정보에 의거하여 GPIO 신호의 출력 타이밍을 결정한다. 이 경우, 복원된 GPIO 신호를 메모리(63)에 기록하고, 타이머(102)로부터 입력되는 시간 정보가 타임 스탬프 정보(t_stamp (S))의 직후의 시간 정보에 일치한 타이밍에서, 메모리(63)로부터 GPIO 신호를 판독하여 셀렉터(64)를 통하여 Master((10)에 송신하는 기능(10)를 갖는다.
이와 같이, 타임 스탬프 정보(t_stamp (S))를 1로 함으로써, Slave(20)가 설정한 시간 정보에 응한 타이밍에서, Master(10)에 GPIO 신호를 송신할 수 있다. 또한, 후술하는 바와 같이, Slave(20), M_SerDes(100), S_SerDes(200)가 각각 복수대 마련되어 있는 경우, 각각의 Slave(20)가 설정한 시간 정보에 응한 타이밍에서, Master(10)에 GPIO 신호를 송신할 수 있다.
또한, 디인캡슐레이터(160)는, 캡슐화 해제(6)한 후에, 새로운 GPIO 헤더 정보((T)∼(W))가 설정되어 있던 경우는, 새로운 GPIO 헤더 정보를 컨트롤러(101)에 송신하는 기능을 갖는다.
또한, 컨트롤러(101)로부터 송신되는 GPIO 헤더 정보는, 송수신 데이터의 데이터 형식을 나타내는 GPIO 모드(T)와, 이용하고 있는 GPIO의 Pin 정보(U)와, 샘플링 주기 정보(V)와, 데이터 배열 정보(W)와, 데이터 길이(X)를 포함한다.
만약, 캡슐화 해제 후(6)에 GPIO 패킷 내의 타임 스탬프 정보(t_samp(S))가 0의 데이터인 경우, 디인캡슐레이터(160)는, 컨트롤러(101)로부터의 셀렉터(64)의 선택 신호에 의해 (7)의 경로를 복연(復緣)한 GPIO 신호가 통과하여, 지연 없이 Master(10)에 송신된다(10).
(에지 샘플링시의 M_SerDes(100)의 동작)
도 15는 에지 샘플링시의 M_SerDes(100)의 샘플링 파형, GPIO 패킷, 및 UP(Down) Link 패킷을 도시하는 도면이다.
Master(10)는, M_SerDes(100)의 컨트롤러(101)에, I2C 등의 프로토콜을 이용하여 GPIO 헤더 정보((R), (T)∼(W)), 타이머(102)의 시각 제어 명령, 및 GPIO 설정 정보를 송신하는 기능을 갖는다.
M_SerDes(100) 내의 컨트롤러(101)는, 타이머(102), 입출력 버퍼(103, 104), 인캡슐레이터(150), 및 디인캡슐레이터(160)를 제어한다.
인캡슐레이터(150)는, 타이머(102)로부터 입력되는 시간 정보와, 컨트롤러(101)로부터 송신되는 GPIO 헤더 정보((R), (T), (V), (X))로 Master(10)로부터의 GPIO 신호(1)를 지정된 샘플링 주기로 샘플링하고(2), 지정된 GPIO 모드(T)로 인코드 함(3)으로써 샘플링 데이터(Z)로 변환하고, 샘플링 데이터(Z)에 GPIO 헤더 정보((R), (T), (V), (X))와 컨트롤러(101)로부터 송신되는 시간 정보에 관한 타임 스탬프 정보(t_stamp (S))를 캡슐화하여 CRC(Q)를 붙여서 LINK(120)에 패킷(4)을 송신하는 기능을 갖는다.
디캡슐레이터(160)는, LINK(120)로부터의 입력 신호(5)를 컨트롤러(101)로부터 송신되는 GPIO 헤더 정보((R), (T), (V))로 캡슐화 해제하여(6), 샘플링 데이터(Z)를 취출하고(6), 샘플링 데이터(Z)의 패킷으로부터 원래의 GPIO 신호로 복원하고(8), 메모리(63)에 기록한다. 또한, 디캡슐레이터(160)는, 타이머(102)로부터 입력되는 시간 정보와 타임 스탬프 정보(t_stamp (S))의 직후의 시간 정보가 일치하고 나서 메모리(63)에 기록한 데이터를 판독하여(9), Master(10)에 송신(10)하는 기능과, 샘플링 데이터(Z)의 패킷으로부터 원래의 GPIO 신호로 복원하여(8), Master(10)에 송신하는 기능(10)과, 캡슐화 해제(6)로 새로운 GPIO 헤더 정보((R), (T), (V))가 설정되어 있던 경우는, 새로운 GPIO 헤더 정보를 컨트롤러(101)에 송신하는 기능을 갖는다.
또한, 컨트롤러(101)로부터 송신되는 GPIO 헤더 정보는, 송수신 데이터의 데이터 형식을 나타내는 GPIO mode(T)와, 이용하고 있는 GPIO의 Pin 번호 & 설정 정보(R)와, 샘플링 주기 정보(V)와 데이터 길이(X)를 포함한다.
만약, 캡슐화 해제 후(6)에, 타임 스탬프 정보(t_samp(S))가 0이고 시간 정보가 없는 입력 데이터인 경우, 디인캡슐레이터(160)는, 컨트롤러(101)로부터의 선택 신호에 의해, GPIO 신호를 (7)의 경로와 셀렉터(64)를 통과시켜서, 지연 없이 Master(10)에 송신한다(10).
(풀 샘플링시의 S_SerDes(200)의 동작)
도 16은 S_SerDes(200)의 내부 구성을 도시하는 블록도에 신호의 전송 순서(1)∼(11)를 가한 도면이다. 도 17은 풀 샘플링시에 S_SerDes(200)가 송수하는 UP(Down) Link 패킷을 도시하는 도면이다.
S_SerDes(200)는, I2C 컨트롤러(270)와, 컨트롤러(201)와, 타이머(202)와, 입출력 버퍼(203, 204)와, 디인캡슐레이터(260)와, 인캡슐레이터(250)를 갖는다.
I2C 컨트롤러(270)는, Slave(20)의 컨트롤러(21)에 I2C 등의 프로토콜을 이용하여 통신을 행한다.
컨트롤러(201)는, 통신 프로토콜(X)로 송수신하는 LINK(220) 및 PHY(210)와, 내부 블록인 타이머(202), Enc(250), DeEnc(260), 및 I2C 컨트롤러(270)를 제어하는 기능을 갖는다. 컨트롤러(201)는, Slave(20)와 GPIO 통신을 시작하기 전에, Master(10)로부터 통신 상대 장치를 통하여 송신된 GPIO 핀 설정 정보에 의거하여, GPIO 핀의 입출력 제어를 행한다.
디인캡슐레이터(260)는, 통신 프로토콜(X)의 패킷(5)으로부터 캡슐화 해제를 행하여, 원래의 GPIO 신호나 GPIO 헤더 정보를 복원하는 기능을 갖는다. 디인캡슐레이터(260)는, 제1 GPIO 패킷 내의 헤더 정보에 포함되는 샘플링 모드 정보가, Master로부터 송신된 GPIO 신호를 일정한 샘플링 주기로 샘플링한 모든 샘플링 데이터를 포함하는 것을 나타내는 풀 샘플링 모드(제1 모드)인지, 또는 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 것을 나타내는 에지 샘플링 모드(제2 모드)인지를 판별하여, 제1 GPIO 패킷을 제1 GPIO 신호로 변환하여 Slave에 송신한다. 보다 상세하게는, 디인캡슐레이터(260)는, 풀 샘플링 모드에서는, 1 이상의 샘플링 데이터가 제1 GPIO 패킷에 포함되어 있고, 시작점을 기점으로 하여 샘플링 주기가 경과할 때마다 샘플링하는 샘플링 데이터의 각각에, 제1 GPIO 패킷에 포함되는 샘플링 데이터의 각각을 할당하여, 제1 GPIO 신호를 재생한다. 디인캡슐레이터(260)는, 에지 샘플링 모드에서는, 1 이상의 샘플링 데이터의 각각이 샘플링된 샘플링 타이밍을 나타내는 제1 시간 정보와 연관시켜서 제1 GPIO 패킷에 포함되어 있고, 제1 시간 정보가 나타내는 샘플링 타이밍에서, 제1 시간 정보에 대응하는 샘플링 데이터를 할당하여, 제1 GPIO 패킷 내의 다음의 제1 시간 정보의 샘플링 타이밍까지는, 샘플링 주기마다 동일한 샘플링 데이터를 할당하는 처리를 반복하여, 제1 GPIO 신호를 재생한다.
인캡슐레이터(250)는, Slave(20)로부터의 GPIO 신호를 샘플링하여 캡슐화하여 M_SerDes(100)에 패킷(4)을 송신한다. 인캡슐레이터(250)는, 타이머(202)로부터 입력되는 시간 정보와, 컨트롤러(201)로부터 송신되는 GPIO 헤더 정보((T)∼(X))로 Slave(20)로부터의 GPIO 신호(1)를, 지정된 샘플링 주기(V)로 샘플링하고(2), 지정된 GPIO 모드(T)로 인코드 함(3)으로써 샘플링 데이터(Y)로 변환하고, 샘플링 데이터(Y)에 GPIO 헤더 정보((T)∼(X))와, 컨트롤러(201)로부터 송신되는 시간 정보나 타임 스탬프 정보(t_stamp (S))를 캡슐화하여 CRC(Q)를 붙여서 LINK(220)에 패킷(4)을 송신하는 기능을 갖는다. 인캡슐레이터(250)는, 시작점을 기점으로 하여, Slave(20)로부터의 제2 GPIO 신호를, 일정한 샘플링 주기 또는 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 제2 GPIO 패킷을 생성한다. 보다 상세하게는, 인캡슐레이터는, 풀 샘플링 모드에서는, 시작점을 기점으로 하는 샘플링 주기로, Slave로부터 수신한 제2 GPIO 신호를 샘플링한 모든 샘플링 데이터를 포함하는 제2 GPIO 패킷을 생성한다. 인캡슐레이터(250)는, 에지 샘플링 모드에서는, 제1 샘플링 타이밍에서 샘플링한 샘플링 데이터의 값이, 제1 샘플링 타이밍으로부터 샘플링 주기가 경과한 제2 샘플링 타이밍에서 샘플링한 샘플링 데이터의 값과 다른 경우에, 제2 샘플링 타이밍에서 샘플링한 샘플링 데이터와, 제2 샘플링 타이밍을 나타내는 시간 정보를 포함하는 제2 GPIO 패킷을 생성한다.
디인캡슐레이터(260)는, LINK(220)로부터의 입력 신호(5)를, 컨트롤러(201)로부터 송신되는 GPIO 헤더 정보((T)∼(W))로 캡슐화 해제하여, 샘플링 데이터(Y)를 취출하고(6), 샘플링 데이터(Y)의 패킷으로부터 원래의 GPIO 신호로 복원하고(8), 필요에 응하여 메모리(63)에 기록한다.
디인캡슐레이터(260)는, 수신한 GPIO 패킷 내의 타임 스탬프 정보(t_stamp (S))가 0인 경우, 타이머(202)로부터 입력되는 시간 정보에 GPIO 신호의 출력 타이밍을 결정한다. 이 경우, 복원된 GPIO 신호를 메모리(63)에 기록하는 일 없이, 셀렉터(64)에 보낸다.
한편, 디인캡슐레이터(260)는, 수신한 GPIO 패킷 내의 타임 스탬프 정보(t_stamp (S))가 1인 경우, 그 직후의 시간 정보에 의거하여 GPIO 신호의 출력 타이밍을 결정한다. 이 경우, 복원된 GPIO 신호를 메모리(63)에 기록하고, 타이머(202)로부터 입력되는 시간 정보가 타임 스탬프 정보(t_stamp (S))의 직후의 시간 정보에 일치한 타이밍에서, 메모리(63)로부터 GPIO 신호를 판독하여 셀렉터(64)를 통하여 Slave(20)에 송신하는 기능(10)을 갖는다.
이와 같이, 디인캡슐레이터(260)는, 타임 스탬프 정보(t_stamp (S))가 1인 경우에는, 타이머(202)로부터 입력되는 시간 정보와 타임 스탬프 정보(t_stamp (S))의 직후의 시간 정보가 일치하고 나서 메모리(63)에 기록한 데이터를 판독하고(9), Slave(20)에 송신하는 기능(10)를 갖는다.
따라서 타임 스탬프 정보(t_stamp (S))를 1로 함으로써, Master(10)가 설정한 시간 정보에 응한 타이밍에서, Slave(20)에 GPIO 신호를 송신할 수 있다. 또한, 후술하는 바와 같이, Slave(20), M_SerDes(100), S_SerDes(200)가 각각 복수대 마련되어 있는 경우, Master(10)가 설정한 시간 정보에 응하여, 같은 타이밍에서, 각 Slave(20)에 GPIO 신호를 송신할 수 있다.
또한, 디인캡슐레이터(260)는, 캡슐화 해제 후(6)에 입출력 버퍼(203, 204)의 설정 정보(U)가 포함되어 있던 경우는, 그 내용에 따라 입출력 버퍼(203, 204)의 설정을 행하는 기능과, 캡슐화 해제(6)에 새로운 GPIO 헤더 정보((T)∼(W))가 포함되어 있던 경우는, 새로운 GPIO 헤더 정보를 컨트롤러(201)에 송신하는 기능을 갖는다.
컨트롤러(201)는, 수신한 GPIO 패킷 내에 타이머(202)에의 시각 제어 명령이 포함되어 있던 경우, 이 시각 제어 명령에 포함되어 있는 새로운 설정 시간을 타이머(202)에 반영함으로써, 타이머(12)와 타이머(202)의 시각을 동기시킬 수 있다.
(에지 샘플링시의 S_SerDes(200)의 동작)
도 18은 에지 샘플링시에 S_SerDes(200)가 송수하는 UP(Down) 패킷을 도시하는 도면이다. S_SerDes(200) 내의 인캡슐레이터(250)는, 타이머(202)로부터 입력되는 시간 정보와, 컨트롤러(201)로부터 송신되는 GPIO 헤더 정보((R), (T), (V), (X))에 의거하여 Slave(20)로부터의 GPIO 신호(1)를 지정된 샘플링 주기(V)로 샘플링(2)하고, 지정된 GPIO 모드(T)로 인코드함(3)으로써 샘플링 데이터(Y)로 변환하고, 샘플링 데이터(Y)에 GPIO 헤더 정보((R), (T), (V), (X))와 컨트롤러(201)로부터 송신되는 시간 정보나 타임 스탬프 정보(t_stamp (S))를 가하여 캡슐화하여, CRC(Q)를 붙여서, LINK(220)에 패킷(4)을 송신하는 기능을 갖는다.
디인캡슐레이터(260)는, LINK(220)로부터의 입력 신호(5)를 컨트롤러(201)로부터 송신되는 GPIO 헤더 정보((R), (T), (V))로 캡슐화 해제하여, 샘플링 데이터(Y)를 취출하고(6), 샘플링 데이터(Y)의 패킷으로부터 원래의 GPIO 신호로 복원하고(8), 메모리(63)에 기록한다. 또한, 디인캡슐레이터(260)는, 타이머(202)로부터 입력되는 시간 정보와 타임 스탬프 정보(t_stamp (S))의 직후의 시간 정보가 일치하고 나서 메모리(63)에 기록한 데이터를 판독하여(9), Slave(20)에 송신하는 기능(10)과, 캡슐화 해제(6)로 입출력 버퍼(203, 204)에 연결되는 핀의 설정 정보(U)가 포함되어 있던 경우는, 그 내용에 따라 입출력 버퍼(203, 204)의 설정을 행하는 기능과, 캡슐화 해제(6)로 새로운 GPIO 헤더 정보((R), (T), (V))가 포함되어 있던 경우는, 새로운 GPIO 헤더 정보를 컨트롤러(201)에 송신하는 기능을 갖는다.
(S_SerDes(200) 내의 디인캡슐레이터(260)의 GPIO 제어)
디인캡슐레이터(260)는, LINK(220)로부터의 패킷(5)을, 컨트롤러(201)로부터 송신되는 GPIO 헤더 정보((T)∼(X) 또는 (R), (T), (V))로 캡슐화 해제하고, 샘플링 데이터(Y)를 취출하고(6), 샘플링 데이터(Y)의 패킷으로부터 원래의 GPIO 신호로 복원하고(8), 메모리(63)에 기록한다.
도 19는 디인캡슐레이터(260)에 입력되는 패킷의 데이터 구성을 도시하는 도면이다. 디인캡슐레이터(260)는, 타이머(202)로부터 입력되는 시간 정보와 타임 스탬프 정보(t_stamp (S))의 직후의 시간 정보가 일치하면, 메모리(63)에 기록한 데이터를 판독하여(9), Slave(20)에 송신하는 기능(10)을 갖는다. 또한, 디인캡슐레이터(260)는, 캡슐화 해제(6)로 입출력 버퍼(203, 204)에 연결되는 핀의 설정 정보(U)가 포함되어 있던 경우는, 그 내용에 따라 입출력 버퍼(203, 204)의 설정을 행하는 기능과, 캡슐화 해제(6)에 새로운 GPIO 헤더 정보((T)∼(X) 또는 (R), (T), (V))가 포함되어 있던 경우는, 새로운 GPIO 헤더 정보를 컨트롤러(201)에 송신하는 기능을 갖는다.
디인캡슐레이터(260)는, 패킷(5)를 캡슐화 해제하여, 그 중에 입출력 버퍼(203, 204)에 연결된 핀의 설정 정보((U) 또는 (R))가 포함되어 있던 경우, 해당하는 핀의 설정 정보((U) 또는 (R))를 확인하고, GPIO 설정을 행한다.
예를 들면, 입출력 버퍼(203)의 설정 정보((U) 또는 (R))가 IN이면, GPIO 으로서 Slave(20)로부터의 출력이 입력되는 GPIO 설정을 행한다. 입출력 버퍼(204)의 설정 정보((U) 또는 (R))가 OUT이면 GPO로서 Slave(20)에의 입력 신호를 출력하는 GPIO 설정을 행한다. 입출력 버퍼(203, 204)의 외부에서 pull Up이나 pull Down되어 있는 경우는 GPIO 설정 정보((U) 또는 (R))은 IN_float(pullup/pulldown)으로 되어 있다.
또한, M_SerDes(100) 내의 컨트롤러(101)에서도 마찬가지로 입출력 버퍼(103, 104)의 설정을 행할 수 있다.
(시스템 시각 동기 1/2)
도 20은, Master(10) 내의 타이머(12)와, M_SerDes(100) 내의 타이머(102)와, S_SerDes(200) 내의 타이머(202)의 시각 동기를 행하는 순서(1)∼(6)를 도시한다.
(1) Master(10)는, Master(10)의 타이머(12)와 M_SerDes(100)의 타이머(102)와 시각 동기를 행하는 시각 제어 명령을 I2C 경유로 컨트롤러(101)에 보낸다.
(2) M_SerDes(100)는 수신 명령에 응하여 Master(10)의 타이머(12)와 같은 시각이 되도록 타이머(102)의 설정을 행한다.
(3) Master(10)는 Master(10)의 타이머(12)와 S_SerDes(200)의 타이머(202)의 시각 동기를 행하는 시각 제어 명령을 M_SerDes(100)의 인캡슐레이터(150)에서 프로토콜(X)의 형식으로 캡슐화한다.
(4) 프로토콜(X)의 형식으로 캡슐화된 시각 제어 명령은 S_SerDes(200)에 송신된다.
(5) S_SerDes(200)의 디인캡슐레이터(260)에서 캡슐화가 해제되어 시각 제어 명령으로 되돌아와, S_SerDes(200)의 컨트롤러(201)에 송신된다.
(6) 컨트롤러(201)는 수신 명령에 응하여 Master(10)의 타이머(12)와 같은 시각이 되도록 타이머(202)의 설정을 행한다.
이상에 의해 각 timer(12, 102, 202)의 시각 동기가 가능해진다.
(시스템 시각 동기 2/2)
도 21은, Master(10) 내의 타이머(12)와, M_SerDes(100, 400) 내의 타이머(102, 402)와, S_SerDes(200, 500) 내의 타이머(202, 502)의 시각 동기를 행하는 순서(7)∼(12)를 도시하는 도면이다.
(7) Master(10)는 Master(10)의 타이머(12)와 M_SerDes(100, 400)의 timer(102, 402)와 시각 동기를 행하는 시각 제어 명령을 컨트롤러(101, 401)에 보낸다.
(8) M_SerDes(100, 400)는 수신 명령에 응하여 Master(10)의 타이머(12)와 같은 시각이 되도록 timer(102, 402)의 설정을 행한다.
(9) Master(10)는 Master(10)의 타이머(12)와 S_SerDes(200, 500)의 타이머(202, 502)의 시각 동기를 행하는 시각 제어 명령을 M_SerDes(100, 400)의 인캡슐레이터(150, 450)에서 프로토콜(X)의 형식으로 캡슐화한다.
(10) 프로토콜(X)의 형식으로 캡슐화된 시각 제어 명령은 S_SerDes(200, 500)에 송신된다.
(11) S_SerDes(200, 500)의 디인캡슐레이터(160, 560)에서 캡슐화가 해제되어 시각 제어 명령으로 되돌아와, S_SerDes(200, 500)의 컨트롤러(201, 501)에 송신된다.
(12) 컨트롤러(201, 501)는 수신 명령에 응하여 Master(10)의 타이머(12)와 같은 시각이 되도록 타이머(502)의 설정을 행한다.
이상에 의해, 각 타이머(12, 402, 502)의 시각 동기가 가능해진다. 따라서, 각 타이머(12, 102, 202, 402, 502)가 시각 동기됨으로써 시스템 전체의 시각 동기가 가능해지고, Master(10)로부터의 명령 실행 시작 시간을 시스템 내의 복수 디바이스에서 동기 가능해진다.
(본 실시 형태의 효과)
본 실시 형태에 관한 M_SerDes(100)와 S_SerDes(200)는, 필요에 응하여, 풀 샘플링과 에지 샘플링의 어느 하나로, Master(10) 또는 Slave(20)로부터의 GPIO 신호를 샘플링할 수 있다. 예를 들면, GPIO 신호의 토글률이 높은 경우에는, 풀 샘플링을 선택함에 의해, GPIO 신호의 취득 실패를 방지할 수 있다. 또한, GPIO 신호의 토글률이 낮은 경우에는, 에지 샘플링을 선택함에 의해, GPIO 신호의 시작점과 논리 변화점의 정보만을 취득할 수 있어, 데이터량을 삭감할 수 있고, 효율적으로 데이터를 전송할 수 있다.
본 실시 형태에 관한 M_SerDes(100)는 Master(10)와의 사이에서 GPIO 통신을 행하고, S_SerDes(200)는 Slave(20)와의 사이에서 GPIO 통신을 행하는 한편으로, M_SerDes(100)와 S_SerDes(200)의 사이에서는, 소정의 통신 프로토콜(X)로 시리얼 신호 전송을 행할 수가 있다. 소정의 통신 프로토콜(X)은, 예를 들면 반이중(半二重) 통신 방식의 TDD 방식이고, GPIO 통신은 전이중(全二重) 통신 방식이다. 그래서, M_SerDes(100)와 S_SerDes(200)는, 전이중 통신 방식의 신호를 반이중 통신 방식의 패킷으로 변환하여, 고속 시리얼 통신을 행할 수가 있다.
또한, M_SerDes(100)는, S_SerDes(200)와의 통신을 시작하기 전에, Master(10)로부터 GPIO 통신과는 다른 통신 방식으로 송신된 GPIO 설정 정보에 의거하여, S_SerDes(100)에 송신하기 위한 패킷을 생성할 수 있다. 이 GPIO 설정 정보는, 패킷의 GPIO 헤더 정보에 포함되기 때문에, S_SerDes(100)에서 용이하게 취득할 수 있다. 따라서, S_SerDes(100)는, Master(10)로부터의 GPIO 설정 정보에 의거하여, 패킷으로부터 GPIO 신호를 취출하거나, Slave(20)로부터의 GPIO 신호를 패킷으로 변환할 수 있다.
또한, 본 기술은 이하와 같은 구성을 취할 수 있다.
(1) 시작점이 되는 타임 스탬프와, 상기 시작점을 기점으로 하는 상기 타임 스탬프의 단위 주기를 결정하는 컨트롤러와,
상기 시작점을 기점으로 하여, Master로부터의 GPIO(General Purpose Input/Output) 신호를, 상기 타임 스탬프에 동기시켜서, 일정한 샘플링 주기로 샘플링된 모든 샘플링 데이터 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 제1 GPIO 패킷을 생성하는 인캡슐레이터와,
상기 제1 GPIO 패킷을 포함하는 Up link 패킷을 생성하는 LINK와,
상기 Up link 패킷을 포함하는 소정의 통신 프로토콜에 준거한 전송 신호를 통신 상대 장치에 송신하는 PHY를 구비하는, 통신 장치.
(2) 상기 컨트롤러는, 제1 모드 또는 제2 모드를 지정하는 샘플링 모드 정보와 타임 스탬프와 샘플링 주기를 포함하는 GPIO 설정 정보를 상기 Master로부터 수신하고,
상기 인캡슐레이터는,
상기 제1 모드에서는, 상기 시작점을 기점으로 하는 상기 샘플링 주기로, 상기 Master로부터 수신한 제1 GPIO 신호를 샘플링한 모든 상기 샘플링 데이터를 포함하는 상기 제1 GPIO 패킷을 생성하고,
상기 제2 모드에서는, 제1 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터의 값이, 상기 제1 샘플링 타이밍으로부터 상기 샘플링 주기가 경과한 제2 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터의 값과 다른 경우에, 상기 제2 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터와, 상기 제2 샘플링 타이밍을 나타내는 제1 시간 정보를 포함하는 상기 제1 GPIO 패킷을 생성하는, (1)에 기재된 통신 장치.
(3) 제2 GPIO 신호를 생성하여 상기 Master에 송신하는 디인캡슐레이터를 더 구비하고,
상기 PHY는, 상기 소정의 통신 프로토콜에 준거한 전송 신호를 상기 통신 상대 장치로부터 수신하고,
상기 LINK는, 제2 GPIO 패킷을 상기 전송 신호로부터 분리하고,
상기 디인캡슐레이터는, 상기 모드 정보와 상기 시작점과 상기 샘플링 주기와 상기 제2 GPIO 패킷에 의거하여, 상기 제2 GPIO 신호를 재생하는, (2)에 기재된 통신 장치.
(4) 상기 디인캡슐레이터는,
상기 제1 모드에서는, 1 이상의 샘플링 데이터가 상기 제2 GPIO 패킷에 포함되어 있고, 상기 시작점을 기점으로 하여 상기 샘플링 주기가 경과할 때마다 샘플링하는 샘플링 데이터의 각각에, 상기 제2 GPIO 패킷에 포함되는 샘플링 데이터의 각각을 할당하여, 상기 제2 GPIO 신호를 재생하고,
상기 제2 모드에서는, 1 이상의 샘플링 데이터의 각각이 샘플링 타이밍을 나타내는 제2 시간 정보와 연관시켜서 상기 제2 GPIO 패킷에 포함되어 있고, 상기 제2 시간 정보가 나타내는 샘플링 타이밍에서, 상기 제2 시간 정보에 대응하는 상기 샘플링 데이터를 할당하여, 상기 제2 GPIO 패킷 내의 다음의 상기 제2 시간 정보의 샘플링 타이밍까지는, 상기 샘플링 주기마다 동일한 상기 샘플링 데이터를 할당하는 처리를 반복하여, 상기 제2 GPIO 신호를 재생하는, (3)에 기재된 통신 장치.
(5) 상기 Master 내의 제1 타이머와 동기한 시간 정보를 출력하는 제2 타이머를 구비하고,
상기 디인캡슐레이터는, 상기 제2 GPIO 신호를 기억하는 메모리를 가지고,
상기 제2 GPIO 패킷은, 상기 제2 GPIO 신호의 출력 타이밍에 관한 타임 스탬프 정보를 포함하고 있고,
상기 디인캡슐레이터는, 상기 타임 스탬프 정보가 제1 값일 때는, 상기 제2 GPIO 신호를 상기 메모리에 기억하는 일 없이 상기 Master에 송신하고, 상기 타임 스탬프 정보가 제2 값일 때는, 상기 제2 GPIO 신호를 상기 메모리에 기억하고, 상기 제2 타이머의 시간 정보가 상기 제2 GPIO 패킷 내의 상기 타임 스탬프 정보의 후에 삽입되는 시간 정보와 일치하면, 상기 메모리로부터 상기 제2 GPIO 신호를 판독하여, 상기 Master에 송신하는, (3) 또는 (4)에 기재된 통신 장치.
(6) 상기 컨트롤러는, 상기 Master와의 GPIO 통신을 시작하기 전에, 상기 Master로부터 GPIO 통신과는 다른 통신 방식으로 송신된 상기 GPIO 설정 정보에 의거하여, 상기 인캡슐레이터가 상기 패킷을 생성하는 제어를 행하는, (2) 내지 (5)의 어느 한 항에 기재된 통신 장치.
(7) 상기 GPIO 설정 정보는, 상기 GPIO 신호의 샘플링 주파수 정보와, GPIO 핀 설정 정보와, GPIO 구성 정보와, 상기 샘플링된 데이터의 데이터 길이 정보의 적어도 하나를 포함하는, (6)에 기재된 통신 장치.
(8) 상기 인캡슐레이터는, 상기 샘플링 모드 정보와, 상기 샘플링 주파수 정보와, 상기 GPIO 핀 설정 정보와, GPIO 구성 정보와, 상기 데이터 길이 정보의 적어도 하나를 포함하는 헤더 정보를 포함하는 상기 제1 GPIO 패킷을 생성하는, (6)에 기재된 통신 장치.
(9) 상기 GPIO 구성 정보는, GPIO 통신을 행하는 핀의 수와, 상기 GPIO 핀 설정 정보와, GPIO 통신 정보를 격납하는 타임 슬롯을 포함하는, (8)에 기재된 통신 장치.
(10) 상기 인캡슐레이터는, 상기 샘플링된 데이터를 포함하는 패킷을 상기 통신 상대 장치에 송신하기 전에, 상기 샘플링된 데이터를 포함하지 않고 상기 헤더 정보를 포함하는 상기 제1 GPIO 패킷을 생성하는, (8) 또는 (9)에 기재된 통신 장치.
(11) 상기 인캡슐레이터는, 상기 샘플링된 데이터를 포함하지 않고 상기 헤더 정보를 포함하는 상기 제1 GPIO 패킷과, 상기 헤더 정보와 상기 샘플링된 데이터를 포함하는 상기 제1 GPIO 패킷과, 상기 헤더 정보를 포함하지 않고 상기 샘플링된 데이터를 포함하는 상기 제1 GPIO 패킷의 적어도 하나를 생성하는, (8) 또는 (9)에 기재된 통신 장치.
(12) 상기 인캡슐레이터는, 상기 제1 GPIO 패킷에 타임 스탬프 정보와 오류 검지 정보의 적어도 일방을 부가하는, (11)에 기재된 통신 장치.
(13) 상기 통신 프로토콜은, TDD(Time Division Duplex) 통신 방식의 통신 프로토콜이고,
상기 단위 주기는, 상기 TDD 통신 방식의 1프레임 기간인, (1) 내지 (12)의 어느 한 항에 기재된 통신 장치.
(14) 소정의 통신 프로토콜에 준거한 전송 신호를 통신 상대 장치로부터 수신하는 PHY와,
시각 제어 명령을 포함하는 제1 GPIO 패킷을 상기 전송 신호로부터 분리하는 LINK와
상기 시각 제어 명령에 의거하여 시작점을 결정하는 컨트롤러와,
상기 제1 GPIO 패킷 내의 헤더 정보에 포함되는 샘플링 모드 정보가, Master로부터 송신된 GPIO(General Purpose Input/Output) 신호를 일정한 샘플링 주기로 샘플링한 모든 샘플링 데이터를 포함하는 것을 나타내는 제1 모드인지, 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 것을 나타내는 제2 모드인지를 판별하여, 상기 제1 GPIO 패킷을 제1 GPIO 신호로 변환하여 Slave에 송신하는 디인캡슐레이터를 구비하는, 통신 장치.
(15) 상기 디인캡슐레이터는,
상기 제1 모드에서는, 1 이상의 샘플링 데이터가 상기 제1 GPIO 패킷에 포함되어 있고, 상기 시작점을 기점으로 하여 상기 샘플링 주기가 경과할 때마다 샘플링하는 샘플링 데이터의 각각에, 상기 제1 GPIO 패킷에 포함되는 샘플링 데이터의 각각을 할당하여, 상기 제1 GPIO 신호를 재생하고,
상기 제2 모드에서는, 1 이상의 샘플링 데이터의 각각이 샘플링된 샘플링 타이밍을 나타내는 제1 시간 정보와 연관시켜서 상기 제1 GPIO 패킷에 포함되어 있고, 상기 제1 시간 정보가 나타내는 샘플링 타이밍으로, 상기 제1 시간 정보에 대응하는 상기 샘플링 데이터를 할당하여, 상기 제1 GPIO 패킷 내의 다음의 상기 제1 시간 정보의 샘플링 타이밍까지는, 상기 샘플링 주기마다 동일한 상기 샘플링 데이터를 할당하는 처리를 반복하여, 상기 제1 GPIO 신호를 재생하는, (14)에 기재된 통신 장치.
(16) 상기 Master 내의 제1 타이머와 동기한 시간 정보를 출력하는 제2 타이머를 구비하고,
상기 디인캡슐레이터는, 상기 제1 GPIO 신호를 기억하는 메모리를 가지고,
상기 제1 GPIO 패킷은, 상기 제1 GPIO 신호의 출력 타이밍에 관한 타임 스탬프 정보를 포함하고 있고,
상기 디인캡슐레이터는, 상기 타임 스탬프 정보가 제1 값일 때는, 상기 제1 GPIO 신호를 상기 메모리에 기억하는 일 없이 상기 Slave에 송신하고, 상기 타임 스탬프 정보가 제2 값일 때는, 상기 제1 GPIO 신호를 상기 메모리에 기억하고, 상기 제2 타이머의 시간 정보가 상기 제1 GPIO 패킷 내의 상기 타임 스탬프 정보의 후에 삽입되는 시간 정보와 일치하면, 상기 메모리로부터 상기 제1 GPIO 신호를 판독하여, 상기 Slave에 송신하는, (14) 또는 (15)에 기재된 통신 장치.
(17) 시작점을 기점으로 하여, 상기 Slave로부터의 제2 GPIO 신호를, 일정한 샘플링 주기 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 제2 GPIO 패킷을 생성하는 인캡슐레이터를 구비하는, (14) 내지 (16)의 어느 한 항에 기재된 통신 장치.
(18) 상기 인캡슐레이터는,
상기 제1 모드에서는, 상기 시작점을 기점으로 하는 상기 샘플링 주기로, 상기 Slave로부터 수신한 상기 제2 GPIO 신호를 샘플링한 모든 상기 샘플링 데이터를 포함하는 상기 제2 GPIO 패킷을 생성하고,
상기 제2 모드에서는, 제1 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터의 값이, 상기 제1 샘플링 타이밍으로부터 상기 샘플링 주기가 경과한 제2 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터의 값과 다른 경우에, 상기 제2 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터와, 상기 제2 샘플링 타이밍을 나타내는 시간 정보를 포함하는 상기 제2 GPIO 패킷을 생성하는, (17)에 기재된 통신 장치.
(19) 상기 컨트롤러는, 상기 Slave와 GPIO 통신을 시작하기 전에, 상기 Master로부터 상기 통신 상대 장치를 통하여 송신된 GPIO 핀 설정 정보에 의거하여, GPIO 핀의 입출력 제어를 행하는, (14) 내지 (18)의 어느 한 항에 기재된 통신 장치.
(20) 상기 헤더 정보는, 샘플링 주파수 정보와, GPIO 핀 설정 정보와, GPIO 구성 정보와, 상기 샘플링된 데이터의 데이터 길이 정보의 적어도 하나를 포함하는, (14) 내지 (19)의 어느 한 항에 기재된 통신 장치.
(21) 상기 통신 프로토콜은, TDD(Time Division Duplex) 통신 방식의 통신 프로토콜인, (14) 내지 (20)의 어느 한 항에 기재된 통신 장치.
(22) 소정의 통신 프로토콜에 의해 시리얼 통신을 행하는 Master SerDes 및 Slave SerDes를 구비하고,
상기 Master SerDes는,
시작점이 되는 타임 스탬프와, 상기 시작점을 기점으로 하는 상기 타임 스탬프의 단위 주기를 결정하는 제1 컨트롤러와,
상기 시작점을 기점으로 하여, Master로부터의 GPIO(General Purpose Input/Output) 신호를, 상기 타임 스탬프에 동기시켜서, 일정한 샘플링 주기로 샘플링된 모든 샘플링 데이터 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 제1 GPIO 패킷을 생성하는 제1 인캡슐레이터와,
상기 제1 GPIO 패킷을 포함하는 Up link 패킷을 생성하는 제1 LINK와,
상기 Up link 패킷을 포함하는 소정의 통신 프로토콜에 준거한 전송 신호를 통신 상대 장치에 송신하는 제1 PHY를 가지고,
상기 Slave SerDes는,
상기 소정의 통신 프로토콜에 준거한 전송 신호를 통신 상대 장치로부터 수신하는 제2 PHY와,
시각 제어 명령을 포함하는 제2 GPIO 패킷을 상기 전송 신호로부터 분리하는 제2 LINK와,
시각 제어 명령에 의거하여 시작점을 결정하는 제2 컨트롤러와,
상기 제2 GPIO 패킷 내의 헤더 정보에 포함되는 샘플링 모드 정보가, Master로부터 송신된 제2 GPIO 신호를 일정한 샘플링 주기로 샘플링한 모든 샘플링 데이터를 포함하는 것을 나타내는 제1 모드인지, 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 것을 나타내는 제2 모드인지를 판별하여, 상기 제2 GPIO 패킷을 상기 제2 GPIO 신호로 변환하여 Slave에 송신하는 제1 디인캡슐레이터를 갖는, 통신 시스템.
(23) Master SerDes 및 Slave SerDes가 소정의 통신 프로토콜에 의해 시리얼 통신을 행하는 통신 방법으로서,
상기 Master SerDes는,
시작점이 되는 타임 스탬프와, 상기 시작점을 기점으로 하는 상기 타임 스탬프의 단위 주기를 결정하고,
상기 시작점을 기점으로 하여, Master로부터의 GPIO 신호를, 상기 타임 스탬프에 동기시켜서, 일정한 샘플링 주기로 샘플링된 모든 샘플링 데이터 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 제1 GPIO 패킷을 생성하고,
상기 제1 GPIO 패킷을 포함하는 Up link 패킷을 생성하고,
상기 Up link 패킷을 포함하는 소정의 통신 프로토콜에 준거한 전송 신호를 상기 Slave SerDes에 송신하고,
상기 Slave SerDes는,
상기 소정의 통신 프로토콜에 준거한 전송 신호를 통신 상대 장치로부터 수신하고,
시각 제어 명령을 포함하는 제2 GPIO 패킷을 상기 전송 신호로부터 분리하고,
시각 제어 명령에 의거하여 시작점을 결정하는 제2 컨트롤러와,
상기 제2 GPIO 패킷에 포함되는 헤더 정보에 포함되는 샘플링 모드 정보가, Master로부터의 제2 GPIO 신호를 일정한 샘플링 주기로 샘플링된 모든 샘플링 데이터를 포함하는 것을 나타내는 제1 모드인지, 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 것을 나타내는 제2 모드인지를 판별하여, 상기 제2 GPIO 패킷을 상기 제2 GPIO 신호로 변환하여 Slave에 송신하는, 통신 방법.
본 개시의 양태는, 상술한 개개의 실시 형태로 한정되는 것이 아니고, 당업자가 상도할 수 있는 여러가지의 변형도 포함하는 것이고, 본 개시의 효과도 상술한 내용으로 한정되지 않는다. 즉, 특허청구의 범위에 규정된 내용 및 그 균등물으로부터 도출되는 본 개시의 개념적인 사상과 취지를 일탈하지 않는 범위에서 여러가지의 추가, 변경 및 부분적 삭제가 가능하다.
1: 통신 시스템
6: 전송 경로
10: Master
11: 컨트롤러
12: 타이머
13: 입출력 버퍼
21: 컨트롤러
22: 타이머
23: 입출력 버퍼
51: Enc 코어
52: 인코더
53: 샘플러
61: DeEnc 코어
62: 디코더
63: 메모리
64: 셀렉터
100: M_SerDes
101: 컨트롤러
102: 타이머
103: 입출력 버퍼
110: PHY
120: LINK
150: 인캡슐레이터
160: 디캡슐레이터
160: 디인캡슐레이터
200: S_SerDes
201: 컨트롤러
202: 타이머
203: 입출력 버퍼
204: 입출력 버퍼
210: PHY
220: LINK
250: 인캡슐레이터
260: 디인캡슐레이터
270: I2C 컨트롤러
400: M_SerDes
401: 컨트롤러
402: 타이머
450: 인캡슐레이터
500: S_SerDes
501: 컨트롤러
502: 타이머

Claims (22)

  1. 시작점이 되는 타임 스탬프와, 상기 시작점을 기점으로 하는 상기 타임 스탬프의 단위 주기를 결정하는 컨트롤러와,
    상기 시작점을 기점으로 하여, Master로부터의 GPIO(General Purpose Input/Output) 신호를, 상기 타임 스탬프에 동기시켜서, 일정한 샘플링 주기로 샘플링된 모든 샘플링 데이터 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 제1 GPIO 패킷을 생성하는 인캡슐레이터와,
    상기 제1 GPIO 패킷을 포함하는 Up link 패킷을 생성하는 LINK와,
    상기 Up link 패킷을 포함하는 소정의 통신 프로토콜에 준거한 전송 신호를 통신 상대 장치에 송신하는 PHY를 구비하는 것을 특징으로 하는 통신 장치.
  2. 제1항에 있어서,
    상기 컨트롤러는 제1 모드 또는 제2 모드를 지정하는 샘플링 모드 정보와 타임 스탬프와 샘플링 주기를 포함하는 GPIO 설정 정보를 상기 Master로부터 수신하고,
    상기 인캡슐레이터는
    상기 제1 모드에서는 상기 시작점을 기점으로 하는 상기 샘플링 주기로, 상기 Master로부터 수신한 제1 GPIO 신호를 샘플링한 모든 상기 샘플링 데이터를 포함하는 상기 제1 GPIO 패킷을 생성하고,
    상기 제2 모드에서는 제1 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터의 값이 상기 제1 샘플링 타이밍으로부터 상기 샘플링 주기가 경과한 제2 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터의 값과 다른 경우에, 상기 제2 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터와, 상기 제2 샘플링 타이밍을 나타내는 제1 시간 정보를 포함하는 상기 제1 GPIO 패킷을 생성하는 것을 특징으로 하는 통신 장치.
  3. 제2항에 있어서,
    제2 GPIO 신호를 재생하여 상기 Master에 송신하는 디인캡슐레이터를 더 구비하고,
    상기 PHY는 상기 소정의 통신 프로토콜에 준거한 전송 신호를 상기 통신 상대 장치로부터 수신하고,
    상기 LINK는 제2 GPIO 패킷을 상기 전송 신호로부터 분리하고,
    상기 디인캡슐레이터는 상기 샘플링 모드 정보와 상기 시작점과 상기 샘플링 주기와 상기 제2 GPIO 패킷에 의거하여, 상기 제2 GPIO 신호를 재생하고,
    상기 제1 모드에서는 1 이상의 샘플링 데이터가 상기 제2 GPIO 패킷에 포함되어 있고, 상기 시작점을 기점으로 하여 상기 샘플링 주기가 경과할 때마다 샘플링하는 샘플링 데이터의 각각에, 상기 제2 GPIO 패킷에 포함되는 샘플링 데이터의 각각을 할당하여, 상기 제2 GPIO 신호를 재생하고,
    상기 제2 모드에서는 1 이상의 샘플링 데이터의 각각이 샘플링 타이밍을 나타내는 제2 시간 정보와 연관시켜서 상기 제2 GPIO 패킷에 포함되어 있고, 상기 제2 시간 정보가 나타내는 샘플링 타이밍에서, 상기 제2 시간 정보에 대응하는 상기 샘플링 데이터를 할당하여, 상기 제2 GPIO 패킷 내의 다음의 상기 제2 시간 정보의 샘플링 타이밍까지는 상기 샘플링 주기마다 동일한 상기 샘플링 데이터를 할당하는 처리를 반복하여, 상기 제2 GPIO 신호를 재생하는 것을 특징으로 하는 통신 장치.
  4. 제3항에 있어서,
    상기 Master 내의 제1 타이머와 동기한 시간 정보를 출력하는 제2 타이머를 구비하고,
    상기 디인캡슐레이터는 상기 제2 GPIO 신호를 기억하는 메모리를 가지고,
    상기 제2 GPIO 패킷은 상기 제2 GPIO 신호의 출력 타이밍에 관한 타임 스탬프 정보를 포함하고 있고,
    상기 디인캡슐레이터는 상기 타임 스탬프 정보가 제1 값일 때는 상기 제2 GPIO 신호를 상기 메모리에 기억하는 일 없이 상기 Master에 송신하고, 상기 타임 스탬프 정보가 제2 값일 때는 상기 제2 GPIO 신호를 상기 메모리에 기억하고, 상기 제2 타이머의 시간 정보가 상기 제2 GPIO 패킷 내의 상기 타임 스탬프 정보의 후에 삽입되는 시간 정보와 일치하면, 상기 메모리로부터 상기 제2 GPIO 신호를 판독하여, 상기 Master에 송신하는 것을 특징으로 하는 통신 장치.
  5. 제2항에 있어서,
    상기 컨트롤러는 상기 Master와의 GPIO 통신을 시작하기 전에, 상기 Master로부터 GPIO 통신과는 다른 통신 방식으로 송신된 상기 GPIO 설정 정보에 의거하여, 상기 인캡슐레이터가 상기 패킷을 생성하는 제어를 행하는 것을 특징으로 하는 통신 장치.
  6. 제5항에 있어서,
    상기 GPIO 설정 정보는 상기 GPIO 신호의 샘플링 주파수 정보와, GPIO 핀 설정 정보와, GPIO 구성 정보와, 상기 샘플링된 데이터의 데이터 길이 정보의 적어도 하나를 포함하는 것을 특징으로 하는 통신 장치.
  7. 제6항에 있어서,
    상기 인캡슐레이터는 상기 샘플링 모드 정보와, 상기 샘플링 주파수 정보와, 상기 GPIO 핀 설정 정보와, GPIO 구성 정보와, 상기 데이터 길이 정보의 적어도 하나를 포함하는 헤더 정보를 포함하는 상기 제1 GPIO 패킷을 생성하는 것을 특징으로 하는 통신 장치.
  8. 제7항에 있어서,
    상기 GPIO 구성 정보는 GPIO 통신을 행하는 핀의 수와, 상기 GPIO 핀 설정 정보와, GPIO 통신 정보를 격납하는 타임 슬롯을 포함하는 것을 특징으로 하는 통신 장치.
  9. 제7항에 있어서,
    상기 인캡슐레이터는 상기 샘플링된 데이터를 포함하는 패킷을 상기 통신 상대 장치에 송신하기 전에, 상기 샘플링된 데이터를 포함하지 않고 상기 헤더 정보를 포함하는 상기 제1 GPIO 패킷을 생성하는 것을 특징으로 하는 통신 장치.
  10. 제7항에 있어서,
    상기 인캡슐레이터는 상기 샘플링된 데이터를 포함하지 않고 상기 헤더 정보를 포함하는 상기 제1 GPIO 패킷과, 상기 헤더 정보와 상기 샘플링된 데이터를 포함하는 상기 제1 GPIO 패킷과, 상기 헤더 정보를 포함하지 않고 상기 샘플링된 데이터를 포함하는 상기 제1 GPIO 패킷의 적어도 하나를 생성하는 것을 특징으로 하는 통신 장치.
  11. 제10항에 있어서,
    상기 인캡슐레이터는 상기 제1 GPIO 패킷에 타임 스탬프 정보와 오류 검지 정보의 적어도 일방을 부가하는 것을 특징으로 하는 통신 장치.
  12. 제1항에 있어서,
    상기 통신 프로토콜은 TDD(Time Division Duplex) 통신 방식의 통신 프로토콜이고, 상기 단위 주기는 상기 TDD 통신 방식의 1프레임 기간인 것을 특징으로 하는 통신 장치.
  13. 소정의 통신 프로토콜에 준거한 전송 신호를 통신 상대 장치로부터 수신하는 PHY와,
    시각 제어 명령을 포함하는 제1 GPIO 패킷을 상기 전송 신호로부터 분리하는 LINK와,
    상기 시각 제어 명령에 의거하여 시작점을 결정하는 컨트롤러와,
    상기 제1 GPIO 패킷 내의 헤더 정보에 포함되는 샘플링 모드 정보가 Master로부터 송신된 GPIO(General Purpose Input/Output) 신호를 일정한 샘플링 주기로 샘플링한 모든 샘플링 데이터를 포함하는 것을 나타내는 제1 모드인지, 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 것을 나타내는 제2 모드인지를 판별하여, 상기 제1 GPIO 패킷을 제1 GPIO 신호로 변환하여 Slave에 송신하는 디인캡슐레이터를 구비하는 것을 특징으로 하는 통신 장치.
  14. 제13항에 있어서,
    상기 디인캡슐레이터는
    상기 제1 모드에서는 1 이상의 샘플링 데이터가 상기 제1 GPIO 패킷에 포함되어 있고, 상기 시작점을 기점으로 하여 상기 샘플링 주기가 경과할 때마다 샘플링하는 샘플링 데이터의 각각에, 상기 제1 GPIO 패킷에 포함되는 샘플링 데이터의 각각을 할당하여, 상기 제1 GPIO 신호를 재생하고,
    상기 제2 모드에서는 1 이상의 샘플링 데이터의 각각이 샘플링된 샘플링 타이밍을 나타내는 제1 시간 정보와 연관시켜서 상기 제1 GPIO 패킷에 포함되어 있고, 상기 제1 시간 정보가 나타내는 샘플링 타이밍으로, 상기 제1 시간 정보에 대응하는 상기 샘플링 데이터를 할당하여, 상기 제1 GPIO 패킷 내의 다음의 상기 제1 시간 정보의 샘플링 타이밍까지는 상기 샘플링 주기마다 동일한 상기 샘플링 데이터를 할당하는 처리를 반복하여, 상기 제1 GPIO 신호를 재생하는 것을 특징으로 하는 통신 장치.
  15. 제13항에 있어서,
    상기 Master 내의 제1 타이머와 동기한 시간 정보를 출력하는 제2 타이머를 구비하고,
    상기 디인캡슐레이터는 상기 제1 GPIO 신호를 기억하는 메모리를 가지고,
    상기 제1 GPIO 패킷은 상기 제1 GPIO 신호의 출력 타이밍에 관한 타임 스탬프 정보를 포함하고 있고,
    상기 디인캡슐레이터는 상기 타임 스탬프 정보가 제1 값일 때는 상기 제1 GPIO 신호를 상기 메모리에 기억하는 일 없이 상기 Slave에 송신하고, 상기 타임 스탬프 정보가 제2 값일 때는 상기 제1 GPIO 신호를 상기 메모리에 기억하고, 상기 제2 타이머의 시간 정보가 상기 제1 GPIO 패킷 내의 상기 타임 스탬프 정보의 후에 삽입되는 시간 정보와 일치하면, 상기 메모리로부터 상기 제1 GPIO 신호를 판독하여, 상기 Slave에 송신하는 것을 특징으로 하는 통신 장치.
  16. 제13항에 있어서,
    시작점을 기점으로 하여, 상기 Slave로부터의 제2 GPIO 신호를, 일정한 샘플링 주기 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 제2 GPIO 패킷을 생성하는 인캡슐레이터를 구비하는 것을 특징으로 하는 통신 장치.
  17. 제16항에 있어서,
    상기 인캡슐레이터는
    상기 제1 모드에서는 상기 시작점을 기점으로 하는 상기 샘플링 주기로, 상기 Slave로부터 수신한 상기 제2 GPIO 신호를 샘플링한 모든 상기 샘플링 데이터를 포함하는 상기 제2 GPIO 패킷을 생성하고,
    상기 제2 모드에서는 제1 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터의 값이 상기 제1 샘플링 타이밍으로부터 상기 샘플링 주기가 경과한 제2 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터의 값과 다른 경우에, 상기 제2 샘플링 타이밍에서 샘플링한 상기 샘플링 데이터와, 상기 제2 샘플링 타이밍을 나타내는 시간 정보를 포함하는 상기 제2 GPIO 패킷을 생성하는 것을 특징으로 하는 통신 장치.
  18. 제13항에 있어서,
    상기 컨트롤러는 상기 Slave와 GPIO 통신을 시작하기 전에, 상기 Master로부터 상기 통신 상대 장치를 통하여 송신된 GPIO 핀 설정 정보에 의거하여, GPIO 핀의 입출력 제어를 행하는 것을 특징으로 하는 통신 장치.
  19. 제13항 내지 제18항 중 어느 한 항에 있어서,
    상기 헤더 정보는 샘플링 주파수 정보와, GPIO 핀 설정 정보와, GPIO 구성 정보와, 상기 샘플링된 데이터의 데이터 길이 정보의 적어도 하나를 포함하는 것을 특징으로 하는 통신 장치.
  20. 제13항에 있어서,
    상기 통신 프로토콜은 TDD(Time Division Duplex) 통신 방식의 통신 프로토콜인 것을 특징으로 하는 통신 장치.
  21. 소정의 통신 프로토콜에 의해 시리얼 통신을 행하는 Master SerDes 및 Slave SerDes를 구비하고,
    상기 Master SerDes는
    시작점이 되는 타임 스탬프와, 상기 시작점을 기점으로 하는 상기 타임 스탬프의 단위 주기를 결정하는 제1 컨트롤러와,
    상기 시작점을 기점으로 하여, Master로부터의 GPIO(General Purpose Input/Output) 신호를, 상기 타임 스탬프에 동기시켜서, 일정한 샘플링 주기로 샘플링된 모든 샘플링 데이터 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 제1 GPIO 패킷을 생성하는 제1 인캡슐레이터와,
    상기 제1 GPIO 패킷을 포함하는 Up link 패킷을 생성하는 제1 LINK와,
    상기 Up link 패킷을 포함하는 소정의 통신 프로토콜에 준거한 전송 신호를 통신 상대 장치에 송신하는 제1 PHY를 가지고,
    상기 Slave SerDes는
    상기 소정의 통신 프로토콜에 준거한 전송 신호를 통신 상대 장치로부터 수신하는 제2 PHY와,
    시각 제어 명령을 포함하는 제2 GPIO 패킷을 상기 전송 신호로부터 분리하는 제2 LINK와,
    시각 제어 명령에 의거하여 시작점을 결정하는 제2 컨트롤러와,
    상기 제2 GPIO 패킷 내의 헤더 정보에 포함되는 샘플링 모드 정보가 Master로부터 송신된 제2 GPIO 신호를 일정한 샘플링 주기로 샘플링한 모든 샘플링 데이터를 포함하는 것을 나타내는 제1 모드인지, 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 것을 나타내는 제2 모드인지를 판별하여, 상기 제2 GPIO 패킷을 상기 제2 GPIO 신호로 변환하여 Slave에 송신하는 제1 디인캡슐레이터를 갖는 것을 특징으로 하는 통신 시스템.
  22. Master SerDes 및 Slave SerDes가 소정의 통신 프로토콜에 의해 시리얼 통신을 행하는 통신 방법으로서,
    상기 Master SerDes는
    시작점이 되는 타임 스탬프와, 상기 시작점을 기점으로 하는 상기 타임 스탬프의 단위 주기를 결정하고,
    상기 시작점을 기점으로 하여, Master로부터의 GPIO 신호를, 상기 타임 스탬프에 동기시켜서, 일정한 샘플링 주기로 샘플링된 모든 샘플링 데이터 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 제1 GPIO 패킷을 생성하고,
    상기 제1 GPIO 패킷을 포함하는 Up link 패킷을 생성하고,
    상기 Up link 패킷을 포함하는 소정의 통신 프로토콜에 준거한 전송 신호를 상기 Slave SerDes에 송신하고,
    상기 Slave SerDes는
    상기 소정의 통신 프로토콜에 준거한 전송 신호를 통신 상대 장치로부터 수신하고,
    시각 제어 명령을 포함하는 제2 GPIO 패킷을 상기 전송 신호로부터 분리하고,
    시각 제어 명령에 의거하여 시작점을 결정하는 제2 컨트롤러와,
    상기 제2 GPIO 패킷에 포함되는 헤더 정보에 포함되는 샘플링 모드 정보가 Master로부터의 제2 GPIO 신호를 일정한 샘플링 주기로 샘플링된 모든 샘플링 데이터를 포함하는 것을 나타내는 제1 모드인지, 또는 상기 GPIO 신호의 논리 변화의 빈도에 응한 샘플링 간격으로 샘플링된 샘플링 데이터 및 샘플링 위치 정보를 포함하는 것을 나타내는 제2 모드인지를 판별하여, 상기 제2 GPIO 패킷을 상기 제2 GPIO 신호로 변환하여 Slave에 송신하는 것을 특징으로 하는 통신 방법.
KR1020237010997A 2020-09-18 2021-09-13 통신 장치, 통신 시스템 및 통신 방법 KR20230066378A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063080382P 2020-09-18 2020-09-18
US63/080,382 2020-09-18
US17/469,298 2021-09-08
US17/469,298 US11601254B2 (en) 2020-09-18 2021-09-08 Communication apparatus, communications system, and communication method
PCT/JP2021/033613 WO2022059655A1 (ja) 2020-09-18 2021-09-13 通信装置、通信システム及び通信方法

Publications (1)

Publication Number Publication Date
KR20230066378A true KR20230066378A (ko) 2023-05-15

Family

ID=80741016

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237010997A KR20230066378A (ko) 2020-09-18 2021-09-13 통신 장치, 통신 시스템 및 통신 방법

Country Status (6)

Country Link
US (1) US11601254B2 (ko)
EP (1) EP4216485A4 (ko)
JP (1) JPWO2022059655A1 (ko)
KR (1) KR20230066378A (ko)
CN (1) CN116250183A (ko)
WO (1) WO2022059655A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11601254B2 (en) * 2020-09-18 2023-03-07 Sony Semiconductor Solutions Corporation Communication apparatus, communications system, and communication method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011239011A (ja) 2010-05-06 2011-11-24 Hitachi Kokusai Electric Inc 無線基地局装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4468656B2 (ja) * 2003-05-27 2010-05-26 株式会社日立製作所 信号波形劣化補償器
ES2851229T3 (es) * 2011-10-07 2021-09-03 Audinate Holdings Pty Ltd Sistemas, métodos y dispositivos para interconexión de redes sobre cableado de alta impedancia
US9292036B2 (en) * 2013-05-24 2016-03-22 Arm Limited Data processing apparatus and method for communicating between a master device and an asynchronous slave device via an interface
JP6023103B2 (ja) * 2014-01-28 2016-11-09 日本電信電話株式会社 分散型無線通信基地局システム及び通信方法
US9000962B1 (en) * 2014-01-28 2015-04-07 Cadence Design Systems, Inc. System and method for interleaved analog-to-digital conversion having scalable self-calibration of timing
KR102328014B1 (ko) * 2015-08-24 2021-11-18 삼성전자주식회사 싱글 와이어 인터페이스를 포함하는 장치와 이를 포함하는 데이터 처리 시스템
US9979432B2 (en) * 2016-02-01 2018-05-22 Qualcomm Incorporated Programmable distributed data processing in a serial link
US20180083800A1 (en) * 2016-09-22 2018-03-22 Fresco Logic, Inc. Aggregation Device, System, And Method Thereof
US10212658B2 (en) * 2016-09-30 2019-02-19 Kinetic Technologies Systems and methods for managing communication between devices
EP3535625B1 (en) * 2016-12-07 2021-02-24 Arilou Information Security Technologies Ltd. System and method for using signal waveform analysis for detecting a change in a wired network
KR102585215B1 (ko) * 2016-12-22 2023-10-05 삼성전자주식회사 타 장치와 단일 와이어를 통해 연결되는 장치 및 이를 포함하는 시스템의 동작 방법
DE112018005256T5 (de) * 2017-09-18 2020-07-02 Intel Corporation Zeitkodiertes Datenkommunikationsprotokoll, Vorrichtung und Verfahren zum Erzeugen und Empfangen eines Datensignals
US10515044B2 (en) * 2017-11-01 2019-12-24 Qualcomm Incorporated Communicating heterogeneous virtual general-purpose input/output messages over an I3C bus
US10855527B2 (en) * 2018-04-03 2020-12-01 Infineon Technologies Ag Bidirectional communication using edge timing in a signal
US10761641B2 (en) * 2018-06-29 2020-09-01 Intel Corporation Dynamic on-demand joint processing of touch sensor data from multiple independent touch sensors at an electronic circuit
US10958412B1 (en) * 2020-01-22 2021-03-23 Infineon Technologies Ag Communication using edge timing in a signal
US11601254B2 (en) * 2020-09-18 2023-03-07 Sony Semiconductor Solutions Corporation Communication apparatus, communications system, and communication method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011239011A (ja) 2010-05-06 2011-11-24 Hitachi Kokusai Electric Inc 無線基地局装置

Also Published As

Publication number Publication date
JPWO2022059655A1 (ko) 2022-03-24
CN116250183A (zh) 2023-06-09
EP4216485A4 (en) 2024-02-28
EP4216485A1 (en) 2023-07-26
US20220094513A1 (en) 2022-03-24
US11601254B2 (en) 2023-03-07
WO2022059655A1 (ja) 2022-03-24

Similar Documents

Publication Publication Date Title
US5748684A (en) Resynchronization of a synchronous serial interface
US6243395B1 (en) Method and apparatus for transferring ATM cells via 1394-serial data bus
CA2446513A1 (en) Communication protocol for controlling transfer of temporal data over a bus between devices in synchronization with a periodic reference signal
CN100452885C (zh) 一种基于pci的高速码流播放和接收装置
US6088366A (en) Device and method for converting a data transfer rate in communication of digital audio and video data
US20020021720A1 (en) Multiplexed signal transmitter/receiver, communication system, and multiplexing transmission method
KR20200130140A (ko) 직렬 주변장치 인터페이스 기능을 가진 통신 시스템
KR20230066378A (ko) 통신 장치, 통신 시스템 및 통신 방법
KR20230025858A (ko) 통신 장치 및 통신 시스템
EP0873019B1 (en) Device and method for transmitting digital audio and video data
KR100451687B1 (ko) 디지털 인터페이스 장치
US4964142A (en) Receiver synchronization in encoder/decoder
EP3671720B1 (en) Real-time on-chip data transfer system
CN116830520A (zh) 通信装置、通信系统和通信方法
JP3169350B2 (ja) パケット伝送システムおよびパケット伝送方法
JP2005079963A (ja) 映像信号伝送システム及び方法並びに送信装置及び受信装置
KR100208371B1 (ko) 데이터전송 프레임의 포맷과 전송장치 및 그 송신제어방법
US7720821B1 (en) Method of and apparatus for writing and reading time sensitive data within a storage device
CN117640783B (zh) 一种数据传输方法、系统、电子设备以及可读介质
US20230254059A1 (en) Communication apparatus and communication system
CN106354682A (zh) 一种数字信号与usb信号混合传输装置及方法
JP2005286845A (ja) 複数機器同期稼働システム
CN117178517A (zh) 通信装置、通信系统和通信方法
JPH05167995A (ja) ディジタル信号の伝送装置
JP2001197130A (ja) データ伝送方法及びデータ伝送装置