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

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

Info

Publication number
KR102554978B1
KR102554978B1 KR1020197019878A KR20197019878A KR102554978B1 KR 102554978 B1 KR102554978 B1 KR 102554978B1 KR 1020197019878 A KR1020197019878 A KR 1020197019878A KR 20197019878 A KR20197019878 A KR 20197019878A KR 102554978 B1 KR102554978 B1 KR 102554978B1
Authority
KR
South Korea
Prior art keywords
bus
communication
signal line
communication device
slave
Prior art date
Application number
KR1020197019878A
Other languages
English (en)
Other versions
KR20190113772A (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 KR20190113772A publication Critical patent/KR20190113772A/ko
Application granted granted Critical
Publication of KR102554978B1 publication Critical patent/KR102554978B1/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/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/376Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a contention resolving method, e.g. collision detection, collision avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/378Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a parallel poll method
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)

Abstract

본 개시는, 보다 확실하게 통신을 행할 수 있도록 하는 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템에 관한 것이다. 적어도 1대 이상의 다른 통신 장치와의 사이에서, 데이터 신호선 및 클록 신호선을 통하여 신호의 송수신을 행하는 송수신부와, 버스를 통하여 통신을 행할 수 있도록 구성되어 있는 통신 시스템이 이미 가동하고 있는 상태에서, 그 통신 시스템에 통신 장치가 추가적으로 접속될 때에 있어서의 에러의 발생을 회피하는 처리를 행하는 에러 회피부를 구비한다. 본 기술은, 예를 들면, 버스 IF에 적용할 수 있다.

Description

