(57)【要約】  本開示は、より確実に通信を行うことができるようにする通信装置、通信方法、プログラム、および通信システムに関する。バスＩＦは、通信の主導権を有しているマスタと、マスタによる制御に従ってマスタと通信を行うスレーブとにより構成される。そして、スレーブは、マスタによる通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、通信の開始または終了の宣言を表す信号線のレベルの変化を検出したことを示す検出信号を出力する検出部と、予め設定された特定のタイムスロットにおける検出信号の出力を無効とする誤検出回避部とを備える。本技術は、例えば、I3Cの規格に準拠して通信を行うバスＩＦに適用できる。
2017104437.tif 000002
【特許請求の範囲】
【請求項１】
通信の主導権を有している他の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力する検出部と、
予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする誤検出回避部と
を備える通信装置。
【請求項２】
前記特定のタイムスロットは、前記通信装置と前記他の通信装置との間で、信号の送信および受信の切り替わりが発生するタイムスロットである
請求項１に記載の通信装置。
【請求項３】
前記特定のタイムスロットは、前記他の通信装置から送信されてきたコマンドまたはアドレスの受信が完了したことを通知する受信完了通知を送信するタイムスロットである
請求項２に記載の通信装置。
【請求項４】
前記特定のタイムスロットは、前記他の通信装置に対してデータを送信するのに続いて前記通信装置から送信される１ビットパリティを送信するタイムスロットである
請求項１に記載の通信装置。
【請求項５】
前記検出部は、前記他の通信装置から前記信号線を介して送信されるクロック信号およびデータ信号に基づいて、通信の開始または終了の宣言を表す前記信号線のレベルの変化を検出したことを示す検出信号を出力する複数のフリップフロップ回路が組み合わされて構成され、
前記誤検出回避部は、前記検出部により通信の開始の宣言を表す信号線のレベルの変化を検出されると前記クロック信号のカウント値の計数を開始するカウンタ回路と、前記カウンタ回路によるカウント値に従って、予め設定された前記特定のタイムスロットの期間において、前記検出部が出力する前記検出信号をマスクするマスク回路とが組み合わされて構成される
請求項１に記載の通信装置。
【請求項６】
通信の主導権を有している他の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力し、
予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする
ステップを含む通信方法。
【請求項７】
通信の主導権を有している他の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力し、
予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする
ステップを含む通信処理をコンピュータに実行させるプログラム。
【請求項８】
通信の主導権を有している第１の通信装置と、
前記第１の通信装置による制御に従って前記第１の通信装置と通信を行う第２の通信装置と
により構成され、
前記第２の通信装置は、
前記第１の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力する検出部と、
予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする誤検出回避部と
を備える通信システム。
【請求項９】
前記第１の通信装置と複数台の前記第２の通信装置とが、前記信号線を介して接続されて構成される
請求項８に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、通信装置、通信方法、プログラム、および通信システムに関し、特に、より確実に通信を行うことができるようにした通信装置、通信方法、プログラム、および通信システムに関する。
【背景技術】
【０００２】
従来、複数のデバイスが実装されたボード内でバスを介したデバイス間の通信に用いられるバスＩＦ（Interface）として、例えば、I2C（Inter-Integrated Circuit）が多く利用されている。また、近年、I2Cの高速化を実現することが求められており、次世代の規格としてI3C（Improved Inter Integrated Circuit）の規定が進行している。【０００３】
ところで、一般的に、バスＩＦを介した通信において、信号線に短パルスが発生することによって、正常に通信を行うことができなくなることが懸念されている。【０００４】
そのため、例えば、SCSI（Small Computer System Interface）バスに発生するノイズパルスを消去するためのグリッチフィルタ（例えば、特許文献１参照）や、CMOS（Complementary Metal Oxide Semiconductor）インバータ回路においてパルスを除去する短パルス除去回路（例えば、特許文献２参照）などが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−３０３０３４号公報
【特許文献２】特開平９−８３３１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、従来からも、短パルスを消去または除去する技術が提案されているが、I3Cにおいて、短パルスが発生することによる影響を回避して、より確実に通信を行うことができるようにすることが求められている。【０００７】
本開示は、このような状況に鑑みてなされたものであり、より確実に通信を行うことができるようにするものである。
【課題を解決するための手段】
【０００８】
本開示の一側面の通信装置は、通信の主導権を有している他の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力する検出部と、予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする誤検出回避部とを備える。【０００９】
本開示の一側面の通信方法またはプログラムは、通信の主導権を有している他の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力し、予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とするステップを含む。【００１０】
本開示の一側面の通信システムは、通信の主導権を有している第１の通信装置と、前記第１の通信装置による制御に従って前記第１の通信装置と通信を行う第２の通信装置とにより構成され、前記第２の通信装置は、前記第１の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力する検出部と、予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする誤検出回避部とを備える。【００１１】
本開示の一側面においては、通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、その信号線のレベルの変化を検出したことを示す検出信号が出力され、予め設定された特定のタイムスロットにおける検出信号の出力が無効とされる。
【発明の効果】
【００１２】
本開示の一側面によれば、より確実に通信を行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本技術を適用したバスＩＦの一実施の形態の構成例を示すブロック図である。
【図２】バスＩＦにおける通信について説明する図である。
【図３】短パルスの発生について説明する図である。
【図４】短パルスが発生する可能性のあるタイムスロットの一例を示す図である。
【図５】短パルスの発生について説明する図である。
【図６】短パルスの発生について説明する図である。
【図７】スレーブの送受信部の構成例の回路図を示す図である。
【図８】短パルスが発生する可能性のあるタイムスロットをマスクする例について説明する図である。
【図９】スレーブの送受信部における誤検出回避処理を説明するフローチャートである。
【図１０】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１５】
＜バスＩＦの構成例＞
【００１６】
図１は、本技術を適用したバスＩＦの一実施の形態の構成例を示すブロック図である。
【００１７】
図１に示されているバスＩＦ１１は、マスタ１２と３台のスレーブ１３−１乃至１３−３とが、データ信号線１４−１およびクロック信号線１４−２により接続されて構成されている。例えば、バスＩＦ１１では、上述したようなI3Cの規格に準拠した通信が行われ、データ信号線１４−１およびクロック信号線１４−２を介して信号が伝送される。I3Cでは、速度の異なる４つの伝送方式が規定されており、通信の割り込みや、起動した状態での接続（Hot Join）、２番目のマスタ１２を有するシステム構成（Secondary Master）、スレーブ１３どうしの直接的な通信（P2P slave）などの機能が実装される。
【００１８】
マスタ１２は、バスＩＦ１１における通信の主導権を有しており、データ信号線１４−１およびクロック信号線１４−２を介してスレーブ１３−１乃至１３−３と通信を行う。例えば、マスタ１２は送受信部２１を備えており、送受信部２１が、データ信号線１４−１およびクロック信号線１４−２の電位をＨレベルとＬレベルとで変化させることによって、スレーブ１３−１乃至１３−３との間で信号の送受信を行うことができる。例えば、データ信号線１４−１を介して、１ビットずつ逐次的にシリアルデータ（SDA：Serial Data）が伝送され、クロック信号線１４−２を介して、所定の周波数のシリアルクロック（SCL：Serial Clock）が伝送される。
【００１９】
スレーブ１３−１乃至１３−３は、マスタ１２による制御に従って、データ信号線１４−１およびクロック信号線１４−２を介してマスタ１２と通信を行うことができる。なお、スレーブ１３−１乃至１３−３は、それぞれ同様に構成されており、以下、それらを区別する必要がない場合、単にスレーブ１３と称し、スレーブ１３を構成する各ブロックについても同様とする。例えば、スレーブ１３は、図示するように、送受信部３１および処理実行部３２を備えて構成され、送受信部３１は、検出部３３および誤検出回避部３４を有している。
【００２０】
送受信部３１は、マスタ１２の送受信部２１と同様に、データ信号線１４−１およびクロック信号線１４−２のレベルの変化に基づいて、マスタ１２との間で信号の送受信を行うことができる。
【００２１】
処理実行部３２は、スレーブ１３それぞれの機能に準じた処理を実行する。例えば、スレーブ１３がメモリやレジスタである場合には、処理実行部３２は、データの書き込みおよび読み出しを行う。また、スレーブ１３がセンサである場合には、処理実行部３２は、センシングされたデータの取得を行う。
【００２２】
検出部３３は、マスタ１２による通信の開始または終了の宣言を表すデータ信号線１４−１およびクロック信号線１４−２のレベルの変化の検出を行う。そして、検出部３３は、通信の開始または終了の宣言を表すデータ信号線１４−１およびクロック信号線１４−２のレベルの変化を検出したときに、その旨を示す検出信号（例えば、スタート検出信号またはストップ検出信号）を誤検出回避部３４に供給する。
【００２３】
誤検出回避部３４は、図７を参照して後述するように、予め特定のタイムスロットが設定されており、そのタイムスロットにおいて検出部３３から出力される検出信号を無効とすることにより、通信の開始または終了が誤検出されることを回避する。
【００２４】
このように構成されるバスＩＦ１１における通信では、マスタ１２が常に通信の権限を持っており、マスタ１２がクロック信号線１４−２に供給するクロックを基準にして、データ信号線１４−１上でデータが転送される。
【００２５】
ここで、図２を参照して、バスＩＦ１１における通信について説明する。
【００２６】
図２には、上側から順に、マスタ１２からクロック信号線１４−２に供給されるクロックの波形、送信側からデータ信号線１４−１に供給される送信データの波形、受信側からデータ信号線１４−１に供給されるACKデータの波形、および、スレーブ１３がクロック信号線１４−２を強制的にＬレベルにする（クロックストレッチ）ときの波形が示されている。
【００２７】
例えば、バスＩＦ１１において通信が行われていない待機状態においてデータ信号線１４−１およびクロック信号線１４−２は共にＨレベルとされる。そして、マスタ１２は、クロック信号線１４−２がＨレベルであるときに、データ信号線１４−１をＨレベルからＬレベルに変化させることで通信の開始（スタートコンディション）を宣言する。続いて通信が行われ、その後、マスタ１２は、クロック信号線１４−２がＨレベルであるときに、データ信号線１４−１をＬレベルからＨレベルに変化させることで通信の終了（ストップコンディション）を宣言する。
【００２８】
なお、バスＩＦ１１では、通常のデータの送信時において、即ち、通信の開始または終了を宣言するとき以外において、クロック信号線１４−２がＬレベルであるときにのみデータ信号線１４−１が変化するように規定されている。
【００２９】
また、バスＩＦ１１では、マスタ１２から出力されるクロックに従って、例えば、０番目から７番目までのタイムスロットにおいてマスタ１２からデータＤ０乃至Ｄ７を送信する信号が出力される。そして、８番目のタイムスロットにおいて、データＤ０乃至Ｄ７の受信を完了したことを示すACK（Acknowledge：受信完了通知）を送信する信号がスレーブ１３から出力される。
【００３０】
なお、バスＩＦ１１では、受信側であるスレーブ１３において受信データの書き込みなどが完了するまで、ビジー状態であることを通知するために、スレーブ１３が強制的にクロック信号線１４−２をＬレベルとする（クロックストレッチ）ことが規定されている。このように、スレーブ１３がクロック信号線１４−２を強制的にＬレベルとされている間、マスタ１２は待機状態となる。
【００３１】
このように、１本のデータ信号線１４−１によりデータの転送を行い、かつ、リード／ライトを可能とする通信においては、データの送信および受信を切り替えるタイミングが存在する。この切り替えタイミングでは、クロック信号線１４−２で送信されるクロックに基づいて、マスタ１２およびスレーブ１３それぞれで送受信を切り替える処理が行われるため、データ信号線１４−１に短パルス（Glitch）が発生する可能性がある。
【００３２】
例えば、クロック信号線１４−２がＨレベルであるときにデータ信号線１４−１に短パルスが発生すると、スレーブ１３は、その短パルスをスタートコンディションまたはストップコンディションと誤判定することが懸念される。
【００３３】
なお、従来、I2Cにおいても短パルスが発生する可能性はあるが、I2Cでは、クロックがＬレベルであるときのみデータが変化することが規定されていることより、短パルスをスタートコンディションまたはストップコンディションと誤判定することはなかった。これに対し、I3Cでは、クロックがＨレベルであるときにデータが変化することがあるため、短パルスを、スタートコンディションまたはストップコンディションと誤判定してしまう可能性がある。
【００３４】
例えば、図３に示すように、７番目のタイムスロットが終了してクロック信号線１４−２がＨレベルからＬレベルに変化した後、スレーブ１３は、データ信号線１４−１をＨレベルからＬレベルに変化させることでACK（１ビットの０）を送信する。そして、８番目のタイムスロットにおいてクロック信号線１４−２がＬレベルからＨレベルに変化した後、スレーブ１３は、データ信号線１４−１をＬレベルからＨレベルに変化させることでACKの送信を終了する。
【００３５】
このとき、スレーブ１３が、データ信号線１４−１をＬレベルからＨレベルに変化させた後に、マスタ１２が、データ信号線１４−１をＨレベルからＬレベルに変化させた場合、データ信号線１４−１が短時間だけＨレベルとなる波形（短パルス）が発生してしまう。その際、クロック信号線１４−２がＨレベルであるため、スレーブ１３が、この短パルスをスタートコンディションまたはストップコンディションと誤判定してしまうことが考えられる。そのため、このような誤判定によって、通信が途中で再開または停止されることになり、確実な通信を行うことが困難になると想定される。
【００３６】
ところで、バスＩＦ１１では、図３に示すような短パルスが発生する可能性のあるタイムスロットは、予め特定することができる。例えば、マスタ１２およびスレーブ１３の間で、データの送信と受信とが切り替わるタイミングで、短パルスが発生する可能性がある。
【００３７】
＜短パルスが発生する可能性のあるタイムスロット＞
【００３８】
ここで、図４には、I3Cにおいて短パルスが発生する可能性のあるタイムスロットの一例が示されている。
【００３９】
例えば、図４のＡに示すように、スタートコンディション（Ｓ）の後、マスタ１２が、データの書き込みを指示するコマンドを送信し、スレーブ１３が、そのコマンドの受信に対してACKを送信するタイムスロットにおいて短パルスが発生する可能性がある。続いて、リスタート（Ｓｒ）の後、マスタ１２が、データの書き込みを行う対象とするスレーブ１３のアドレスを送信し、スレーブ１３が、そのアドレスの受信に対してACKを送信するタイムスロットにおいて短パルスが発生する可能性がある。
【００４０】
同様に、図４のＢに示すように、リスタート（Ｓｒ）の後、マスタ１２が、データの書き込みを行う対象とするスレーブ１３のアドレスを送信し、スレーブ１３が、そのアドレスの受信に対してACKを送信するタイムスロットにおいて短パルスが発生する可能性がある。
【００４１】
具体的には、図５に示すように、スレーブ１３がACKを送信するタイムスロットにおいて、マスタ１２がクロック信号線１４−２に供給するクロック（MST-SCL）がＨレベルであるときに、マスタ１２がデータ信号線１４−１に供給する信号（MST-SDA）をＨレベルからＬレベルにする駆動を行う。この駆動よりも先に、スレーブ１３がデータ信号線１４−１に供給する信号（SLV-SDA）をＬレベルからＨレベルにする駆動を行うと、データ信号線１４−１上に短パルスが発生することになる。なお、この順番が逆であると、短パルスの発生は回避される。
【００４２】
また、図４のＣに示すように、スタートコンディション（Ｓ）の後、マスタ１２が、データの読み出しを指示するコマンドを送信し、スレーブ１３が、そのコマンドの受信に対してACKを送信するタイムスロットにおいて短パルスが発生する可能性がある。その後、スレーブ１３が、読み出したデータの送信を行い、そのデータに続いて１ビットパリティ（T）を送信するタイムスロットにおいて短パルスが発生する可能性がある。
【００４３】
同様に、図４のＤに示すように、リスタート（Ｓｒ）の後、マスタ１２が、データの読み出しを行う対象とするスレーブ１３のアドレスを送信し、スレーブ１３が、ACKおよび読み出したデータの送信を行い、そのデータに続いて１ビットパリティ（T）を送信するタイムスロットにおいて短パルスが発生する可能性がある。
【００４４】
具体的には、図６に示すように、スレーブ１３が１ビットパリティ（T）を送信するタイムスロットにおいて、マスタ１２がクロック信号線１４−２に供給するクロック（MST-SCL）がＨレベルであるときに、マスタ１２がデータ信号線１４−１に供給する信号（MST-SDA）をＨレベルからＬレベルにする駆動を行う。この駆動よりも先に、スレーブ１３がデータ信号線１４−１に供給する信号（SLV-SDA）をＬレベルからＨレベルにする駆動を行うと、データ信号線１４−１上に短パルスが発生することになる。なお、この順番が逆であると、短パルスの発生は回避される。
【００４５】
このように、I3Cでは、図４乃至図６に示すような特定のタイムスロットにおいて短パルスが発生する可能性があることを予め特定することができる。
【００４６】
そこで、スレーブ１３の送受信部３１は、このような短パルスがスタートコンディションまたはストップコンディションとして誤検出されることを回避するように構成されている。
【００４７】
＜スレーブの送受信部の構成例＞
【００４８】
図７には、スレーブ１３の送受信部３１の一構成例としての回路図が示されている。
【００４９】
図７に示すように、送受信部３１は検出部３３および誤検出回避部３４を有している。検出部３３は、３つのフリップフロップ回路４１乃至４３が組み合わされて構成され、誤検出回避部３４は、カウンタ回路５１、特定スロット検出回路５２、並びに、アンド回路５３および５４が組み合わされて構成される。
【００５０】
フリップフロップ回路４１乃至４３は、データ信号線１４−１およびクロック信号線１４−２の変化を常に監視する。そして、クロック信号線１４−２がＨレベルであるときに、データ信号線１４−１がＨレベルからＬレベルに変化すると、フリップフロップ回路４１から出力される信号がＨレベルとなる。また、クロック信号線１４−２がＨレベルであるときに、データ信号線１４−１がＬレベルからＨレベルに変化すると、フリップフロップ回路４２から出力される信号がＨレベルとなる。
【００５１】
カウンタ回路５１には、クロック信号線１４−２からクロックが供給されるとともに、フリップフロップ回路４１から出力される信号が供給される。そして、カウンタ回路５１は、クロック信号線１４−２がＨレベルであるときに、データ信号線１４−１がＨレベルからＬレベルに変化したことがフリップフロップ回路４１により検出されるとクロックの計数を開始し、そのカウント値を特定スロット検出回路５２に供給する。
【００５２】
特定スロット検出回路５２には、短パルスが発生する可能性のある特定のタイムスロットが予め設定されており、例えば、上述した図５の例のように、スレーブ１３からACKが送信される９番目のタイムスロットが設定されている。そして、特定スロット検出回路５２は、カウンタ回路５１から供給されるカウント値に従って設定された特定のタイムスロットの期間、アンド回路５３および５４に対してＨレベルの信号を出力する。
【００５３】
アンド回路５３には、フリップフロップ回路４１から出力される信号が供給されるとともに、特定スロット検出回路５２から出力される信号が反転して供給される。そして、アンド回路５３は、それらの入力が共にＨレベルであるときにＨレベルの出力を行い、スタートコンディションが検出されたことを示すスタート検出信号を出力する。
【００５４】
即ち、アンド回路５３は、クロック信号線１４−２がＨレベルであるときに、データ信号線１４−１がＨレベルからＬレベルに変化してフリップフロップ回路４１がＨレベルの出力を行い、かつ、短パルスが発生する可能性のあるタイムスロットでなく、特定スロット検出回路５２がＬレベルの出力を行っているときに、Ｈレベルのスタート検出信号を出力する。一方、アンド回路５３は、クロック信号線１４−２がＨレベルであるときに、データ信号線１４−１がＨレベルからＬレベルに変化してフリップフロップ回路４１がＨレベルの出力を行っていても、短パルスが発生する可能性のあるタイムスロットであって、特定スロット検出回路５２がＨレベルの出力を行っているときには、Ｌレベルのスタート検出信号（即ち、スタートコンディションが検出されていないことを示す信号）を出力する。
【００５５】
同様に、アンド回路５４には、フリップフロップ回路４２から出力される信号が供給されるとともに、特定スロット検出回路５２から出力される信号が反転して供給される。そして、アンド回路５４は、それらの入力が共にＨレベルであるときにＨレベルの出力を行い、ストップコンディションが検出されたことを示すストップ検出信号を出力する。
【００５６】
即ち、アンド回路５４は、クロック信号線１４−２がＨレベルであるときに、データ信号線１４−１がＬレベルからＨレベルに変化してフリップフロップ回路４１がＨレベルの出力を行い、かつ、短パルスが発生する可能性のあるタイムスロットでなく、特定スロット検出回路５２がＬレベルの出力を行っているときに、Ｈレベルのストップ検出信号を出力する。一方、アンド回路５４は、クロック信号線１４−２がＨレベルであるときに、データ信号線１４−１がＬレベルからＨレベルに変化してフリップフロップ回路４１がＨレベルの出力を行っていても、短パルスが発生する可能性のあるタイムスロットであって、特定スロット検出回路５２がＨレベルの出力を行っているときには、Ｌレベルのストップ検出信号（即ち、ストップコンディションが検出されていないことを示す信号）を出力する。
【００５７】
このように構成されるスレーブ１３の送受信部３１では、図８に示すように、カウンタ回路５１は、スタートコンディションを検出してクロック信号線１４−２を介して供給されるクロックのカウント値を計数する。そして、特定スロット検出回路５２は、予め設定されている９番目のタイムスロットにおいて、検出部３３からの出力をマスクする。これにより、スレーブ１３がACKを送信するタイムスロットにおいて短パルスが発生したとしても、検出部３３から出力される信号が無効とされ、その短パルスがスタートコンディションまたはストップコンディションとして誤認識されることが回避される。
【００５８】
なお、図７および図８では、短パルスが発生する可能性のある特定のタイムスロットとして９番目のタイムスロットが設定されている例について説明したが、送受信部３１では、それ以外の全ての短パルスが発生する可能性のあるタイムスロットにおける検出部３３の出力がマスクされる。
【００５９】
つまり、特定スロット検出回路５２には、特定のタイムスロットとして、マスタ１２とスレーブ１３との間で信号の送信および受信の切り替わりが発生するタイムスロットが設定される。具体的には、特定スロット検出回路５２には、特定のタイムスロットとして、図５に示したように、マスタ１２が送信したコマンドやアドレスなどの受信が完了したことを通知するACKをスレーブ１３が送信するタイムスロットが設定される。また、特定スロット検出回路５２には、特定のタイムスロットとして、図６に示したように、スレーブ１３がマスタ１２に対してデータを送信するのに続いてスレーブ１３から送信される１ビットパリティを送信するタイムスロットが設定される。
【００６０】
＜誤検出回避処理のフローチャート＞
【００６１】
次に、図９は、スレーブ１３の送受信部３１における誤検出回避処理を説明するフローチャートである。
【００６２】
例えば、スレーブ１３がデータ信号線１４−１およびクロック信号線１４−２に接続されて起動すると処理が開始される。そして、検出部３３は、データ信号線１４−１およびクロック信号線１４−２のレベルを常に監視し、誤検出回避部３４では、クロック信号線１４−２により供給されるクロックに従ってカウンタ回路５１によるカウント値の計数が行われる。
【００６３】
ステップＳ１１において、検出部３３は、クロック信号線１４−２がＨレベルであるときに、データ信号線１４−１の変化が検出されたか否かを判定し、その変化が検出されたと判定されるまで処理を待機する。そして、検出部３３が、クロック信号線１４−２がＨレベルであるときに、データ信号線１４−１の変化が検出されたと判定すると処理はステップＳ１２に進む。
【００６４】
ステップＳ１２において、誤検出回避部３４は、カウンタ回路５１のカウント値に従って、短パルスが発生する可能性のある特定のタイムスロットであるか否かを判定する。
【００６５】
ステップＳ１２において、誤検出回避部３４が、短パルスが発生する可能性のある特定のタイムスロットでないと判定した場合、処理はステップＳ１３に進む。ステップＳ１３において、誤検出回避部３４は、ステップＳ１１で検出部３３により検出されたデータ信号線１４−１の変化は、マスタ１２による通信の開始または終了の宣言であるとして、スタート検出信号またはストップ検出信号を出力する。例えば、データ信号線１４−１のＨレベルからＬレベルへの変化が検出されたときにはスタート検出信号が出力され、データ信号線１４−１のＬレベルからＨレベルへの変化が検出されたときにはストップ検出信号が出力される。
【００６６】
一方、ステップＳ１２において、誤検出回避部３４が、短パルスが発生する可能性のある特定のタイムスロットであると判定した場合、処理はステップＳ１４に進む。ステップＳ１４において、誤検出回避部３４は、ステップＳ１１で検出部３３により検出されたデータ信号線１４−１の変化をマスクし、この場合、スタート検出信号およびストップ検出信号の出力は行われない。
【００６７】
ステップＳ１３またはＳ１４の処理後、処理はステップＳ１１に戻り、以下、同様の処理が繰り返して行われる。
【００６８】
以上のように、スレーブ１３の送受信部３１は、短パルスが発生する可能性のある特定のタイムスロットにおいて検出されるデータ信号線１４−１の変化を無効とすることで、短パルスによるスタートコンディションまたはストップコンディションの誤検出を回避することができる。
【００６９】
なお、本技術は、I3Cの規格に従ったバスＩＦ１１に限定されることはなく、その他の規格に従ったバスＩＦ１１に適用することができる。また、図１に示すバスＩＦ１１では、スレーブ１３−１乃至１３−３が接続された構成例が示されているが、スレーブ１３は、例えば、１台または２台でもよく、あるいは、３台以上でもよい。
【００７０】
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。また、プログラムは、１のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
【００７１】
また、上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。
＜ハードウエアの構成例＞
【００７２】
図１０は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【００７３】
コンピュータにおいて、CPU（Central Processing Unit）１０１，ROM（Read Only Memory）１０２，RAM（Random Access Memory）１０３、およびEEPROM（Electronically Erasable and Programmable Read Only Memory）１０４は、バス１０５により相互に接続されている。バス１０５には、さらに、入出力インタフェース１０６が接続されており、入出力インタフェース１０６が外部（例えば、図１のデータ信号線１４−１およびクロック信号線１４−２）に接続される。
【００７４】
以上のように構成されるコンピュータでは、CPU１０１が、例えば、ROM１０２およびEEPROM１０４に記憶されているプログラムを、バス１０５を介してRAM１０３にロードして実行することにより、上述した一連の処理が行われる。また、コンピュータ（CPU１０１）が実行するプログラムは、ROM１０２に予め書き込んでおく他、入出力インタフェース１０６を介して外部からEEPROM１０４にインストールしたり、更新したりすることができる。
【００７５】
なお、本技術は以下のような構成も取ることができる。
（１）
通信の主導権を有している他の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力する検出部と、
予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする誤検出回避部と
を備える通信装置。
（２）
前記特定のタイムスロットは、前記通信装置と前記他の通信装置との間で、信号の送信および受信の切り替わりが発生するタイムスロットである
上記（１）に記載の通信装置。
（３）
前記特定のタイムスロットは、前記他の通信装置から送信されてきたコマンドまたはアドレスの受信が完了したことを通知する受信完了通知を送信するタイムスロットである
上記（１）または（２）に記載の通信装置。
（４）
前記特定のタイムスロットは、前記他の通信装置に対してデータを送信するのに続いて前記通信装置から送信される１ビットパリティを送信するタイムスロットである
上記（１）から（３）までのいずれかに記載の通信装置。
（５）
前記検出部は、前記他の通信装置から前記信号線を介して送信されるクロック信号およびデータ信号に基づいて、通信の開始または終了の宣言を表す前記信号線のレベルの変化を検出したことを示す検出信号を出力する複数のフリップフロップ回路が組み合わされて構成され、
前記誤検出回避部は、前記検出部により通信の開始の宣言を表す信号線のレベルの変化を検出されると前記クロック信号のカウント値の計数を開始するカウンタ回路と、前記カウンタ回路によるカウント値に従って、予め設定された前記特定のタイムスロットの期間において、前記検出部が出力する前記検出信号をマスクするマスク回路とが組み合わされて構成される
上記（１）から（４）までのいずれかに記載の通信装置。
（６）
通信の主導権を有している他の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力し、
予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする
ステップを含む通信方法。
（７）
通信の主導権を有している他の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力し、
予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする
ステップを含む通信処理をコンピュータに実行させるプログラム。
（８）
通信の主導権を有している第１の通信装置と、
前記第１の通信装置による制御に従って前記第１の通信装置と通信を行う第２の通信装置と
により構成され、
前記第２の通信装置は、
前記第１の通信装置による通信の開始または終了の宣言を表す信号線のレベルの変化を検出したときに、前記信号線のレベルの変化を検出したことを示す検出信号を出力する検出部と、
予め設定された特定のタイムスロットにおける前記検出信号の出力を無効とする誤検出回避部と
を備える通信システム。
（９）
前記第１の通信装置と複数台の前記第２の通信装置とが、前記信号線を介して接続されて構成される
上記（８）に記載の通信システム。
【００７６】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【００７７】
１１  バスＩＦ，  １２  マスタ，  １３  スレーブ，  １４  データ信号線，  １５  クロック信号線，  ２１  送受信部，  ３１  送受信部，  ３２  処理実行部，  ３３  検出部，  ３４  誤検出回避部，  ４１乃至４３  フリップフロップ回路，  ５１  カウンタ回路，  ５２  特定スロット検出回路，  ５３および５４  アンド回路
【図１】
2017104437.tif 000003
【図２】
2017104437.tif 000004
【図３】
2017104437.tif 000005
【図４】
2017104437.tif 000006
【図５】
2017104437.tif 000007
【図６】
2017104437.tif 000008
【図７】
2017104437.tif 000009
【図８】
2017104437.tif 000010
【図９】
2017104437.tif 000011
【図１０】
2017104437.tif 000012
【国際調査報告】
2017104437.tif 000013
2017104437.tif 000014
2017104437.tif 000015
2017104437.tif 000016