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

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

Info

Publication number
JPWO2017104437A1
JPWO2017104437A1 JP2017555974A JP2017555974A JPWO2017104437A1 JP WO2017104437 A1 JPWO2017104437 A1 JP WO2017104437A1 JP 2017555974 A JP2017555974 A JP 2017555974A JP 2017555974 A JP2017555974 A JP 2017555974A JP WO2017104437 A1 JPWO2017104437 A1 JP WO2017104437A1
Authority
JP
Japan
Prior art keywords
communication
signal line
level
communication device
time slot
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
JP2017555974A
Other languages
English (en)
Other versions
JP6696511B2 (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
Application filed by Sony Corp filed Critical Sony Corp
Publication of JPWO2017104437A1 publication Critical patent/JPWO2017104437A1/ja
Application granted granted Critical
Publication of JP6696511B2 publication Critical patent/JP6696511B2/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/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dc Digital Transmission (AREA)
  • Small-Scale Networks (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)

Abstract

本開示は、より確実に通信を行うことができるようにする通信装置、通信方法、プログラム、および通信システムに関する。バスIFは、通信の主導権を有しているマスタと、マスタによる制御に従ってマスタと通信を行うスレーブとにより構成される。そして、スレーブは、マスタによる通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、通信の開始または終了の宣言を表す信号線のレベルの変化を検出したことを示す検出信号を出力する検出部と、予め設定された特定のタイムスロットにおける検出信号の出力を無効とする誤検出回避部とを備える。本技術は、例えば、I3Cの規格に準拠して通信を行うバスIFに適用できる。

Description

本開示は、通信装置、通信方法、プログラム、および通信システムに関し、特に、より確実に通信を行うことができるようにした通信装置、通信方法、プログラム、および通信システムに関する。
従来、複数のデバイスが実装されたボード内でバスを介したデバイス間の通信に用いられるバスIF(Interface)として、例えば、I2C(Inter-Integrated Circuit)が多く利用されている。また、近年、I2Cの高速化を実現することが求められており、次世代の規格としてI3C(Improved Inter Integrated Circuit)の規定が進行している。
ところで、一般的に、バスIFを介した通信において、信号線に短パルスが発生することによって、正常に通信を行うことができなくなることが懸念されている。
そのため、例えば、SCSI(Small Computer System Interface)バスに発生するノイズパルスを消去するためのグリッチフィルタ(例えば、特許文献1参照)や、CMOS(Complementary Metal Oxide Semiconductor)インバータ回路においてパルスを除去する短パルス除去回路(例えば、特許文献2参照)などが提案されている。
特開平7−303034号公報 特開平9−83317号公報
上述したように、従来からも、短パルスを消去または除去する技術が提案されているが、I3Cにおいて、短パルスが発生することによる影響を回避して、より確実に通信を行うことができるようにすることが求められている。
本開示は、このような状況に鑑みてなされたものであり、より確実に通信を行うことができるようにするものである。
本開示の一側面の通信装置は、通信の主導権を有している他の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力する検出部と、予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする誤検出回避部とを備える。
本開示の一側面の通信方法またはプログラムは、通信の主導権を有している他の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力し、予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とするステップを含む。
本開示の一側面の通信システムは、通信の主導権を有している第1の通信装置と、前記第1の通信装置による制御に従って前記第1の通信装置と通信を行う第2の通信装置とにより構成され、前記第2の通信装置は、前記第1の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力する検出部と、予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする誤検出回避部とを備える。
本開示の一側面においては、通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、その信号線のレベルの変化を検出したことを示す検出信号が出力され、予め設定された特定のタイムスロットにおける検出信号の出力が無効とされる。
本開示の一側面によれば、より確実に通信を行うことができる。
本技術を適用したバスIFの一実施の形態の構成例を示すブロック図である。 バスIFにおける通信について説明する図である。 短パルスの発生について説明する図である。 短パルスが発生する可能性のあるタイムスロットの一例を示す図である。 短パルスの発生について説明する図である。 短パルスの発生について説明する図である。 スレーブの送受信部の構成例の回路図を示す図である。 短パルスが発生する可能性のあるタイムスロットをマスクする例について説明する図である。 スレーブの送受信部における誤検出回避処理を説明するフローチャートである。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
<バスIFの構成例>
図1は、本技術を適用したバスIFの一実施の形態の構成例を示すブロック図である。
図1に示されているバスIF11は、マスタ12と3台のスレーブ13−1乃至13−3とが、データ信号線14−1およびクロック信号線14−2により接続されて構成されている。例えば、バスIF11では、上述したようなI3Cの規格に準拠した通信が行われ、データ信号線14−1およびクロック信号線14−2を介して信号が伝送される。I3Cでは、速度の異なる4つの伝送方式が規定されており、通信の割り込みや、起動した状態での接続(Hot Join)、2番目のマスタ12を有するシステム構成(Secondary Master)、スレーブ13どうしの直接的な通信(P2P slave)などの機能が実装される。
マスタ12は、バスIF11における通信の主導権を有しており、データ信号線14−1およびクロック信号線14−2を介してスレーブ13−1乃至13−3と通信を行う。例えば、マスタ12は送受信部21を備えており、送受信部21が、データ信号線14−1およびクロック信号線14−2の電位をHレベルとLレベルとで変化させることによって、スレーブ13−1乃至13−3との間で信号の送受信を行うことができる。例えば、データ信号線14−1を介して、1ビットずつ逐次的にシリアルデータ(SDA:Serial Data)が伝送され、クロック信号線14−2を介して、所定の周波数のシリアルクロック(SCL:Serial Clock)が伝送される。
スレーブ13−1乃至13−3は、マスタ12による制御に従って、データ信号線14−1およびクロック信号線14−2を介してマスタ12と通信を行うことができる。なお、スレーブ13−1乃至13−3は、それぞれ同様に構成されており、以下、それらを区別する必要がない場合、単にスレーブ13と称し、スレーブ13を構成する各ブロックについても同様とする。例えば、スレーブ13は、図示するように、送受信部31および処理実行部32を備えて構成され、送受信部31は、検出部33および誤検出回避部34を有している。
送受信部31は、マスタ12の送受信部21と同様に、データ信号線14−1およびクロック信号線14−2のレベルの変化に基づいて、マスタ12との間で信号の送受信を行うことができる。
処理実行部32は、スレーブ13それぞれの機能に準じた処理を実行する。例えば、スレーブ13がメモリやレジスタである場合には、処理実行部32は、データの書き込みおよび読み出しを行う。また、スレーブ13がセンサである場合には、処理実行部32は、センシングされたデータの取得を行う。
検出部33は、マスタ12による通信の開始または終了の宣言を表すデータ信号線14−1およびクロック信号線14−2のレベルの変化の検出を行う。そして、検出部33は、通信の開始または終了の宣言を表すデータ信号線14−1およびクロック信号線14−2のレベルの変化を検出したときに、その旨を示す検出信号(例えば、スタート検出信号またはストップ検出信号)を誤検出回避部34に供給する。
誤検出回避部34は、図7を参照して後述するように、予め特定のタイムスロットが設定されており、そのタイムスロットにおいて検出部33から出力される検出信号を無効とすることにより、通信の開始または終了が誤検出されることを回避する。
このように構成されるバスIF11における通信では、マスタ12が常に通信の権限を持っており、マスタ12がクロック信号線14−2に供給するクロックを基準にして、データ信号線14−1上でデータが転送される。
ここで、図2を参照して、バスIF11における通信について説明する。
図2には、上側から順に、マスタ12からクロック信号線14−2に供給されるクロックの波形、送信側からデータ信号線14−1に供給される送信データの波形、受信側からデータ信号線14−1に供給されるACKデータの波形、および、スレーブ13がクロック信号線14−2を強制的にLレベルにする(クロックストレッチ)ときの波形が示されている。
例えば、バスIF11において通信が行われていない待機状態においてデータ信号線14−1およびクロック信号線14−2は共にHレベルとされる。そして、マスタ12は、クロック信号線14−2がHレベルであるときに、データ信号線14−1をHレベルからLレベルに変化させることで通信の開始(スタートコンディション)を宣言する。続いて通信が行われ、その後、マスタ12は、クロック信号線14−2がHレベルであるときに、データ信号線14−1をLレベルからHレベルに変化させることで通信の終了(ストップコンディション)を宣言する。
なお、バスIF11では、通常のデータの送信時において、即ち、通信の開始または終了を宣言するとき以外において、クロック信号線14−2がLレベルであるときにのみデータ信号線14−1が変化するように規定されている。
また、バスIF11では、マスタ12から出力されるクロックに従って、例えば、0番目から7番目までのタイムスロットにおいてマスタ12からデータD0乃至D7を送信する信号が出力される。そして、8番目のタイムスロットにおいて、データD0乃至D7の受信を完了したことを示すACK(Acknowledge:受信完了通知)を送信する信号がスレーブ13から出力される。
なお、バスIF11では、受信側であるスレーブ13において受信データの書き込みなどが完了するまで、ビジー状態であることを通知するために、スレーブ13が強制的にクロック信号線14−2をLレベルとする(クロックストレッチ)ことが規定されている。このように、スレーブ13がクロック信号線14−2を強制的にLレベルとされている間、マスタ12は待機状態となる。
このように、1本のデータ信号線14−1によりデータの転送を行い、かつ、リード/ライトを可能とする通信においては、データの送信および受信を切り替えるタイミングが存在する。この切り替えタイミングでは、クロック信号線14−2で送信されるクロックに基づいて、マスタ12およびスレーブ13それぞれで送受信を切り替える処理が行われるため、データ信号線14−1に短パルス(Glitch)が発生する可能性がある。
例えば、クロック信号線14−2がHレベルであるときにデータ信号線14−1に短パルスが発生すると、スレーブ13は、その短パルスをスタートコンディションまたはストップコンディションと誤判定することが懸念される。
なお、従来、I2Cにおいても短パルスが発生する可能性はあるが、I2Cでは、クロックがLレベルであるときのみデータが変化することが規定されていることより、短パルスをスタートコンディションまたはストップコンディションと誤判定することはなかった。これに対し、I3Cでは、クロックがHレベルであるときにデータが変化することがあるため、短パルスを、スタートコンディションまたはストップコンディションと誤判定してしまう可能性がある。
例えば、図3に示すように、7番目のタイムスロットが終了してクロック信号線14−2がHレベルからLレベルに変化した後、スレーブ13は、データ信号線14−1をHレベルからLレベルに変化させることでACK(1ビットの0)を送信する。そして、8番目のタイムスロットにおいてクロック信号線14−2がLレベルからHレベルに変化した後、スレーブ13は、データ信号線14−1をLレベルからHレベルに変化させることでACKの送信を終了する。
このとき、スレーブ13が、データ信号線14−1をLレベルからHレベルに変化させた後に、マスタ12が、データ信号線14−1をHレベルからLレベルに変化させた場合、データ信号線14−1が短時間だけHレベルとなる波形(短パルス)が発生してしまう。その際、クロック信号線14−2がHレベルであるため、スレーブ13が、この短パルスをスタートコンディションまたはストップコンディションと誤判定してしまうことが考えられる。そのため、このような誤判定によって、通信が途中で再開または停止されることになり、確実な通信を行うことが困難になると想定される。
ところで、バスIF11では、図3に示すような短パルスが発生する可能性のあるタイムスロットは、予め特定することができる。例えば、マスタ12およびスレーブ13の間で、データの送信と受信とが切り替わるタイミングで、短パルスが発生する可能性がある。
<短パルスが発生する可能性のあるタイムスロット>
ここで、図4には、I3Cにおいて短パルスが発生する可能性のあるタイムスロットの一例が示されている。
例えば、図4のAに示すように、スタートコンディション(S)の後、マスタ12が、データの書き込みを指示するコマンドを送信し、スレーブ13が、そのコマンドの受信に対してACKを送信するタイムスロットにおいて短パルスが発生する可能性がある。続いて、リスタート(Sr)の後、マスタ12が、データの書き込みを行う対象とするスレーブ13のアドレスを送信し、スレーブ13が、そのアドレスの受信に対してACKを送信するタイムスロットにおいて短パルスが発生する可能性がある。
同様に、図4のBに示すように、リスタート(Sr)の後、マスタ12が、データの書き込みを行う対象とするスレーブ13のアドレスを送信し、スレーブ13が、そのアドレスの受信に対してACKを送信するタイムスロットにおいて短パルスが発生する可能性がある。
具体的には、図5に示すように、スレーブ13がACKを送信するタイムスロットにおいて、マスタ12がクロック信号線14−2に供給するクロック(MST-SCL)がHレベルであるときに、マスタ12がデータ信号線14−1に供給する信号(MST-SDA)をHレベルからLレベルにする駆動を行う。この駆動よりも先に、スレーブ13がデータ信号線14−1に供給する信号(SLV-SDA)をLレベルからHレベルにする駆動を行うと、データ信号線14−1上に短パルスが発生することになる。なお、この順番が逆であると、短パルスの発生は回避される。
また、図4のCに示すように、スタートコンディション(S)の後、マスタ12が、データの読み出しを指示するコマンドを送信し、スレーブ13が、そのコマンドの受信に対してACKを送信するタイムスロットにおいて短パルスが発生する可能性がある。その後、スレーブ13が、読み出したデータの送信を行い、そのデータに続いて1ビットパリティ(T)を送信するタイムスロットにおいて短パルスが発生する可能性がある。
同様に、図4のDに示すように、リスタート(Sr)の後、マスタ12が、データの読み出しを行う対象とするスレーブ13のアドレスを送信し、スレーブ13が、ACKおよび読み出したデータの送信を行い、そのデータに続いて1ビットパリティ(T)を送信するタイムスロットにおいて短パルスが発生する可能性がある。
具体的には、図6に示すように、スレーブ13が1ビットパリティ(T)を送信するタイムスロットにおいて、マスタ12がクロック信号線14−2に供給するクロック(MST-SCL)がHレベルであるときに、マスタ12がデータ信号線14−1に供給する信号(MST-SDA)をHレベルからLレベルにする駆動を行う。この駆動よりも先に、スレーブ13がデータ信号線14−1に供給する信号(SLV-SDA)をLレベルからHレベルにする駆動を行うと、データ信号線14−1上に短パルスが発生することになる。なお、この順番が逆であると、短パルスの発生は回避される。
このように、I3Cでは、図4乃至図6に示すような特定のタイムスロットにおいて短パルスが発生する可能性があることを予め特定することができる。
そこで、スレーブ13の送受信部31は、このような短パルスがスタートコンディションまたはストップコンディションとして誤検出されることを回避するように構成されている。
<スレーブの送受信部の構成例>
図7には、スレーブ13の送受信部31の一構成例としての回路図が示されている。
図7に示すように、送受信部31は検出部33および誤検出回避部34を有している。検出部33は、3つのフリップフロップ回路41乃至43が組み合わされて構成され、誤検出回避部34は、カウンタ回路51、特定スロット検出回路52、並びに、アンド回路53および54が組み合わされて構成される。
フリップフロップ回路41乃至43は、データ信号線14−1およびクロック信号線14−2の変化を常に監視する。そして、クロック信号線14−2がHレベルであるときに、データ信号線14−1がHレベルからLレベルに変化すると、フリップフロップ回路41から出力される信号がHレベルとなる。また、クロック信号線14−2がHレベルであるときに、データ信号線14−1がLレベルからHレベルに変化すると、フリップフロップ回路42から出力される信号がHレベルとなる。
カウンタ回路51には、クロック信号線14−2からクロックが供給されるとともに、フリップフロップ回路41から出力される信号が供給される。そして、カウンタ回路51は、クロック信号線14−2がHレベルであるときに、データ信号線14−1がHレベルからLレベルに変化したことがフリップフロップ回路41により検出されるとクロックの計数を開始し、そのカウント値を特定スロット検出回路52に供給する。
特定スロット検出回路52には、短パルスが発生する可能性のある特定のタイムスロットが予め設定されており、例えば、上述した図5の例のように、スレーブ13からACKが送信される9番目のタイムスロットが設定されている。そして、特定スロット検出回路52は、カウンタ回路51から供給されるカウント値に従って設定された特定のタイムスロットの期間、アンド回路53および54に対してHレベルの信号を出力する。
アンド回路53には、フリップフロップ回路41から出力される信号が供給されるとともに、特定スロット検出回路52から出力される信号が反転して供給される。そして、アンド回路53は、それらの入力が共にHレベルであるときにHレベルの出力を行い、スタートコンディションが検出されたことを示すスタート検出信号を出力する。
即ち、アンド回路53は、クロック信号線14−2がHレベルであるときに、データ信号線14−1がHレベルからLレベルに変化してフリップフロップ回路41がHレベルの出力を行い、かつ、短パルスが発生する可能性のあるタイムスロットでなく、特定スロット検出回路52がLレベルの出力を行っているときに、Hレベルのスタート検出信号を出力する。一方、アンド回路53は、クロック信号線14−2がHレベルであるときに、データ信号線14−1がHレベルからLレベルに変化してフリップフロップ回路41がHレベルの出力を行っていても、短パルスが発生する可能性のあるタイムスロットであって、特定スロット検出回路52がHレベルの出力を行っているときには、Lレベルのスタート検出信号(即ち、スタートコンディションが検出されていないことを示す信号)を出力する。
同様に、アンド回路54には、フリップフロップ回路42から出力される信号が供給されるとともに、特定スロット検出回路52から出力される信号が反転して供給される。そして、アンド回路54は、それらの入力が共にHレベルであるときにHレベルの出力を行い、ストップコンディションが検出されたことを示すストップ検出信号を出力する。
即ち、アンド回路54は、クロック信号線14−2がHレベルであるときに、データ信号線14−1がLレベルからHレベルに変化してフリップフロップ回路41がHレベルの出力を行い、かつ、短パルスが発生する可能性のあるタイムスロットでなく、特定スロット検出回路52がLレベルの出力を行っているときに、Hレベルのストップ検出信号を出力する。一方、アンド回路54は、クロック信号線14−2がHレベルであるときに、データ信号線14−1がLレベルからHレベルに変化してフリップフロップ回路41がHレベルの出力を行っていても、短パルスが発生する可能性のあるタイムスロットであって、特定スロット検出回路52がHレベルの出力を行っているときには、Lレベルのストップ検出信号(即ち、ストップコンディションが検出されていないことを示す信号)を出力する。
このように構成されるスレーブ13の送受信部31では、図8に示すように、カウンタ回路51は、スタートコンディションを検出してクロック信号線14−2を介して供給されるクロックのカウント値を計数する。そして、特定スロット検出回路52は、予め設定されている9番目のタイムスロットにおいて、検出部33からの出力をマスクする。これにより、スレーブ13がACKを送信するタイムスロットにおいて短パルスが発生したとしても、検出部33から出力される信号が無効とされ、その短パルスがスタートコンディションまたはストップコンディションとして誤認識されることが回避される。
なお、図7および図8では、短パルスが発生する可能性のある特定のタイムスロットとして9番目のタイムスロットが設定されている例について説明したが、送受信部31では、それ以外の全ての短パルスが発生する可能性のあるタイムスロットにおける検出部33の出力がマスクされる。
つまり、特定スロット検出回路52には、特定のタイムスロットとして、マスタ12とスレーブ13との間で信号の送信および受信の切り替わりが発生するタイムスロットが設定される。具体的には、特定スロット検出回路52には、特定のタイムスロットとして、図5に示したように、マスタ12が送信したコマンドやアドレスなどの受信が完了したことを通知するACKをスレーブ13が送信するタイムスロットが設定される。また、特定スロット検出回路52には、特定のタイムスロットとして、図6に示したように、スレーブ13がマスタ12に対してデータを送信するのに続いてスレーブ13から送信される1ビットパリティを送信するタイムスロットが設定される。
<誤検出回避処理のフローチャート>
次に、図9は、スレーブ13の送受信部31における誤検出回避処理を説明するフローチャートである。
例えば、スレーブ13がデータ信号線14−1およびクロック信号線14−2に接続されて起動すると処理が開始される。そして、検出部33は、データ信号線14−1およびクロック信号線14−2のレベルを常に監視し、誤検出回避部34では、クロック信号線14−2により供給されるクロックに従ってカウンタ回路51によるカウント値の計数が行われる。
ステップS11において、検出部33は、クロック信号線14−2がHレベルであるときに、データ信号線14−1の変化が検出されたか否かを判定し、その変化が検出されたと判定されるまで処理を待機する。そして、検出部33が、クロック信号線14−2がHレベルであるときに、データ信号線14−1の変化が検出されたと判定すると処理はステップS12に進む。
ステップS12において、誤検出回避部34は、カウンタ回路51のカウント値に従って、短パルスが発生する可能性のある特定のタイムスロットであるか否かを判定する。
ステップS12において、誤検出回避部34が、短パルスが発生する可能性のある特定のタイムスロットでないと判定した場合、処理はステップS13に進む。ステップS13において、誤検出回避部34は、ステップS11で検出部33により検出されたデータ信号線14−1の変化は、マスタ12による通信の開始または終了の宣言であるとして、スタート検出信号またはストップ検出信号を出力する。例えば、データ信号線14−1のHレベルからLレベルへの変化が検出されたときにはスタート検出信号が出力され、データ信号線14−1のLレベルからHレベルへの変化が検出されたときにはストップ検出信号が出力される。
一方、ステップS12において、誤検出回避部34が、短パルスが発生する可能性のある特定のタイムスロットであると判定した場合、処理はステップS14に進む。ステップS14において、誤検出回避部34は、ステップS11で検出部33により検出されたデータ信号線14−1の変化をマスクし、この場合、スタート検出信号およびストップ検出信号の出力は行われない。
ステップS13またはS14の処理後、処理はステップS11に戻り、以下、同様の処理が繰り返して行われる。
以上のように、スレーブ13の送受信部31は、短パルスが発生する可能性のある特定のタイムスロットにおいて検出されるデータ信号線14−1の変化を無効とすることで、短パルスによるスタートコンディションまたはストップコンディションの誤検出を回避することができる。
なお、本技術は、I3Cの規格に従ったバスIF11に限定されることはなく、その他の規格に従ったバスIF11に適用することができる。また、図1に示すバスIF11では、スレーブ13−1乃至13−3が接続された構成例が示されているが、スレーブ13は、例えば、1台または2台でもよく、あるいは、3台以上でもよい。
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。また、プログラムは、1のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
また、上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。
<ハードウエアの構成例>
図10は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、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)
前記特定のタイムスロットは、前記通信装置と前記他の通信装置との間で、信号の送信および受信の切り替わりが発生するタイムスロットである
上記(1)に記載の通信装置。
(3)
前記特定のタイムスロットは、前記他の通信装置から送信されてきたコマンドまたはアドレスの受信が完了したことを通知する受信完了通知を送信するタイムスロットである
上記(1)または(2)に記載の通信装置。
(4)
前記特定のタイムスロットは、前記他の通信装置に対してデータを送信するのに続いて前記通信装置から送信される1ビットパリティを送信するタイムスロットである
上記(1)から(3)までのいずれかに記載の通信装置。
(5)
前記検出部は、前記他の通信装置から前記信号線を介して送信されるクロック信号およびデータ信号に基づいて、通信の開始または終了の宣言を表す前記信号線のレベルの変化を検出したことを示す検出信号を出力する複数のフリップフロップ回路が組み合わされて構成され、
前記誤検出回避部は、前記検出部により通信の開始の宣言を表す信号線のレベルの変化を検出されると前記クロック信号のカウント値の計数を開始するカウンタ回路と、前記カウンタ回路によるカウント値に従って、予め設定された前記特定のタイムスロットの期間において、前記検出部が出力する前記検出信号をマスクするマスク回路とが組み合わされて構成される
上記(1)から(4)までのいずれかに記載の通信装置。
(6)
通信の主導権を有している他の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力し、
予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする
ステップを含む通信方法。
(7)
通信の主導権を有している他の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力し、
予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする
ステップを含む通信処理をコンピュータに実行させるプログラム。
(8)
通信の主導権を有している第1の通信装置と、
前記第1の通信装置による制御に従って前記第1の通信装置と通信を行う第2の通信装置と
により構成され、
前記第2の通信装置は、
前記第1の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力する検出部と、
予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする誤検出回避部と
を備える通信システム。
(9)
前記第1の通信装置と複数台の前記第2の通信装置とが、前記信号線を介して接続されて構成される
上記(8)に記載の通信システム。
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
11 バスIF, 12 マスタ, 13 スレーブ, 14 データ信号線, 15 クロック信号線, 21 送受信部, 31 送受信部, 32 処理実行部, 33 検出部, 34 誤検出回避部, 41乃至43 フリップフロップ回路, 51 カウンタ回路, 52 特定スロット検出回路, 53および54 アンド回路

