KR20220156512A - 통신 장치 및 통신 시스템 - Google Patents

통신 장치 및 통신 시스템 Download PDF

Info

Publication number
KR20220156512A
KR20220156512A KR1020227014563A KR20227014563A KR20220156512A KR 20220156512 A KR20220156512 A KR 20220156512A KR 1020227014563 A KR1020227014563 A KR 1020227014563A KR 20227014563 A KR20227014563 A KR 20227014563A KR 20220156512 A KR20220156512 A KR 20220156512A
Authority
KR
South Korea
Prior art keywords
signal
external
master
slave
external device
Prior art date
Application number
KR1020227014563A
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 KR20220156512A publication Critical patent/KR20220156512A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/155Ground-based stations
    • H04B7/15592Adapting at the relay station communication parameters for supporting cooperative relaying, i.e. transmission of the same data via direct - and relayed path
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D4/00Tariff metering apparatus
    • G01D4/002Remote reading of utility meters
    • G01D4/004Remote reading of utility meters to a fixed location
    • 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/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function
    • 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
    • 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/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J11/00Orthogonal multiplex systems, e.g. using WALSH codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/35Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/04Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
    • H04W40/10Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources based on available power or energy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/22Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/604Address structures or formats

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Communication Control (AREA)

Abstract

효율좋게 데이터 통신을 행하는 것으로서, 통신 장치는, 제1 외부 장치로부터의 제1 외부 신호에 의거하여 제1 출력 신호를 생성하여 제2 외부 장치에 출력함과 함께 제2 외부 장치로부터의 제2 외부 신호에 의거하여 제2 출력 신호를 생성하여 제1 외부 장치에 출력하는 LINK를 구비하고, 제1 출력 신호 및 제2 외부 신호의 각각은, 제1 외부 장치로부터 송신되는 커맨드의 내용을 나타내는 커맨드 정보와, 제1 외부 장치로부터 송신되는 데이터의 최종 수신처 장치를 식별하는 최종 수신처 장치 식별 정보와, 최종 수신처 장치의 내부의 어드레스를 나타내는 내부 어드레스 정보와, 제1 외부 장치로부터 송신되는 데이터의 길이를 나타내는 데이터 길이 정보와, 제1 외부 장치로부터 송신되는 데이터의 종료 위치를 나타내는 데이터 종료 위치 정보를 포함한다.

Description

