特許第6792314号(P6792314)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニーセミコンダクタソリューションズ株式会社の特許一覧

特許6792314通信装置、通信方法、プログラム、および、通信システム
<>
  • 特許6792314-通信装置、通信方法、プログラム、および、通信システム 図000002
  • 特許6792314-通信装置、通信方法、プログラム、および、通信システム 図000003
  • 特許6792314-通信装置、通信方法、プログラム、および、通信システム 図000004
  • 特許6792314-通信装置、通信方法、プログラム、および、通信システム 図000005
  • 特許6792314-通信装置、通信方法、プログラム、および、通信システム 図000006
  • 特許6792314-通信装置、通信方法、プログラム、および、通信システム 図000007
  • 特許6792314-通信装置、通信方法、プログラム、および、通信システム 図000008
  • 特許6792314-通信装置、通信方法、プログラム、および、通信システム 図000009
  • 特許6792314-通信装置、通信方法、プログラム、および、通信システム 図000010
  • 特許6792314-通信装置、通信方法、プログラム、および、通信システム 図000011
  • 特許6792314-通信装置、通信方法、プログラム、および、通信システム 図000012
  • 特許6792314-通信装置、通信方法、プログラム、および、通信システム 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6792314
(24)【登録日】2020年11月10日
(45)【発行日】2020年11月25日
(54)【発明の名称】通信装置、通信方法、プログラム、および、通信システム
(51)【国際特許分類】
   G06F 13/38 20060101AFI20201116BHJP
   G06F 13/14 20060101ALI20201116BHJP
   G06F 13/36 20060101ALI20201116BHJP
   G06F 13/42 20060101ALI20201116BHJP
【FI】
   G06F13/38 330Z
   G06F13/14 330E
   G06F13/36 510
   G06F13/42 320Z