통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
본 개시는, 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템에 관한 것으로, 특히, 보다 확실하게 통신을 행할 수 있도록 한 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템에 관한 것이다.
종래, 복수의 디바이스가 실장된 보드 내에서 버스를 통한 디바이스 사이의 통신에 이용되는 버스 IF(Interface)로서, 예를 들면, I2C(Inter-Integrated Circuit)가 많이 이용되고 있다. 또한, 근래, I2C의 고속화를 실현할 것이 요구되어 있고, 차세대의 규격으로서 I3C(Improved Inter Integrated Circuit)의 규정이 책정되고, 그 개정이 진행되고 있다.
예를 들면, I2C 및 I3C는, 버스 IF를 통한 통신의 주도권을 갖는 마스터에 의한 제어에 따라, 버스 IF에 접속되어 있는 슬레이브와 통신을 행할 수 있도록 구성된다. 또한, I3C에서는, I2C의 슬레이브와 통신을 행할 수 있도록 호환성을 유지하기 위한 기능이나, 버스 IF에 도중에서 슬레이브가 참가하는 것을 가능하게 하는 핫 조인(hot join)이라고 칭하여지는 기능 등이 제공된다.
예를 들면, 특허 문헌 1에는, 호스트·프로세서와 서브시스템·컨트롤러를, I2C에 의해 상호 접속하는 디지털·데이터 처리 시스템이 개시되어 있다. 또한, 특허 문헌 2에는, 표준 I2C 프로토콜의 상부에 층상(層狀)으로 배치된 통신 프로토콜을 실현하는 방법이 개시되어 있다.
일본 특개2000-99448호 공보 일본 특개2002-175269호 공보
그런데, I3C에서 핫 조인이 행하여질 때, 어느 특정의 조건하에 있어서, 새롭게 접속된 슬레이브가 버스 IF에 참가할 수 없게 된 데드로크(deadlock)가 발생할 가능성이 있다. 그 때문에, 새롭게 접속된 슬레이브가, 통신을 정상적으로 행할 수가 없는 상태가 되는 것이 우려된다.
본 개시는, 이와 같은 상황을 감안하여 이루어진 것으로, 보다 확실하게 통신을 행할 수 있도록 하는 것이다.
본 개시의 한 측면의 통신 장치는, 적어도 1대 이상의 다른 통신 장치와의 사이에서 신호의 송수신을 행하는 송수신부와, 버스를 통하여 통신을 행할 수 있도록 구성되어 있는 통신 시스템이 이미 가동하고 있는 상태에서, 상기 통신 시스템에 통신 장치가 추가적으로 접속될 때에 있어서의 에러의 발생을 회피하는 처리를 행하는 에러 회피부를 구비한다.
본 개시의 한 측면의 통신 방법 또는 프로그램은, 적어도 1대 이상의 다른 통신 장치와의 사이에서 신호의 송수신을 행하고, 버스를 통하여 통신을 행할 수 있도록 구성되어 있는 통신 시스템이 이미 가동하고 있는 상태에서, 상기 통신 시스템에 통신 장치가 추가적으로 접속될 때에 있어서의 에러의 발생을 회피하는 처리를 행하는 스텝을 포함한다.
본 개시의 한 측면의 통신 시스템은, 버스를 통한 통신의 주도권을 갖는 제1의 통신 장치, 및, 상기 제1의 통신 장치에 의한 제어에 따라 통신을 행하는 제2의 통신 장치에 의해, 상기 버스를 통하여 통신을 행할 수 있도록 구성되는 통신 시스템에 있어서, 상기 제1의 통신 장치 및 상기 제2의 통신 장치 각각은, 적어도 1대 이상의 다른 통신 장치와의 사이에서 신호의 송수신을 행하는 송수신부를 구비하고, 상기 제1의 통신 장치 및 상기 제2의 통신 장치 중 적어도 일방이, 상기 제1의 통신 장치가 적어도 상기 버스에 접속되어 통신 시스템이 이미 가동하고 있는 상태에서, 상기 통신 시스템에 상기 제2의 통신 장치가 추가적으로 접속될 때에 있어서의 에러의 발생을 회피하는 처리를 행하는 에러 회피부를 구비한다.
본 개시의 한 측면에서는, 적어도 1대 이상의 다른 통신 장치와의 사이에서 신호의 송수신이 행하여지고, 버스를 통하여 통신을 행할 수 있도록 구성되어 있는 통신 시스템이 이미 가동하고 있는 상태에서, 상기 통신 시스템에 통신 장치가 추가적으로 접속될 때에 있어서의 에러의 발생을 회피하는 처리가 행하여진다.
본 개시의 한 측면에 의하면, 보다 확실하게 통신을 행할 수 있다.
도 1은 버스 IF 및 핫 조인에 관해 설명하는 도면.
도 2는 핫 조인 요구의 흐름에 관해 설명하는 도면.
도 3은 본 기술을 적용한 버스 IF의 제1의 실시의 형태의 구성례를 도시하는 블록도.
도 4는 핫 조인 요구에 관해 설명하는 도면.
도 5는 I3C 메인 마스터가 실행하는 처리를 설명하는 플로우 차트.
도 6은 I3C 슬레이브가 핫 조인을 행할 때에 실행하는 처리를 설명하는 플로우 차트.
도 7은 본 기술을 적용한 버스 IF의 제2의 실시의 형태의 구성례를 도시하는 블록도.
도 8은 HJ 요구 에러의 검출에 관해 설명하는 도면.
도 9는 핫 조인 요구에 계속되어 전송되는 신호의 한 예를 도시하는 도면.
도 10은 본 기술을 적용한 버스 IF의 제3의 실시의 형태의 구성례를 도시하는 블록도.
도 11은 I3C 메인 마스터의 실장례(實裝例)를 도시하는 도면.
도 12는 I3C 슬레이브의 실장례를 도시하는 도면.
도 13은 도 11의 I3C 메인 마스터가 실행하는 처리를 설명하는 플로우 차트.
도 14는 본 기술을 적용한 컴퓨터의 한 실시의 형태의 구성례를 도시하는 블록도.
이하, 본 기술을 적용한 구체적인 실시의 형태에 관해, 도면을 참조하면서 상세히 설명한다.
<버스 IF 및 핫 조인에 관해>
우선, 도 1을 참조하여, I3C 규격에 준하여 구성되는 버스 IF, 및, I3C 슬레이브의 핫 조인에 관해 설명한다.
도 1에 도시하는 버스 IF(11)는, I3C 메인 마스터(12, I3C), 세컨더리 마스터(13-1 및 13-2), I3C 슬레이브(14-1 내지 14-3), 및, I2C 슬레이브(15-1 및 15-2)가, 데이터 신호선(16-1) 및 클록 신호선(16-2)을 통하여 접속되어 구성된다. 그리고, 도 1에서는, I3C 슬레이브(14-3)가, 버스 IF(11)에 핫 조인된 예가 도시되어 있다.
I3C 메인 마스터(12)는, 버스 IF(11)에서의 통신의 주도권을 갖는 디바이스이고, 데이터 신호선(16-1) 및 클록 신호선(16-2)을 통하여, 버스 IF(11)에 접속되는 다른 디바이스와 통신을 행할 수 있다.
I3C 세컨더리 마스터(13-1 및 13-2)는, I3C 메인 마스터(12)에 대신하여, 버스 IF(11)에서의 통신의 주도권을 가질 수 있는 기능을 구비한 디바이스이고, I3C 메인 마스터(12)에 의한 제어에 따라 통신이 행하여지고 있을 때에는 I3C 슬레이브(14)와 같은 동작을 행한다. 또한, 이하 적절히, I3C 세컨더리 마스터(13-1 및 13-2)를 구별할 필요가 없는 경우, 단지, I3C 세컨더리 마스터(13)라고 칭한다.
I3C 슬레이브(14-1 내지 14-3)는, I3C 메인 마스터(12)에 의한 제어에 따라 통신을 행하는 디바이스이고, 데이터 신호선(16-1) 및 클록 신호선(16-2)을 통하여, I3C 메인 마스터(12)와 통신을 행할 수 있다. 또한, 이하 적절히, I3C 슬레이브(14-1 내지 14-3)를 구별할 필요가 없는 경우, 단지, I3C 슬레이브(14)라고 칭한다.
I2C 슬레이브(15-1 및 15-2)는, I2C 규격에 준하여 통신을 행할 수 있는 디바이스이고, I3C가 I2C와 호환성을 유지하고 있음에 의해, 버스 IF(11)에서의 I3C 메인 마스터(12)에 의한 제어에 따라 통신을 행할 수 있다. 또한, 이하 적절히, I2C 슬레이브(15-1 및 15-2)를 구별할 필요가 없는 경우, 단지, I2C 슬레이브(15)라고 칭한다.
데이터 신호선(16-1)은, 시리얼 데이터(SDA)를 전송하는 신호선이고, 클록 신호선(16-2)은, 시리얼 클록(SCL)을 전송하는 신호선이다.
이와 같이, 버스 IF(11)는, I3C 규격에 준거한 I3C 세컨더리 마스터(13) 및 I3C 슬레이브(14)뿐만 아니라, I2C 규격에 준거한 I2C 슬레이브(15)가 혼재한 구성이라도 정상적으로 가동할 수 있다.
또한, I3C에서는, 예를 들면, 버스 IF(11)에 접속되어 있는 복수의 디바이스 중, 사용되지 않는 디바이스에 관해서는, 전원을 오프 상태로 함에 의해, 버스 IF(11) 전체로서의 저소비 전력화를 도모할 수 있다.
예를 들면, 도 1의 상측에 도시하는 바와 같이, 전원이 오프 상태로 되어 있는 I3C 슬레이브(14-3)의 사용을 시작할 때, I3C 슬레이브(14-3) 이외의 디바이스에 의해 가동하고 있는 상태의 버스 IF(11)에 대해, I3C 슬레이브(14-3)가 핫 조인된다. 즉, 도 1의 하측에 도시하는 바와 같이, I3C 슬레이브(14-3)의 전원이 온 상태로 전환된 후, 후술하는 바와 같은 핫 조인 요구가 행하여짐으로써, I3C 슬레이브(14-3)가, 버스 IF(11)에 참가할 수 있다.
또한, 이와 같이 I3C 슬레이브(14-3)의 전원을 온/오프 시키는 외에, 가동하고 있는 상태의 버스 IF(11)에 대해, 전원이 온 상태의 I3C 슬레이브(14-3)를 물리적으로 접속하는 것에 의해서도, I3C 슬레이브(14-3)를 핫 조인시킬 수 있다. 또한, I3C 메인 마스터(12)와 I3C 슬레이브(14) 및 I2C 슬레이브(15)에 의해 가동하고 있는 버스 IF(11)에, 추가적으로 I3C 슬레이브(14)가 핫 조인되는 외에, 예를 들면, 1대의 I3C 메인 마스터(12)만에 의해 가동하고 있는 버스 IF(11)에, 새롭게 1대의 I3C 슬레이브(14)가 핫 조인되는 일도 있다.
다음에, 도 2를 참조하여, 도 1의 버스 IF(11)에서의 핫 조인 요구의 흐름에 관해 설명한다.
버스 IF(11)에서는, 핫 조인에 대응한 I3C 슬레이브(14)가, 버스 IF(11)가 아이들 상태인 것을 인식한 때에 데이터 신호선(16-1)의 전위를 H레벨부터 L레벨로 전환함에 의해, 핫 조인 요구를 행한다고 규정할 수 있다. 또한, I3C 슬레이브(14)는, 버스 아이들 카운터에 의해, 데이터 신호선(16-1) 및 클록 신호선(16-2)이 H레벨인 상태가 소정 기간보다도 길게 계속되고 있는 것을 검출함으로써, 버스 IF(11)가 아이들 상태인 것을 인식할 수 있다.
여기서, 도 2에는, 버스 IF(11)에서의 통신의 종료를 선언하는 스톱 컨디션(STOP)의 검출이, 버스 아이들 카운터가 카운트를 시작하는 카운트 기점(起點)의 조건으로서 설정되어 있을 때에 있어서의 핫 조인 요구의 한 예가 도시되어 있다.
도 2의 A에 도시하는 바와 같이, 버스 IF(11)의 통신이 행하여지고 있는 한창중의 타이밍(t1)에서, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속되면, 그 I3C 슬레이브(14)는, 스톱 컨디션이 검출되는 것을 대기하는 상태가 된다. 그리고, 버스 IF(11)에 접속된 I3C 슬레이브(14)는, 스톱 컨디션의 검출에 응하여 버스 아이들 카운터를 기동하여 카운트를 시작한다.
그 후, I3C 슬레이브(14)는, 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위가 H레벨인 상태가 소정 기간보다 길고, 예를 들면, 1㎳보다도 길게 계속하는 것을 검출한 때에, 버스 IF(11)가 아이들 상태라고 인식할 수 있다. 따라서, 핫 조인에 대응한 I3C 슬레이브(14)는, 버스 IF(11)가 아이들 상태라고 인식한 후의 타이밍(t2)에서, 데이터 신호선(16-1)의 전위를 H레벨부터 L레벨로 전환함에 의해, 핫 조인 요구를 행할 수가 있다.
한편, I3C 메인 마스터(12)는, 핫 조인 요구(또는, 인터럽트의 요구)가 있는 것을 인식하면, 클록 신호선(16-2)을 통하여 시리얼 클록(SCL)의 송신을 시작하고, 그 후의 통신 처리를 행할 수가 있다.
이와 같이, 버스 IF(11)에서 통신이 행하여지고 있을 때에 I3C 슬레이브(14)가 접속되면, 그 I3C 슬레이브(14)는, 스톱 컨디션을 검출한 후에 버스 IF(11)가 아이들 상태인 것을 인식하고, 문제 없이 핫 조인 요구를 행할 수가 있다.
그런데, 도 2의 B에 도시하는 바와 같이, 버스 IF(11)의 통신이 행하여지지 않는 타이밍(t1)에서, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속된 경우, I3C 메인 마스터(12)와 다른 디바이스와의 사이에서 통신이 완료되어 있기 때문에, 스톱 컨디션이 발행되는 일이 없다. 이 경우, 버스 IF(11)에 접속된 I3C 슬레이브(14)는, 스톱 컨디션이 검출되는 것을 계속 대기하는 데드로크가 되어 버린다. 따라서, 버스 IF(11)에 접속되었음에도 불구하고, I3C 슬레이브(14)는, 핫 조인 요구를 행할 수가 없게 되는 결과, 버스 IF(11)에 참가할 수가 없는 상태가 되어 버린다.
이와 같이, 스톱 컨디션의 검출이, 버스 아이들 카운터의 카운트 기점의 조건으로서 설정되어 있는 경우, 버스 IF(11)에 접속된 I3C 슬레이브(14)가 데드로크되어 버리는 것이 우려된다. 그 때문에, 이와 같은 상태가 되는 것을 회피하고, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 확실하게 참가하고, 그 후의 통신을 정상적으로 행할 수 있도록 할 필요가 있다.
<버스 IF의 제1의 구성례>
도 3은, 본 기술을 적용한 버스 IF(11)의 제1의 실시의 형태의 구성례를 도시하는 블록도이다.
도 3에 도시하는 버스 IF(11)는, I3C 메인 마스터(12), I3C 슬레이브(14-1 및 14-2), 및, I2C 슬레이브(15)가, 데이터 신호선(16-1) 및 클록 신호선(16-2)을 통하여 접속되어 구성된다.
I3C 메인 마스터(12)는, 송수신부(21) 및 에러 회피 통신 처리부(22)를 구비하여 구성된다.
송수신부(21)는, 데이터 신호선(16-1) 및 클록 신호선(16-2)을 통하여, I3C 슬레이브(14) 및 I2C 슬레이브(15)와 신호의 송수신을 행한다. 예를 들면, 송수신부(21)는, 클록 신호선(16-2)을 구동함에 의해 송신하는 시리얼 클록(SCL)의 타이밍에 맞추어서, 데이터 신호선(16-1)에 대한 구동을 행함(전위를 H레벨 또는 L레벨로 전환함)에 의해, I3C 슬레이브(14) 또는 I2C 슬레이브(15)에 신호를 송신한다. 또한, 송수신부(21)는, 클록 신호선(16-2)의 시리얼 클록(SCL)의 타이밍에 맞추어서, I3C 슬레이브(14) 또는 I2C 슬레이브(15)가 데이터 신호선(16-1)에 대한 구동을 행함에 의해, I3C 슬레이브(14) 또는 I2C 슬레이브(15)로부터 송신되어 오는 신호를 수신한다. 또한, 클록 신호선(16-2)에 대한 구동은, 항상, 마스터(12)측에 의해 행하여진다.
에러 회피 통신 처리부(22)는, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속될 가능성이 있는 경우, 송수신부(21)에 대해, I2C 슬레이브(15)와 통신을 행할 때의 통신 속도의 하한(下限)을 규정한다. 이에 의해, 에러 회피 통신 처리부(22)는, 후술하는 도 4를 참조하여 설명하는 바와 같이, I3C 메인 마스터(12) 및 I2C 슬레이브(15)의 통신 중에 의도하지 않는 핫 조인 요구가 행하여지는 것에 기인한 통신 에러가 발생하는 것을 방지할 수 있다. 예를 들면, 상술한 바와 같이, I3C 슬레이브(14)가 핫 조인할 때에, 버스 IF(11)가 아이들 상태라고 인식하는데 1㎳를 필요로 한 경우, 에러 회피 통신 처리부(22)는, I2C 슬레이브(15)의 통신 속도의 하한을, 예를 들면, 1㎑(H폭(幅)=0.5mS)로 제한한다. 즉, I2C 슬레이브(15)가 통신에 이용하는 시리얼 클록(SCL)의 주파수에 응하여 클록 신호선(16-2)의 전위가 H레벨인 시간이, I3C 슬레이브(14)가 버스 IF(11)의 아이들 상태를 인식하는데 필요로 하는 시간보다 짧아지도록 제한된다.
I3C 슬레이브(14)는, 송수신부(31) 및 에러 회피 접속 처리부(32)를 구비하여 구성된다.
송수신부(31)는, 데이터 신호선(16-1) 및 클록 신호선(16-2)을 통하여, I3C 메인 마스터(12)와 신호의 송수신을 행한다. 예를 들면, 송수신부(31)는, 클록 신호선(16-2)의 시리얼 클록(SCL)의 타이밍에 맞추어서, I3C 메인 마스터(12)가 데이터 신호선(16-1)에 대한 구동을 행함에 의해, I3C 메인 마스터(12)로부터 송신되어 오는 신호를 수신한다. 또한, 송수신부(31)는, 클록 신호선(16-2)의 시리얼 클록(SCL)의 타이밍에 맞추어서, 데이터 신호선(16-1)에 대한 구동을 행함에 의해, I3C 메인 마스터(12)에 신호를 송신한다.
에러 회피 접속 처리부(32)는, 상술한 도 2를 참조하여 설명한 바와 같은 데드로크의 발생을 회피하여, I3C 슬레이브(14)가 핫 조인을 확실하게 행할 수 있도록 하기 위한 접속 처리를 행한다. 예를 들면, 에러 회피 접속 처리부(32)에는, 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위가 H레벨인 것의 검출이, 버스 아이들 카운터의 카운트 기점의 조건으로서 설정되어 있다.
따라서 에러 회피 접속 처리부(32)는, 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위를 감시하고, 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위가 H레벨인 것을 검출한 타이밍에서 버스 아이들 카운터를 기동한다. 그리고, 에러 회피 접속 처리부(32)는, 데이터 신호선(16-1) 및 클록 신호선(16-2)이 H레벨인 상태가 1㎳보다도 길게 계속하는 것을 검출한 때에, 버스 IF(11)가 아이들 상태라고 인식하고, 핫 조인 요구를 행한다.
I2C 슬레이브(15)는, 송수신부(41)을 구비하여 구성되고, 송수신부(41)는, 데이터 신호선(16-1) 및 클록 신호선(16-2)을 통하여, I3C 메인 마스터(12)와 신호의 송수신을 행한다. 예를 들면, I2C에서는, I3C에서 통신보다도 저속의 시리얼 클록(SCL)을 이용하여 통신을 행하도록 규정되어 있고, I2C 슬레이브(15)는, I3C 슬레이브(14)보다도 저속으로 통신을 행한다.
도 4를 참조하여, 도 3의 버스 IF(11)에서의 핫 조인 요구에 관해 설명한다.
도 3을 참조하여 상술한 바와 같이, I3C 슬레이브(14)의 에러 회피 접속 처리부(32)에서는, 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위가 H레벨인 것의 검출이, 버스 아이들 카운터의 카운트 기점의 조건으로서 설정되어 있다. 또한, I3C에서는, 데이터 신호선(16-1) 및 클록 신호선(16-2)이 H레벨인 상태가 1㎳보다도 길게 계속하는 것을 검출한 때에, 버스 IF(11)가 아이들 상태라고 인식하고, 핫 조인 요구를 행하도록 규정되어 있다.
예를 들면, I3C 메인 마스터(12)가 I3C 슬레이브(14)와 통신을 행하고 있을 때에는, 데이터 신호선(16-1) 및 클록 신호선(16-2)이 H레벨인 상태는 1㎳ 미만으로 되어 있다. 그 때문에, I3C 메인 마스터(12)가 다른 I3C 슬레이브(14)와 통신을 행하고 있을 때에, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속되어도, 버스 IF(11)가 아이들 상태가 아니기 때문에, 핫 조인 요구는 행하여지지 않는다. 따라서, 이 경우, I3C 메인 마스터(12)가 다른 I3C 슬레이브(14)와의 통신을 종료한 타이밍에서, 버스 IF(11)에 접속된 I3C 슬레이브(14)는, 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위가 H레벨으로 된 것을 검출하고, 버스 아이들 카운터를 기동할 수 있다.
그리고, 도 4의 A에 도시하는 바와 같이, 버스 IF(11)의 통신이 행하여지지 않는 타이밍(t1)에서, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속되었다고 한다. 이 경우, I3C 슬레이브(14)의 에러 회피 접속 처리부(32)는, 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위가 H레벨인 것을 검출하고, 버스 아이들 카운터를 기동한다. 그리고, 에러 회피 접속 처리부(32)는, 데이터 신호선(16-1) 및 클록 신호선(16-2)이 H레벨인 상태가 1㎳보다도 길게 계속하는 것을 검출하면, 버스 IF(11)가 아이들 상태라고 인식할 수 있다. 따라서, 에러 회피 접속 처리부(32)는, 버스 IF(11)가 아이들 상태라고 인식한 후의 타이밍(t2)에서, 데이터 신호선(16-1)의 전위를 H레벨부터 L레벨로 전환함에 의해, 핫 조인 요구를 행할 수가 있다.
이와 같이, 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위가 H레벨인 것의 검출을, 버스 아이들 카운터의 카운트 기점의 조건으로서 설정함으로써, 도 2를 참조하여 상술한 바와 같은 데드로크의 발생을 회피할 수 있다.
즉, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속되는 타이밍이, 버스 IF(11)에서의 통신이 행하여지고 있는지의 여부에 관계없이, I3C 슬레이브(14)는, 데드로크가 되는 것을 회피하여 확실하게, 핫 조인을 행할 수가 있다. 따라서 버스 IF(11)에서는, I3C 슬레이브(14)가 버스 IF(11)에 확실하게 참가하고, 그 후의 통신을 정상적으로 행할 수 있다.
그런데, I2C에서는, I3C에서의 통신보다도 저속의 시리얼 클록(SCL)으로 통신이 행하여지기 때문에, 예를 들면, 0.1㎑(=10㎳) 등의 매우 저속으로 통신이 행하여지는 일도 있다. 따라서, I3C 메인 마스터(12)가 I2C 슬레이브(15)와 통신을 행하고 있을 때에, 데이터 신호선(16-1) 및 클록 신호선(16-2)이 H레벨인 상태가 1㎳보다도 길게 계속하는 일이 있다.
예를 들면, 도 4의 B에 도시하는 바와 같이, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속되는 타이밍(t1)에 따라서는, 데이터 신호선(16-1) 및 클록 신호선(16-2)이 H레벨인 상태가 1㎳보다도 길게 계속하는 일이 있다. 그 때문에, 버스 IF(11)에 접속된 I3C 슬레이브(14)가, 버스 IF(11)는 아이들 상태라고 오인식 하는 타이밍(t2)에서, 핫 조인 요구를 행하여 버리는 일이 있다. 그렇지만, 타이밍(t2)에서 I3C 메인 마스터(12) 및 I2C 슬레이브(15)가 통신 중이기 때문에, 그러한 의도하지 않는 핫 조인 요구에 기인하여 통신 에러가 발생해 버리는 것이 상정된다.
그래서, I3C 메인 마스터(12)의 에러 회피 통신 처리부(22)는, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속될 가능성이 있는 경우, I2C 슬레이브(15)와 통신을 행할 때의 통신 속도의 하한을, 예를 들면, 1㎑(H폭=0.5mS)로 제한한다. 이에 의해, I3C 메인 마스터(12)가 I2C 슬레이브(15)와 통신을 행하고 있을 때에, 데이터 신호선(16-1) 및 클록 신호선(16-2)이 H레벨인 상태가 1㎳보다도 길게 계속하는 것을 회피할 수 있다.
따라서 I3C 메인 마스터(12) 및 I2C 슬레이브(15)의 통신 중에 의도하지 않는 핫 조인 요구가 행하여지는 일이 없고, 상술한 바와 같은 통신 에러가 발생하는 것은 회피된다.
또한, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속될 가능성이 없으면, I2C 슬레이브(15)와 통신을 행할 때의 통신 속도의 하한을 제한할 필요는 없다. 그래서, I3C 메인 마스터(12)의 펌웨어에는, 버스 IF(11)의 시스템 설계자가 설계를 행하는 때에 알고 있을 필요가 있는 설정 정보(요건)로서, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속될 가능성이 있는지의 여부를 나타내는 정보가 미리 기록되어 있다. 그 밖에, I3C 메인 마스터(12)의 펌웨어에는, 버스 IF(11)에 접속되는 I3C의 규격에 준거한 디바이스의 개수나, 그들 디바이스의 스태틱 어드레스, 버스 IF(11)에 접속되어 있는 I2C 슬레이브(15)에 관한 정보 등이, 설정 정보로서 기록되어 있다.
이와 같이, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속될 가능성이 있는지의 여부를 나타내는 정보를 I3C 메인 마스터(12)의 펌웨어에 기록하는 것은, I3C 메인 마스터(12)가, 그 정보를 사전에 인식할 수가 없기 때문이다. 예를 들면, 가령, 버스 IF(11)에 접속되는 I3C 슬레이브(14)의 내부의 레지스터에, 그 I3C 슬레이브(14)가 핫 조인에 대응하고 있는 것을 나타내는 플래그가 설정되어 있다고 한다. 그렇지만, I3C 메인 마스터(12)는, 그 I3C 슬레이브(14)의 전원이 온 상태가 되기 전에, 버스 IF(11)를 통하여 레지스터의 내용을 판독할 수가 없다. 즉, I3C 메인 마스터(12)는, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속되는지의 여부를, 핫 조인이 행하여지기 전에 인식할 수가 없다.
따라서 상술한 바와 같이, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속될 가능성이 있는지의 여부를 나타내는 정보를 I3C 메인 마스터(12)의 펌웨어에 미리 기록할 필요가 있다. 또한, 이와 같이 펌웨어에 기록하는 외에, 예를 들면, I3C 메인 마스터(12)에 마련되는 외부 접속단자를 이용하여 핀을 설정함으로써, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속될 가능성이 있는지의 여부를 인식시킬 수 있다.
<I3C 메인 마스터 및 I3C 슬레이브에 의한 처리>
도 5에 도시하는 플로우 차트를 참조하여, I3C 메인 마스터(12)가 실행하는 처리에 관해 설명한다.
예를 들면, I3C 메인 마스터(12)에 전원이 투입되면 처리가 시작되고, 스텝 S11에서, 에러 회피 통신 처리부(22)는, I3C 메인 마스터(12)의 펌웨어에 기록되어 있는 설정 정보를 판독한다.
스텝 S12에서, 에러 회피 통신 처리부(22)는, 스텝 S11에서 판독한 설정 정보에 의거하여, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속될 가능성이 있는지의 여부를 판정한다.
스텝 S12에서, 에러 회피 통신 처리부(22)가, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속될 가능성이 있다고 판정한 경우, 처리는 스텝 S13로 진행된다. 한편, 그 가능성이 없다고 판정된 경우에는, 스텝 S13의 처리는 스킵된다.
스텝 S13에서, 에러 회피 통신 처리부(22)는, 송수신부(21)에 대해, I2C 슬레이브(15)와 통신을 행할 때의 통신 속도의 하한을 규정한다. 이에 따라, 송수신부(21)는, I2C 슬레이브(15)와의 통신 속도의 하한을, 예를 들면, 1㎑(H폭=0.5mS) 정도로 제한한다.
그 후, 스텝 S14에서, I3C 메인 마스터(12)는 통상의 통신 처리를 실행하고, 송수신부(21)는, I3C 슬레이브(14) 또는 I2C 슬레이브(15)와 신호의 송수신을 행한다.
스텝 S15에서, 송수신부(21)는, 핫 조인에 대응한 I3C 슬레이브(14)에 의한 핫 조인 요구가 검출되었는지의 여부를 판정한다. 예를 들면, 버스 IF(11)가 아이들 상태인 때에, 데이터 신호선(16-1)의 전위가 H레벨부터 L레벨로 전환된 경우, 송수신부(21)는, 핫 조인 요구가 검출되었다고 판정한다.
스텝 S15에서, 송수신부(21)가, 핫 조인에 대응한 I3C 슬레이브(14)에 의한 핫 조인 요구가 검출되지 않았다고 판정한 경우, 처리는 스텝 S14로 되돌아와, 이하 마찬가지로, 통상의 통신 처리가 계속해서 행하여진다.
한편, 스텝 S15에서, 송수신부(21)가, 핫 조인에 대응한 I3C 슬레이브(14)에 의한 핫 조인 요구가 검출되었다고 판정한 경우, 처리는 스텝 S16로 진행된다.
스텝 S16에서, 송수신부(21)는, 핫 조인을 요구한 I3C 슬레이브(14)와의 사이에서, 버스 IF(11)에의 참가에 필요해지는 각종의 처리를 행한다. 그 후, 처리는 스텝 S14로 되돌아와, 이하 마찬가지로, 통상의 통신 처리가 계속해서 행하여진다.
이상과 같이, I3C 메인 마스터(12)는, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속될 가능성이 있는 경우에는, I2C 슬레이브(15)와의 통신 속도의 하한을 제한할 수 있다. 이에 의해, I3C 메인 마스터(12)는, I2C 슬레이브(15)의 통신 중에 의도하지 않는 핫 조인 요구가 행하여지는 것을 회피하고, 그와 같은 핫 조인 요구에 기인한 통신 에러의 발생을 방지할 수 있다. 따라서, I3C 메인 마스터(12)는, 버스 IF(11)에서의 통신을, 보다 확실하게 행할 수 있다.
도 6에 도시하는 플로우 차트를 참조하여, I3C 슬레이브(14)가 핫 조인을 행할 때에 실행하는 처리에 관해 설명한다.
예를 들면, 버스 IF(11)에 접속된 I3C 슬레이브(14)에 전원이 투입되면 처리가 시작되고, 스텝 S21에서, 에러 회피 접속 처리부(32)는, 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위를 감시한다.
스텝 S22에서, 에러 회피 접속 처리부(32)는, 스텝 S21에서의 전위의 감시 결과에 의거하여, 버스 아이들 카운터의 카운트 기점의 조건이 검출되었는지의 여부를 판정한다. 예를 들면, 에러 회피 접속 처리부(32)는, 상술한 도 3을 참조하여 설명한 바와 같이, 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위가 H레벨인 것을 검출한 때, 버스 아이들 카운터의 카운트 기점의 조건이 검출되었다고 판정한다.
스텝 S22에서, 에러 회피 접속 처리부(32)가, 버스 아이들 카운터의 카운트 기점의 조건이 검출되지 않았다고 판정한 경우, 처리는 스텝 S21로 되돌아와, 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위의 감시가 계속해서 행하여진다.
한편, 스텝 S22에서, 에러 회피 접속 처리부(32)가, 버스 아이들 카운터의 카운트 기점의 조건이 검출되었다고 판정한 경우, 에러 회피 접속 처리부(32)는 버스 아이들 카운터를 기동하여 카운트를 시작시키고, 처리는 스텝 S23로 진행된다.
스텝 S23에서, 에러 회피 접속 처리부(32)는, 버스 IF(11)가 아이들 상태인 것이 확인되었는지의 여부를 판정한다. 예를 들면, 버스 아이들 카운터는, 데이터 신호선(16-1) 및 클록 신호선(16-2)이 H레벨인 상태를 유지하고 있는 동안만 카운트를 계속한다. 따라서, 에러 회피 접속 처리부(32)는, 버스 아이들 카운터에 의한 카운트가 1㎳를 초과한 때, 버스 IF(11)가 아이들 상태이라고 확인할 수 있다.
스텝 S23에서, 에러 회피 접속 처리부(32)가, 버스 IF(11)가 아이들 상태인 것이 확인되지 않았다고 판정한 경우, 처리는 스텝 S21로 되돌아온다. 예를 들면, 버스 아이들 카운터에 의한 카운트가 1㎳ 미만 중에 데이터 신호선(16-1) 또는 클록 신호선(16-2)의 전위가 L레벨이 된 경우, 버스 IF(11)가 아이들 상태인 것이 확인되지 않았다고 판정된다. 즉, 이 경우, 버스 IF(11)는 아이들 상태가 아니기 때문에, 핫 조인 요구가 행하여지지 않고, 처리는 스텝 S21로 되돌아와, 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위의 감시가 계속해서 행하여진다.
한편, 스텝 S23에서, 에러 회피 접속 처리부(32)가, 버스 IF(11)가 아이들 상태인 것이 확인되었다고 판정한 경우, 처리는 스텝 S24로 진행하여, 에러 회피 접속 처리부(32)는, 송수신부(31)에 대해 핫 조인 요구를 행하도록 지시한다. 이에 응하여, 송수신부(31)는, 데이터 신호선(16-1)의 전위를 H레벨부터 L레벨로 전환함에 의해, 핫 조인 요구를 행한다.
스텝 S24의 처리 후, I3C 슬레이브(14)가 핫 조인을 행할 때에 실행하는 처리는 종료된다. 그 후, 예를 들면, 상술한 도 5의 스텝 S16에서, I3C 메인 마스터(12)와의 사이에서, 버스 IF(11)에의 참가에 필요해지는 각종의 처리가 행하여지고, I3C 슬레이브(14)는, 버스 IF(11)에 참가할 수 있다.
이상과 같이, I3C 슬레이브(14)는, 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위가 H레벨인 것의 검출을, 버스 아이들 카운터의 카운트 기점의 조건으로 하여, 버스 IF(11)가 아이들 상태인지의 여부를 확인할 수 있다. 이에 의해, 버스 IF(11)에 접속된 I3C 슬레이브(14)가, 버스 IF(11)가 아이들 상태인지의 여부의 확인을 시작할 수가 없어서, 버스 IF(11)에 참가할 수 없게 되는 것을 회피할 수 있다. 따라서, 버스 IF(11)에 접속된 I3C 슬레이브(14)는, 핫 조인 요구를 확실하게 행할 수 있고, 버스 IF(11)에 참가하여 통신을 행할 수 있다.
<버스 IF의 제2의 구성례>
도 7은, 본 기술을 적용한 버스 IF(11)의 제2의 실시의 형태의 구성례를 도시하는 블록도이다.
도 7에 도시하는 버스 IF(11A)는, I3C 메인 마스터(12A), 및, I3C 슬레이브(14-1 내지 14-3)가, 데이터 신호선(16-1) 및 클록 신호선(16-2)을 통하여 접속되어 구성되어 있다. 또한, 버스 IF(11A)에서, 도 3의 버스 IF(11)와 공통되는 구성에 관해서는, 동일한 부호를 붙이고, 그 상세한 설명은 생략한다.
즉, 버스 IF(11A)는, I2C 슬레이브(15)의 공존이 금지되어 있고, I2C 슬레이브(15)가 접속되지 않는 구성으로 되어 있는 점에서, 도 3을 참조하여 설명한 버스 IF(11)와 다른 구성으로 되어 있다.
상술한 바와 같이, 도 3의 버스 IF(11)에서는, I2C 슬레이브(15)의 공존이 허가되어 있음에 의해, I3C 메인 마스터(12) 및 I2C 슬레이브(15)의 통신 중에 의도하지 않는 핫 조인 요구가 행하여지는 일이 있고, 이에 의해 통신 에러가 발생하는 일이 있었다. 그 때문에, 도 3의 버스 IF(11)에서는, I3C 메인 마스터(12)가 I2C 슬레이브(15)와 통신을 행할 때의 통신 속도의 하한을 제한하여, 통신 에러의 발생을 회피할 필요가 있었다.
이에 대해, 버스 IF(11A)에서는, I2C 슬레이브(15)가 접속되지 않는 구성으로 되어 있기 때문에, 의도하지 않는 핫 조인 요구가 행하여지는 일도 없다. 따라서, I3C 메인 마스터(12A)는, 송수신부(21)를 구비할 뿐이면 좋고, 도 3의 에러 회피 통신 처리부(22)를 구비할 필요가 없는 구성으로 되어 있다.
또한, 버스 IF(11A)의 I3C 슬레이브(14)는, 도 3의 버스 IF(11)의 I3C 슬레이브(14)와 마찬가지로, 송수신부(31) 및 에러 회피 접속 처리부(32)를 구비하여 구성되어, 데드로크가 발생하는 일 없이 핫 조인을 행할 수가 있다. 즉, I3C 슬레이브(14)의 에러 회피 접속 처리부(32)는, 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위가 H레벨인 것을 검출한 때, 버스 아이들 카운터의 카운트를 시작시켜, 버스 IF(11)가 아이들 상태인지의 여부를 확인한다. 즉, I3C 슬레이브(14)는, 상술한 도 5에 도시한 플로우 차트와 같은 처리를 행할 수가 있다.
이상과 같이, 버스 IF(11A)는, I2C 슬레이브(15)의 공존이 금지된 구성으로 함으로써, 의도하지 않는 핫 조인 요구에 기인한 통신 에러가 발생하는 일이 없고, 버스 IF(11A)에 접속되는 I3C 슬레이브(14)는, 핫 조인을 확실하게 행할 수 있다. 따라서, 버스 IF(11A)에서는, 핫 조인된 I3C 슬레이브(14)는 확실하게 통신을 행할 수 있다.
그런데, I2C 슬레이브(15)의 공존이 금지되어 있음에도 불구하고, 버스 IF(11A)에 대해 I2C 슬레이브(15)가 접속되어 버리는 것에 대해 대책을 마련할 필요가 있다.
예를 들면, I3C 메인 마스터(12A)가, 금지사항에 반하여 접속되어 있는 I2C 슬레이브(15)와 통신을 행하고 있을 때에, I3C 슬레이브(14)가 핫 조인 요구를 행함에 의해 통신 에러(이하 적절히, HJ 요구 에러라고 칭한다)가 발생한다. 단, 전파(傳播) 지연(propagation delay)이 발생하는데 수반하여, I3C 메인 마스터(12A)가 HJ 요구 에러를 검출할 수 없는 일도 있다.
도 8을 참조하여, I3C 메인 마스터(12A)가 I2C 슬레이브(15)와 0.1㎑(=10㎳)의 통신 속도로 통신을 행하고 있을 때에, HJ 요구 에러가 발생한 때의 신호에 관해 설명한다.
도 8의 A에는, I3C 메인 마스터(12A)가, HJ 요구 에러를 검출할 수 있는 경우에 있어서의 신호의 파형이 도시되어 있고, 도 8의 B에는, I3C 메인 마스터(12A)가, HJ 요구 에러를 검출할 수 없는 경우에 있어서의 신호의 파형이 도시되어 있다. 또한, 도 8의 A 및 도 8의 B의 상측에는, I3C 메인 마스터(12A)의 출력단에서의 시리얼 클록(SCLm), 및, I3C 메인 마스터(12A)의 출력단에서의 시리얼 데이터(SDAm)가 도시되어 있다. 마찬가지로, 도 8의 A 및 도 8의 B의 하측에는, I3C 슬레이브(14)의 출력단에서의 시리얼 클록(SCLs), 및, I3C 슬레이브(14)의 출력단에서의 시리얼 데이터(SDAs)가 도시되어 있다.
도 8의 A에 도시하는 바와 같이, I3C 메인 마스터(12A)가 시리얼 클록(SCLm)을 H레벨부터 L레벨로 구동한 때, 전파 지연에 응하여 지연된 후, 시리얼 클록(SCLs)이, H레벨부터 L레벨로 전환된다. 그 후, 시리얼 클록(SCLs) 및 시리얼 데이터(SDAs)가 H레벨인 때에, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11A)에 접속되면, 그 I3C 슬레이브(14)는, 버스 아이들 카운터를 기동한다. 그리고, 시리얼 클록(SCLs) 및 시리얼 데이터(SDAs)가 H레벨을 유지한 채로 1㎳가 경과하면, I3C 슬레이브(14)는, 시리얼 클록(SCLs)을 H레벨부터 L레벨로 구동하여 핫 조인 요구를 행한다.
이때, 도 8의 A에 도시하는 바와 같이, 전파 지연에 응하여 시리얼 클록(SCLm)이 H레벨부터 L레벨로 전환될 때까지의 타이밍이, I3C 메인 마스터(12A)가 시리얼 클록(SCLm)을 H레벨부터 L레벨로 구동하는 타이밍보다도 빠르면, I3C 메인 마스터(12A)는, HJ 요구 에러를 검출할 수 있다. 따라서, 이 경우, I3C 메인 마스터(12A)는, I2C 슬레이브(15)와의 통신에서 사용하는 통신 속도에 따라 시리얼 클록(SCLm)을 H레벨부터 L레벨로 구동하기보다도 전에, I2C 슬레이브(15)와의 통신에서 사용하는 통신 속도의 시리얼 클록(SCL)의 송신을 정지한다. 그리고, I3C 메인 마스터(12A)는, I3C 슬레이브(14)와의 통신에서 사용하는 통신 속도의 시리얼 클록(SCL)의 송신으로 전환하여, I3C 슬레이브(14)와 통신을 행할 수 있다.
한편, 도 8의 B에 도시하는 바와 같이, 전파 지연에 응하여 시리얼 클록(SCLm)이 H레벨부터 L레벨로 전환될 때까지의 타이밍이, I3C 메인 마스터(12A)가 시리얼 클록(SCLm)을 H레벨부터 L레벨로 구동하는 타이밍보다도 느리면, I3C 메인 마스터(12A)는, HJ 요구 에러를 검출할 수가 없다. 즉, 도 8의 B에서 속이 하얀 화살표로 도시하는 바와 같이, 핫 조인 요구를 행하고 나서, I3C 메인 마스터(12A)의 구동에 따라 시리얼 클록(SCLs)이 H레벨부터 L레벨로 전환될 때까지의 간격이 짧은 경우, HJ 요구 에러를 검출하는 것은 곤란하다. 따라서, 이 경우, I3C 메인 마스터(12A)는, I3C 슬레이브(14)와 통신을 행할 수가 없다.
이와 같이 HJ 요구 에러가 발생하는 사태에 대해, I3C 메인 마스터(12A) 또는 I2C 슬레이브(15)는, 다음에 나타내는 바와 같은 제1 내지 제4의 대책을 행할 수가 있다.
제1의 대책에서는, I3C 메인 마스터(12A)는, HJ 요구 에러를 검출할 수 있는 경우, 핫 조인을 요구하여 온 I3C 슬레이브(14)를 우선하여, I2C 슬레이브(15)와의 통신을 중단한다. 그리고, I3C 메인 마스터(12A)는, I3C의 통신에서 사용하는 통신 속도의 시리얼 클록(SCL)을 송신하여, I3C 슬레이브(14)가 버스 IF(11A)에 참가하는데 필요한 처리를 행한다. 그 후, I3C 메인 마스터(12A)는, 중단하기 전과 같은 통신 속도로 I2C 슬레이브(15)와의 통신을 재개하다. 또한, 제1의 대책에서는, I3C 메인 마스터(12A)가, 재차, HJ 요구 에러를 검출할 가능성이 있다. 이 때문에, I3C 메인 마스터(12A)는, HJ 요구 에러를 검출할 때마다, 같은 처리를 행할 필요가 있다.
제2의 대책에서는, I3C 메인 마스터(12A)는, HJ 요구 에러를 검출할 수 있는 경우, 핫 조인을 요구하여 온 I3C 슬레이브(14)를 우선하고, I2C 슬레이브(15)와의 통신을 중단한다. 그리고, I3C 메인 마스터(12A)는, I3C의 통신에서 사용하는 통신 속도의 시리얼 클록(SCL)을 송신하여, I3C 슬레이브(14)가 버스 IF(11A)에 참가하는데 필요한 처리를 행한다. 그 후, I3C 메인 마스터(12A)는, HJ 요구 에러가 발생하지 않는 정도로, 통신을 중단하기 전보다도 통신 속도를 올려서, 예를 들면, 시리얼 클록(SCL)을 0.1㎑ 이상으로 하여, I2C 슬레이브(15)와의 통신을 재개한다.
제3의 대책에서는, I3C 메인 마스터(12A)는, HJ 요구 에러를 검출할 수 있는 경우, 핫 조인을 요구하여 온 I3C 슬레이브(14)를 우선하고, I2C 슬레이브(15)와의 통신을 중단한다. 그리고, I3C 메인 마스터(12A)는, 핫 조인에 대응하고 있는 I3C 슬레이브(14)가 이후, 핫 조인을 요구하지 않도록 지시하는 커먼 커맨드 코드(DISEC CCC)를 일제히 송신한다. 이에 의해, 버스 IF(11A)에 접속되어 있는 각 I3C 슬레이브(14)에서는, 핫 조인 요구가 무효(Hot-Join Event bit가 disable)에 설정된다. 그 후, I3C 메인 마스터(12A)는, 중단한 I2C 슬레이브(15)와의 통신을 재개한다.
제4의 대책에서는, I3C 메인 마스터(12A)는, HJ 요구 에러를 검출할 수가 없게 된 경우, I2C 슬레이브(15)와의 통신을 계속해서 행하게 된다. 이 때문에, I3C 슬레이브(14)가, I3C 메인 마스터(12A)에서 HJ 요구 에러를 검출할 수가 없었던 것을 인식하고, 재차, 핫 조인 요구를 행할 수 있도록 할 필요가 있다.
여기서, 도 9에 도시하는 핫 조인 요구에 계속되어 전송되는 신호를 참조하여, 제4의 대책에 관해 설명한다.
예를 들면, I3C 슬레이브(14)는, 핫 조인 요구(S)를 송신하는 것에 뒤이어서, 핫 조인 예약(豫約) 어드레스(0x02)를 송신한다. 또한, 핫 조인 요구, 즉, 시리얼 데이터(SDA)를 H레벨부터 L레벨로 전환하는 구동은, 스타트 컨디션(START)의 발행과 마찬가지로 구동된다.
한편, I3C에서는, 핫 조인 요구(S)를 수신하고, 계속해서 핫 조인 예약 어드레스(0x02)를 수신한 I3C 메인 마스터(12A)는, 이하의 3개의 동작 중의 하나를 선택하여 행하도록 규정되어 있다.
제1의 동작으로서, I3C 메인 마스터(12A)는, 신호의 수신을 정상적으로 행할 수가 없었던 것을 나타내는 NACK(Negative Acknowledgement)를 송신한다. 그리고, NACK를 수신한 I3C 슬레이브(14)는, 핫 조인 요구를 리트라이(retry)할 수 있다.
제2의 동작으로서, I3C 메인 마스터(12A)는, 일단, 신호의 수신을 정상적으로 행할 수 있었던 것을 나타내는 ACK(Acknowledgement)를 송신하고, 계속해서, 핫 조인을 요구하지 않도록 지시하는 커먼 커맨드 코드(DISEC CCC)를 송신한다. 이에 의해, 상술한 제3의 대책과 마찬가지로, I3C 슬레이브(14)에서는, 핫 조인 요구가 무효(Hot-Join Event bit가 disable)로 설정된다.
제3의 동작으로서, I3C 메인 마스터(12A)는, ACK를 송신한 후, 도 9에 도시하는 바와 같이, 다이내믹 디바이스 할당을 입력하는 ENTDAA(Enter Dynamic Device Assignment)를 송신하여, 어드레스를 어사인 한다.
이와 같이, I3C에서는, 핫 조인 요구에 대해, I3C 메인 마스터(12A)가, 제1 내지 제3의 동작을 행하는 것이 정의되어 있다. 따라서, I3C 슬레이브(14)는, 이들 이외의 동작이 행하여진 것을 검출한 경우, 핫 조인 요구에 대해 정의되어 있는 동작과는 다른 동작이 행하여진 것에 의한 에러(이하, HJ 포맷 에러라고 칭한다)를 인식할 수 있다.
여기서, I3C 메인 마스터(12A)가 HJ 요구 에러를 검출할 수가 없었던 경우, I3C 메인 마스터(12A)는, I2C 슬레이브(15)와의 통신을 계속해서 행하게 된다. 한편, 핫 조인을 요구한 I3C 슬레이브(14)는, 핫 조인 예약 어드레스(0x02) 등의 송신을 행하여, 그 후의 통신을 계속하려고 한다. 이와 같이, I3C 메인 마스터(12A)가 I2C 슬레이브(15)와의 통신을 계속해서 행하는 경우, 핫 조인을 요구한 I3C 슬레이브(14)는, 상술한 제1 내지 제3의 동작이 모두 행하여지지 않는 것에 의거하여, HJ 포맷 에러를 검출할 수 있다.
따라서 제4의 대책에서는, I3C 슬레이브(14)가, HJ 포맷 에러를 검출한 후, 핫 조인 요구를 행하는 처리를 일단 정지하고, 충분한 시간이 경과한 후에, 재차, 핫 조인 요구를 행한다. 이에 의해, I3C 슬레이브(14)가 데드로크하는 것을 회피할 수 있다.
또한, 제4의 대책에서의 다른 방법으로서, I3C 슬레이브(14)가 모니터링 에러(기존의 S6 에러)를 이용하는 방법을 채용하여도 좋다. 모니터링 에러란, 원칙으로서, I3C 슬레이브(14)가 스스로 송신한 값과, 버스 IF(11A)상에 송신한 데이터가 불일치한 것을 나타내는 에러이다.
예를 들면, I3C 슬레이브(14)가 핫 조인 요구를 송신하는 한편, I3C 메인 마스터(12A)가 I2C 슬레이브(15)에 신호를 송신하는 경우, 버스 IF(11A)상에서 신호가 충돌함에 의해, 어느 신호에도 모니터링 에러가 검출되다. 따라서, I3C 슬레이브(14)는, 모니터링 에러를 검출한 후, 핫 조인 요구를 행하는 처리를 일단 정지하고, 충분한 시간이 경과한 후에, 재차, 핫 조인 요구를 행한다. 이에 의해, I3C 슬레이브(14)가 데드로크하는 것을 회피할 수 있다.
이상과 같이, I2C 슬레이브(15)의 공존이 금지된 버스 IF(11A)에서는, 상술한 바와 같은 제1 내지 제4의 대책을 행하도록 규정한다. 이에 의해, 금지사항에 반하여 버스 IF(11A)에 I2C 슬레이브(15)가 접속되어, HJ 요구 에러가 발생하였다고 하여도, I3C 메인 마스터(12A)는, 버스 IF(11A)에 접속된 I3C 슬레이브(14)에 의한 핫 조인 요구에 대응할 수 있다. 따라서, 핫 조인을 요구한 I3C 슬레이브(14)가 버스 IF(11A)에 확실하게 참가할 수 있고, 그 후의 통신을 정상적으로 행할 수 있다.
<버스 IF의 제3의 구성례>
도 10은, 본 기술을 적용한 버스 IF(11)의 제3의 실시의 형태의 구성례를 도시하는 블록도이다.
도 10에 도시하는 버스 IF(11B)는, I3C 메인 마스터(12B), I3C 슬레이브(14B-1 및 14B-2), 및, I2C 슬레이브(15)가, 데이터 신호선(16-1) 및 클록 신호선(16-2)을 통하여 접속되어 구성된다. 또한, 버스 IF(11B)에서, 도 3의 버스 IF(11)와 공통되는 구성에 관해서는, 동일한 부호를 붙이고, 그 상세한 설명은 생략한다.
즉, 버스 IF(11B)에서는, I3C 메인 마스터(12B)가, 도 3의 에러 회피 통신 처리부(22)와는 다른 처리를 행하는 에러 회피 통신 처리부(22B)를 구비하여 구성됨과 함께, I3C 슬레이브(14B)가, 도 3의 에러 회피 접속 처리부(32)를 구비하지 않고서 구성되는 점에서, 도 3의 버스 IF(11)와 다른 구성으로 되어 있다.
또한, I3C 슬레이브(14B)에서는, 도 2를 참조하여 설명한 것과 마찬가지로, 스톱 컨디션을 검출하는 것이, 버스 아이들 카운터가 카운트를 시작하는 카운트 기점의 조건으로서 설정되어 있다.
그리고, I3C 메인 마스터(12B)의 에러 회피 통신 처리부(22B)는, I3C 슬레이브(14B)의 데드로크를 회피하기 위해, 송수신부(21)에 대해, 스톱 컨디션을 포함한 임의의 폴링 신호를 정기적으로 발행하도록 지시하는 처리를 행한다. 이 지시에 따라, 송수신부(21)는, 예를 들면, 버스 IF(11B)의 시스템 전체에 대한 제어에 악영향을 주는 일이 없는 폴링 신호를, 정기적(예를 들면, 10㎳마다)으로 송신하는 폴링을 행한다.
예를 들면, 폴링 신호로서, 디바이스의 상태의 취득을 지시하는 커먼 커맨드 코드인 겟스태터스(GETSTATUS)을 사용할 수 있다. 그 밖에, 48비트의 PID(Provisional ID)라고 칭하여지는 정보(예를 들면, 디바이스의 제조 메이커 이름 등이 기술된 고정치)의 취득을 지시하는 겟PID(GETPID)나, 디바이스의 BCR(Bus Characteristics Register)의 취득을 지시하는 겟BCR(GETBCR) 등을 사용해도 좋다.
따라서 상술한 도 2의 B를 참조하여 설명한 바와 같이, 버스 IF(11B)의 통신이 행하여지지 않는 타이밍에서 I3C 슬레이브(14)가 접속되었다고 하여도, 폴링 신호가 정기적으로 송신됨에 의해, I3C 슬레이브(14B)가 데드로크하는 것은 회피된다. 즉, 버스 IF(11B)에 접속된 I3C 슬레이브(14B)는, 폴링 신호에 포함되어 있는 스톱 컨디션을 검출함으로써, 버스 아이들 카운터를 기동할 수 있고, 그 후, 버스 IF(11B)가 아이들 상태인지의 여부를 판정할 수 있다.
이상과 같이, 버스 IF(11B)에서는, I3C 메인 마스터(12B)가, 스톱 컨디션을 포함하는 임의의 폴링 신호를 정기적으로 발행함에 의해, 버스 IF(11B)에 접속된 I3C 슬레이브(14B)는, 핫 조인 요구를 확실하게 행할 수 있다. 이에 의해, 핫 조인에 대응한 I3C 슬레이브(14B)는, 버스 IF(11)에 참가하여 확실하게 통신을 행할 수 있다.
<I3C 메인 마스터 및 I3C 슬레이브의 실장례(實裝例)>
도 11은, I3C 메인 마스터(12)의 실장례를 도시하는 블록도이다.
도 11에 도시하는 바와 같이, I3C 메인 마스터(12)는, 제1의 버스 아이들 카운터(51), 제2의 버스 아이들 카운터(52), 선택부(53), FSM(Finite State Machine)(54), 레지스터(55), 속도 판정부(56), 및 정기 송신용 타이머(57)를 구비하여 구성된다. 또한, 레지스터(55) 및 속도 판정부(56)는, 하드웨어로서 실장할 필요는 없다.
여기서, 도 11에 도시하는 I3C 메인 마스터(12)는, 도 1의 I3C 세컨더리 마스터(13)와 마찬가지로, 핫 조인에 대응한 I3C 슬레이브(14)로서도 동작할 수 있도록 구성되어 있다. 따라서, 도 11에 도시되어 있는 제1의 버스 아이들 카운터(51), 제2의 버스 아이들 카운터(52), 및 선택부(53)는, 핫 조인에 대응한 I3C 슬레이브(14)로서 동작하는 경우에만 구동한다. 이에 의해, 제1의 버스 아이들 카운터(51), 제2의 버스 아이들 카운터(52), 및 선택부(53)에 관해서는, 도 12에 도시하는 I3C 슬레이브(14)를 참조하여 후술한다.
FSM(54)에는, 시리얼 데이터(SDA)를 전송하는 데이터 신호선(16-1), 및, 시리얼 클록(SCL)을 전송하는 클록 신호선(16-2)이 접속되어 있다. 예를 들면, FSM(54)은, 후술하는 도 12에 도시하는 I3C 슬레이브(14)의 FSM(54)과의 사이에서, 데이터 신호선(16-1) 및 클록 신호선(16-2)을 구동함에 의한 신호의 송신 및 수신을 행한다.
레지스터(55)에는, FSM(54)이 통신을 행할 때에 이용하는 각종의 정보가 기록되어 있고, 예를 들면, 도 4를 참조하여 상술한 바와 같은 I2C 슬레이브(15)와 통신을 행할 때의 통신 속도의 하한을 지시하는 속도 지시치가 기록되어 있다.
속도 판정부(56)는, 레지스터(55)로부터 속도 지시치를 판독하고, 속도 지시치에 의해 지시되어 있는 통신 속도의 하한을 하회하지 않도록 FSM(54)에 대한 설정을 행한다. 그리고, 속도 판정부(56)는, I3C 메인 마스터(12)가 I2C 슬레이브(15)와 통신을 행할 때에, 그 통신 속도가 하한을 하회하는지의 여부를 판정한다. 예를 들면, 속도 판정부(56)는, I2C 슬레이브(15)와의 통신 속도가 하한을 하회하였다고 판정한 경우에는, 통신 속도가 하한을 하회하는 에러가 발생한 것을 나타내는 정보를 레지스터(55)에 기록한다.
정기 송신용 타이머(57)는, 도 10을 참조하여 상술한 바와 같은 스톱 컨디션을 포함한 임의의 폴링 신호를 정기적으로 송신할 때에, 그 정기적인 간격을 계시(計時)하고, 폴링 신호의 송신을 행하는 타이밍을 FSM(54)에 대해 지시한다. 예를 들면, I3C 메인 마스터(12)가, 스톱 컨디션을 포함하는 임의의 폴링 신호를 정기적으로 송신하도록 운용되는 경우, FSM(54)은, 정기적인 간격의 계시를 유효하게 하는 것을 지시하는 신호(stp_timer_en)를, 정기 송신용 타이머(57)에 공급한다. 이에 응하여, 정기 송신용 타이머(57)는, 폴링 신호를 송신하는 타이밍이 되면, 폴링 신호의 송신을 지시하는 신호(stp_send)를, FSM(54)에 공급한다.
이와 같이 I3C 메인 마스터(12)를 실장할 수 있고, I3C 메인 마스터(12)는, 상술한 바와 같은 데드로크 또는 통신 에러가 발생하는 것을 회피하도록, 버스 IF(11)에 의한 통신 처리를 제어할 수 있다.
도 12는, I3C 슬레이브(14)의 실장례를 도시하는 블록도이다.
도 12에 도시하는 바와 같이, I3C 슬레이브(14)는, 제1의 버스 아이들 카운터(51), 제2의 버스 아이들 카운터(52), 선택부(53), 및 FSM(54)을 구비하여 구성된다.
제1의 버스 아이들 카운터(51) 및 제2의 버스 아이들 카운터(52)는, 각각 데이터 신호선(16-1) 및 클록 신호선(16-2)에 접속되어 있고, 버스 IF(11)가 아이들 상태인 것을 확인하기 위한 카운트를 행한다.
예를 들면, 제1의 버스 아이들 카운터(51)에는, 도 2를 참조하여 설명한 바와 같이, 스톱 컨디션을 검출한 때에 카운트를 시작하도록 카운트 기점의 조건이 설정되어 있다. 따라서, 제1의 버스 아이들 카운터(51)는, 스톱 컨디션을 검출한 타이밍에서 카운트를 시작하고, 데이터 신호선(16-1) 및 클록 신호선(16-2)이 H레벨인 상태가 계속해서 있는 시간이, 예를 들면, 1㎳가 되었을 때에, 그 취지를 나타내는 신호를 출력한다. 예를 들면, 제1의 버스 아이들 카운터(51)는, 통상의 통신이 종료된 때에 발행되는 스톱 컨디션, 또는, 도 11의 정기 송신용 타이머(57)에 의해 정기적으로 송신되는 폴링 신호에 포함된 스톱 컨디션을 검출할 수 있다.
또한, 제2의 버스 아이들 카운터(52)에는, 도 4를 참조하여 설명한 바와 같이, 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위가 H레벨인 것을 검출한 때에 카운트를 시작하도록 카운트 기점의 조건이 설정되어 있다. 따라서, 제2의 버스 아이들 카운터(52)는, 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위가 H레벨인 것을 검출한 타이밍에서 카운트를 시작하고, 데이터 신호선(16-1) 및 클록 신호선(16-2)이 H레벨인 상태가 계속하고 있는 시간이, 예를 들면, 1㎳가 되었을 때에, 그 취지를 나타내는 신호를 출력한다.
선택부(53)는, 외부 단자를 통하여 행하여지는 설정(예를 들면, 핀을 이용한 설정)에 따라, 제1의 버스 아이들 카운터(51) 및 제2의 버스 아이들 카운터(52) 중, 어느 일방의 출력을 선택하여 FSM(54)에 공급한다. 또한, 선택부(53)에 대한 선택의 설정은, 외부 단자 외에, 예를 들면, 불휘발성 메모리를 이용하여 행할 수 있고, 레지스터에 의한 설정은 불가로 된다. 이것은, 예를 들면, I3C 메인 마스터(12)가 레지스터에 액세스하기 전에, 선택부(53)에 대한 선택의 설정을 행할 필요가 있기 때문이다.
FSM(54)은, 상술한 도 11의 I3C 메인 마스터(12)의 FSM(54)과의 사이에서, 데이터 신호선(16-1) 및 클록 신호선(16-2)을 구동함에 의한 신호의 송신 및 수신을 행한다. 그리고, FSM(54)은, I3C 슬레이브(14)가 버스 IF(11)에 접속되고, 제1의 버스 아이들 카운터(51) 또는 제2의 버스 아이들 카운터(52)로부터 출력되는 신호가, 선택부(53)를 통하여 공급되면, 데이터 신호선(16-1)의 전위를 H레벨부터 L레벨로 전환하여 핫 조인 요구를 행한다.
이와 같이 I3C 슬레이브(14)를 실장할 수 있고, 제1의 버스 아이들 카운터(51)에 의해 스톱 컨디션을 검출한 때, 또는, 제2의 버스 아이들 카운터(52)에 의해 데이터 신호선(16-1) 및 클록 신호선(16-2)의 전위가 H레벨인 것을 검출한 때, 어느 하나에 대응하여, 핫 조인 요구를 행할 수가 있다. 또한, 버스 IF(11)의 구성이, 어느 일방에 결정되어 있는 경우, I3C 슬레이브(14)는, 그 결정에 따라, 제1의 버스 아이들 카운터(51) 및 제2의 버스 아이들 카운터(52)의 일방을 구비하는 구성으로 하여도 좋다.
예를 들면, I3C 슬레이브(14)가 제1의 버스 아이들 카운터(51)를 구비하여 구성될 때에는, 상술한 도 10의 I3C 슬레이브(14B)로서 기능한다. 한편, I3C 슬레이브(14)가 제2의 버스 아이들 카운터(52)를 구비하여 구성될 때에는, 상술한 도 3 또는 도 7의 I3C 슬레이브(14)로서 기능한다.
도 13을 참조하여, 도 11의 I3C 메인 마스터(12)가 실행하는 처리에 관해 설명한다.
예를 들면, I3C 메인 마스터(12)에 전원이 투입되면 처리가 시작되고, 스텝 S31에서, I3C 메인 마스터(12)는, 펌웨어에 기록되어 있는 설정 정보를 판독한다.
스텝 S32에서, I3C 메인 마스터(12)의 FSM(54)은, 스텝 S31에서 판독한 설정 정보에 의거하여, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속될 가능성이 있는지의 여부를 판정한다.
스텝 S32에서, I3C 메인 마스터(12)의 FSM(54)이, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속될 가능성이 없다고 판정한 경우, 처리는 스텝 S37로 진행되고, 통상의 통신 처리가 실행된다. 즉, 이 경우, I3C 슬레이브(14)의 핫 조인에 수반한 데드로크 또는 통신 에러가 발생하는 일 없이 통신 처리가 행하여진다.
한편, 스텝 S32에서, I3C 메인 마스터(12)의 FSM(54)이, 핫 조인에 대응한 I3C 슬레이브(14)가 버스 IF(11)에 접속될 가능성이 있다고 판정한 경우, 처리는 스텝 S33으로 진행된다.
스텝 S33에서, I3C 메인 마스터(12)의 FSM(54)은, 버스 IF(11)에 접속될 가능성이 있는 핫 조인에 대응한 I3C 슬레이브(14)는, 도 12에 도시한 제2의 버스 아이들 카운터(52)를 구비하고 있는지의 여부를 판정한다. 또한, 이 판정을 행하기 위해 필요한 설정 정보도, 시스템 설계자에 의해 I3C 메인 마스터(12)의 펌웨어에 미리 기록되어 있다.
스텝 S33에서, 버스 IF(11)에 접속될 가능성이 있는 핫 조인에 대응한 I3C 슬레이브(14)는, 도 12에 도시한 제2의 버스 아이들 카운터(52)를 구비하지 않는다고 판정된 경우, 처리는 스텝 S34로 진행된다. 즉, 이 경우, 그 I3C 슬레이브(14)는, 제1의 버스 아이들 카운터(51)에 의한 스톱 컨디션의 검출을 카운트 기점의 조건으로 하고 있다. 따라서, 버스 IF(11)에 접속될 가능성이 있는 I3C 슬레이브(14)는, 상술한 도 10에 도시되어 있는 I3C 슬레이브(14B)와 같이 에러 회피 접속 처리부(32)를 구비하지 않는 것이 상정되기 때문에, 데드로크의 발생을 회피시킬 필요가 있다.
스텝 S34에서, I3C 메인 마스터(12)의 FSM(54)은, 스톱 컨디션을 포함하는 임의의 폴링 신호를 정기적으로 송신하도록 설정을 행한다. 예를 들면, I3C 메인 마스터(12)의 FSM(54)은, 정기적인 간격의 계시를 유효하게 하는 것을 지시하는 신호(stp_timer_en)를, 정기 송신용 타이머(57)에 공급한다. 그 후, 처리는 스텝 S37로 진행되고, 이 경우, 통상의 통신 처리에서 정기적으로 폴링 신호의 송신이 행하여진다.
한편, 스텝 S33에서, 버스 IF(11)에 접속될 가능성이 있는 핫 조인에 대응한 I3C 슬레이브(14)는, 도 12에 도시한 제2의 버스 아이들 카운터(52)를 구비하고 있다고 판정된 경우, 처리는 스텝 S35로 진행된다.
스텝 S35에서, I3C 메인 마스터(12)의 FSM(54)은, 스텝 S31에서 판독한 설정 정보에 의거하여, 버스 IF(11)상에 I2C 슬레이브(15)가 접속되어 있는지의 여부를 판정한다.
스텝 S35에서, I3C 메인 마스터(12)의 FSM(54)이, 버스 IF(11)상에 I2C 슬레이브(15)가 접속되지 않았다고 판정한 경우, 처리는 스텝 S37로 진행되어, 통상의 통신 처리가 실행된다. 즉, 이 경우, 버스 IF(11)에서는, 도 4를 참조하여 상술한 바와 같은 의도하지 않는 핫 조인 요구가 행하여지는 일은 없이 통신 처리를 행할 수가 있다.
한편, 스텝 S35에서, I3C 메인 마스터(12)의 FSM(54)이, 버스 IF(11)상에 I2C 슬레이브(15)가 접속되어 있다고 판정한 경우, 처리는 스텝 S36로 진행된다. 즉, 이 경우, 버스 IF(11)에서는, 도 2를 참조하여 상술한 바와 같은 데드로크의 발생을 회피시킬 필요가 있다.
스텝 S36에서, I3C 메인 마스터(12)의 FSM(54)은, 버스 IF(11)에 접속되어 있는 I2C 슬레이브(15)와의 통신 속도의 하한을 제한한다. 예를 들면, 속도 판정부(56)가, 레지스터(55)로부터 속도 지시치를 판독하여 FSM(54)에 설정함으로써, FSM(54)은, 속도 지시치에 의한 지시에 따른 통신 속도가 되도록 하한을 제한할 수 있다.
스텝 S36의 처리 후, 처리는 스텝 S37로 진행하여, I3C 메인 마스터(12)의 FSM(54)은, 스텝 S36에서 설정된 통신 속도의 하한을 하회하지 않도록, 통상의 통신 처리를 실행한다.
이상과 같이, I3C 메인 마스터(12)는, 버스 IF(11)에 접속되어 있는 디바이스, 또는, 버스 IF(11)에 접속될 가능성이 있는 디바이스에 의거하여, 데드로크나 통신 에러 등의 발생을 회피하여, 통신 처리를 확실하게 실행할 수 있다. 즉, I3C 메인 마스터(12)는, FSM(54), 속도 판정부(56), 정기 송신용 타이머(57)에 의해, 도 3의 에러 회피 통신 처리부(22), 또는, 도 10의 에러 회피 통신 처리부(22B)로서의 기능을 실행할 수 있다.
또한, 본 기술은, I3C의 규격에 따른 버스 IF(11)로 한정되는 일은 없고, 그 밖의 규격에 따른 버스 IF(11)에 적용할 수 있다. 또한, 버스 IF(11)에 접속되는 디바이스의 종류 또는 개수는, 예를 들면, 도 1에 도시한 바와 같은 구성례로 한정되는 일은 없다.
<컴퓨터의 구성례>
또한, 상술한 플로우 차트를 참조하여 설명한 각 처리는, 반드시 플로우 차트로서 기재된 순서에 따라 시계열로 처리할 필요는 없고, 병렬적 또는 개별적으로 실행되는 처리(예를 들면, 병렬 처리 또는 오브젝트에 의한 처리)도 포함하는 것이다. 또한, 프로그램은, 단일한 CPU에 의해 처리되는 것이라도 좋고, 복수의 CPU에 의해 분산 처리되는 것이라도 좋다.
또한, 상술한 일련의 처리(정보 처리 방법)는, 하드웨어에 의해 실행 할 수도 있고, 소프트웨어에 의해 실행할 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 전용의 하드웨어에 조립되어 있는 컴퓨터, 또는, 각종의 프로그램을 인스톨함으로써, 각종의 기능을 실행하는 것이 가능하다, 예를 들면 범용의 퍼스널 컴퓨터 등에, 프로그램이 기록된 프로그램 기록 매체로부터 인스톨된다.
도 14는, 상술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어의 구성례를 도시하는 블록도이다.
컴퓨터에서, 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)가 외부에 접속된다.
이상과 같이 구성되는 컴퓨터에서는, CPU(101)가, 예를 들면, ROM(102) 및 EEPROM(104)에 기억되어 있는 프로그램을, 버스(105)를 통하여 RAM(103)에 로드하여 실행함에 의해, 상술한 일련의 처리가 행하여진다. 또한, 컴퓨터(CPU(101))가 실행하는 프로그램은, ROM(102)에 미리 기록하여 두는 외에, 입출력 인터페이스(105)를 통하여 외부로부터 EEPROM(104)에 인스톨하거나, 갱신하거나 할 수 있다.
<구성의 조합례>
또한, 본 기술은 이하와 같은 구성도 취할 수 있다.
(1)
적어도 1대 이상의 다른 통신 장치와의 사이에서 신호의 송수신을 행하는 송수신부와,
버스를 통하여 통신을 행할 수 있도록 구성되어 있는 통신 시스템이 이미 가동하고 있는 상태에서, 상기 통신 시스템에 통신 장치가 추가적으로 접속될 때에 있어서의 에러의 발생을 회피하는 처리를 행하는 에러 회피부를 구비하는 통신 장치.
(2)
상기 통신 장치는, 상기 버스를 통한 통신의 주도권을 갖는 제1의 통신 장치에 의한 제어에 따라 통신을 행하고, 상기 통신 시스템에 추가적으로 접속되는 제2의 통신 장치로서,
상기 송수신부는, 상기 버스를 구성하는 데이터 신호선 및 클록 신호선을 통하여 상기 다른 통신 장치와의 사이에서 신호의 송수신을 행하고,
상기 에러 회피부는, 상기 데이터 신호선 및 상기 클록 신호선의 전위가 H레벨인 것을 검출하는 것을 카운트의 시작 조건으로 하여, 상기 데이터 신호선 및 상기 클록 신호선의 전위가 H레벨인 상태가 소정 기간보다도 길게 계속하고 있는 것을 검출한 때에, 상기 통신 시스템에의 추가적인 접속을 요구하는 신호를 상기 송수신부에 의해 송신시키는 상기 (1)에 기재된 통신 장치.
(3)
상기 통신 장치는, 상기 버스를 통한 통신의 주도권을 갖는 제1의 통신 장치로서,
상기 에러 회피부는, 상기 제2의 통신 장치가 상기 통신 시스템에 추가적으로 접속될 가능성이 있는 경우, 상기 제2의 통신 장치의 통신에서의 통신 속도보다 저속으로 통신을 행하는 통신 장치인 저속 통신 장치와 통신을 행할 때의 통신 속도의 하한을 제한하는 상기 (2)에 기재된 통신 장치.
(4)
상기 제1의 통신 장치에는, 상기 제2의 통신 장치가 상기 통신 시스템에 추가적으로 접속될 가능성이 있는지의 여부를 나타내는 정보가 미리 설정되어 있는 상기 (3)에 기재된 통신 장치.
(5)
상기 통신 장치는, 상기 버스를 통한 통신의 주도권을 갖는 제1의 통신 장치로서,
상기 에러 회피부는, 상기 버스에서의 통신의 종료를 선언하는 종료 신호를 포함하는 임의의 폴링 신호를 정기적으로 상기 송수신부에 송신시키는 상기 (1)부터 (4)의 어느 하나에 기재된 통신 장치.
(6)
상기 통신 장치는, 상기 버스를 통한 통신의 주도권을 갖는 제1의 통신 장치로서,
상기 송수신부는, 상기 버스를 구성하는 데이터 신호선 및 클록 신호선을 통하여 상기 다른 통신 장치와의 사이에서 신호의 송수신을 행하고,
상기 에러 회피부는,
상기 통신 시스템에 추가적으로 접속되는 제2의 통신 장치가, 상기 데이터 신호선 및 상기 클록 신호선의 전위가 H레벨인 것을 검출한 것을 카운트의 시작으로 하여 카운트하는 카운트부를 구비하지 않는 경우, 상기 버스에서의 통신의 종료를 선언하는 종료 신호를 포함하는 임의의 폴링 신호를 정기적으로 상기 송수신부에 송신시키고,
상기 통신 시스템에 추가적으로 접속되는 제2의 통신 장치가, 상기 데이터 신호선 및 상기 클록 신호선의 전위가 H레벨인 것을 검출한 것을 카운트의 시작으로 하여 카운트하는 카운트부를 구비하고 있고, 또한, 상기 제2의 통신 장치의 통신에서의 통신 속도보다 저속으로 통신을 행하는 통신 장치인 저속 통신 장치가 상기 통신 시스템에 접속되어 있는 경우, 상기 저속 통신 장치와 통신을 행할 때의 통신 속도의 하한을 제한하는 상기 (1)부터 (5)의 어느 하나에 기재된 통신 장치.
(7)
적어도 1대 이상의 다른 통신 장치와의 사이에서 신호의 송수신을 행하고,
버스를 통하여 통신을 행할 수 있도록 구성되어 있는 통신 시스템이 이미 가동하고 있는 상태에서, 상기 통신 시스템에 통신 장치가 추가적으로 접속될 때에 있어서의 에러의 발생을 회피하는 처리를 행하는 스텝을 포함하는 통신 방법.
(8)
적어도 1대 이상의 다른 통신 장치와의 사이에서 신호의 송수신을 행하고,
버스를 통하여 통신을 행할 수 있도록 구성되어 있는 통신 시스템이 이미 가동하고 있는 상태에서, 상기 통신 시스템에 통신 장치가 추가적으로 접속될 때에 있어서의 에러의 발생을 회피하는 처리를 행하는 스텝을 포함하는 처리를 컴퓨터에 실행시키는 프로그램.
(9)
버스를 통한 통신의 주도권을 갖는 제1의 통신 장치, 및, 상기 제1의 통신 장치에 의한 제어에 따라 통신을 행하는 제2의 통신 장치에 의해, 상기 버스를 통하여 통신을 행할 수 있도록 구성되는 통신 시스템에 있어서,
상기 제1의 통신 장치 및 상기 제2의 통신 장치 각각은, 적어도 1대 이상의 다른 통신 장치와의 사이에서 신호의 송수신을 행하는 송수신부를 구비하고,
상기 제1의 통신 장치 및 상기 제2의 통신 장치 중 적어도 일방이, 상기 제1의 통신 장치가 적어도 상기 버스에 접속되어 통신 시스템이 이미 가동하고 있는 상태에서, 상기 통신 시스템에 상기 제2의 통신 장치가 추가적으로 접속될 때에 있어서의 에러의 발생을 회피하는 처리를 행하는 에러 회피부를 구비하는 통신 시스템.
또한, 본 실시의 형태는, 상술한 실시의 형태로 한정되는 것이 아니고, 본 개시의 요지를 일탈하지 않는 범위에서 여러가지의 변경이 가능하다.
11 : 버스 IF
12 : I3C 메인 마스터
13 : I3C 세컨더리 마스터
14 : I3C 슬레이브
15 : I2C 슬레이브
16-1 : 데이터 신호선
16-2 : 클록 신호선
21 : 송수신부
22 : 에러 회피 통신 처리부
31 : 송수신부
32 : 에러 회피 접속 처리부
41 : 송수신부
51 : 제1의 버스 아이들 카운터
52 : 제2의 버스 아이들 카운터
53 : 선택부
54 : FSM
55 : 레지스터
56 : 속도 판정부
57 : 정기 송신용 타이머