통신 장치 및 통신 시스템
본 개시는, 통신 장치 및 통신 시스템에 관한 것이다.
마스터 장치와 슬레이브 장치 사이에서 데이터 통신을 행하는 경우에 마스터 장치용의 SerDes 장치와 슬레이브 장치용의 SerDes 장치 사이에서 시리얼 통신을 행하는 기술이 제안되어 있다.
특허 문헌 1: 일본 특개2011-239011호 공보
마스터 장치로부터 송신된 데이터를 슬레이브 장치가 수신한 경우, 수신한 것을 나타내는 ACK 신호를 슬레이브 장치로부터 마스터 장치에 송신하는 것이 일반적이지만, 마스터 장치와 슬레이브 장치 사이에 2개의 SerDes 장치가 배치되어 있는 경우에는 ACK 신호는 이들 SerDes 장치를 통과하기 때문에 슬레이브 장치가 ACK 신호를 송신하고 나서 그 ACK 신호를 마스터 장치가 수신되기까지 상당한 시간을 필요로 해 버린다.
마스터 장치가 슬레이브 장치로부터의 ACK 신호가 도착할 때까지는 새로운 신호를 슬레이브 장치에 송신할 수 없는 사양으로 되어 있는 경우에는 ACK 신호의 수신에 시간이 걸리기 때문에 마스터 장치의 처리가 지연되어 버릴 우려가 있다.
그래서, 본 개시에서는 효율적으로 데이터 통신을 행하는 것이 가능한 통신 장치 및 통신 시스템을 제공하는 것이다.
상기 과제를 해결하기 위해, 본 개시에 의하면 제1 외부 장치로부터의 제1 외부 신호에 의거하여 제1 출력 신호를 생성하여 제2 외부 장치에 출력함과 함께 상기 제2 외부 장치로부터의 제2 외부 신호에 의거하여 제2 출력 신호를 생성하여 상기 제1 외부 장치에 출력하는 LINK를 구비하고,
상기 제1 출력 신호 및 상기 제2 외부 신호의 각각은,
상기 제1 외부 장치로부터 송신되는 커맨드의 내용을 나타내는 커맨드 정보와,
상기 제1 외부 장치로부터 송신되는 데이터의 최종 수신처 장치를 식별하는 최종 수신처 장치 식별 정보와,
상기 최종 수신처 장치의 내부의 어드레스를 나타내는 내부 어드레스 정보와,
상기 제1 외부 장치로부터 송신되는 데이터의 길이를 나타내는 데이터 길이 정보와,
상기 제1 외부 장치로부터 송신되는 데이터의 종료 위치를 나타내는 데이터 종료 위치 정보를 포함하는 통신 장치가 제공된다.
상기 최종 수신처 장치 식별 정보는 상기 커맨드 정보 다음에 배치되고,
상기 내부 어드레스 정보는 상기 최종 수신처 장치 식별 정보 다음에 배치되고,
상기 데이터 길이 정보는 상기 내부 어드레스 정보 다음에 배치되어도 좋다.
상기 커맨드 정보는 상기 통신 장치와 상기 제2 외부 장치 사이의 소정의 통신 규격상의 커맨드 포맷을 정의하는 커맨드 포맷 정보를 포함해도 좋다.
상기 커맨드 정보는 상기 제1 외부 장치로부터 송신되는 데이터의 종료 판정의 조건을 지정하는 데이터 종료 판정 조건 정보를 포함해도 좋다.
상기 제1 출력 신호 및 상기 제2 외부 신호의 각각은, 상기 제2 외부 장치와 상기 최종 수신처 장치 사이의 통신 주파수를 지정하는 통신 주파수 정보를 또한 포함해도 좋다.
상기 제1 출력 신호 및 상기 제2 외부 신호는, I2C(Inter-Integrated Circuit) 통신의 커맨드를 상기 통신 장치와 상기 제2 외부 장치 사이의 소정의 통신 규격으로 프로토콜 변환한 커맨드를 포함해도 좋다.
상기 LINK는, 상기 제1 외부 신호를 구성하는 각 정보 단위를 상기 제1 외부 장치로부터 수신할 때마다 긍정 응답을 나타내는 ACK 신호, 또는 부정 응답을 나타내는 NACK 신호를 상기 제1 외부 장치에 송신해도 좋다.
상기 LINK는, 상기 제1 외부 신호에 응한 신호와, 상기 제2 외부 신호에 응한 신호를 기억하는 기억부를 가지고,
상기 LINK는, 상기 제1 외부 장치로부터의 상기 제1 외부 신호의 수신이 종료되면 상기 수신되어 상기 기억부에 기억된 제1 외부 신호를 통합하여 프로토콜 변환한 후에 상기 제1 출력 신호를 생성해도 좋다.
상기 LINK에 의한 프로토콜 변환은 TDD(Time Division Duplex)의 프로토콜 변환이라도 좋다.
상기 LINK는, 상기 제1 출력 신호를 상기 제2 외부 장치에 송신하고, 상기 제2 외부 장치로부터 상기 제1 출력 신호에 대한 처리가 완료된 것을 나타내는 정보를 수신하면 처리 완료를 나타내는 신호를 상기 기억부에 기억해도 좋다.
상기 LINK는, 상기 제1 외부 장치로부터의 커맨드에 의거하여 상기 기억부의 기억 영역을 해방해도 좋다.
상기 LINK는, 상기 제2 외부 장치로부터 송신된 상기 제2 외부 신호에 대한 처리 완료 정보를 상기 제1 외부 장치로부터의 요구 신호에 응하여 상기 제1 외부 장치에 출력하거나, 또는 상기 제1 외부 장치에 대해 인터럽트 처리용의 인터럽트 요구 플래그를 상기 제1 외부 장치에 출력해도 좋다.
상기 LINK는, 상기 제1 출력 신호의 출력을 지시하는 출력 지시 정보와, 상기 제1 외부 신호의 송신 종료를 나타내는 송신 종료 정보를 포함하는 상기 제1 외부 신호를 상기 제1 외부 장치로부터 수신해도 좋다.
상기 LINK는, 상기 제1 외부 장치로부터 송신되는 데이터의 종료 판정의 조건을 지정하는 데이터 종료 판정 조건 정보로서 제1 값이 수신된 경우에는 상기 제1 외부 신호의 송신 종료를 나타내는 송신 종료 정보가 수신되면 상기 제1 외부 장치로부터 송신되는 상기 제1 외부 신호가 종료되었다고 인식해도 좋다.
상기 LINK는, 상기 제1 외부 장치로부터 송신되는 데이터의 종료 판정의 조건을 지정하는 데이터 종료 판정 조건 정보로서 제2 값이 수신된 경우에는 그 후에 수신하는 상기 데이터 종료 판정 조건 정보의 값에 의하지 않고, 상기 제1 출력 신호의 출력을 지시하는 출력 지시 정보 및 상기 제1 외부 신호의 송신 종료를 나타내는 송신 종료 정보가 수신되면 상기 제1 외부 장치로부터 송신되는 상기 제1 외부 신호가 종료되었다고 인식해도 좋다.
상기 LINK는, 상기 제1 출력 신호를 상기 제2 외부 장치에 송신한 후, 상기 기억부의 기억 영역을 해방해도 좋다.
상기 LINK는,
상기 기억부에 기억된 상기 제2 외부 신호에 의거하는 신호에 대해 제2 출력 신호에 대한 프로토콜 변환을 행한 후의 신호를 상기 제1 외부 장치에 정보 단위마다 출력하는 것과,
상기 제1 외부 장치로부터 출력되는 상기 제1 외부 신호를 구성하는 각 정보 단위를 수신하는 것의 적어도 일방을 미리 정한 횟수 또는 시간 내에 행해도 좋다.
본 개시에 의하면 제1 LINK를 구비하는 Master SerDes와,
제2 LINK를 구비하는 Slave SerDes를 구비하고,
상기 제1 LINK는, Master로부터의 제1 외부 신호에 의거하여 제1 출력 신호를 생성하여 상기 Slave SerDes에 출력함과 함께 상기 Slave SerDes로부터의 제2 출력 신호에 의거하여 제3 출력 신호를 생성하여 상기 Master에 출력하고,
상기 제2 LINK는, Slave로부터의 제2 외부 신호에 의거하여 상기 제2 출력 신호를 생성하여 상기 Master SerDes에 출력함과 함께 상기 Master SerDes로부터의 상기 제1 출력 신호에 의거하여 제4 출력 신호를 생성하여 상기 Slave에 출력하고,
상기 제1 출력 신호, 상기 제2 출력 신호, 상기 제1 외부 신호 및 상기 제2 외부 신호의 각각은,
상기 Master로부터 송신되는 커맨드의 내용을 나타내는 커맨드 정보와,
상기 Slave를 식별하는 최종 수신처 장치 식별 정보와,
상기 Slave의 내부의 어드레스를 나타내는 내부 어드레스 정보와,
상기 Master로부터 송신되는 데이터의 길이를 나타내는 데이터 길이 정보와,
상기 Master로부터 송신되는 데이터의 종료 위치를 나타내는 데이터 종료 위치 정보를 포함하는 통신 시스템이 제공된다.
도 1은 한 실시 형태에 의한 통신 장치를 구비한 통신 시스템의 개략 구성을 도시하는 블록도.
도 2는 일반적인 SerDes 디바이스를 통한 Master-Slave 사이의 I2C 통신으로 기록을 행하는 경우의 패킷의 write format을 도시하는 도면.
도 3은 , Master SerDes가 Master와 Slave SerDes 사이에서 I2C 통신을 행할 때의 등가적인 블록도.
도 4는 Slave SerDes가 Slave와 Master SerDes 사이에서 I2C 통신을 행할 때의 등가적인 블록도.
도 5는 통신 규격(X) 프로토콜의 신호의 프레임 구조의 한 예를 도시하는 도면.
도 6은 Random Write 시의 I2C 통신의 프로토콜을 도시하는 도면.
도 7은 Master와 Master SerDes 사이에서 송수되는 신호를 도시하는 도면.
도 8은 mem1 내의 table1에 보존되는 data의 한 예를 도시하는 도면.
도 9는 Cmd_mode의 1바이트 중의 각 비트의 의미를 도시하는 도면.
도 10은 통신 규격(X) 프로토콜상에서 전송하는 커맨드의 종류와 비트열을 도시하는 도면.
도 11은 Master SerDes로부터 Slave SerDes에 통신 규격(X)으로 Random Write Command를 송신하는 처리를 도시하는 도면.
도 12는 Random Write 동작 시의 mem2 내의 table3의 한 예를 도시하는 도면.
도 13은 Slave SerDes로부터 Slave에 I2C 통신으로 데이터를 송신하는 처리를 도시하는 도면.
도 14는 Slave SerDes로부터 Master SerDes에 통신 프로토콜(X)로 Random Write Command에 대한 회신을 행하는 처리를 도시하는 도면.
도 15는 Random Write Command에 대한 기억 영역 해방 전의 mem2의 기억 영역 상태를 도시하는 도면.
도 16은 Master SerDes의 동작을 도시하는 도면.
도 17은 Random Write Command에 대한 Slave SerDes로부터의 회신 데이터 수신 후의 mem1 내의 상태 table1을 도시하는 도면.
도 18은 Master가 Master SerDes에 Random Write Command에 대한 폴링을 행하고, 실행 결과를 판독하는 경우의 처리를 도시하는 도면.
도 19는 Master가 Master SerDes에 대해 Random Write 동작 종료 처리로서 mem1의 기억 영역을 해방하는 신호의 전송을 도시하는 도면.
도 20은 Random Write Command에 대한 기억 영역이 해방되기 전의 mem1 내의 보존 데이터를 도시하는 도면.
도 21은 Cmd_mode[7]=1에 의한 일괄 command 전송을 도시하는 도면.
도 22는 도 21에 이어지는 도면.
도 23은 Cmd_mode[7]=1에 의한 일괄 command 전송 시의 mem1 내의 table1의 보존 데이터의 상세를 도시하는 도면.
도 24는 Random Read 동작을 도시하는 도면.
도 25는 Random Read 동작 시의 mem1 내의 table1의 보존 데이터를 도시하는 도면.
도 26은 Master SerDes로부터 Slave SerDes에 통신 프로토콜(X)로 Random Read command를 송신하는 처리를 도시하는 도면.
도 27은 Random Read 동작 시의 mem2 내의 table3의 보존 데이터를 도시하는 도면.
도 28A는 Slave SerDes로부터 Slave에의 Random Read Command를 송신하는 처리를 도시하는 도면.
도 28B는 Random Read 동작 시의 I2C 통신 프로토콜을 도시하는 도면.
도 29는 Random Read 동작 후의 mem2 내의 table3의 보존 데이터를 도시하는 도면.
도 30은 Slave SerDes로부터 Master SerDes에 통신 규격(X)으로 Read Command에 대한 회신 처리를 도시하는 도면.
도 31은 Random Read Command에 대한 Slave SerDes로부터의 회신을 수신했을 때의 Master SerDes의 처리를 도시하는 도면.
도 32는 Random Read Command에 대한 Slave SerDes로부터의 회신 데이터를 수신 후의 mem1 내의 데이터의 한 예를 도시하는 도면.
도 33은 Master가 Master SerDes에 Random Read Command에 대한 폴링을 행하고, 실행 결과를 판독하는 경우의 처리를 도시하는 도면.
도 34는 Random Read Command에 대한 기억 영역이 해방되기 전의 mem1 내의 table1의 보존 데이터의 한 예를 도시하는 도면.
도 35A는 Current read를 행하는 경우의 처리를 도시하는 도면.
도 35B는 Current read를 행하는 경우의 I2C 통신 프로토콜을 도시하는 도면.
도 36은 Current read를 행하는 경우의 mem2 내의 table3의 보존 데이터의 한 예를 도시하는 도면.
도 37은 본 실시 형태에 의한 통신 시스템의 등가적인 블록도.
이하, 도면을 참조하여 통신 장치 및 통신 시스템(3)의 실시 형태에 관해 설명한다. 이하에서는 통신 장치 및 통신 시스템(3)의 주요한 구성 부분을 중심으로 설명하는데, 통신 장치 및 통신 시스템(3)에는, 도시 또는 설명되어 있지 않는 구성 부분이나 기능이 존재할 수 있다. 이하의 설명은 도시 또는 설명되어 있지 않는 구성 부분이나 기능을 제외하는 것이 아니다.
도 1은 한 실시 형태에 의한 통신 장치(1)를 구비한 통신 시스템(3)의 개략 구성을 도시하는 블록도이다. 도 1의 통신 시스템(3)은, 예를 들어 ADAS(Advanced Driver Assistance System)의 일부의 시스템인 카메라 영상 인식 시스템이다. 도 1의 통신 시스템(3)은, Master(21)로서 동작 가능한 ECU(4) 및 SoC(5)와, Slave(22)로서 동작 가능한 image sensor(12) 및 temperature sensor(14)와, Master SerDes(7)와, Slave SerDes(13)를 구비하고 있다. Master SerDes(7)와 Slave SerDes(13)는, 소정의 통신 규격(이후에는, 「통신 규격(X)」이라고 칭한다)에 의해 서로 통신 가능하게 접속된다. 소정의 통신 규격(X)으로서는, 예를 들어 FPD-Link Ⅲ, A-phy, ASA 등이 있으며 한정되는 것은 아니다. Master SerDes(7)와 Slave SerDes(13)의 각각은, 본 실시 형태에 의한 통신 장치(1)에 해당된다. 본 명세서에서는 Master SerDes(7)를 SerDes1이라고 부르고, Slave SerDes(13)를 SerDes2라고 부르는 일이 있다.
Master(21)와 Master SerDes(7)는, 예를 들어 I2C(Inter-Integrated Circuit) 통신에 의해 서로 통신 가능하게 접속되어 있다. 또한, Master(21)와 Master SerDes(7)의 통신은 I2C 통신으로 한정되지 않고, 예를 들어 GPIO(General Purpose Input/Output)를 이용한 통신이라도 좋다.
마찬가지로, Slave(22)와 Slave SerDes(13)는, 예를 들어 I2C 통신에 의해 서로 통신 가능하게 접속되어 있다. 또한, Slave(22)와 Slave SerDes(13)의 통신은 I2C 통신으로 한정되지 않고, 예를 들어 GPIO를 이용한 통신이라도 좋다.
ECU(4)는, 통신 시스템(3) 전체를 제어하는 것이고, I2C(4a)를 가진다. ECU(4)는, Master SerDes(7)로부터 화상 신호를 수신함과 함께 I2C(4a)를 통하여 Master SerDes(7)와 I2C 통신을 행한다.
SoC(5)는, 예를 들어 화상 인식이나 영상 처리를 행하는 것이고, I2C(5a)를 가진다. SoC(5)는, Master SerDes(7)로부터 화상 신호를 수신함과 함께 I2C(5a)를 통하여 ECU(4) 및 Master SerDes(7)와 I2C 통신을 행한다.
image sensor(12)는, 화상을 촬영하는 것이고, I2C(12a)와 mem(19)을 가진다. image sensor(12)는, 촬영한 화상의 화상 데이터를 Slave SerDes(13)에 출력함과 함께 I2C(12a)를 통하여 Slave SerDes(13)와 I2C 통신을 행한다. 본 명세서에서는 image sensor(12)를 CIS(CMOS image sensor)라고 부르는 경우가 있다. mem(19)은, image sensor(12)에서 촬상된 화소 데이터를 기억하거나, Master(21)로부터 송신된 데이터를 기억할 수 있다. 본 명세서에서는 mem(19)을 mem3이라고 부르는 일이 있다.
temperature sensor(14)는, 임의의 대상(예를 들어 image sensor(12))의 온도를 계측하는 것이고, I2C(14a)를 가진다. temperature sensor(14)는, I2C(14a)를 통하여 Slave SerDes(13)와 I2C 통신하여 계측한 온도에 관한 온도 데이터 등을 Slave SerDes(13)에 송신한다.
Master SerDes(7)는, Master(21)로부터 수신한 I2C 프로토콜의 신호를 통신 규격(X) 프로토콜의 신호로 포맷 변환하여 Slave SerDes(13)에 송신함과 함께 Slave SerDes(13)로부터 수신한 통신 규격(X) 프로토콜의 신호를 적절히 포맷 변환하여 화상 데이터나 I2C 프로토콜의 신호를 생성하고, Master(21)에 출력한다. 이 Master SerDes(7)는, LINK(11)와, forward receiver(Fw. Rx)(9)와, reverse transmitter(Rv. Tx)(10)와, I2C(7a)를 가진다.
LINK(11)는, I2C(7a)를 통하여 Master(21)로부터 수신한 I2C 프로토콜의 신호를 통신 규격(X) 프로토콜의 신호로 포맷 변환하여 Rv. Tx(10)를 통하여 Slave SerDes(13)에 송신한다. 또한, LINK(11)는, Fw. Rx(9)를 통하여 Slave SerDes(13)로부터 수신한 통신 규격(X) 프로토콜의 신호로부터, 화상 데이터를 생성하여 Master(21)에 송신하거나, 화상 데이터 이외의 정보를 포함한 I2C 프로토콜의 신호를 생성하거나 하여 I2C(7a)를 통하여 Master(21)에 출력한다.
Slave SerDes(13)는, Slave(22)로부터 수신한 I2C 프로토콜의 신호나 화상 신호를 통신 규격(X) 프로토콜의 신호로 포맷 변환하여 Master SerDes(7)에 송신함과 함께 Master SerDes(7)로부터 수신한 통신 규격(X) 프로토콜의 신호를 적절히 I2C 프로토콜의 신호로 포맷 변환하여 Slave(22)에 출력한다. 이 Slave SerDes(13)는, I2C(13a)와, LINK(17)와, forward transmitter(Fw. Tx)(16)와, reverse receiver(Rv.Rx)(15)와, I2C(13a)를 가진다.
LINK(17)는, I2C(13a)를 통하여 Slave(22)로부터 수신한 I2C 프로토콜의 신호나 화상 데이터를 통신 규격(X) 프로토콜의 신호로 포맷 변환하여 Fw.Tx(16)를 통하여 Master SerDes(7)에 송신한다. 또한, LINK(17)는, Rv.Rx(15)를 통하여 Master SerDes(7)로부터 수신한 통신 규격(X) 프로토콜의 신호를 I2C 규격의 신호로 변환하고, I2C(13a)를 통하여 Slave(22)에 송신한다. 이때, 이하의 1)과 2)의 문제가 생길 우려가 있다.
1) Master(21)를 구성하는 ECU(4) 또는 SoC(5)가 I2C 통신을 이용하여 Slave(22)를 구성하는 image sensor(12) 또는 temperature sensor(14)를 제어하는 경우, Master(21)는, 1바이트 등의 정보 단위를 송신할 때마다 Slave(22)로부터의 ACK 신호 또는 NACK 신호를 수신할 필요가 있다. 이때, Master SerDes(7) 및 Slave SerDes(13)를 통한 I2C 통신의 전반 지연은 일반적으로 I2C 통신의 1클록의 주기(1클록의 주파수는 400㎑ 또는 1㎒ 등)와 비교하여 커지는 일이 있다. 이 경우, Master SerDes(7)는, Slave(22)로부터의 ACK 신호 또는 NACK 신호를 Slave SerDes(13)로부터 수취하고, I2C 프로토콜 변환이 종료되어 I2C(7a)를 통하여 Master(21)에 ACK 신호 또는 NACK 신호를 출력할 준비가 될 때까지 I2C 프로토콜 신호의 클록(SCL)을 Low 레벨로 유지한다. Master SerDes(7)는, Master(21)에 Slave(22)가 송신한 ACK 신호 또는 NACK 신호를 출력할 준비가 된 후, 유지하고 있던 I2C 프로토콜 신호의 클록(SCL)의 Low 레벨을 개방한다. 그 결과 master(21)는 I2C 통신을 재개할 수 있게 되고, ACK 신호 또는 NACK 신호를 수신할 수 있다. Master SerDes(7)가 SCL을 Low 레벨로 유지하고 있는 기간에는, Master(21)는 I2C 통신을 할 수 없기 때문에 커맨드 전송에 시간이 걸리거나, I2C 버스에 접속되는 다른 Slave(22)(예를 들어 image sensor(12)로부터의 ACK 신호 또는 NACK 신호를 기다리고 있는 경우에는 temperature sensor(14))와의 통신을 행할 수 없거나 하는 문제가 생긴다.
도 2는, HOST I2C(예를 들면, Master(21))로부터 Master SerDes(7)와 Slave SerDes(13)를 통하여 REMOTE I2C(예를 들어 Slave(22))에 I2C 통신으로 기록을 행하는 경우의 I2C 통신을 도시하고 있다. 여기서, HOST I2C의 SCL low 구간은, Master SerDes(7)가 Slave(22)로부터의 ACK 신호 또는 NACK 신호를 출력할 준비가 될 때까지의 사이, SCL을 low 레벨로 유지하고 있는 것을 나타내고 있고, 이때, HOST I2C는 I2C 통신이 될 수 없는 것을 나타내고 있다.
2) 또한, Slave SerDes(13)에는, image sensor(12)나 temperature sensor(14) 이외에도, 다양한 기기를 Slave(22)로서 접속할 수 있는 것이 바람직하다. 이들 다양한 Slave(22)는, 각각 I2C 동작 클록이 다를 가능성이 있다. 이 때문에 Slave SerDes(13)는, 다양한 Slave(22)와 I2C 통신을 행하는 것이 상정되고, Slave(22)의 I2C 동작 클록(Slave(22)와 Slave SerDes(13) 사이에서의 I2C 통신의 동작 클록)이 필요 이상으로 낮게 설정되는 경우가 있다.
도 2에서 전술과 같이 Slave(22)의 I2C 동작 클록 주파수가 필요 이상으로 낮게 설정된 경우, REMOTE I2C의 I2C 동작 구간(도 2의 REMOTE I2C측의 SCL low 이외의 구간)이 길어지는 것을 의미하고, 이것은 HOST I2C측의 SCL low 구간이 길어지게 된다는 과제와 합쳐서, I2C 통신이 완료되는데 필요한 시간이 더 길어져 버리게 된다.
도 1의 통신 시스템(3)은, 상술한 1)을 해결하기 위해, Master SerDes(7) 내에 기억 장치(도 1의 mem(11a))를 마련하고, Master SerDes(7)가 Master(21)로부터 1바이트를 수신하면 그 1바이트를 기억 장치에 기억함과 함께 Slave(22) 대신에 ACK 신호 또는 NACK 신호를 Master(21)에 돌려 주도록 한다. 이 때문에 Master(21)가 연장하는 SCL low의 기간을 짧게 할 수 있다.
또한, 도 1의 통신 시스템(3)은, 상술한 2)를 해결하기 위해, 후술하는 CLK_value(Data[0])를 Master(21)가 설정하고, CLK_value(Data[0])로 지정된 주파수로 Slave SerDes(13)가 Slave(22)와 I2C 통신을 행하도록 한다. 이 때문에 Slave(22)와 Slave SerDes(13)는, 지정된 주파수로 I2C 통신을 실현할 수 있다.
도 1의 LINK(11)는, I2C Cmd Unit(8)과 mem(11a)을 가진다. I2C Cmd Unit(8)은 table2를 ROM(도시 생략)에 기억하고, mem(11a)은 table1을 기억한다. mem(11a)은 휘발 메모리이다. 본 명세서에서는 mem(11a)을 mem1이라고 부르는 일이 있다. 이 LINK(11)는, I2C(7a)를 통하여 Master(21)로부터 1바이트를 수신할 때마다 그 1바이트를 mem(11a)의 table1에 기록함과 함께 Slave(22) 대신에 ACK 신호 또는 NACK 신호를 Master(21)에 돌려 주고, 소정의 조건이 채워지면(End of data까지 기록한 등), table1을 판독하여 Rv. Tx(10)를 통하여 Slave SerDes(13)에 송신한다. 또한, LINK(11)는, Fw. Rx를 통하여 Slave SerDes(13)로부터 수신한 신호를 mem(11a)의 table1에 기록하고, 소정의 조건이 채워지면(End of data까지 기록한 등), table1을 판독하여 I2C(7a)를 통하여 Master(21)와 I2C 통신을 행하거나, 동시에 Fw. Rx(9)를 통하여 Slave SerDes(13)로부터 수신한 Image sensor(12)가 촬영한 화상 데이터를 Master(21)에 송신하거나 한다.
도 1의 LINK(17)는, I2C Cmd Unit(18)과 mem(17a)을 가진다. I2C Cmd Unit(18)은 table2를 ROM(도시 생략)에 기억하고, mem(17a)은 table3을 기억한다. 본 명세서에서는 mem(17a)을 mem2이라고 부르는 일이 있다. 이 LINK(17)는, Rv.Rx(15)를 통하여 Master SerDes(7)로부터 수신한 신호를 mem(17a)의 table3에 기록하고, 소정의 조건이 채워지면(End of data까지 기록한 등), table3을 판독하여 I2C(13a)를 통하여 Slave(22)에 송신한다. 또한, LINK(17)는, I2C(13a)를 통하여 Slave(22)와 I2C 통신을 행하여 신호를 수신하거나, temperature sensor(14)로부터 I2C 프로토콜로 변환된 온도 데이터를 I2C(13a)를 통하여 수신하거나 하면 그것들을 mem(17a)의 table3에 기록하고, 소정의 조건이 채워지면(End of data까지 기록한 등), table3을 판독하여 Fw.Tx(16)를 통하여 Master SerDes(7)에 송신한다.
도 3은, 도 1의 통신 시스템(3) 중, Master SerDes(7)가 Master(21)와 Slave SerDes(13) 사이에서 I2C 통신을 행할 때의 등가적인 블록도이다. 도 3에서는 Master SerDes(7)를 통신 장치(1)로 하고, Master(21)를 제1 외부 장치로 하고, Slave SerDes(13)를 제2 외부 장치로 하고 있다.
도 3의 통신 장치(1)(Master SerDes(7))는, 제1 외부 장치(Master(21))로부터의 제1 외부 신호에 의거하여 제1 출력 신호를 생성하여 제2 외부 장치(Slave SerDes(13))에 출력한다. 또한, 통신 장치(1)(Master SerDes(7))는, 제2 외부 장치(Slave SerDes(13))로부터의 제2 외부 신호에 의거하여 제2 출력 신호를 생성하여 제1 외부 장치(Master(21))에 출력한다.
도 4는, 도 1의 통신 시스템(3) 중, Slave SerDes(13)가 Slave(22)와 Master SerDes(7) 사이에서 I2C 통신을 행할 때의 등가적인 블록도이다. 도 4에서는 Slave SerDes(13)를 통신 장치(1)로 하고, Slave(22)를 제1 외부 장치로 하고, Master SerDes(7)를 제2 외부 장치로 하고 있다.
도 4의 통신 장치(1)(Slave SerDes(13))는, 제1 외부 장치(Slave(22))로부터의 제1 외부 신호에 의거하여 제1 출력 신호를 생성하여 제2 외부 장치(Master SerDes(7))에 출력한다. 또한, 통신 장치(1)(Slave SerDes(13))는, 제2 외부 장치(Master SerDes(7))로부터의 제2 외부 신호에 의거하여 제2 출력 신호를 생성하여 제1 외부 장치(Slave(22))에 출력한다.
도 3 및 도 4에서의 제1 출력 신호 및 제2 외부 신호의 각각은, 제1 외부 장치로부터 송신되는 커맨드의 내용을 나타내는 커맨드 정보(Cmd_mode)와, 제1 외부 장치로부터 송신되는 데이터의 최종 수신처 장치를 식별하는 최종 수신처 장치 식별 정보(Slave_Adr)와, 최종 수신처 장치의 내부 어드레스 정보(Sub_Adr)와, 제1 외부 장치로부터 송신되는 데이터의 데이터 길이 정보(Length)와, 제1 외부 장치로부터 송신되는 데이터 종료 위치 정보(End of data)를 포함하고 있다.
Slave_Adr은, Cmd_mode 다음에 배치되고, Sub_Adr은, Slave_Adr 다음에 배치되고, Length는 Sub_Adr 다음에 배치되어도 좋다.
Cmd_mode는, Write 명령과 Read 명령을 식별하는 기능을 포함하는 통신 규격(X)상의 커맨드 포맷을 정의하는 커맨드 포맷 정보(Cmd_mode[2:0])를 포함하고 있어도 좋다. 즉, Cmd_mode는, 통신 장치(1)와 제2 외부 장치 사이의 소정의 통신 규격상의 커맨드 포맷을 정의하는 Cmd_mode[2:0]를 포함하고 있어도 좋다.
Cmd_mode는, Cmd_mode[0]-Cmd_mode[7]를 적어도 포함하고, 데이터 종료 판정 조건 정보(Cmd_mode[7])는, 제1 외부 장치로부터 송신되는 데이터의 종료 판정의 조건을 지정해도 좋다.
제1 출력 신호 및 제2 외부 신호의 각각은, 제2 외부 장치와 최종 수신처 장치 사이의 통신 주파수를 지정하는 통신 주파수 정보(CLK_value)를 또한 포함하고 있어도 좋다.
제1 출력 신호 및 제2 외부 신호는, I2C(Inter-Integrated Circuit) 통신의 커맨드를 상기 통신 장치와 상기 제2 외부 장치 사이의 소정의 통신 규격으로 프로토콜 변환한 커맨드를 포함하고 있어도 좋다.
LINK(11, 17)는, 제1 외부 신호를 구성하는 각 정보 단위를 제1 외부 장치로부터 수신할 때마다 긍정 응답을 나타내는 ACK 신호, 또는 부정 응답을 나타내는 NACK 신호를 제1 외부 장치에 송신해도 좋다.
LINK(11, 17)는, 제1 외부 신호에 응한 신호와, 제2 외부 신호에 응한 신호를 기억하는 기억부를 가지고,
LINK(11, 17)는, 제1 외부 장치로부터의 제1 외부 신호의 수신이 종료되면 수신되어 기억부에 기억된 제1 외부 신호를 통합하여 프로토콜 변환한 후에 제1 출력 신호를 생성해도 좋다.
LINK(11, 17)에 의한 프로토콜 변환은 TDD(Time Division Duplex)에 대응한 프로토콜 변환이라도 좋다.
LINK(11, 17)는, 제1 출력 신호를 제2 외부 장치에 송신하고, 제2 외부 장치로부터 제1 출력 신호에 대한 처리가 완료된 것을 나타내는 정보를 수신하면 처리 완료를 나타내는 신호를 기억부에 기억해도 좋다.
LINK(11, 17)는, 제1 외부 장치로부터의 커맨드에 의거하여 기억부의 기억 영역을 해방해도 좋다.
LINK(11, 17)는, 제2 외부 장치로부터 송신된 제2 외부 신호에 대한 처리 완료 정보를 제1 외부 장치로부터의 요구 신호에 응하여 제1 외부 장치에 출력하거나, 또는 제1 외부 장치에 대해 인터럽트 처리를 행하기 위한 인터럽트 요구 플래그를 제1 외부 장치에 출력해도 좋다.
LINK(11, 17)는, 제1 출력 신호의 출력을 지시하는 출력 지시 정보(cmd_done)와, 제1 외부 신호의 송신 종료를 나타내는 송신 종료 정보(P(STOP condition))를 포함하는 제1 외부 신호를 제1 외부 장치로부터 수신해도 좋다.
LINK(11, 17)는, 제1 외부 장치로부터 송신되는 데이터의 종료 판정의 조건을 지정하는 데이터 종료 판정 조건 정보로서 제1 값이 수신된 경우에는 제1 외부 신호의 송신 종료를 나타내는 송신 종료 정보(P(STOP condition))가 수신되면 제1 외부 장치로부터 송신되는 제1 외부 신호가 종료되었다고 인식해도 좋다.
LINK(11, 17)는, 제1 외부 장치로부터 송신되는 데이터의 종료 판정의 조건을 지정하는 데이터 종료 판정 조건 정보로서 제2 값이 수신된 경우에는 그 후에 수신하는 데이터 종료 판정 조건 정보의 값에 의하지 않고, 제1 출력 신호의 출력을 지시하는 출력 지시 정보 및 제1 외부 신호의 송신 종료를 나타내는 송신 종료 정보가 수신되면 제1 외부 장치로부터 송신되는 제1 외부 신호가 종료되었다고 인식해도 좋다.
LINK(11, 17)는, 제1 출력 신호를 제2 외부 장치에 송신한 후, 기억부의 기억 영역을 해방해도 좋다.
LINK(11, 17)는, 기억부에 기억된 제2 외부 신호에 의거하는 신호에 대해 제2 출력 신호에 대한 프로토콜 변환을 행한 후의 신호를 제1 외부 장치에 정보 단위마다 출력하는 것과, 제1 외부 장치로부터 출력되는 제1 외부 신호를 구성하는 각 정보 단위를 수신하는 것의 적어도 일방을 미리 정한 횟수 또는 시간 내에 행해도 좋다.
도 5는 Master SerDes(7)와 Slave SerDes(13) 사이에서 송수(送受)되는 통신 규격(X) 프로토콜의 신호의 프레임 구조의 한 예를 도시하는 도면이다.
도 5의 프레임 구조는, Sync 패턴과 Parity 사이에 복수의 컨테이너를 포함하고 있다. Sync 패턴은, Master SerDes(7)와 Slave SerDes(13)의 물리층을 동기시키기 위한 신호 패턴이다. 복수의 컨테이너는, 예를 들어 2∼100개 정도의 컨테이너를 포함하고 있다. 신호 전송 상태에 의해, 프레임 구조에 포함되는 컨테이너의 수가 변화한다. Parity는 오류 검출 또는 오류 정정 처리를 위한 비트 또는 비트열이다.
컨테이너의 구조는, Header와, Payload와, Parity를 포함하고 있다. Header는, Payload의 전송처를 나타내는 어드레스 정보 등을 포함한다. Payload는, 송수되는 신호의 본체 부분이다. Payload는, 영상 신호 외에 SerDes 제어를 위한 OAM(Operations, Administration, Maintenance)을 포함하고 있다. Parity는, Payload의 오류 검출 또는 오류 정정 처리를 위한 비트 또는 비트열이다.
Palyload는, CLK value, Cmd_mode, Slave Adr, length, data 및 End of data의 각 정보를 포함하고 있다. CLK value는, Slave(22)의 동작 클록, 즉 Slave SerDes(13)가 Slave(22)와의 I2C 통신으로 이용하는 SCL 주파수이다. Cmd_mode는, Master(21)로부터 송신되는 커맨드의 내용을 나타낸다. Slave Adr은, Slave(22)를 식별하는 어드레스 정보이다. Length는, Master(21)로부터 송신되는 데이터의 길이이다. End of data는, Master(21)로부터 송신되는 데이터의 종료 위치이다.
또한, Cmd_mode를 2바이트로 확장하는 경우, Cmd_mode의 상위 1바이트를 Cmd_ID에 할당해도 좋다. Cmd_ID는, Master(21)로부터 송신되는 커맨드를 구별하고, 식별하기 위한 식별 정보이다.
TDD 방식에서 Master(21)와 Slave(22) 사이에서 데이터 통신을 행하는 경우, 1TDD 사이클 내의 Master(21)로부터 Slave(22)에의 신호(Rv)의 신호 비율과, Slave(22)로부터 Master(21)에의 신호(Fw)의 신호 비율을 변경하기 위해서는, 각각의 프레임 구조에 포함되는 컨테이너의 수를 변경함으로써 실현할 수 있다. 또한, 신호(Rv)와 신호(Fw)에서는 컨테이너 사이즈가 같아도, 달라도 좋다.
다음으로, Master(21)로부터 Slave(22)에 Random Write를 행하는 경우에 관해 설명한다. Master(21)는, Slave(22)에 Random Write를 행하는 경우, Master SerDes(7)에 대해, I2C 통신으로 커맨드 세트를 송신한다. Random Write 시의 I2C 통신의 프로토콜은, 도 6에 도시하는 것이고, 이 프로토콜에 준거하여 Master(21)는 Master SerDes(7)에 대해 커맨드 세트를 송신한다.
도 7은, Master(21)와 Master SerDes(7) 사이에서 송수되는 신호를 도시하는 도면이다. 본 명세서에서는 Master(21)로부터 Master SerDes(7)에의 I2C 프로토콜의 신호를 M I2C protocol(M2SerDes)이라고 부른다. 도 7에 도시하는 바와 같이, M I2C protocol은, S(START condition), SerDes1 St_adr, W, mem1 Sub_adr, mem1 Sub_adr, I2C 설정 CLK, Cmd_mode, 최종 대상 Slave adr, 최종 대상 Sub adrH, 최종 대상 Sub adrL, Data lengthH, Data lengthL, Data×2, P(STOP condition)를 포함하고 있다. 이들 정보의 상세에 대해서는 후술한다.
Master(21)로부터 송신된 I2C 프로토콜 내의 data는, Master SerDes(7)의 mem1 내의 table1에 보존된다. 도 8은 mem1 내의 table1에 보존되는 data의 한 예를 도시하는 도면이다. 각 data는, M I2C protocol이 전송하는 Sub_Adr가 나타내는 mem1의 어드레스 번지에 I2C 설정 클록 CLK의 설정치인 CLK_value가 격납되고, 이후 M I2C protocol이 전송하는 data는, mem1의 인크리멘트되어 가는 어드레스 번지에 격납되어 간다. CLK_value는, 상술한 바와 같이 SCL 주파수를 나타내는 1바이트의 정보이고, Slave(22)는, CLK_value에서 지정된 동작 주파수로 Slave SerDes(13)와 I2C 통신을 행한다.
Sub_Adr[1]의 Cmd_mode는, Master SerDes(7)가 Master(21)로부터 수신한 명령의 내용을 나타내는 1바이트의 정보이다. 도 9는 Cmd_mode의 1바이트 중의 각 비트의 의미를 도시하는 도면이다. Cmd_mode의 1바이트 중의 하위 3비트[2:0]는, 비트열의 값에 의해 이하의 정보를 나타낸다. 000은, write 커맨드의 전송 형식인 것을 나타낸다. 001은, read 커맨드의 전송 형식인 것을 나타낸다. 010은, ACK/NACK 신호의 전송 형식인 것을 나타낸다. 011은, read 또는 응답의 전송 형식인 것을 나타낸다. 1XX는, 특수 커맨드의 전송 형식인 것을 나타내고, Cmd_mode에 계속되어 전송되는 1바이트 데이터의 값에 의해 동작이 결정된다. 본 실시 형태에서는 특별 커맨드라고 정의되다, 후술하는 cmd_done을 나타내는 0xFF를 기록함으로써 후술하는 바와 같이 cmd_done에 의한 일괄 송신이 행해지는 것을 나타낸다.
Cmd_mode[3]가 0이라면, random location을 나타낸다. 예를 들면, Slave(22)가 image sensor(12)인 경우, image sensor(12) 내의 mem3의 임의의 Sub_adr, 또는 temperature sensor(14) 내의 메모리의 임의의 Sub_adr에 (랜덤)액세스하는 것을 나타낸다.
Cmd_mode[3]가 1이라면, current location을 나타낸다. 즉, Write 또는 Read한 메모리의 최후의 Sub_adr+1, 예를 들어 대상 Slave(22)가 image sensor(12)인 경우, image sensor(12) 내의 mem3에 대해 최후에 Write 또는 Read한 Sub_Adr을 「M」이라고 하면 「M+1」에 (시퀀셜) 액세스하는 것을 나타낸다.
Cmd_mode[4]는, Reserved이고, 현시점에서는 규정되어 있지 않다.
Cmd_mode[6]가 0이라면, normal을 나타낸다. Cmd_mode[6]가 1이라면, retry를 나타낸다. 이때, Slave SerDes(13)가 Slave(22)로부터 NACK 신호를 수신했을 때에 Slave(22)에 대해 Write 또는 Read 커맨드 세트를 재송(再送)하도록 지시하는 것을 나타낸다.
Cmd_mode[7]가 0이라면, End of data로 종료 판정(P(STOP condition))을 수신한 경우에 Master(21)로부터 송신되는 I2C 프로토콜의 신호의 종료라고 판정하도록 지시하는 것을 나타낸다. Cmd_mode[7]가 1이라면, End of data 및 cmd_done으로 종료 판정하도록 지시하는 것을 나타낸다. 보다 상세하게는, cmd_done을 수신한 후에 P(STOP condition)를 수신한 경우에 Master(21)로부터 송신되는 I2C 프로토콜의 신호의 종료라고 판정하도록 지시하는 것을 나타낸다.
도 8의 table1 내의 Sub_Adr[2]의 Slave Adr은, Write 또는 Read 대상이 되는 Slave(22)의 어드레스(예를 들면, image sensor(12)라면 0x02)를 나타내는 1바이트의 정보이다.
Sub_Adr[3]의 Sub_adrH는, image sensor(12) 내의 mem(19)(mem3)의 어느 Sub_adr에 액세스하는지, 또는 temperature sensor(14) 내의 mem(20)의 어느 Sub_adr에 액세스하는지를 나타내는 어드레스의 상위 1바이트 정보이다.
Sub_Adr[4]의 Sub_adrL은, image sensor(12) 내의 mem(19)(mem3)의 어느 Sub_adr에 액세스하는지, 또는 temperature sensor(14) 내의 mem(20)의 어느 Sub_adr에 액세스하는지를 나타내는 어드레스의 하위 1바이트 정보이다.
Sub_Adr[5]의 LengthH는, wdata(Data[N-2:7])의 데이터 길이의 상위 1바이트 정보이다. Sub_Adr[6]의 LengthL은, wdata(Data[N-2:7])의 데이터 길이의 하위 1바이트 정보이다.
Sub_Adr[N-2:7]의 wdata는, Slave(22)에 write하는 데이터, 또는 Slave(22)로부터 Read하는 데이터이다. Sub_Adr의 각 비트마다 1바이트의 데이터를 격납한다.
Sub_Adr[N-1]의 End of data는, P(STOP condition)를 Master(21)로부터 수신하면 0x9F가 기록된다. 디폴트는, 0x00 등의 초기치가 기록되어 있다.
도 10은 통신 규격(X) 프로토콜상에서 전송하는 I2C 커맨드의 종류와 비트열을 도시하는 도면이다. 도 10에서 ACK는 긍정 응답이고, 처리가 정상적으로 완료된 것을 나타낸다. NACK는 부정 응답이고, 처리가 정상적으로 종료되지 않은 것을 나타낸다.
Repeated_start는, I2C 프로토콜의 신호가 계속되고 있는 것을 나타내는 스타트 플래그이다. 구체적으로는, 도 6에 도시하는 I2C의 combined format에서의 Sr에 해당된다. Master(21)로부터 Master SerDes(7)에의 I2C 통신을 시작한 후(S(START condition)를 발행한 후), 이 I2C 통신을 종료하는 일 없이(P(STOP condition)를 발행하는 일 없이) 다음의 I2C 통신을 시작하는 경우에 다음의 I2C 통신을 시작하기 전에 발행되는 플래그이다.
통신 규격(X) 프로토콜상에서 전송하는 I2C 커맨드에서의 End of data는, P(STOP condition)를 나타낸다. Cmd_mode[7]=0인 경우, S(START condition)로부터 P(STOP condition)까지의 I2C 프로토콜의 신호가 Slave SerDes(13)에 송신되는 것을 나타낸다.
통신 규격(X) 프로토콜상에서 전송하는 I2C 커맨드에서의 cmd_done은, Cmd_mode[7]=1인 경우에 다음의 데이터가 0xFF일 때의 특수 커맨드이다. cmd_done은, S(START condition)로부터 P(STOP condition)까지의 I2C 프로토콜의 신호를 한 세트로 하여 하나 이상의 세트를 Slave SerDes(13)에 송신하도록 지시하는 정보이다.
통신 규격(X) 프로토콜상에서 전송하는 I2C 커맨드에서의 Rsv_command는, Reserved이고, 현시점에서는 규정되지 않는다. I2C 커맨드에서의 data는, Slave(22)에 Write하는 데이터, 또는 Slave(22)로부터 Read한 데이터를 나타낸다.
도 10에서는 통신 규격(X) 프로토콜상에서 전송하는 I2C 커맨드가 8비트로 표현되는 예를 나타냈지만, 이것으로 한하지 않고, 9비트 이상으로 표현되어도 좋다. 예를 들면, 9bit로 표현하는 경우에는 I2C 프로토콜의 신호가 「data」인 경우에는 MSB측의 1비트를 「0」으로 하고, I2C 프로토콜의 신호가 「data」 이외인 경우에는 MSB측의 1비트를 「1」로 함으로써 I2C 프로토콜의 신호가 「data」인지 그 이외인지를 용이하게 판별할 수 있도록 할 수 있다.
본 명세서에서는 도 1의 통신 시스템(3)에서의 Master(21)와 Slave(22)의 데이터 통신의 전제 조건으로서, 각 기기의 어드레스를 한 예로서 이하와 같이 할당한다. ECU(4)의 어드레스는 0x00, SoC(5)의 어드레스는 0x01, Master SerDes(7)의 어드레스는 0x10, Slave SerDes(13)의 어드레스는 0x11, image sensor(12)의 어드레스는 0x02, temperature sensor(14)의 어드레스는 0x03으로 한다.
본 명세서에서는 Master(21)로부터 Master SerDes(7)에의 I2C 프로토콜의 신호의 송신을 M I2C protocol(M2SerDes)이라고 부른다(스텝 S1). 도 7에 도시하는 바와 같이, M I2C protocol(M2SerDes) 내의 S(START condition)는, Master(21)로부터 Slave(22)에의 I2C 프로토콜 신호의 시작을 나타낸다. I2C 프로토콜에서 「S」와 「Sl_adr」과 「W(Write) 또는 R(Read)」과 「Sub_adr」이 순차적으로 송신되는 것이 규정되어 있다.
SerDes1 St_Adr(Sl_adr(0x10))은, 어드레스로서 Master SerDes(7)의 어드레스인 0x10를 지정하는 것을 의미한다. W는 write 커맨드인 것을 나타낸다.
mem1 Sub_adr(Sub_adr(0x00))은, mem(11a)의 Sub_adr의 상위 비트로서 「0x00」을 지정하는 것을 나타낸다.
mem1 Sub_adr(Sub_adr(0x00))은, mem(11a)의 Sub_adr의 하위 비트로서 「0x00」을 지정하는 정보이다. 즉, mem(11a) 의 「0x0000」에 액세스하는 것을 Master(21)가 지정하는 것을 나타낸다.
I2C 설정 CLK(DATA(0x04))는, CLK_value로서 「0x04(400㎑)」를 지정하는 것을 나타낸다.
Cmd_mode(DATA(0x00))는, Cmd_mode[7:0]=0x00을 지정하는 것을 나타낸다.
최종 Slave adr(DATA(0x02))는, 대상 Slave(22)의 어드레스로서 「0x02」를 지정하는 것을 나타내고 있다. 「0x02」이기 때문에 Master(21)가 image sensor(12)를 선택했다는 것을 나타낸다.
최종 대상 Sub adrH(DATA(0x00))는, image sensor(12) 내의 mem3(최종적으로 액세스하고 싶은 대상)의 Sub_adr의 상위 비트로서 「0x00」을 지정하는 것을 나타낸다.
최종 대상 Sub adrL(DATA(0x00)): image sensor(12) 내의 mem3(최종적으로 액세스하고 싶은 대상)의 Sub_adr의 하위 비트로서 「0x00」을 지정하는 것을 나타낸다. 즉, mem3의 「0x0000」에 액세스하는 것을 Master(21)가 지정하는 것을 나타낸다.
Data lengthH(DATA(0x00))는, 그 후에 계속되는 데이터 길이를 나타내는 값의 상위 비트로서 「0x00」을 지정하는 것을 나타낸다.
Data lengthL(DATA(0x10))은, 그 후에 계속되는 데이터 길이를 나타내는 값의 하위 비트로서 「0x10」을 지정하는 것을 나타낸다. 즉, length[15:0]=0x0010이 되고, 16바이트인 Master(21)가 지정한 것을 나타낸다.
(DATA×2): 16바이트 분의 데이터가 송신된다.
P(STOP condition)는, Master(21)로부터 Slave(22)에의 I2C 프로토콜의 신호의 종료를 명시하는 것을 나타낸다.
Master(21)로부터 Master SerDes(7)에 M I2C protocol의 데이터 송신에 병행하여 Master SerDes(7)는, mem(11a)에 격납한 도 8의 table1의 정보를 Slave SerDes(13)에 송신하기 시작함과 함께 Master(21)에 대해, S I2C protocol(SerDes2M)로, ACK 신호를 송신한다(스텝 S1). Master SerDes(7)가 I2C 프로토콜의 신호를 구성하는 각 바이트를 Master(21)로부터 수신할 때마다 Master(21)에 대해 ACK 신호를 돌려 준다.
Master(21)로서는, 곧바로 ACK 신호가 되돌아오기 때문에 Master SerDes(7)가 연장되는 도 2에 도시하는 SCL low의 기간을 짧게 할 수 있다. 단, SCL low의 기간에는 하한이 있고, 제로로 할 수는 없다. 왜냐하면 SCL low는, SCL(I2C의 클록 신호)이 Low인 기간을 말하고, SCL low가 하한 미만이 되면 I2C의 클록 신호로서 기능하지 않게 되기 때문이다.
Master SerDes(7)는, Master(21)로부터 Master SerDes(7)에의 I2C 프로토콜의 신호에 의거하는 신호, 즉, Master(21)로부터 Master SerDes(7)에 송신된 I2C 프로토콜 신호를 도 10의 table2를 이용하여 변환한 I2C 커맨드 패킷을 도 8의 table1에 기록한다. 예를 들면, Master SerDes(7)는, 이하와 같은 데이터의 변환 정보를 도 8의 table1에 기록한다. 이것을 mem1(Save I2C command packet)이라고 부른다(스텝 S2).
(data) CLK_value(0x04)는, CLK_value로서 「0x04(400㎑)」를 기록한다. (data) Cmd_mode(0x00)는, Cmd_mode[7:0]=0x00을 기록한다. (data) sl_adr(0x02)은, 대상 Slave(22)의 어드레스로서 「0x02」를 기록한다. 「0x02」이기 때문에 image sensor(12)가 선택된 것으로 된다. (data) Sub_adrH(0x00)는, image sensor(12) 내의 mem3(최종적으로 액세스하고 싶은 대상)의 Sub_adr의 상위 비트로서 「0x00」을 기록한다. (data) Sub_adrL(0x00)은, image sensor(12) 내의 mem3(최종적으로 액세스하고 싶은 대상)의 Sub_adr의 하위 비트로서 「0x00」을 기록한다. (data) lengthH(0x00)는, 그 후에 계속되는 데이터 길이를 나타내는 값의 상위 비트로서 「0x00」을 기록한다. (data) lengthL(0x10)은, 그 후에 계속되는 데이터 길이를 나타내는 값의 하위 비트로서 「0x10」을 기록한다. 예를 들면, length[15:0]=0x0010이 되고, 16바이트인 것을 기록한다. (data) wdata×2는, 16바이트 분의 데이터를 기록한다. End of data는, 「0x9F」를 기록한다.
도 11은, 도 7에 계속되는 것이고, Master SerDes(7)로부터 Slave SerDes(13)에 통신 규격(X)으로 Random Write Command를 송신하는 처리를 도시하는 도면이다. 도 11에서의 S I2C protocol(Sedes2M)과 mem1(Save I2C command packet)(스텝 S1, S2)은, 도 7에서 설명한 것과 같다.
Master SerDes(7)는, 도 8의 table1의 데이터를 판독하여 통신 규격(X) 프로토콜의 신호로 프로토콜 변환하고, Packetized I2C on PHY(depend on the each PHY specification) forward channel로, Slave SerDes(13)에 송신한다(스텝 S3).
Cmd_mode=0x00인 경우, Cmd_mode[7]=0으로 「End of data 마다의 종료 판정」이다. 이 때문에 Master SerDes(7)의 LINK(11)는, 「End of data(0x9F)」를 수신하면 「End of data(0x9F)」를 도 8의 table1에 기록함과 함께 도 8의 table1을 판독하여 Rv. Tx(10)를 통하여 Slave SerDes(13)에 송신한다.
Cmd_mode=0x80인 경우, End of data 및 cmd_done가 기록된 단계에서 mem1의 데이터(도 8의 table1)를 통합하여 I2C 커맨드 변환하여 Rv. Tx(10)를 통하여 Slave SerDes(13)에 송신한다.
Slave SerDes(13)는, 수신한 통신 규격(X) 프로토콜의 신호로부터 I2C 커맨드 패킷을 추출하고, mem2 내의 table3에 기록한다. 이것을 도 11에서는 mem2(Save I2C command packet)라고 부르고 있다(스텝 S4). 도 12는, Random Write 동작 시의 mem2 내의 table3의 한 예를 도시하는 도면이다. table3에는, 도 8의 table1과 같은 내용의 정보가 기록된다.
Slave SerDes(13)는, Reverse link의 수신 데이터를 프로토콜 변환하여 mem2 내에서 원래의 mem1의 보존 데이터를 복원한다. Slave SerDes(13)는, End of data의 복원으로, I2C 커맨드 패킷의 복원 종료를 판정한다.
도 13은, 도 11에 이어지는 것이고, Slave SerDes(13)로부터 Slave(22)에 I2C 통신으로 데이터를 송신하는 처리를 도시하는 도면이다. 도 11의 mem2(Save I2C command packet)(스텝 S4)는, 도 11에서 설명한 것이다.
Slave SerDes(13)는 도 12에 도시하는 mem2 내의 table3에 End of data를 기록하면 table3을 판독하여 I2C 프로토콜의 신호로 포맷 변환하고, M I2C protocol(Sedes2Slave)로, I2C(13a)를 통하여 Slave(22)에 송신한다(스텝 S5).
(data) Cmd_mode(0x00)는, S(START condition)를 발행함과 함께 다음의 Sl_adr이 발행된 후에 Cmd_mode[0]의 값에 응하여 W(Write) 커맨드 또는 R(Read) 커맨드를 생성한다.
(data) Sl_adr(0x02)은, 상술한 Sl_adr로서 「0x02」를 지정하는 것을 나타낸다. 「0x02」이기 때문에 image sensor(12)가 선택된 것이 된다. (data) Sub_adrH(0x00)는, image sensor(12) 내의 mem3(최종적으로 액세스하고 싶은 대상)의 어드레스의 상위 비트로서 「0x00」을 지정하는 것을 나타낸다. (data) Sub_adrL(0x00)은, image sensor(12) 내의 mem3(최종적으로 액세스하고 싶은 대상)의 어드레스의 하위 비트로서 「0x00」을 지정하는 것을 나타낸다. (data) wdata×2는, 16바이트 분의 데이터를 나타낸다.
Slave(22)는, S I2C protocol(Slave2SerDes)로, 정상적으로 신호를 수신한 것을 나타내는 ACK 신호를 순서대로 Slave SerDes(13)에 돌려 준다(스텝 S5).
또한, Slave SerDes(13)로부터 Slave(22)에 I2C 통신에 의해 데이터를 송신하고 있는 동안은, mem2 내의 table3에는, 도 12와 같은 정보가 보존된다.
Slave SerDes(13)가 Cmd_mode[6]=0인 경우로서, Slave(22)로부터 되돌아온 신호가 전부 ACK 신호이었던 경우에는 ACK를 1개 이상의 NACK 신호가 있던 경우에는 NACK를 table3의 Sub_Adr=N에 기록한다.
Slave SerDes(13)가 Cmd_mode[6]=1인 경우로서, Slave(22)로부터 되돌아온 신호가 전부 ACK 신호이었던 경우에는 ACK를 table3의 Sub_Adr=N에 기록하고, 하나 이상의 NACK 신호가 있던 경우에는 재 Write를 행한다. 2회째도 NACK 신호이었던 경우에는 NACK를 table3의 Sub_Adr=N에 기록한다. 도 15는, Slave SerDes(13)와 Slave(22) 사이의 I2C 통신이 완료되고, Sub_Adr=N에 ACK, 또는 NACK이 기록된 Random Write Command에 대한 기억 영역 해방 전의 mem2의 기억 영역 상태를 나타내고 있다.
mem2 내의 table3의 Sub_Adr=N에 기록하는 ACK나 NACK의 생성 방법으로서는, 예를 들어 Slave(22)로부터 되돌아온 ACK 신호 및 NACK 신호의 논리적(論理積)을 취해도 좋다.
도 14는, 도 13에 이어지는 것이고, Slave SerDes(13)로부터 Master SerDes(7)에 통신 프로토콜(X)로 Random Write Command에 대한 회신을 행하는 처리를 도시하는 도면이다. 도 14의 S I2C protocol(Slave2SerDes)(스텝 S5)은, 도 13에서 설명한 것이다.
Slave SerDes(13)는, Slave(22)와의 I2C 통신 결과를 통신 규격(X) 프로토콜의 신호로 프로토콜 변환하여 Packetized I2C on PHY(depend on the each PHY specification) forward channel로, Master SerDes(7)에 송신한다(스텝 S6). Slave SerDes(13)는, mem2 내의 table3의 Sub_Adr=N에 ACK 또는 NACK를 기록하면 table3(Sub_Adr의 0부터 N까지)을 판독하여 필요한 정보(본 실시 형태에서는 Sub_Adr가 2와 N인 경우의 Data[7:0]인 것으로, Cmd_mode를 2바이트로 확장하는 경우에는 Cmd_ID도 포함한다)를 Master SerDes(7)에 송신한다. 송신이 완료되면 Slave SerDes(13)는 도 15에 도시한 mem2의 기억 영역을 해방한다.
여기서, mem1과 mem2는 같은 메모리 영역을 점유(Sub_Adr=0∼N-1)하고 있기 때문에 Slave SerDes(13)는 mem1 다음의 기록해야 할 Sub_Adr(mem2에서 비어 있어서 ACK/NACK를 기록한) Sub_Adr을 파악하고 있다. 또한, Slave SerDes(13)는, 자신이 Slave(22)에 write한 경우는 2바이트(I2C 통신을 한 Slave Adr과 I2C 통신 결과)를 Master SerDes(7)에 회신할 필요가 있는 것을 이해하고 있다.
도 16은, 도 14에 이어지는 것이고, Master SerDes(7)의 동작을 도시하는 도면이다. 도 16의 Packetized I2C on PHY(depend on the each PHY specification) forward channel(스텝 S6)은 도 14에서 설명한 것이다. Master SerDes(7)는, Slave SerDes(13)로부터 수신한 통신 규격(X) 프로토콜의 신호로부터 I2C 커맨드 패킷을 추출하고, mem1 내의 table1의 Sub_Adr의 N부터 N+9에 기록한다.
도 17은 Random Write Command에 대한 Slave SerDes로부터의 회신 데이터 수신 후의 mem1 내의 table1을 도시하는 도면이다. table1의 sub_Adr N∼N+6과 N+9에는, 도 14의 Slave SerDes(13) 내의 I2C Cmd Unit에서 생성한 I2C 커맨드 패킷이 보존된다. 또한 도 17의 table1의 sub_Adr N+7과 N+8에는, mem2 내의 sub_Adr(2)의 Slave Adr과, sub_Adr(N)의 ACK or NACK를 판독하여 전송한 내용이 된다.
도 18은 Master(21)가 Master SerDes(7)에 Random Write Command에 대한 폴링을 행하고, 실행 결과를 판독하는 경우의 처리를 도시하는 도면이다. Master(21)는, M I2C protocol(M2SerDes)로, SerDes1에 대해 의뢰 명령 결과의 폴링을 행한다(스텝 S7). Master(21)는, table1의 Sub_Adr=N+9를 폴링하여 0x9F라면 Sub_Adr=N+8을 Read하여 ACK/NACK의 어느 하나를 판단한다.
예를 들면, Master SerDes(7)에 의뢰한, 「Slave(22)에의 16바이트 write」가 완료되어 있으면, End of data(0x9F)와 그 결과인 ACK(0x81)를 판독할 수 있다. 또한, 본 예에서는 1바이트 read로, End of data의 결과를 보고 폴링의 판단을 행하고, 재차 1바이트 read로 ACK 또는 NACK를 read하고 있는데, 한번에 2바이트 read하여 폴링 결과와 Slave(22)에의 I2C 통신 결과를 판단해도 좋다. 가령 NACK가 되돌아온 경우에는 그 NACK를 당해 Slave(22)가 송신했는지의 여부를 Sub_adr(N+7)의 Slave Adr을 판독함으로써 Master(21)는 확인 가능하다.
도 17은, mem1 내의 보존 데이터의 한 예를 도시하는 도면이다. Master(21)는, 스스로 Master SerDes(7)에 대해 write 커맨드를 발행하고 있기 때문에 Master SerDes(7)의 mem1의 액세스 포인트를 파악하고 있다. 마찬가지로, Master SerDes(7)는, 스스로 mem1에 데이터를 보존하기 때문에 mem1의 액세스 포인트를 파악하고 있다. 예를 들면, Slave(22)에 write한 경우에 그 회신이 2B인 경우, Header는, 7Byte+2Bbyte+EoD(1Byte)=10Byte가 되고, 다음의 Sub_Adr은 N+10=34가 된다.
도 19는 Master(21)가 Master SerDes(7)에 대해 Random Write 동작 종료 처리로서 mem1의 기억 영역을 해방하는 신호의 전송을 도시하는 도면이다. 도 20은 Random Write Command에 대한 기억 영역이 해방되기 전의 mem1 내의 보존 데이터를 도시하는 도면이다. Master(21)는, M I2C protocol 처리, S I2C protocol 처리와, mem1(Save I2C command Packet) 처리를 행하여 table1의 Sub_Adr=N+8을 Read하여 ACK라면, 도 20에 도시하는 바와 같이, mem1 내의 table1의 Sub_Adr=N+10에 Clear를 기록한다(스텝 S8). Master SerDes(7)는, 이 Clear가 기록되면 mem1 내의 table1의 메모리 영역이 해방된다.
Master SerDes(7)는, mem1 내의 Sub_adr(N+10)에 0xFF가 기록되면 의뢰 명령의 종료 처리로서, 사용하고 있던 mem1의 기억 영역을 해방한다. 또는, Master(21)가 이용한 메모리 영역을 초기화하는 기록 커맨드에 따라, mem1의 기억 영역을 해방해도 좋다.
도 21∼도 23은 I2C 커맨드 일괄 송신 동작을 도시하는 도면이다. 도 21 및 도 22는 Cmd_mode[7]=1에 의한 일괄 command 전송을 도시하는 도면이다. 도 23은 Cmd_mode[7]=1에 의한 일괄 command 전송 시의 mem1 내의 table1의 보존 데이터의 상세를 도시하는 도면이다. I2C 커맨드 일괄 송신 동작은, Cmd_mode[2:0]=000, 또한 Cmd_mode[7]=1인 경우의 write 동작이다. 구체적으로는, Master(21)가 image sensor(12)(Sl_adr=0x02)와 temperature sensor(14)(Sl_adr=0x03)에 대해, 각각 8byte의 데이터를 일괄하여 write하는 경우를 나타낸다.
도 21의 Block b1은 image sensor(12)(Sl_adr=0x02)에 대한 8byte의 데이터의 Write 동작, Block b2는 temperature sensor(14)(Sl_adr=0x03)에 대한 8byte의 데이터의 Write 동작을 나타낸다. Block b3은, 일괄 동작의 종료를 cmd_done 및 P(STOP condition)로 나타내고 있다.
보다 상세하게는, 도 21 및 도 22에 도시하는 바와 같이, 우선 b1의 동작은, M I2C protocol(M2SerDes)로, Master(21)가 Master SerDes(7)에 대해, Slave(22)와의 I2C 통신을 의뢰하는 명령을 발행한다(스텝 S11). Master SerDes(7)는, Master(21)로부터의 데이터를 수신하면 S I2C protocol로, 자신의 타이밍에 ACK를 돌려 준다(스텝 S11).
이 의뢰 명령은 Cmd_mode[2:0]=000, 또한 Cmd_mode[7]=1의 I2C 커맨드 일괄 동작을 나타내고 있기 때문에 End of data를 mem1에 보존해도 Slave SerDes(13)에의 전송은 시작되지 않는다. 다음에 이어지는 b2의 동작은 b1의 Slave_adr이 temperature sensor(14)(Sl_adr=0x03)와 다를 뿐 동일하다.
최후의 b3은, Cmd_code[2]=1에서 특별한 코드인 것을 나타내고 있고, 다음에 이어지는 Data가 특별한 코드를 나타낸다. 본 예에서는 커맨드의 종료를 나타내는 특별한 cmd_done(0xFF)과 STOP condition을 연속 수신(스텝 S12)함으로써 Master SerDes(7)는 mem1 내에 보존하고 있던 수신 데이터(도 23)를 I2C 커맨드 일괄 송신으로서 Slave SerDes(13)에 일괄 송신한다.
또한, 본 실시 형태에서는 Master(21)가 Cmd_mode[7]=1을 설정한 경우에는 그 후에 cmd_done에 0xFF가 기록될 때까지는 Cmd_mode[7]=0을 설정해서는 안되는 것으로 하고 있다.
도 24∼도 34는 Random Read 동작(Cmd_mode[3:0]=0001 및 [7]=0인 경우의 Read 동작)을 나타낸다. Random Read 동작에서 Random Write 동작과 크게 다른 점은 이하와 같다.
Read 동작에서는 도 24∼도 27에 도시하는 바와 같이, 우선 Master(21)는 Master SerDes(7)에 대해 Read의 의뢰를 기록하고(도 24∼도 25), 이 Read의 의뢰를 Master SerDes(7)가 Slave SerDes(13)에 기록한다(도 26∼도 27).
그 후, 도 28A 및 도 29의 스텝 S25에서의 M I2C protocol(Sedes2Slave)의 처리에 도시하는 바와 같이, 「S」 「SL_adr」 「W」 「Sub_adr」로 처리 대상이 image sensor(12)의 mem3인 것을 Write 한 후에 「Sr」 「SL_adr」 「R」로 처리 대상으로부터 Read를 행한다.
이하, Random Read의 처리 순서를 도 24∼도 34에 의거하여 순차적으로 설명한다. 도 24는, Master(21)로부터 Master SerDes(7)에의 I2C command packet의 송신 순서를 나타내고 있다. 우선, 도 24의 스텝 S21에 도시하는 바와 같이, M I2C protocol(M2SerDes)의 처리를 행한다. 여기서는, Master(21)는, Master SerDes(7)에 대해, Slave(22)와의 I2C 통신을 의뢰하는 명령을 발행한다. Master(21)로부터 송신되는 커맨드 세트에는, SerDes1 St_Adr과 mem1 Sub_adr과 mem1 Sub_adr과, I2C 설정 CLK와, Cmd_mode와, 최종 대상 Slave Adr과, 최종 대상 Sub_adrH와, 최종 대상 Sub_Adr과, Data lengthH와, Data lengthL과, P(STOP condition)가 포함되어 있다.
Master SerDes(7)는, Master(21)로부터 정보 단위를 수신할 때마다 S I2C protocol(SerDes2M)로, ACK 신호를 Master(21)에 반송한다(스텝 S21). 또한, Master SerDes(7)는, 수신된 I2C command packet을 mem1에 격납한다(스텝 S22). mem1에는, 도 25에 도시하는 바와 같이, (data) CLK_value, (data) Cmd_mode, (data) Sl_adr, (data) Sub_adrH, (data) Sub_adrL, (data) length, (data) lengthL, End of data가 격납된다.
도 26은, 도 24에 이어서 행해지는 것이고, Master SerDes(7)로부터 Slave SerDes(13)에 통신 프로토콜(X)로 Random Read Command를 송신하는 처리를 도시하는 도면이다. Master SerDes(7)는, Packetized I2C on PHY(depend on the each PHY specification) forward channel로, mem1 내의 데이터를 프로토콜 변환하여 Slave SerDes(13)에 송신한다(스텝 S23). 보다 구체적으로는, Cmd_mode=0x00에서 mem1에 End of data가 격납되면 mem1 내의 데이터를 통합하여 I2C 커맨드 변환하여 reserve link로 Slave SerDes(13)에 송신한다. 한편, Cmd_mode=0x10에서 mem1에 End of data가 격납되고, 또한 cmd_done가 기록되면 mem1 내의 데이터를 통합하여 I2C 커맨드 변환하여 reserve link로 Slave SerDes(13)에 송신한다. Slave SerDes(13)는, reserve link의 수신 데이터를 프로토콜 변환하여 원래의 mem1의 보존 데이터를 mem2에 보존한다(스텝 S24). Slave SerDes(13)는, End of data를 복원한 단계에서 I2C 커맨드 패킷의 복원이 종료되었다고 판단한다. 도 27은, mem2 내의 보존 데이터의 한 예를 도시하는 도면이다.
도 28A는, 도 26에 이어서 행해지는 것이고, Slave SerDes(13)로부터 Slave(22)에의 Random Read Command를 송신하는 처리를 도시하는 도면이다. Slave SerDes(13)는, M I2C protocol(SerDes2 Slave)로, I2C command packet을 Slave(22)에 송신한다(스텝 S25). Slave(22)는, 수신한 정보 단위마다, S I2C protocol(Slave2SerDes)로, ACK 신호를 Slave SerDes(13)에 반송함과 함께 Sub_adrH, Sub_adrL로 지정된 어드레스로부터 순차적으로 rdata를 Slave SerDes(13)에 송신한다. Slave SerDes(13)는 도 29에 도시하는 바와 같이, Slave(22)에 대해 rdata를 수신한 것을 나타내는 ACK 신호를 1바이트마다 송신함과 함께 Slave(22)로부터의 rdata를 mem2에 격납한다.
도 28A에서의 Slave SerDes(13)와 Slave(22)는, 도 28B에 도시하는 Random Read 동작 시의 I2C 통신 프로토콜에 준거한 프로토콜에 의한 통신을 행하고 있는 것을 알 수 있다.
도 30은, 도 28에 이어서 행해지는 것이고, Slave SerDes(13)로부터 Master SerDes(7)에 통신 규격(X)으로 Read Command에 대한 회신을 행하는 처리를 도시하는 도면이다. Slave SerDes(13)는, Packetized I2C on PHY(depend on the each PHY specification) forward channel을 통하여 rdata를 송신한다(스텝 S26). 보다 상세하게는, Slave SerDes(13)는, Slave(22)와의 I2C 통신 결과(Rdata, ACK)+End of data를 변환하여 forward link로 Master SerDes(7)에 송신한다. 도 29는, Random Read 동작 후의 mem2 내의 table3의 보존 데이터를 도시하고 있다.
도 31은, 도 30에 이어서 행해지는 것이고, Random Read Command에 대한 Slave SerDes(13)로부터의 회신을 수신했을 때의 Master SerDes(7)의 처리를 도시하는 도면이다. Master SerDes(7)는, forward link의 수신 데이터를 프로토콜 변환하여 Slave(22)와의 I2C 통신 결과(ACK/NACK)를 포함하는 수신 데이터를 mem1에 보존한다. 도 32는, Random Read Command에 대한 Slave SerDes(13)로부터의 회신 데이터를 수신 후의 mem1 내의 데이터의 한 예를 도시하는 도면이다.
도 33은, Master(21)가 Master SerDes(7)에 Random Read Command에 대한 폴링을 행하고, 실행 결과를 판독하는 경우의 처리를 도시하는 도면이다. Master(21)는, M I2C protocol(M2SerDes)로, Master SerDes(7)에 대해 의뢰 명령 결과의 폴링을 행한다(스텝 S27). Master(21)는, Slave(22)측의 ACK를 기다리는 일 없이, 자신의 타이밍에서 Master(21)에 ACK를 돌려 준다(스텝 S27).
Master(21)가 Master SerDes(7)에 의뢰한, 「Slave(22)에의 16바이트 read」의 결과가 끝나 있으면, End of data(0x9F)와, 그 결과인 ACK(0x81)를 판독할 수 있다. 가령, End of data의 판독 결과가 0x9F 이외인 경우는, 폴링을 계속한다. 본 예에서는 1바이트 read로 End of data의 결과를 보고 폴링 판단을 행하고, 다시, 17바이트 Read로 rdata(16바이트)+ACK/NACK를 read하고 있는데, 한번에 18바이트의 read를 행하여 폴링 결과와 Slave(22)에의 I2C 통신 결과를 판단해도 좋다. 가령 결과가 NACK인 경우, 그 NACK가 당해 Slave(22)로부터의 것인지를 Sub_Adr(15)의 Slave Adr을 판독함으로써 Master(21)는 확인할 수 있다.
도 34는 Random Read Command에 대한 기억 영역이 해방되기 전의 mem1 내의 table1의 보존 데이터의 한 예를 도시하는 도면이다. Slave(22)로부터의 16바이트 read는, Header(7바이트)+Sl_adr(1바이트)+rdata(16바이트)+A(1바이트)+End of data(1바이트)=26바이트이므로, Sub_adr=8∼33을 사용하기 때문에 다음의 Sub_Adr은 N=34가 된다.
도 19는 Master(21)가 Master SerDes(7)에 대해 Random Read 동작 종료 처리로서 mem1의 기억 영역을 해방하는 신호의 전송을 도시하는 도면이다. Master(21)는, M I2C protocol(M2SerDes)로, 의뢰 커맨드 결과의 읽기를 완료하고, Master SerDes(7)의 클리어 처리 명령을 발행한다(스텝 S28). Master SerDes(7)는, mem1 Sub_adr(N)에 0xFF가 기록되면 의뢰 명령의 종료 처리로서 사용하고 있던 mem1의 영역을 해방하거나, 또는 Master(21)는, 이용하고 있던 메모리 영역을 초기화하는 기록 커맨드를 발행해도 좋다.
도 34는 mem1 내의 table1의 보존 데이터의 한 예를 도시하는 도면이다. Sub_adr(N)에 Clear가 기록된다. 도 35A는 Current read를 행하는 경우의 처리를 도시하는 도면이다. 도 35B는 Current read를 행하는 경우의 I2C 프로토콜을 도시하는 도면이다. 도 36은 Current read를 행하는 경우의 mem2 내의 table3의 보존 데이터의 한 예를 도시하는 도면이다.
도 28A에서는 Slave SerDes(13)가 Slave(22)에 Random Read를 행하는 처리를 설명했는데, 도 35A에 도시하는 바와 같이, Slave(22) 내의 mem3에 최초에 액세스할 때는 반드시 Random Read를 행할 필요가 있는데, 2회째 이후는 Current read라도 좋다.
Slave SerDes(13)는, mem2에 End of data, 또는 End of data와 cmd_done이 기록되면 mem2에 기록된 데이터를 I2C 프로토콜 변환하여 Slave(22)와 I2C 통신을 행한다. Current read를 행하는 경우(Cmd_mode[3:0]=1001인 경우)는, 도 36에 도시하는 mem2 내의 Sub_adrH와 Sub_adrL은 사용되지 않는다. 이 때문에 Slave SerDes(13)로부터 Slave(22)에 송신하는 I2C command protocol이 2바이트 분 적어진다.
도 35A에서의 Slave SerDes(13)와 Slave(22)는, 도 35B에 도시하는 I2C 통신 프로토콜에 준거한 프로토콜에 의한 통신을 행하고 있는 것을 알 수 있다.
이와 같이, 본 실시 형태에서는 Master(21)와 Slave(22) 사이에서 데이터 통신을 행하는 경우에 Master(21)와 Slave(22) 사이에 Master SerDes(7)와 Slave SerDes(13)를 마련하고, Master(21)가 Slave(22) 앞으로 송신한 커맨드를 Master SerDes(7)가 수신하면 Master SerDes(7)는, Slave(22)로부터의 ACK를 기다리지 않고, 자신의 판단으로, Master(21)에 ACK를 돌려 준다. 이에 의해, Master(21)는, 신속하게 ACK를 수신할 수 있고, ACK를 수신 후의 처리를 신속하게 행할 수 있다. 즉, Master(21)는 ACK를 수신할 때까지 클록을 스트레치시키는 기간을 단축할 수 있고, Master(21)의 처리 효율을 향상할 수 있다.
도 37은, 본 실시 형태에 의한 통신 시스템(3)의 등가적인 블록도이다. 도 37의 통신 시스템(3)은, Master(21)에 대응하는 제1 외부 장치와, Slave(22)에 대응하는 제2 외부 장치 사이에서 데이터 통신을 행할 때에 Master(21)와 Slave(22) 사이에 Master SerDes(7)와 Slave SerDes(13)를 마련하여 Master(21)와 Slave(22) 사이의 데이터 통신을 중계하도록 하고 있다. Master SerDes(7)는 제1 LINK(LINK(11))를 가진다. Slave SerDes(13)는 제2 LINK(LINK(17))를 가진다. 제1 LINK는, Master(21)로부터의 제1 외부 신호에 의거하여 제1 출력 신호를 생성하여 Slave SerDes(13)에 출력함과 함께 Slave SerDes(13)로부터의 제2 출력 신호에 의거하여 제3 출력 신호를 생성하여 Master(21)에 출력한다. 제2 LINK는, Slave(22)로부터의 제2 외부 신호에 의거하여 제2 출력 신호를 생성하여 Master SerDes(7)에 출력함과 함께 Master SerDes(7)로부터의 제1 출력 신호에 의거하여 제4 출력 신호를 생성하여 Slave에 출력한다.
제1 출력 신호, 제2 출력 신호, 제1 외부 신호 및 제2 외부 신호의 각각은, Master(21)로부터 송신되는 커맨드의 내용을 나타내는 Cmd_mode와, Slave(22)를 식별하는 Slave_Adr과, Slave(22)의 내부의 어드레스 정보(Sub_Adr)와, Master(21)로부터 송신되는 데이터의 길이(Length)와, Master(21)로부터 송신되는 데이터의 종료 위치(End of data)를 포함한다.
도 37과 같이 통신 시스템(3)을 구성함에 의해, Master(21)와 Slave(22) 사이에서 고속으로 데이터 통신을 행할 수 있다.
Master SerDes(7)와 Slave SerDes(13) 사이에서는 예를 들어 TDD 방식 또는 FDD(Frequency Division Duplexing) 방식으로, 고속으로 데이터 통신을 행할 수 있다.
또한, 본 기술은 이하와 같은 구성을 취할 수 있다.
(1) 제1 외부 장치로부터의 제1 외부 신호에 의거하여 제1 출력 신호를 생성하여 제2 외부 장치에 출력함과 함께 상기 제2 외부 장치로부터의 제2 외부 신호에 의거하여 제2 출력 신호를 생성하여 상기 제1 외부 장치에 출력하는 LINK를 구비하고,
상기 제1 출력 신호 및 상기 제2 외부 신호의 각각은,
상기 제1 외부 장치로부터 송신되는 커맨드의 내용을 나타내는 커맨드 정보와,
상기 제1 외부 장치로부터 송신되는 데이터의 최종 수신처 장치를 식별하는 최종 수신처 장치 식별 정보와,
상기 제1 외부 장치로부터 송신되는 데이터의 길이를 나타내는 데이터 길이 정보와,
상기 제1 외부 장치로부터 송신되는 데이터의 종료 위치를 나타내는 데이터 종료 위치 정보를 포함하는 통신 장치.
(2) 상기 최종 수신처 장치 식별 정보는 상기 커맨드 정보 다음에 배치되고,
상기 내부 어드레스 정보는 상기 최종 수신처 장치 식별 정보의 다음에 배치되며,
상기 데이터 길이 정보는 상기 내부 어들레스 정보의 다음에 배치되는 (1)에 기재된 통신 장치.
(3) 상기 커맨드 정보는 상기 통신 장치와 상기 제2 외부 장치 사이의 소정의 통신 규격상의 커맨드 포맷을 정의하는 커맨드 포맷 정보를 포함하는 (1) 또는 (2)에 기재된 통신 장치.
(4) 상기 커맨드 정보는 상기 제1 외부 장치로부터 송신되는 데이터의 종료 판정의 조건을 지정하는 데이터 종료 판정 조건 정보를 포함하는 (1) 내지 (3)의 어느 한 항에 기재된 통신 장치.
(5) 상기 제1 출력 신호 및 상기 제2 외부 신호의 각각은, 상기 제2 외부 장치와 상기 최종 수신처 장치 사이의 통신 주파수를 지정하는 통신 주파수 정보를 또한 포함하는 (1) 내지 (4)의 어느 한 항에 기재된 통신 장치.
(6) 상기 제1 출력 신호 및 상기 제2 외부 신호는, I2C(Inter-Integrated Circuit) 통신의 커맨드를 상기 통신 장치와 상기 제2 외부 장치 사이의 소정의 통신 규격으로 프로토콜 변환한 커맨드를 포함하는 (1) 내지 (5)의 어느 한 항에 기재된 통신 장치.
(7) 상기 LINK는, 상기 제1 외부 신호를 구성하는 각 정보 단위를 상기 제1 외부 장치로부터 수신할 때마다 긍정 응답을 나타내는 ACK 신호, 또는 부정 응답을 나타내는 NACK 신호를 상기 제1 외부 장치에 송신하는 (1) 내지 (6)의 어느 한 항에 기재된 통신 장치.
(8) 상기 LINK는, 상기 제1 외부 신호에 응한 신호와, 상기 제2 외부 신호에 응한 신호를 기억하는 기억부를 가지고,
상기 LINK는, 상기 제1 외부 장치로부터의 상기 제1 외부 신호의 수신이 종료되면 상기 수신되어 상기 기억부에 기억된 제1 외부 신호를 통합하여 프로토콜 변환한 후에 상기 제1 출력 신호를 생성하는 (1) 내지 (7)의 어느 한 항에 기재된 통신 장치.
(9) 상기 LINK에 의한 프로토콜 변환은 TDD(Time Division Duplex)의 프로토콜 변환인 (8)에 기재된 통신 장치.
(10) 상기 LINK는, 상기 제1 출력 신호를 상기 제2 외부 장치에 송신하고, 상기 제2 외부 장치로부터 상기 제1 출력 신호에 대한 처리가 완료된 것을 나타내는 정보를 수신하면 처리 완료를 나타내는 신호를 상기 기억부에 기억하는 (8) 또는 (9)에 기재된 통신 장치.
(11) 상기 LINK는, 상기 제1 외부 장치로부터의 커맨드에 의거하여 상기 기억부의 기억 영역을 해방하는 (8) 내지 (10)의 어느 한 항에 기재된 통신 장치.
(12) 상기 LINK는, 상기 제2 외부 장치로부터 송신된 상기 제2 외부 신호에 대한 처리 완료 정보를 상기 제1 외부 장치로부터의 요구 신호에 응하여 상기 제1 외부 장치에 출력하거나, 또는 상기 제1 외부 장치에 대해 인터럽트 처리를 행하여 상기 제1 외부 장치에 출력하는 (1) 내지 (11)의 어느 한 항에 기재된 통신 장치.
(13) 상기 LINK는, 상기 제1 출력 신호의 출력을 지시하는 출력 지시 정보와, 상기 제1 외부 신호의 송신 종료를 나타내는 송신 종료 정보를 포함하는 상기 제1 외부 신호를 상기 제1 외부 장치로부터 수신하는 (1) 내지 (12)의 어느 한 항에 기재된 통신 장치.
(14) 상기 LINK는, 상기 제1 외부 장치로부터 송신되는 데이터의 종료 판정의 조건을 지정하는 데이터 종료 판정 조건 정보로서 제1 값이 수신된 경우에는 상기 제1 외부 신호의 송신 종료를 나타내는 송신 종료 정보가 수신되면 상기 제1 외부 장치로부터 송신되는 상기 제1 외부 신호가 종료되었다고 인식하는 (1) 내지 (13)의 어느 한 항에 기재된 통신 장치.
(15) 상기 LINK는, 상기 제1 외부 장치로부터 송신되는 데이터의 종료 판정의 조건을 지정하는 데이터 종료 판정 조건 정보로서 제2 값이 수신된 경우에는 그 후에 수신하는 상기 데이터 종료 판정 조건 정보의 값에 의하지 않고, 상기 제1 출력 신호의 출력을 지시하는 출력 지시 정보 및 상기 제1 외부 신호의 송신 종료를 나타내는 송신 종료 정보가 수신되면 상기 제1 외부 장치로부터 송신되는 상기 제1 외부 신호가 종료되었다고 인식하는 (1) 내지 (14)의 어느 한 항에 기재된 통신 장치.
(16) 상기 LINK는, 상기 제1 출력 신호를 상기 제2 외부 장치에 송신한 후, 상기 기억부의 기억 영역을 해방하는 (8) 또는 (9)에 기재된 통신 장치.
(17) 상기 LINK는,
상기 기억부에 기억된 상기 제2 외부 신호에 의거하는 신호에 대해 상기 제2 출력 신호에 대한 프로토콜 변환을 행한 후의 신호를 상기 제1 외부 장치에 정보 단위마다 출력하는 것과,
상기 제1 외부 장치로부터 출력되는 상기 제1 외부 신호를 구성하는 각 정보 단위를 수신하는 것의 적어도 일방을 미리 정한 횟수 또는 시간 내에 행하는 (8) 내지 (11), (16)의 어느 한 항에 기재된 통신 장치.
(18) 제1 LINK를 구비하는 Master SerDes와,
제2 LINK를 구비하는 Slave SerDes를 구비하고,
상기 제1 LINK는, Master로부터의 제1 외부 신호에 의거하여 제1 출력 신호를 생성하여 상기 Slave SerDes에 출력함과 함께 상기 Slave SerDes로부터의 제2 출력 신호에 의거하여 제3 출력 신호를 생성하여 상기 Master에 출력하고,
상기 제2 LINK는, Slave로부터의 제2 외부 신호에 의거하여 상기 제2 출력 신호를 생성하여 상기 Master SerDes에 출력함과 함께 상기 Master SerDes로부터의 상기 제1 출력 신호에 의거하여 제4 출력 신호를 생성하여 상기 Slave에 출력하고,
상기 제1 출력 신호, 상기 제2 출력 신호, 상기 제1 외부 신호 및 상기 제2 외부 신호의 각각은,
상기 Master로부터 송신되는 커맨드의 내용을 나타내는 커맨드 정보와,
상기 Slave를 식별하는 최종 수신처 장치 식별 정보와,
상기 Slave의 내부의 어드레스를 나타내는 내부 어드레스 정보와,
상기 Master로부터 송신되는 데이터의 길이를 나타내는 데이터 길이 정보와,
상기 Master로부터 송신되는 데이터의 종료 위치를 나타내는 데이터 종료 위치 정보를 포함하는 통신 시스템.
본 개시의 양태는, 상술한 개개의 실시 형태로 한정되는 것이 아니고, 당업자가 상도할 수 있는 여러 가지 변형도 포함하는 것이고, 본 개시의 효과도 상술한 내용으로 한정되지 않는다. 즉, 특허청구의 범위에 규정된 내용 및 그 균등물로부터 도출되는 본 개시의 개념적인 사상과 취지를 일탈하지 않는 범위에서 여러 가지 추가, 변경 및 부분적 삭제가 가능하다.
1: 통신 장치 3: 통신 시스템
4: ECU 4a: I2C
5: SoC 5a: I2C
7: Master SerDes 8: I2C Cmd Unit
9: Fw. Rx 10: Rv. Tx
11: LINK 11a: mem
12: image sensor 12a: I2C
13: Slave SerDes 14: temperature sensor
17: LINK 19: mem
20: mem 21: Master
22: Slave

