JP6786871B2 - 通信装置、通信方法、プログラム、および、通信システム - Google Patents

通信装置、通信方法、プログラム、および、通信システム Download PDF

Info

Publication number
JP6786871B2
JP6786871B2 JP2016099955A JP2016099955A JP6786871B2 JP 6786871 B2 JP6786871 B2 JP 6786871B2 JP 2016099955 A JP2016099955 A JP 2016099955A JP 2016099955 A JP2016099955 A JP 2016099955A JP 6786871 B2 JP6786871 B2 JP 6786871B2
Authority
JP
Japan
Prior art keywords
preamble
error
data
communication
communication device
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2016099955A
Other languages
English (en)
Other versions
JP2017208713A5 (ja
JP2017208713A (ja
Inventor
高橋 宏雄
宏雄 高橋
横川 峰志
峰志 横川
惺薫 李
惺薫 李
直弘 越坂
直弘 越坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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
Priority to JP2016099955A priority Critical patent/JP6786871B2/ja
Application filed by Sony Corp filed Critical Sony Corp
Priority to CN201780028376.5A priority patent/CN109075902B/zh
Priority to SG11201808955PA priority patent/SG11201808955PA/en
Priority to KR1020187031445A priority patent/KR102350137B1/ko
Priority to BR112018073104-8A priority patent/BR112018073104A2/pt
Priority to RU2018139479A priority patent/RU2741484C2/ru
Priority to PCT/JP2017/017221 priority patent/WO2017199761A1/en
Priority to ES17724946T priority patent/ES2908672T3/es
Priority to EP17724946.3A priority patent/EP3459190B1/en
Priority to US16/092,240 priority patent/US11791934B2/en
Priority to TW106114885A priority patent/TWI753907B/zh
Publication of JP2017208713A publication Critical patent/JP2017208713A/ja
Publication of JP2017208713A5 publication Critical patent/JP2017208713A5/ja
Application granted granted Critical
Publication of JP6786871B2 publication Critical patent/JP6786871B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/20Handling requests for interconnection or transfer for access to input/output 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/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1032Simple parity
    • 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
    • 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)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal

Landscapes

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

Description

本開示は、通信装置、通信方法、プログラム、および、通信システムに関し、特に、より確実に通信を行うことができるようにした通信装置、通信方法、プログラム、および、通信システムに関する。
従来、複数のデバイスが実装されたボード内でバスを介したデバイス間の通信に用いられるバスIF(Interface)として、例えば、I2C(Inter-Integrated Circuit)が多く利用されている。
また、近年、I2Cの高速化を実現することが求められており、次世代の規格としてI3C(Improved Inter Integrated Circuit)の規定が進行している。I3Cでは、マスタおよびスレーブは、2本の信号線を用いて双方向に通信を行うことができ、例えば、マスタからスレーブへのデータ転送(ライト転送)と、スレーブからマスタへのデータ転送(リード転送)とが行われる。
例えば、特許文献1には、ホスト・プロセッサとサブシステム・コントローラとを、I2Cにより相互接続するディジタル・データ処理システムが開示されている。また、特許文献2には、標準I2Cプロトコルの上部に層状に配置された通信プロトコルを実現する方法が開示されている。
特開2000−99448号公報 特開2002−175269号公報
ところで、上述したようなI3Cでは、例えば、マスタおよびスレーブにおいて、パリティやCRC(Cyclic Redundancy Check)などによるエラー検出が行われることが規定されているが、そのようなエラー検出が用意されていない信号の送受信も行われる。そのため、エラー検出が用意されていない信号にエラーが発生したときに、マスタおよびスレーブが、正常な通信を行うことができなくなることが懸念される。
本開示は、このような状況に鑑みてなされたものであり、より確実に通信を行うことができるようにするものである。
本開示の第1の側面の通信装置は、他の通信装置と信号の送受信を行う送受信部と、前記送受信部により、次に送信するデータのタイプを指定するプリアンブルが受信され、そのプリアンブルに続いて受信された信号のビット列と、前記プリアンブルにより送信されることが指定されたタイプにおいて送信されるべきビット列とを比較することにより、エラーの発生を検出するエラー検出部と、前記エラー検出部によりエラーの発生が検出された場合、前記プリアンブルに続いて所定ビット数に応じたクロックを送信するように、前記送受信部に対する指示を行うコンフリクト回避部とを備える。
本開示の第1の側面の通信方法またはプログラムは、他の通信装置と信号の送受信を行い、次に送信するデータのタイプを指定するプリアンブルが受信され、そのプリアンブルに続いて受信された信号のビット列と、前記プリアンブルにより送信されることが指定されたタイプにおいて送信されるべきビット列とを比較することにより、エラーの発生を検出し、エラーの発生が検出された場合、前記プリアンブルに続いて所定ビット数に応じたクロックを送信するステップを含む。
本開示の第1の側面においては、他の通信装置と信号の送受信が行われ、次に送信するデータのタイプを指定するプリアンブルが受信されて、そのプリアンブルに続いて受信された信号のビット列と、プリアンブルにより送信されることが指定されたタイプにおいて送信されるべきビット列とを比較することにより、エラーの発生が検出される。そして、エラーの発生が検出された場合、プリアンブルに続いて所定ビット数に応じたクロックが送信される。
本開示の第2の側面の通信システムは、バスにおける制御の主導権を有する第1の通信装置と、前記第1の通信装置による制御に従って通信を行う第2の通信装置とを備え、前記第1の通信装置が、前記第2の通信装置と信号の送受信を行う送受信部と、前記送受信部により、次に送信するデータのタイプを指定するプリアンブルが受信されて、そのプリアンブルに続いて受信された信号のビット列と、前記プリアンブルにより送信されることが指定されたタイプにおいて送信されるべきビット列とを比較することにより、エラーの発生を検出するエラー検出部と、前記エラー検出部によりエラーの発生が検出された場合、前記プリアンブルに続いて所定ビット数に応じたクロックを送信するように、前記送受信部に対する指示を行うコンフリクト回避部とを有する。
本開示の第2の側面においては、バスにおける制御の主導権を有する第1の通信装置と、第1の通信装置による制御に従って通信を行う第2の通信装置とにより通信が行われる。そして、第1の通信装置において、第2の通信装置と信号の送受信が行われ、次に送信するデータのタイプを指定するプリアンブルが受信されて、そのプリアンブルに続いて受信された信号のビット列と、プリアンブルにより送信されることが指定されたタイプにおいて送信されるべきビット列とを比較することにより、エラーの発生が検出される。そして、エラーの発生が検出された場合、プリアンブルに続いて所定ビット数に応じたクロックが送信される。
本開示の第1および第2の側面によれば、より確実に通信を行うことができる。
本技術を適用したバスIFの一実施の形態の構成例を示すブロック図である。 コンフリクトエラーについて説明する図である。 コンフリクトエラーを回避するフォーマットの一例を示す図である。 マスタのDDRモードでの通信処理を説明するフローチャートである。 マスタの構成例を示す回路図である。 コンフリクトエラーを回避するフォーマットの他の例を示す図である。 コンフリクトエラーを回避するフォーマットの他の例を示す図である。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
<バスIFの構成例>
図1は、本技術を適用したバスIFの一実施の形態の構成例を示すブロック図である。
図1に示されているバスIF11は、マスタ12と3台のスレーブ13−1乃至13−3とが、データ信号線14−1およびクロック信号線14−2を介して接続されて構成される。
マスタ12は、バスIF11における制御の主導権を有しており、データ信号線14−1およびクロック信号線14−2を介して、スレーブ13−1乃至13−3と通信を行うことができる。
スレーブ13−1乃至13−3は、マスタ12による制御に従って、データ信号線14−1およびクロック信号線14−2を介して、マスタ12と通信を行うことができる。なお、スレーブ13−1乃至13−3は、それぞれ同様に構成されており、以下、それらを区別する必要がない場合、単にスレーブ13と称し、スレーブ13を構成する各ブロックについても同様とする。
データ信号線14−1およびクロック信号線14−2は、マスタ12およびスレーブ13の間で信号を伝送するのに用いられる。例えば、バスIF11では、データ信号線14−1を介して、1ビットずつ逐次的にシリアルデータ(SDA:Serial Data)が伝送され、クロック信号線14−2を介して、所定の周波数のシリアルクロック(SCL:Serial Clock)が伝送される。
また、バスIF11では、I3Cの規格に準じて、通信速度が異なる複数の伝送方式が規定されており、マスタ12は、それらの伝送方式を切り替えることができる。例えば、バスIF11では、データの転送レートに応じて、通常の転送レートでデータ通信を行うSDR(Standard Data Rate)モード、および、SDRモードよりも高い転送レートでデータ通信を行うHDR(High Data Rate)モードが規定されている。また、HDRモードでは、DDR(Double Data Rate)モード、TSP(Ternary Symbol Pure-Bus)モード、および、TSL(Ternary Symbol Legacy-inclusive-Bus)モードの3つのモードが規格で定義されている。なお、バスIF11では、通信を開始するときにはSDRモードで通信を行うことが規定されている。
マスタ12は、送受信部21、エラー検出部22、確認信号検出部23、およびコンフリクト回避部24を備えて構成される。
送受信部21は、データ信号線14−1およびクロック信号線14−2を介して、スレーブ13と信号の送受信を行う。例えば、送受信部21は、クロック信号線14−2を駆動することにより送信するシリアルクロックのタイミングに合わせて、データ信号線14−1に対する駆動を行う(電位をHレベルまたはLレベルに切り替える)ことにより、スレーブ13に信号を送信する。また、送受信部21は、クロック信号線14−2のシリアルクロックのタイミングに合わせて、スレーブ13がデータ信号線14−1に対する駆動を行うことによって、スレーブ13から送信されてくる信号を受信する。なお、クロック信号線14−2に対する駆動は、常に、マスタ12側により行われる。
エラー検出部22は、送受信部21が受信した信号に発生しているエラーを検出する。例えば、エラー検出部22は、送受信部21が受信した信号に対するパリティチェックや巡回冗長検査(CRC)などを行ったり、スレーブ13からマスタ12へ送信権を移行する際に発行されるトークンを確認したりすることで、エラーを検出することができる。そして、エラー検出部22は、送受信部21が受信した信号にエラーが発生していることを検出した場合、例えば、送受信部21に対してスレーブ13との通信を最初からやり直すように指示することができる。
例えば、エラー検出部22は、スレーブ13から送信されてくるデータに含まれている2ビットのパリティのうち、一方を偶数パリティとし、他方を奇数パリティとして、送受信部21が受信したデータに対するパリティチェックを行うことでエラーの発生を検出する。これにより、エラー検出部22は、マスタ12およびスレーブ13のどちらもデータ信号線14−1に対する駆動が行われないような状態が発生しても、データが正しいものであるか否かを検出することができる。
確認信号検出部23は、送受信部21から送信された信号を受信したスレーブ13から送信されてくるACK(受信確認信号)またはNACK(非受信確認信号)を検出することにより、スレーブ13がコマンドやデータなどの受信に成功したか否かを確認する。例えば、バスIF11では、信号にエラーが発生せずに、スレーブ13がコマンドやデータなどの受信に成功したときには、スレーブ13からマスタ12にACKを送信するように規定されている。また、バスIF11では、信号にエラーが発生して、スレーブ13がコマンドやデータなどの受信に失敗したときには、スレーブ13からマスタ12にNACKを送信するように規定されている。
従って、確認信号検出部23は、マスタ12から送信されるコマンドやデータなどに対して、スレーブ13から送信されてくるACKを検出した場合には、スレーブ13がコマンドやデータなどを受信することに成功したと確認することができる。一方、確認信号検出部23は、マスタ12から送信されるコマンドやデータなどに対して、スレーブ13から送信されてくるNACKを検出した場合には、スレーブ13がコマンドやデータなどを受信することに失敗したと確認することができる。
コンフリクト回避部24は、例えば、図3を参照して後述するように、送受信部21により、CRCワードの送信を指示するプリアンブルが受信され、エラー検出部22により、そのプリアンブルに続いて受信された信号にトークンエラーまたはCRCエラーの発生が検出された場合、プリアンブルに続いて所定ビット数に応じたクロックを送信した後に、通信を途中で遮断することを指示するアボート信号を送信するように、送受信部21に対する指示を行う。これにより、コンフリクト回避部24は、例えば、スレーブ13から送信されるリードデータと、マスタ12から送信されるHDR終了コマンドによりコンフリクトが発生することを回避することができる。
また、コンフリクト回避部24は、例えば、確認信号検出部23によりNACKが検出された場合、NACKに続く所定数のビットを無視した後に、通信を途中で遮断することを指示するアボート信号を送信するように、送受信部21に対する指示を行う。これにより、コンフリクト回避部24は、例えば、スレーブ13から送信されるリードデータと、マスタ12から送信されるHDR終了コマンドによりコンフリクトが発生することを回避することができる。
スレーブ13は、送受信部31およびエラー検出部32を備えて構成される。
送受信部31は、データ信号線14−1およびクロック信号線14−2を介して、マスタ12と信号の送受信を行う。例えば、送受信部31は、クロック信号線14−2のシリアルクロックのタイミングに合わせて、マスタ12がデータ信号線14−1に対する駆動を行うことによって、マスタ12から送信されてくる信号を受信する。また、送受信部31は、クロック信号線14−2のシリアルクロックのタイミングに合わせて、データ信号線14−1に対する駆動を行うことによって、マスタ12に信号を送信する。
エラー検出部32は、マスタ12のエラー検出部22と同様に、送受信部31が受信した信号に発生しているエラーを検出する。そして、エラー検出部32は、送受信部31が受信した信号にエラーが発生していない場合、その信号により伝送されるコマンドやデータなどの受信に成功したことを伝えるACKを、送受信部31によりマスタ12に送信させる。一方、エラー検出部32は、送受信部31が受信した信号にエラーが発生していた場合、その信号により伝送されるコマンドやデータなどの受信に失敗したことを伝えるNACKを、送受信部31によりマスタ12に送信させる。
さらに、エラー検出部32は、例えば、送受信部31が受信した信号にエラーが発生し、正常な通信を行うことができない場合には、その後の一切の通信を無視し、マスタ12に対する応答を停止してスレーブ13を待機状態とさせる。
以上のようにバスIF11は構成されており、マスタ12およびスレーブ13は、データ信号線14−1およびクロック信号線14−2を介して信号を送受信することができ、コンフリクト回避部24によってコンフリクトの発生を回避して、より確実に通信を行うことができる。
<コンフリクトの発生の説明>
ここで、コンフリクト回避部24によるコンフリクトの発生を回避する手法について説明する前に、図2を参照して、コンフリクトの発生について説明する。
バスIF11では、DDRモード時において、プリアンブルと呼ばれる2ビットの信号を使用して、次に送信するデータのタイプを指定するように規定されている。ところで、プリアンブルには、パリティやCRCによるエラー検出が用意されていないため、プリアンブルにエラーが発生した場合には、そのエラーを検出することができない。
例えば、スレーブ13が、マスタ12からのデータの読み出しを指示するリードコマンドに応じてリードデータを送信した後のプリアンブルでは、1ビット目はスレーブ13により駆動され、2ビット目はHレベルに維持する(High-Keeper)ように規定されている。そして、スレーブ13は、その1ビット目によって、CRCワードおよびリードデータのいずれか一方が続いて送信されることをマスタ12に通知することができる。例えば、プリアンブルに続いてCRCワードを送信する場合には、リードデータを送信した後のプリアンブルの1ビット目を0に駆動するように規定されている。一方、プリアンブルに続いてリードデータを送信する場合には、リードデータを送信した後のプリアンブルの1ビット目を1に駆動するように規定されている。
しかしながら、このプリアンブルの1ビット目において、1ビットの値が反転する1ビットエラーが発生した場合、例えば、マスタ12は、リードデータが送信されてくることを、CRCワードが送信されてくるものと誤認識することになる。
即ち、図2の上側に示すように、スレーブ13は、リードデータを送信する場合にはプリアンブルの1ビット目を1に駆動し、プリアンブルに続いて、リードデータ(DDR Data)の送信を行う。なお、図2において、グレーのハッチングが施されている部分は、スレーブ13により駆動が行われていることを表しており、斜線のハッチングが施されている部分は、Hレベルに維持することを表している。
これに対し、プリアンブルの1ビット目に1ビットエラーが発生してしまい、図2の下側に示すように、プリアンブルの1ビット目が0になった場合、マスタ12は、スレーブ13からCRCワード(DDR CRC)が送信されてくるものと誤認識することになる。従って、この場合、マスタ12は、CRCワードに対応する10ビット(Token(0xC)、CRC5、およびPrepare=Setup)を受信した後、HDRモードによる通信を終了することを指示するHDR終了コマンド(HDR Exit)を送信することになる。
これにより、スレーブ13から送信されるリードデータ(の後半部分)と、マスタ12から送信されるHDR終了コマンドがコンフリクトすることが懸念される。従って、その後、マスタ12がHDR終了コマンドを送信しても、スレーブ13は、HDR終了コマンドを正常に受信することができないためHDRモードを終了させることができずに、バスIF11がデッドロックして、通信不能な状態となることが想定される。
そこで、バスIF11では、マスタ12は、CRCワードの送信を指定するプリアンブルを受信したにもかかわらず、そのプリアンブルに続いて受信した信号がCRCワードに一致しない(即ち、トークンエラーまたはCRCエラーが発生した)場合、プリアンブルに1ビットエラーが発生したものと推定する。そして、この場合、マスタ12は、CRCワードに続いて所定ビット数の追加クロックを送信した後に、通信を途中で遮断することを指示するアボート信号を送信するように規定される。これにより、上述したような1ビットエラーが発生したとしても、スレーブ13から送信されるリードデータと、マスタ12から送信されるHDR終了コマンドがコンフリクトすることを回避することができる。
<コンフリクトの回避の説明>
図3には、バスIF11において、リードデータを送信した後のプリアンブルの1ビット目に1ビットエラーが発生することによるコンフリクトを回避するように、マスタ12が、コンフリクト防止用のクロックを追加するフォーマットが示されている。
図3に示すように、バスIF11では、マスタ12が、スレーブ13から送信されてきたリードデータ(DDR Data)に続くプリアンブルにエラーが発生したと推定した場合、CRCワードとリードデータとの差に対応する9ビットの追加クロックを送信するように規定される。そして、この追加クロックの送信中に受信したデータは無視される。
つまり、図2を参照して説明したように、リードデータに続くプリアンブルの1ビット目に1ビットエラーが発生して、スレーブ13がリードデータを送信するにもかかわらず、マスタ12はCRCワードが送信されてくるものと誤認識したとする。この場合、マスタ12は、CRCワードに対応する9ビットにおいてトークンエラーまたはCRCエラーが発生することを検出するが、これらのエラーを、プリアンブルに1ビットエラーが発生したことによるものと推定することができる。
ここで、バスIF11では、スレーブ13は、リードコマンド(READ CMD)を受信し、その後のプリアンブルに続いて18ビットのリードデータ(DDR Data)を送信するように規定されている。さらに、バスIF11では、スレーブ13からリードデータが送信された後のプリアンブルにおいて、1ビット目はスレーブ13により駆動が行われ、2ビット目はマスタ12により駆動が行われるように規定されている。そして、バスIF11では、このプリアンブルの2ビット目が0である場合、マスタ12からスレーブ13に対して通信を途中で遮断するマスターアボート(Master Abort)を指示するアボート信号として規定されている。なお、マスターアボートを確実に行うために、リードデータの後に送受信されるプリアンブルの2ビット目に対する駆動は、マスタ12が常に行う。
従って、図3に示すように、追加クロックに続くプリアンブルの2ビット目が0に駆動された場合、スレーブ13は、マスタ12からアボート信号が送信されたことを検出して、リードデータの送信を中断することができる。これにより、このプリアンブルに続いて、マスタ12が、HDR終了コマンド(HDR Exit)を送信すると、スレーブ13は、HDR終了コマンドに従って、HDRモードを終了することができる。その後、マスタ12およびスレーブ13は、SDRモードから通信をやり直すことになる。
つまり、マスタ12は、トークンエラーまたはCRCエラーを検出した場合には、プリアンブルエラーと推定する。そして、マスタ12は、図2に示したように、CRCワードを受信した直後にHDR終了コマンドを送信するのではなく、図3に示すように、CRCワードに続いて追加クロックを送信して、追加クロックに続くプリアンブルを送信した後に、HDR終了コマンドを送信する。
これにより、マスタ12が、リードデータを受信した後のプリアンブルの1ビット目が0であることを検出した場合でも、図2を参照して説明したようなコンフリクトの発生を回避することができる。つまり、スレーブ13がリードデータを送信するプリアンブルを、マスタ12がCRCワードを送信するプリアンブルと誤認識したとしても、バスIF11がデッドロックすることを回避することができ、より確実に通信を行うことができる。
<コンフリクトの発生を回避する通信方法>
図4は、マスタ12が、HDRモードのひとつであるDDRモードでスレーブ13からデータを読み出す通信処理(DDR Read)を説明するフローチャートである。
ステップS11において、マスタ12は、通信をSDRモードからHDRモードに切り替える処理を行う。具体的には、マスタ12では、送受信部21が、データ信号線14−1およびクロック信号線14−2を駆動して、SDRモードにおいて、バスIF11を構成する全てのスレーブ13を対象として一斉にコマンドを送信することを通知するブロードキャストコマンド(0x7E+R/W=0)を送信する。その後、マスタ12では、確認信号検出部23が、ブロードキャストコマンドの受信が成功したことを確認するためにスレーブ13から送信されてくるACKを受信すると、送受信部21が、HDRモードに入るためのコモンコマンドコード(ENTHDR CCC(0x20))を送信する。
ステップS12において、マスタ12の送受信部21は、データ信号線14−1およびクロック信号線14−2を駆動して、リードコマンドを送信する。
ステップS13において、送受信部21は、ステップS12で送信したリードコマンドに応じてスレーブ13から送信されてくるリードデータを受信し、さらに、リードデータに続いて送信されてくるプリアンブルも受信する。
ステップS14において、送受信部21は、ステップS13で受信したプリアンブルはリードデータおよびCRCワードのどちらの送信を指定しているかを判定する。
ステップS14において、送受信部21が、プリアンブルはリードデータの送信を指定していると判定した場合、処理はステップS13に戻り、以下、同様の処理が繰り返される。一方、ステップS14において、送受信部21が、プリアンブルはCRCワードの送信を指定していると判定した場合、処理はステップS15に進む。
ステップS15において、送受信部21は、ステップS13で受信したプリアンブルに続いて送信されてくる信号を受信し、エラー検出部22は、その信号にエラーが発生しているか否かを判定する。
ステップS15において、エラー検出部22が、CRCワードの送信を指定しているプリアンブルに続いて送信されてくる信号にエラーが発生していると判定した場合、処理はステップS16に進む。即ち、この場合、エラー検出部22によりトークンエラーまたはCRCエラーが検出されると、コンフリクト回避部24は、プリアンブルにエラーが発生したものと推定する。
ステップS16において、エラー検出部22は、図3を参照して説明したような追加クロックを送信し、その後に、通信を途中で遮断することを指示するアボート信号を送信するように、送受信部21に対する指示を行う。これに従い、送受信部21は、追加クロックを送信した後、スレーブ13にアボート信号を送信する。
ステップS16の処理後、送受信部21は、追加クロックに続いて、HDR終了コマンドを送信する。また、ステップS15でエラーが発生していないと判定された場合も、ステップS17において、送受信部21は、HDR終了コマンドを送信する。これにより、マスタ12がDDRモードでスレーブ13からデータを読み出す通信処理(DDR Read)は終了される。
以上のように、バスIF11では、スレーブ13が送信したリードデータの送信を指示するプリアンブルに1ビットエラーが発生したとしても、コンフリクトが発生することを回避して、より確実に通信を行うことができる。
<マスタの回路図>
次に、図5は、マスタ12の構成例を示す回路図である。
図5に示すように、マスタ12は、SCL駆動制御部51、増幅部52、Hレベル維持部53、増幅部54、シリアル変換部55、コンフリクトエラー検出器56、パリティエラー検出器57、CRC5エラー検出部58、パラレル変換部59、トークンエラー検出器60、ACK/NACK検出器61、プリアンブルエラー検出器62、およびステートマシン(FSM:Finite State Machine)63を備えて構成される。
SCL駆動制御部51は、ステートマシン63から出力される基準となる周波数の信号に従って、クロック信号線14−2を介してスレーブ13に供給するシリアルクロックを生成して、クロック信号線14−2の駆動を制御する。
増幅部52は、SCL駆動制御部51により生成されたクロック信号を、クロック信号線14−2を介して伝送するのに必要な所定のレベルまで増幅し、クロック信号線14−2に出力する。
Hレベル維持部53は、データ信号線14−1のレベルをHレベルに維持する。
増幅部54は、データ信号線14−1を介して送信するシリアルデータを所定のレベルまで増幅して出力し、データ信号線14−1を介して送信されてきたシリアルデータを、マスタ12の内部での処理に必要なレベルに増幅する。
シリアル変換部55は、ステートマシン63から出力されるパラレルデータを、シリアルデータに変換して出力する。
コンフリクトエラー検出器56は、シリアル変換部55から出力されるシリアルデータと、データ信号線14−1を介して送信されてきたシリアルデータとを比較することにより、データ信号線14−1上のコンフリクトエラーを検出する。
パリティエラー検出器57は、偶数または奇数に基づいてビットエラーを検出するために付加されるパリティビットを用いて、データ信号線14−1を介して送信されてきたシリアルデータのエラーを検出し、そのエラー検出結果をステートマシン63に通知する。
CRC5エラー検出部58は、図1のエラー検出部22に対応し、CRCに基づいてビットエラーを検出するために付加される5bitのデータを用いて、データ信号線14−1を介して送信されてきたシリアルデータのエラーを検出し、そのエラー検出結果をステートマシン63に通知する。
パラレル変換部59は、データ信号線14−1を介して送信されてきたシリアルデータを、パラレルデータに変換して出力する。
トークンエラー検出器60は、図1のエラー検出部22に対応し、パラレル変換部59により変換されたパラレルデータに含まれているトークンのビット列を確認することで、トークンにエラーが発生しているか否かを検出し、そのエラー検出結果をステートマシン63に通知する。
ACK/NACK検出器61は、図1の確認信号検出部23に対応し、スレーブ13から送信されてくるACKまたはNACKを、パラレル変換部59により変換されたパラレルデータから検出して、その検出結果(ACK/NACK)をステートマシン63に通知する。
プリアンブルエラー検出器62は、パラレル変換部59により変換されたパラレルデータに含まれているプリアンブルにエラーが発生しているか否かを検出し、そのエラー検出結果をステートマシン63に通知する。
ステートマシン63は、入力条件と現在の状態によって、次の状態が決まる順序回路であり、例えば、図1の送受信部21およびコンフリクト回避部24として機能する。即ち、ステートマシン63は、CRC5エラー検出部58およびトークンエラー検出器60によるエラー検出結果を入力として、トークンエラーおよびCRCエラーが発生していない場合には、通常通りに、HDRモードを終了する状態とする。一方、ステートマシン63は、トークンエラーおよびCRCエラーが発生した場合には、CRCワードに続いて追加クロックを送信し、その後のプリアンブルの2ビット目によってアボート信号を送信する状態とする。
このようにマスタ12は構成されており、上述したように、スレーブ13が送信したリードデータの送信を指示するプリアンブルを、CRCワードを送信するプリアンブルと誤認識したとしても、バスIF11がデッドロックすることを回避することができ、より確実に通信を行うことができる。
ところで、バスIF11では、CRCワードのビット数が、リードデータのビット数(18ビット)と異なる9ビット(トークンの4ビットおよびCRC5の5ビット)として規定されているとき、上述したようなコンフリクトが発生することになる。そこで、例えば、CRCワードのビット数が、リードデータのビット数と同一の18ビットとなるようなフォーマットを規定したときには、コンフリクトの発生を回避することができる。
つまり、図6に示すように、CRCワードのフォーマットとして、トークン(Token(0xC))とCRC5との間に、9ビットのリザーブビットが予め挿入された形式を採用してワードアラインを揃えることで、追加クロックの送信を行わなくてもよくなる。このリザーブビットのビット数は、トークンおよびCRC5のビット数(9ビット)と、リードデータのビット数(18ビット)との差に対応する。そして、このようなフォーマットのCRCワードを用いる場合においても、マスタ12は、0および1のビット列のプリアンブルを受信した後、トークンエラー、CRCエラー、および、所定長以下のCRCワードの受信のいずれかを検出した場合、スレーブ13を安全に停止させるため、以後、通常のマスターアボートと同様に通信を終了させることができる。
また、図6に示すように、CRCワードの受信直後のビットから、データ信号線14−1に対する駆動が、スレーブ13からマスタ12に切り替えられるようにすることで、安全に早く通信を終了させることができる。
なお、図3を参照して上述した実施の形態では、追加クロックを送信した後のプリアンブルに続いて、マスタ12がHDR終了コマンドを送信する例について説明したが、コンフリクトを回避して通信を回復することができれば、HDR終了コマンドの送信に限定されることはない。
例えば、図7に示すように、追加クロックを送信した後のプリアンブルに続いて、図3のHDR終了コマンドに替えて、マスタ12は、HDRモードにおける通信をリスタートすることを指示するHDRリスタートコマンド(HDR Restart)を送信してもよい。このように、バスIF11では、マスターアボートに従って通信を途中で遮断した後、HDRリスタートコマンドにより通信を再開することができる。
なお、例えば、コンフリクト回避部24は、送受信部21が、所定の長さのリードデータを受信することなく、CRCワードを受信した場合にもエラーが発生したものと推定し、上述したように追加クロックを送信した後にアボート信号を送信するように、送受信部21に対する指示を行ってもよい。
なお、本技術は、I3Cの規格に従ったバスIF11に限定されることはなく、その他の規格に従ったバスIF11に適用することができる。また、図1に示すバスIF11では、スレーブ13−1乃至13−3が接続された構成例が示されているが、スレーブ13は、例えば、1台または2台でもよく、あるいは、3台以上でもよい。
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。また、プログラムは、1のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
また、上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。
<ハードウエアの構成例>
図8は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103、およびEEPROM(Electronically Erasable and Programmable Read Only Memory)104は、バス105により相互に接続されている。バス105には、さらに、入出力インタフェース106が接続されており、入出力インタフェース106が外部(例えば、図1のデータ信号線14−1およびクロック信号線14−2)に接続される。
以上のように構成されるコンピュータでは、CPU101が、例えば、ROM102およびEEPROM104に記憶されているプログラムを、バス105を介してRAM103にロードして実行することにより、上述した一連の処理が行われる。また、コンピュータ(CPU101)が実行するプログラムは、ROM102に予め書き込んでおく他、入出力インタフェース106を介して外部からEEPROM104にインストールしたり、更新したりすることができる。
なお、本技術は以下のような構成も取ることができる。
(1)
他の通信装置と信号の送受信を行う送受信部と、
前記送受信部により、次に送信するデータのタイプを指定するプリアンブルが受信されて、そのプリアンブルに続いて受信された信号のビット列と、前記プリアンブルにより送信されることが指定されたタイプにおいて送信されるべきビット列とを比較することにより、エラーの発生を検出するエラー検出部と、
前記エラー検出部によりエラーの発生が検出された場合、前記プリアンブルに続いて所定ビット数に応じたクロックを送信した後に、通信を途中で遮断することを指示するアボート信号を送信するように、前記送受信部に対する指示を行うコンフリクト回避部と
を備える通信装置。
(2)
前記コンフリクト回避部は、
前記送受信部により受信されたプリアンブルが、トークンおよびCRC(Cyclic Redundancy Check)5を含むCRCワードの送信を指定しているのに対して、前記プリアンブルに続いて受信された信号のビット列に基づいて、前記エラー検出部によりトークンエラーまたはCRCエラーが検出された場合、
前記プリアンブルに続いて、前記CRCワードのビット数、および、前記CRCワードのビット数と前記他の通信装置から読み出されるリードデータのビット数との差に対応する追加クロックのビット数に応じたクロックを送信した後に、前記アボート信号の送信を行わせる
上記(1)に記載の通信装置。
(3)
前記コンフリクト回避部は、前記追加クロックを送信中に前記送受信部が受信した信号を無視する
上記(2)に記載の通信装置。
(4)
前記送受信部は、前記他の通信装置から前記リードデータが送信されてくるとしたときの、前記リードデータに続いて送受信される2ビットのプリアンブルの2ビット目のタイミングで前記アボート信号を送信する
上記(3)に記載の通信装置。
(5)
前記コンフリクト回避部は、
前記送受信部により受信されたプリアンブルが、トークンおよびCRC(Cyclic Redundancy Check)5を含むCRCワードの送信を指定しているのに対して、前記プリアンブルに続いて受信された信号のビット列に基づいて、前記エラー検出部によりトークンエラーまたはCRCエラーが検出された場合、
前記トークン、前記CRC5、並びに、前記トークンおよび前記CRC5と前記他の通信装置からデータが読み出される際のビット数との差に対応するビット数のリザーブビットから構成されるフォーマットが用いられる前記CRCワードに対応するビット数のクロックを送信した後に、前記アボート信号の送信を行わせる
上記(2)に記載の通信装置。
(6)
前記送受信部は、前記アボート信号に続いて、特定の通信モードの終了を指示するコマンドを送信する
上記(1)から(5)までのいずれかに記載の通信装置。
(7)
前記送受信部は、前記アボート信号に続いて、特定の通信モードにおける通信のリスタートを指示するコマンドを送信する
上記(1)から(5)までのいずれかに記載の通信装置。
(8)
前記送受信部から送信された信号を受信した前記他の通信装置から送信されてくる受信確認信号および非受信確認信号のいずれかを検出する確認信号検出部
をさらに備え、
前記コンフリクト回避部は、前記確認信号検出部により前記非受信確認信号が検出されたとき、前記非受信確認信号に続く所定数のビットを無視した後に前記アボート信号を送信するように、前記送受信部に対する指示を行う
上記(1)から(7)までのいずれかに記載の通信装置。
(9)
前記送受信部は、前記他の通信装置から読み出されるリードデータを受信し、前記リードデータの後に送受信されるプリアンブルの2ビット目に対する駆動を常に行う
上記(1)から(8)までのいずれかに記載の通信装置。
(10)
前記送受信部は、前記他の通信装置がデータ信号線に対する駆動を行って送信するCRC(Cyclic Redundancy Check)ワードの受信直後のビットから、前記データ信号線に対する駆動を行う
上記(1)から(9)までのいずれかに記載の通信装置。
(11)
前記エラー検出部は、前記データに含まれている2ビットのパリティのうち、一方を偶数パリティとし、他方を奇数パリティとして、前記送受信部が受信したデータに対するパリティチェックを行うことでエラーの発生を検出する
上記(1)から(10)までのいずれかに記載の通信装置。
(12)
前記送受信部は、通常の転送レートでデータ通信を行うSDR(Standard Data Rate)モード、および、SDRモードよりも高い転送レートでデータ通信を行うHDR(High Data Rate)モードで、信号の送受信を行うことができる
上記(1)から(11)までのいずれかに記載の通信装置。
(13)
前記送受信部は、1ビットずつ逐次的にシリアルデータを伝送するデータ信号線、および、所定の周波数のシリアルクロックを伝送するクロック信号線の2本の信号線を介して通信を行う
上記(1)から(12)までのいずれかに記載の通信装置。
(14)
前記送受信部、I3C(Improved Inter Integrated Circuit)の規格に準じた通信を行う
上記(1)から(13)までのいずれかに記載の通信装置。
(15)
他の通信装置と信号の送受信を行い、
次に送信するデータのタイプを指定するプリアンブルが受信されて、そのプリアンブルに続いて受信された信号のビット列と、前記プリアンブルにより送信されることが指定されたタイプにおいて送信されるべきビット列とを比較することにより、エラーの発生を検出し、
エラーの発生が検出された場合、前記プリアンブルに続いて所定ビット数に応じたクロックを送信した後に、通信を途中で遮断することを指示するアボート信号を送信する
ステップを含む通信方法。
(16)
他の通信装置と信号の送受信を行い、
次に送信するデータのタイプを指定するプリアンブルが受信されて、そのプリアンブルに続いて受信された信号のビット列と、前記プリアンブルにより送信されることが指定されたタイプにおいて送信されるべきビット列とを比較することにより、エラーの発生を検出し、
エラーの発生が検出された場合、前記プリアンブルに続いて所定ビット数に応じたクロックを送信した後に、通信を途中で遮断することを指示するアボート信号を送信する
ステップを含む通信処理をコンピュータに実行させるプログラム。
(17)
バスにおける制御の主導権を有する第1の通信装置と、
前記第1の通信装置による制御に従って通信を行う第2の通信装置と
を備え、
前記第1の通信装置が、
前記第2の通信装置と信号の送受信を行う送受信部と、
前記送受信部により、次に送信するデータのタイプを指定するプリアンブルが受信されて、そのプリアンブルに続いて受信された信号のビット列と、前記プリアンブルにより送信されることが指定されたタイプにおいて送信されるべきビット列とを比較することにより、エラーの発生を検出するエラー検出部と、
前記エラー検出部によりエラーの発生が検出された場合、前記プリアンブルに続いて所定ビット数に応じたクロックを送信した後に、通信を途中で遮断することを指示するアボート信号を送信するように、前記送受信部に対する指示を行うコンフリクト回避部と
を有する
通信システム。
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
11 バスIF, 12 マスタ, 13 スレーブ, 14−1 データ信号線, 14−2 クロック信号線, 21 送受信部, 22 エラー検出部, 23 確認信号検出部, 24 コンフリクト回避部, 31 送受信部, 32 エラー検出部, 51 SCL駆動制御部, 52 増幅部, 53 Hレベル維持部, 54 増幅部, 55 シリアル変換部, 56 コンフリクトエラー検出器, 57 パリティエラー検出器, 58 CRC5エラー検出部, 59 パラレル変換部, 60 トークンエラー検出器, 61 ACK/NACK検出器, 62 プリアンブルエラー検出器, 63 ステートマシン

Claims (16)

  1. 他の通信装置と信号の送受信を行う送受信部と、
    前記送受信部により、次に送信するデータのタイプを指定するプリアンブルが受信されて、そのプリアンブルに続いて受信された信号のビット列と、前記プリアンブルにより送信されることが指定されたタイプにおいて送信されるべきビット列とを比較することにより、エラーの発生を検出するエラー検出部と、
    前記エラー検出部によりエラーの発生が検出された場合、前記プリアンブルに続いて所定ビット数に応じたクロックを送信するように、前記送受信部に対する指示を行うコンフリクト回避部と
    を備える通信装置。
  2. 前記コンフリクト回避部は、
    前記送受信部により受信されたプリアンブルが、トークンおよびCRC(Cyclic Redundancy Check)5を含むCRCワードの送信を指定しているのに対して、前記プリアンブルに続いて受信された信号のビット列に基づいて、前記エラー検出部によりトークンエラーまたはCRCエラーが検出された場合、
    前記プリアンブルに続いて、前記CRCワードのビット数、および、前記CRCワードのビット数と前記他の通信装置から読み出されるリードデータのビット数との差に対応する追加クロックのビット数に応じたクロックを送信させる
    請求項1に記載の通信装置。
  3. 前記コンフリクト回避部は、前記追加クロックを送信中に前記送受信部が受信した信号を無視する
    請求項2に記載の通信装置。
  4. 前記送受信部は、前記他の通信装置から前記リードデータが送信されてくるとしたときの、前記リードデータに続いて送受信される2ビットのプリアンブルの2ビット目のタイミングで、通信を途中で遮断することを指示するアボート信号を送信する
    請求項3に記載の通信装置。
  5. 前記コンフリクト回避部は、
    前記送受信部により受信されたプリアンブルが、トークンおよびCRC(Cyclic Redundancy Check)5を含むCRCワードの送信を指定しているのに対して、前記プリアンブルに続いて受信された信号のビット列に基づいて、前記エラー検出部によりトークンエラーまたはCRCエラーが検出された場合、
    前記トークン、前記CRC5、並びに、前記トークンおよび前記CRC5と前記他の通信装置からデータが読み出される際のビット数との差に対応するビット数のリザーブビットから構成されるフォーマットが用いられる前記CRCワードに対応するビット数のクロックを送信させる
    請求項1に記載の通信装置。
  6. 前記送受信部は、前記所定ビット数に応じたクロックを送信した後に、特定の通信モードの終了を指示するコマンドを送信する
    請求項1に記載の通信装置。
  7. 前記送受信部は、前記所定ビット数に応じたクロックを送信した後に、特定の通信モードにおける通信のリスタートを指示するコマンドを送信する
    請求項1に記載の通信装置。
  8. 前記エラー検出部は、前記データに含まれている2ビットのパリティのうち、一方を偶数パリティとし、他方を奇数パリティとして、前記送受信部が受信したデータに対するパリティチェックを行うことでエラーの発生を検出する
    請求項1に記載の通信装置。
  9. 前記送受信部は、通常の転送レートでデータ通信を行うSDR(Standard Data Rate)モード、および、SDRモードよりも高い転送レートでデータ通信を行うHDR(High Data Rate)モードで、信号の送受信を行うことができる
    請求項1に記載の通信装置。
  10. 前記HDRモードは、少なくともDDR(Double Data Rate)モード、TSP(Ternary Symbol Pure-Bus)モード、および、TSL(Ternary Symbol Legacy-inclusive-Bus)モードの3つのモードを含む
    請求項9に記載の通信装置。
  11. 前記送受信部は、1ビットずつ逐次的にシリアルデータを伝送するデータ信号線、および、所定の周波数のシリアルクロックを伝送するクロック信号線の2本の信号線を介して通信を行う
    請求項1に記載の通信装置。
  12. 前記送受信部、I3C(Improved Inter Integrated Circuit)の規格に準じた通信を行う
    請求項1に記載の通信装置。
  13. 他の通信装置と信号の送受信を行い、
    次に送信するデータのタイプを指定するプリアンブルが受信されて、そのプリアンブルに続いて受信された信号のビット列と、前記プリアンブルにより送信されることが指定されたタイプにおいて送信されるべきビット列とを比較することにより、エラーの発生を検出し、
    エラーの発生が検出された場合、前記プリアンブルに続いて所定ビット数に応じたクロックを送信す
    ステップを含む通信方法。
  14. 他の通信装置と信号の送受信を行い、
    次に送信するデータのタイプを指定するプリアンブルが受信されて、そのプリアンブルに続いて受信された信号のビット列と、前記プリアンブルにより送信されることが指定されたタイプにおいて送信されるべきビット列とを比較することにより、エラーの発生を検出し、
    エラーの発生が検出された場合、前記プリアンブルに続いて所定ビット数に応じたクロックを送信す
    ステップを含む通信処理をコンピュータに実行させるプログラム。
  15. バスにおける制御の主導権を有する第1の通信装置と、
    前記第1の通信装置による制御に従って通信を行う第2の通信装置と
    を備え、
    前記第1の通信装置が、
    前記第2の通信装置と信号の送受信を行う送受信部と、
    前記送受信部により、次に送信するデータのタイプを指定するプリアンブルが受信されて、そのプリアンブルに続いて受信された信号のビット列と、前記プリアンブルにより送信されることが指定されたタイプにおいて送信されるべきビット列とを比較することにより、エラーの発生を検出するエラー検出部と、
    前記エラー検出部によりエラーの発生が検出された場合、前記プリアンブルに続いて所定ビット数に応じたクロックを送信するように、前記送受信部に対する指示を行うコンフリクト回避部と
    を有する
    通信システム。
  16. 前記コンフリクト回避部は、
    前記送受信部により受信されたプリアンブルが、トークンおよびCRC(Cyclic Redundancy Check)5を含むCRCワードの送信を指定しているのに対して、前記プリアンブルに続いて受信された信号のビット列に基づいて、前記エラー検出部によりトークンエラーまたはCRCエラーが検出された場合、
    前記プリアンブルに続いて、前記CRCワードのビット数、および、前記CRCワードのビット数と前記第2の通信装置から読み出されるリードデータのビット数との差に対応する追加クロックのビット数に応じたクロックを送信させる
    請求項15に記載の通信システム。
JP2016099955A 2016-05-18 2016-05-18 通信装置、通信方法、プログラム、および、通信システム Active JP6786871B2 (ja)

Priority Applications (11)

Application Number Priority Date Filing Date Title
JP2016099955A JP6786871B2 (ja) 2016-05-18 2016-05-18 通信装置、通信方法、プログラム、および、通信システム
EP17724946.3A EP3459190B1 (en) 2016-05-18 2017-05-02 Communication device, communication method, program, and communication system
KR1020187031445A KR102350137B1 (ko) 2016-05-18 2017-05-02 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
BR112018073104-8A BR112018073104A2 (pt) 2016-05-18 2017-05-02 dispositivo, método e sistema de comunicação.
RU2018139479A RU2741484C2 (ru) 2016-05-18 2017-05-02 Устройство связи, способ связи, программа и система связи
PCT/JP2017/017221 WO2017199761A1 (en) 2016-05-18 2017-05-02 Communication device, communication method, program, and communication system
CN201780028376.5A CN109075902B (zh) 2016-05-18 2017-05-02 通信装置、通信方法、程序和通信系统
SG11201808955PA SG11201808955PA (en) 2016-05-18 2017-05-02 Communication device, communication method, program, and communication system
US16/092,240 US11791934B2 (en) 2016-05-18 2017-05-02 Communication device, communication method, program, and communication system
ES17724946T ES2908672T3 (es) 2016-05-18 2017-05-02 Dispositivo de comunicación, procedimiento de comunicación, programa y sistema de comunicación
TW106114885A TWI753907B (zh) 2016-05-18 2017-05-05 通信器件、通信方法、程式及通信系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016099955A JP6786871B2 (ja) 2016-05-18 2016-05-18 通信装置、通信方法、プログラム、および、通信システム

Publications (3)

Publication Number Publication Date
JP2017208713A JP2017208713A (ja) 2017-11-24
JP2017208713A5 JP2017208713A5 (ja) 2019-06-27
JP6786871B2 true JP6786871B2 (ja) 2020-11-18

Family

ID=58745320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016099955A Active JP6786871B2 (ja) 2016-05-18 2016-05-18 通信装置、通信方法、プログラム、および、通信システム

Country Status (11)

Country Link
US (1) US11791934B2 (ja)
EP (1) EP3459190B1 (ja)
JP (1) JP6786871B2 (ja)
KR (1) KR102350137B1 (ja)
CN (1) CN109075902B (ja)
BR (1) BR112018073104A2 (ja)
ES (1) ES2908672T3 (ja)
RU (1) RU2741484C2 (ja)
SG (1) SG11201808955PA (ja)
TW (1) TWI753907B (ja)
WO (1) WO2017199761A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6828271B2 (ja) 2016-05-18 2021-02-10 ソニー株式会社 通信装置、通信方法、プログラム、および、通信システム
TWI811597B (zh) * 2020-12-18 2023-08-11 新唐科技股份有限公司 恢復通訊界面中斷的方法及通訊界面控制器

Family Cites Families (24)

* 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
US6874052B1 (en) 2000-09-29 2005-03-29 Lucent Technologies Inc. Expansion bridge apparatus and method for an I2C bus
AU2002237714A1 (en) * 2000-12-20 2002-07-01 Thomson Licensing S.A. I2c bus control for isolating selected ic's for fast i2 bus communication
US7301966B2 (en) 2002-01-16 2007-11-27 Avion, Inc. System and method for transmitting audio and video data over an asynchronous link that provides a synchronous recreation of the transmitter's data clock at a receiver
US7451381B2 (en) * 2004-02-03 2008-11-11 Phonex Broadband Corporation Reliable method and system for efficiently transporting dynamic data across a network
JP4416543B2 (ja) * 2004-03-10 2010-02-17 パナソニック株式会社 データ検出装置、および多チャンネルデータ検出装置
KR100778114B1 (ko) 2006-09-18 2007-11-21 삼성전자주식회사 통신에러를 개선하기 위한 통신방법 및 그 통신방법이적용된 전자장치
JP4962060B2 (ja) * 2007-03-14 2012-06-27 富士通セミコンダクター株式会社 パリティエラー復旧回路
CN101541078B (zh) * 2008-03-17 2012-11-21 华为技术有限公司 一种tdoa的估计方法、系统和装置
US8194480B2 (en) * 2009-11-19 2012-06-05 Himax Technologies Limited Method for initializing memory device
CN102263767B (zh) * 2011-08-30 2013-12-18 北京北方烽火科技有限公司 应用于无线通信的帧同步、频偏估计方法与装置
US8788756B2 (en) * 2011-11-28 2014-07-22 Xilinx, Inc. Circuit for and method of enabling the transfer of data by an integrated circuit
JP6275427B2 (ja) * 2013-09-06 2018-02-07 株式会社東芝 メモリ制御回路およびキャッシュメモリ
US20150100711A1 (en) * 2013-10-07 2015-04-09 Qualcomm Incorporated Low power camera control interface bus and devices
US9237467B2 (en) * 2013-11-27 2016-01-12 At&T Intellectual Property I, L.P. Adaptive pacing of media content delivery over a wireless network
US20150248373A1 (en) 2014-02-28 2015-09-03 Qualcomm Incorporated Bit allocation over a shared bus to facilitate an error detection optimization
US9734121B2 (en) 2014-04-28 2017-08-15 Qualcomm Incorporated Sensors global bus
JP6534312B2 (ja) * 2015-07-31 2019-06-26 ルネサスエレクトロニクス株式会社 半導体装置
US20170255588A1 (en) * 2016-03-07 2017-09-07 Qualcomm Incorporated Multiprotocol i3c common command codes
US11233582B2 (en) * 2016-03-25 2022-01-25 Lisnr, Inc. Local tone generation
JP6828271B2 (ja) * 2016-05-18 2021-02-10 ソニー株式会社 通信装置、通信方法、プログラム、および、通信システム
JP6971538B2 (ja) * 2016-05-18 2021-11-24 ソニーセミコンダクタソリューションズ株式会社 通信装置、通信方法、プログラム、および、通信システム
WO2017199762A1 (ja) * 2016-05-18 2017-11-23 ソニーセミコンダクタソリューションズ株式会社 通信装置、通信方法、プログラム、および、通信システム
JP6911282B2 (ja) 2016-05-18 2021-07-28 ソニーグループ株式会社 通信装置、通信方法、プログラム、および、通信システム

Also Published As

Publication number Publication date
RU2018139479A3 (ja) 2020-07-14
US11791934B2 (en) 2023-10-17
ES2908672T3 (es) 2022-05-03
EP3459190B1 (en) 2022-02-23
TWI753907B (zh) 2022-02-01
EP3459190A1 (en) 2019-03-27
RU2741484C2 (ru) 2021-01-26
CN109075902B (zh) 2022-02-08
KR20190008198A (ko) 2019-01-23
US20190097757A1 (en) 2019-03-28
WO2017199761A1 (en) 2017-11-23
RU2018139479A (ru) 2020-05-12
JP2017208713A (ja) 2017-11-24
BR112018073104A2 (pt) 2019-03-06
KR102350137B1 (ko) 2022-01-14
CN109075902A (zh) 2018-12-21
SG11201808955PA (en) 2018-11-29
TW201741888A (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
JP6971538B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
JP6828271B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
JP6786871B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
JP6903645B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
JP6911282B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
JP6739983B2 (ja) 通信装置、通信方法、プログラム、および、通信システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190520

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200929

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201012

R151 Written notification of patent or utility model registration

Ref document number: 6786871

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151