Claims (9)

  1. 버스를 통해 적어도 1대 이상의 다른 통신 장치와의 사이에서 신호의 송수신을 행하는 송수신부와,
    상기 버스는 데이터 신호선과 클록 신호선을 포함하며,
    검출 에러의 발생을 회피하는 처리를 행하도록 구성되는 에러 회피부와,
    상기 검출 에러는, 통신 장치가 버스에 추가 접속되어 있는 것을 상기 버스를 통한 통신의 주도권을 갖는 제1의 통신 장치에 의해 검출되지 않은 에러이며,
    상기 에러 회피부는, 상기 데이터 신호선 및 상기 클록 신호선의 전위가 H레벨인 것을 검출하는 것을 카운트의 시작 조건으로 하여, 상기 데이터 신호선 및 상기 클록 신호선의 전위가 H레벨인 상태가 소정 기간보다도 길게 계속하고 있는 것을 검출한 때에, 상기 버스로의 추가적인 접속을 요구하는 신호를 상기 송수신부에 의해 송신시키는 것을 특징으로 하는 통신 장치.
  2. 제1항에 있어서,
    상기 에러 회피부는 상기 버스가 이미 구성된 후에 상기 검출 에러의 발생을 회피하는 처리를 행하도록 구성되는 것을 특징으로 하는 통신 장치.
  3. 버스를 통해 적어도 1대 이상의 다른 통신 장치와의 사이에서 신호의 송수신을 행하는 송수신부와,
    상기 버스는 데이터 신호선과 클록 신호선을 포함하며,
    검출 에러의 발생을 회피하는 처리를 행하도록 구성되는 에러 회피부와,
    상기 검출 에러는, 제2의 통신 장치가 버스에 추가 접속되어 있는 것을 상기 버스를 통한 통신의 주도권을 갖는 통신 장치에 의해 검출되지 않은 에러이며,
    상기 에러 회피부는, 상기 제2의 통신 장치가 상기 버스에 추가적으로 접속될 가능성이 있는 경우, 상기 제2의 통신 장치의 통신에서의 통신 속도보다 저속으로 통신을 행하는 통신 장치인 저속 통신 장치와 통신을 행할 때의 통신 속도의 하한을 제한하는 것을 특징으로 하는 통신 장치.
  4. 제3항에 있어서,
    상기 통신 장치에는, 상기 제2의 통신 장치가 상기 버스에 추가적으로 접속될 가능성이 있는지의 여부를 나타내는 정보가 미리 설정되어 있는 것을 특징으로 하는 통신 장치.
  5. 제3항에 있어서,
    상기 에러 회피부는, 상기 버스에서의 통신의 종료를 선언하는 종료 신호를 포함하는 임의의 폴링 신호를 정기적으로 상기 송수신부에 송신시키는 것을 특징으로 하는 통신 장치.
  6. 제3항에 있어서,
    상기 에러 회피부는,
    상기 버스에 추가적으로 접속되는 제2의 통신 장치가, 상기 데이터 신호선 및 상기 클록 신호선의 전위가 H레벨인 것을 검출한 것을 카운트의 시작으로 하여 카운트하는 카운트부를 구비하지 않는 경우, 상기 버스에서의 통신의 종료를 선언하는 종료 신호를 포함하는 임의의 폴링 신호를 정기적으로 상기 송수신부에 송신시키고,
    상기 버스에 추가적으로 접속되는 제2의 통신 장치가, 상기 데이터 신호선 및 상기 클록 신호선의 전위가 H레벨인 것을 검출한 것을 카운트의 시작으로 하여 카운트하는 카운트부를 구비하고 있고, 또한, 상기 제2의 통신 장치의 통신에서의 통신 속도보다 저속으로 통신을 행하는 통신 장치인 저속 통신 장치가 상기 버스에 접속되어 있는 경우, 상기 저속 통신 장치와 통신을 행할 때의 통신 속도의 하한을 제한하는 것을 특징으로 하는 통신 장치.
  7. 적어도 1대 이상의 다른 통신 장치와의 사이에서 신호의 송수신을 행하고,
    버스를 통하여 통신을 행할 수 있도록 구성되어 있는 통신 시스템이 이미 가동하고 있는 상태에서, 상기 버스에 통신 장치가 추가적으로 접속될 때에 있어서의 에러의 발생을 회피하는 처리를 행하는 에러 회피부를 마련하는 스텝과,
    상기 에러 회피부는, 데이터 신호선 및 클록 신호선의 전위가 H레벨인 것을 검출하는 것을 카운트의 시작 조건으로 하여, 상기 데이터 신호선 및 상기 클록 신호선의 전위가 H레벨인 상태가 소정 기간보다도 길게 계속하고 있는 것을 검출한 때에, 상기 버스로의 추가적인 접속을 요구하는 신호를 송수신부에 의해 송신시키는 스텝을 포함하는 것을 특징으로 하는 통신 방법.
  8. 적어도 1대 이상의 다른 통신 장치와의 사이에서 신호의 송수신을 행하고,
    버스를 통하여 통신을 행할 수 있도록 구성되어 있는 통신 시스템이 이미 가동하고 있는 상태에서, 상기 버스에 통신 장치가 추가적으로 접속될 때에 있어서의 에러의 발생을 회피하는 처리를 행하는 에러 회피부를 마련하는 스텝과,
    상기 에러 회피부는, 데이터 신호선 및 클록 신호선의 전위가 H레벨인 것을 검출하는 것을 카운트의 시작 조건으로 하여, 상기 데이터 신호선 및 상기 클록 신호선의 전위가 H레벨인 상태가 소정 기간보다도 길게 계속하고 있는 것을 검출한 때에, 상기 버스로의 추가적인 접속을 요구하는 신호를 송수신부에 의해 송신시키는 스텝을 포함하는 처리를 컴퓨터에 실행시키는 것을 특징으로 하는 프로그램이 저장된 기록 매체.
  9. 버스를 통한 통신의 주도권을 갖는 제1의 통신 장치 및 상기 제1의 통신 장치에 의한 제어에 따라 통신을 행하는 제2의 통신 장치에 의해, 상기 버스를 통하여 통신을 행할 수 있도록 구성되는 통신 시스템에 있어서,
    상기 제1의 통신 장치 및 상기 제2의 통신 장치 각각은, 적어도 1대 이상의 다른 통신 장치와의 사이에서 신호의 송수신을 행하는 송수신부를 구비하고,
    상기 제1의 통신 장치 및 상기 제2의 통신 장치 중 적어도 일방이, 상기 제1의 통신 장치가 적어도 상기 버스에 접속되어 통신 시스템이 이미 가동하고 있는 상태에서, 상기 버스에 상기 제2의 통신 장치가 추가적으로 접속될 때에 있어서의 에러의 발생을 회피하는 처리를 행하는 에러 회피부를 구비하며,
    상기 에러 회피부는, 데이터 신호선 및 클록 신호선의 전위가 H레벨인 것을 검출하는 것을 카운트의 시작 조건으로 하여, 상기 데이터 신호선 및 상기 클록 신호선의 전위가 H레벨인 상태가 소정 기간보다도 길게 계속하고 있는 것을 검출한 때에, 상기 버스로의 추가적인 접속을 요구하는 신호를 상기 송수신부에 의해 송신시키는 것을 특징으로 하는 통신 시스템.