Claims (18)

  1. 제1 외부 장치로부터의 제1 외부 신호에 의거하여 제1 출력 신호를 생성하여 제2 외부 장치에 출력함과 함께 상기 제2 외부 장치로부터의 제2 외부 신호에 의거하여 제2 출력 신호를 생성하여 상기 제1 외부 장치에 출력하는 LINK를 구비하고,
    상기 제1 출력 신호 및 상기 제2 외부 신호의 각각은,
    상기 제1 외부 장치로부터 송신되는 커맨드의 내용을 나타내는 커맨드 정보와,
    상기 제1 외부 장치로부터 송신되는 데이터의 최종 수신처 장치를 식별하는 최종 수신처 장치 식별 정보와,
    상기 최종 수신처 장치의 내부의 어드레스를 나타내는 내부 어드레스 정보와,
    상기 제1 외부 장치로부터 송신되는 데이터의 길이를 나타내는 데이터 길이 정보와,
    상기 제1 외부 장치로부터 송신되는 데이터의 종료 위치를 나타내는 데이터 종료 위치 정보를 포함하는 것을 특징으로 하는 통신 장치.
  2. 제1항에 있어서,
    상기 최종 수신처 장치 식별 정보는 상기 커맨드 정보 다음에 배치되고,
    상기 내부 어드레스 정보는 상기 최종 수신처 장치 식별 정보 다음에 배치되고,
    상기 데이터 길이 정보는 상기 내부 어드레스 정보 다음에 배치되는 것을 특징으로 하는 통신 장치.
  3. 제1항에 있어서,
    상기 커맨드 정보는 상기 통신 장치와 상기 제2 외부 장치 사이의 소정의 통신 규격상의 커맨드 포맷을 정의하는 커맨드 포맷 정보를 포함하는 것을 특징으로 하는 통신 장치.
  4. 제1항에 있어서,
    상기 커맨드 정보는 상기 제1 외부 장치로부터 송신되는 데이터의 종료 판정의 조건을 지정하는 데이터 종료 판정 조건 정보를 포함하는 것을 특징으로 하는 통신 장치.
  5. 제1항에 있어서,
    상기 제1 출력 신호 및 상기 제2 외부 신호의 각각은, 상기 제2 외부 장치와 상기 최종 수신처 장치 사이의 통신 주파수를 지정하는 통신 주파수 정보를 또한 포함하는 것을 특징으로 하는 통신 장치.
  6. 제1항에 있어서,
    상기 제1 출력 신호 및 상기 제2 외부 신호는, I2C(Inter-Integrated Circuit) 통신의 커맨드를 상기 통신 장치와 상기 제2 외부 장치 사이의 소정의 통신 규격으로 프로토콜 변환한 커맨드를 포함하는 것을 특징으로 하는 통신 장치.
  7. 제1항에 있어서,
    상기 LINK는, 상기 제1 외부 신호를 구성하는 각 정보 단위를 상기 제1 외부 장치로부터 수신할 때마다 긍정 응답을 나타내는 ACK 신호, 또는 부정 응답을 나타내는 NACK 신호를 상기 제1 외부 장치에 송신하는 것을 특징으로 하는 통신 장치.
  8. 제1항에 있어서,
    상기 LINK는, 상기 제1 외부 신호에 응한 신호와, 상기 제2 외부 신호에 응한 신호를 기억하는 기억부를 가지고,
    상기 LINK는, 상기 제1 외부 장치로부터의 상기 제1 외부 신호의 수신이 종료되면 상기 수신되어 상기 기억부에 기억된 제1 외부 신호를 통합하여 프로토콜 변환한 후에 상기 제1 출력 신호를 생성하는 것을 특징으로 하는 통신 장치.
  9. 제8항에 있어서,
    상기 LINK에 의한 프로토콜 변환은 TDD(Time Division Duplex)의 프로토콜 변환인 것을 특징으로 하는 통신 장치.
  10. 제8항에 있어서,
    상기 LINK는, 상기 제1 출력 신호를 상기 제2 외부 장치에 송신하고, 상기 제2 외부 장치로부터 상기 제1 출력 신호에 대한 처리가 완료된 것을 나타내는 정보를 수신하면 처리 완료를 나타내는 신호를 상기 기억부에 기억하는 것을 특징으로 하는 통신 장치.
  11. 제8항에 있어서,
    상기 LINK는, 상기 제1 외부 장치로부터의 커맨드에 의거하여 상기 기억부의 기억 영역을 해방하는 것을 특징으로 하는 통신 장치.
  12. 제1항에 있어서,
    상기 LINK는, 상기 제2 외부 장치로부터 송신된 상기 제2 외부 신호에 대한 처리 완료 정보를 상기 제1 외부 장치로부터의 요구 신호에 응하여 상기 제1 외부 장치에 출력하거나, 또는 상기 제1 외부 장치에 대해 인터럽트 처리용의 인터럽트 요구 플래그를 상기 제1 외부 장치에 출력하는 것을 특징으로 하는 통신 장치.
  13. 제1항에 있어서,
    상기 LINK는, 상기 제1 출력 신호의 출력을 지시하는 출력 지시 정보와, 상기 제1 외부 신호의 송신 종료를 나타내는 송신 종료 정보를 포함하는 상기 제1 외부 신호를 상기 제1 외부 장치로부터 수신하는 것을 특징으로 하는 통신 장치.
  14. 제1항에 있어서,
    상기 LINK는, 상기 제1 외부 장치로부터 송신되는 데이터의 종료 판정의 조건을 지정하는 데이터 종료 판정 조건 정보로서 제1 값이 수신된 경우에는 상기 제1 외부 신호의 송신 종료를 나타내는 송신 종료 정보가 수신되면 상기 제1 외부 장치로부터 송신되는 상기 제1 외부 신호가 종료되었다고 인식하는 것을 특징으로 하는 통신 장치.
  15. 제1항에 있어서,
    상기 LINK는, 상기 제1 외부 장치로부터 송신되는 데이터의 종료 판정의 조건을 지정하는 데이터 종료 판정 조건 정보로서 제2 값이 수신된 경우에는 그 후에 수신하는 상기 데이터 종료 판정 조건 정보의 값에 의하지 않고, 상기 제1 출력 신호의 출력을 지시하는 출력 지시 정보 및 상기 제1 외부 신호의 송신 종료를 나타내는 송신 종료 정보가 수신되면 상기 제1 외부 장치로부터 송신되는 상기 제1 외부 신호가 종료되었다고 인식하는 것을 특징으로 하는 통신 장치.
  16. 제8항에 있어서,
    상기 LINK는, 상기 제1 출력 신호를 상기 제2 외부 장치에 송신한 후, 상기 기억부의 기억 영역을 해방하는 것을 특징으로 하는 통신 장치.
  17. 제8항에 있어서,
    상기 LINK는,
    상기 기억부에 기억된 상기 제2 외부 신호에 의거하는 신호에 대해 상기 제2 출력 신호에 대한 프로토콜 변환을 행한 후의 신호를 상기 제1 외부 장치에 정보 단위마다 출력하는 것과,
    상기 제1 외부 장치로부터 출력되는 상기 제1 외부 신호를 구성하는 각 정보 단위를 수신하는 것의 적어도 일방을 미리 정한 횟수 또는 시간 내에 행하는 것을 특징으로 하는 통신 장치.
  18. 제1 LINK를 구비하는 Master SerDes와,
    제2 LINK를 구비하는 Slave SerDes를 구비하고,
    상기 제1 LINK는, Master로부터의 제1 외부 신호에 의거하여 제1 출력 신호를 생성하여 상기 Slave SerDes에 출력함과 함께 상기 Slave SerDes로부터의 제2 출력 신호에 의거하여 제3 출력 신호를 생성하여 상기 Master에 출력하고,
    상기 제2 LINK는, Slave 로부터의 제2 외부 신호에 의거하여 상기 제2 출력 신호를 생성하여 상기 Master SerDes에 출력함과 함께 상기 Master SerDes로부터의 상기 제1 출력 신호에 의거하여 제4 출력 신호를 생성하여 상기 Slave에 출력하고,
    상기 제1 출력 신호, 상기 제2 출력 신호, 상기 제1 외부 신호 및 상기 제2 외부 신호의 각각은,
    상기 Master로부터 송신되는 커맨드의 내용을 나타내는 커맨드 정보와,
    상기 Slave를 식별하는 최종 수신처 장치 식별 정보와,
    상기 Slave의 내부의 어드레스를 나타내는 내부 어드레스 정보와,
    상기 Master로부터 송신되는 데이터의 길이를 나타내는 데이터 길이 정보와,
    상기 Master로부터 송신되는 데이터의 종료 위치를 나타내는 데이터 종료 위치 정보를 포함하는 것을 특징으로 하는 통신 시스템.