Claims (9)

  1. 通信の主導権を有している他の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力する検出部と、
    予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする誤検出回避部と
    を備える通信装置。
  2. 前記特定のタイムスロットは、前記通信装置と前記他の通信装置との間で、信号の送信および受信の切り替わりが発生するタイムスロットである
    請求項1に記載の通信装置。
  3. 前記特定のタイムスロットは、前記他の通信装置から送信されてきたコマンドまたはアドレスの受信が完了したことを通知する受信完了通知を送信するタイムスロットである
    請求項2に記載の通信装置。
  4. 前記特定のタイムスロットは、前記他の通信装置に対してデータを送信するのに続いて前記通信装置から送信される1ビットパリティを送信するタイムスロットである
    請求項1に記載の通信装置。
  5. 前記検出部は、前記他の通信装置から前記信号線を介して送信されるクロック信号およびデータ信号に基づいて、通信の開始または終了の宣言を表す前記信号線のレベルの変化を検出したことを示す検出信号を出力する複数のフリップフロップ回路が組み合わされて構成され、
    前記誤検出回避部は、前記検出部により通信の開始の宣言を表す信号線のレベルの変化を検出されると前記クロック信号のカウント値の計数を開始するカウンタ回路と、前記カウンタ回路によるカウント値に従って、予め設定された前記特定のタイムスロットの期間において、前記検出部が出力する前記検出信号をマスクするマスク回路とが組み合わされて構成される
    請求項1に記載の通信装置。
  6. 通信の主導権を有している他の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力し、
    予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする
    ステップを含む通信方法。
  7. 通信の主導権を有している他の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力し、
    予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする
    ステップを含む通信処理をコンピュータに実行させるプログラム。
  8. 通信の主導権を有している第1の通信装置と、
    前記第1の通信装置による制御に従って前記第1の通信装置と通信を行う第2の通信装置と
    により構成され、
    前記第2の通信装置は、
    前記第1の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力する検出部と、
    予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする誤検出回避部と
    を備える通信システム。
  9. 前記第1の通信装置と複数台の前記第2の通信装置とが、前記信号線を介して接続されて構成される
    請求項8に記載の通信システム。