【請求項の数】11
【全頁数】21
(21)【出願番号】特願2016-86589(P2016-86589)
(22)【出願日】2016年4月22日
(65)【公開番号】特開2017-194934(P2017-194934A)
(43)【公開日】2017年10月26日
【審査請求日】2019年4月15日
【前置審査】
(73)【特許権者】
【識別番号】316005926
【氏名又は名称】ソニーセミコンダクタソリューションズ株式会社
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100082131
【弁理士】
【氏名又は名称】稲本 義雄
(74)【代理人】
【識別番号】100168686
【弁理士】
【氏名又は名称】三浦 勇介
(72)【発明者】
【氏名】李 惺薫
(72)【発明者】
【氏名】高橋 宏雄
(72)【発明者】
【氏名】越坂 直弘
【審査官】 松平 英
(56)【参考文献】
【文献】 国際公開第2013/077012(WO,A1)
【文献】 特開2008−197752(JP,A)
【文献】 特表2017−504116(JP,A)
【文献】 国際公開第2005/119448(WO,A1)
【文献】 国際公開第2015/104193(WO,A1)
【文献】 米国特許出願公開第2007/0240019(US,A1)
【文献】 米国特許出願公開第2006/0246931(US,A1)
【文献】 米国特許出願公開第2014/0258576(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F11/14
11/22−11/277
13/10−13/14
13/20−13/42
(57)【特許請求の範囲】
【請求項1】
データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行う送受信部と、
前記他の通信装置と通信不能な状態となったときに、前記送受信部により前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記他の通信装置に対して指示し、前記データ信号線の制御権を前記他の通信装置から戻させるクリア指示部と
を備え
前記送受信部は、前記特定の駆動として、前記データ信号線に対する駆動可能な状態の解除のみを前記他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまで前記クロック信号線のLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動を行うことで、前記データ信号線に対する駆動可能な状態の解除と、所定の設定値のリセットとを前記他の通信装置に対して指示する
通信装置。
【請求項2】
前記送受信部は、前記特定の駆動として、前記第1の期間よりも長い第2の期間が経過するまでLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動を行うことで、前記データ信号線に対する駆動可能な状態の解除と、全設定のリセットとを前記他の通信装置に対して指示する
請求項1に記載の通信装置。
【請求項3】
複数の前記他の通信装置との通信を監視し、前記データ信号線および前記クロック信号線を介した通信にデッドロックが発生しているか否かを判定する監視部
をさらに備える請求項1に記載の通信装置。
【請求項4】
データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行い、
前記他の通信装置と通信不能な状態となったときに、前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記他の通信装置に対して指示し、前記データ信号線の制御権を前記他の通信装置から戻させる
ステップを含み、
前記特定の駆動として、前記データ信号線に対する駆動可能な状態の解除のみを前記他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまで前記クロック信号線のLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動を行うことで、前記データ信号線に対する駆動可能な状態の解除と、所定の設定値のリセットとを前記他の通信装置に対して指示する
通信方法。
【請求項5】
データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行い、
前記他の通信装置と通信不能な状態となったときに、前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記他の通信装置に対して指示し、前記データ信号線の制御権を前記他の通信装置から戻させる
ステップを含み、
前記特定の駆動として、前記データ信号線に対する駆動可能な状態の解除のみを前記他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまで前記クロック信号線のLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動を行うことで、前記データ信号線に対する駆動可能な状態の解除と、所定の設定値のリセットとを前記他の通信装置に対して指示する
通信処理をコンピュータに実行させるプログラム。
【請求項6】
データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行う送受信部と、
前記他の通信装置による前記クロック信号線に対する駆動を検出する検出部と
を備え、
前記送受信部は、前記検出部により前記クロック信号線に対する特定の駆動として、前記データ信号線に対する駆動可能な状態の解除のみを前記他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまで前記クロック信号線のLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除するとともに、所定の設定値のリセットを行い、前記データ信号線の制御権を前記他の通信装置に戻す
通信装置。
【請求項7】
前記送受信部は、前記特定の駆動として、前記第1の期間よりも長い第2の期間が経過するまでLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動が行われたことが検出されたときに、前記データ信号線に対する駆動可能な状態を解除するとともに、全設定のリセットを行う
請求項6に記載の通信装置。
【請求項8】
前記検出部は、前記クロック信号線がLレベルである時間をカウントするカウンタである
請求項6に記載の通信装置。
【請求項9】
データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行い、
前記他の通信装置による前記クロック信号線に対する駆動を検出し、
前記クロック信号線に対する特定の駆動として、前記データ信号線に対する駆動可能な状態の解除のみを前記他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまで前記クロック信号線のLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除するとともに、所定の設定値のリセットを行い、前記データ信号線の制御権を前記他の通信装置に戻す
ステップを含む通信方法。
【請求項10】
データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行い、
前記他の通信装置による前記クロック信号線に対する駆動を検出し、
前記クロック信号線に対する特定の駆動が検出として、前記データ信号線に対する駆動可能な状態の解除のみを前記他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまで前記クロック信号線のLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除するとともに、所定の設定値のリセットを行い、前記データ信号線の制御権を前記他の通信装置に戻す
ステップを含む通信処理をコンピュータに実行させるプログラム。
【請求項11】
データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、第2の通信装置と信号の送受信を行う第1の送受信部と、
前記第2の通信装置と通信不能な状態となったときに、前記第1の送受信部により前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記第2の通信装置に対して指示し、前記データ信号線の制御権を前記第2の通信装置から戻させるクリア指示部と
を有する第1の通信装置と、
前記データ信号線および前記クロック信号線の少なくとも2本の信号線を介して、前記第1の通信装置と信号の送受信を行う第2の送受信部と、
前記第1の通信装置による前記クロック信号線に対する駆動を検出する検出部と
を備え、
前記第1の送受信部は、前記特定の駆動として、前記データ信号線に対する駆動可能な状態の解除のみを前記他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまで前記クロック信号線のLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動を行うことで、前記データ信号線に対する駆動可能な状態の解除と、所定の設定値のリセットとを前記他の通信装置に対して指示し、
前記第2の送受信部は、前記検出部により前記クロック信号線に対する特定の駆動として、前記データ信号線に対する駆動可能な状態の解除のみを前記他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまで前記クロック信号線のLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除するとともに、所定の設定値のリセットを行い、前記データ信号線の制御権を前記他の通信装置に戻す
第2の通信装置と
を備える通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、通信装置、通信方法、プログラム、および、通信システムに関し、特に、より確実に通信を行うことができるようにした通信装置、通信方法、プログラム、および、通信システムに関する。
【背景技術】
【0002】
従来、複数のデバイスが実装されたボード内でバスを介したデバイス間の通信に用いられるバスIF(Interface)として、例えば、I2C(Inter-Integrated Circuit)が多く利用されている。
【0003】
また、近年、I2Cの高速化を実現することが求められており、次世代の規格としてI3C(Improved Inter Integrated Circuit)の規定が進行している。I3Cでは、マスタおよびスレーブは、2本の信号線を用いて双方向に通信を行うことができ、例えば、マスタからスレーブへのデータ転送(ライト転送)と、スレーブからマスタへのデータ転送(リード転送)とを行うことができる。
【0004】
例えば、特許文献1には、ホスト・プロセッサとサブシステム・コントローラとを、I2Cにより相互接続するディジタル・データ処理システムが開示されている。また、特許文献2には、標準I2Cプロトコルの上部に層状に配置された通信プロトコルを実現する方法が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2000−99448号公報
【特許文献2】特開2002−175269号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上述したようなI3Cにおいて、例えば、2本の信号線それぞれを介して伝送されるシリアルデータまたはシリアルクロックにエラーが発生した場合に、バスがデットロックすることがある。これにより、マスタとスレーブとの両方が通信不能な状態となることが懸念され、正常な通信を行うことができなくなると想定される。
【0007】
本開示は、このような状況に鑑みてなされたものであり、より確実に通信を行うことができるようにするものである。
【課題を解決するための手段】
【0008】
本開示の第1の側面の通信装置は、データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行う送受信部と、前記他の通信装置と通信不能な状態となったときに、前記送受信部により前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記他の通信装置に対して指示し、前記データ信号線の制御権を前記他の通信装置から戻させるクリア指示部とを備え、前記送受信部は、前記特定の駆動として、前記データ信号線に対する駆動可能な状態の解除のみを前記他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまで前記クロック信号線のLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動を行うことで、前記データ信号線に対する駆動可能な状態の解除と、所定の設定値のリセットとを前記他の通信装置に対して指示する
【0009】
本開示の第1の側面の通信方法またはプログラムは、データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行い、前記他の通信装置と通信不能な状態となったときに、前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記他の通信装置に対して指示し、前記データ信号線の制御権を前記他の通信装置から戻させるステップを含み、前記特定の駆動として、前記データ信号線に対する駆動可能な状態の解除のみを前記他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまで前記クロック信号線のLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動を行うことで、前記データ信号線に対する駆動可能な状態の解除と、所定の設定値のリセットとを前記他の通信装置に対して指示する
【0010】
本開示の第1の側面においては、データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信が行われ、他の通信装置と通信不能な状態となったときに、クロック信号線に対する特定の駆動を行わせることによって、データ信号線に対する駆動可能な状態を解除することが他の通信装置に対して指示され、データ信号線の制御権が他の通信装置から戻される。そして、特定の駆動として、データ信号線に対する駆動可能な状態の解除のみを他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまでクロック信号線のLレベルが維持され、その後、クロック信号線をHレベルに切り替える駆動が行われることで、データ信号線に対する駆動可能な状態の解除と、所定の設定値のリセットとが他の通信装置に対して指示される
【0011】
本開示の第2の側面の通信装置は、データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行う送受信部と、前記他の通信装置による前記クロック信号線に対する駆動を検出する検出部とを備え、前記送受信部は、前記検出部により前記クロック信号線に対する特定の駆動として、前記データ信号線に対する駆動可能な状態の解除のみを前記他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまで前記クロック信号線のLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除するとともに、所定の設定値のリセットを行い、前記データ信号線の制御権を前記他の通信装置に戻す。
【0012】
本開示の第2の側面の通信方法またはプログラムは、データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信を行い、前記他の通信装置による前記クロック信号線に対する駆動を検出し、前記クロック信号線に対する特定の駆動として、前記データ信号線に対する駆動可能な状態の解除のみを前記他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまで前記クロック信号線のLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除するとともに、所定の設定値のリセットを行い、前記データ信号線の制御権を前記他の通信装置に戻すステップを含む。
【0013】
本開示の第2の側面においては、データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、他の通信装置と信号の送受信が行われ、他の通信装置によるクロック信号線に対する駆動が検出され、クロック信号線に対する特定の駆動として、データ信号線に対する駆動可能な状態の解除のみを他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまでクロック信号線のLレベルが維持され、その後、クロック信号線をHレベルに切り替える駆動が検出されたときに、データ信号線に対する駆動可能な状態が解除されるとともに、所定の設定値のリセットが行われ、データ信号線の制御権が他の通信装置に戻される。
【0014】
本開示の第3の側面の通信システムは、データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、第2の通信装置と信号の送受信を行う第1の送受信部と、前記第2の通信装置と通信不能な状態となったときに、前記第1の送受信部により前記クロック信号線に対する特定の駆動を行わせることによって、前記データ信号線に対する駆動可能な状態を解除することを前記第2の通信装置に対して指示し、前記データ信号線の制御権を前記第2の通信装置から戻させるクリア指示部とを有する第1の通信装置と、前記データ信号線および前記クロック信号線の少なくとも2本の信号線を介して、前記第1の通信装置と信号の送受信を行う第2の送受信部と、前記第1の通信装置による前記クロック信号線に対する駆動を検出する検出部とを備え、前記第1の送受信部は、前記特定の駆動として、前記データ信号線に対する駆動可能な状態の解除のみを前記他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまで前記クロック信号線のLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動を行うことで、前記データ信号線に対する駆動可能な状態の解除と、所定の設定値のリセットとを前記他の通信装置に対して指示し、前記第2の送受信部は、前記検出部により前記クロック信号線に対する特定の駆動として、前記データ信号線に対する駆動可能な状態の解除のみを前記他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまで前記クロック信号線のLレベルを維持し、その後、前記クロック信号線をHレベルに切り替える駆動が検出されたときに、前記データ信号線に対する駆動可能な状態を解除するとともに、所定の設定値のリセットを行い、前記データ信号線の制御権を前記第1の通信装置に戻す第2の通信装置とを備える。
【0015】
本開示の第3の側面においては、データを伝送するデータ信号線およびクロックを伝送するクロック信号線の少なくとも2本の信号線を介して、第2の通信装置と信号の送受信が行われ、第2の通信装置と通信不能な状態となったときに、クロック信号線に対する特定の駆動を行わせることによって、データ信号線に対する駆動可能な状態を解除することが第2の通信装置に対して指示され、データ信号線の制御権が第2の通信装置から戻される。そして、特定の駆動として、データ信号線に対する駆動可能な状態の解除のみを他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまでクロック信号線のLレベルが維持され、その後、クロック信号線をHレベルに切り替える駆動が行われることで、データ信号線に対する駆動可能な状態の解除と、所定の設定値のリセットとが他の通信装置に対して指示される。一方、データ信号線およびクロック信号線の少なくとも2本の信号線を介して、第1の通信装置と信号の送受信が行われ、第1の通信装置によるクロック信号線に対する駆動が検出され、クロック信号線に対する特定の駆動として、データ信号線に対する駆動可能な状態の解除のみを他の通信装置に対して指示する一定期間よりも長い第1の期間が経過するまでクロック信号線のLレベルが維持され、その後、クロック信号線をHレベルに切り替える駆動が検出されたときに、データ信号線に対する駆動可能な状態が解除されるとともに、所定の設定値のリセットが行われ、データ信号線の制御権が第1の通信装置に戻される。
【発明の効果】
【0016】
本開示の一側面によれば、より確実に通信を行うことができる。
【図面の簡単な説明】
【0017】
図1】本技術を適用したバスIFの一実施の形態の構成例を示すブロック図である。
図2】リード転送時におけるタイミングチャートを示す図である。
図3】リード転送時にシリアルクロックでクロックスリップが発生した状態を説明する図である。
図4】DDRモードにおけるタイミングチャートを示す図である。
図5】HDR終了コマンドにビット反転エラーが発生した状態を説明する図である。
図6】カウンタの構成例について説明する図である。
図7】カウンタにより検出される検出信号の例について説明する図である。
図8】バスクリアのタイミングについて説明する図である。
図9】マスタにおいて行われる通信処理を説明するフローチャートである。
図10】スレーブにおいて行われる通信処理を説明するフローチャートである。
図11】バスクリアの変形例について説明する図である。
図12】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0018】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0019】
図1は、本技術を適用したバスIFの一実施の形態の構成例を示すブロック図である。
【0020】
図1に示されているバスIF11は、マスタ12と3台のスレーブ13−1乃至13−3とが、データ信号線14−1およびクロック信号線14−2を介して接続されて構成される。
【0021】
マスタ12は、バスIF11における制御の主導権を有しており、データ信号線14−1およびクロック信号線14−2を介して、スレーブ13−1乃至13−3と通信を行うことができる。
【0022】
スレーブ13−1乃至13−3は、マスタ12による制御に従って、データ信号線14−1およびクロック信号線14−2を介して、マスタ12と通信を行うことができる。なお、スレーブ13−1乃至13−3は、それぞれ同様に構成されており、以下、それらを区別する必要がない場合、単にスレーブ13と称し、スレーブ13を構成する各ブロックについても同様とする。
【0023】
データ信号線14−1およびクロック信号線14−2は、マスタ12およびスレーブ13の間で信号を伝送するのに用いられる。例えば、バスIF11では、データ信号線14−1を介して、1ビットずつ逐次的にシリアルデータ(SDA:Serial Data)が伝送され、クロック信号線14−2を介して、所定の周波数のシリアルクロック(SCL:Serial Clock)が伝送される。
【0024】
また、バス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モードで通信を行うことが規定されている。
【0025】
ところで、上述したように、データ信号線14−1を介して伝送されるシリアルデータ、または、クロック信号線14−2を介して伝送されるシリアルクロックにエラーが発生した場合に、バスIF11がデットロックしてしまい、通信不能な状態となることがある。ここで、マスタ12およびスレーブ13の構成について説明する前に、図2乃至図5を参照して、バスIF11のデットロックについて説明する。なお、以下の図面において、ハッチングが施されているシリアルデータは、スレーブ13からマスタ12へ伝送されることを表しており、スレーブ13によりデータ信号線14−1が駆動可能な状態となっている。
【0026】
例えば、図2および図3を参照して説明するように、スレーブ13からマスタ12へのデータ転送(以下、リード転送と称する)が行われるときに、バスIF11上でエラーが生じたときに、バスIF11がデットロックすることがある。図2および図3では、マスタ12から見た波形が上側に示されており、スレーブ13から見た波形が下側に示されている。
【0027】
図2には、リード転送時におけるタイミングチャートが示されている。
【0028】
図2に示すように、例えば、マスタ12は、バスIF11を構成する全てのスレーブ13を対象として一斉にコマンドを送信することを通知するブロードキャストコマンド(0x7E+R/W=1)を送信する。その後、マスタ12は、ブロードキャストコマンドの受信が成功したことを確認するためにスレーブ13から送信されてくるACK(Acknowledge)を受信して、通信を再スタート(Sr)する。そして、マスタ12は、リード転送を行う対象とするスレーブ13のアドレス(Slave address + R/W=1)を送信し、そのスレーブ13から送信されてくるデータ(D0〜D7)を受信する。
【0029】
ここで、バスIF11では、リード転送において、リードデータの1バイトごとに、マスタ12がリード転送を中断できる期間(以下、Tビットと称する)が規定されている。従って、マスタ12は、Tビットにおいて、データ信号線14−1をLレベルとするように駆動すること(SDA=0)により、リード転送を中断(Abort)することができる。その後、マスタ12は、通信を終了させる場合、ストップコンディションを出力(クロック信号線14−2がHレベルである状態でデータ信号線14−1をLレベルからHレベルに駆動)して、通信の終了を宣言することができる。なお、Tビットにおいて、スレーブ13がデータ信号線14−1に対する駆動を行うことは禁止される。
【0030】
図3には、リード転送時にシリアルクロックでクロックスリップが発生した状態が示されている。
【0031】
図3に示すように、リード転送時にシリアルクロックでクロックスリップが発生すると、マスタ12とスレーブ13との間でシリアルクロックのサイクルがズレてしまうため、リード転送を中断するためのTビットの区間の認識にズレが発生することになる。このように、Tビットの区間の認識にズレが発生した場合、マスタ12は、自身がTビットとして認識している期間において、リード転送を終了させるために、データ信号線14−1がLレベルとなるように駆動することができる。しかしながら、その期間について、スレーブ13においてTビットとして認識されていない(Tビットの区間の認識がズレている)ため、スレーブ13が、データ信号線14−1に対する駆動を行ってしまうことがある。
【0032】
従って、この場合、マスタ12およびスレーブ13の両方がデータ信号線14−1に対する駆動を行ってしまうと、バスコンフリクトが発生することになる。そして、スレーブ13が、データ信号線14−1に対して駆動可能な状態であると認識したまま、バスIF11がデットロックしてしまう。このため、マスタ12がストップコンディションを出力することができず、通信を終了させて通信処理をやり直すことは困難である。
【0033】
また、図4および図5を参照して説明するように、HDRモードで転送エラーが生じたときに、バスIF11がデットロックすることがある。
【0034】
図4には、HDRモードのひとつであるDDRモード(高速転送モード)におけるタイミングチャートが示されている。
【0035】
図4に示すように、マスタ12は、まず、SDRモードにおいて、バスIF11を構成する全てのスレーブ13を対象として一斉にコマンドを送信することを通知するブロードキャストコマンド(0x7E+R/W=0)を送信する。その後、マスタ12は、ブロードキャストコマンドの受信が成功したことを確認するためにスレーブ13から送信されてくるACKを受信して、DDRモードに入るためのコモンコマンドコード(ENTHDR CCC(0x20))を送信する。このように、マスタ12は、スレーブ13に対してDDRモードに入ることを通知してDDRモードに移行した後、DDRモードでデータ転送(DDRコマンドやDDRデータなどの送信)を行う。
【0036】
そして、マスタ12は、DDRモードでのデータ転送を終了する際には、スレーブ13に対してHDRモードを終了することを通知するHDR終了コマンド(HDR Exit)を送信する。
【0037】
図5には、HDR終了コマンドにビット反転エラーが発生した状態が示されている。
【0038】
図5に示すようにHDR終了コマンドにビット反転エラーが発生した場合、スレーブ13は、DDRモードが終了したことを認識することができなくなる。この場合、SDRモードとDDRモードとではプロトコルのルールが大幅に異なることより、その後のプロトコルでバスコンフリクトが発生してしまい、バスIF11がデットロックしてしまう可能性が発生する。
【0039】
以上のように、リード転送時にシリアルクロックでクロックスリップが発生したり、HDR終了コマンドにビット反転エラーが発生したりすると、バスIF11がデットロックしてしまう可能性がある。
【0040】
例えば、バスIF11がデットロックすると、従来、システム全体の電源を遮断したり、別口からリセットをかけて復帰したりする手法を行うことが想定される。しかしながら、マスタ12が、電源を遮断する権限を持っていなかったり、リセットをかける権限を持っていなかったりすると、リセットすることができなかった。そのため、従来、バスIF11のデットロックを解消することができなかった。また、システム全体の電源を遮断する場合には、システムが完全に停止してしまう時間が発生したり、システム全体の設定値などのレジスタ情報が初期値に戻ったりするなどの弊害が発生することになる。また、別口からリセットをかけて復帰する場合には、システム全体の設定値などのレジスタ情報が初期値に戻るという弊害が発生することになる。
【0041】
そこで、バスIF11のマスタ12およびスレーブ13は、このような弊害が発生することなく、バスIF11のデットロックを解消して通信可能な状態にする(以下、バスクリアと称する)ことができるように構成されている。
【0042】
次に、図1のマスタ12およびスレーブ13の構成について説明する。
【0043】
マスタ12は、送受信部21、監視部22、およびクリア指示部23を備えて構成される。
【0044】
送受信部21は、データ信号線14−1およびクロック信号線14−2を介して、スレーブ13と信号の送受信を行う。例えば、送受信部21は、クロック信号線14−2を駆動することにより送信するシリアルクロックのタイミングに合わせて、データ信号線14−1に対する駆動を行う(電位をHレベルまたはLレベルに切り替える)ことにより、スレーブ13に信号を送信する。また、送受信部21は、クロック信号線14−2のシリアルクロックのタイミングに合わせて、スレーブ13がデータ信号線14−1に対する駆動を行うことによって、スレーブ13から送信されてくる信号を受信する。なお、クロック信号線14−2に対する駆動は、常に、マスタ12側により行われる。
【0045】
監視部22は、バスIF11の通信状況を監視し、例えば、バスIF11がデットロックしているか否かを判定する。例えば、バスIF11では、マスタ12からスレーブ13に送信される所定のコマンドに対し、スレーブ13がマスタ12にACKを送信する応答を行うことで、そのコマンドの受信が成功したことを確認するように規定されている。従って、監視部22は、バスIF11を構成するスレーブ13から応答がなく、送受信部21によるスレーブ13に対する各種の復帰手法を実行しても通信状況が改善しない場合、バスIF11がデットロックしているものと判定することができる。または、監視部22は、本来ではバスコンフリクトが発生することのない区間でバスコンフリクトが発生した場合にも、バスIF11がデットロックしているものと判定してもよい。例えば、監視部22は、マスタ12から送信されるシリアルデータの値と、その時に受信したシリアルデータの値とを比較し、それらの値が異なっているとき、バスコンフリクトが発生したと認識することができる。
【0046】
クリア指示部23は、監視部22によりバスIF11がデットロックしていると判定された場合、送受信部21によりクロック信号線14−2に対する特定の駆動を行わせることによって、データ信号線14−1に対する駆動可能な状態を解除することをスレーブ13に対して指示する。ここで、クリア指示部23は、特定の駆動として、例えば、クロック信号線14−2を一定期間(例えば、1ミリ秒)が経過するまでLレベルを維持し、その後、クロック信号線14−2をHレベルに切り替える駆動を行うことができる。
【0047】
このように、クロック信号線14−2に対して特定の駆動が行われたことがスレーブ13において検出されると、スレーブ13は、データ信号線14−1に対する駆動可能な状態を解除し、バスIF11のデットロックが解消される。
【0048】
スレーブ13は、送受信部31、エラー検出部32、コマンド判断部33、および、カウンタ34を備えて構成される。
【0049】
送受信部31は、データ信号線14−1およびクロック信号線14−2を介して、マスタ12と信号の送受信を行う。例えば、送受信部31は、クロック信号線14−2のシリアルクロックのタイミングに合わせて、マスタ12がデータ信号線14−1に対する駆動を行うことによって、マスタ12から送信されてくる信号を受信する。また、送受信部31は、クロック信号線14−2のシリアルクロックのタイミングに合わせて、データ信号線14−1に対する駆動を行うことによって、マスタ12に信号を送信する。
【0050】
エラー検出部32は、例えば、送受信部31が受信した信号に対するパリティチェックや巡回冗長検査(CRC)などを行ったり、コマンドを構成するビット列を照合したりすることによって、送受信部31が受信した信号に発生しているエラーを検出する。そして、エラー検出部32は、例えば、送受信部31が受信した信号にエラーが発生していることを検出した場合に、エラーに対する対応を行うこと、例えば、コマンドの再送信を要求することができる。
【0051】
コマンド判断部33は、送受信部31が受信した信号に含まれているコマンドの内容を判断し、それぞれのコマンドの内容に対応した処理を実行する各処理実行部(図示せず)に対して、コマンドに基づく処理を行うように指示する。
【0052】
カウンタ34は、例えば、データ信号線14−1がHレベルまたはLレベルとなっていく期間をカウントしたり、クロック信号線14−2がHレベルまたはLレベルとなっている期間をカウントしたりして、カウントに基づく時間に応じた出力を行う。例えば、カウンタ34は、マスタ12によるクロック信号線14−2に対する駆動を検出する検出部として利用することができる。従って、カウンタ34は、上述したようなクロック信号線14−2を一定期間(例えば、1ミリ秒)が経過するまでLレベルを維持し、その後、クロック信号線14−2をHレベルにさせる特定の駆動が行われたことを検出することができる。
【0053】
具体的には、カウンタ34には、図6に示すように、データ信号線14−1を介して伝送されるシリアルデータ、クロック信号線14−2を介して伝送されるシリアルクロック、および、図示しない発振器により生成されたリファレンスクロック(INCK)が入力される。例えば、カウンタ34は、シリアルクロックがLレベルである時間をカウントし、一定期間(例えば、1ミリ秒)が経過するまでLレベルであって、その後、Hレベルとなる特定の駆動が行われたことを検出すると、データ信号線14−1に対する駆動可能な状態を解除する指示が行われたことを検出するバスクリア検出信号(OBUS_CLEAR_DET)を出力する。これに応じて、送受信部31が、データ信号線14−1に対する駆動可能な状態を解除することで、バスIF11のデットロックが解消される。
【0054】
なお、カウンタ34は、バスクリア検出信号(OBUS_CLEAR_DET)のみを出力するのに用いられるのではなく、他の検出信号を出力するのにも用いられる。
【0055】
例えば、図7に示すように、カウンタ34は、シリアルデータおよびシリアルクロックがHレベルである期間が7.5μs以上であることを検出した場合、割り込みなどのトランザクションを開始することができることを検出する検出信号(OBUS_FREE_DET)を出力する。また、カウンタ34は、シリアルデータおよびシリアルクロックがHレベルである期間が1ms以上であることを検出した場合、ホットジョインすることができることを検出する検出信号(OBUS_IDLE_DET)を出力する。
【0056】
このように、他の検出信号の出力に用いられているカウンタ34を利用して、スレーブ13は、データ信号線14−1に対する駆動可能な状態を解除する指示が行われたことを容易に検出することができる。
【0057】
そして、図8に示すように、スレーブ13がデータ信号線14−1に対する駆動可能な状態となっているときに、マスタ12が、クロック信号線14−2を一定期間(例えば、1ミリ秒)が経過するまでLレベルを維持することで、スレーブ13に対してバスクリアを指示することができる。スレーブ13は、その一定期間が経過したタイミングで、バスクリアが指示されたことを検出することができる。
【0058】
その後、マスタ12が、クロック信号線14−2をHレベルにしたタイミングで、スレーブ13は、データ信号線14−1に対する駆動可能な状態を解除(リリース)する。これにより、マスタ12に制御権が戻り、バスIF11のデットロックを解消することができる。
【0059】
なお、例えば、スレーブ13が、一定期間(例えば、1ミリ秒)が経過するまでクロック信号線14−2がLレベルを維持していることを検出したタイミングでリリースを行うと、スレーブ13ごとにバスクリアを検出するタイミングにズレが生じることがあり、そのタイミングでリリースを行うのは好ましくない。即ち、複数台のスレーブ13が、データ信号線14−1に対する駆動可能な状態である場合には、それぞれのスレーブ13で、リリースを行うタイミングが異なってしまう。そのため、データ信号線14−1に電気的なストレスが発生したり、HDR RESTARTやHDR EXITなどの信号が生成されてしまい、混乱が生じることが懸念される。
【0060】
従って、バスIF11では、マスタ12がクロック信号線14−2をHレベルにしたタイミングで、スレーブ13が、データ信号線14−1に対する駆動可能な状態を解除(リリース)することが好ましい。
【0061】
以上のようにバスIF11は構成されており、バスIF11がデットロックしたときに、マスタ12が、クロック信号線14−2を利用して、スレーブ13に対してバスクリアを指示することができ、バスIF11の通信を回復することができる。
【0062】
<バスクリアを行う通信方法>
【0063】
図9は、マスタ12において行われる通信処理を説明するフローチャートである。
【0064】
例えば、図示しない上位の制御装置から通信を行うようにマスタ12に対する指示があると処理が開始される。そして、ステップS11において、送受信部21は、データ信号線14−1およびクロック信号線14−2を駆動し、スタートコンディションを出力(クロック信号線14−2がHレベルである状態でデータ信号線14−1をHレベルからLレベルに駆動)して、通信の開始を宣言する。
【0065】
ステップS12において、送受信部21は、データ信号線14−1およびクロック信号線14−2を介して、スレーブ13と信号の送受信を行う。
【0066】
ステップS13において、監視部22は、バスIF11の通信状況を監視し、ステップS14において、その監視結果に基づいて、バスIF11がデットロックしているか否かを判定する。ステップS13において、監視部22が、バスIF11がデットロックしていないと判定した場合、処理はステップS12に戻り、以下、同様に、スレーブ13との通信が継続され、その通信が正常に終了した後、ステップS11に戻って新たに通信を開始することができる。
【0067】
一方、ステップS14において、監視部22が、バスIF11がデットロックしていると判定した場合、処理はステップS15に進む。
【0068】
ステップS15において、クリア指示部23は、監視部22がステップS14でバスIF11がデットロックしていると判定したことに対応して、送受信部21に対して、クロック信号線14−2をLレベルに駆動するように指示する。この指示に従い、送受信部21は、クロック信号線14−2をLレベルに駆動する(SCL=L)。
【0069】
ステップS16において、クリア指示部23は、ステップS15で送受信部21がクロック信号線14−2をLレベルに駆動してから一定期間が経過したか否かを判定し、一定期間が経過したと判定するまで処理を待機する。
【0070】
ステップS16において、クリア指示部23が、ステップS15で送受信部21がクロック信号線14−2をLレベルに駆動してから一定期間が経過したと判定した場合、処理はステップS17に進む。
【0071】
ステップS17において、クリア指示部23は、送受信部21に対して、クロック信号線14−2をHレベルに駆動するように指示し、送受信部21は、クロック信号線14−2をHレベルに駆動する(SCL=H)。これにより、図8を参照して上述したように、バスクリアが実行される。
【0072】
ステップS17の処理後、処理はステップS11に戻り、マスタ12は、通信を最初からやり直すことができる。
【0073】
図10は、スレーブ13において行われる通信処理を説明するフローチャートである。
【0074】
例えば、スレーブ13は、マスタ12からの通信を待機する待機状態となっており、ステップS21において、送受信部31は、マスタ12により通信の開始が宣言されたか否かを判定し、マスタ12により通信の開始が宣言されたと判定されるまで処理を待機する。
【0075】
例えば、図9のステップS11においてマスタ12がスタートコンディションを出力すると、ステップS21において、送受信部31は、マスタ12により通信の開始が宣言されたと判定し、処理はステップS22に進む。
【0076】
ステップS22において、送受信部31は、データ信号線14−1およびクロック信号線14−2を介して、マスタ12と信号の送受信を行う。
【0077】
ステップS23において、カウンタ34は、クロック信号線14−2がLレベルに駆動された状態が一定期間以上経過したか否かを判定する。ステップS23において、カウンタ34が、クロック信号線14−2がLレベルに駆動された状態が一定期間以上経過していないと判定した場合、処理はステップS22に戻り、以下、同様に、マスタ12との通信が継続され、その通信が正常に終了した後、処理はステップS21に戻って新たな通信が開始されることを待機することができる。
【0078】
一方、ステップS23において、カウンタ34が、クロック信号線14−2がLレベルに駆動された状態が一定期間以上経過したと判定した場合、処理はステップS24に進む。
【0079】
ステップS24において、送受信部31は、クロック信号線14−2がHレベルに駆動されたか否かを判定し、クロック信号線14−2がHレベルに駆動されたと判定するまで処理を待機する。
【0080】
ステップS24において、送受信部31が、クロック信号線14−2がHレベルに駆動されたと判定した場合、処理はステップS25に進み、送受信部31は、データ信号線14−1に対する駆動を解除する。その後、処理はステップS21に戻り、スレーブ13は、マスタ12からの通信を待機する待機状態となる。
【0081】
以上のように、マスタ12およびスレーブ13は、バスIF11がデットロックしたときに、バスクリアを行うことによって通信を回復することができ、より確実に通信を行うことができる。
【0082】
なお、本実施の形態では、マスタ12がスレーブ13に対してバスクリアを指示するための特定の駆動として、クロック信号線14−2を一定期間が経過するまでLレベルを維持するという駆動方法について説明したが、この駆動方法に限定されることはない。例えば、マスタ12がスレーブ13に対してバスクリアを指示するための特定の駆動として、クロック信号線14−2を一定期間が経過するまでHレベルを維持するという駆動方法を用いてもよい。また、スレーブ13がデータ信号線14−1をリリースするタイミングも、マスタ12がクロック信号線14−2をHレベルに駆動したタイミングに限定されることはなく、例えば、特定のパターンを送信したときにスレーブ13がデータ信号線14−1をリリースするようにしてもよい。
【0083】
即ち、マスタ12が、クロック信号線14−2に対する特定の駆動を行って、スレーブ13に対してバスクリアを指示することができれば、その際の駆動について様々なパターンを用いることができる。例えば、マスタ12は、通常の周波数と、より高い周波数とを組み合わせたシリアルクロックを送信する駆動を行うことにより、スレーブ13に対してバスクリアを指示するようにしてもよい。また、例えば、マスタ12は、一定期間のLレベルと一定期間のHレベルとの切り替えを所定回数繰り返す駆動を行うことにより、レベルを切り替えることによるエッジの数によって、スレーブ13に対してバスクリアを指示するようにしてもよい。なお、これらの駆動が組み合わされて構成されるパターンを用いてもよい。
【0084】
さらに、例えば、図11に示すように、マスタ12は、クロック信号線14−2をLレベルに維持する一定期間を適切に設定することで、バスクリアだけでなく、バスクリアかつアドレスのリセットや、バスクリアかつリセット(I3Cの全設定を初期値に戻すこと)をスレーブ13に指示することができる。また、マスタ12は、クロック信号線14−2をLレベルに維持する一定期間を適切に設定することで、スレーブ13に対して、アドレス以外の所定の設定値のリセットまたはセットを指示することができる。このように、マスタ12は、バスIF11がデットロックしても、クロック信号線14−2に対する特定の駆動を行うことによって、スレーブ13に対して各種の指示(設定やリセットなど)を行うことができる。これにより、バスIF11がデットロックしても、通信を全く行うことができない状態を回避することが可能となる。
【0085】
また、バスIF11では、図9および図10を参照して説明したように通信処理が行われているときにだけ、監視部22がバスIF11の通信状況を監視するのではなく、通信処理が行われていないときも常に、監視部22により、バスIF11のデットロックを監視させることができる。そして、監視部22は、バスIF11がデットロックしていることを検出すると、どのような状態であっても、マスタ12がスレーブ13に対してバスクリアを指示することができる。
【0086】
なお、本技術は、I3Cの規格に従ったバスIF11に限定されることはなく、その他の規格に従ったバスIF11に適用することができる。また、図1に示すバスIF11では、スレーブ13−1乃至13−3が接続された構成例が示されているが、スレーブ13は、例えば、1台または2台でもよく、あるいは、3台以上でもよい。
【0087】
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。また、プログラムは、1のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
【0088】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0089】
また、上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。
【0090】
<ハードウエアの構成例>
【0091】
図12は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0092】
コンピュータにおいて、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)に接続される。
【0093】
以上のように構成されるコンピュータでは、CPU101が、例えば、ROM102およびEEPROM104に記憶されているプログラムを、バス105を介してRAM103にロードして実行することにより、上述した一連の処理が行われる。また、コンピュータ(CPU101)が実行するプログラムは、ROM102に予め書き込んでおく他、入出力インタフェース106を介して外部からEEPROM104にインストールしたり、更新したりすることができる。
【0094】
なお、本技術は以下のような構成も取ることができる。
(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の通信装置と
を備える通信システム。
【0095】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0096】
11 バスIF, 12 マスタ, 13 スレーブ, 14−1 データ信号線, 14−2 クロック信号線, 21 送受信部, 22 監視部, 23 クリア指示部, 31 送受信部, 32 エラー検出部, 33 コマンド判断部, 34 カウンタ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12