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

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

Info

Publication number
JP2017194934A
JP2017194934A JP2016086589A JP2016086589A JP2017194934A JP 2017194934 A JP2017194934 A JP 2017194934A JP 2016086589 A JP2016086589 A JP 2016086589A JP 2016086589 A JP2016086589 A JP 2016086589A JP 2017194934 A JP2017194934 A JP 2017194934A
Authority
JP
Japan
Prior art keywords
signal line
communication
clock signal
communication device
clock
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.)
Granted
Application number
JP2016086589A
Other languages
English (en)
Other versions
JP6792314B2 (ja
Inventor
惺薫 李
Sonfun Lee
惺薫 李
高橋 宏雄
Hiroo Takahashi
宏雄 高橋
直弘 越坂
Naohiro Koshizaka
直弘 越坂
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 Semiconductor Solutions Corp
Original Assignee
Sony Semiconductor Solutions 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
Application filed by Sony Semiconductor Solutions Corp filed Critical Sony Semiconductor Solutions Corp
Priority to JP2016086589A priority Critical patent/JP6792314B2/ja
Priority to US16/087,383 priority patent/US20190146939A1/en
Priority to CN201780023191.5A priority patent/CN109074343B/zh
Priority to PCT/JP2017/014457 priority patent/WO2017183482A1/en
Priority to SG11201807381QA priority patent/SG11201807381QA/en
Publication of JP2017194934A publication Critical patent/JP2017194934A/ja
Application granted granted Critical
Publication of JP6792314B2 publication Critical patent/JP6792314B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • 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
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Communication Control (AREA)

Abstract

【課題】より確実に通信を行う。【解決手段】マスタは、スレーブと通信不能な状態となったときに、送受信部によりクロック信号線に対する特定の駆動を行わせることによって、データ信号線に対する駆動可能な状態を解除することをスレーブに対して指示する。スレーブは、カウンタによりクロック信号線に対する特定の駆動が検出されたときに、データ信号線に対する駆動可能な状態を解除する。本技術は、例えば、I3Cの規格に準拠して通信を行うバスIFに適用できる。【選択図】図1

Description

本開示は、通信装置、通信方法、プログラム、および、通信システムに関し、特に、より確実に通信を行うことができるようにした通信装置、通信方法、プログラム、および、通信システムに関する。
従来、複数のデバイスが実装されたボード内でバスを介したデバイス間の通信に用いられるバスIF(Interface)として、例えば、I2C(Inter-Integrated Circuit)が多く利用されている。
また、近年、I2Cの高速化を実現することが求められており、次世代の規格としてI3C(Improved Inter Integrated Circuit)の規定が進行している。I3Cでは、マスタおよびスレーブは、2本の信号線を用いて双方向に通信を行うことができ、例えば、マスタからスレーブへのデータ転送(ライト転送)と、スレーブからマスタへのデータ転送(リード転送)とを行うことができる。
例えば、特許文献1には、ホスト・プロセッサとサブシステム・コントローラとを、I2Cにより相互接続するディジタル・データ処理システムが開示されている。また、特許文献2には、標準I2Cプロトコルの上部に層状に配置された通信プロトコルを実現する方法が開示されている。
特開2000−99448号公報 特開2002−175269号公報
ところで、上述したようなI3Cにおいて、例えば、2本の信号線それぞれを介して伝送されるシリアルデータまたはシリアルクロックにエラーが発生した場合に、バスがデットロックすることがある。これにより、マスタとスレーブとの両方が通信不能な状態となることが懸念され、正常な通信を行うことができなくなると想定される。
本開示は、このような状況に鑑みてなされたものであり、より確実に通信を行うことができるようにするものである。
本開示の第1の側面の通信装置は、データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行う送受信部と、前記他の通信装置と通信不能な状態となったときに、前記送受信部により前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記他の通信装置に対して指示するクリア指示部とを備える。
本開示の第1の側面の通信方法またはプログラムは、データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行い、前記他の通信装置と通信不能な状態となったときに、前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記他の通信装置に対して指示するステップを含む。
本開示の第1の側面においては、データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信が行われ、他の通信装置と通信不能な状態となったときに、クロック信号線に対する特定の駆動を行わせることによって、データ信号線に対する駆動可能な状態を解除することが他の通信装置に対して指示される。
本開示の第2の側面の通信装置は、データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行う送受信部と、前記他の通信装置による前記クロック信号線に対する駆動を検出する検出部とを備え、前記送受信部は、前記検出部により前記クロック信号線に対する特定の駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除する。
本開示の第2の側面の通信方法またはプログラムは、データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行い、前記他の通信装置による前記クロック信号線に対する駆動を検出し、前記クロック信号線に対する特定の駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除するステップを含む。
本開示の第2の側面においては、データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信が行われ、他の通信装置によるクロック信号線に対する駆動が検出され、クロック信号線に対する特定の駆動が検出されたときに、データ信号線に対する駆動可能な状態が解除される。
本開示の第3の側面の通信システムは、データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、第2の通信装置と信号の送受信を行う第1の送受信部と、前記第2の通信装置と通信不能な状態となったときに、前記第1の送受信部により前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記第2の通信装置に対して指示するクリア指示部とを有する第1の通信装置と、前記データ信号線および前記クロック信号線の少なくとも2本の信号線を介して、前記第1の通信装置と信号の送受信を行う第2の送受信部と、前記第1の通信装置による前記クロック信号線に対する駆動を検出する検出部とを備え、前記第2の送受信部は、前記検出部により前記クロック信号線に対する特定の駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除する第2の通信装置とを備える。
本開示の第3の側面においては、データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、第2の通信装置と信号の送受信が行われ、第2の通信装置と通信不能な状態となったときに、クロック信号線に対する特定の駆動を行わせることによって、データ信号線に対する駆動可能な状態を解除することが第2の通信装置に対して指示される。一方、データ信号線およびクロック信号線の少なくとも2本の信号線を介して、第1の通信装置と信号の送受信が行われ、第1の通信装置によるクロック信号線に対する駆動が検出され、クロック信号線に対する特定の駆動が検出されたときに、データ信号線に対する駆動可能な状態が解除される。
本開示の一側面によれば、より確実に通信を行うことができる。
本技術を適用したバスIFの一実施の形態の構成例を示すブロック図である。 リード転送時におけるタイミングチャートを示す図である。 リード転送時にシリアルクロックでクロックスリップが発生した状態を説明する図である。 DDRモードにおけるタイミングチャートを示す図である。 HDR終了コマンドにビット反転エラーが発生した状態を説明する図である。 カウンタの構成例について説明する図である。 カウンタにより検出される検出信号の例について説明する図である。 バスクリアのタイミングについて説明する図である。 マスタにおいて行われる通信処理を説明するフローチャートである。 スレーブにおいて行われる通信処理を説明するフローチャートである。 バスクリアの変形例について説明する図である。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
図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では、通信速度が異なる複数の伝送方式が規定されており、マスタ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モードで通信を行うことが規定されている。
ところで、上述したように、データ信号線14−1を介して伝送されるシリアルデータ、または、クロック信号線14−2を介して伝送されるシリアルクロックにエラーが発生した場合に、バスIF11がデットロックしてしまい、通信不能な状態となることがある。ここで、マスタ12およびスレーブ13の構成について説明する前に、図2乃至図5を参照して、バスIF11のデットロックについて説明する。なお、以下の図面において、ハッチングが施されているシリアルデータは、スレーブ13からマスタ12へ伝送されることを表しており、スレーブ13によりデータ信号線14−1が駆動可能な状態となっている。
例えば、図2および図3を参照して説明するように、スレーブ13からマスタ12へのデータ転送(以下、リード転送と称する)が行われるときに、バスIF11上でエラーが生じたときに、バスIF11がデットロックすることがある。図2および図3では、マスタ12から見た波形が上側に示されており、スレーブ13から見た波形が下側に示されている。
図2には、リード転送時におけるタイミングチャートが示されている。
図2に示すように、例えば、マスタ12は、バスIF11を構成する全てのスレーブ13を対象として一斉にコマンドを送信することを通知するブロードキャストコマンド(0x7E+R/W=1)を送信する。その後、マスタ12は、ブロードキャストコマンドの受信が成功したことを確認するためにスレーブ13から送信されてくるACK(Acknowledge)を受信して、通信を再スタート(Sr)する。そして、マスタ12は、リード転送を行う対象とするスレーブ13のアドレス(Slave address + R/W=1)を送信し、そのスレーブ13から送信されてくるデータ(D0〜D7)を受信する。
ここで、バスIF11では、リード転送において、リードデータの1バイトごとに、マスタ12がリード転送を中断できる期間(以下、Tビットと称する)が規定されている。従って、マスタ12は、Tビットにおいて、データ信号線14−1をLレベルとするように駆動すること(SDA=0)により、リード転送を中断(Abort)することができる。その後、マスタ12は、通信を終了させる場合、ストップコンディションを出力(クロック信号線14−2がHレベルである状態でデータ信号線14−1をLレベルからHレベルに駆動)して、通信の終了を宣言することができる。なお、Tビットにおいて、スレーブ13がデータ信号線14−1に対する駆動を行うことは禁止される。
図3には、リード転送時にシリアルクロックでクロックスリップが発生した状態が示されている。
図3に示すように、リード転送時にシリアルクロックでクロックスリップが発生すると、マスタ12とスレーブ13との間でシリアルクロックのサイクルがズレてしまうため、リード転送を中断するためのTビットの区間の認識にズレが発生することになる。このように、Tビットの区間の認識にズレが発生した場合、マスタ12は、自身がTビットとして認識している期間において、リード転送を終了させるために、データ信号線14−1がLレベルとなるように駆動することができる。しかしながら、その期間について、スレーブ13においてTビットとして認識されていない(Tビットの区間の認識がズレている)ため、スレーブ13が、データ信号線14−1に対する駆動を行ってしまうことがある。
従って、この場合、マスタ12およびスレーブ13の両方がデータ信号線14−1に対する駆動を行ってしまうと、バスコンフリクトが発生することになる。そして、スレーブ13が、データ信号線14−1に対して駆動可能な状態であると認識したまま、バスIF11がデットロックしてしまう。このため、マスタ12がストップコンディションを出力することができず、通信を終了させて通信処理をやり直すことは困難である。
また、図4および図5を参照して説明するように、HDRモードで転送エラーが生じたときに、バスIF11がデットロックすることがある。
図4には、HDRモードのひとつであるDDRモード(高速転送モード)におけるタイミングチャートが示されている。
図4に示すように、マスタ12は、まず、SDRモードにおいて、バスIF11を構成する全てのスレーブ13を対象として一斉にコマンドを送信することを通知するブロードキャストコマンド(0x7E+R/W=0)を送信する。その後、マスタ12は、ブロードキャストコマンドの受信が成功したことを確認するためにスレーブ13から送信されてくるACKを受信して、DDRモードに入るためのコモンコマンドコード(ENTHDR CCC(0x20))を送信する。このように、マスタ12は、スレーブ13に対してDDRモードに入ることを通知してDDRモードに移行した後、DDRモードでデータ転送(DDRコマンドやDDRデータなどの送信)を行う。
そして、マスタ12は、DDRモードでのデータ転送を終了する際には、スレーブ13に対してHDRモードを終了することを通知するHDR終了コマンド(HDR Exit)を送信する。
図5には、HDR終了コマンドにビット反転エラーが発生した状態が示されている。
図5に示すようにHDR終了コマンドにビット反転エラーが発生した場合、スレーブ13は、DDRモードが終了したことを認識することができなくなる。この場合、SDRモードとDDRモードとではプロトコルのルールが大幅に異なることより、その後のプロトコルでバスコンフリクトが発生してしまい、バスIF11がデットロックしてしまう可能性が発生する。
以上のように、リード転送時にシリアルクロックでクロックスリップが発生したり、HDR終了コマンドにビット反転エラーが発生したりすると、バスIF11がデットロックしてしまう可能性がある。
例えば、バスIF11がデットロックすると、従来、システム全体の電源を遮断したり、別口からリセットをかけて復帰したりする手法を行うことが想定される。しかしながら、マスタ12が、電源を遮断する権限を持っていなかったり、リセットをかける権限を持っていなかったりすると、リセットすることができなかった。そのため、従来、バスIF11のデットロックを解消することができなかった。また、システム全体の電源を遮断する場合には、システムが完全に停止してしまう時間が発生したり、システム全体の設定値などのレジスタ情報が初期値に戻ったりするなどの弊害が発生することになる。また、別口からリセットをかけて復帰する場合には、システム全体の設定値などのレジスタ情報が初期値に戻るという弊害が発生することになる。
そこで、バスIF11のマスタ12およびスレーブ13は、このような弊害が発生することなく、バスIF11のデットロックを解消して通信可能な状態にする(以下、バスクリアと称する)ことができるように構成されている。
次に、図1のマスタ12およびスレーブ13の構成について説明する。
マスタ12は、送受信部21、監視部22、およびクリア指示部23を備えて構成される。
送受信部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は、バスIF11の通信状況を監視し、例えば、バスIF11がデットロックしているか否かを判定する。例えば、バスIF11では、マスタ12からスレーブ13に送信される所定のコマンドに対し、スレーブ13がマスタ12にACKを送信する応答を行うことで、そのコマンドの受信が成功したことを確認するように規定されている。従って、監視部22は、バスIF11を構成するスレーブ13から応答がなく、送受信部21によるスレーブ13に対する各種の復帰手法を実行しても通信状況が改善しない場合、バスIF11がデットロックしているものと判定することができる。または、監視部22は、本来ではバスコンフリクトが発生することのない区間でバスコンフリクトが発生した場合にも、バスIF11がデットロックしているものと判定してもよい。例えば、監視部22は、マスタ12から送信されるシリアルデータの値と、その時に受信したシリアルデータの値とを比較し、それらの値が異なっているとき、バスコンフリクトが発生したと認識することができる。
クリア指示部23は、監視部22によりバスIF11がデットロックしていると判定された場合、送受信部21によりクロック信号線14−2に対する特定の駆動を行わせることによって、データ信号線14−1に対する駆動可能な状態を解除することをスレーブ13に対して指示する。ここで、クリア指示部23は、特定の駆動として、例えば、クロック信号線14−2を一定期間(例えば、1ミリ秒)が経過するまでLレベルを維持し、その後、クロック信号線14−2をHレベルに切り替える駆動を行うことができる。
このように、クロック信号線14−2に対して特定の駆動が行われたことがスレーブ13において検出されると、スレーブ13は、データ信号線14−1に対する駆動可能な状態を解除し、バスIF11のデットロックが解消される。
スレーブ13は、送受信部31、エラー検出部32、コマンド判断部33、および、カウンタ34を備えて構成される。
送受信部31は、データ信号線14−1およびクロック信号線14−2を介して、マスタ12と信号の送受信を行う。例えば、送受信部31は、クロック信号線14−2のシリアルクロックのタイミングに合わせて、マスタ12がデータ信号線14−1に対する駆動を行うことによって、マスタ12から送信されてくる信号を受信する。また、送受信部31は、クロック信号線14−2のシリアルクロックのタイミングに合わせて、データ信号線14−1に対する駆動を行うことによって、マスタ12に信号を送信する。
エラー検出部32は、例えば、送受信部31が受信した信号に対するパリティチェックや巡回冗長検査(CRC)などを行ったり、コマンドを構成するビット列を照合したりすることによって、送受信部31が受信した信号に発生しているエラーを検出する。そして、エラー検出部32は、例えば、送受信部31が受信した信号にエラーが発生していることを検出した場合に、エラーに対する対応を行うこと、例えば、コマンドの再送信を要求することができる。
コマンド判断部33は、送受信部31が受信した信号に含まれているコマンドの内容を判断し、それぞれのコマンドの内容に対応した処理を実行する各処理実行部(図示せず)に対して、コマンドに基づく処理を行うように指示する。
カウンタ34は、例えば、データ信号線14−1がHレベルまたはLレベルとなっていく期間をカウントしたり、クロック信号線14−2がHレベルまたはLレベルとなっている期間をカウントしたりして、カウントに基づく時間に応じた出力を行う。例えば、カウンタ34は、マスタ12によるクロック信号線14−2に対する駆動を検出する検出部として利用することができる。従って、カウンタ34は、上述したようなクロック信号線14−2を一定期間(例えば、1ミリ秒)が経過するまでLレベルを維持し、その後、クロック信号線14−2をHレベルにさせる特定の駆動が行われたことを検出することができる。
具体的には、カウンタ34には、図6に示すように、データ信号線14−1を介して伝送されるシリアルデータ、クロック信号線14−2を介して伝送されるシリアルクロック、および、図示しない発振器により生成されたリファレンスクロック(INCK)が入力される。例えば、カウンタ34は、シリアルクロックがLレベルである時間をカウントし、一定期間(例えば、1ミリ秒)が経過するまでLレベルであって、その後、Hレベルとなる特定の駆動が行われたことを検出すると、データ信号線14−1に対する駆動可能な状態を解除する指示が行われたことを検出するバスクリア検出信号(OBUS_CLEAR_DET)を出力する。これに応じて、送受信部31が、データ信号線14−1に対する駆動可能な状態を解除することで、バスIF11のデットロックが解消される。
なお、カウンタ34は、バスクリア検出信号(OBUS_CLEAR_DET)のみを出力するのに用いられるのではなく、他の検出信号を出力するのにも用いられる。
例えば、図7に示すように、カウンタ34は、シリアルデータおよびシリアルクロックがHレベルである期間が7.5μs以上であることを検出した場合、割り込みなどのトランザクションを開始することができることを検出する検出信号(OBUS_FREE_DET)を出力する。また、カウンタ34は、シリアルデータおよびシリアルクロックがHレベルである期間が1ms以上であることを検出した場合、ホットジョインすることができることを検出する検出信号(OBUS_IDLE_DET)を出力する。
このように、他の検出信号の出力に用いられているカウンタ34を利用して、スレーブ13は、データ信号線14−1に対する駆動可能な状態を解除する指示が行われたことを容易に検出することができる。
そして、図8に示すように、スレーブ13がデータ信号線14−1に対する駆動可能な状態となっているときに、マスタ12が、クロック信号線14−2を一定期間(例えば、1ミリ秒)が経過するまでLレベルを維持することで、スレーブ13に対してバスクリアを指示することができる。スレーブ13は、その一定期間が経過したタイミングで、バスクリアが指示されたことを検出することができる。
その後、マスタ12が、クロック信号線14−2をHレベルにしたタイミングで、スレーブ13は、データ信号線14−1に対する駆動可能な状態を解除(リリース)する。これにより、マスタ12に制御権が戻り、バスIF11のデットロックを解消することができる。
なお、例えば、スレーブ13が、一定期間(例えば、1ミリ秒)が経過するまでクロック信号線14−2がLレベルを維持していることを検出したタイミングでリリースを行うと、スレーブ13ごとにバスクリアを検出するタイミングにズレが生じることがあり、そのタイミングでリリースを行うのは好ましくない。即ち、複数台のスレーブ13が、データ信号線14−1に対する駆動可能な状態である場合には、それぞれのスレーブ13で、リリースを行うタイミングが異なってしまう。そのため、データ信号線14−1に電気的なストレスが発生したり、HDR RESTARTやHDR EXITなどの信号が生成されてしまい、混乱が生じることが懸念される。
従って、バスIF11では、マスタ12がクロック信号線14−2をHレベルにしたタイミングで、スレーブ13が、データ信号線14−1に対する駆動可能な状態を解除(リリース)することが好ましい。
以上のようにバスIF11は構成されており、バスIF11がデットロックしたときに、マスタ12が、クロック信号線14−2を利用して、スレーブ13に対してバスクリアを指示することができ、バスIF11の通信を回復することができる。
<バスクリアを行う通信方法>
図9は、マスタ12において行われる通信処理を説明するフローチャートである。
例えば、図示しない上位の制御装置から通信を行うようにマスタ12に対する指示があると処理が開始される。そして、ステップS11において、送受信部21は、データ信号線14−1およびクロック信号線14−2を駆動し、スタートコンディションを出力(クロック信号線14−2がHレベルである状態でデータ信号線14−1をHレベルからLレベルに駆動)して、通信の開始を宣言する。
ステップS12において、送受信部21は、データ信号線14−1およびクロック信号線14−2を介して、スレーブ13と信号の送受信を行う。
ステップS13において、監視部22は、バスIF11の通信状況を監視し、ステップS14において、その監視結果に基づいて、バスIF11がデットロックしているか否かを判定する。ステップS13において、監視部22が、バスIF11がデットロックしていないと判定した場合、処理はステップS12に戻り、以下、同様に、スレーブ13との通信が継続され、その通信が正常に終了した後、ステップS11に戻って新たに通信を開始することができる。
一方、ステップS14において、監視部22が、バスIF11がデットロックしていると判定した場合、処理はステップS15に進む。
ステップS15において、クリア指示部23は、監視部22がステップS14でバスIF11がデットロックしていると判定したことに対応して、送受信部21に対して、クロック信号線14−2をLレベルに駆動するように指示する。この指示に従い、送受信部21は、クロック信号線14−2をLレベルに駆動する(SCL=L)。
ステップS16において、クリア指示部23は、ステップS15で送受信部21がクロック信号線14−2をLレベルに駆動してから一定期間が経過したか否かを判定し、一定期間が経過したと判定するまで処理を待機する。
ステップS16において、クリア指示部23が、ステップS15で送受信部21がクロック信号線14−2をLレベルに駆動してから一定期間が経過したと判定した場合、処理はステップS17に進む。
ステップS17において、クリア指示部23は、送受信部21に対して、クロック信号線14−2をHレベルに駆動するように指示し、送受信部21は、クロック信号線14−2をHレベルに駆動する(SCL=H)。これにより、図8を参照して上述したように、バスクリアが実行される。
ステップS17の処理後、処理はステップS11に戻り、マスタ12は、通信を最初からやり直すことができる。
図10は、スレーブ13において行われる通信処理を説明するフローチャートである。
例えば、スレーブ13は、マスタ12からの通信を待機する待機状態となっており、ステップS21において、送受信部31は、マスタ12により通信の開始が宣言されたか否かを判定し、マスタ12により通信の開始が宣言されたと判定されるまで処理を待機する。
例えば、図9のステップS11においてマスタ12がスタートコンディションを出力すると、ステップS21において、送受信部31は、マスタ12により通信の開始が宣言されたと判定し、処理はステップS22に進む。
ステップS22において、送受信部31は、データ信号線14−1およびクロック信号線14−2を介して、マスタ12と信号の送受信を行う。
ステップS23において、カウンタ34は、クロック信号線14−2がLレベルに駆動された状態が一定期間以上経過したか否かを判定する。ステップS23において、カウンタ34が、クロック信号線14−2がLレベルに駆動された状態が一定期間以上経過していないと判定した場合、処理はステップS22に戻り、以下、同様に、マスタ12との通信が継続され、その通信が正常に終了した後、処理はステップS21に戻って新たな通信が開始されることを待機することができる。
一方、ステップS23において、カウンタ34が、クロック信号線14−2がLレベルに駆動された状態が一定期間以上経過したと判定した場合、処理はステップS24に進む。
ステップS24において、送受信部31は、クロック信号線14−2がHレベルに駆動されたか否かを判定し、クロック信号線14−2がHレベルに駆動されたと判定するまで処理を待機する。
ステップS24において、送受信部31が、クロック信号線14−2がHレベルに駆動されたと判定した場合、処理はステップS25に進み、送受信部31は、データ信号線14−1に対する駆動を解除する。その後、処理はステップS21に戻り、スレーブ13は、マスタ12からの通信を待機する待機状態となる。
以上のように、マスタ12およびスレーブ13は、バスIF11がデットロックしたときに、バスクリアを行うことによって通信を回復することができ、より確実に通信を行うことができる。
なお、本実施の形態では、マスタ12がスレーブ13に対してバスクリアを指示するための特定の駆動として、クロック信号線14−2を一定期間が経過するまでLレベルを維持するという駆動方法について説明したが、この駆動方法に限定されることはない。例えば、マスタ12がスレーブ13に対してバスクリアを指示するための特定の駆動として、クロック信号線14−2を一定期間が経過するまでHレベルを維持するという駆動方法を用いてもよい。また、スレーブ13がデータ信号線14−1をリリースするタイミングも、マスタ12がクロック信号線14−2をHレベルに駆動したタイミングに限定されることはなく、例えば、特定のパターンを送信したときにスレーブ13がデータ信号線14−1をリリースするようにしてもよい。
即ち、マスタ12が、クロック信号線14−2に対する特定の駆動を行って、スレーブ13に対してバスクリアを指示することができれば、その際の駆動について様々なパターンを用いることができる。例えば、マスタ12は、通常の周波数と、より高い周波数とを組み合わせたシリアルクロックを送信する駆動を行うことにより、スレーブ13に対してバスクリアを指示するようにしてもよい。また、例えば、マスタ12は、一定期間のLレベルと一定期間のHレベルとの切り替えを所定回数繰り返す駆動を行うことにより、レベルを切り替えることによるエッジの数によって、スレーブ13に対してバスクリアを指示するようにしてもよい。なお、これらの駆動が組み合わされて構成されるパターンを用いてもよい。
さらに、例えば、図11に示すように、マスタ12は、クロック信号線14−2をLレベルに維持する一定期間を適切に設定することで、バスクリアだけでなく、バスクリアかつアドレスのリセットや、バスクリアかつリセット(I3Cの全設定を初期値に戻すこと)をスレーブ13に指示することができる。また、マスタ12は、クロック信号線14−2をLレベルに維持する一定期間を適切に設定することで、スレーブ13に対して、アドレス以外の所定の設定値のリセットまたはセットを指示することができる。このように、マスタ12は、バスIF11がデットロックしても、クロック信号線14−2に対する特定の駆動を行うことによって、スレーブ13に対して各種の指示(設定やリセットなど)を行うことができる。これにより、バスIF11がデットロックしても、通信を全く行うことができない状態を回避することが可能となる。
また、バスIF11では、図9および図10を参照して説明したように通信処理が行われているときにだけ、監視部22がバスIF11の通信状況を監視するのではなく、通信処理が行われていないときも常に、監視部22により、バスIF11のデットロックを監視させることができる。そして、監視部22は、バスIF11がデットロックしていることを検出すると、どのような状態であっても、マスタ12がスレーブ13に対してバスクリアを指示することができる。
なお、本技術は、I3Cの規格に従ったバスIF11に限定されることはなく、その他の規格に従ったバスIF11に適用することができる。また、図1に示すバスIF11では、スレーブ13−1乃至13−3が接続された構成例が示されているが、スレーブ13は、例えば、1台または2台でもよく、あるいは、3台以上でもよい。
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。また、プログラムは、1のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
また、上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。
<ハードウエアの構成例>
図12は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、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本の信号線を介して、他の通信装置と信号の送受信を行う送受信部と、
前記他の通信装置と通信不能な状態となったときに、前記送受信部により前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記他の通信装置に対して指示するクリア指示部と
を備える通信装置。
(2)
前記送受信部は、前記特定の駆動として、前記クロック信号線を一定期間が経過するまでLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動を行う
上記(1)に記載の通信装置。
(3)
前記送受信部は、前記特定の駆動として、前記一定期間よりも長い第1の期間が経過するまでLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動を行うことで、前記データ信号線に対する駆動可能な状態の解除と、所定の設定値のリセットとを前記他の通信装置に対して指示する
上記(1)または(2)に記載の通信装置。
(4)
前記送受信部は、前記特定の駆動として、前記一定期間よりも長い第2の期間が経過するまでLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動を行うことで、前記データ信号線に対する駆動可能な状態の解除と、全設定のリセットとを前記他の通信装置に対して指示する
上記(1)から(3)までのいずれかに記載の通信装置。
(5)
複数の前記他の通信装置との通信を監視し、前記データ信号線および前記クロック信号線を介した通信にデッドロックが発生しているか否かを判定する監視部
をさらに備える上記(1)から(4)までのいずれかに記載の通信装置。
(6)
データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行い、
前記他の通信装置と通信不能な状態となったときに、前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記他の通信装置に対して指示する
ステップを含む通信方法。
(7)
データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行い、
前記他の通信装置と通信不能な状態となったときに、前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記他の通信装置に対して指示する
ステップを含む通信処理をコンピュータに実行させるプログラム。
(8)
データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行う送受信部と、
前記他の通信装置による前記クロック信号線に対する駆動を検出する検出部と
を備え、
前記送受信部は、前記検出部により前記クロック信号線に対する特定の駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除する
通信装置。
(9)
前記送受信部は、前記特定の駆動として、前記クロック信号線を一定期間が経過するまでLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動が行われたことが検出されたときに、前記データ信号線に対する駆動可能な状態を解除する
上記(8)に記載の通信装置。
(10)
前記送受信部は、前記特定の駆動として、前記一定期間よりも長い第1の期間が経過するまでLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動が行われたことが検出されたときに、前記データ信号線に対する駆動可能な状態を解除するとともに、所定の設定値のリセットを行う
上記(8)または(9)に記載の通信装置。
(11)
前記送受信部は、前記特定の駆動として、前記一定期間よりも長い第2の期間が経過するまでLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動が行われたことが検出されたときに、前記データ信号線に対する駆動可能な状態を解除するとともに、全設定のリセットを行う
上記(8)から(10)までのいずれかに記載の通信装置。
(12)
前記検出部は、前記クロック信号線がLレベルである時間をカウントするカウンタである
上記(8)から(11)までのいずれかに記載の通信装置。
(13)
データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行い、
前記他の通信装置による前記クロック信号線に対する駆動を検出し、
前記クロック信号線に対する特定の駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除する
ステップを含む通信方法。
(14)
データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行い、
前記他の通信装置による前記クロック信号線に対する駆動を検出し、
前記クロック信号線に対する特定の駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除する
ステップを含む通信処理をコンピュータに実行させるプログラム。
(15)
データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行う第1の送受信部と、
前記第2の通信装置と通信不能な状態となったときに、前記第1の送受信部により前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記第2の通信装置に対して指示するクリア指示部と
を有する第1の通信装置と、
データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、第1の通信装置と信号の送受信を行う第2の送受信部と、
前記第1の通信装置による前記クロック信号線に対する駆動を検出する検出部と
を備え、
前記第2の送受信部は、前記検出部により前記クロック信号線に対する特定の駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除する
第2の通信装置と
を備える通信システム。
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
11 バスIF, 12 マスタ, 13 スレーブ, 14−1 データ信号線, 14−2 クロック信号線, 21 送受信部, 22 監視部, 23 クリア指示部, 31 送受信部, 32 エラー検出部, 33 コマンド判断部, 34 カウンタ

Claims (15)

  1. データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行う送受信部と、
    前記他の通信装置と通信不能な状態となったときに、前記送受信部により前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記他の通信装置に対して指示するクリア指示部と
    を備える通信装置。
  2. 前記送受信部は、前記特定の駆動として、前記クロック信号線を一定期間が経過するまでLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動を行う
    請求項1に記載の通信装置。
  3. 前記送受信部は、前記特定の駆動として、前記一定期間よりも長い第1の期間が経過するまでLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動を行うことで、前記データ信号線に対する駆動可能な状態の解除と、所定の設定値のリセットとを前記他の通信装置に対して指示する
    請求項2に記載の通信装置。
  4. 前記送受信部は、前記特定の駆動として、前記一定期間よりも長い第2の期間が経過するまでLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動を行うことで、前記データ信号線に対する駆動可能な状態の解除と、全設定のリセットとを前記他の通信装置に対して指示する
    請求項3に記載の通信装置。
  5. 複数の前記他の通信装置との通信を監視し、前記データ信号線および前記クロック信号線を介した通信にデッドロックが発生しているか否かを判定する監視部
    をさらに備える請求項1に記載の通信装置。
  6. データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行い、
    前記他の通信装置と通信不能な状態となったときに、前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記他の通信装置に対して指示する
    ステップを含む通信方法。
  7. データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行い、
    前記他の通信装置と通信不能な状態となったときに、前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記他の通信装置に対して指示する
    ステップを含む通信処理をコンピュータに実行させるプログラム。
  8. データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行う送受信部と、
    前記他の通信装置による前記クロック信号線に対する駆動を検出する検出部と
    を備え、
    前記送受信部は、前記検出部により前記クロック信号線に対する特定の駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除する
    通信装置。
  9. 前記送受信部は、前記特定の駆動として、前記クロック信号線を一定期間が経過するまでLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動が行われたことが検出されたときに、前記データ信号線に対する駆動可能な状態を解除する
    請求項8に記載の通信装置。
  10. 前記送受信部は、前記特定の駆動として、前記一定期間よりも長い第1の期間が経過するまでLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動が行われたことが検出されたときに、前記データ信号線に対する駆動可能な状態を解除するとともに、所定の設定値のリセットを行う
    請求項9に記載の通信装置。
  11. 前記送受信部は、前記特定の駆動として、前記一定期間よりも長い第2の期間が経過するまでLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動が行われたことが検出されたときに、前記データ信号線に対する駆動可能な状態を解除するとともに、全設定のリセットを行う
    請求項10に記載の通信装置。
  12. 前記検出部は、前記クロック信号線がLレベルである時間をカウントするカウンタである
    請求項8に記載の通信装置。
  13. データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行い、
    前記他の通信装置による前記クロック信号線に対する駆動を検出し、
    前記クロック信号線に対する特定の駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除する
    ステップを含む通信方法。
  14. データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行い、
    前記他の通信装置による前記クロック信号線に対する駆動を検出し、
    前記クロック信号線に対する特定の駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除する
    ステップを含む通信処理をコンピュータに実行させるプログラム。
  15. データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、第2の通信装置と信号の送受信を行う第1の送受信部と、
    前記第2の通信装置と通信不能な状態となったときに、前記第1の送受信部により前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記第2の通信装置に対して指示するクリア指示部と
    を有する第1の通信装置と、
    前記データ信号線および前記クロック信号線の少なくとも2本の信号線を介して、前記第1の通信装置と信号の送受信を行う第2の送受信部と、
    前記第1の通信装置による前記クロック信号線に対する駆動を検出する検出部と
    を備え、
    前記第2の送受信部は、前記検出部により前記クロック信号線に対する特定の駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除する
    第2の通信装置と
    を備える通信システム。
JP2016086589A 2016-04-22 2016-04-22 通信装置、通信方法、プログラム、および、通信システム Active JP6792314B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2016086589A JP6792314B2 (ja) 2016-04-22 2016-04-22 通信装置、通信方法、プログラム、および、通信システム
US16/087,383 US20190146939A1 (en) 2016-04-22 2017-04-07 Communication device, communication method, program, and communication system
CN201780023191.5A CN109074343B (zh) 2016-04-22 2017-04-07 通信设备、通信方法、程序、以及通信系统
PCT/JP2017/014457 WO2017183482A1 (en) 2016-04-22 2017-04-07 Communication device, communication method, program, and communication system
SG11201807381QA SG11201807381QA (en) 2016-04-22 2017-04-07 Communication device, communication method, program, and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016086589A JP6792314B2 (ja) 2016-04-22 2016-04-22 通信装置、通信方法、プログラム、および、通信システム

Publications (2)

Publication Number Publication Date
JP2017194934A true JP2017194934A (ja) 2017-10-26
JP6792314B2 JP6792314B2 (ja) 2020-11-25

Family

ID=58632556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016086589A Active JP6792314B2 (ja) 2016-04-22 2016-04-22 通信装置、通信方法、プログラム、および、通信システム

Country Status (5)

Country Link
US (1) US20190146939A1 (ja)
JP (1) JP6792314B2 (ja)
CN (1) CN109074343B (ja)
SG (1) SG11201807381QA (ja)
WO (1) WO2017183482A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11030142B2 (en) * 2017-06-28 2021-06-08 Intel Corporation Method, apparatus and system for dynamic control of clock signaling on a bus
US11762799B2 (en) 2019-08-21 2023-09-19 Infineon Technologies Ag Watchdog for addressing deadlocked states
GB2587001B (en) * 2019-09-11 2023-07-19 Idex Biometrics Asa Two-wire host interface

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005119448A1 (en) * 2004-05-28 2005-12-15 Thomson Licensing Error recovery scheme for i2c slave
EP1697864A1 (en) * 2003-12-10 2006-09-06 Kurt Seljeseth Intentional addressing and resource query in a data network
US20060246931A1 (en) * 2005-04-29 2006-11-02 Young-Chan Kim Master device, control method thereof, and electronic device having master device
US20070240019A1 (en) * 2005-12-29 2007-10-11 International Business Machines Corporation Systems and methods for correcting errors in I2C bus communications
JP2008197752A (ja) * 2007-02-08 2008-08-28 Sharp Corp データ通信誤動作防止装置、電子機器、データ通信誤動作防止装置の制御方法、データ通信誤動作防止装置の制御プログラム、及び当該プログラムを記録した記録媒体
WO2013077012A1 (ja) * 2011-11-25 2013-05-30 三菱電機株式会社 通信装置、通信方法、及び通信システム
WO2015104193A1 (en) * 2014-01-10 2015-07-16 Koninklijke Philips N.V. Multi-master bus

Family Cites Families (9)

* 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
US7069476B1 (en) * 2002-08-15 2006-06-27 Network Appliance, Inc. Method and apparatus to release a serial bus from a suspended state
US7478286B2 (en) * 2005-04-08 2009-01-13 Linear Technology Corporation Circuit and method of detecting and resolving stuck I2C buses
JP2007164765A (ja) * 2005-11-15 2007-06-28 Matsushita Electric Ind Co Ltd Iicバス通信システム、スレーブ装置およびiicバス通信制御方法
KR100778114B1 (ko) * 2006-09-18 2007-11-21 삼성전자주식회사 통신에러를 개선하기 위한 통신방법 및 그 통신방법이적용된 전자장치
WO2011106016A1 (en) * 2010-02-26 2011-09-01 Hewlett-Packard Development Company, L.P. Restoring stability to an unstable bus
US9959223B2 (en) * 2013-05-08 2018-05-01 Nxp B.V. Method and system for interrupt signaling in an inter-integrated circuit (I2C) bus system
JP6263880B2 (ja) * 2013-07-09 2018-01-24 富士通株式会社 ストレージ制御装置、制御装置および制御プログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1697864A1 (en) * 2003-12-10 2006-09-06 Kurt Seljeseth Intentional addressing and resource query in a data network
WO2005119448A1 (en) * 2004-05-28 2005-12-15 Thomson Licensing Error recovery scheme for i2c slave
US20060246931A1 (en) * 2005-04-29 2006-11-02 Young-Chan Kim Master device, control method thereof, and electronic device having master device
US20070240019A1 (en) * 2005-12-29 2007-10-11 International Business Machines Corporation Systems and methods for correcting errors in I2C bus communications
JP2008197752A (ja) * 2007-02-08 2008-08-28 Sharp Corp データ通信誤動作防止装置、電子機器、データ通信誤動作防止装置の制御方法、データ通信誤動作防止装置の制御プログラム、及び当該プログラムを記録した記録媒体
WO2013077012A1 (ja) * 2011-11-25 2013-05-30 三菱電機株式会社 通信装置、通信方法、及び通信システム
US20140258576A1 (en) * 2011-11-25 2014-09-11 Mitsubishi Electric Corporation Communication device, communication method, and communication system
WO2015104193A1 (en) * 2014-01-10 2015-07-16 Koninklijke Philips N.V. Multi-master bus
JP2017504116A (ja) * 2014-01-10 2017-02-02 フィリップス ライティング ホールディング ビー ヴィ マルチマスタバス

Also Published As

Publication number Publication date
CN109074343A (zh) 2018-12-21
CN109074343B (zh) 2023-04-21
SG11201807381QA (en) 2018-09-27
WO2017183482A1 (en) 2017-10-26
US20190146939A1 (en) 2019-05-16
JP6792314B2 (ja) 2020-11-25

Similar Documents

Publication Publication Date Title
TWI730993B (zh) 第1通信裝置、通信方法、及通信系統
JP5160100B2 (ja) データ通信誤動作防止装置、電子機器、データ通信誤動作防止装置の制御方法、データ通信誤動作防止装置の制御プログラム、及び当該プログラムを記録した記録媒体
CN110908841B (zh) 一种i2c通信异常恢复方法及装置
JP6971538B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
JP2017194934A (ja) 通信装置、通信方法、プログラム、および、通信システム
KR102375363B1 (ko) 통신 장치, 통신 방법, 프로그램, 및 통신 시스템
JP6696511B2 (ja) 通信装置、通信方法、プログラム、および通信システム
WO2018150868A1 (ja) 通信装置、通信方法、プログラム、および、通信システム
JP2007334731A (ja) Usb機器、ホスト装置、およびusb接続システム
JP6903645B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
KR102350137B1 (ko) 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
JPWO2017022463A1 (ja) データ伝送装置およびデータ伝送方法、受信装置および受信方法、プログラム、並びにデータ伝送システム
EP3459189B1 (en) Communication apparatus, communication method, program, and communication system
JP6739983B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
JP4977324B2 (ja) バスシステム、バス接続機器、及び、リセット方法
JP2010103603A (ja) 伝送制御装置および伝送制御方法
JP2004021538A (ja) 二挙動制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190415

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: 20200720

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201001

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20201001

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20201013

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20201020

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: 20201105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201105

R150 Certificate of patent or registration of utility model

Ref document number: 6792314

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150