JP2017555974A 2015-12-16 2016-12-02 通信装置、通信方法、プログラム、および通信システム Active JP6696511B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015244899 2015-12-16
JP2015244899 2015-12-16
PCT/JP2016/085855 WO2017104437A1 (ja) 2015-12-16 2016-12-02 通信装置、通信方法、プログラム、および通信システム

Publications (2)

Publication Number Publication Date
JPWO2017104437A1 true JPWO2017104437A1 (ja) 2018-10-04
JP6696511B2 JP6696511B2 (ja) 2020-05-20

Family

ID=59056349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017555974A Active JP6696511B2 (ja) 2015-12-16 2016-12-02 通信装置、通信方法、プログラム、および通信システム

Country Status (5)

Country Link
US (1) US10929321B2 (ja)
JP (1) JP6696511B2 (ja)
CN (1) CN108369565B (ja)
DE (1) DE112016005819T5 (ja)
WO (1) WO2017104437A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI712289B (zh) 2019-07-04 2020-12-01 元太科技工業股份有限公司 識別碼編號方法以及多點通信系統
CN112187595B (zh) * 2019-07-04 2022-05-31 元太科技工业股份有限公司 识别码编号方法以及多点通信系统
TWI714207B (zh) * 2019-08-13 2020-12-21 智原科技股份有限公司 運用於ic匯流排的開始與結束偵測裝置與方法
CN110990313B (zh) * 2019-11-29 2021-07-30 苏州浪潮智能科技有限公司 一种i3c总线处理时钟拉伸的方法、设备以及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5563532A (en) 1994-01-24 1996-10-08 Advanced Micro Devices, Inc. Double filtering glitch eater for elimination of noise from signals on a SCSI bus
JPH0983317A (ja) 1995-09-08 1997-03-28 Fujitsu Ltd 短パルス除去回路
US5878234A (en) * 1996-09-10 1999-03-02 Sierra Wireless, Inc. Low power serial protocol translator for use in multi-circuit board electronic systems
US6530029B1 (en) * 1999-09-23 2003-03-04 National Semiconductor Corporation I2C/SMBus start-stop detecting circuit that reduces the likelihood of stalling the bus due to glitches on the data line
FR2839827B1 (fr) * 2002-05-14 2005-07-15 St Microelectronics Sa Circuit de detection de depart, circuit de detection d'arret, et circuit de detection de donnees transmises selon le protocole iic
CN1326366C (zh) * 2005-05-30 2007-07-11 中国人民解放军理工大学 时分多路接入自组织网络的无线通信仿真器和仿真方法
CN101317167B (zh) 2005-11-29 2010-06-16 Nxp股份有限公司 总线站以及保持总线站同步的系统和方法
KR101086426B1 (ko) * 2007-01-23 2011-11-23 삼성전자주식회사 I2c 컨트롤러에서 직렬 데이터 라인의 상태 변화의타이밍 제어 장치 및 그 제어 방법
JP6007804B2 (ja) * 2013-01-28 2016-10-12 株式会社ソシオネクスト 電源の制御回路、電源装置、電子機器及び電源の制御方法
US9436647B2 (en) * 2013-09-13 2016-09-06 Stmicroelectronics Asia Pacific Pte Ltd IIC bus start-stop detection circuit
DE102014206752B4 (de) * 2014-04-08 2021-08-12 Robert Bosch Gmbh Bestimmung des Zustands eines I2C-Busses
US9960981B2 (en) * 2015-10-08 2018-05-01 Sony Corporation Communication device, communication method, program, and communication system

