KR102375363B1 - 통신 장치, 통신 방법, 프로그램, 및 통신 시스템 - Google Patents

통신 장치, 통신 방법, 프로그램, 및 통신 시스템 Download PDF

Info

Publication number
KR102375363B1
KR102375363B1 KR1020187032412A KR20187032412A KR102375363B1 KR 102375363 B1 KR102375363 B1 KR 102375363B1 KR 1020187032412 A KR1020187032412 A KR 1020187032412A KR 20187032412 A KR20187032412 A KR 20187032412A KR 102375363 B1 KR102375363 B1 KR 102375363B1
Authority
KR
South Korea
Prior art keywords
data
communication device
signal
clock
transmitting
Prior art date
Application number
KR1020187032412A
Other languages
English (en)
Other versions
KR20190008855A (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 KR20190008855A publication Critical patent/KR20190008855A/ko
Application granted granted Critical
Publication of KR102375363B1 publication Critical patent/KR102375363B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK
    • 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)
    • 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/24Interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Bus Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

다른 기기로와 신호를 송수신하는 송수신부; 상기 송수신부로부터 송신된 신호를 수신한 상기 다른 기기로부터 송신되어 오는 수신 확인신호 및 비수신 확인신호 중 하나를 검출하는 확인신호 검출부; 상기 확인신호 검출부에 의해 상기 비수신 확인신호가 검출된 때, 상기 비수신 확인신호에 계속된 소정수의 비트를 무시한 후에, 통신을 도중에 차단할 것을 지시하는 어보트 신호를 송신하도록, 상기 송수신부에 대한 지시를 행하는 컨플릭트 회피부를 포함하는 통신 기기를 제공한다.

Description