KR1020197019878A 2017-02-14 2018-01-31 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템 KR102554978B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2017-024940 2017-02-14
JP2017024940 2017-02-14
PCT/JP2018/003063 WO2018150868A1 (ja) 2017-02-14 2018-01-31 通信装置、通信方法、プログラム、および、通信システム

Publications (2)

Publication Number Publication Date
KR20190113772A KR20190113772A (ko) 2019-10-08
KR102554978B1 true KR102554978B1 (ko) 2023-07-14

Family

ID=63169778

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197019878A KR102554978B1 (ko) 2017-02-14 2018-01-31 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템

Country Status (6)

Country Link
US (1) US10942885B2 (ko)
EP (1) EP3584711B1 (ko)
JP (1) JP7146650B2 (ko)
KR (1) KR102554978B1 (ko)
CN (1) CN110268393B (ko)
WO (1) WO2018150868A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6670585B2 (ja) * 2015-10-30 2020-03-25 Juki株式会社 管理装置
DE102019201533A1 (de) * 2019-02-07 2020-08-13 Robert Bosch Gmbh Systemkomponente mit konfigurierbarem Kommunikationsverhalten und Verfahren zum Betreiben einer solchen Systemkomponente
CN110990313B (zh) * 2019-11-29 2021-07-30 苏州浪潮智能科技有限公司 一种i3c总线处理时钟拉伸的方法、设备以及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150347336A1 (en) * 2013-03-29 2015-12-03 Fujitsu Limited Coupling controller, information processing apparatus and coupling control method

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356984B1 (en) 1998-06-30 2002-03-12 Sun Microsystems, Inc. Digital data processing system having a data bus and a control bus
JP3214461B2 (ja) * 1998-10-20 2001-10-02 日本電気株式会社 バス制御装置
DE19850469A1 (de) * 1998-11-02 2000-05-11 Siemens Ag Automatisierungssystem und Verfahren zum Zugriff auf die Funktionalität von Hardwarekomponenten
EP1152548A1 (en) * 2000-05-05 2001-11-07 Lucent Technologies Inc. Increased data communication capacity of a high rate wireless network
US6591322B1 (en) * 2000-08-01 2003-07-08 Sun Microsystems, Inc. Method and apparatus for connecting single master devices to a multimaster wired-and bus environment
US6874052B1 (en) 2000-09-29 2005-03-29 Lucent Technologies Inc. Expansion bridge apparatus and method for an I2C bus
WO2002099741A1 (en) * 2001-06-06 2002-12-12 Koninklijke Philips Electronics N.V. Data carrier comprising memory means for storing information significant for intermediate operating states
US20030174658A1 (en) * 2002-03-14 2003-09-18 John Kuo Wireless multiplexing computer network system
US7082488B2 (en) 2003-06-12 2006-07-25 Hewlett-Packard Development Company, L.P. System and method for presence detect and reset of a device coupled to an inter-integrated circuit router
DE102005061392A1 (de) * 2005-12-22 2007-06-28 Robert Bosch Gmbh Bus-Guardian eines Teilnehmers eines Kommunikationssystems, sowie Teilnehmer für ein Kommunikationssystem
JP5160100B2 (ja) * 2007-02-08 2013-03-13 シャープ株式会社 データ通信誤動作防止装置、電子機器、データ通信誤動作防止装置の制御方法、データ通信誤動作防止装置の制御プログラム、及び当該プログラムを記録した記録媒体
JP4407752B2 (ja) * 2008-01-10 2010-02-03 トヨタ自動車株式会社 故障箇所検出装置及び通信装置並びに故障箇所検出方法
TWI474179B (zh) * 2010-04-28 2015-02-21 Hon Hai Prec Ind Co Ltd 多設備連接系統
JP2012068907A (ja) * 2010-09-24 2012-04-05 Nec Casio Mobile Communications Ltd バス接続回路及びバス接続方法
CN102073613B (zh) * 2010-12-15 2013-05-08 创新科存储技术有限公司 一种消除i2c总线死锁的装置及方法
CN102521187B (zh) * 2011-11-29 2014-05-28 广东东研网络科技股份有限公司 一种i2c总线通信死锁解决方法
JP2014232414A (ja) * 2013-05-29 2014-12-11 ルネサスエレクトロニクス株式会社 I2c通信スレーブ装置
US10237087B2 (en) * 2013-09-02 2019-03-19 Samsung Electronics Co., Ltd. Method for controlling transmission speed and electronic device thereof
WO2015139884A1 (en) * 2014-03-21 2015-09-24 Sony Corporation Communications device and methods of communicating via a wireless access interface to perform device-to-device communications
US9734121B2 (en) 2014-04-28 2017-08-15 Qualcomm Incorporated Sensors global bus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150347336A1 (en) * 2013-03-29 2015-12-03 Fujitsu Limited Coupling controller, information processing apparatus and coupling control method

