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

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

Info

Publication number
JP6976728B2
JP6976728B2 JP2017113851A JP2017113851A JP6976728B2 JP 6976728 B2 JP6976728 B2 JP 6976728B2 JP 2017113851 A JP2017113851 A JP 2017113851A JP 2017113851 A JP2017113851 A JP 2017113851A JP 6976728 B2 JP6976728 B2 JP 6976728B2
Authority
JP
Japan
Prior art keywords
communication device
communication
group
initiative
specific
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.)
Active
Application number
JP2017113851A
Other languages
English (en)
Other versions
JP2018206267A (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 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 JP2017113851A priority Critical patent/JP6976728B2/ja
Priority to TW107117656A priority patent/TWI757491B/zh
Priority to PCT/JP2018/020114 priority patent/WO2018225532A1/en
Priority to US16/618,585 priority patent/US11119955B2/en
Priority to EP18730457.1A priority patent/EP3635566B1/en
Publication of JP2018206267A publication Critical patent/JP2018206267A/ja
Application granted granted Critical
Publication of JP6976728B2 publication Critical patent/JP6976728B2/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/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
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Description

本開示は、通信装置、通信方法、プログラム、および、通信システムに関し、特に、より確実に効率良く通信を行うことができるようにした通信装置、通信方法、プログラム、および、通信システムに関する。
従来、各種のデバイスにおけるレジスタを制御するためのバスIF(Interface)としてCCI(Camera Control Interface)が広く使用されており、CCIでは、物理層にI2C(Inter-Integrated Circuit)規格が採用されている。また、近年、I2Cの高速化を実現することが求められており、次世代の規格としてI3C(Improved Inter Integrated Circuit)の規定が策定され、その改定が進められている。
例えば、I2CおよびI3Cは、バスIFを介した通信の主導権を有するマスタによる制御に従って、バスIFに接続されているスレーブと通信を行うことができるように構成される。さらに、I3Cでは、I2Cのデバイスと通信を行うことができるように互換性を維持する機能や、バスIFに途中からスレーブが参加することを可能とするホットジョインと称される機能、複数のマスタどうしでマスタ権限を譲渡する機能などが提供される。
また、特許文献1には、I3Cにおいて、通信のスタートやストップなどの誤検出に伴って通信不能となることを回避するようにエラー検出方法を定義することで、より確実に通信を行うことが可能な通信装置が開示されている。
国際公開第2017/061330号
ところで、現行のI3Cの規格では、バスIFに接続された全てのデバイスを相手先として通信を行うこと、および、バスIFに接続された任意の1つのデバイスを相手先として通信を行うことが規定されている。
そのため、例えば、バスIFに接続された任意の複数台のデバイスに同一の内容の書き込みを行いたい場合、マスタは、それらのデバイスに対して個々に書き込み転送を繰り返して行わなければならなかった。従って、より効率良く通信を行うことができるようにするために、任意の複数台のデバイスを相手先として通信を行う手法を確立することが考えられる。そして、そのような手法で通信を行うのに伴って発生することが懸念される通信エラーを回避し、確実に通信が行われるようにすることが必要となる。
本開示は、このような状況に鑑みてなされたものであり、より確実に効率良く通信を行うことができるようにするものである。
本開示の第1の側面の通信装置は、バスを介した通信の主導権を有する通信装置であって、前記通信装置による制御に従って通信を行う他の通信装置と通信が行われ、前記通信装置から通信の主導権が譲渡されると前記通信装置として機能することが可能で、通信の主導権を有していないときには前記通信装置による制御に従って通信を行う特定の他の通信装置は、通信の主導権を有していない状態で前記他の通信装置として扱われ、前記通信装置は、任意の複数台の前記他の通信装置を1つのグループとして、そのグループを相手先として書き込み転送を行うためのグループアドレスを管理して通信を行うことができるグループ管理能力を有しており、前記通信装置が、前記他の通信装置との間における信号の送受信を制御する送受信制御部と、前記特定の他の通信装置による要求に応じて通信の主導権を譲渡する際に、その要求をしてきた前記特定の他の通信装置が前記グループ管理能力を有するか否かを判定する処理、および、前記グループ管理能力を有さないと判定された場合、少なくとも1つのグループに属する前記他の通信装置に対して前記グループアドレスのリセットを指示する処理を行う処理実行部とを備える。
本開示の第1の側面の通信方法またはプログラムは、バスを介した通信の主導権を有する通信装置の通信方法、または、バスを介した通信の主導権を有する通信装置が内蔵するコンピュータに実行させるプログラムにおいて、前記通信装置による制御に従って通信を行う他の通信装置と通信が行われ、前記通信装置から通信の主導権が譲渡されると前記通信装置として機能することが可能で、通信の主導権を有していないときには前記通信装置による制御に従って通信を行う特定の他の通信装置は、通信の主導権を有していない状態で前記他の通信装置として扱われ、前記通信装置は、任意の複数台の前記他の通信装置を1つのグループとして、そのグループを相手先として書き込み転送を行うためのグループアドレスを管理して通信を行うことができるグループ管理能力を有しており、前記他の通信装置との間における信号の送受信を制御し、前記特定の他の通信装置による要求に応じて通信の主導権を譲渡する際に、その要求をしてきた前記特定の他の通信装置が前記グループ管理能力を有するか否かを判定し、前記グループ管理能力を有さないと判定された場合、少なくとも1つのグループに属する前記他の通信装置に対して前記グループアドレスのリセットを指示するステップを含む。
本開示の第1の側面の通信システムは、バスを介した通信の主導権を有する通信装置と、前記通信装置による制御に従って通信を行う他の通信装置とにより通信が行われる通信システムにおいて、前記通信装置から通信の主導権が譲渡されると前記通信装置として機能することが可能で、通信の主導権を有していないときには前記通信装置による制御に従って通信を行う特定の他の通信装置は、通信の主導権を有していない状態で前記他の通信装置として扱われ、前記通信装置は、任意の複数台の前記他の通信装置を1つのグループとして、そのグループを相手先として書き込み転送を行うためのグループアドレスを管理して通信を行うことができるグループ管理能力を有しており、前記通信装置が、前記他の通信装置との間における信号の送受信を制御する送受信制御部と、前記特定の他の通信装置による要求に応じて通信の主導権を譲渡する際に、その要求をしてきた前記特定の他の通信装置が前記グループ管理能力を有するか否かを判定する処理、および、前記グループ管理能力を有さないと判定された場合、少なくとも1つのグループに属する前記他の通信装置に対して前記グループアドレスのリセットを指示する処理を行う処理実行部とを備える。
本開示の第1の側面においては、通信装置による制御に従って通信を行う他の通信装置との間における信号の送受信が制御され、特定の他の通信装置による要求に応じて通信の主導権を譲渡する際に、その要求をしてきた特定の他の通信装置がグループ管理能力を有するか否かが判定され、グループ管理能力を有さないと判定された場合、少なくとも1つのグループに属する他の通信装置に対してグループアドレスのリセットが指示される。
本開示の第1および第2側面によれば、より確実に効率良く通信を行うことができる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術を適用したバスIFの一実施の形態の構成例を示すブロック図である。 マスタおよびスレーブの構成例を示すブロック図である。 デバイス情報が登録されたテーブルの一例を示す図である。 マスタシップリクエスト受け付け時の処理を説明するフローチャートである。 マスタシップリクエスト発行時の処理を説明するフローチャートである。 RSTGRPAコマンドの第1のフォーマット例を示す図である。 RSTGRPAコマンドの第2のフォーマット例を示す図である。 書き込み転送における通信フォーマットの一例を示す図である。 書き込み転送および読み出し転送における通信フォーマットの一例を示す図である。 書き込み転送および読み出し転送における通信フォーマットの一例を示す図である。 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
<バスIFの構成例>
図1は、本技術を適用したバスIFの一実施の形態の構成例を示すブロック図である。
図1に示されているバスIF11は、3台のマスタ12−1乃至12−3および6台のスレーブ13−1乃至13−6が、シリアルデータSDAを伝送するデータ信号線14と、シリアルクロックSCLを伝送するクロック信号線15とを介して接続されて構成される。
マスタ12−1および12−2、並びに、スレーブ13−1乃至13−4は、新たに提案されるバージョンのI3Cの規格(I3C_v1.1)に準拠している。また、マスタ12−3およびスレーブ13−5は、現行のバージョンのI3Cの規格(I3C_v1.0)に準拠しており、スレーブ13−6は、I2Cの規格に準拠している。このように、バスIF11は、I3C_v1.1に準拠しているデバイス、I3C_v1.0に準拠しているデバイス、およびI2Cの規格に準拠しているデバイスが混在しても運用可能に構成される。
また、I3Cでは、稼働している状態のバスIF11に途中から参加することを可能とする機能であるホットジョインが規定されている。図1において破線で示されているスレーブ13−4は、例えば、パワーオフとされてバスIF11に参加していない状態を表している。そして、スレーブ13−4は、パワーオンとなった後にホットジョインリクエストを送信して、バスIF11に参加することができる。
マスタ12−1乃至12−3は、バスIF11を介した通信を主導的に制御する機能を備えており、スレーブ13−1乃至13−6は、マスタ12−1乃至12−3のうちの主導権を有する1台の制御に従って、バスIF11を介した通信を行うことができる。なお、以下適宜、マスタ12−1乃至12−3それぞれを区別する必要がない場合、単に、マスタ12と称し、スレーブ13−1乃至13−6それぞれを区別する必要がない場合、単に、スレーブ13と称する。
また、マスタ12−1乃至12−3のうち、バスIF11における通信の主導権(以下、マスタ権限と称する)を有する1台のマスタ12をカレントマスタ12Cと称し、その他のマスタ12をセカンダリマスタ12Sと称する。例えば、マスタ権限を有していないセカンダリマスタ12Sは、カレントマスタ12Cの制御に従ってバスIF11を介した通信を行うことができ、カレントマスタ12Cからマスタ権限が譲渡されると、カレントマスタ12Cとして機能する。このように、マスタ12は、通信の主導権を有している状態でカレントマスタ12Cとして機能し、通信の主導権を有していない状態のセカンダリマスタ12Sはスレーブ13と同様に扱われる。従って、本実施の形態では、カレントマスタ12Cの制御に従って通信を行うセカンダリマスタ12Sも、スレーブ13に含まれるものとして説明する。
ここで、以下適宜、I3C_v1.1に準拠しているスレーブ13−1乃至13−4、および、I3C_v1.0に準拠しているスレーブ13−5のことを、I3Cスレーブ13とも称する。さらに、I3C_v1.1およびI3C_v1.0いずれかに準拠しているデバイス(即ち、マスタ12およびI3Cスレーブ13)を、I3Cデバイスとも称する。
ところで、I3C_v1.1では、カレントマスタ12Cが、任意の複数台のI3Cスレーブ13を相手先として、それらのI3Cスレーブ13に対して一斉に書き込み転送を行うことを可能とするグループアドレスを設定して運用することが検討されている。
即ち、後述する図6乃至8に示すようなフォーマットのSETGRPAコマンドを定義することで、同一のグループに属する複数台のI3Cスレーブ13に対して、同一のグループアドレスが設定される。例えば、個々のグループごとにダイナミックアドレスを設定することで、そのダイナミックアドレスをグループアドレスとして使用することができる。なお、1台のI3Cスレーブ13が複数のグループに属することもでき、1台のI3Cスレーブ13に対して、少なくとも1つ以上のグループアドレスを割り当てることが可能とされる。
例えば、カレントマスタ12Cは、SETGRPAコマンドを使用して、それぞれのグループに対してグループアドレスを設定する。そして、カレントマスタ12Cは、I3Cで規定される各種の書き込み転送(Direct Write CCC/Private Write/HDR Write)を行う際に、書き込み転送のコマンドのスレーブアドレスフィールドに、グループアドレスを指定する。これにより、カレントマスタ12Cは、1回の書き込み転送で、そのグループに属する複数台のI3Cスレーブ13に対して、一斉にデータを書き込むことができる。
一方、I3Cスレーブ13は、バスIF11に参加している全てのI3Cスレーブ13を指定するアドレス7'h7E、自身のダイナミックアドレス、または自身が属するグループアドレスに対する通信を受信して、その通信の内容に従った処理を行う。
なお、カレントマスタ12Cが、グループアドレスによる指定を行って複数台のI3Cスレーブ13に対して読み出しコマンドを送信した場合、それらの複数台のI3Cスレーブ13から転送される読み出しデータがコンフリクトすることが想定される。そのため、I3Cで規定される各種の読み出し転送(Direct Read CCC/Private Read/HDR Read)を行う際に、読み出し転送のコマンドのスレーブアドレスフィールドに、グループアドレスを指定することは禁止する運用が想定される。なお、後述の図15および図16に示すように、複数台のI3Cスレーブ13ごとに読み出しデータを出力するタイミングを制御する場合、読み出しデータのコンフリクトを回避することができる。この場合、各種の読み出し転送を行う際に、グループアドレスを指定することを禁止せずに運用することができる。さらに、グループアドレスを指定した読み出し転送をイネーブルとするために、レジスタなどを備えるようにしてもよい。
ところで、図1に示すバスIF11は、グループアドレスに関する機能が規定されるI3C_v1.1に準拠しているマスタ12−1および12−2並びにI3Cスレーブ13−1乃至13−4と、グループアドレスに関する機能が規定されていないI3C_v1.0に準拠しているマスタ12−3およびI3Cスレーブ13−5と、I2Cの規格に準拠しているI2Cスレーブ13−6とが混在した構成となっている。
このように構成されるバスIF11では、マスタ12−1および12−2が、グループアドレスの割り当てを行うためには、バスIF11に参加している全てのマスタ12およびスレーブ13のうち、グループアドレスに対応しているI3Cデバイスを認識することができるようにI3C_v1.1を規定する必要がある。
また、バスIF11に参加している複数のマスタ12がグループアドレスに対応している場合、それらのマスタ12どうしで、他のマスタ12が割り当てたグループアドレスを認識することができるようにI3C_v1.1を規定する必要がある。即ち、あるマスタ12が、他のマスタ12が割り当てたグループアドレスを認識することができない場合、既に使用済みのアドレス値をグループアドレスに使用してしまって、通信エラーが発生することが懸念される。また、あるマスタ12が設定したグループアドレスを、他のマスタ12が書き換えてしまうことにより、グループアドレス情報が破壊されてしまって、通信エラーが発生することが懸念される。
そこで、I3C_v1.1に準拠しているマスタ12−1および12−2は、グループアドレスを運用するにあたり、グループアドレスへの対応状況を認識して、グループアドレスを使用することにより発生することが懸念される通信エラーを回避することができるように構成される。これにより、バスIF11では、通信エラーを回避して確実に、グループアドレスを利用して効率良く通信を行うことができる。
<マスタおよびスレーブの構成例>
図2は、マスタ12およびスレーブ13の構成例を示すブロック図である。
図2に示す構成では、マスタ12は、マスタデバイス21の物理層として組み込まれ、マスタデバイス21は、マスタ12に対して上位となる上位層22(例えば、CCIレイヤ)を備える。同様に、スレーブ13は、スレーブデバイス31の物理層として組み込まれ、スレーブデバイス31は、スレーブ13に対して上位となる上位層32(例えば、CCIレイヤ)を備える。
図2に示すように、マスタ12は、送受信制御部41、データ受信部42、データ送信部43、マスタシップリクエスト制御部44、コマンド解釈部45、情報保持部46、コマンド送信部47、およびテーブル保持部48を備えて構成される。なお、これらの各部、または、その一部は、例えば、半導体集積回路や、プログラマブルな半導体集積回路、ソフトウエアなどによって実現するようにしてもよい。
送受信制御部41は、バスIF11に接続されている他のデバイスとの間における信号の送受信を制御する。例えば、送受信制御部41は、クロック信号線15を駆動してシリアルクロックSCLを送信し、シリアルクロックSCLのタイミングに合わせてデータ信号線14を駆動することでシリアルデータSDAの他のデバイスへの送信を制御する。また、送受信制御部41は、シリアルクロックSCLのタイミングに合わせて、他のデバイスがデータ信号線14を駆動して送信してくるシリアルデータSDAの受信を制御する。
データ受信部42は、送受信制御部41による制御に従って、他のデバイスから送信されてくるデータを受信し、上位層22に供給する。
データ送信部43は、上位層22から供給されるデータを、送受信制御部41による制御に従って、他のデバイスに送信する。
マスタシップリクエスト制御部44は、上位層22からの要求に従って、マスタ12がセカンダリマスタ12Sであるときに、カレントマスタ12Cに対してマスタ権限の譲渡を要求するマスタシップリクエストの送信に関する制御を行う。
コマンド解釈部45は、送受信制御部41による制御に従って受信したコマンドに対する解釈を行って、情報保持部46に保持されている各種の情報を参照し、そのコマンドに応じた処理を実行する。
情報保持部46は、コマンド解釈部45がコマンドに応じた処理を行うのに必要な各種の情報を保持することができる。例えば、情報保持部46には、グループに関連する能力であって、マスタ12自身が有する能力を示す情報であるグループ関連能力情報が保持される。例えば、マスタ12自身がグループアドレスを割り当てる能力(以下、グループ管理能力とも称する)を有する場合、情報保持部46には、グループ管理能力を有することを示すグループ関連能力情報が保持される。
コマンド送信部47は、上位層22からの要求に従って、送受信制御部41による制御により、バスIF11を介してコマンドを送信する。また、コマンド送信部47は、例えば、マスタ12から送信されたコマンドに応じて、バスIF11に参加しているデバイスから送信されてくるグループ関連能力情報を、テーブル保持部48に供給する。
テーブル保持部48は、バスIF11に参加している全てのデバイスに対応付けて、それぞれのデバイスに関するデバイス情報が登録されたデバイス情報テーブル(後述する図3参照)を保持する。例えば、デバイス情報テーブルには、デバイスを識別するデバイスID(Identification)に対応付けて、グループ関連能力情報やグループアドレスなどを含むデバイス情報が登録される。そして、テーブル保持部48は、コマンド送信部47から供給される各デバイスのグループ関連能力情報を、デバイス情報テーブルに保持するとともに上位層22にも通知する。
スレーブ13は、送受信制御部51、データ受信部52、データ送信部53、ホットジョインリクエスト制御部54、ダイナミックアドレス保持部55、グループアドレス保持部56、コマンド解釈部57、および情報保持部58を備えて構成される。なお、これらの各部、または、その一部は、例えば、半導体集積回路や、プログラマブルな半導体集積回路、ソフトウエアなどによって実現するようにしてもよい。
送受信制御部51は、バスIF11に接続されている他のデバイスとの間における信号の送受信を制御する。例えば、送受信制御部51は、シリアルクロックSCLのタイミングに合わせて、他のデバイスがデータ信号線14を駆動して送信してくるシリアルデータSDAの受信を制御する。また、送受信制御部51は、シリアルクロックSCLのタイミングに合わせてデータ信号線14を駆動することでシリアルデータSDAの他のデバイスへの送信を制御する。
データ受信部52は、送受信制御部41による制御に従って、他のデバイスから送信されてくるデータを受信し、上位層32に供給する。
データ送信部53は、上位層32から供給されるデータを、送受信制御部41による制御に従って、他のデバイスに送信する。
ホットジョインリクエスト制御部54は、例えば、バスIF11に参加していない状態のスレーブ13が、稼働している状態のバスIF11に参加することを要求するホットジョインリクエストの送信に関する制御を行う。
ダイナミックアドレス保持部55は、スレーブ13に割り当てられたダイナミックアドレスを保持することができ、コマンド解釈部57による指示に従って、適宜、ダイナミックアドレスを保持する。
グループアドレス保持部56は、スレーブ13に割り当てられたグループアドレスを保持することができ、コマンド解釈部57による指示に従って、適宜、グループアドレスを保持する。
コマンド解釈部57は、送受信制御部51による制御に従って受信したコマンドに対する解釈を行って、情報保持部58に保持されている各種の情報を参照し、そのコマンドに応じた処理を実行する。
情報保持部58は、コマンド解釈部57がコマンドに応じた処理を行うのに必要な各種の情報を保持することができる。例えば、情報保持部58には、グループに関連する能力であって、スレーブ13自身が有する能力を示す情報であるグループ関連能力情報が保持される。例えば、スレーブ13自身がグループアドレスを割り当てられる能力(以下、グループ所属能力とも称する)を有する場合、情報保持部58には、グループ所属能力を有することを示すグループ関連能力情報が保持される。
ここで、図3を参照して、テーブル保持部48に保持されるデバイス情報テーブルについて説明する。図3Aには、I3C_v1.1に準拠しているマスタ12−1および12−2のテーブル保持部48に保持されるデバイス情報テーブルの一例が示されており、図3Bには、I3C_v1.0に準拠しているマスタ12−3のテーブル保持部48に保持されるデバイス情報テーブルの一例が示されている。
図3Aに示すように、I3C_v1.1のデバイス情報テーブルには、バスIF11に参加している全てのデバイスを識別するデバイスID(図3の例では、デバイスID:A〜H)が登録される。そして、それぞれのデバイスIDに対応付けて、機能情報、スタティックアドレス(SA)、ダイナミックアドレス(DA)、グループ情報有効情報、グループ管理能力情報、グループ所属能力情報、およびグループアドレス(GRPA)が、デバイス情報として登録される。また、このデバイス情報テーブルには、カレントマスタ12Cとなっているマスタ12のデバイスID(図3の例では、デバイスID:A)が登録される。
機能情報には、バスIF11に参加しているデバイスが備える機能を示すデバイス情報が登録され、例えば、I3Cメインマスタ、I3Cセカンダリマスタ、I3Cスレーブ、およびI2Cスレーブの何れかを示すデバイス情報が登録される。
スタティックアドレスには、デバイスが持つスタティックアドレスを示すアドレス値(SA値)がデバイス情報として登録される他、スタティックアドレスを持たないデバイスに対しては、その旨を示すデバイス情報(無)が登録される。
ダイナミックアドレスには、デバイスに割り当てられたダイナミックアドレスを示すアドレス値(DA値)がデバイス情報として登録される他、ダイナミックアドレスを持つことができないデバイス(I2Cデバイス)に対しては、その旨を示すデバイス情報(無)が登録される。また、ダイナミックアドレスには、ダイナミックアドレスを持つことができるが、ダイナミックアドレスが未だ割り当てられていない場合には、その旨を示すデバイス情報(未)が登録される。
グループ情報有効情報には、グループ管理能力情報、グループ所属能力情報、およびグループアドレスに登録されているデバイス情報が有効であることを示すデバイス情報(有)、または、それらのデバイス情報が未だ取得されていないことを示すデバイス情報(無)が登録される。
グループ管理能力情報には、デバイスがグループアドレスを割り当てる能力を有することを示すデバイス情報(有)、または、デバイスがグループアドレスを割り当てる能力を有さないことを示すデバイス情報(無)が登録される。また、グループ管理能力情報が取得されていないデバイスについては、グループ管理能力情報は空欄のままとなる。
グループ所属能力情報には、デバイスがグループアドレスを割り当てられる能力を有することを示すデバイス情報(有)、または、デバイスがグループアドレスを割り当てられる能力を有さないことを示すデバイス情報(無)が登録される。また、グループ所属能力情報が取得されていないデバイスについては、グループ所属能力情報は空欄のままとなる。
グループアドレスには、デバイスが所属するグループに割り当てられたグループアドレスを示すアドレス値(GRPA値)がデバイス情報として登録される。また、グループアドレスを割り当てられる応力を有さないデバイス(I2Cデバイスや、グループ所属能力情報を有さないI3Cデバイスなど)に対しては、その旨を示すデバイス情報(無)が登録される。さらに、グループアドレスには、グループアドレスを割り当てられる応力を有するが、グループアドレスが未だ割り当てられていない場合には、その旨を示すデバイス情報(未)が登録される。また、グループアドレスが取得されていないデバイスについては、グループアドレスは空欄のままとなる。
また、図3Bに示すように、I3C_v1.0のデバイス情報テーブルには、I3C_v1.1のデバイス情報テーブルに登録されるデバイス情報のうち、それぞれのデバイスIDに対応付けて、機能情報、スタティックアドレス(SA)、およびダイナミックアドレス(DA)が、デバイス情報として登録される。即ち、I3C_v1.0では、グループアドレスについては定義されていないため、グループ情報有効情報、グループ管理能力情報、グループ所属能力情報、およびグループアドレスは、デバイス情報テーブルに登録されない。
このように、テーブル保持部48には、スタティックアドレス、ダイナミックアドレス、またはグループアドレスの割り当て状況などが登録されたデバイス情報テーブルが保持される。
<マスタシップリクエスト受け付け時の処理>
図4に示すフローチャートを参照して、カレントマスタ12Cが、マスタシップリクエスト受け付け時に行う処理について説明する。
例えば、カレントマスタ12Cが、セカンダリマスタ12Sが送信したマスタシップリクエストを受信すると処理が開始される。ステップS11において、カレントマスタ12Cは、マスタシップリクエストに対して、不許可、要求停止、または許可のいずれの応答を行うかを判定する。
例えば、カレントマスタ12Cは、マスタシップリクエストを受け付けられない状態であるとき、ステップS11において、マスタシップリクエストに対して不許可の応答を行うと判定し、処理はステップS12に進む。ステップS12において、カレントマスタ12Cは、NACK応答を送信し、処理は終了される。
また、カレントマスタ12Cは、マスタシップリクエストを受け付けられない状態であり、その要求を停止させるとき、ステップS11において、マスタシップリクエストに対して要求停止の応答を行うと判定し、処理はステップS13に進む。そして、カレントマスタ12Cは、ステップS13においてNACK応答を送信し、ステップS14において、マスタシップリクエストの発行を禁止するディセーブルコマンドを送信し、処理は終了される。
一方、カレントマスタ12Cは、マスタシップリクエストを受け付けられる状態であるとき、ステップS11において、マスタシップリクエストに対して許可の応答を行うと判定し、処理はステップS15に進んで、ACK応答を送信する。
ステップS16において、カレントマスタ12Cは、テーブル保持部48に保持されているデバイス情報テーブルを参照して、マスタシップリクエストを送信してきたセカンダリマスタ12S(次のマスタ)は、グループアドレスを割り当てる能力を有するか否かを判定する。例えば、マスタシップリクエストは、その要求を発行したセカンダリマスタ12Sのダイナミックアドレスで送信され、カレントマスタ12Cのデバイス情報テーブルには、ダイナミックアドレスのアドレス値およびグループ管理能力情報が登録されている。従って、カレントマスタ12Cは、マスタシップリクエストを送信してきたセカンダリマスタ12Sがグループアドレスを割り当てる能力を有するか否かを判定することができる。
ステップS16において、カレントマスタ12Cが、マスタシップリクエストを送信してきたセカンダリマスタ12Sは、グループアドレスを割り当てる能力を有さないと判定した場合、処理はステップS17に進む。なお、カレントマスタ12Cおよびセカンダリマスタ12Sがグループ管理能力を有することが必須であると規定される場合、ステップS16の処理は省略してもよく、ステップS16をスキップして処理はステップS17へ進む。
ステップS17において、カレントマスタ12Cは、バスIF11に参加している全てのI3Cスレーブ13に対して、グループアドレスのリセットを指示するRSTGRPA(後述の図6および図7参照)を送信する。これにより、グループアドレスが登録されているI3Cスレーブ13のグループアドレス保持部56に保持されているグループアドレスがリセットされる。また、このとき、カレントマスタ12Cは、自身のテーブル保持部48に保持されているデバイス情報テーブルに登録されているグループアドレスもリセットする。
ステップS18において、カレントマスタ12Cは、テーブル保持部48に保持されているデバイス情報テーブルを参照して、カレントマスタ12C以外に、グループアドレスを割り当てる能力を有するセカンダリマスタ12Sがあるか否かを判定する。
ステップS18において、カレントマスタ12Cが、グループアドレスを割り当てる能力を有するセカンダリマスタ12Sがあると判定した場合、処理はステップS19に進む。なお、カレントマスタ12Cおよびセカンダリマスタ12Sがグループ管理能力を有することが必須であると規定される場合、ステップS18の処理は省略してもよく、ステップS18をスキップして処理はステップS19へ進む。
ステップS19において、カレントマスタ12Cは、グループアドレスを割り当てる能力を有するセカンダリマスタ12Sに対して、グループアドレスに関する情報の共有を指示するDEFGRPSコマンドを送信する。これにより、カレントマスタ12Cは、グループアドレスを割り当てる能力を有するセカンダリマスタ12Sとの間で、バスIF11に参加している全てのデバイスについてのグループアドレスに関する情報を共有する。即ち、カレントマスタ12Cは、ステップS17でグループアドレスをリセットしており、グループアドレスを割り当てる能力を有するセカンダリマスタ12Sのテーブル保持部48に保持されているデバイス情報テーブルのグループアドレスがリセットされる。
一方、ステップS16において、カレントマスタ12Cが、マスタシップリクエストを送信してきたセカンダリマスタ12Sは、グループアドレスを割り当てる能力を有すると判定した場合、処理はステップS20に進む。また、ステップS18において、カレントマスタ12Cが、グループアドレスを割り当てる能力を有するセカンダリマスタ12Sがないと判定した場合、および、ステップS19の処理後、処理はステップS20に進む。
ステップS20において、カレントマスタ12Cは、マスタシップリクエストを送信してきたセカンダリマスタ12Sに対して、マスタ権限を譲渡する準備が整ったことを通知するGETACCMSTコマンドを送信し、ストップコンディション(P)を発行する。
ステップS21において、カレントマスタ12Cは、データ信号線14およびクロック信号線15に対してハイインピーダンス状態(Hi-Z)にして、バスIF11に対するドライブを停止した後、処理は終了される。その後、カレントマスタ12Cは、セカンダリマスタ12Sとして振る舞うことになる。
以上のように、カレントマスタ12Cは、例えば、バスIF11に、I3C_v1.1に準拠しているデバイスと、I3C_v1.0に準拠しているデバイスとが混在しても、グループアドレスを適切に、即ち、デバイス情報テーブルのグループ関連能力情報に矛盾が発生しないようにグループアドレスをリセットして、運用することができる。このとき、カレントマスタ12Cは、バスIF11に参加している全てのI3Cデバイスに対して、グループアドレスのリセットを指示することができる。または、カレントマスタ12Cは、デバイス情報テーブルのグループ関連能力情報に矛盾が発生しないのであれば、グループごとに、例えば、少なくとも1つのグループに属するI3Cスレーブ13に対してグループアドレスのリセットを指示してもよい。
<マスタシップリクエスト発行時の処理>
図5に示すフローチャートを参照して、セカンダリマスタ12Sが、マスタシップリクエスト発行時に行う処理について説明する。
ステップS31において、セカンダリマスタ12Sは、バスIF11が使用可能な(Bus Available)状態になるのを待機して、バスIF11が使用可能な状態になったのを確認すると、処理はステップS32に進む。
ステップS32において、セカンダリマスタ12Sは、カレントマスタ12Cに対してマスタ権限を要求するマスタシップリクエストを送信する。
ステップS33において、セカンダリマスタ12Sは、ステップS32で送信したマスタシップリクエストに対して許可されたか否かを判定し、許可されたと判定されるまで、ステップS31およびS32の処理を繰り返して行う。例えば、セカンダリマスタ12Sは、マスタシップリクエストが他の処理との調停(arbitration)に勝って、カレントマスタ12CからACK応答が送信されてくると、マスタシップリクエストに対して許可されたと判定することができる。
そして、ステップS33において、セカンダリマスタ12Sが、ステップS32で送信したマスタシップリクエストに対して許可されたと判定した場合、処理はステップS34に進む。
ステップS34において、セカンダリマスタ12Sは、カレントマスタ12Cにおいてマスタ権限を譲渡する準備が整って、ストップコンディションが発行されるのを待機する。そして、図4のステップS20でカレントマスタ12Cが、GETACCMSTコマンドを送信し、ストップコンディション(P)を発行すると、セカンダリマスタ12Sはマスタ権を得て、処理はステップS35に進む。
ステップS35において、マスタ権限を得たセカンダリマスタ12Sは、バスIF11に対する駆動を開始する。
ステップS36において、マスタ権限を得たセカンダリマスタ12Sは、自身がグループアドレスを割り当てる能力を有するか否かを判定し、グループアドレスを割り当てる能力を有さないと判定された場合、処理は終了される。
一方、ステップS36において、マスタ権限を得たセカンダリマスタ12Sが、自身がグループアドレスを割り当てる能力を有すると判定した場合、処理はステップS37に進む。なお、カレントマスタ12Cおよびセカンダリマスタ12Sがグループ管理能力を有することが必須であると規定される場合、ステップS36の処理は省略してもよく、ステップS36をスキップして処理はステップS37へ進む。
ステップS37において、マスタ権限を得たセカンダリマスタ12Sは、グループ関連能力情報をまだ取得していないデバイスがあるか否かを判定する。例えば、マスタ権限を得たセカンダリマスタ12Sは、自身のテーブル保持部48に保持されるデバイス情報テーブルに、グループ関連能力情報が不足しているデバイスがある場合、グループ関連能力情報をまだ取得していないデバイスがあると判定することができる。
ステップS37において、マスタ権限を得たセカンダリマスタ12Sが、グループ関連能力情報をまだ取得していないデバイスがないと判定した場合、処理は終了される。即ち、この場合、マスタ権限を得たセカンダリマスタ12Sのテーブル保持部48に保持されるデバイス情報テーブルには、全てのデバイスのグループ関連能力情報が登録されている。
一方、ステップS37において、マスタ権限を得たセカンダリマスタ12Sが、グループ関連能力情報をまだ取得していないデバイスがあると判定した場合、処理はステップS38に進む。即ち、この場合、マスタ権限を得たセカンダリマスタ12Sのテーブル保持部48に保持されるデバイス情報テーブルでは、グループ関連能力情報に不足が生じている。例えば、セカンダリマスタ12Sにマスタ権限を譲渡したカレントマスタ12Cが、グループアドレスを割り当てる能力を有さない場合、グループ関連能力情報に不足が生じることがある。
ステップS38において、マスタ権限を得たセカンダリマスタ12Sは、グループ関連能力情報をまだ取得していないデバイスに対して、グループ関連能力情報の送信の要求を指示するGETGRPCAPコマンドを送信する。これに応じて、マスタ権限を得たセカンダリマスタ12Sが、GETGRPCAPコマンドを送信したデバイスから送信されてくるグループ関連能力情報を取得すると、処理はステップS39に進む。
ステップS39において、マスタ権限を得たセカンダリマスタ12Sは、ステップS38で取得したグループ関連能力情報を、図2の上位層22に通知する。これにより、上位層22は、各I3Cデバイスのグループアドレスへの対応を把握することができ、例えば、どのI3Cスレーブ13にグループアドレスを割り当てるかを判断することができる。
ステップS40において、マスタ権限を得たセカンダリマスタ12Sは、I3Cスレーブ13にグループアドレスの割り当てを行うか否かを判定する。例えば、マスタ権限を得たセカンダリマスタ12Sは、グループ関連能力情報に基づいて判断を行った上位層22から、グループアドレスの割り当てが指示されると、その指示に従ってI3Cスレーブ13にグループアドレスを割り当てると判定することができる。
ステップS40において、マスタ権限を得たセカンダリマスタ12Sが、グループアドレスの割り当てを行うと判定した場合、処理はステップS41に進む。ステップS41において、マスタ権限を得たセカンダリマスタ12Sは、グループアドレスの割り当てを指示するSETGRPAコマンドを送信し、上位層22からの指示に従ったI3Cスレーブ13に対してグループアドレスを割り当てる。
一方、ステップS40において、マスタ権限を得たセカンダリマスタ12Sが、グループアドレスの割り当てを行わないと判定した場合、または、ステップS41の処理後、処理はステップS42に進む。
ステップS42において、マスタ権限を得たセカンダリマスタ12Sは、テーブル保持部48に保持されているデバイス情報テーブルを参照して、マスタ権限を得たセカンダリマスタ12S以外に、グループアドレスを割り当てる能力を有する他のセカンダリマスタ12Sがあるか否かを判定する。
ステップS42において、マスタ権限を得たセカンダリマスタ12Sが、グループアドレスを割り当てる能力を有する他のセカンダリマスタ12Sがあると判定した場合、処理はステップS43に進む。なお、カレントマスタ12Cおよびセカンダリマスタ12Sがグループ管理能力を有することが必須であると規定される場合、ステップS42の処理は省略してもよく、ステップS42をスキップして処理はステップS43へ進む。
ステップS43において、マスタ権限を得たセカンダリマスタ12Sは、グループアドレスを割り当てる能力を有する他のセカンダリマスタ12Sに対して、グループアドレスに関する情報の共有を指示するDEFGRPSコマンドを送信する。これにより、マスタ権限を得たセカンダリマスタ12Sは、グループアドレスを割り当てる能力を有する他のセカンダリマスタ12Sとの間で、バスIF11に参加している全てのデバイスについてのグループアドレスに関する情報を共有する。例えば、マスタ権限を得たセカンダリマスタ12Sは、バスIF11に参加している個々のデバイスについて、グループ管理能力情報およびグループ所属能力情報を共有する。さらに、マスタ権限を得たセカンダリマスタ12Sは、ステップS41でI3Cスレーブ13にグループアドレスを割り当てた場合には、グループアドレスを共有する。
ステップS42で、マスタ権限を得たセカンダリマスタ12Sが、グループアドレスを割り当てる能力を有する他のセカンダリマスタ12Sがないと判定した場合、または、ステップS43の処理後、処理は終了される。その後、マスタ権限を得たセカンダリマスタ12Sは、カレントマスタ12Cとして振る舞い、ダイナミックアドレスおよびグループアドレスを使用した通信を行うことができる。
マスタ権限を得たセカンダリマスタ12Sは、例えば、バスIF11に、I3C_v1.1に準拠しているデバイスと、I3C_v1.0に準拠しているデバイスとが混在しても、グループアドレスを適切に、即ち、デバイス情報テーブルのグループ関連能力情報に不足が発生しないように取得して、運用することができる。
<RSTGRPAコマンドのフォーマット例>
図6には、図4のステップS17で送信されるRSTGRPAコマンドの第1のフォーマット例が示されている。
RSTGRPAコマンド(Broadcast)は、バスIF11に参加している全てのI3Cデバイスに対して、グループアドレスのリセットを指示する。
図6に示す例では、まず、カレントマスタ12Cは、スタートコンディション(S)を発行し、バスIF11に参加している全てのデバイスを指定するアドレス7'h7Eを送信するのに続いて、グループアドレスのリセットを指示するコモンコマンドコード(Broadcast RSTGRPA CCC)を送信する。
そして、RSTGRPAコマンドを受信したグループ所属能力を有するデバイスは、グループアドレスが割り当てられていない場合には何もせず、グループアドレスが割り当てられている場合には自身のグループアドレスをリセットする。
一方、グループ所属能力を有さないデバイスは、RSTGRPAコマンドを受信しても無視しなければならない。例えば、I3C_v1.0の規格では、サポートしないダイレクトコモンコマンドコード(Broadcast CCC)を受信したデバイスは、無視することが規定されている。そして、RSTGRPAコマンドは、I3C_v1.0の規格では規定されていないため、I3C_v1.0に準拠するデバイスは、RSTGRPAコマンドに対しては、必ず、無視することになる。
また、グループアドレスを割り当てる能力を有しているマスタ12は、図6に示すようなRSTGRPAコマンドを必ず送信することができるようにI3C_v1.1で規定する必要がある。一方、グループアドレスを割り当てる能力を有していないマスタ12は、図6に示すようなRSTGRPAコマンドを送信してはならないとI3C_v1.1で規定する必要がある。
図7には、RSTGRPAコマンドの第2のフォーマット例が示されている。
図7に示すRSTGRPAコマンド(Broadcast)は、1台のI3Cスレーブ13に対して、少なくとも1つ以上のグループアドレスを割り当てられている場合に、それらのグループアドレスをリセットする際に用いられる。
そして、RSTGRPAコマンドを受信したグループ所属能力を有するデバイスは、1つ以上のグループアドレスが割り当てられている場合、自身のグループアドレスを全てリセットする。
以上のようなフォーマットのRSTGRPAコマンドを用いて、カレントマスタ12Cは、バスIF11に参加している全てのI3Cデバイスに対して、一旦割り当てたグループアドレスをリセットすることができる。
<グループアドレスを利用した通信フォーマット>
図8乃至図10を参照して、グループアドレスを利用した通信において用いられる通信フォーマットについて説明する。
図8には、書き込み転送(I3C Directed CCC Write)における通信フォーマットの一例が示されている。
図8に示すように、任意の複数台のI3Cスレーブ13を相手先としてカレントマスタ12Cから送信されるグループアドレス(I3C Group Address)に対し、I3Cスレーブ13からACKが返信され、その後、そのグループを対象として書き込むデータ(Optional Write Data)が送信される。そして、必要なデータ量だけ、そのグループアドレスを相手先としたデータの送信が行われる。
なお、同一のグループに所属する複数台のI3Cスレーブ13のうち、多数のI3Cスレーブ13がACKを返信し、一部のI3Cスレーブ13がNACKを送信した場合、カレントマスタ12CがNACKを認識することができないことも想定されるが、その後の通信処理におけるエラー検出で対応することにより、正常な通信を行うことが可能である。
図9には、書き込み転送(I3C Private Write)および読み出し転送(I3C Private Read)における通信フォーマットの一例が示されている。
図9に示す4つの通信フォーマットのうちの、上側の2つが書き込み転送における通信フォーマットを表しており、下側の2つが書き込み転送における通信フォーマットを表している。
書き込み転送では、任意の複数台のI3Cスレーブ13を相手先としてカレントマスタ12Cから送信されるグループアドレス(I3C Group Address)に対し、I3Cスレーブ13からACKが返信され、その後、そのグループを対象として書き込むN個のデータ(Write Data-1〜Write Data-N)が送信される。
読み出し転送では、同一のグループに所属する複数台のI3Cスレーブ13について、順次、それぞれのI3Cスレーブ13からN個のデータ(Read Data-1〜Read Data-N)が読み出される。即ち、複数台のI3Cスレーブ13から読み出されたデータがコンフリクトを発生しないように、それぞれのI3Cスレーブ13からデータを読み出すタイミングが異なるものとなるように制御する必要がある。
図10には、書き込み転送(I3C Private Write)および読み出し転送(I3C Private Read)における通信フォーマットの一例が示されている。
図9に示した通信フォーマットと同様に、書き込み転送では、グループを対象として書き込むN個のデータが送信され、読み出し転送では、同一のグループのI3Cスレーブ13ごとに順次、N個のデータが読み出される。
例えば、スタートコンディション(Sのみ、Srは含まず)の後のグループアドレス(I3C Group Address)は、カレントマスタ12C側からオープンドレイン出力によって400kHz程度でデータ転送が行われる。このとき、最初の1バイトのみオープンドレイン出力とし、それ以降のビット(6bit+R/W)は、プッシュプル出力によって12.5MHzでデータ転送されるようにしてもよい。
<コンピュータの構成例>
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。また、プログラムは、単一のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
また、上述した一連の処理(通信方法)は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。
図11は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例(マスタ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およびクロック信号線15)に接続される。
以上のように構成されるコンピュータでは、CPU101が、例えば、ROM102およびEEPROM104に記憶されているプログラムを、バス105を介してRAM103にロードして実行することにより、上述した一連の処理が行われる。また、コンピュータ(CPU101)が実行するプログラムは、ROM102に予め書き込んでおく他、入出力インタフェース105を介して外部からEEPROM104にインストールしたり、更新したりすることができる。
<構成の組み合わせ例>
なお、本技術は以下のような構成も取ることができる。
(1)
バスを介した通信の主導権を有する通信装置であって、
前記通信装置による制御に従って通信を行う他の通信装置と通信が行われ、
前記通信装置から通信の主導権が譲渡されると前記通信装置として機能することが可能で、通信の主導権を有していないときには前記通信装置による制御に従って通信を行う特定の他の通信装置は、通信の主導権を有していない状態で前記他の通信装置として扱われ、
前記通信装置は、任意の複数台の前記他の通信装置を1つのグループとして、そのグループを相手先として書き込み転送を行うためのグループアドレスを管理して通信を行うことができるグループ管理能力を有しており、
前記通信装置が、
前記通信装置による制御に従って通信を行う他の通信装置との間における信号の送受信を制御する送受信制御部と、
前記特定の他の通信装置による要求に応じて通信の主導権を譲渡する際に、その要求をしてきた前記特定の他の通信装置が前記グループ管理能力を有するか否かを判定する処理、
および、前記グループ管理能力を有さないと判定された場合、少なくとも1つのグループに属する前記他の通信装置に対して前記グループアドレスのリセットを指示する処理
を行う処理実行部と
を備える通信装置。
(2)
前記処理実行部は、通信の主導権を要求をしてきた前記特定の他の通信装置が前記グループ管理能力を有さないと判定した場合、前記バスに接続されている全ての通信装置に対して前記グループアドレスのリセットを指示する処理を行う
上記(1)に記載の通信装置。
(3)
前記処理実行部は、前記グループ管理能力を有すると判定された場合、前記グループアドレスを設定した状態のまま、通信の主導権を譲渡する
上記(1)または(2)に記載の通信装置。
(4)
前記処理実行部は、前記グループアドレスのリセットを行った後、通信の主導権の譲渡を要求してきた前記特定の他の通信装置以外に、前記グループ管理能力を有している前記特定の他の通信装置がある場合、前記グループ管理能力を有している前記特定の他の通信装置との間で、全ての前記通信装置のグループアドレスに関する情報を共有する処理を行う
上記(1)から(3)までのいずれかに記載の通信装置。
(5)
通信の主導権を得た前記特定の他の通信装置は、前記通信装置としての振る舞いを開始する際に、前記バスに参加している前記他の通信装置の前記グループアドレスに関連するグループ関連能力情報に不足がある場合、不足している前記グループ関連能力情報を取得する
上記(1)から(4)までのいずれかに記載の通信装置
(6)
バスを介した通信の主導権を有する通信装置の通信方法であって、
前記通信装置による制御に従って通信を行う他の通信装置と通信が行われ、
前記通信装置から通信の主導権が譲渡されると前記通信装置として機能することが可能で、通信の主導権を有していないときには前記通信装置による制御に従って通信を行う特定の他の通信装置は、通信の主導権を有していない状態で前記他の通信装置として扱われ、
前記通信装置は、任意の複数台の前記他の通信装置を1つのグループとして、そのグループを相手先として書き込み転送を行うためのグループアドレスを管理して通信を行うことができるグループ管理能力を有しており、
前記通信装置による制御に従って通信を行う他の通信装置との間における信号の送受信を制御し、
前記特定の他の通信装置による要求に応じて通信の主導権を譲渡する際に、その要求をしてきた前記特定の他の通信装置が前記グループ管理能力を有するか否かを判定し、
前記グループ管理能力を有さないと判定された場合、少なくとも1つのグループに属する前記他の通信装置に対して前記グループアドレスのリセットを指示する
ステップを含む通信方法。
(7)
バスを介した通信の主導権を有する通信装置が内蔵するコンピュータに実行させるプログラムにおいて、
前記通信装置による制御に従って通信を行う他の通信装置と通信が行われ、
前記通信装置から通信の主導権が譲渡されると前記通信装置として機能することが可能で、通信の主導権を有していないときには前記通信装置による制御に従って通信を行う特定の他の通信装置は、通信の主導権を有していない状態で前記他の通信装置として扱われ、
前記通信装置は、任意の複数台の前記他の通信装置を1つのグループとして、そのグループを相手先として書き込み転送を行うためのグループアドレスを管理して通信を行うことができるグループ管理能力を有しており、
前記通信装置による制御に従って通信を行う他の通信装置との間における信号の送受信を制御し、
前記特定の他の通信装置による要求に応じて通信の主導権を譲渡する際に、その要求をしてきた前記特定の他の通信装置が前記グループ管理能力を有するか否かを判定し、
前記グループ管理能力を有さないと判定された場合、少なくとも1つのグループに属する前記他の通信装置に対して前記グループアドレスのリセットを指示する
ステップを含む処理を実行させるプログラム。
(8)
バスを介した通信の主導権を有する通信装置と、前記通信装置による制御に従って通信を行う他の通信装置とにより通信が行われる通信システムにおいて、
前記通信装置から通信の主導権が譲渡されると前記通信装置として機能することが可能で、通信の主導権を有していないときには前記通信装置による制御に従って通信を行う特定の他の通信装置は、通信の主導権を有していない状態で前記他の通信装置として扱われ、
前記通信装置は、任意の複数台の前記他の通信装置を1つのグループとして、そのグループを相手先として書き込み転送を行うためのグループアドレスを管理して通信を行うことができるグループ管理能力を有しており、
前記通信装置が、
前記通信装置による制御に従って通信を行う他の通信装置との間における信号の送受信を制御する送受信制御部と、
前記特定の他の通信装置による要求に応じて通信の主導権を譲渡する際に、その要求をしてきた前記特定の他の通信装置が前記グループ管理能力を有するか否かを判定する処理、
および、前記グループ管理能力を有さないと判定された場合、少なくとも1つのグループに属する前記他の通信装置に対して前記グループアドレスのリセットを指示する処理
を行う処理実行部と
を備える通信システム。
(9)
バスを介した通信の主導権を有する特定の他の通信装置から通信の主導権が譲渡されると前記特定の他の通信装置として機能することが可能で、通信の主導権を有していないときには前記特定の他の通信装置による制御に従って通信を行う通信装置であって、
前記通信装置は、任意の複数台の他の通信装置を1つのグループとして、そのグループを相手先として書き込み転送を行うためのグループアドレスを管理して通信を行うことができるグループ管理能力を有しており、
前記通信装置が、
前記特定の他の通信装置との間における信号の送受信を制御する送受信制御部と、
前記特定の他の通信装置に対して通信の主導権を要求する処理、
および、通信の主導権を得て、前記特定の他の通信装置としての振る舞いを開始する際に、前記バスに参加している前記他の通信装置の前記グループアドレスに関連するグループ関連能力情報に不足がある場合、不足している前記グループ関連能力情報を取得する処理
を行う処理実行部と
を備える通信装置。
(10)
前記処理実行部は、前記グループ管理能力を有している前記他の通信装置との間で、全ての前記通信装置のグループアドレスに関する情報を共有する処理を行う
上記(9)に記載の通信装置。
(11)
バスを介した通信の主導権を有する特定の他の通信装置から通信の主導権が譲渡されると前記特定の他の通信装置として機能することが可能で、通信の主導権を有していないときには前記特定の他の通信装置による制御に従って通信を行う通信装置の通信方法であって、
前記通信装置は、任意の複数台の他の通信装置を1つのグループとして、そのグループを相手先として書き込み転送を行うためのグループアドレスを管理して通信を行うことができるグループ管理能力を有しており、
前記特定の他の通信装置との間における信号の送受信を制御し、
前記特定の他の通信装置に対して通信の主導権を要求し、
通信の主導権を得て、前記特定の他の通信装置としての振る舞いを開始する際に、前記バスに参加している前記他の通信装置の前記グループアドレスに関連するグループ関連能力情報に不足がある場合、不足している前記グループ関連能力情報を取得する
ステップを含む通信方法。
(12)
バスを介した通信の主導権を有する特定の他の通信装置から通信の主導権が譲渡されると前記特定の他の通信装置として機能することが可能で、通信の主導権を有していないときには前記特定の他の通信装置による制御に従って通信を行う通信装置が内蔵するコンピュータに実行させるプログラムにおいて、
前記通信装置は、任意の複数台の他の通信装置を1つのグループとして、そのグループを相手先として書き込み転送を行うためのグループアドレスを管理して通信を行うことができるグループ管理能力を有しており、
前記特定の他の通信装置との間における信号の送受信を制御し、
前記特定の他の通信装置に対して通信の主導権を要求し、
通信の主導権を得て、前記特定の他の通信装置としての振る舞いを開始する際に、前記バスに参加している前記他の通信装置の前記グループアドレスに関連するグループ関連能力情報に不足がある場合、不足している前記グループ関連能力情報を取得する
ステップを含む処理を実行させるプログラム。
(13)
バスを介した通信の主導権を有する特定の他の通信装置と、前記通信装置による制御に従って通信を行う他の通信装置と、前記特定の他の通信装置から通信の主導権が譲渡されると前記特定の他の通信装置として機能することが可能で、通信の主導権を有していないときには前記特定の他の通信装置による制御に従って通信を行う通信装置とにより通信が行われる通信システムにおいて、
前記通信装置は、任意の複数台の他の通信装置を1つのグループとして、そのグループを相手先として書き込み転送を行うためのグループアドレスを管理して通信を行うことができるグループ管理能力を有しており、
前記通信装置が、
前記特定の他の通信装置との間における信号の送受信を制御する送受信制御部と、
前記特定の他の通信装置に対して通信の主導権を要求する処理、
および、通信の主導権を得て、前記特定の他の通信装置としての振る舞いを開始する際に、前記バスに参加している前記他の通信装置の前記グループアドレスに関連するグループ関連能力情報に不足がある場合、不足している前記グループ関連能力情報を取得する処理
を行う処理実行部と
を備える通信システム。
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
11 バスIF, 12−1乃至12−3 マスタ, 13−1乃至13−6 スレーブ, 14 データ信号線, 15 クロック信号線, 21 マスタデバイス, 22 上位層, 31 スレーブデバイス, 32 上位層, 41 送受信制御部, 42 データ受信部, 43 データ送信部, 44 マスタシップリクエスト制御部, 45 コマンド解釈部, 46 情報保持部, 47 コマンド送信部, 48 テーブル保持部, 51 送受信制御部, 52 データ受信部, 53 データ送信部, 54 ホットジョインリクエスト制御部, 55 ダイナミックアドレス保持部, 56 グループアドレス保持部, 57 コマンド解釈部, 58 情報保持部

Claims (8)

  1. バスを介した通信の主導権を有する通信装置であって、
    前記通信装置による制御に従って通信を行う他の通信装置と通信が行われ、
    前記通信装置から通信の主導権が譲渡されると前記通信装置として機能することが可能で、通信の主導権を有していないときには前記通信装置による制御に従って通信を行う特定の他の通信装置は、通信の主導権を有していない状態で前記他の通信装置として扱われ、
    前記通信装置は、任意の複数台の前記他の通信装置を1つのグループとして、そのグループを相手先として書き込み転送を行うためのグループアドレスを管理して通信を行うことができるグループ管理能力を有しており、
    前記通信装置が、
    前記他の通信装置との間における信号の送受信を制御する送受信制御部と、
    前記特定の他の通信装置による要求に応じて通信の主導権を譲渡する際に、その要求をしてきた前記特定の他の通信装置が前記グループ管理能力を有するか否かを判定する処理、
    および、前記グループ管理能力を有さないと判定された場合、少なくとも1つのグループに属する前記他の通信装置に対して前記グループアドレスのリセットを指示する処理
    を行う処理実行部と
    を備える通信装置。
  2. 前記処理実行部は、通信の主導権を要求をしてきた前記特定の他の通信装置が前記グループ管理能力を有さないと判定した場合、前記バスに接続されている全ての通信装置に対して前記グループアドレスのリセットを指示する処理を行う
    請求項1に記載の通信装置。
  3. 前記処理実行部は、前記グループ管理能力を有すると判定された場合、前記グループアドレスを設定した状態のまま、通信の主導権を譲渡する
    請求項1に記載の通信装置。
  4. 前記処理実行部は、前記グループアドレスのリセットを行った後、通信の主導権の譲渡を要求してきた前記特定の他の通信装置以外に、前記グループ管理能力を有している前記特定の他の通信装置がある場合、前記グループ管理能力を有している前記特定の他の通信装置との間で、全ての前記通信装置のグループアドレスに関する情報を共有する処理を行う
    請求項1に記載の通信装置。
  5. 通信の主導権を得た前記特定の他の通信装置は、前記通信装置としての振る舞いを開始する際に、前記バスに参加している前記他の通信装置の前記グループアドレスに関連するグループ関連能力情報に不足がある場合、不足している前記グループ関連能力情報を取得する
    請求項1に記載の通信装置。
  6. バスを介した通信の主導権を有する通信装置の通信方法であって、
    前記通信装置による制御に従って通信を行う他の通信装置と通信が行われ、
    前記通信装置から通信の主導権が譲渡されると前記通信装置として機能することが可能で、通信の主導権を有していないときには前記通信装置による制御に従って通信を行う特定の他の通信装置は、通信の主導権を有していない状態で前記他の通信装置として扱われ、
    前記通信装置は、任意の複数台の前記他の通信装置を1つのグループとして、そのグループを相手先として書き込み転送を行うためのグループアドレスを管理して通信を行うことができるグループ管理能力を有しており、
    前記他の通信装置との間における信号の送受信を制御し、
    前記特定の他の通信装置による要求に応じて通信の主導権を譲渡する際に、その要求をしてきた前記特定の他の通信装置が前記グループ管理能力を有するか否かを判定し、
    前記グループ管理能力を有さないと判定された場合、少なくとも1つのグループに属する前記他の通信装置に対して前記グループアドレスのリセットを指示する
    ステップを含む通信方法。
  7. バスを介した通信の主導権を有する通信装置が内蔵するコンピュータに実行させるプログラムにおいて、
    前記通信装置による制御に従って通信を行う他の通信装置と通信が行われ、
    前記通信装置から通信の主導権が譲渡されると前記通信装置として機能することが可能で、通信の主導権を有していないときには前記通信装置による制御に従って通信を行う特定の他の通信装置は、通信の主導権を有していない状態で前記他の通信装置として扱われ、
    前記通信装置は、任意の複数台の前記他の通信装置を1つのグループとして、そのグループを相手先として書き込み転送を行うためのグループアドレスを管理して通信を行うことができるグループ管理能力を有しており、
    前記他の通信装置との間における信号の送受信を制御し、
    前記特定の他の通信装置による要求に応じて通信の主導権を譲渡する際に、その要求をしてきた前記特定の他の通信装置が前記グループ管理能力を有するか否かを判定し、
    前記グループ管理能力を有さないと判定された場合、少なくとも1つのグループに属する前記他の通信装置に対して前記グループアドレスのリセットを指示する
    ステップを含む処理を実行させるプログラム。
  8. バスを介した通信の主導権を有する通信装置と、前記通信装置による制御に従って通信を行う他の通信装置とにより通信が行われる通信システムにおいて、
    前記通信装置から通信の主導権が譲渡されると前記通信装置として機能することが可能で、通信の主導権を有していないときには前記通信装置による制御に従って通信を行う特定の他の通信装置は、通信の主導権を有していない状態で前記他の通信装置として扱われ、
    前記通信装置は、任意の複数台の前記他の通信装置を1つのグループとして、そのグループを相手先として書き込み転送を行うためのグループアドレスを管理して通信を行うことができるグループ管理能力を有しており、
    前記通信装置が、
    前記他の通信装置との間における信号の送受信を制御する送受信制御部と、
    前記特定の他の通信装置による要求に応じて通信の主導権を譲渡する際に、その要求をしてきた前記特定の他の通信装置が前記グループ管理能力を有するか否かを判定する処理、
    および、前記グループ管理能力を有さないと判定された場合、少なくとも1つのグループに属する前記他の通信装置に対して前記グループアドレスのリセットを指示する処理
    を行う処理実行部と
    を備える通信システム
JP2017113851A 2017-06-08 2017-06-08 通信装置、通信方法、プログラム、および、通信システム Active JP6976728B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017113851A JP6976728B2 (ja) 2017-06-08 2017-06-08 通信装置、通信方法、プログラム、および、通信システム
TW107117656A TWI757491B (zh) 2017-06-08 2018-05-24 通訊裝置、通訊方法、程式及通訊系統
PCT/JP2018/020114 WO2018225532A1 (en) 2017-06-08 2018-05-25 Communication device, communication method, program, and communication system
US16/618,585 US11119955B2 (en) 2017-06-08 2018-05-25 Communication device, communication method, program, and communication system
EP18730457.1A EP3635566B1 (en) 2017-06-08 2018-05-25 Communication device, communication method, program, and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017113851A JP6976728B2 (ja) 2017-06-08 2017-06-08 通信装置、通信方法、プログラム、および、通信システム

Publications (2)

Publication Number Publication Date
JP2018206267A JP2018206267A (ja) 2018-12-27
JP6976728B2 true JP6976728B2 (ja) 2021-12-08

Family

ID=62567712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017113851A Active JP6976728B2 (ja) 2017-06-08 2017-06-08 通信装置、通信方法、プログラム、および、通信システム

Country Status (5)

Country Link
US (1) US11119955B2 (ja)
EP (1) EP3635566B1 (ja)
JP (1) JP6976728B2 (ja)
TW (1) TWI757491B (ja)
WO (1) WO2018225532A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI829474B (zh) * 2022-12-14 2024-01-11 精拓科技股份有限公司 通訊系統的從屬裝置及其定址方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565470B2 (en) * 2007-12-04 2009-07-21 Holylite Microelectronics Corp. Serial bus device with address assignment by master device
US20110161538A1 (en) * 2009-12-31 2011-06-30 Schneider Electric USA, Inc. Method and System for Implementing Redundant Network Interface Modules in a Distributed I/O System
US10353837B2 (en) * 2013-09-09 2019-07-16 Qualcomm Incorporated Method and apparatus to enable multiple masters to operate in a single master bus architecture
US9678828B2 (en) * 2013-10-09 2017-06-13 QUAULCOMM Incorporated Error detection capability over CCIe protocol
US10185563B2 (en) * 2014-03-24 2019-01-22 Inesc Tec—Instituto De Engenharia De Sistemas E Control module for multiple mixed-signal resources management
US9921835B2 (en) * 2014-03-24 2018-03-20 Inesc Tec—Instituto De Engenharia De Sistemas E Computadores, Tecnologia E Ciã?Ncia Control module for multiple mixed-signal resources management
US9734121B2 (en) 2014-04-28 2017-08-15 Qualcomm Incorporated Sensors global bus
KR101711698B1 (ko) 2014-05-26 2017-03-02 한국전자통신연구원 데이터 처리 방법, 및 데이터 처리 장치
NL2013614B1 (en) * 2014-10-10 2016-10-04 Itrec Bv Subsea wellbore operations vessel.
JP6436242B2 (ja) * 2015-09-17 2018-12-12 株式会社安川電機 産業機器の通信システム、通信方法、及び産業機器
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
US11119955B2 (en) 2021-09-14
EP3635566A1 (en) 2020-04-15
TW201904254A (zh) 2019-01-16
WO2018225532A1 (en) 2018-12-13
JP2018206267A (ja) 2018-12-27
EP3635566B1 (en) 2022-07-06
TWI757491B (zh) 2022-03-11
US20200133901A1 (en) 2020-04-30

Similar Documents

Publication Publication Date Title
JP6983542B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
JP6976729B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
TWI482022B (zh) 傳輸資料的方法、在通信線路上進行通信的方法及通信系統
JP5718812B2 (ja) 複数のストレージデバイスを管理するためのストレージシステムおよび方法
JP2011034593A (ja) カード識別の互換性
CN1146804C (zh) 快速16位分离事务i/o总线
CN109753136B (zh) 数据通信装置
US8521932B2 (en) Arbitrator and arbitrating method applied to system management bus system
JP6976728B2 (ja) 通信装置、通信方法、プログラム、および、通信システム
US20100325326A1 (en) Device information management system and device information management method
CN104615558A (zh) 一种数据传送方法及电子装置
US20210019140A1 (en) Method for updating IC firmware
CN106547713B (zh) 一种分配地址的方法和装置
TWI708145B (zh) 多控制器儲存系統及儲存裝置
KR101192594B1 (ko) 슬레이브 디바이스 사이에서 직접 데이터를 전송하는 방법
CN113632422A (zh) 控制器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210831

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211110

R150 Certificate of patent or registration of utility model

Ref document number: 6976728

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150