통신 장치, 통신 방법, 프로그램, 및 통신 시스템
본 개시는, 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템에 관한 것으로, 특히, 보다 확실하게 통신을 행할 수가 있도록 한 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템에 관한 것이다.
종래, 복수의 디바이스가 실장된 보드 내에서 버스를 통한 디바이스 사이의 통신에 이용되는 버스 IF(Interface)로서, 예를 들면, I2C(Inter-Integrated Circuit)가 많이 이용되어 있다.
또한, 근래, I2C의 고속화를 실현하는 것이 요구되고 있고, 차세대의 규격으로서 I3C(Improved Inter Integrated Circuit)의 규정이 진행하고 있다. I3C에서는, 마스터 및 슬레이브는, 2개의 신호선을 통하여 쌍방향으로 통신을 행할 수가 있고, 예를 들면, 마스터로부터 슬레이브에의 데이터 전송(라이트 전송)과, 슬레이브로부터 마스터에의 데이터 전송(리드 전송)이 행하여진다.
예를 들면, 일본 특개2000-99448에는, 호스트·프로세서와 서브시스템·컨트롤러를, I2C에 의해 상호 접속하는 디지털·데이터 처리 시스템이 개시되어 있다. 또한, 일본 특개2002-175269에는, 표준 I2C 프로토콜의 상부에 층상으로 배치된 통신 프로토콜을 실현하는 방법이 개시되어 있다.
일본 특개2000-99448호 공보 일본 특개2002-175269호 공보
그런데, 상술한 바와 같은 I3C에서는, 예를 들면, 마스터 및 슬레이브에 있어서, 패리티나 CRC(Cyclic Redundancy Check) 등에 의한 에러 검출이 행하여지는 것이 규정되어 있지만, 그와 같은 에러 검출이 준비되지 않은 신호의 송수신도 행하여진다. 그때문에, 에러 검출이 준비되지 않은 신호에 에러가 발생한 때에, 마스터 및 슬레이브가, 정상적인 통신을 행할 수가 없게 되는 것이 우려된다.
본 개시는, 이와 같은 상황을 감안하여 이루어진 것이고, 보다 확실하게 통신을 행할 수가 있도록 하는 것이다.
본 개시의 제1의 측면의 통신 장치는, 다른 장치와 신호의 송수신을 행하는 송수신부와, 상기 송수신부로부터 송신된 신호를 수신한 상기 다른 장치로부터 송신되어 오는 수신 확인신호 및 비수신 확인신호의 어느 하나를 검출하는 확인신호 검출부와, 상기 확인신호 검출부에 의해 상기 비수신 확인신호가 검출된 때, 상기 비수신 확인신호에 계속된 소정수의 비트를 무시한 후에, 통신을 도중에 차단할 것을 지시하는 어보트 신호를 송신하도록, 상기 송수신부에 대한 지시를 행하는 컨플릭트 회피부를 구비한다.
본 개시의 제1의 측면의 통신 방법 또는 프로그램은, 다른 장치와 신호의 송수신을 행하고, 송신된 신호를 수신한 상기 다른 장치로부터 송신되어 오는 수신 확인신호 및 비수신 확인신호의 어느 하나를 검출하고, 상기 비수신 확인신호가 검출된 때, 상기 비수신 확인신호에 계속된 소정수의 비트를 무시한 후에, 통신을 도중에 차단할 것을 지시하는 어보트 신호를 송신하는 스텝을 포함한다.
본 개시의 제1의 측면에서는, 다른 장치와 신호의 송수신이 행하여지고, 송신된 신호를 수신한 다른 장치로부터 송신되어 오는 수신 확인신호 및 비수신 확인신호의 어느 하나가 검출되고, 비수신 확인신호가 검출된 때, 비수신 확인신호에 계속된 소정수의 비트를 무시한 후에, 통신을 도중에 차단할 것을 지시하는 어보트 신호가 송신된다.
본 개시의 제2의 측면의 통신 시스템은, 버스에서의 제어의 주도권을 갖는 제1의 통신 장치와, 상기 제1의 통신 장치에 의한 제어에 따라 통신을 행하는 제2의 통신 장치를 구비하고, 상기 제1의 통신 장치가, 상기 제2의 통신 장치와 신호의 송수신을 행하는 송수신부와, 상기 송수신부로부터 송신된 신호를 수신한 상기 제2의 통신 장치로부터 송신되어 오는 수신 확인신호 및 비수신 확인신호의 어느 하나를 검출하는 확인신호 검출부와, 상기 확인신호 검출부에 의해 상기 비수신 확인신호가 검출된 때, 상기 비수신 확인신호에 계속된 소정수의 비트를 무시한 후에, 통신을 도중에 차단할 것을 지시하는 어보트 신호를 송신하도록, 상기 송수신부에 대한 지시를 행하는 컨플릭트 회피부를 갖는다.
본 개시의 제2의 측면에서는, 버스에서의 제어의 주도권을 갖는 제1의 통신 장치와, 제1의 통신 장치에 의한 제어에 따라 통신을 행하는 제2의 통신 장치에 의해 통신이 행하여진다. 그리고, 제1의 통신 장치에 있어서, 제2의 통신 장치와 신호의 송수신이 행하여지고, 송신된 신호를 수신한 제2의 통신 장치로부터 송신되어 오는 수신 확인신호 및 비수신 확인신호의 어느 하나가 검출되고, 비수신 확인신호가 검출된 때, 비수신 확인신호에 계속된 소정수의 비트를 무시한 후에, 통신을 도중에 차단할 것을 지시하는 어보트 신호가 송신된다.
본 개시의 제1 및 제2의 측면에 의하면, 보다 확실하게 통신을 행할 수가 있다.
도 1은 본 기술을 적용한 버스 IF의 한 실시의 형태의 구성례를 도시하는 블록도.
도 2는 컨플릭트 에러에 관해 설명하는 도면.
도 3은 컨플릭트 에러를 회피하는 포맷의 한 예를 도시하는 도면.
도 4는 마스터의 DDR 모드에서의 통신 처리를 설명하는 플로우 차트.
도 5는 마스터의 구성례를 도시하는 회로도.
도 6은 컨플릭트 에러를 회피하는 포맷의 다른 예를 도시하는 도면.
도 7은 본 기술을 적용한 컴퓨터의 한 실시의 형태의 구성례를 도시하는 블록도.
이하, 본 기술을 적용한 구체적인 실시의 형태에 관해, 도면을 참조하면서 상세히 설명한다.
<버스 IF의 구성례>
도 1은, 본 기술을 적용한 버스 IF의 한 실시의 형태의 구성례를 도시하는 블록도이다.
도 1에 도시되어 있는 버스 IF(11)는, 마스터(12)와 3대의 슬레이브(13-1 내지 13-3)가, 데이터 신호선(14-1) 및 클록 신호선(14-2)을 통하여 접속되어 구성된다.
마스터(12)는, 버스 IF(11)에서의 제어의 주도권을 갖고 있고, 데이터 신호선(14-1) 및 클록 신호선(14-2)을 통하여, 슬레이브(13-1 내지 13-3)와 통신을 행할 수가 있다.
슬레이브(13-1 내지 13-3)는, 마스터(12)에 의한 제어에 따라, 데이터 신호선(14-1) 및 클록 신호선(14-2)을 통하여, 마스터(12)와 통신을 행할 수가 있다. 또한, 슬레이브(13-1 내지 13-3)는, 각각 마찬가지로 구성되어 있고, 이하, 그들을 구별할 필요가 없는 경우, 단지 슬레이브(13)라고 칭하고, 슬레이브(13)를 구성하는 각 블록에 대해서도 마찬가지로 한다.
데이터 신호선(14-1) 및 클록 신호선(14-2)은, 마스터(12) 및 슬레이브(13)의 사이에서 신호를 전송하는데 이용된다. 예를 들면, 버스 IF(11)에서는, 데이터 신호선(14-1)을 통하여, 1비트씩 순차적으로 시리얼 데이터(SDA : Serial Data)가 전송되고, 클록 신호선(14-2)을 통하여, 소정의 주파수의 시리얼 클록(SCL : Serial Clock)이 전송된다.
또한, 버스 IF(11)에서는, I3C의 규격에 준하여, 통신 속도가 다른 복수의 전송 방식이 규정되어 있고, 마스터(12)는, 그들의 전송 방식을 전환할 수 있다. 예를 들면, 버스 IF(11)에서는, 데이터의 전송 레이트에 응하여, 통상의 전송 레이트로 데이터 통신을 행하는 SDR(Standard Data Rate) 모드, 및, SDR 모드보다도 높은 전송 레이트로 데이터 통신을 행하는 HDR(High Data Rate) 모드가 규정되어 있다. 또한, HDR 모드에서는, DDR(Double Data Rate) 모드, TSP(Ternary Symbol Pure-Bus) 모드, 및, TSL(Ternary Symbol Legacy-Inclusive-Bus) 모드의 3개의 모드가 규격으로 정의되어 있다. 또한, 버스 IF(11)에서는, 통신을 시작할 때에는 SDR 모드로 통신을 행하는 것이 규정되어 있다.
마스터(12)는, 송수신부(21), 에러 검출부(22), 확인신호 검출부(23), 및 컨플릭트(conflict) 회피부(24)를 구비하여 구성된다.
송수신부(21)는, 데이터 신호선(14-1) 및 클록 신호선(14-2)을 통하여, 슬레이브(13)와 신호의 송수신을 행한다. 예를 들면, 송수신부(21)는, 클록 신호선(14-2)을 구동함에 의해 송신하는 시리얼 클록의 타이밍에 맞추어서, 데이터 신호선(14-1)에 대한 구동을 행함(전위를 H레벨 또는 L레벨로 전환함)에 의해, 슬레이브(13)에 신호를 송신한다. 또한, 송수신부(21)는, 클록 신호선(14-2)의 시리얼 클록의 타이밍에 맞추어서, 슬레이브(13)가 데이터 신호선(14-1)에 대한 구동을 행함에 의해, 슬레이브(13)로부터 송신되어 오는 신호를 수신한다. 또한, 클록 신호선(14-2)에 대한 구동은, 항상, 마스터(12)측에 의해 행하여진다.
에러 검출부(22)는, 송수신부(21)가 수신한 신호에 발생하고 있는 에러를 검출한다. 예를 들면, 에러 검출부(22)는, 송수신부(21)가 수신한 신호에 대한 패리티 체크나 순회 용장 검사(CRC) 등을 행하거나, 슬레이브(13)로부터 마스터(12)에 송신권을 이행할 때에 발행되는 토큰을 확인하거나 함으로써, 에러를 검출할 수 있다. 그리고, 에러 검출부(22)는, 송수신부(21)가 수신한 신호에 에러가 발생하고 있는 것을 검출한 경우, 예를 들면, 송수신부(21)에 대해 슬레이브(13)와의 통신을 최초부터 다시 하도록 지시할 수 있다.
예를 들면, 에러 검출부(22)는, 슬레이브(13)로부터 송신되어 오는 데이터에 포함되어 있는 2비트의 패리티 중, 일방을 짝수 패리티로 하고, 타방을 홀수 패리티로 하여, 송수신부(21)가 수신한 데이터에 대한 패리티 체크를 행함으로써 에러의 발생을 검출한다. 이에 의해, 에러 검출부(22)는, 마스터(12) 및 슬레이브(13)의 어느것도 데이터 신호선(14-1)에 대한 구동이 행하여지지 않는 상태가 발생하여도, 데이터가 올바른 것인지의 여부를 검출할 수 있다.
확인신호 검출부(23)는, 송수신부(21)로부터 송신된 신호를 수신한 슬레이브(13)로부터 송신되어 오는 ACK(수신 확인신호) 또는 NACK(비수신 확인신호)를 검출함에 의해, 슬레이브(13)가 커맨드나 데이터 등의 수신에 성공하였는지의 여부를 확인한다. 예를 들면, 버스 IF(11)에서는, 신호에 에러가 발생하지 않고, 슬레이브(13)가 커맨드나 데이터 등의 수신에 성공한 때에는, 슬레이브(13)로부터 마스터(12)에 ACK를 송신하도록 규정되어 있다. 또한, 버스 IF(11)에서는, 신호에 에러가 발생하여, 슬레이브(13)가 커맨드나 데이터 등의 수신에 실패한 때에는, 슬레이브(13)로부터 마스터(12)에 NACK를 송신하도록 규정되어 있다.
따라서 확인신호 검출부(23)는, 마스터(12)로부터 송신된 커맨드나 데이터 등에 대해, 슬레이브(13)로부터 송신되어 오는 ACK를 검출한 경우에는, 슬레이브(13)가 커맨드나 데이터 등을 수신하는데 성공하였다고 확인할 수 있다. 한편, 확인신호 검출부(23)는, 마스터(12)로부터 송신된 커맨드나 데이터 등에 대해, 슬레이브(13)로부터 송신되어 오는 NACK를 검출한 경우에는, 슬레이브(13)가 커맨드나 데이터 등을 수신하는데 실패하였다고 확인할 수 있다.
컨플릭트 회피부(24)는, 예를 들면, 도 3을 참조하여 후술하는 바와 같이, 확인신호 검출부(23)에 의해 NACK가 검출된 경우, NACK에 계속된 소정수의 비트를 무시한 후에, 통신을 도중에 차단할 것을 지시하는 어보트(abort) 신호를 송신하도록, 송수신부(21)에 대한 지시를 행한다. 이에 의해, 컨플릭트 회피부(24)는, 예를 들면, 슬레이브(13)로부터 송신되는 리드 데이터와, 마스터(12)로부터 송신되는 HDR 종료 커맨드에 의해 컨플릭트가 발생하는 것을 회피할 수 있다.
또한, 컨플릭트 회피부(24)는, 송수신부(21)에 의해, CRC 워드의 송신을 지시하는 프리앰블(preamble)이 수신되고, 에러 검출부(22)에 의해, 그 프리앰블에 계속해서 수신된 신호에 토큰 에러 또는 CRC 에러의 발생이 검출된 경우, 프리앰블에 계속해서, CRC 워드와 리드 데이터와의 차에 대응하는 비트수에 응한 클록을 송신한 후에, 통신을 도중에 차단할 것을 지시하는 어보트 신호를 송신하도록, 송수신부(21)에 대한 지시를 행한다. 이에 의해, 컨플릭트 회피부(24)는, 예를 들면, 슬레이브(13)로부터 송신되는 리드 데이터와, 마스터(12)로부터 송신되는 HDR 종료 커맨드에 의해 컨플릭트가 발생하는 것을 회피할 수 있다.
슬레이브(13)는, 송수신부(31) 및 에러 검출부(32)를 구비하여 구성된다.
송수신부(31)는, 데이터 신호선(14-1) 및 클록 신호선(14-2)을 통하여, 마스터(12)와 신호의 송수신을 행한다. 예를 들면, 송수신부(31)는, 클록 신호선(14-2)의 시리얼 클록의 타이밍에 맞추어서, 마스터(12)가 데이터 신호선(14-1)에 대한 구동을 행함에 의해, 마스터(12)로부터 송신되어 오는 신호를 수신한다. 또한, 송수신부(31)는, 클록 신호선(14-2)의 시리얼 클록의 타이밍에 맞추어서, 데이터 신호선(14-1)에 대한 구동을 행함에 의해, 마스터(12)에 신호를 송신한다.
에러 검출부(32)는, 마스터(12)의 에러 검출부(22)와 마찬가지로, 송수신부(31)가 수신한 신호에 발생하고 있는 에러를 검출한다. 그리고, 에러 검출부(32)는, 송수신부(31)가 수신한 신호에 에러가 발생하지 않은 경우, 그 신호에 의해 전송된 커맨드나 데이터 등의 수신에 성공한 것을 전하는 ACK를, 송수신부(31)에 의해 마스터(12)에 송신시킨다. 한편, 에러 검출부(32)는, 송수신부(31)가 수신한 신호에 에러가 발생하고 있는 경우, 그 신호에 의해 전송된 커맨드나 데이터 등의 수신에 실패한 것을 전하는 NACK를, 송수신부(31)에 의해 마스터(12)에 송신시킨다.
또한, 에러 검출부(32)는, 예를 들면, 송수신부(31)가 수신한 신호에 에러가 발생하여, 정상적인 통신을 행할 수가 없는 경우에는, 그 후의 일체의 통신을 무시하고, 마스터(12)에 대한 응답을 정지하여 슬레이브(13)를 대기 상태로 만든다.
이상과 같이 버스 IF(11)는 구성되어 있고, 마스터(12) 및 슬레이브(13)는, 데이터 신호선(14-1) 및 클록 신호선(14-2)을 통하여 신호를 송수신할 수 있고, 컨플릭트 회피부(24)에 의해 컨플릭트의 발생을 회피하여, 보다 확실하게 통신을 행할 수가 있다.
<컨플릭트의 발생의 설명>
여기서, 컨플릭트 회피부(24)에 의한 컨플릭트의 발생을 회피하는 수법에 관해 설명하기 전에, 도 2를 참조하여, 컨플릭트의 발생에 관해 설명한다.
버스 IF(11)에서는, DDR 모드시에 있어서, 프리앰블이라고 불리는 2비트의 신호를 사용하여, 다음에 송신하는 데이터의 타입을 지정하도록 규정되어 있다. 그런데, 프리앰블에는, 패리티나 CRC에 의한 에러 검출이 준비되어 있지 않기 때문에, 프리앰블에 에러가 발생한 경우에는, 그 에러를 검출할 수가 없다.
예를 들면, 마스터(12)가, 슬레이브(13)에 대해 데이터의 판독을 지시하는 리드 커맨드를 송신한 후의 프리앰블에서는, 1비트째는 마스터(12)에 의해 구동되고, 2비트째가 슬레이브(13)에 의해 구동되도록 규정되어 있다. 그리고, 슬레이브(13)는, 그 2비트째에 의해, ACK 또는 NACK를 송신할 수 있다. 예를 들면, 리드 커맨드의 수신이 성공한 것을 나타내는 ACK는, 리드 커맨드를 송신한 후의 프리앰블의 2비트째를 0으로 구동하도록 규정되어 있다. 한편, 리드 커맨드의 수신이 실패한 것을 나타내는 NACK는, 리드 커맨드를 송신한 후의 프리앰블의 2비트째를 1로 구동하도록 규정되어 있다.
그렇지만, 이 프리앰블의 2비트째에서, 1비트의 값이 반전한 1비트 에러가 발생한 경우, 예를 들면, 마스터(12)는, ACK와 NACK를 오인식하게 된다.
즉, 도 2의 상측에 도시하는 바와 같이, 슬레이브(13)는, 리드 커맨드의 수신에 성공한 경우에는 프리앰블의 2비트째를 0으로 구동(즉, ACK를 송신)하고, 프리앰블에 계속해서, 리드 데이터(DDR Data)의 송신을 행하다.송신을 행한다. 또한, 도 2에서, 해칭이 시행되어 있는 부분은, 슬레이브(13)에 의해 구동이 행하여지고 있는 것을 나타내고 있다.
이에 대해, 프리앰블의 2비트째에 1비트 에러가 발생하여 버려서, 도 2의 하측에 도시하는 바와 같이, 프리앰블의 2비트째가 1이 된 경우, 마스터(12)는, 슬레이브(13)로부터 NACK가 송신된 것으로 오인식하게 된다. 따라서, 이 경우, 마스터(12)는, 슬레이브(13)가 리드 커맨드를 수신하는데 실패하였다는 오인식에 응하여, HDR 모드에 의한 통신을 종료할 것을 지시하는 HDR 종료 커맨드(HDR Exit)를 송신하게 된다.
이에 의해, 슬레이브(13)로부터 송신되는 리드 데이터와, 마스터(12)로부터 송신되는 HDR 종료 커맨드가 컨플릭트할 것이 우려된다. 따라서, 그 후, 마스터(12)가 HDR 종료 커맨드를 송신하여도, 슬레이브(13)는, HDR 종료 커맨드를 정상적으로 수신할 수가 없기 때문에 HDR 모드를 종료시킬 수가 없어서, 버스 IF(11)가 데드 로크하여, 통신 불능한 상태가 되는 것이 상정된다.
그래서, 버스 IF(11)에서는, 마스터(12)는, NACK를 검출한 경우, NACK에 계속된 소정수의 비트를 무시한 후에, 통신을 도중에 차단할 것을 지시하는 어보트 신호를 송신하도록 규정된다. 이에 의해, 상술한 바와 같은 1비트 에러가 발생하였다고 하여도, 슬레이브(13)로부터 송신되는 리드 데이터와, 마스터(12)로부터 송신되는 HDR 종료 커맨드가 컨플릭트하는 것을 회피할 수 있다.
<컨플릭트의 회피의 설명>
도 3에는, 버스 IF(11)에서, 리드 커맨드를 송신한 후의 프리앰블의 2비트째에 1비트 에러가 발생함에 의한 컨플릭트을 회피하도록, 마스터(12)가 NACK를 수신한 때의 포맷이 도시되어 있다.
도 3에 도시하는 바와 같이, 버스 IF(11)에서는, 마스터(12)가, 리드 커맨드(READ CMD)를 송신한 후의 프리앰블의 2비트째가 1인 것을 검출한 경우, 리드 커맨드의 후에 보내지는 프리앰블에 계속된 18비트(리드 커맨드에 응하여 송신되어 오는 리드 데이터와 동일한 비트수)가 컨플릭트 방지 클록 기간으로서 규정된다. 그리고, 버스 IF(11)에서는, 마스터(12)는, 컨플릭트 방지 클록 기간과, 컨플릭트 방지 클록 기간에 계속된 프리앰블의 1비트째와(즉, NACK에 계속된 19비트)를 무시하고, 그들의 비트수에 응한 클록을 송신한 후, 그 프리앰블의 2비트째를 0으로 구동하도록 규정된다.
여기서, 버스 IF(11)에서는, 슬레이브(13)는, 리드 커맨드를 수신하면, 그 후의 프리앰블에 계속해서 18비트의 리드 데이터를 송신하도록 규정되어 있다. 또한, 버스 IF(11)에서는, 슬레이브(13)로부터 리드 데이터가 송신된 후의 프리앰블에서, 1비트째는 슬레이브(13)에 의해 구동이 행하여지고, 2비트째는 마스터(12)에 의해 구동이 행하여지도록 규정되어 있다. 그리고, 버스 IF(11)에서는, 이 프리앰블의 2비트째가 0인 경우, 마스터(12)로부터 슬레이브(13)에 대해 통신을 도중에 차단하는 마스터 어보트(Master Abort)를 지시하는 어보트 신호로서 규정되어 있다. 또한, 마스터 어보트를 확실하게 행하기 위해, 리드 데이터의 후에 송수신되는 프리앰블의 2비트째에 대한 구동은, 마스터(12)가 항상 행한다.
따라서 도 3에 도시하는 바와 같이, 컨플릭트 방지 클록 기간에 계속된 프리앰블의 2비트째가 0으로 구동된 경우, 즉, 마스터(12)가, 슬레이브(13)로부터 리드 데이터가 송신되어 온다고 한 때의, 리드 데이터에 계속해서 송수신되는 2비트의 프리앰블의 2비트째의 타이밍에서 어보트 신호를 송신함으로써, 슬레이브(13)는, 마스터(12)로부터 어보트 신호가 송신된 것을 검출하여, 리드 데이터의 송신을 중단할 수 있다. 이에 의해, 이 프리앰블에 계속해서, 마스터(12)가, HDR 종료 커맨드(HDR Exit)를 송신하면, 슬레이브(13)는, HDR 종료 커맨드에 따라, HDR 모드를 종료할 수 있다. 그 후, 마스터(12) 및 슬레이브(13)는, SDR 모드로부터 통신을 다시 하게 된다.
즉, 마스터(12)는, 도 2에 도시한 바와 같이, NACK를 검출한 직후에 HDR 종료 커맨드를 송신하는 것이 아니고, 도 3에 도시하는 바와 같이, NACK를 검출한 후, 컨플릭트 방지 클록 기간에 대응하는 클록을 추가하여 송신하고, 컨플릭트 방지 클록 기간에 계속된 프리앰블의 후에, HDR 종료 커맨드를 송신한다.
이에 의해, 마스터(12)가, 리드 커맨드를 송신한 후의 프리앰블의 2비트째가 1인 것(즉, NACK)를 검출한 경우에도, 도 2를 참조하여 설명한 바와 같은 컨플릭트의 발생을 회피할 수 있다. 즉, 슬레이브(13)가 송신한 ACK를 마스터(12)가 NACK로 오인식하였다고 하여도, 버스 IF(11)가 데드 로크하는 것을 회피할 수 있고, 보다 확실하게 통신을 행할 수가 있다.
<컨플릭트의 발생을 회피하는 통신 방법>
도 4는, 마스터(12)가, HDR 모드의 하나인 DDR 모드로 슬레이브(13)로부터 데이터를 판독하는 통신 처리(DDR Read)를 설명하는 플로우 차트이다.
스텝 S11에서, 마스터(12)는, 통신을 SDR 모드로부터 HDR 모드로 전환하는 처리를 행한다. 구체적으로는, 마스터(12)에서는, 송수신부(21)가, 데이터 신호선(14-1) 및 클록 신호선(14-2)을 구동하여, SDR 모드에서, 버스 IF(11)를 구성하는 모든 슬레이브(13)를 대상으로 하여 일제히 커맨드를 송신하는 것을 통지하는 브로드캐스트 커맨드(0x7E+R/W=0)를 송신한다. 그 후, 마스터(12)에서는, 확인신호 검출부(23)가, 브로드캐스트 커맨드의 수신이 성공한 것을 확인하기 위해 슬레이브(13)로부터 송신되어 오는 ACK를 수신하면, 송수신부(21)가, HDR 모드로 들어가기 위한 커먼 커맨드 코드(ENTHDR CCC(0x20))를 송신한다.
스텝 S12에서, 마스터(12)의 송수신부(21)는, 데이터 신호선(14-1) 및 클록 신호선(14-2)을 구동하여, 리드 커맨드를 송신한다.
스텝 S13에서, 확인신호 검출부(23)는, 리드 커맨드를 송신한 후의 프리앰블의 2비트째의 값을 검출하고, 슬레이브(13)로부터 ACK 및 NACK의 어느 것이 송신되어 왔는지를 판정한다. 즉, 확인신호 검출부(23)는, 확인신호 검출부(23) 리드 커맨드를 송신한 후의 프리앰블의 2비트째가 0인 것을 검출한 경우, 슬레이브(13)로부터 ACK가 송신되어 왔다고 판정한다. 한편, 확인신호 검출부(23)는, 리드 커맨드를 송신한 후의 프리앰블의 2비트째가 1인 것을 검출한 경우, 슬레이브(13)로부터 NACK가 송신되어 왔다고 판정한다.
스텝 S13에서, 확인신호 검출부(23)가, 슬레이브(13)로부터 ACK가 송신되어 왔다고 판정한 경우, 처리는 스텝 S14로 진행하고, 송수신부(21)는, 프리앰블에 계속해서 송신되어 오는 리드 데이터를 수신한다. 또한, 송수신부(21)는, 리드 데이터에 계속해서 송신되어 오는 프리앰블도 수신한다.
그 후, 처리는 스텝 S15로 진행하고, 송수신부(21)는, HDR 모드에서의 통신을 종료하는지의 여부를 판정한다. 예를 들면, 리드 데이터에 계속해서 송신되어 오는 프리앰블이, 그 프리앰블에 계속해서 리드 데이터가 송신된 것을 나타내고 있는 경우, 송수신부(21)는, HDR 모드에서의 통신을 종료하지 않는다고 판정하고, 처리는 스텝 S14로 되돌아와, HDR 모드에서의 통신이 계속된다. 한편, 예를 들면, 리드 데이터에 계속해서 송신되어 오는 프리앰블이, 그 프리앰블에 계속해서 CRC 워드가 송신되는 것을 나타내고 있는 경우, 송수신부(21)는, HDR 모드에서의 통신을 종료한다고 판정하고, CRC 워드를 수신한 후, 처리는 스텝 S17로 진행한다.
한편, 스텝 S13에서, 확인신호 검출부(23)가, 슬레이브(13)로부터 NACK가 송신되어 왔다고 판정한 경우, 처리는 스텝 S16으로 진행한다.
스텝 S16에서, 컨플릭트 회피부(24)는, NACK에 계속된 소정수의 비트를 무시한 후에, 통신을 도중에 차단할 것을 지시하는 어보트 신호를 송신하도록, 송수신부(21)에 대한 지시를 행한다. 이에 따라, 도 3을 참조하여 상술한 바와 같이, 송수신부(21)는, 슬레이브(13)에 어보트 신호를 송신한다.
스텝 S16의 처리 후, 처리는 스텝 S17로 진행하고, 송수신부(21)는, 어보트 신호에 계속해서 HDR 종료 커맨드를 송신한다. 또한, 스텝 S15로 통신을 HDR 모드로부터 SDR 모드로 전환한다고 판정된 경우도, 스텝 S17에서, 송수신부(21)는, HDR 종료 커맨드를 송신한다. 이에 의해, 마스터(12)가 DDR 모드로 슬레이브(13)로부터 데이터를 판독하는 통신 처리(DDR Read)는 종료된다.
이상과 같이, 버스 IF(11)에서는, 마스터(12)에서 NACK가 검출된 경우에, 그 NACK가 ACK의 1비트 에러에 의한 것이었다고 하여도, 컨플릭트가 발생하는 것을 회피하여, 보다 확실하게 통신을 행할 수가 있다.
<마스터의 회로도>
다음에, 도 5는, 마스터(12)의 구성례를 도시하는 회로도이다.
도 5에 도시하는 바와 같이, 마스터(12)는, SCL 구동 제어부(51), 증폭부(52), H레벨 유지부(53), 증폭부(54), 시리얼 변환부(55), 컨플릭트 에러 검출기(56), 패리티 에러 검출기(57), CRC5 에러 검출부(58), 패럴렐 변환부(parallel conversion unit)(59), 토큰 에러 검출기(60), ACK/NACK 검출기(61), 프리앰블 에러 검출기(62), 및 스테이트 머신(FSM : Finite State Machine)(63)을 구비하여 구성된다.
SCL 구동 제어부(51)는, 스테이트 머신(63)으로부터 출력되는 기준이 되는 주파수의 신호에 따라, 클록 신호선(14-2)을 통하여 슬레이브(13)에 공급하는 시리얼 클록을 생성하여, 클록 신호선(14-2)의 구동을 제어한다.
증폭부(52)는, SCL 구동 제어부(51)에 의해 생성된 클록 신호를, 클록 신호선(14-2)을 통하여 전송하는 필요한 소정의 레벨까지 증폭하고, 클록 신호선(14-2)에 출력한다.
H레벨 유지부(53)는, 데이터 신호선(14-1)의 레벨을 H레벨로 유지한다.
증폭부(54)는, 데이터 신호선(14-1)을 통하여 송신하는 시리얼 데이터를 소정의 레벨까지 증폭하여 출력하고, 데이터 신호선(14-1)을 통하여 송신되어 온 시리얼 데이터를, 마스터(12)의 내부에서의 처리에 필요한 레벨로 증폭한다.
시리얼 변환부(55)는, 스테이트 머신(63)으로부터 출력되는 패럴렐 데이터(parallel data)를, 시리얼 데이터로 변환하여 출력한다.
컨플릭트 에러 검출기(56)는, 시리얼 변환부(55)로부터 출력되는 시리얼 데이터와, 데이터 신호선(14-1)을 통하여 송신되어 온 시리얼 데이터를 비교함에 의해, 데이터 신호선(14-1)상의 컨플릭트 에러를 검출한다.
패리티 에러 검출기(57)는, 짝수 또는 홀수에 의거하여 비트 에러를 검출하기 위해 부가된 패리티 비트를 이용하여, 데이터 신호선(14-1)을 통하여 송신되어 온 시리얼 데이터의 에러를 검출하고, 그 에러 검출 결과를 스테이트 머신(63)에 통지한다.
CRC5 에러 검출부(58)는, CRC에 의거하여 비트 에러를 검출하기 위해 부가되는 5bit의 데이터를 이용하여, 데이터 신호선(14-1)을 통하여 송신되어 온 시리얼 데이터의 에러를 검출하고, 그 에러 검출 결과를 스테이트 머신(63)에 통지한다.
패럴렐 변환부(59)는, 데이터 신호선(14-1)을 통하여 송신되어 온 시리얼 데이터를, 패럴렐 데이터로 변환하여 출력한다.
토큰 에러 검출기(60)는, 패럴렐 변환부(59)에 의해 변환된 패럴렐 데이터에 포함되어 있는 토큰의 비트열을 확인함으로써, 토큰에 에러가 발생하고 있는지의 여부를 검출하고, 그 에러 검출 결과를 스테이트 머신(63)에 통지한다.
ACK/NACK 검출기(61)는, 도 1의 확인신호 검출부(23)에 대응하고, 슬레이브(13)로부터 송신되어 오는 ACK 또는 NACK를, 패럴렐 변환부(59)에 의해 변환된 패럴렐 데이터로부터 검출하여, 그 검출 결과(ACK/NACK)를 스테이트 머신(63)에 통지한다.
프리앰블 에러 검출기(62)는, 패럴렐 변환부(59)에 의해 변환된 패럴렐 데이터에 포함되어 있는 프리앰블에 에러가 발생하고 있는지의 여부를 검출하고, 그 에러 검출 결과를 스테이트 머신(63)에 통지한다.
스테이트 머신(63)은, 입력 조건과 현재의 상태에 의해, 다음의 상태가 정해지는 순서 회로이고, 예를 들면, 도 1의 송수신부(21) 및 컨플릭트 회피부(24)로서 기능한다. 즉, 스테이트 머신(63)은, ACK/NACK 검출기(61)에 의한 ACK 또는 NACK의 검출 결과를 입력으로 하여, ACK/NACK 검출기(61)에 의한 검출 결과가 ACK인 경우에는, 리드 데이터를 수취하는 상태로 한다. 한편, 스테이트 머신(63)은, ACK/NACK 검출기(61)에 의한 검출 결과가 NACK인 경우에는, 컨플릭트 방지 클록 기간과, 컨플릭트 방지 클록 기간에 계속된 프리앰블의 1비트째를 무시하고, 어보트 신호를 송신하는 상태로 한다.
이와 같이 마스터(12)는 구성되어 있고, 상술한 바와 같이, 슬레이브(13)가 송신한 ACK를 NACK로 오인식하였다고 하여도, 버스 IF(11)가 데드 로크하는 것을 회피할 수 있고, 보다 확실하게 통신을 행할 수가 있다.
또한, 상술한 실시의 형태에서는, 컨플릭트 방지 클록 기간의 후의 프리앰블에 계속해서, 마스터(12)가 HDR 종료 커맨드를 송신하는 예에 관해 설명하였지만, 컨플릭트을 회피하여 통신을 회복할 수 있으면, HDR 종료 커맨드의 송신으로 한정되는 일은 없다.
예를 들면, 도 6에 도시하는 바와 같이, 컨플릭트 방지 클록 기간의 후의 프리앰블에 계속해서, 도 3의 HDR 종료 커맨드에 대신하여, 마스터(12)는, HDR 모드에서의 통신을 리스타트 할 것을 지시하는 리스타트 커맨드(HDR Restart)를 송신하여도 좋다. 이와 같이, 버스 IF(11)에서는, 마스터 어보트에 따라 통신을 도중에 차단한 후, 마스터(12)가 리스타트 커맨드를 송신함에 의해, HDR 모드에서의 통신을 재개할 수 있다.
또한, 본 기술은, I3C의 규격에 따른 버스 IF(11)로 한정되는 일은 없고, 기타의 규격에 따른 버스 IF(11)에 적용할 수 있다. 또한, 도 1에 도시하는 버스 IF(11)에서는, 슬레이브(13-1 내지 13-3)가 접속된 구성례가 도시되어 있지만, 슬레이브(13)는, 예를 들면, 1대 또는 2대라도 좋고, 또는, 3대 이상이라도 좋다.
또한, 상술한 플로우 차트를 참조하여 설명한 각 처리는, 반드시 플로우 차트로서 기재된 순서에 따라 시계열로 처리할 필요는 없고, 병렬적 또는 개별적으로 실행되는 처리(예를 들면, 병렬 처리 또는 오브젝트에 의한 처리)도 포함하는 것이다. 또한, 프로그램은, 하나의 CPU에 의해 처리되는 것이라도 좋고, 복수의 CPU에 의해 분산 처리되는 것이라도 좋다.
또한, 본 명세서에서, "시스템"이란, 복수의 장치에 의해 구성되는 장치 전체를 나타내는 것이다.
또한, 상술한 일련의 처리는, 하드웨어에 의해 실행할 수도 있고, 소프트웨어에 의해 실행할 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 전용의 하드웨어에 조립되어 있는 컴퓨터, 또는, 각종의 프로그램을 인스톨함으로써, 각종의 기능을 실행하는 것이 가능한, 예를 들면 범용의 퍼스널 컴퓨터 등에, 프로그램이 기록된 프로그램 기록 매체로부터 인스톨된다.
<하드웨어의 구성례>
도 7은, 상술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어의 구성례를 도시하는 블록도이다.
컴퓨터에서, CPU(Central Processing Unit)(101), ROM(Read Only Memory)(102), RAM(Random Access Memory)(103), 및 EEPROM(Electronically Erasable and Programmable Read Only Memory)(104)은, 버스(105)에 의해 상호 접속되어 있다. 버스(105)에는, 또한, 입출력 인터페이스(106)가 접속되어 있고, 입출력 인터페이스(106)가 외부(예를 들면, 도 1의 데이터 신호선(14-1) 및 클록 신호선(14-2))에 접속된다.
이상과 같이 구성된 컴퓨터에서는, CPU(101)가, 예를 들면, ROM(102) 및 EEPROM(104)에 기억되어 있는 프로그램을, 버스(105)를 통하여 RAM(103)에 로드하여 실행함에 의해, 상술한 일련의 처리가 행하여진다. 또한, 컴퓨터(CPU(101))가 실행하는 프로그램은, ROM(102)에 미리 기록하여 두는 외에, 입출력 인터페이스(106)를 통하여 외부로부터 EEPROM(104)에 인스톨하거나, 갱신하거나 할 수 있다.
또한, 본 기술은 이하와 같은 구성도 취할 수 있다.
(1)
다른 장치와 신호의 송수신을 행하는 송수신부와,
상기 송수신부로부터 송신된 신호를 수신한 상기 다른 장치로부터 송신되어 오는 수신 확인신호 및 비수신 확인신호의 어느 하나를 검출하는 확인신호 검출부와,
상기 확인신호 검출부에 의해 상기 비수신 확인신호가 검출된 때, 상기 비수신 확인신호에 계속된 소정수의 비트를 무시한 후에, 통신을 도중에 차단할 것을 지시하는 어보트 신호를 송신하도록, 상기 송수신부에 대한 지시를 행하는 컨플릭트 회피부를 포함하는 통신 장치.
(2)
상기 송수신부는, 상기 비수신 확인신호가 검출된 때, 상기 소정수의 클록을 송신하는 상기 (1)에 기재된 통신 장치.
(3)
상기 송수신부는, 상기 다른 장치에 대해 데이터의 판독을 지시하는 리드 커맨드를 송신한 것에 응하여, 상기 다른 장치로부터 송신되어 오는 리드 데이터의 비트수에 응한 클록을 송신하고, 적어도, 그 클록을 송신하는 기간에서의 신호를 무시하는 상기 (2)에 기재된 통신 장치.
(4)
상기 송수신부는, 상기 다른 장치로부터 상기 리드 데이터가 송신되어 온다고 한 때의, 상기 리드 데이터에 계속해서 송수신되는 2비트의 프리앰블의 2비트째의 타이밍에서 상기 어보트 신호를 송신하는 상기 (3)에 기재된 통신 장치.
(5)
상기 송수신부는, 상기 어보트 신호에 계속해서, 특정한 통신 모드의 종료를 지시하는 커맨드를 송신하는 상기 (1)부터 (4)의 어느 하나에 기재된 통신 장치.
(6)
상기 송수신부는, 상기 어보트 신호에 계속해서, 특정한 통신 모드에서의 통신의 리스타트를 지시하는 커맨드를 송신하는 상기 (1)부터 (4)의 어느 하나에 기재된 통신 장치.
(7)
상기 송수신부에 의해, 다음에 송신하는 데이터의 타입을 지정하는 프리앰블이 수신되고, 그 프리앰블에 계속해서 수신된 신호의 비트열과, 상기 프리앰블에 의해 송신되는 것이 지정된 타입에서 송신되어야 할 비트열을 비교함에 의해, 에러의 발생을 검출하는 에러 검출부를 또한 포함하고,
상기 컨플릭트 회피부는, 기록 에러 검출부에 의해 에러의 발생이 검출된 경우, 상기 프리앰블에 계속해서 소정 비트수에 응한 클록을 송신한 후에, 통신을 도중에 차단할 것을 지시하는 어보트 신호를 송신하도록, 상기 송수신부에 대한 지시를 행하는 상기 (1)부터 (6)의 어느 하나에 기재된 통신 장치.
(8)
상기 송수신부는, 상기 다른 장치로부터 판독되는 리드 데이터를 수신하고, 상기 리드 데이터의 후에 송수신되는 프리앰블의 2비트째에 대한 구동을 항상 행하는 상기 (1)부터 (7)의 어느 하나에 기재된 통신 장치.
(9)
상기 에러 검출부는, 상기 데이터에 포함되어 있는 2비트의 패리티 중, 일방을 짝수 패리티로 하고, 타방을 홀수 패리티로 하여, 상기 송수신부가 수신한 데이터에 대한 패리티 체크를 행함으로써 에러의 발생을 검출하는 상기 (7)에 기재된 통신 장치.
(10)
상기 송수신부는, 통상의 전송 레이트로 데이터 통신을 행하는 SDR(Standard Data Rate) 모드, 및, SDR 모드보다도 높은 전송 레이트로 데이터 통신을 행하는 HDR(High Data Rate) 모드로, 신호의 송수신을 행할 수 있는 상기 (1)부터 (9)의 어느 하나에 기재된 통신 장치.
(11)
상기 송수신부는, 1비트씩 순차적으로 시리얼 데이터를 전송하는 데이터 신호선, 및, 소정의 주파수의 시리얼 클록을 전송하는 클록 신호선의 2개의 신호선을 통하여 통신을 행하는 상기 (1)부터 (10)의 어느 하나에 기재된 통신 장치.
(12)
상기 송수신부, I3C(Improved Inter Integrated Circuit)의 규격에 준한 통신을 행하는 상기 (1)부터 (11)의 어느 하나에 기재된 통신 장치.
(13)
다른 장치와 신호의 송수신을 행하고,
송신된 신호를 수신한 상기 다른 장치로부터 송신되어 오는 수신 확인신호 및 비수신 확인신호의 어느 하나를 검출하고,
상기 비수신 확인신호가 검출된 때, 상기 비수신 확인신호에 계속된 소정수의 비트를 무시한 후에, 통신을 도중에 차단할 것을 지시하는 어보트 신호를 송신하는 스텝을 포함하는 통신 방법.
(14)
다른 장치와 신호의 송수신을 행하고,
송신된 신호를 수신한 상기 다른 장치로부터 송신되어 오는 수신 확인신호 및 비수신 확인신호의 어느 하나를 검출하고,
상기 비수신 확인신호가 검출된 때, 상기 비수신 확인신호에 계속된 소정수의 비트를 무시한 후에, 통신을 도중에 차단할 것을 지시하는 어보트 신호를 송신하는 스텝을 포함하는 통신 처리를 컴퓨터에 실행시키는 프로그램.
(15)
버스에서의 제어의 주도권을 갖는 제1의 통신 장치와,
상기 제1의 통신 장치에 의한 제어에 따라 통신을 행하는 제2의 통신 장치를 포함하고,
상기 제1의 통신 장치가,
상기 제2의 통신 장치와 신호의 송수신을 행하는 송수신부와,
상기 송수신부로부터 송신된 신호를 수신한 상기 제2의 통신 장치로부터 송신되어 오는 수신 확인신호 및 비수신 확인신호의 어느 하나를 검출하는 확인신호 검출부와,
상기 확인신호 검출부에 의해 상기 비수신 확인신호가 검출된 때, 상기 비수신 확인신호에 계속된 소정수의 비트를 무시한 후에, 통신을 도중에 차단할 것을 지시하는 어보트 신호를 송신하도록, 상기 송수신부에 대한 지시를 행하는 컨플릭트 회피부를 포함하는 통신 시스템.
또한, 본 실시의 형태는, 상술한 실시의 형태로 한정되는 것이 아니고, 본 개시의 요지를 일탈하지 않는 범위에서 여러 가지의 변경이 가능하다.
11 : 버스 IF
12 : 마스터
13 : 슬레이브
14-1 : 데이터 신호선
14-2 : 클록 신호선
21 : 송수신부
22 : 에러 검출부
23 : 확인신호 검출부
24 : 컨플릭트 회피부
31 : 송수신부
32 : 에러 검출부
51 : SCL 구동 제어부
52 : 증폭부
53 : H레벨 유지부
54 : 증폭부
55 : 시리얼 변환부
56 : 컨플릭트 에러 검출기
57 : 패리티 에러 검출기
58 : CRC5 에러 검출부
59 : 패럴렐 변환부
60 : 토큰 에러 검출기
61 : ACK/NACK 검출기
62 : 프리앰블 에러 검출기
63 : 스테이트 머신