Also Published As

Publication number Publication date
CN110268393A (zh) 2019-09-20
EP3584711B1 (en) 2021-11-24
TW201830263A (zh) 2018-08-16
KR20190113772A (ko) 2019-10-08
CN110268393B (zh) 2024-03-08
JPWO2018150868A1 (ja) 2019-12-12
US10942885B2 (en) 2021-03-09
EP3584711A1 (en) 2019-12-25
EP3584711A4 (en) 2020-02-12
US20200012612A1 (en) 2020-01-09
WO2018150868A1 (ja) 2018-08-23
JP7146650B2 (ja) 2022-10-04

Similar Documents

Publication Publication Date Title
US8489786B2 (en) Acknowledgement management technique for supported command set of SMBUS/PMBUS slave applications
KR102554978B1 (ko) 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
US20080086578A1 (en) Integrated circuit device having send/receive macro for serial transfer bus
US10936524B2 (en) Bus system with slave devices
KR100729692B1 (ko) 마스터 노드 및 슬레이브 노드를 갖는 전자 장치 시스템
JP2016004388A (ja) 通信システム及び電子回路
US11221977B2 (en) Daisy chain mode entry sequence
WO2012046634A1 (ja) 電子装置およびシリアルデータ通信方法
CN110908841A (zh) 一种i2c通信异常恢复方法及装置
CN108280041B (zh) 一种内部集成电路主机的通信方法和装置
US8521932B2 (en) Arbitrator and arbitrating method applied to system management bus system
JP6696511B2 (ja) 通信装置、通信方法、プログラム、および通信システム
CN101561790B (zh) 一种主控机与从机通信的方法、系统及装置
US9432545B2 (en) Information processing apparatus, method of controlling the same, and storage medium for controlling transition to a sleep mode and setting of an interrupt setting in accordance with reception of data
CN102622325B (zh) I2c总线启动与停止电路结构
JP2000293485A (ja) 通信インターフェース
US10892852B2 (en) Communication apparatus, communication method, program, and communication system
TWI834603B (zh) 通信裝置、通信方法、通信程式及通信系統
CN112445744B (zh) I2c通信
KR101082110B1 (ko) 타이밍 제어기, 이를 이용하여 데이터를 송수신하는 장치
WO2017183483A1 (en) Communication apparatus, communication method, program, and communication system
JP6822105B2 (ja) 通信システム及び画像形成装置
KR850000561B1 (ko) 입출력 장치의 제어방식
JP2005228068A (ja) 半導体装置及びその通信制御方法

Legal Events

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