Also Published As

Publication number Publication date
DE112016005819T5 (de) 2018-08-30
US10929321B2 (en) 2021-02-23
JP6696511B2 (ja) 2020-05-20
CN108369565B (zh) 2021-10-22
CN108369565A (zh) 2018-08-03
US20200167301A1 (en) 2020-05-28
WO2017104437A1 (ja) 2017-06-22

Similar Documents

Publication Publication Date Title
JP6696511B2 (ja) 通信装置、通信方法、プログラム、および通信システム
US8103896B2 (en) Method and system for I2C clock generation
JP4388571B2 (ja) 高速クロック検知回路
JP2016004388A (ja) 通信システム及び電子回路
CN110908841B (zh) 一种i2c通信异常恢复方法及装置
CN112765082B (zh) 多主机仲裁方法、装置和可读存储介质
JPH06324977A (ja) データ転送方法
WO2012046634A1 (ja) 電子装置およびシリアルデータ通信方法
CN109074343B (zh) 通信设备、通信方法、程序、以及通信系统
JP2018514873A (ja) 集積回路間の通信
US10977206B2 (en) Data communication device and method for data communication
EP3459189B1 (en) Communication apparatus, communication method, program, and communication system
CN112445744B (zh) I2c通信
TW201810059A (zh) 主控元件以及資料傳輸方法
JP2010011041A (ja) 双方向バス制御回路
JP5334173B2 (ja) データ転送システム及びリトライ制御方法
JP2007517327A (ja) 受信したシリアル転送アライメントシーケンスのレートの検証
JP2005338963A (ja) 電子機器
EP0943999A1 (en) Interrupt masker for an interrupt handler with double-edge interrupt request signals detection
KR101821341B1 (ko) 신호의 노이즈 제거 방법 및 회로
US9053247B2 (en) Monitor circuit, bus system, and bus bridge
JP6100551B2 (ja) 電子機器
JP2008146307A (ja) タイマ制御装置およびその障害検出方法
JP2000330935A (ja) ウェイト制御回路
JP2015170199A (ja) 通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191017

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200406

R151 Written notification of patent or utility model registration

Ref document number: 6696511

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151