Claims (20)

  1. 데이터 신호선을 통하여 데이터를 송수신하는 것 및 클록 신호선을 통하여 클록을 송신하는 것을 포함하여, 외부 통신 장치와 통신하는 송수신 회로와,
    상기 송수신 회로로부터의 신호에 응답하여, 상기 외부 통신 장치로부터 송신된 확인신호 또는 확인신호의 부재 중 적어도 하나를 검출하는 제어 회로를 구비하고,
    상기 제어 회로가 상기 확인신호의 부재를 검출하는 경우, 상기 송수신 회로가 상기 확인신호의 부재에 계속된 적어도 소정수의 비트에 대한 컨플릭트를 방지하도록 하고,
    상기 제어 회로는, 상기 확인신호의 부재에 계속된 적어도 상기 소정수의 비트에 대응하는 지속 기간을 갖는 컨플릭트 방지 클록 기간에 대하여 수신된 데이터를 무시하는 스테이트 머신을 포함하는 것을 특징으로 하는 통신 장치.
  2. 제1항에 있어서,
    상기 제어 회로에 의한 상기 확인신호의 부재의 검출은, 상기 외부 통신 장치로부터 송신된 프리앰블의 2비트째에서 1비트 에러의 결과인 것을 특징으로 하는 통신 장치.
  3. 삭제
  4. 제1항에 있어서,
    상기 송수신 회로는, 상기 송수신 회로가 컨플릭트를 방지하는 기간 동안에, 상기 데이터 신호선을 H레벨로 유지하는 것을 특징으로 하는 통신 장치.
  5. 제1항에 있어서,
    상기 확인신호의 부재가 검출되면, 상기 송수신 회로는, 상기 확인신호의 부재에 계속된 상기 소정수의 비트와 동일한 복수의 클록 사이클을 송신하는 것을 특징으로 하는 통신 장치.
  6. 제5항에 있어서,
    상기 송수신 회로는, 리드 커맨드의 송신에 응답하여 상기 외부 통신 장치로부터 송신된 상기 데이터의 적어도 상기 소정수의 비트에 대응하는 지속 기간에 대한 클록을 송신하고, 적어도 상기 복수의 클록 사이클을 송신하기 위한 기간에 대한 상기 데이터의 컨플릭트를 방지하는 것을 특징으로 하는 통신 장치.
  7. 제6항에 있어서,
    상기 데이터가 상기 외부 통신 장치로부터 송신되면, 상기 송수신 회로는, 신호의 프리앰블의 2비트째의 타이밍에서 커맨드 신호를 송신하는 것을 특징으로 하는 통신 장치.
  8. 제1항에 있어서,
    상기 송수신 회로는, 컨플릭트 방지 클록 기간에 계속된 특정한 통신 모드를 종료하는 것을 지시하는 커맨드를 송신하고,
    상기 컨플릭트 방지 클록 기간은, 상기 확인신호의 부재에 계속된 적어도 상기 소정수의 비트에 대응하는 지속 기간을 갖는 것을 특징으로 하는 통신 장치.
  9. 제1항에 있어서,
    상기 송수신 회로는, 컨플릭트 방지 클록 기간에 계속된 특정한 통신 모드에서 통신을 리스타트하는 것을 지시하는 커맨드를 송신하고,
    상기 컨플릭트 방지 클록 기간은, 상기 확인신호의 부재에 계속된 적어도 상기 소정수의 비트에 대응하는 지속 기간을 갖는 것을 특징으로 하는 통신 장치.
  10. 제1항에 있어서,
    상기 제어 회로는, 상기 송수신 회로에 의해 수신된 상기 데이터의 프리앰블에 계속된 제1의 비트열과, 상기 프리앰블에 의해 지정된 데이터 타입에 대응하는 제2의 비트열을 비교함에 의해, 에러를 검출하고,
    상기 제어 회로가 상기 에러를 검출하는 경우, 상기 제어 회로는, 상기 송수신 회로가, 상기 프리앰블 후의 적어도 제2의 소정수의 비트에 대응하는 지속 기간에 대한 클록을 송신한 후에, 커맨드를 송신하도록 하는 것을 특징으로 하는 통신 장치.
  11. 제1항에 있어서,
    상기 제어 회로는, 상기 송수신 회로에 의해 수신된 상기 데이터에 대한 패리티 체크를 행함에 의해 에러를 검출하고,
    상기 데이터에 포함된 제1의 패리티 비트는 짝수 패리티이고, 상기 데이터에 포함된 제2의 패리티 비트는 홀수 패리티인 것을 특징으로 하는 통신 장치.
  12. 제1항에 있어서,
    상기 송수신 회로는, 리드 데이터에 계속된 송수신된 프리앰블의 2비트째를 구동하는 것을 특징으로 하는 통신 장치.
  13. 제1항에 있어서,
    상기 송수신 회로는, SDR(Standard Data Rate) 모드 및 HDR(High Data Rate) 모드로 통신하고,
    데이터 통신은 상기 SDR 모드에서 제1의 전송 레이트로 행하고, 상기 데이터 통신은 상기 HDR 모드에서 상기 제1의 전송 레이트보다 높은 제2의 전송 레이트로 행하는 것을 특징으로 하는 통신 장치.
  14. 제13항에 있어서,
    상기 제어 회로는, 상기 HDR 모드에서 리드 커맨드를 송신한 직후 및 리드 데이터 직전에, 프리앰블에서 에러를 검출하는 것을 특징으로 하는 통신 장치.
  15. 제13항에 있어서,
    상기 HDR 모드는, 상기 송수신 회로가 통신할 수 있는 복수의 추가 모드를 포함하고,
    상기 추가 모드는, DDR(Double Data Rate) 모드, TSP(Ternary Symbol Pure-Bus) 모드, 및 TSL(Ternary Symbol Legacy-Inclusive-Bus) 모드를 포함하는 것을 특징으로 하는 통신 장치.
  16. 제13항에 있어서,
    상기 통신 장치는 또한, 모드 변환 신호를 통하여 상기 외부 통신 장치의 모드를 전환하는 것을 특징으로 하는 통신 장치.
  17. 제1항에 있어서,
    상기 데이터 신호선은 1비트씩 순차적으로 시리얼 데이터를 송신하고,
    상기 클록 신호선은 소정의 주파수를 갖는 시리얼 클록을 송신하는 것을 특징으로 하는 통신 장치.
  18. 데이터 신호선 및 클록 신호선을 포함하는 버스에서 제어의 주도권을 갖는 제1의 통신 장치와,
    상기 제1의 통신 장치의 상기 제어의 주도권에 따라 통신을 행하는 제2의 통신 장치를 구비하고,
    상기 제1의 통신 장치는,
    상기 데이터 신호선을 통하여 데이터를 송수신하는 것 및 상기 클록 신호선을 통하여 클록을 송신하는 것을 포함하여, 상기 제2의 통신 장치와 통신하는 제1의 송수신 회로와,
    상기 제1의 송수신 회로로부터의 신호에 응답하여, 상기 제2의 통신 장치로부터 송신된 확인신호 또는 확인신호의 부재 중 적어도 하나를 검출하는 제어 회로를 포함하고,
    상기 제어 회로가 상기 확인신호의 부재를 검출하는 경우, 상기 제1의 송수신 회로가 상기 확인신호의 부재에 계속된 적어도 소정수의 비트에 대한 컨플릭트를 방지하도록 하고,
    상기 제2의 통신 장치는, 상기 제1의 통신 장치와 통신하고, 상기 데이터 신호선을 통하여 데이터를 송수신하는 것 및 상기 클록 신호선을 통하여 클록을 수신하는 것을 포함하는 제2의 송수신 회로를 포함하는 것을 특징으로 하는 통신 시스템.
  19. 제18항에 있어서,
    상기 제1의 통신 장치의 상기 제어의 주도권에 따라서 통신하는 적어도 하나의 제3의 통신 장치를 더 구비하고,
    상기 제2의 통신 장치 및 상기 적어도 하나의 제3의 통신 장치 중 하나는, 상기 확인신호를 송신하지 않고,
    상기 제2의 통신 장치 및 상기 적어도 하나의 제3의 통신 장치 중 다른 통신 장치는, 상기 확인신호를 송신하고,
    상기 제어 회로는, 상기 제2의 통신 장치 및 상기 적어도 하나의 제3의 통신 장치 중 하나가 상기 확인 신호를 송신하지 않는 것을 검출하는 것을 특징으로 하는 통신 시스템.
  20. 데이터 신호선을 통하여 데이터를 송수신하는 것 및 클록 신호선을 통하여 클록을 송신하는 것을 포함하여, 외부 통신 장치와 통신하고,
    송수신 회로로부터의 신호에 응답하여, 상기 외부 통신 장치로부터 송신된 확인신호 또는 확인신호의 부재 중 적어도 하나를 검출하고,
    제어 회로가 상기 확인신호의 부재를 검출하는 경우, 상기 확인신호의 부재에 계속된 적어도 소정수의 비트에 대한 컨플릭트를 방지하고,
    상기 제어 회로는, 상기 확인신호의 부재에 계속된 적어도 상기 소정수의 비트에 대응하는 지속 기간을 갖는 컨플릭트 방지 클록 기간에 대하여 수신된 데이터를 무시하는 스테이트 머신을 포함하는 것을 특징으로 하는 통신 방법.
