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

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

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

特許6903645通信装置、通信方法、プログラム、および、通信システム
<>
  • 特許6903645-通信装置、通信方法、プログラム、および、通信システム 図000002
  • 特許6903645-通信装置、通信方法、プログラム、および、通信システム 図000003
  • 特許6903645-通信装置、通信方法、プログラム、および、通信システム 図000004
  • 特許6903645-通信装置、通信方法、プログラム、および、通信システム 図000005
  • 特許6903645-通信装置、通信方法、プログラム、および、通信システム 図000006
  • 特許6903645-通信装置、通信方法、プログラム、および、通信システム 図000007
  • 特許6903645-通信装置、通信方法、プログラム、および、通信システム 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6903645
(24)【登録日】2021年6月25日
(45)【発行日】2021年7月14日
(54)【発明の名称】通信装置、通信方法、プログラム、および、通信システム
(51)【国際特許分類】
   H04L 29/08 20060101AFI20210701BHJP
   H04L 12/28 20060101ALI20210701BHJP
   H04L 1/00 20060101ALI20210701BHJP
【FI】
   H04L13/00 307B
   H04L12/28 200Z
   H04L1/00 A
【請求項の数】12
【全頁数】14
(21)【出願番号】特願2018-518215(P2018-518215)
(86)(22)【出願日】2017年5月2日
(86)【国際出願番号】JP2017017223
(87)【国際公開番号】WO2017199762
(87)【国際公開日】20171123
【審査請求日】2020年4月14日
(31)【優先権主張番号】特願2016-99929(P2016-99929)
(32)【優先日】2016年5月18日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】316005926
【氏名又は名称】ソニーセミコンダクタソリューションズ株式会社
(74)【代理人】
【識別番号】100121131
【弁理士】
【氏名又は名称】西川 孝
(74)【代理人】
【識別番号】100082131
【弁理士】
【氏名又は名称】稲本 義雄
(72)【発明者】
【氏名】高橋 宏雄
(72)【発明者】
【氏名】横川 峰志
(72)【発明者】
【氏名】李 惺薫
(72)【発明者】
【氏名】越坂 直弘
【審査官】 安藤 一道
(56)【参考文献】
【文献】 特開2009−244991(JP,A)
【文献】 特開平07−193614(JP,A)
【文献】 特開2005−084791(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 29/08
H04L 1/00
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
他の通信装置と信号の送受信を行う送受信部を備え、
前記送受信部は、
前記他の通信装置がデータ信号線に対する駆動を行って送信するCRC(Cyclic Redundancy Check)ワードを受信し、
前記CRCワードの受信直後のビットから、前記データ信号線に対する駆動を行い、前記CRCワードを受信した直後に、1ビットのプリペアビットを出力して、特定の通信モードの終了を指示するコマンド、または、特定の通信モードにおける通信のリスタートを指示するコマンドを送信する
通信装置。
【請求項2】
前記送受信部により、次に送信するデータのタイプを指定するプリアンブルが受信されて、そのプリアンブルに続いて受信された信号のビット列と、前記プリアンブルにより送信されることが指定されたタイプにおいて送信されるべきビット列とを比較することにより、エラーの発生を検出するエラー検出部と、
前記エラー検出部によりエラーの発生が検出された場合、前記プリアンブルに続いて所定ビット数に応じたクロックを送信するコンフリクト回避部と
をさらに備える請求項1に記載の通信装置。
【請求項3】
前記送受信部から送信された信号を受信した前記他の通信装置から送信されてくる受信確認信号および非受信確認信号のいずれかを検出する確認信号検出部と、
前記確認信号検出部により前記非受信確認信号が検出されたとき、前記非受信確認信号に続く所定数のビットを無視するコンフリクト回避部と
をさらに備える請求項1に記載の通信装置。
【請求項4】
前記送受信部は、前記他の通信装置から読み出されるリードデータを受信し、前記リードデータの後に送受信されるプリアンブルの2ビット目に対する駆動を常に行う
請求項1に記載の通信装置。
【請求項5】
前記エラー検出部は、前記データに含まれている2ビットのパリティのうち、一方を偶数パリティとし、他方を奇数パリティとして、前記送受信部が受信したデータに対するパリティチェックを行うことでエラーの発生を検出する
請求項2に記載の通信装置。
【請求項6】
前記送受信部は、通常の転送レートでデータ通信を行うSDR(Standard Data Rate)モード、および、SDRモードよりも高い転送レートでデータ通信を行うHDR(High Data Rate)モードで、信号の送受信を行うことができる
請求項1に記載の通信装置。
【請求項7】
前記送受信部は、1ビットずつ逐次的にシリアルデータを伝送するデータ信号線、および、所定の周波数のシリアルクロックを伝送するクロック信号線の2本の信号線を介して通信を行う
請求項1に記載の通信装置。
【請求項8】
前記送受信部は、
前記クロック信号線を介して前記シリアルクロックを送信し、
前記データ信号線を介して前記他の通信装置から送信される前記CRCワードを受信する
請求項7に記載の通信装置。
【請求項9】
前記送受信部、I3C(Improved Inter Integrated Circuit)の規格に準じた通信を行う
請求項1に記載の通信装置。
【請求項10】
他の通信装置と信号の送受信を行う送受信部により、
前記他の通信装置がデータ信号線に対する駆動を行って送信するCRC(Cyclic Redundancy Check)ワードを受信し、
前記CRCワードの受信直後のビットから、前記データ信号線に対する駆動を行い、前記CRCワードを受信した直後に、1ビットのプリペアビットを出力して、特定の通信モードの終了を指示するコマンド、または、特定の通信モードにおける通信のリスタートを指示するコマンドを送信する
ステップを含む通信方法。
【請求項11】
他の通信装置と信号の送受信を行う送受信部により、
前記他の通信装置がデータ信号線に対する駆動を行って送信するCRC(Cyclic Redundancy Check)ワードを受信し、
前記CRCワードの受信直後のビットから、前記データ信号線に対する駆動を行い、前記CRCワードを受信した直後に、1ビットのプリペアビットを出力して、特定の通信モードの終了を指示するコマンド、または、特定の通信モードにおける通信のリスタートを指示するコマンドを送信する
ステップを含む通信処理をコンピュータに実行させるプログラム。
【請求項12】
バスにおける制御の主導権を有する第1の通信装置と、
前記第1の通信装置による制御に従って通信を行う第2の通信装置と
を備え、
前記第1の通信装置が、前記第2の通信装置と信号の送受信を行う送受信部を有し、
前記第2の通信装置がデータ信号線に対する駆動を行って送信するCRC(Cyclic Redundancy Check)ワードを受信し、
前記CRCワードの受信直後のビットから、前記データ信号線に対する駆動を行い、前記CRCワードを受信した直後に、1ビットのプリペアビットを出力して、特定の通信モードの終了を指示するコマンド、または、特定の通信モードにおける通信のリスタートを指示するコマンドを送信する
通信システム。
【発明の詳細な説明】
【技術分野】
【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では、例えば、リード転送が終了する際に、スレーブからマスタへCRC(Cyclic Redundancy Check)ワードが送信される。このとき、CRCワードの最後に送信されるプリペアビットが、スレーブからマスタへ送信されるものとした場合、スレーブは、ドライブ解除のタイミングが分からないため、通信の終了を確実に行うことが困難になると想定される。
【0007】
本開示は、このような状況に鑑みてなされたものであり、より確実に通信の終了を行うことができるようにするものである。
【課題を解決するための手段】
【0008】
本開示の第1の側面の通信装置は、他の通信装置と信号の送受信を行う送受信部を備え、前記送受信部は、前記他の通信装置がデータ信号線に対する駆動を行って送信するCRCワードを受信し、前記CRCワードの受信直後のビットから、前記データ信号線に対する駆動を行い、前記CRCワードを受信した直後に、1ビットのプリペアビットを出力して、特定の通信モードの終了を指示するコマンド、または、特定の通信モードにおける通信のリスタートを指示するコマンドを送信する
【0009】
本開示の第1の側面の通信方法またはプログラムは、他の通信装置と信号の送受信を行う送受信部により、前記他の通信装置がデータ信号線に対する駆動を行って送信するCRCワードを受信し、前記CRCワードの受信直後のビットから、前記データ信号線に対する駆動を行い、前記CRCワードを受信した直後に、1ビットのプリペアビットを出力して、特定の通信モードの終了を指示するコマンド、または、特定の通信モードにおける通信のリスタートを指示するコマンドを送信するステップを含む。
【0010】
本開示の第1の側面においては、他の通信装置と信号の送受信を行う送受信部により、他の通信装置がデータ信号線に対する駆動を行って送信するCRCワードが受信され、そのCRCワードの受信直後のビットから、データ信号線に対する駆動が行われる。そして、CRCワードを受信した直後に、1ビットのプリペアビットが出力されて、特定の通信モードの終了を指示するコマンド、または、特定の通信モードにおける通信のリスタートを指示するコマンドが送信される。
【0011】
本開示の第2の側面の通信システムは、バスにおける制御の主導権を有する第1の通信装置と、前記第1の通信装置による制御に従って通信を行う第2の通信装置とを備え、前記第1の通信装置が、前記第2の通信装置と信号の送受信を行う送受信部を有し、前記第2の通信装置がデータ信号線に対する駆動を行って送信するCRCワードを受信し、前記CRCワードの受信直後のビットから、前記データ信号線に対する駆動を行い、前記CRCワードを受信した直後に、1ビットのプリペアビットを出力して、特定の通信モードの終了を指示するコマンド、または、特定の通信モードにおける通信のリスタートを指示するコマンドを送信する
【0012】
本開示の第2の側面においては、第1の通信装置が、第2の通信装置と信号の送受信を行う送受信部により、第2の通信装置がデータ信号線に対する駆動を行って送信するCRCワードが受信され、そのCRCワードの受信直後のビットから、データ信号線に対する駆動が行われる。そして、CRCワードを受信した直後に、1ビットのプリペアビットが出力されて、特定の通信モードの終了を指示するコマンド、または、特定の通信モードにおける通信のリスタートを指示するコマンドが送信される。
【発明の効果】
【0013】
本開示の第1および第2の側面によれば、より確実に通信の終了を行うことができる。
【図面の簡単な説明】
【0014】
図1】本技術を適用したバスIFの一実施の形態の構成例を示すブロック図である。
図2】従来のバスIFにおけるプリペアビットについて説明する図である。
図3】マスタがプリペアビットを送信してHDR終了コマンドを送信する例について説明する図である。
図4】マスタのDDRモードでの通信処理を説明するフローチャートである。
図5】プリペアビットをせずにHDR終了コマンドを送信する例について説明する図である。
図6】リスタートコマンドを送信する例について説明する図である。
図7】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【0015】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【0016】
<バスIFの構成例>
【0017】
図1は、本技術を適用したバスIFの一実施の形態の構成例を示すブロック図である。
【0018】
図1に示されているバスIF11は、マスタ12と3台のスレーブ13−1乃至13−3とが、データ信号線14−1およびクロック信号線14−2を介して接続されて構成される。
【0019】
マスタ12は、バスIF11における制御の主導権を有しており、データ信号線14−1およびクロック信号線14−2を介して、スレーブ13−1乃至13−3と通信を行うことができる。
【0020】
スレーブ13−1乃至13−3は、マスタ12による制御に従って、データ信号線14−1およびクロック信号線14−2を介して、マスタ12と通信を行うことができる。なお、スレーブ13−1乃至13−3は、それぞれ同様に構成されており、以下、それらを区別する必要がない場合、単にスレーブ13と称し、スレーブ13を構成する各ブロックについても同様とする。
【0021】
データ信号線14−1およびクロック信号線14−2は、マスタ12およびスレーブ13の間で信号を伝送するのに用いられる。例えば、バスIF11では、データ信号線14−1を介して、1ビットずつ逐次的にシリアルデータ(SDA:Serial Data)が伝送され、クロック信号線14−2を介して、所定の周波数のシリアルクロック(SCL:Serial Clock)が伝送される。
【0022】
また、バスIF11では、I3Cの規格に準じて、通信速度が異なる複数の伝送方式が規定されており、マスタ12は、それらの伝送方式を切り替えることができる。例えば、バスIF11では、データの転送レートに応じて、通常の転送レートでデータ通信を行うSDR(Standard Data Rate)モード、および、SDRモードよりも高い転送レートでデータ通信を行うHDR(High Data Rate)モードが規定されている。また、HDRモードでは、DDR(Double Data Rate)モード、TSP(Ternary Symbol Pure-Bus)モード、および、TSL(Ternary Symbol Legacy-inclusive-Bus)モードの3つのモードが規格で定義されている。なお、バスIF11では、通信を開始するときにはSDRモードで通信を行うことが規定されている。
【0023】
マスタ12は、送受信部21、エラー検出部22、確認信号検出部23、およびコンフリクト回避部24を備えて構成される。
【0024】
送受信部21は、データ信号線14−1およびクロック信号線14−2を介して、スレーブ13と信号の送受信を行う。例えば、送受信部21は、クロック信号線14−2を駆動することにより送信するシリアルクロックのタイミングに合わせて、データ信号線14−1に対する駆動を行う(電位をHレベルまたはLレベルに切り替える)ことにより、スレーブ13に信号を送信する。また、送受信部21は、クロック信号線14−2のシリアルクロックのタイミングに合わせて、スレーブ13がデータ信号線14−1に対する駆動を行うことによって、スレーブ13から送信されてくる信号によりリードデータやCRCワードなどを受信する。なお、クロック信号線14−2に対する駆動は、常に、マスタ12側により行われる。
【0025】
エラー検出部22は、送受信部21が受信した信号に発生しているエラーを検出する。例えば、エラー検出部22は、送受信部21が受信した信号に対するパリティチェックや巡回冗長検査(CRC)などを行ったり、スレーブ13からマスタ12へ送信権を移行する際に発行されるトークンを確認したりすることで、エラーを検出することができる。そして、エラー検出部22は、送受信部21が受信した信号にエラーが発生していることを検出した場合、例えば、送受信部21に対してスレーブ13との通信を最初からやり直すように指示することができる。
【0026】
例えば、エラー検出部22は、スレーブ13から送信されてくるデータに含まれている2ビットのパリティのうち、一方を偶数パリティとし、他方を奇数パリティとして、送受信部21が受信したデータに対するパリティチェックを行うことでエラーの発生を検出する。これにより、エラー検出部22は、マスタ12およびスレーブ13のどちらもデータ信号線14−1に対する駆動が行われないような状態が発生しても、データが正しいものであるか否かを検出することができる。
【0027】
確認信号検出部23は、送受信部21から送信された信号を受信したスレーブ13から送信されてくるACK(受信確認信号)またはNACK(非受信確認信号)を検出することにより、スレーブ13がコマンドやデータなどの受信に成功したか否かを確認する。例えば、バスIF11では、信号にエラーが発生せずに、スレーブ13がコマンドやデータなどの受信に成功したときには、スレーブ13からマスタ12にACKを送信するように規定されている。また、バスIF11では、信号にエラーが発生して、スレーブ13がコマンドやデータなどの受信に失敗したときには、スレーブ13からマスタ12にNACKを送信するように規定されている。
【0028】
従って、確認信号検出部23は、マスタ12から送信されるコマンドやデータなどに対して、スレーブ13から送信されてくるACKを検出した場合には、スレーブ13がコマンドやデータなどを受信することに成功したと確認することができる。一方、確認信号検出部23は、マスタ12から送信されるコマンドやデータなどに対して、スレーブ13から送信されてくるNACKを検出した場合には、スレーブ13がコマンドやデータなどを受信することに失敗したと確認することができる。
【0029】
コンフリクト回避部24は、例えば、確認信号検出部23によりNACKが検出された場合、NACKに続く所定数のビットを無視した後に、通信を途中で遮断することを指示するアボート信号を送信するように、送受信部21に対する指示を行う。これにより、コンフリクト回避部24は、例えば、スレーブ13から送信されるリードデータと、マスタ12から送信されるHDR終了コマンドによりコンフリクトが発生することを回避することができる。なお、マスターアボートを確実に行うために、リードデータの後に送受信されるプリアンブルの2ビット目に対する駆動は、マスタ12が常に行う。
【0030】
さらに、コンフリクト回避部24は、送受信部21により、CRCワードの送信を指示するプリアンブルが受信され、エラー検出部22により、そのプリアンブルに続いて受信された信号にトークンエラーまたはCRCエラーの発生が検出された場合、プリアンブルに続いて、CRCワードとリードデータとの差に対応するビット数に応じたクロックを送信した後に、通信を途中で遮断することを指示するアボート信号を送信するように、送受信部21に対する指示を行う。これにより、コンフリクト回避部24は、例えば、スレーブ13から送信されるリードデータと、マスタ12から送信されるHDR終了コマンドによりコンフリクトが発生することを回避することができる。
【0031】
スレーブ13は、送受信部31およびエラー検出部32を備えて構成される。
【0032】
送受信部31は、データ信号線14−1およびクロック信号線14−2を介して、マスタ12と信号の送受信を行う。例えば、送受信部31は、クロック信号線14−2のシリアルクロックのタイミングに合わせて、マスタ12がデータ信号線14−1に対する駆動を行うことによって、マスタ12から送信されてくる信号を受信する。また、送受信部31は、クロック信号線14−2のシリアルクロックのタイミングに合わせて、データ信号線14−1に対する駆動を行うことによって、マスタ12に信号を送信する。
【0033】
エラー検出部32は、マスタ12のエラー検出部22と同様に、送受信部31が受信した信号に発生しているエラーを検出する。そして、エラー検出部32は、送受信部31が受信した信号にエラーが発生していない場合、その信号により伝送されるコマンドやデータなどの受信に成功したことを伝えるACKを、送受信部31によりマスタ12に送信させる。一方、エラー検出部32は、送受信部31が受信した信号にエラーが発生していた場合、その信号により伝送されるコマンドやデータなどの受信に失敗したことを伝えるNACKを、送受信部31によりマスタ12に送信させる。
【0034】
さらに、エラー検出部32は、例えば、送受信部31が受信した信号にエラーが発生し、正常な通信を行うことができない場合には、その後の一切の通信を無視し、マスタ12に対する応答を停止してスレーブ13を待機状態とさせる。
【0035】
以上のようにバスIF11は構成されており、マスタ12およびスレーブ13は、データ信号線14−1およびクロック信号線14−2を介して信号を送受信することができる。
【0036】
ところで、図2に示すように、従来のバスIFでは、CRCワード(DDR CRC)の最後のプリペアビット(セットアップとも称する)は、スレーブ13が出力することになっていた。しかしながら、この場合、スレーブ13は、ドライブ解除のタイミングが分からないため、タイマ等で別途ドライブ解除回路が必要になり、ドライブ解除まで時間がかかるだけでなく、タイマ用の高速クロックの回路実装が必要となる。
【0037】
そこで、バスIF11では、図3に示すように、送受信部21がCRCワードを受信した直後のビットからデータ信号線14−1に対する駆動を行って、プリペアビットをマスタ12が出力する。これにより、スレーブ13は、ドライブ解除のタイミングをCRCの終わりのクロックとすることができるので安全に早く通信を終えることができるとともに、上述したようなタイマを実装する必要がなく回路実装を容易化することができる。
【0038】
即ち、バスIF11では、マスタ12は、スレーブ13から送信されてくるCRCワードを受信した直後に、プリペアビットを出力してHDR終了コマンドを送信するので、確実に通信の終了を行うことができる。
【0039】
<確実に通信の終了を行うことができる通信方法>
【0040】
図4は、マスタ12が、HDRモードのひとつであるDDRモードでスレーブ13からデータを読み出す通信処理(DDR Read)を説明するフローチャートである。
【0041】
ステップS11において、マスタ12は、通信をSDRモードからHDRモードに切り替える処理を行う。具体的には、マスタ12では、送受信部21が、データ信号線14−1およびクロック信号線14−2を駆動して、SDRモードにおいて、バスIF11を構成する全てのスレーブ13を対象として一斉にコマンドを送信することを通知するブロードキャストコマンド(0x7E+R/W=0)を送信する。その後、マスタ12では、確認信号検出部23が、ブロードキャストコマンドの受信が成功したことを確認するためにスレーブ13から送信されてくるACKを受信すると、送受信部21が、HDRモードに入るためのコモンコマンドコード(ENTHDR CCC(0x20))を送信する。
【0042】
ステップS12において、マスタ12の送受信部21は、データ信号線14−1およびクロック信号線14−2を駆動して、リードコマンドを送信する。
【0043】
ステップS13において、マスタ12の送受信部21は、ステップS12で送信したリードコマンドに対応してスレーブ13から送信されてくるリードデータを受信する。
【0044】
ステップS14において、エラー検出部22は、ステップS13で送受信部21が受信したリードデータにエラーが発生しているか否かを判定する。
【0045】
ステップS14において、エラー検出部22が、リードデータにエラーが発生していないと判定した場合、処理はステップS15に進み、送受信部21は、リードデータに続いてスレーブ13から送信されてくるプリアンブルを受信し、そのプリアンブルに続いてデータまたはCRCワードのどちらが送信されてくるかを判定する。
【0046】
ステップS15において、送受信部21が、データが送信されてくると判定した場合、処理はステップS13に戻ってリードデータを受信し、以下、同様の処理が繰り返して行われる。
【0047】
一方、ステップS15において、送受信部21が、CRCワードが送信されてくると判定した場合、処理はステップS16に進む。
【0048】
ステップS16において、送受信部21は、スレーブ13から送信されてくるCRCワードを受信し、ステップS17において、送受信部21は、プリペアビットを送信する。
【0049】
ステップS17の処理後、処理はステップS18に進み、送受信部21は、HDR終了コマンドを送信する。または、ステップS14でリードデータにエラーが発生していると判定された場合、特に、SDRモードからHDRモードに切り替え直後のリードデータにエラーが発生した場合にHDRモードから抜け出すために、処理はステップS18に進み、送受信部21は、HDR終了コマンドを送信する。
【0050】
これにより、マスタ12がDDRモードでスレーブ13からデータを読み出す通信処理(DDR Read)は終了される。
【0051】
以上のように、バスIF11では、スレーブ13から送信されてくるCRCワードを受信した直後に、マスタ12は、プリペアビットを出力してHDR終了コマンドを送信するので、確実に通信の終了を行うことができる。
【0052】
なお、マスタ12は、例えば、スレーブ13から送信されてくるCRCワードを受信した直後に、プリペアビットの出力を行うことなく、直にHDR終了コマンドを送信するようにしてもよい。即ち、図5に示すように、マスタ12は、CRCワードの受信直後のビットから、データ信号線14−1に対する駆動を行って、HDR終了コマンドを送信することができる。これによっても、確実に通信の終了を行うことができる。
【0053】
また、マスタ12は、例えば、スレーブ13から送信されてくるCRCワードを受信した直後に、HDR終了コマンドを送信するのに替えて、HDRモードにおける通信をリスタートすることを指示するリスタートコマンド(HDR Restart)を送信してもよい。即ち、図6に示すように、マスタ12は、CRCワードの受信直後のビットから、データ信号線14−1に対する駆動を行って、リスタートコマンドを送信することができる。このように、バスIF11では、マスタ12がリスタートコマンドを送信することによって、HDRモードでの通信を再開することができる。
【0054】
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。また、プログラムは、1のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
【0055】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0056】
また、上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。
【0057】
<ハードウエアの構成例>
【0058】
図7は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0059】
コンピュータにおいて、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)に接続される。
【0060】
以上のように構成されるコンピュータでは、CPU101が、例えば、ROM102およびEEPROM104に記憶されているプログラムを、バス105を介してRAM103にロードして実行することにより、上述した一連の処理が行われる。また、コンピュータ(CPU101)が実行するプログラムは、ROM102に予め書き込んでおく他、入出力インタフェース106を介して外部からEEPROM104にインストールしたり、更新したりすることができる。
【0061】
なお、本技術は以下のような構成も取ることができる。
(1)
他の通信装置と信号の送受信を行う送受信部を備え、
前記送受信部は、
前記他の通信装置がデータ信号線に対する駆動を行って送信するCRC(Cyclic Redundancy Check)ワードを受信し、
前記CRCワードの受信直後のビットから、前記データ信号線に対する駆動を行う
通信装置。
(2)
前記送受信部は、前記CRCワードを受信した直後に、1ビットのプリペアビットを出力して特定の通信モードの終了を指示するコマンドを送信する
上記(1)に記載の通信装置。
(3)
前記送受信部は、前記CRCワードを受信した直後に、特定の通信モードの終了を指示するコマンドを送信する
上記(1)に記載の通信装置。
(4)
前記送受信部は、前記CRCワードを受信した直後に、特定の通信モードにおける通信のリスタートを指示するコマンドを送信する
上記(1)に記載の通信装置。
(5)
前記送受信部により、次に送信するデータのタイプを指定するプリアンブルが受信されて、そのプリアンブルに続いて受信された信号のビット列と、前記プリアンブルにより送信されることが指定されたタイプにおいて送信されるべきビット列とを比較することにより、エラーの発生を検出するエラー検出部と、
前記エラー検出部によりエラーの発生が検出された場合、前記プリアンブルに続いて所定ビット数に応じたクロックを送信した後に、通信を途中で遮断することを指示するアボート信号を送信するように、前記送受信部に対する指示を行うコンフリクト回避部と
をさらに備える上記(1)に記載の通信装置。
(6)
前記送受信部から送信された信号を受信した前記他の通信装置から送信されてくる受信確認信号および非受信確認信号のいずれかを検出する確認信号検出部と、
前記確認信号検出部により前記非受信確認信号が検出されたとき、前記非受信確認信号に続く所定数のビットを無視した後に、通信を途中で遮断することを指示するアボート信号を送信するように、前記送受信部に対する指示を行うコンフリクト回避部と
をさらに備える上記(1)に記載の通信装置。
(7)
前記送受信部は、前記他の通信装置から読み出されるリードデータを受信し、前記リードデータの後に送受信されるプリアンブルの2ビット目に対する駆動を常に行う
上記(1)から(6)までのいずれかに記載の通信装置。
(8)
前記エラー検出部は、前記データに含まれている2ビットのパリティのうち、一方を偶数パリティとし、他方を奇数パリティとして、前記送受信部が受信したデータに対するパリティチェックを行うことでエラーの発生を検出する
上記(5)に記載の通信装置。
(9)
前記送受信部は、通常の転送レートでデータ通信を行うSDR(Standard Data Rate)モード、および、SDRモードよりも高い転送レートでデータ通信を行うHDR(High Data Rate)モードで、信号の送受信を行うことができる
上記(1)から(8)までのいずれかに記載の通信装置。
(10)
前記送受信部は、1ビットずつ逐次的にシリアルデータを伝送するデータ信号線、および、所定の周波数のシリアルクロックを伝送するクロック信号線の2本の信号線を介して通信を行う
上記(1)から(9)までのいずれかに記載の通信装置。
(11)
前記送受信部は、
前記クロック信号線を介して前記シリアルクロックを送信し、
前記データ信号線を介して前記他の通信装置から送信される前記CRCワードを受信する
上記(10)に記載の通信装置。
(12)
前記送受信部、I3C(Improved Inter Integrated Circuit)の規格に準じた通信を行う
上記(1)から(11)までのいずれかに記載の通信装置。
(13)
他の通信装置と信号の送受信を行う送受信部により、
前記他の通信装置がデータ信号線に対する駆動を行って送信するCRC(Cyclic Redundancy Check)ワードを受信し、
前記CRCワードの受信直後のビットから、前記データ信号線に対する駆動を行う
ステップを含む通信方法。
(14)
他の通信装置と信号の送受信を行う送受信部により、
前記他の通信装置がデータ信号線に対する駆動を行って送信するCRC(Cyclic Redundancy Check)ワードを受信し、
前記CRCワードの受信直後のビットから、前記データ信号線に対する駆動を行う
ステップを含む通信処理をコンピュータに実行させるプログラム。
(15)
バスにおける制御の主導権を有する第1の通信装置と、
前記第1の通信装置による制御に従って通信を行う第2の通信装置と
を備え、
前記第1の通信装置が、前記第2の通信装置と信号の送受信を行う送受信部を備え、
前記他の通信装置がデータ信号線に対する駆動を行って送信するCRC(Cyclic Redundancy Check)ワードを受信し、
前記CRCワードの受信直後のビットから、前記データ信号線に対する駆動を行う
通信システム。
【0062】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0063】
11 バスIF, 12 マスタ, 13 スレーブ, 14−1 データ信号線, 14−2 クロック信号線, 21 送受信部, 22 エラー検出部, 23 確認信号検出部, 24 コンフリクト回避部, 31 送受信部, 32 エラー検出部
図1
図2
図3
図4
図5
図6
図7