KR1020227014563A 2020-03-18 2021-03-11 통신 장치 및 통신 시스템 KR20220156512A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/822,480 US11581941B2 (en) 2020-03-18 2020-03-18 Communication device and communication system
US16/822,480 2020-03-18
PCT/JP2021/009854 WO2021187320A1 (ja) 2020-03-18 2021-03-11 通信装置及び通信システム

Publications (1)

Publication Number Publication Date
KR20220156512A true KR20220156512A (ko) 2022-11-25

Family

ID=77748824

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227014566A KR20220155420A (ko) 2020-03-18 2021-03-11 통신 장치 및 통신 시스템
KR1020227014563A KR20220156512A (ko) 2020-03-18 2021-03-11 통신 장치 및 통신 시스템

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227014566A KR20220155420A (ko) 2020-03-18 2021-03-11 통신 장치 및 통신 시스템

Country Status (6)

Country Link
US (4) US11581941B2 (ko)
EP (2) EP4123978A4 (ko)
JP (2) JPWO2021187320A1 (ko)
KR (2) KR20220155420A (ko)
CN (2) CN115280731A (ko)
WO (2) WO2021187322A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230385225A1 (en) * 2022-05-24 2023-11-30 Sony Semiconductor Solutions Corporation Communication device and communication system

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 (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068386B2 (en) * 2000-05-16 2006-06-27 Canon Kabushiki Kaisha Image processing system, image data processing method, and storage medium
US7317733B1 (en) 2003-08-18 2008-01-08 Cortina Systems, Inc. Apparatus, system, and method for protocol conversion in transceiver modules
US20100191814A1 (en) * 2008-12-23 2010-07-29 Marco Heddes System-On-A-Chip Employing A Network Of Nodes That Utilize Receive Side Flow Control Over Channels For Messages Communicated Therebetween
EP2326029B1 (en) * 2009-11-23 2013-09-25 Lakeside Labs GmbH Cooperative relay scheme having backward compatibility
WO2012095892A1 (en) * 2011-01-14 2012-07-19 Hitachi, Ltd. Storage apparatus and response time control method
US20180107591A1 (en) * 2011-04-06 2018-04-19 P4tents1, LLC System, method and computer program product for fetching data between an execution of a plurality of threads
US10862784B2 (en) * 2011-10-04 2020-12-08 Electro Industries/Gauge Tech Systems and methods for processing meter information in a network of intelligent electronic devices
JP6459588B2 (ja) 2015-02-10 2019-01-30 沖電気工業株式会社 アクセス制御システム、アクセス制御方法、親局装置及び子局装置
US9882704B2 (en) * 2015-10-02 2018-01-30 OE Solutions Co. Ltd. Method and apparatus to add new system functions to deployed network element using smart transceivers
US10524173B2 (en) * 2016-02-24 2019-12-31 Cisco Technology, Inc. System and method to facilitate sharing bearer information in a network environment
JP7033499B2 (ja) * 2017-07-26 2022-03-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 異常検知装置および異常検知方法

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
KR20220155420A (ko) 2022-11-22
CN115280730A (zh) 2022-11-01
CN115280731A (zh) 2022-11-01
EP4123977A1 (en) 2023-01-25
JPWO2021187322A1 (ko) 2021-09-23
US20230145915A1 (en) 2023-05-11
JPWO2021187320A1 (ko) 2021-09-23
EP4123978A4 (en) 2023-09-06
US11563483B2 (en) 2023-01-24
US11581941B2 (en) 2023-02-14
EP4123977A4 (en) 2023-08-30
US20210297386A1 (en) 2021-09-23
US20210297385A1 (en) 2021-09-23
US20230146989A1 (en) 2023-05-11
WO2021187322A1 (ja) 2021-09-23
WO2021187320A1 (ja) 2021-09-23
EP4123978A1 (en) 2023-01-25

Similar Documents

Publication Publication Date Title
US11831739B2 (en) Communication apparatus and communication system
KR100405250B1 (ko) 데이터 전송 제어 장치 및 전자 기기
US5935267A (en) Data communication method and a data communication system for use with a digital network
JP3721234B2 (ja) プリンタ・システムおよびその動作制御方法
KR20220156512A (ko) 통신 장치 및 통신 시스템
US20240078210A1 (en) Communication apparatus, communication system, and communication method
US7711877B2 (en) Image sensing device
US6804205B1 (en) Method and apparatus for transmitting packet for synchronization using half duplex transmission medium
US11601254B2 (en) Communication apparatus, communications system, and communication method
US20230205722A1 (en) Communication device and communication system
EP3671720B1 (en) Real-time on-chip data transfer system
US6832267B2 (en) Transmission method, transmission system, input unit, output unit and transmission control unit
EP4344168A1 (en) Communication device and communication system
KR20010033660A (ko) 데이터 전송 제어 장치 및 전자기기
JP2000183904A (ja) パケット送出方法及びパケット送出装置
JP3189571B2 (ja) データ処理装置
JP4172921B2 (ja) 撮像装置
JP3610982B2 (ja) データ転送制御装置及び電子機器
JP2018125814A (ja) 伝送装置、伝送方法及び伝送システム
KR20010065001A (ko) 자동수신모드를 갖는 비동기화 데이터 수신장치
JP2004118704A (ja) インターフェイス装置およびインターフェイス装置の制御方法

Legal Events

Date Code Title Description
A201 Request for examination