KR1020187032412A 2016-05-18 2017-05-02 통신 장치, 통신 방법, 프로그램, 및 통신 시스템 KR102375363B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2016-099954 2016-05-18
JP2016099954A JP6828271B2 (ja) 2016-05-18 2016-05-18 通信装置、通信方法、プログラム、および、通信システム
PCT/JP2017/017220 WO2017199760A1 (en) 2016-05-18 2017-05-02 Communication apparatus, communication method, program, and communication system

Publications (2)

Publication Number Publication Date
KR20190008855A KR20190008855A (ko) 2019-01-25
KR102375363B1 true KR102375363B1 (ko) 2022-03-17

Family

ID=58745319

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187032412A KR102375363B1 (ko) 2016-05-18 2017-05-02 통신 장치, 통신 방법, 프로그램, 및 통신 시스템

Country Status (10)

Country Link
US (1) US10740172B2 (ko)
EP (1) EP3458967B1 (ko)
JP (1) JP6828271B2 (ko)
KR (1) KR102375363B1 (ko)
CN (1) CN109154925B (ko)
BR (1) BR112018073108A2 (ko)
RU (1) RU2740163C2 (ko)
SG (1) SG11201808953TA (ko)
TW (1) TWI769155B (ko)
WO (1) WO2017199760A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6786871B2 (ja) * 2016-05-18 2020-11-18 ソニー株式会社 通信装置、通信方法、プログラム、および、通信システム
WO2019176580A1 (ja) * 2018-03-14 2019-09-19 ソニーセミコンダクタソリューションズ株式会社 通信装置、通信方法、プログラム、および、通信システム
DE102018220398A1 (de) * 2018-11-28 2020-05-28 Robert Bosch Gmbh Verfahren zum Abschalten einer Kommunikation und korrespondierende Kommunikationsanordnung
CN109861896A (zh) * 2019-03-29 2019-06-07 上海剑桥科技股份有限公司 高速单总线设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122707A (ja) * 2001-10-10 2003-04-25 Nec Corp I2cバスを備えた電子機器及びバス制御方法
JP2005084791A (ja) * 2003-09-05 2005-03-31 Alpine Electronics Inc データ通信方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3101552B2 (ja) * 1994-11-14 2000-10-23 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 周辺バス利用の通信システム及び方法
US6356984B1 (en) 1998-06-30 2002-03-12 Sun Microsystems, Inc. Digital data processing system having a data bus and a control bus
SE9900303L (sv) * 1999-01-27 2000-07-28 Ericsson Telefon Ab L M Ett förfarande som möjliggör kommunikation mellan en elektronisk anordning och ett batteri, en apparat som innefattar en elektronisk anordning och ett batteri samt ett batteri som möjliggör kommunikation
US6684362B1 (en) * 1999-02-18 2004-01-27 International Business Machines Corporation Method and apparatus for connecting manufacturing test interface to a global serial bus including an I2 c bus
US6779125B1 (en) * 2000-06-09 2004-08-17 Cirrus Logic, Inc. Clock generator circuitry
EP1182550A3 (en) * 2000-08-21 2006-08-30 Texas Instruments France Task based priority arbitration
US6874052B1 (en) 2000-09-29 2005-03-29 Lucent Technologies Inc. Expansion bridge apparatus and method for an I2C bus
US7451381B2 (en) * 2004-02-03 2008-11-11 Phonex Broadband Corporation Reliable method and system for efficiently transporting dynamic data across a network
JP4416543B2 (ja) * 2004-03-10 2010-02-17 パナソニック株式会社 データ検出装置、および多チャンネルデータ検出装置
JP4962060B2 (ja) * 2007-03-14 2012-06-27 富士通セミコンダクター株式会社 パリティエラー復旧回路
EP2318408B1 (en) 2008-07-23 2016-02-17 Vertex Pharmaceuticals Incorporated Tri-cyclic pyrazolopyridine kinase inhibitors
US10236032B2 (en) * 2008-09-18 2019-03-19 Novachips Canada Inc. Mass data storage system with non-volatile memory modules
US8560908B2 (en) * 2008-11-06 2013-10-15 Qualcomm Incorporated Methods and systems for ARQ feedback message improvement
US9374818B2 (en) * 2011-03-31 2016-06-21 Panasonic Intellectural Property Management Co., Ltd. Receiver, communication system and in-store equipment monitoring system
EP2722761A1 (en) 2011-06-17 2014-04-23 Fujitsu Limited Arithmetic processing device and control method for arithmetic processing device
GB2492207B (en) * 2011-06-22 2014-03-05 Ibm Retrieving status information from a remote device and corresponding host system
US9256570B2 (en) 2011-08-05 2016-02-09 Linear Technology Corporation I2C isolated, bidirectional communication system with isolated domain current source pull-ups
CN104521273A (zh) * 2012-08-07 2015-04-15 瑞典爱立信有限公司 多载波系统中用于控制中断和测量性能的方法和装置
US20150100711A1 (en) * 2013-10-07 2015-04-09 Qualcomm Incorporated Low power camera control interface bus and devices
US10695034B2 (en) 2015-05-15 2020-06-30 Butterfly Network, Inc. Autonomous ultrasound probe and related apparatus and methods
JP6911282B2 (ja) * 2016-05-18 2021-07-28 ソニーグループ株式会社 通信装置、通信方法、プログラム、および、通信システム
JP6090514B1 (ja) 2016-05-18 2017-03-08 日本ゼオン株式会社 重合性化合物の製造方法
JP6786871B2 (ja) * 2016-05-18 2020-11-18 ソニー株式会社 通信装置、通信方法、プログラム、および、通信システム
JP6971538B2 (ja) * 2016-05-18 2021-11-24 ソニーセミコンダクタソリューションズ株式会社 通信装置、通信方法、プログラム、および、通信システム
WO2017199762A1 (ja) * 2016-05-18 2017-11-23 ソニーセミコンダクタソリューションズ株式会社 通信装置、通信方法、プログラム、および、通信システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122707A (ja) * 2001-10-10 2003-04-25 Nec Corp I2cバスを備えた電子機器及びバス制御方法
JP2005084791A (ja) * 2003-09-05 2005-03-31 Alpine Electronics Inc データ通信方法

Also Published As

Publication number Publication date
WO2017199760A1 (en) 2017-11-23
JP6828271B2 (ja) 2021-02-10
EP3458967A1 (en) 2019-03-27
SG11201808953TA (en) 2018-11-29
US20190213070A1 (en) 2019-07-11
US10740172B2 (en) 2020-08-11
RU2740163C2 (ru) 2021-01-12
TW201741890A (zh) 2017-12-01
TWI769155B (zh) 2022-07-01
RU2018139330A (ru) 2020-05-12
BR112018073108A2 (pt) 2019-03-06
JP2017208712A (ja) 2017-11-24
CN109154925A (zh) 2019-01-04
KR20190008855A (ko) 2019-01-25
RU2018139330A3 (ko) 2020-07-23
EP3458967B1 (en) 2020-12-23
CN109154925B (zh) 2022-07-19

Similar Documents

Publication Publication Date Title
KR102375363B1 (ko) 통신 장치, 통신 방법, 프로그램, 및 통신 시스템
JP6971538B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
KR102350137B1 (ko) 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
KR102350136B1 (ko) 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
WO2017183482A1 (en) Communication device, communication method, program, and communication system
JP6903645B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
JP6739983B2 (ja) 通信装置、通信方法、プログラム、および、通信システム

Legal Events

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